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

vtkTempTessellatorFilter Class Reference

approximate nonlinear FEM elements with simplices More...

#include <vtkTempTessellatorFilter.h>

Collaboration diagram for vtkTempTessellatorFilter:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 vtkTypeRevisionMacro (vtkTempTessellatorFilter, vtkDataSetToUnstructuredGridFilter)
void PrintSelf (ostream &os, vtkIndent indent)
virtual void SetTessellator (vtkStreamingTessellator *)
virtual vtkStreamingTessellatorGetTessellator ()
virtual void SetSubdivider (vtkDataSetSubdivisionAlgorithm *)
virtual vtkDataSetSubdivisionAlgorithmGetSubdivider ()
virtual unsigned long GetMTime ()
virtual void SetOutputDimension (int)
virtual int GetOutputDimension ()
int GetOutputDimension () const
virtual void SetMaximumNumberOfSubdivisions (int num_subdiv_in)
int GetMaximumNumberOfSubdivisions ()
virtual void SetChordError (double ce)
double GetChordError ()
virtual void ResetFieldCriteria ()
virtual void SetFieldCriterion (int field, double chord)
virtual void SetMergePoints (int OnOrOff)
virtual void MergePointsOn ()
virtual void MergePointsOff ()
virtual int GetMergePoints ()
int GetMergePoints () const

Static Public Member Functions

vtkTempTessellatorFilterNew ()

Protected Member Functions

 vtkTempTessellatorFilter ()
 ~vtkTempTessellatorFilter ()
void SetupOutput ()
virtual void Execute ()
void Teardown ()
void OutputLine (const double *, const double *)
void OutputTriangle (const double *, const double *, const double *)
void OutputTetrahedron (const double *, const double *, const double *, const double *)

Static Protected Member Functions

void AddALine (const double *, const double *, vtkSubdivisionAlgorithm *, void *, const void *)
void AddATriangle (const double *, const double *, const double *, vtkSubdivisionAlgorithm *, void *, const void *)
void AddATetrahedron (const double *, const double *, const double *, const double *, vtkSubdivisionAlgorithm *, void *, const void *)

Protected Attributes

vtkStreamingTessellatorTessellator
vtkDataSetSubdivisionAlgorithmSubdivider
int OutputDimension
int MergePoints
vtkUnstructuredGrid * OutputMesh
vtkPoints * OutputPoints
vtkDataArray ** OutputAttributes
int * OutputAttributeIndices

Detailed Description

approximate nonlinear FEM elements with simplices

Date
2004/08/23 17:52:33
Revision
1.5

This class approximates nonlinear FEM elements with linear simplices.

Warning: This class is temporary and will go away at some point after ParaView 1.4.0.

This filter rifles through all the cells in an input vtkDataSet. It tesselates each cell and uses the vtkStreamingTessellator and vtkDataSetSubdivisionAlgorithm classes to generate simplices that approximate the nonlinear mesh using some approximation metric (encoded in the particular vtkDataSetSubdivisionAlgorithm::EvaluateEdge implementation). The simplices are placed into the filter's output vtkDataSet object by the callback routines AddATetrahedron, AddATriangle, and AddALine, which are registered with the triangulator.

The output mesh will have geometry and any fields specified as attributes in the input mesh's point data. The attribute's copy flags are honored, except for normals.

Internals:
The filter's main member function is Execute(). This function first calls SetupOutput() which allocates arrays and some temporary variables for the primitive callbacks (OutputTriangle and OutputLine which are called by AddATriangle and AddALine, respectively). Each cell is given an initial tesselation, which results in one or more calls to OutputTetrahedron, OutputTriangle or OutputLine to add elements to the OutputMesh. Finally, Teardown() is called to free the filter's working space.
See also:
vtkDataSetToUnstructuredGridFilter vtkDataSet vtkStreamingTessellator vtkDataSetSubdivisionAlgorithm

Definition at line 66 of file vtkTempTessellatorFilter.h.


Constructor & Destructor Documentation

vtkTempTessellatorFilter::vtkTempTessellatorFilter  )  [protected]
 

vtkTempTessellatorFilter::~vtkTempTessellatorFilter  )  [protected]
 


Member Function Documentation

vtkTempTessellatorFilter::vtkTypeRevisionMacro vtkTempTessellatorFilter  ,
vtkDataSetToUnstructuredGridFilter 
 

void vtkTempTessellatorFilter::PrintSelf ostream &  os,
vtkIndent  indent
 

vtkTempTessellatorFilter* vtkTempTessellatorFilter::New  )  [static]
 

virtual void vtkTempTessellatorFilter::SetTessellator vtkStreamingTessellator  )  [virtual]
 

virtual vtkStreamingTessellator* vtkTempTessellatorFilter::GetTessellator  )  [virtual]
 

virtual void vtkTempTessellatorFilter::SetSubdivider vtkDataSetSubdivisionAlgorithm  )  [virtual]
 

virtual vtkDataSetSubdivisionAlgorithm* vtkTempTessellatorFilter::GetSubdivider  )  [virtual]
 

virtual unsigned long vtkTempTessellatorFilter::GetMTime  )  [virtual]
 

virtual void vtkTempTessellatorFilter::SetOutputDimension int   )  [virtual]
 

virtual int vtkTempTessellatorFilter::GetOutputDimension  )  [virtual]
 

int vtkTempTessellatorFilter::GetOutputDimension  )  const [inline]
 

Definition at line 158 of file vtkTempTessellatorFilter.h.

References OutputDimension.

virtual void vtkTempTessellatorFilter::SetMaximumNumberOfSubdivisions int  num_subdiv_in  )  [virtual]
 

These are convenience routines for setting properties maintained by the tessellator and subdivider. They are implemented here for ParaView's sake.

int vtkTempTessellatorFilter::GetMaximumNumberOfSubdivisions  ) 
 

These are convenience routines for setting properties maintained by the tessellator and subdivider. They are implemented here for ParaView's sake.

virtual void vtkTempTessellatorFilter::SetChordError double  ce  )  [virtual]
 

These are convenience routines for setting properties maintained by the tessellator and subdivider. They are implemented here for ParaView's sake.

double vtkTempTessellatorFilter::GetChordError  ) 
 

These are convenience routines for setting properties maintained by the tessellator and subdivider. They are implemented here for ParaView's sake.

virtual void vtkTempTessellatorFilter::ResetFieldCriteria  )  [virtual]
 

These methods are for the ParaView client.

virtual void vtkTempTessellatorFilter::SetFieldCriterion int  field,
double  chord
[virtual]
 

These methods are for the ParaView client.

virtual void vtkTempTessellatorFilter::SetMergePoints int  OnOrOff  )  [virtual]
 

The adaptive tessellation will output vertices that are not shared among cells, even where they should be. This can be corrected to some extents with a vtkMergeFilter. By default, the filter is off and vertices will not be shared.

virtual void vtkTempTessellatorFilter::MergePointsOn  )  [virtual]
 

The adaptive tessellation will output vertices that are not shared among cells, even where they should be. This can be corrected to some extents with a vtkMergeFilter. By default, the filter is off and vertices will not be shared.

virtual void vtkTempTessellatorFilter::MergePointsOff  )  [virtual]
 

The adaptive tessellation will output vertices that are not shared among cells, even where they should be. This can be corrected to some extents with a vtkMergeFilter. By default, the filter is off and vertices will not be shared.

virtual int vtkTempTessellatorFilter::GetMergePoints  )  [virtual]
 

The adaptive tessellation will output vertices that are not shared among cells, even where they should be. This can be corrected to some extents with a vtkMergeFilter. By default, the filter is off and vertices will not be shared.

int vtkTempTessellatorFilter::GetMergePoints  )  const [inline]
 

The adaptive tessellation will output vertices that are not shared among cells, even where they should be. This can be corrected to some extents with a vtkMergeFilter. By default, the filter is off and vertices will not be shared.

Definition at line 110 of file vtkTempTessellatorFilter.h.

void vtkTempTessellatorFilter::SetupOutput  )  [protected]
 

Called by Execute to set up a multitude of member variables used by the per-primitive output functions (OutputLine, OutputTriangle, and maybe one day... OutputTetrahedron).

virtual void vtkTempTessellatorFilter::Execute  )  [protected, virtual]
 

Run the filter; produce a polygonal approximation to the grid.

void vtkTempTessellatorFilter::Teardown  )  [protected]
 

Reset the temporary variables used during the filter's Execute() method.

void vtkTempTessellatorFilter::AddALine const double *  ,
const double *  ,
vtkSubdivisionAlgorithm ,
void *  ,
const void * 
[static, protected]
 

void vtkTempTessellatorFilter::AddATriangle const double *  ,
const double *  ,
const double *  ,
vtkSubdivisionAlgorithm ,
void *  ,
const void * 
[static, protected]
 

void vtkTempTessellatorFilter::AddATetrahedron const double *  ,
const double *  ,
const double *  ,
const double *  ,
vtkSubdivisionAlgorithm ,
void *  ,
const void * 
[static, protected]
 

void vtkTempTessellatorFilter::OutputLine const double *  ,
const double * 
[protected]
 

void vtkTempTessellatorFilter::OutputTriangle const double *  ,
const double *  ,
const double * 
[protected]
 

void vtkTempTessellatorFilter::OutputTetrahedron const double *  ,
const double *  ,
const double *  ,
const double * 
[protected]
 


Member Data Documentation

vtkStreamingTessellator* vtkTempTessellatorFilter::Tessellator [protected]
 

Definition at line 130 of file vtkTempTessellatorFilter.h.

vtkDataSetSubdivisionAlgorithm* vtkTempTessellatorFilter::Subdivider [protected]
 

Definition at line 131 of file vtkTempTessellatorFilter.h.

int vtkTempTessellatorFilter::OutputDimension [protected]
 

Definition at line 132 of file vtkTempTessellatorFilter.h.

Referenced by GetOutputDimension().

int vtkTempTessellatorFilter::MergePoints [protected]
 

Definition at line 133 of file vtkTempTessellatorFilter.h.

vtkUnstructuredGrid* vtkTempTessellatorFilter::OutputMesh [protected]
 

These member variables are set by SetupOutput for use inside the callback members OutputLine and OutputTriangle.

Definition at line 138 of file vtkTempTessellatorFilter.h.

vtkPoints* vtkTempTessellatorFilter::OutputPoints [protected]
 

These member variables are set by SetupOutput for use inside the callback members OutputLine and OutputTriangle.

Definition at line 139 of file vtkTempTessellatorFilter.h.

vtkDataArray** vtkTempTessellatorFilter::OutputAttributes [protected]
 

These member variables are set by SetupOutput for use inside the callback members OutputLine and OutputTriangle.

Definition at line 140 of file vtkTempTessellatorFilter.h.

int* vtkTempTessellatorFilter::OutputAttributeIndices [protected]
 

These member variables are set by SetupOutput for use inside the callback members OutputLine and OutputTriangle.

Definition at line 141 of file vtkTempTessellatorFilter.h.


The documentation for this class was generated from the following file:
Generated on Tue May 30 12:45:17 2006 for ParaView by doxygen 1.3.5