VTK
|
approximate nonlinear FEM elements with simplices More...
#include <vtkTessellatorFilter.h>
approximate nonlinear FEM elements with simplices
$Date$ $Revision$
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 vtkDataSetEdgeSubdivisionCriterion classes to generate simplices that approximate the nonlinear mesh using some approximation metric (encoded in the particular vtkDataSetEdgeSubdivisionCriterion::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.
Definition at line 73 of file vtkTessellatorFilter.h.
Reimplemented from vtkUnstructuredGridAlgorithm.
Definition at line 76 of file vtkTessellatorFilter.h.
vtkTessellatorFilter::vtkTessellatorFilter | ( | ) | [protected] |
vtkTessellatorFilter::~vtkTessellatorFilter | ( | ) | [protected] |
static int vtkTessellatorFilter::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 vtkUnstructuredGridAlgorithm.
virtual int vtkTessellatorFilter::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 vtkUnstructuredGridAlgorithm.
static vtkTessellatorFilter* vtkTessellatorFilter::SafeDownCast | ( | vtkObjectBase * | o | ) | [static] |
Reimplemented from vtkUnstructuredGridAlgorithm.
virtual vtkObjectBase* vtkTessellatorFilter::NewInstanceInternal | ( | ) | const [protected, virtual] |
Reimplemented from vtkUnstructuredGridAlgorithm.
Reimplemented from vtkUnstructuredGridAlgorithm.
void vtkTessellatorFilter::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 vtkUnstructuredGridAlgorithm.
static vtkTessellatorFilter* vtkTessellatorFilter::New | ( | ) | [static] |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Reimplemented from vtkUnstructuredGridAlgorithm.
virtual void vtkTessellatorFilter::SetTessellator | ( | vtkStreamingTessellator * | ) | [virtual] |
virtual vtkStreamingTessellator* vtkTessellatorFilter::GetTessellator | ( | ) | [virtual] |
virtual void vtkTessellatorFilter::SetSubdivider | ( | vtkDataSetEdgeSubdivisionCriterion * | ) | [virtual] |
virtual vtkDataSetEdgeSubdivisionCriterion* vtkTessellatorFilter::GetSubdivider | ( | ) | [virtual] |
virtual unsigned long vtkTessellatorFilter::GetMTime | ( | ) | [virtual] |
Return this object's modified time.
Reimplemented from vtkObject.
virtual void vtkTessellatorFilter::SetOutputDimension | ( | int | ) | [virtual] |
Set the dimension of the output tessellation. Cells in dimensions higher than the given value will have their boundaries of dimension OutputDimension tessellated. For example, if OutputDimension is 2, a hexahedron's quadrilateral faces would be tessellated rather than its interior.
virtual int vtkTessellatorFilter::GetOutputDimension | ( | ) | [virtual] |
Set the dimension of the output tessellation. Cells in dimensions higher than the given value will have their boundaries of dimension OutputDimension tessellated. For example, if OutputDimension is 2, a hexahedron's quadrilateral faces would be tessellated rather than its interior.
int vtkTessellatorFilter::GetOutputDimension | ( | ) | const [inline] |
Set the dimension of the output tessellation. Cells in dimensions higher than the given value will have their boundaries of dimension OutputDimension tessellated. For example, if OutputDimension is 2, a hexahedron's quadrilateral faces would be tessellated rather than its interior.
Definition at line 206 of file vtkTessellatorFilter.h.
virtual void vtkTessellatorFilter::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.
These are convenience routines for setting properties maintained by the tessellator and subdivider. They are implemented here for ParaView's sake.
virtual void vtkTessellatorFilter::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.
These are convenience routines for setting properties maintained by the tessellator and subdivider. They are implemented here for ParaView's sake.
virtual void vtkTessellatorFilter::ResetFieldCriteria | ( | ) | [virtual] |
These methods are for the ParaView client.
virtual void vtkTessellatorFilter::SetFieldCriterion | ( | int | field, |
double | chord | ||
) | [virtual] |
These methods are for the ParaView client.
virtual int vtkTessellatorFilter::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.
virtual void vtkTessellatorFilter::SetMergePoints | ( | int | ) | [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 vtkTessellatorFilter::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 vtkTessellatorFilter::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 vtkTessellatorFilter::FillInputPortInformation | ( | int | port, |
vtkInformation * | info | ||
) | [protected, virtual] |
Fill the input port information objects for this algorithm. This is invoked by the first call to GetInputPortInformation for each port so subclasses can specify what they can handle.
Reimplemented from vtkUnstructuredGridAlgorithm.
void vtkTessellatorFilter::SetupOutput | ( | vtkDataSet * | input, |
vtkUnstructuredGrid * | output | ||
) | [protected] |
Called by RequestData to set up a multitude of member variables used by the per-primitive output functions (OutputLine, OutputTriangle, and maybe one day... OutputTetrahedron).
void vtkTessellatorFilter::MergeOutputPoints | ( | vtkUnstructuredGrid * | input, |
vtkUnstructuredGrid * | output | ||
) | [protected] |
Called by RequestData to merge output points.
void vtkTessellatorFilter::Teardown | ( | ) | [protected] |
Reset the temporary variables used during the filter's RequestData() method.
virtual int vtkTessellatorFilter::RequestData | ( | vtkInformation * | request, |
vtkInformationVector ** | inputVector, | ||
vtkInformationVector * | outputVector | ||
) | [protected, virtual] |
Run the filter; produce a polygonal approximation to the grid.
Reimplemented from vtkUnstructuredGridAlgorithm.
static void vtkTessellatorFilter::AddAPoint | ( | const double * | , |
vtkEdgeSubdivisionCriterion * | , | ||
void * | , | ||
const void * | |||
) | [static, protected] |
static void vtkTessellatorFilter::AddALine | ( | const double * | , |
const double * | , | ||
vtkEdgeSubdivisionCriterion * | , | ||
void * | , | ||
const void * | |||
) | [static, protected] |
static void vtkTessellatorFilter::AddATriangle | ( | const double * | , |
const double * | , | ||
const double * | , | ||
vtkEdgeSubdivisionCriterion * | , | ||
void * | , | ||
const void * | |||
) | [static, protected] |
static void vtkTessellatorFilter::AddATetrahedron | ( | const double * | , |
const double * | , | ||
const double * | , | ||
const double * | , | ||
vtkEdgeSubdivisionCriterion * | , | ||
void * | , | ||
const void * | |||
) | [static, protected] |
void vtkTessellatorFilter::OutputPoint | ( | const double * | ) | [protected] |
void vtkTessellatorFilter::OutputLine | ( | const double * | , |
const double * | |||
) | [protected] |
void vtkTessellatorFilter::OutputTriangle | ( | const double * | , |
const double * | , | ||
const double * | |||
) | [protected] |
void vtkTessellatorFilter::OutputTetrahedron | ( | const double * | , |
const double * | , | ||
const double * | , | ||
const double * | |||
) | [protected] |
vtkStreamingTessellator* vtkTessellatorFilter::Tessellator [protected] |
Definition at line 154 of file vtkTessellatorFilter.h.
Definition at line 155 of file vtkTessellatorFilter.h.
int vtkTessellatorFilter::OutputDimension [protected] |
Definition at line 156 of file vtkTessellatorFilter.h.
int vtkTessellatorFilter::MergePoints [protected] |
Definition at line 157 of file vtkTessellatorFilter.h.
vtkPointLocator* vtkTessellatorFilter::Locator [protected] |
Definition at line 158 of file vtkTessellatorFilter.h.
vtkUnstructuredGrid* vtkTessellatorFilter::OutputMesh [protected] |
These member variables are set by SetupOutput for use inside the callback members OutputLine and OutputTriangle.
Definition at line 163 of file vtkTessellatorFilter.h.
vtkPoints* vtkTessellatorFilter::OutputPoints [protected] |
These member variables are set by SetupOutput for use inside the callback members OutputLine and OutputTriangle.
Definition at line 164 of file vtkTessellatorFilter.h.
vtkDataArray** vtkTessellatorFilter::OutputAttributes [protected] |
These member variables are set by SetupOutput for use inside the callback members OutputLine and OutputTriangle.
Definition at line 165 of file vtkTessellatorFilter.h.
int* vtkTessellatorFilter::OutputAttributeIndices [protected] |
These member variables are set by SetupOutput for use inside the callback members OutputLine and OutputTriangle.
Definition at line 166 of file vtkTessellatorFilter.h.