VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkQuadRotationalExtrusionFilter Class Reference

sweep polygonal data creating "skirt" from free edges and lines, and lines from vertices More...

#include <vtkQuadRotationalExtrusionFilter.h>

Inheritance diagram for vtkQuadRotationalExtrusionFilter:
Inheritance graph
[legend]
Collaboration diagram for vtkQuadRotationalExtrusionFilter:
Collaboration graph
[legend]

List of all members.

Public Types

enum  RotationAxis { USE_X = 0, USE_Y = 1, USE_Z = 2 }
typedef
vtkMultiBlockDataSetAlgorithm 
Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
virtual void SetAxis (int)
virtual int GetAxis ()
void SetAxisToX ()
void SetAxisToY ()
void SetAxisToZ ()
virtual void SetResolution (int)
virtual int GetResolution ()
virtual void SetCapping (int)
virtual int GetCapping ()
virtual void CappingOn ()
virtual void CappingOff ()
virtual void SetDefaultAngle (double)
virtual double GetDefaultAngle ()
void RemoveAllPerBlockAngles ()
void AddPerBlockAngle (vtkIdType blockId, double angle)
virtual void SetTranslation (double)
virtual double GetTranslation ()
virtual void SetDeltaRadius (double)
virtual double GetDeltaRadius ()

Static Public Member Functions

static int IsTypeOf (const char *type)
static
vtkQuadRotationalExtrusionFilter
SafeDownCast (vtkObject *o)
static
vtkQuadRotationalExtrusionFilter
New ()

Protected Member Functions

 vtkQuadRotationalExtrusionFilter ()
 ~vtkQuadRotationalExtrusionFilter ()
int FillInputPortInformation (int, vtkInformation *)
int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
int RotateAroundAxis (double, vtkIdType, vtkPoints *, vtkPoints *, vtkPointData *, vtkPointData *)

Protected Attributes

int Axis
int Resolution
int Capping
double DefaultAngle
double Translation
double DeltaRadius
vtksys_stl::map< vtkIdType,
double
PerBlockAngles

Detailed Description

sweep polygonal data creating "skirt" from free edges and lines, and lines from vertices

vtkQuadRotationalExtrusionFilter is a modeling filter. It takes polygonal data as input and generates polygonal data on output. The input dataset is swept around the z-axis to create new polygonal primitives. These primitives form a "skirt" or swept surface. For example, sweeping a line results in a cylindrical shell, and sweeping a circle creates a torus.

There are a number of control parameters for this filter. You can control whether the sweep of a 2D object (i.e., polygon or triangle strip) is capped with the generating geometry via the "Capping" instance variable. Also, you can control the angle of rotation, and whether translation along the z-axis is performed along with the rotation. (Translation is useful for creating "springs".) You also can adjust the radius of the generating geometry using the "DeltaRotation" instance variable.

The skirt is generated by locating certain topological features. Free edges (edges of polygons or triangle strips only used by one polygon or triangle strips) generate surfaces. This is true also of lines or polylines. Vertices generate lines.

This filter can be used to model axisymmetric objects like cylinders, bottles, and wine glasses; or translational/rotational symmetric objects like springs or corkscrews.

Warning:
If the object sweeps 360 degrees, radius does not vary, and the object does not translate, capping is not performed. This is because the cap is unnecessary.
Some polygonal objects have no free edges (e.g., sphere). When swept, this will result in two separate surfaces if capping is on, or no surface if capping is off.
See also:
vtkLinearExtrusionFilter vtkRotationalExtrusionFilter
Thanks:
This class was intially developed by Daniel Aguilera, CEA/DIF Ported and modified by Philippe Pebay, Kitware, 2011
Tests:
vtkQuadRotationalExtrusionFilter (Tests)

Definition at line 73 of file vtkQuadRotationalExtrusionFilter.h.


Member Typedef Documentation

Reimplemented from vtkMultiBlockDataSetAlgorithm.

Definition at line 76 of file vtkQuadRotationalExtrusionFilter.h.


Member Enumeration Documentation

Enumerator:
USE_X 
USE_Y 
USE_Z 

Definition at line 84 of file vtkQuadRotationalExtrusionFilter.h.


Constructor & Destructor Documentation

vtkQuadRotationalExtrusionFilter::vtkQuadRotationalExtrusionFilter ( ) [protected]
vtkQuadRotationalExtrusionFilter::~vtkQuadRotationalExtrusionFilter ( ) [inline, protected]

Definition at line 141 of file vtkQuadRotationalExtrusionFilter.h.


Member Function Documentation

virtual const char* vtkQuadRotationalExtrusionFilter::GetClassName ( ) [virtual]

Reimplemented from vtkMultiBlockDataSetAlgorithm.

static int vtkQuadRotationalExtrusionFilter::IsTypeOf ( const char *  name) [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkMultiBlockDataSetAlgorithm.

virtual int vtkQuadRotationalExtrusionFilter::IsA ( const char *  name) [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkMultiBlockDataSetAlgorithm.

static vtkQuadRotationalExtrusionFilter* vtkQuadRotationalExtrusionFilter::SafeDownCast ( vtkObject o) [static]

Reimplemented from vtkMultiBlockDataSetAlgorithm.

void vtkQuadRotationalExtrusionFilter::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkMultiBlockDataSetAlgorithm.

static vtkQuadRotationalExtrusionFilter* vtkQuadRotationalExtrusionFilter::New ( ) [static]

Create object with capping on, angle of 360 degrees, resolution = 12, and no translation along z-axis. vector (0,0,1), and point (0,0,0).

Reimplemented from vtkMultiBlockDataSetAlgorithm.

virtual void vtkQuadRotationalExtrusionFilter::SetAxis ( int  ) [virtual]

Set the axis of rotation to use. It is set by default to Z.

virtual int vtkQuadRotationalExtrusionFilter::GetAxis ( ) [virtual]

Set the axis of rotation to use. It is set by default to Z.

void vtkQuadRotationalExtrusionFilter::SetAxisToX ( ) [inline]

Set the axis of rotation to use. It is set by default to Z.

Definition at line 96 of file vtkQuadRotationalExtrusionFilter.h.

void vtkQuadRotationalExtrusionFilter::SetAxisToY ( ) [inline]

Set the axis of rotation to use. It is set by default to Z.

Definition at line 97 of file vtkQuadRotationalExtrusionFilter.h.

void vtkQuadRotationalExtrusionFilter::SetAxisToZ ( ) [inline]

Set the axis of rotation to use. It is set by default to Z.

Definition at line 98 of file vtkQuadRotationalExtrusionFilter.h.

virtual void vtkQuadRotationalExtrusionFilter::SetResolution ( int  ) [virtual]

Set/Get resolution of sweep operation. Resolution controls the number of intermediate node points.

virtual int vtkQuadRotationalExtrusionFilter::GetResolution ( ) [virtual]

Set/Get resolution of sweep operation. Resolution controls the number of intermediate node points.

virtual void vtkQuadRotationalExtrusionFilter::SetCapping ( int  ) [virtual]

Turn on/off the capping of the skirt.

virtual int vtkQuadRotationalExtrusionFilter::GetCapping ( ) [virtual]

Turn on/off the capping of the skirt.

virtual void vtkQuadRotationalExtrusionFilter::CappingOn ( ) [virtual]

Turn on/off the capping of the skirt.

virtual void vtkQuadRotationalExtrusionFilter::CappingOff ( ) [virtual]

Turn on/off the capping of the skirt.

virtual void vtkQuadRotationalExtrusionFilter::SetDefaultAngle ( double  ) [virtual]

Set/Get angle of rotation.

virtual double vtkQuadRotationalExtrusionFilter::GetDefaultAngle ( ) [virtual]

Set/Get angle of rotation.

void vtkQuadRotationalExtrusionFilter::RemoveAllPerBlockAngles ( )

Set/Get angles of rotation for each block in a composite data set.

void vtkQuadRotationalExtrusionFilter::AddPerBlockAngle ( vtkIdType  blockId,
double  angle 
)

Set/Get angles of rotation for each block in a composite data set.

virtual void vtkQuadRotationalExtrusionFilter::SetTranslation ( double  ) [virtual]

Set/Get total amount of translation along the z-axis.

virtual double vtkQuadRotationalExtrusionFilter::GetTranslation ( ) [virtual]

Set/Get total amount of translation along the z-axis.

virtual void vtkQuadRotationalExtrusionFilter::SetDeltaRadius ( double  ) [virtual]

Set/Get change in radius during sweep process.

virtual double vtkQuadRotationalExtrusionFilter::GetDeltaRadius ( ) [virtual]

Set/Get change in radius during sweep process.

int vtkQuadRotationalExtrusionFilter::FillInputPortInformation ( int  port,
vtkInformation info 
) [protected, virtual]

Fill the input port information objects for this algorithm. This is invoked by the first call to GetInputPortInformation for each port so subclasses can specify what they can handle.

Reimplemented from vtkMultiBlockDataSetAlgorithm.

int vtkQuadRotationalExtrusionFilter::RequestData ( vtkInformation ,
vtkInformationVector **  ,
vtkInformationVector  
) [protected, virtual]

This is called by the superclass. This is the method you should override.

Reimplemented from vtkMultiBlockDataSetAlgorithm.

int vtkQuadRotationalExtrusionFilter::RotateAroundAxis ( double  ,
vtkIdType  ,
vtkPoints ,
vtkPoints ,
vtkPointData ,
vtkPointData  
) [protected]

Member Data Documentation

Definition at line 154 of file vtkQuadRotationalExtrusionFilter.h.

Definition at line 155 of file vtkQuadRotationalExtrusionFilter.h.

Definition at line 156 of file vtkQuadRotationalExtrusionFilter.h.

Definition at line 157 of file vtkQuadRotationalExtrusionFilter.h.

Definition at line 158 of file vtkQuadRotationalExtrusionFilter.h.

Definition at line 159 of file vtkQuadRotationalExtrusionFilter.h.

Definition at line 162 of file vtkQuadRotationalExtrusionFilter.h.


The documentation for this class was generated from the following file: