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

sort polydata along camera view direction More...

#include <vtkPolyDataSilhouette.h>

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

List of all members.

Public Types

typedef vtkPolyDataAlgorithm Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkPolyDataSilhouetteNewInstance () const
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 doubleGetVector ()
virtual void GetVector (double data[3])
virtual void SetOrigin (double, double, double)
virtual void SetOrigin (double[3])
virtual doubleGetOrigin ()
virtual void GetOrigin (double data[3])

Static Public Member Functions

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

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 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

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 56 of file vtkPolyDataSilhouette.h.


Member Typedef Documentation

Reimplemented from vtkPolyDataAlgorithm.

Definition at line 62 of file vtkPolyDataSilhouette.h.


Constructor & Destructor Documentation


Member Function Documentation

Instantiate object.

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.

Reimplemented from vtkPolyDataAlgorithm.

virtual vtkObjectBase* vtkPolyDataSilhouette::NewInstanceInternal ( ) const [protected, virtual]

Reimplemented from vtkPolyDataAlgorithm.

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

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

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

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

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.

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

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

Definition at line 98 of file vtkPolyDataSilhouette.h.

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

Definition at line 100 of file vtkPolyDataSilhouette.h.

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

Definition at line 102 of file vtkPolyDataSilhouette.h.

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

Definition at line 104 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.

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 155 of file vtkPolyDataSilhouette.h.

Definition at line 156 of file vtkPolyDataSilhouette.h.

Definition at line 157 of file vtkPolyDataSilhouette.h.

Definition at line 158 of file vtkPolyDataSilhouette.h.

Definition at line 159 of file vtkPolyDataSilhouette.h.

Definition at line 160 of file vtkPolyDataSilhouette.h.

Definition at line 162 of file vtkPolyDataSilhouette.h.

Definition at line 163 of file vtkPolyDataSilhouette.h.

Definition at line 165 of file vtkPolyDataSilhouette.h.

Definition at line 166 of file vtkPolyDataSilhouette.h.

vtkPolyDataEdges* vtkPolyDataSilhouette::PreComp [protected]

Definition at line 168 of file vtkPolyDataSilhouette.h.


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