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
vtkPolyDataSilhouette Class Reference

sort polydata along camera view direction More...

#include <vtkPolyDataSilhouette.h>

Inherits vtkPolyDataAlgorithm.

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 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 (vtkObjectBase *o)
 

Protected Member Functions

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

Protected Attributes

int Direction
 
vtkCamera * Camera
 
vtkProp3D * Prop3D
 
vtkTransform * Transform
 
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

typedef vtkPolyDataAlgorithm vtkPolyDataSilhouette::Superclass

Definition at line 62 of file vtkPolyDataSilhouette.h.

Constructor & Destructor Documentation

vtkPolyDataSilhouette::vtkPolyDataSilhouette ( )
protected
vtkPolyDataSilhouette::~vtkPolyDataSilhouette ( )
protected

Member Function Documentation

static vtkPolyDataSilhouette* vtkPolyDataSilhouette::New ( )
static

Instantiate object.

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

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 ( )

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

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

Member Data Documentation

int vtkPolyDataSilhouette::Direction
protected

Definition at line 155 of file vtkPolyDataSilhouette.h.

vtkCamera* vtkPolyDataSilhouette::Camera
protected

Definition at line 156 of file vtkPolyDataSilhouette.h.

vtkProp3D* vtkPolyDataSilhouette::Prop3D
protected

Definition at line 157 of file vtkPolyDataSilhouette.h.

vtkTransform* vtkPolyDataSilhouette::Transform
protected

Definition at line 158 of file vtkPolyDataSilhouette.h.

double vtkPolyDataSilhouette::Vector[3]
protected

Definition at line 159 of file vtkPolyDataSilhouette.h.

double vtkPolyDataSilhouette::Origin[3]
protected

Definition at line 160 of file vtkPolyDataSilhouette.h.

int vtkPolyDataSilhouette::EnableFeatureAngle
protected

Definition at line 162 of file vtkPolyDataSilhouette.h.

double vtkPolyDataSilhouette::FeatureAngle
protected

Definition at line 163 of file vtkPolyDataSilhouette.h.

int vtkPolyDataSilhouette::BorderEdges
protected

Definition at line 165 of file vtkPolyDataSilhouette.h.

int vtkPolyDataSilhouette::PieceInvariant
protected

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: