Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkLinearExtrusionFilter Class Reference

#include <vtkLinearExtrusionFilter.h>

Inheritance diagram for vtkLinearExtrusionFilter:

Inheritance graph
[legend]
Collaboration diagram for vtkLinearExtrusionFilter:

Collaboration graph
[legend]
List of all members.

Detailed Description

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

vtkLinearExtrusionFilter is a modeling filter. It takes polygonal data as input and generates polygonal data on output. The input dataset is swept according to some extrusion function and creates new polygonal primitives. These primitives form a "skirt" or swept surface. For example, sweeping a line results in a quadrilateral, and sweeping a triangle creates a "wedge".

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" ivar. Also, you can extrude in the direction of a user specified vector, towards a point, or in the direction of vertex normals (normals must be provided - use vtkPolyDataNormals if necessary). The amount of extrusion is controlled by the "ScaleFactor" 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 create 3D fonts, 3D irregular bar charts, or to model 2 1/2D objects like punched plates. It also can be used to create solid objects from 2D polygonal meshes.

Warning:
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:
vtkRotationalExtrusionFilter
Created by:
  • Schroeder, Will
CVS contributions (if > 5%):
  • Schroeder, Will (52%)
  • Law, Charles (16%)
  • Martin, Ken (14%)
CVS logs (CVSweb):
  • .h (/Graphics/vtkLinearExtrusionFilter.h)
  • .cxx (/Graphics/vtkLinearExtrusionFilter.cxx)
Examples:
vtkLinearExtrusionFilter (Examples)
Tests:
vtkLinearExtrusionFilter (Tests)

Definition at line 79 of file vtkLinearExtrusionFilter.h.

Public Types

typedef vtkPolyDataToPolyDataFilter Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
virtual void SetExtrusionType (int)
virtual int GetExtrusionType ()
void SetExtrusionTypeToVectorExtrusion ()
void SetExtrusionTypeToNormalExtrusion ()
void SetExtrusionTypeToPointExtrusion ()
virtual void SetCapping (int)
virtual int GetCapping ()
virtual void CappingOn ()
virtual void CappingOff ()
virtual void SetScaleFactor (double)
virtual double GetScaleFactor ()
virtual void SetVector (double, double, double)
virtual void SetVector (double[3])
virtual double * GetVector ()
virtual void GetVector (double data[3])
virtual void SetExtrusionPoint (double, double, double)
virtual void SetExtrusionPoint (double[3])
virtual double * GetExtrusionPoint ()
virtual void GetExtrusionPoint (double data[3])

Static Public Member Functions

int IsTypeOf (const char *type)
vtkLinearExtrusionFilterSafeDownCast (vtkObject *o)
vtkLinearExtrusionFilterNew ()

Protected Member Functions

 vtkLinearExtrusionFilter ()
 ~vtkLinearExtrusionFilter ()
void Execute ()
double * ViaNormal (double x[3], vtkIdType id, vtkDataArray *normals)
double * ViaVector (double x[3], vtkIdType id, vtkDataArray *normals=0)
double * ViaPoint (double x[3], vtkIdType id, vtkDataArray *normals=0)

Protected Attributes

int ExtrusionType
int Capping
double ScaleFactor
double Vector [3]
double ExtrusionPoint [3]
double *(vtkLinearExtrusionFilter::* ExtrudePoint )(double x[3], vtkIdType id, vtkDataArray *normals)


Member Typedef Documentation

typedef vtkPolyDataToPolyDataFilter vtkLinearExtrusionFilter::Superclass
 

Reimplemented from vtkPolyDataToPolyDataFilter.

Reimplemented in vtkPLinearExtrusionFilter.

Definition at line 82 of file vtkLinearExtrusionFilter.h.


Constructor & Destructor Documentation

vtkLinearExtrusionFilter::vtkLinearExtrusionFilter  )  [protected]
 

vtkLinearExtrusionFilter::~vtkLinearExtrusionFilter  )  [inline, protected]
 

Definition at line 130 of file vtkLinearExtrusionFilter.h.


Member Function Documentation

virtual const char* vtkLinearExtrusionFilter::GetClassName  )  [virtual]
 

Reimplemented from vtkPolyDataToPolyDataFilter.

Reimplemented in vtkPLinearExtrusionFilter.

int vtkLinearExtrusionFilter::IsTypeOf const char *  type  )  [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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkPolyDataToPolyDataFilter.

Reimplemented in vtkPLinearExtrusionFilter.

virtual int vtkLinearExtrusionFilter::IsA const char *  type  )  [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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkPolyDataToPolyDataFilter.

Reimplemented in vtkPLinearExtrusionFilter.

vtkLinearExtrusionFilter* vtkLinearExtrusionFilter::SafeDownCast vtkObject o  )  [static]
 

Reimplemented from vtkPolyDataToPolyDataFilter.

Reimplemented in vtkPLinearExtrusionFilter.

void vtkLinearExtrusionFilter::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 vtkPolyDataToPolyDataFilter.

Reimplemented in vtkPLinearExtrusionFilter.

vtkLinearExtrusionFilter* vtkLinearExtrusionFilter::New  )  [static]
 

Create object with normal extrusion type, capping on, scale factor=1.0, vector (0,0,1), and extrusion point (0,0,0).

Reimplemented from vtkAlgorithm.

Reimplemented in vtkPLinearExtrusionFilter.

virtual void vtkLinearExtrusionFilter::SetExtrusionType int   )  [virtual]
 

Set/Get the type of extrusion.

virtual int vtkLinearExtrusionFilter::GetExtrusionType  )  [virtual]
 

Set/Get the type of extrusion.

void vtkLinearExtrusionFilter::SetExtrusionTypeToVectorExtrusion  )  [inline]
 

Set/Get the type of extrusion.

Definition at line 93 of file vtkLinearExtrusionFilter.h.

References VTK_VECTOR_EXTRUSION.

void vtkLinearExtrusionFilter::SetExtrusionTypeToNormalExtrusion  )  [inline]
 

Set/Get the type of extrusion.

Definition at line 95 of file vtkLinearExtrusionFilter.h.

References VTK_NORMAL_EXTRUSION.

void vtkLinearExtrusionFilter::SetExtrusionTypeToPointExtrusion  )  [inline]
 

Set/Get the type of extrusion.

Definition at line 97 of file vtkLinearExtrusionFilter.h.

References VTK_POINT_EXTRUSION.

virtual void vtkLinearExtrusionFilter::SetCapping int   )  [virtual]
 

Turn on/off the capping of the skirt.

virtual int vtkLinearExtrusionFilter::GetCapping  )  [virtual]
 

Turn on/off the capping of the skirt.

virtual void vtkLinearExtrusionFilter::CappingOn  )  [virtual]
 

Turn on/off the capping of the skirt.

virtual void vtkLinearExtrusionFilter::CappingOff  )  [virtual]
 

Turn on/off the capping of the skirt.

virtual void vtkLinearExtrusionFilter::SetScaleFactor double   )  [virtual]
 

Set/Get extrusion scale factor,

virtual double vtkLinearExtrusionFilter::GetScaleFactor  )  [virtual]
 

Set/Get extrusion scale factor,

virtual void vtkLinearExtrusionFilter::SetVector double  ,
double  ,
double 
[virtual]
 

Set/Get extrusion vector. Only needs to be set if VectorExtrusion is turned on.

virtual void vtkLinearExtrusionFilter::SetVector double  [3]  )  [virtual]
 

Set/Get extrusion vector. Only needs to be set if VectorExtrusion is turned on.

virtual double* vtkLinearExtrusionFilter::GetVector  )  [virtual]
 

Set/Get extrusion vector. Only needs to be set if VectorExtrusion is turned on.

virtual void vtkLinearExtrusionFilter::GetVector double  data[3]  )  [virtual]
 

Set/Get extrusion vector. Only needs to be set if VectorExtrusion is turned on.

virtual void vtkLinearExtrusionFilter::SetExtrusionPoint double  ,
double  ,
double 
[virtual]
 

Set/Get extrusion point. Only needs to be set if PointExtrusion is turned on. This is the point towards which extrusion occurs.

virtual void vtkLinearExtrusionFilter::SetExtrusionPoint double  [3]  )  [virtual]
 

Set/Get extrusion point. Only needs to be set if PointExtrusion is turned on. This is the point towards which extrusion occurs.

virtual double* vtkLinearExtrusionFilter::GetExtrusionPoint  )  [virtual]
 

Set/Get extrusion point. Only needs to be set if PointExtrusion is turned on. This is the point towards which extrusion occurs.

virtual void vtkLinearExtrusionFilter::GetExtrusionPoint double  data[3]  )  [virtual]
 

Set/Get extrusion point. Only needs to be set if PointExtrusion is turned on. This is the point towards which extrusion occurs.

void vtkLinearExtrusionFilter::Execute  )  [protected, virtual]
 

This method is the old style execute method

Reimplemented from vtkSource.

Reimplemented in vtkPLinearExtrusionFilter.

double* vtkLinearExtrusionFilter::ViaNormal double  x[3],
vtkIdType  id,
vtkDataArray normals
[protected]
 

double* vtkLinearExtrusionFilter::ViaVector double  x[3],
vtkIdType  id,
vtkDataArray normals = 0
[protected]
 

double* vtkLinearExtrusionFilter::ViaPoint double  x[3],
vtkIdType  id,
vtkDataArray normals = 0
[protected]
 


Member Data Documentation

int vtkLinearExtrusionFilter::ExtrusionType [protected]
 

Definition at line 133 of file vtkLinearExtrusionFilter.h.

int vtkLinearExtrusionFilter::Capping [protected]
 

Definition at line 134 of file vtkLinearExtrusionFilter.h.

double vtkLinearExtrusionFilter::ScaleFactor [protected]
 

Definition at line 135 of file vtkLinearExtrusionFilter.h.

double vtkLinearExtrusionFilter::Vector[3] [protected]
 

Definition at line 136 of file vtkLinearExtrusionFilter.h.

double vtkLinearExtrusionFilter::ExtrusionPoint[3] [protected]
 

Definition at line 137 of file vtkLinearExtrusionFilter.h.

double*(vtkLinearExtrusionFilter::* vtkLinearExtrusionFilter::ExtrudePoint)(double x[3], vtkIdType id, vtkDataArray *normals) [protected]
 


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