47 #ifndef __vtkSimpleCellTessellator_h
48 #define __vtkSimpleCellTessellator_h
52 class vtkTriangleTile;
56 class vtkGenericEdgeTable;
58 class vtkGenericAttributeCollection;
60 class vtkGenericCellIterator;
62 class vtkOrderedTriangulator;
90 vtkGenericAttributeCollection *att,
94 vtkPointData *internalPd);
105 vtkGenericAttributeCollection *att,
108 vtkPointData *internalPd );
119 vtkGenericAttributeCollection *att,
122 vtkPointData *internalPd);
141 int GetFixedSubdivisions();
149 int GetMaxSubdivisionLevel();
153 int GetMaxAdaptiveSubdivisions();
159 void SetFixedSubdivisions(
int level);
165 void SetMaxSubdivisionLevel(
int level);
174 void SetSubdivisionLevels(
int fixed,
190 void InsertEdgesIntoEdgeTable( vtkTriangleTile &tri );
191 void RemoveEdgesFromEdgeTable( vtkTriangleTile &tri );
192 void InsertPointsIntoEdgeTable( vtkTriangleTile &tri );
194 void InsertEdgesIntoEdgeTable( vtkTetraTile &tetra );
195 void RemoveEdgesFromEdgeTable( vtkTetraTile &tetra );
208 void InitTetraTile(vtkTetraTile &root,
229 vtkGenericAttributeCollection *att,
232 vtkPointData *internalPd);
240 void AllocateScalars(
int size);
272 int FindEdgeReferenceCount(
double p1[3],
double p2[3],
275 int GetNumberOfCellsUsingFace(
int faceId );
276 int GetNumberOfCellsUsingEdge(
int edgeId );
283 int IsEdgeOnFace(
double p1[3],
double p2[3]);
290 int FindEdgeParent2D(
double p1[3],
double p2[3],
int &localId);
298 int FindEdgeParent(
double p1[3],
double p2[3],
int &localId);
302 void AllocatePointIds(
int size);
308 int FacesAreEqual(
int *originalFace,
356 friend class vtkTetraTile;
357 friend class vtkTriangleTile;
vtkOrderedTriangulator * Triangulator
helper class to perform cell tessellation
vtkGenericCellIterator * CellIterator
virtual void TessellateFace(vtkGenericAdaptorCell *cell, vtkGenericAttributeCollection *att, vtkIdType index, vtkDoubleArray *points, vtkCellArray *cellArray, vtkPointData *internalPd)=0
vtkGenericAdaptorCell * GenericCell
helper class to perform cell tessellation
vtkGenericEdgeTable * EdgeTable
vtkCellArray * TessellateCellArray
void PrintSelf(ostream &os, vtkIndent indent)
vtkGenericAttributeCollection * AttributeCollection
virtual void Triangulate(vtkGenericAdaptorCell *cell, vtkGenericAttributeCollection *att, vtkDoubleArray *points, vtkCellArray *cellArray, vtkPointData *internalPd)=0
dynamic, self-adjusting array of double
vtkDoubleArray * TessellatePoints
vtkPointData * TessellatePointData
vtkCellArray * Connectivity
a simple class to control print indentation
virtual void Tessellate(vtkGenericAdaptorCell *cell, vtkGenericAttributeCollection *att, vtkDoubleArray *points, vtkCellArray *cellArray, vtkPointData *internalPd)=0
list of point or cell ids
virtual void Initialize(vtkGenericDataSet *ds)=0
int CurrentSubdivisionLevel
Objects that compute error during cell tessellation.
object to represent cell connectivity
vtkGenericDataSet * DataSet