Go to the documentation of this file.
48 #ifndef vtkSimpleCellTessellator_h
49 #define vtkSimpleCellTessellator_h
51 #include "vtkCommonDataModelModule.h"
54 class vtkTriangleTile;
421 friend class vtkTetraTile;
422 friend class vtkTriangleTile;
void RemoveEdgesFromEdgeTable(vtkTetraTile &tetra)
void InsertPointsIntoEdgeTable(vtkTriangleTile &tri)
vtkCellArray * TessellateCellArray
int GetMaxSubdivisionLevel()
Return the maximum level of subdivision.
void Tessellate(vtkGenericAdaptorCell *cell, vtkGenericAttributeCollection *att, vtkDoubleArray *points, vtkCellArray *cellArray, vtkPointData *internalPd) override
Tessellate a 3D ‘cell’.
static vtkSimpleCellTessellator * New()
represent and manipulate point attribute data
a cell that represents an n-sided polygon
void SetSubdivisionLevels(int fixed, int maxLevel)
Set both the number of fixed subdivisions and the maximum level of subdivisions.
void InsertEdgesIntoEdgeTable(vtkTetraTile &tetra)
void AllocateScalars(int size)
Allocate some memory if Scalars does not exists or is smaller than size.
vtkDoubleArray * TessellatePoints
To avoid New/Delete.
int CurrentSubdivisionLevel
void RemoveEdgesFromEdgeTable(vtkTriangleTile &tri)
int IsEdgeOnFace(double p1[3], double p2[3])
Is the edge defined by vertices (‘p1’,‘p2’) in parametric coordinates on some edge of the original te...
int GetMaxAdaptiveSubdivisions()
Return the maximum number of adaptive subdivisions.
double * Scalars
Scalar buffer used to save the interpolate values of the attributes The capacity is at least the numb...
iterator used to traverse cells
int GetNumberOfCellsUsingEdge(int edgeId)
Objects that compute error during cell tessellation.
vtkGenericCellIterator * CellIterator
Used to iterate over edges boundaries in GetNumberOfCellsUsingEdges()
helper class to perform cell tessellation
defines dataset interface
helper class to generate triangulations
vtkGenericAdaptorCell * GenericCell
To access the higher order cell from third party library.
void AllocatePointIds(int size)
Allocate some memory if PointIds does not exist or is smaller than size.
void Triangulate(vtkGenericAdaptorCell *cell, vtkGenericAttributeCollection *att, vtkDoubleArray *points, vtkCellArray *cellArray, vtkPointData *internalPd) override
Triangulate a 2D ‘cell’.
void Reset()
Reset the output for repeated use of this class.
~vtkSimpleCellTessellator() override
helper class to perform cell tessellation
void SetFixedSubdivisions(int level)
Set the number of fixed subdivisions.
void Initialize(vtkGenericDataSet *ds) override
Initialize the tessellator with a data set ‘ds’.
int FacesAreEqual(int *originalFace, int face[3])
Are the faces ‘originalFace’ and ‘face’ equal? The result is independent from any order or orientatio...
vtkGenericAttributeCollection * AttributeCollection
To access the higher order field from third party library.
void InitTetraTile(vtkTetraTile &root, vtkIdType *localIds, vtkIdType *ids, int *edgeIds, int *faceIds)
Initialize ‘root’ with the sub-tetra defined by the ‘localIds’ points on the complex cell,...
int PointOffset
Number of double value to skip to go to the next point into Scalars array It is 6+attributeCollection...
vtkOrderedTriangulator * Triangulator
a simple class to control print indentation
vtkIdType NumberOfPoints
Number of points in the dataset to be tessellated.
object to represent cell connectivity
list of point or cell ids
int GetNumberOfCellsUsingFace(int faceId)
vtkGenericEdgeTable * EdgeTable
HashTable instead of vtkPointLocator.
keep track of edges (defined by pair of integer id's)
void CopyPoint(vtkIdType pointId)
Extract point ‘pointId’ from the edge table to the output point and output point data.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int FindEdgeParent2D(double p1[3], double p2[3], int &localId)
Return 1 if the parent of edge defined by vertices (‘p1’,‘p2’) in parametric coordinates,...
void TriangulateTriangle(vtkGenericAdaptorCell *cell, vtkIdType *localIds, vtkIdType *ids, int *edgeIds, vtkGenericAttributeCollection *att, vtkDoubleArray *points, vtkCellArray *cellArray, vtkPointData *internalPd)
Triangulate a triangle of ‘cell’.
int GetFixedSubdivisions()
Return the number of fixed subdivisions.
vtkSimpleCellTessellator()
int FindEdgeParent(double p1[3], double p2[3], int &localId)
Return 1 if the parent of edge defined by vertices (‘p1’,‘p2’) in parametric coordinates,...
void SetMaxSubdivisionLevel(int level)
Set the maximum level of subdivision.
int FindEdgeReferenceCount(double p1[3], double p2[3], vtkIdType &e1, vtkIdType &e2)
a collection of attributes
dynamic, self-adjusting array of double
void TessellateFace(vtkGenericAdaptorCell *cell, vtkGenericAttributeCollection *att, vtkIdType index, vtkDoubleArray *points, vtkCellArray *cellArray, vtkPointData *internalPd) override
Tessellate a face of a 3D ‘cell’.
void InsertEdgesIntoEdgeTable(vtkTriangleTile &tri)
int * EdgeIds
For each edge (6) of the sub-tetra, there is the id of the original edge or -1 if the edge is not an ...
vtkPointData * TessellatePointData
vtkCellArray * Connectivity
int * FaceIds
For each face (4) of the sub-tetra, there is the id of the original face or -1 if the face is not an ...