vtkPolyDataSilhouette Class Reference

#include <vtkPolyDataSilhouette.h>

Inheritance diagram for vtkPolyDataSilhouette:

Inheritance graph
[legend]
Collaboration diagram for vtkPolyDataSilhouette:

Collaboration graph
[legend]

List of all members.


Detailed Description

sort polydata along camera view direction

vtkPolyDataSilhouette extracts a subset of a polygonal mesh edges to generate an outline (silhouette) of the corresponding 3D object. In addition, this filter can also extracts sharp edges (aka feature angles). In order to use this filter you must specify the a point of view (origin) or a direction (vector). given this direction or origin, a silhouette is generated wherever the surface's normal is orthogonal to the view direction.

Warning:
when the active camera is used, almost everything is recomputed for each frame, keep this in mind when dealing with extremely large surface data sets.
Thanks:
Contribution by Thierry Carrard
CEA/DIF - Commissariat a l'Energie Atomique, Centre DAM Ile-De-France
BP12, F-91297 Arpajon, France.
Tests:
vtkPolyDataSilhouette (Tests)

Definition at line 55 of file vtkPolyDataSilhouette.h.


Public Types

typedef vtkPolyDataAlgorithm Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
unsigned long GetMTime ()
virtual void SetEnableFeatureAngle (int)
virtual int GetEnableFeatureAngle ()
virtual void SetFeatureAngle (double)
virtual double GetFeatureAngle ()
virtual void SetBorderEdges (int)
virtual int GetBorderEdges ()
virtual void BorderEdgesOn ()
virtual void BorderEdgesOff ()
virtual void SetPieceInvariant (int)
virtual int GetPieceInvariant ()
virtual void PieceInvariantOn ()
virtual void PieceInvariantOff ()
virtual void SetDirection (int)
virtual int GetDirection ()
void SetDirectionToSpecifiedVector ()
void SetDirectionToSpecifiedOrigin ()
void SetDirectionToCameraVector ()
void SetDirectionToCameraOrigin ()
virtual void SetCamera (vtkCamera VTK_WRAP_EXTERN *)
virtual vtkCamera VTK_WRAP_EXTERN * GetCamera ()
void SetProp3D (vtkProp3D VTK_WRAP_EXTERN *)
vtkProp3D VTK_WRAP_EXTERN * GetProp3D ()
virtual void SetVector (double, double, double)
virtual void SetVector (double[3])
virtual double * GetVector ()
virtual void GetVector (double data[3])
virtual void SetOrigin (double, double, double)
virtual void SetOrigin (double[3])
virtual double * GetOrigin ()
virtual void GetOrigin (double data[3])

Static Public Member Functions

static vtkPolyDataSilhouetteNew ()
static int IsTypeOf (const char *type)
static vtkPolyDataSilhouetteSafeDownCast (vtkObject *o)

Protected Member Functions

 vtkPolyDataSilhouette ()
 ~vtkPolyDataSilhouette ()
int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
void ComputeProjectionVector (double vector[3], double origin[3])

Protected Attributes

int Direction
vtkCameraCamera
vtkProp3DProp3D
vtkTransformTransform
double Vector [3]
double Origin [3]
int EnableFeatureAngle
double FeatureAngle
int BorderEdges
int PieceInvariant
vtkPolyDataEdges * PreComp

Member Typedef Documentation

Reimplemented from vtkPolyDataAlgorithm.

Definition at line 61 of file vtkPolyDataSilhouette.h.


Constructor & Destructor Documentation

vtkPolyDataSilhouette::vtkPolyDataSilhouette (  )  [protected]

vtkPolyDataSilhouette::~vtkPolyDataSilhouette (  )  [protected]


Member Function Documentation

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

Instantiate object.

Reimplemented from vtkPolyDataAlgorithm.

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

Reimplemented from vtkPolyDataAlgorithm.

static int vtkPolyDataSilhouette::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 vtkPolyDataAlgorithm.

virtual int vtkPolyDataSilhouette::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 vtkPolyDataAlgorithm.

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

Reimplemented from vtkPolyDataAlgorithm.

void vtkPolyDataSilhouette::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 vtkPolyDataAlgorithm.

virtual void vtkPolyDataSilhouette::SetEnableFeatureAngle ( int   )  [virtual]

Enables or Disables generation of silhouette edges along sharp edges

virtual int vtkPolyDataSilhouette::GetEnableFeatureAngle (  )  [virtual]

Enables or Disables generation of silhouette edges along sharp edges

virtual void vtkPolyDataSilhouette::SetFeatureAngle ( double   )  [virtual]

Sets/Gets minimal angle for sharp edges detection. Default is 60

virtual double vtkPolyDataSilhouette::GetFeatureAngle (  )  [virtual]

Sets/Gets minimal angle for sharp edges detection. Default is 60

virtual void vtkPolyDataSilhouette::SetBorderEdges ( int   )  [virtual]

Enables or Disables generation of border edges. Note: borders exist only in case of non closed surface

virtual int vtkPolyDataSilhouette::GetBorderEdges (  )  [virtual]

Enables or Disables generation of border edges. Note: borders exist only in case of non closed surface

virtual void vtkPolyDataSilhouette::BorderEdgesOn (  )  [virtual]

Enables or Disables generation of border edges. Note: borders exist only in case of non closed surface

virtual void vtkPolyDataSilhouette::BorderEdgesOff (  )  [virtual]

Enables or Disables generation of border edges. Note: borders exist only in case of non closed surface

virtual void vtkPolyDataSilhouette::SetPieceInvariant ( int   )  [virtual]

Enables or Disables piece invariance. This is useful when dealing with multi-block data sets. Note: requires one level of ghost cells

virtual int vtkPolyDataSilhouette::GetPieceInvariant (  )  [virtual]

Enables or Disables piece invariance. This is useful when dealing with multi-block data sets. Note: requires one level of ghost cells

virtual void vtkPolyDataSilhouette::PieceInvariantOn (  )  [virtual]

Enables or Disables piece invariance. This is useful when dealing with multi-block data sets. Note: requires one level of ghost cells

virtual void vtkPolyDataSilhouette::PieceInvariantOff (  )  [virtual]

Enables or Disables piece invariance. This is useful when dealing with multi-block data sets. Note: requires one level of ghost cells

virtual void vtkPolyDataSilhouette::SetDirection ( int   )  [virtual]

Specify how view direction is computed. By default, the camera origin (eye) is used.

virtual int vtkPolyDataSilhouette::GetDirection (  )  [virtual]

Specify how view direction is computed. By default, the camera origin (eye) is used.

void vtkPolyDataSilhouette::SetDirectionToSpecifiedVector (  )  [inline]

Specify how view direction is computed. By default, the camera origin (eye) is used.

Definition at line 97 of file vtkPolyDataSilhouette.h.

void vtkPolyDataSilhouette::SetDirectionToSpecifiedOrigin (  )  [inline]

Specify how view direction is computed. By default, the camera origin (eye) is used.

Definition at line 99 of file vtkPolyDataSilhouette.h.

void vtkPolyDataSilhouette::SetDirectionToCameraVector (  )  [inline]

Specify how view direction is computed. By default, the camera origin (eye) is used.

Definition at line 101 of file vtkPolyDataSilhouette.h.

void vtkPolyDataSilhouette::SetDirectionToCameraOrigin (  )  [inline]

Specify how view direction is computed. By default, the camera origin (eye) is used.

Definition at line 103 of file vtkPolyDataSilhouette.h.

virtual void vtkPolyDataSilhouette::SetCamera ( vtkCamera VTK_WRAP_EXTERN *   )  [virtual]

Specify a camera that is used to define the view direction. This ivar only has effect if the direction is set to VTK_DIRECTION_CAMERA_ORIGIN or VTK_DIRECTION_CAMERA_VECTOR, and a camera is specified.

virtual vtkCamera VTK_WRAP_EXTERN* vtkPolyDataSilhouette::GetCamera (  )  [virtual]

Specify a camera that is used to define the view direction. This ivar only has effect if the direction is set to VTK_DIRECTION_CAMERA_ORIGIN or VTK_DIRECTION_CAMERA_VECTOR, and a camera is specified.

void vtkPolyDataSilhouette::SetProp3D ( vtkProp3D VTK_WRAP_EXTERN *   ) 

Specify a transformation matrix (via the vtkProp3D::GetMatrix() method) that is used to include the effects of transformation. This ivar only has effect if the direction is set to VTK_DIRECTION_CAMERA_ORIGIN or VTK_DIRECTION_CAMERA_VECTOR, and a camera is specified. Specifying the vtkProp3D is optional.

vtkProp3D VTK_WRAP_EXTERN* vtkPolyDataSilhouette::GetProp3D (  ) 

Specify a transformation matrix (via the vtkProp3D::GetMatrix() method) that is used to include the effects of transformation. This ivar only has effect if the direction is set to VTK_DIRECTION_CAMERA_ORIGIN or VTK_DIRECTION_CAMERA_VECTOR, and a camera is specified. Specifying the vtkProp3D is optional.

virtual void vtkPolyDataSilhouette::SetVector ( double  ,
double  ,
double   
) [virtual]

Set/Get the sort direction. This ivar only has effect if the sort direction is set to SetDirectionToSpecifiedVector(). The edge detection occurs in the direction of the vector.

virtual void vtkPolyDataSilhouette::SetVector ( double  [3]  )  [virtual]

Set/Get the sort direction. This ivar only has effect if the sort direction is set to SetDirectionToSpecifiedVector(). The edge detection occurs in the direction of the vector.

virtual double* vtkPolyDataSilhouette::GetVector (  )  [virtual]

Set/Get the sort direction. This ivar only has effect if the sort direction is set to SetDirectionToSpecifiedVector(). The edge detection occurs in the direction of the vector.

virtual void vtkPolyDataSilhouette::GetVector ( double  data[3]  )  [virtual]

Set/Get the sort direction. This ivar only has effect if the sort direction is set to SetDirectionToSpecifiedVector(). The edge detection occurs in the direction of the vector.

virtual void vtkPolyDataSilhouette::SetOrigin ( double  ,
double  ,
double   
) [virtual]

Set/Get the sort origin. This ivar only has effect if the sort direction is set to SetDirectionToSpecifiedOrigin(). The edge detection occurs in the direction of the origin to each edge's center.

virtual void vtkPolyDataSilhouette::SetOrigin ( double  [3]  )  [virtual]

Set/Get the sort origin. This ivar only has effect if the sort direction is set to SetDirectionToSpecifiedOrigin(). The edge detection occurs in the direction of the origin to each edge's center.

virtual double* vtkPolyDataSilhouette::GetOrigin (  )  [virtual]

Set/Get the sort origin. This ivar only has effect if the sort direction is set to SetDirectionToSpecifiedOrigin(). The edge detection occurs in the direction of the origin to each edge's center.

virtual void vtkPolyDataSilhouette::GetOrigin ( double  data[3]  )  [virtual]

Set/Get the sort origin. This ivar only has effect if the sort direction is set to SetDirectionToSpecifiedOrigin(). The edge detection occurs in the direction of the origin to each edge's center.

unsigned long vtkPolyDataSilhouette::GetMTime (  )  [virtual]

Return MTime also considering the dependent objects: the camera and/or the prop3D.

Reimplemented from vtkObject.

int vtkPolyDataSilhouette::RequestData ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
) [protected, virtual]

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

Reimplemented from vtkPolyDataAlgorithm.

void vtkPolyDataSilhouette::ComputeProjectionVector ( double  vector[3],
double  origin[3] 
) [protected]


Member Data Documentation

Definition at line 154 of file vtkPolyDataSilhouette.h.

Definition at line 155 of file vtkPolyDataSilhouette.h.

Definition at line 156 of file vtkPolyDataSilhouette.h.

Definition at line 157 of file vtkPolyDataSilhouette.h.

double vtkPolyDataSilhouette::Vector[3] [protected]

Definition at line 158 of file vtkPolyDataSilhouette.h.

double vtkPolyDataSilhouette::Origin[3] [protected]

Definition at line 159 of file vtkPolyDataSilhouette.h.

Definition at line 161 of file vtkPolyDataSilhouette.h.

Definition at line 162 of file vtkPolyDataSilhouette.h.

Definition at line 164 of file vtkPolyDataSilhouette.h.

Definition at line 165 of file vtkPolyDataSilhouette.h.

vtkPolyDataEdges* vtkPolyDataSilhouette::PreComp [protected]

Definition at line 167 of file vtkPolyDataSilhouette.h.


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

Generated on Wed Aug 24 11:57:06 2011 for VTK by  doxygen 1.5.6