47 #ifndef __vtkSimpleCellTessellator_h
48 #define __vtkSimpleCellTessellator_h
50 #include "vtkCommonDataModelModule.h"
53 class vtkTriangleTile;
57 class vtkGenericEdgeTable;
59 class vtkGenericAttributeCollection;
61 class vtkGenericCellIterator;
63 class vtkOrderedTriangulator;
75 void PrintSelf(ostream& os, vtkIndent indent);
91 vtkGenericAttributeCollection *att,
93 vtkDoubleArray *points,
95 vtkPointData *internalPd);
106 vtkGenericAttributeCollection *att,
107 vtkDoubleArray *points,
109 vtkPointData *internalPd );
120 vtkGenericAttributeCollection *att,
121 vtkDoubleArray *points,
123 vtkPointData *internalPd);
142 int GetFixedSubdivisions();
150 int GetMaxSubdivisionLevel();
154 int GetMaxAdaptiveSubdivisions();
160 void SetFixedSubdivisions(
int level);
166 void SetMaxSubdivisionLevel(
int level);
175 void SetSubdivisionLevels(
int fixed,
186 void CopyPoint(vtkIdType pointId);
191 void InsertEdgesIntoEdgeTable( vtkTriangleTile &tri );
192 void RemoveEdgesFromEdgeTable( vtkTriangleTile &tri );
193 void InsertPointsIntoEdgeTable( vtkTriangleTile &tri );
195 void InsertEdgesIntoEdgeTable( vtkTetraTile &tetra );
196 void RemoveEdgesFromEdgeTable( vtkTetraTile &tetra );
209 void InitTetraTile(vtkTetraTile &root,
230 vtkGenericAttributeCollection *att,
231 vtkDoubleArray *points,
233 vtkPointData *internalPd);
241 void AllocateScalars(
int size);
273 int FindEdgeReferenceCount(
double p1[3],
double p2[3],
274 vtkIdType &e1, vtkIdType &e2);
276 int GetNumberOfCellsUsingFace(
int faceId );
277 int GetNumberOfCellsUsingEdge(
int edgeId );
284 int IsEdgeOnFace(
double p1[3],
double p2[3]);
291 int FindEdgeParent2D(
double p1[3],
double p2[3],
int &localId);
299 int FindEdgeParent(
double p1[3],
double p2[3],
int &localId);
303 void AllocatePointIds(
int size);
309 int FacesAreEqual(
int *originalFace,
354 friend class vtkTetraTile;
355 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
vtkDoubleArray * TessellatePoints
vtkPointData * TessellatePointData
vtkCellArray * Connectivity
virtual void Tessellate(vtkGenericAdaptorCell *cell, vtkGenericAttributeCollection *att, vtkDoubleArray *points, vtkCellArray *cellArray, vtkPointData *internalPd)=0
virtual void Initialize(vtkGenericDataSet *ds)=0
int CurrentSubdivisionLevel
Objects that compute error during cell tessellation.
object to represent cell connectivity
vtkGenericDataSet * DataSet