VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkQuadRotationalExtrusionFilter Class Reference

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

#include <vtkQuadRotationalExtrusionFilter.h>

Inherits vtkMultiBlockDataSetAlgorithm.

Public Types

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

Public Member Functions

virtual int IsA (const char *type)
 
vtkQuadRotationalExtrusionFilterNewInstance () const
 
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 (vtkObjectBase *o)
 
static
vtkQuadRotationalExtrusionFilter
New ()
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 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 initially developed by Daniel Aguilera, CEA/DIF Ported and modified by Philippe Pebay, Kitware, 2011
Tests:
vtkQuadRotationalExtrusionFilter (Tests)

Definition at line 74 of file vtkQuadRotationalExtrusionFilter.h.

Member Typedef Documentation

typedef vtkMultiBlockDataSetAlgorithm vtkQuadRotationalExtrusionFilter::Superclass

Definition at line 77 of file vtkQuadRotationalExtrusionFilter.h.

Member Enumeration Documentation

Enumerator
USE_X 
USE_Y 
USE_Z 

Definition at line 85 of file vtkQuadRotationalExtrusionFilter.h.

Constructor & Destructor Documentation

vtkQuadRotationalExtrusionFilter::vtkQuadRotationalExtrusionFilter ( )
protected
vtkQuadRotationalExtrusionFilter::~vtkQuadRotationalExtrusionFilter ( )
inlineprotected

Definition at line 142 of file vtkQuadRotationalExtrusionFilter.h.

Member Function Documentation

static int vtkQuadRotationalExtrusionFilter::IsTypeOf ( const char *  type)
static
virtual int vtkQuadRotationalExtrusionFilter::IsA ( const char *  type)
virtual
static vtkQuadRotationalExtrusionFilter* vtkQuadRotationalExtrusionFilter::SafeDownCast ( vtkObjectBase *  o)
static
virtual vtkObjectBase* vtkQuadRotationalExtrusionFilter::NewInstanceInternal ( ) const
protectedvirtual
vtkQuadRotationalExtrusionFilter* vtkQuadRotationalExtrusionFilter::NewInstance ( ) const
void vtkQuadRotationalExtrusionFilter::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
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).

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 97 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 98 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 99 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  ,
vtkInformation *   
)
protected
int vtkQuadRotationalExtrusionFilter::RequestData ( vtkInformation *  ,
vtkInformationVector **  ,
vtkInformationVector *   
)
protected
int vtkQuadRotationalExtrusionFilter::RotateAroundAxis ( double  ,
vtkIdType  ,
vtkPoints *  ,
vtkPoints *  ,
vtkPointData *  ,
vtkPointData *   
)
protected

Member Data Documentation

int vtkQuadRotationalExtrusionFilter::Axis
protected

Definition at line 155 of file vtkQuadRotationalExtrusionFilter.h.

int vtkQuadRotationalExtrusionFilter::Resolution
protected

Definition at line 156 of file vtkQuadRotationalExtrusionFilter.h.

int vtkQuadRotationalExtrusionFilter::Capping
protected

Definition at line 157 of file vtkQuadRotationalExtrusionFilter.h.

double vtkQuadRotationalExtrusionFilter::DefaultAngle
protected

Definition at line 158 of file vtkQuadRotationalExtrusionFilter.h.

double vtkQuadRotationalExtrusionFilter::Translation
protected

Definition at line 159 of file vtkQuadRotationalExtrusionFilter.h.

double vtkQuadRotationalExtrusionFilter::DeltaRadius
protected

Definition at line 160 of file vtkQuadRotationalExtrusionFilter.h.

vtksys_stl::map<vtkIdType,double> vtkQuadRotationalExtrusionFilter::PerBlockAngles
protected

Definition at line 163 of file vtkQuadRotationalExtrusionFilter.h.


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