48 #ifndef vtkSimpleCellTessellator_h
49 #define vtkSimpleCellTessellator_h
51 #include "vtkCommonDataModelModule.h"
54 class vtkTriangleTile;
161 int GetFixedSubdivisions();
171 int GetMaxSubdivisionLevel();
177 int GetMaxAdaptiveSubdivisions();
185 void SetFixedSubdivisions(
int level);
193 void SetMaxSubdivisionLevel(
int level);
204 void SetSubdivisionLevels(
int fixed,
223 void InsertEdgesIntoEdgeTable( vtkTriangleTile &tri );
224 void RemoveEdgesFromEdgeTable( vtkTriangleTile &tri );
225 void InsertPointsIntoEdgeTable( vtkTriangleTile &tri );
227 void InsertEdgesIntoEdgeTable( vtkTetraTile &tetra );
228 void RemoveEdgesFromEdgeTable( vtkTetraTile &tetra );
246 void InitTetraTile(vtkTetraTile &root,
285 void AllocateScalars(
int size);
327 int FindEdgeReferenceCount(
double p1[3],
double p2[3],
330 int GetNumberOfCellsUsingFace(
int faceId );
331 int GetNumberOfCellsUsingEdge(
int edgeId );
341 int IsEdgeOnFace(
double p1[3],
double p2[3]);
351 int FindEdgeParent2D(
double p1[3],
double p2[3],
int &localId);
362 int FindEdgeParent(
double p1[3],
double p2[3],
int &localId);
368 void AllocatePointIds(
int size);
375 int FacesAreEqual(
int *originalFace,
388 int FixedSubdivisions;
389 int MaxSubdivisionLevel;
390 int CurrentSubdivisionLevel;
420 int PointIdsCapacity;
426 friend class vtkTetraTile;
427 friend class vtkTriangleTile;
represent and manipulate point attribute data
helper class to perform cell tessellation
a collection of attributes
virtual void TessellateFace(vtkGenericAdaptorCell *cell, vtkGenericAttributeCollection *att, vtkIdType index, vtkDoubleArray *points, vtkCellArray *cellArray, vtkPointData *internalPd)=0
Tessellate a face of a 3D `cell'.
helper class to perform cell tessellation
keep track of edges (defined by pair of integer id's)
helper class to generate triangulations
virtual void Triangulate(vtkGenericAdaptorCell *cell, vtkGenericAttributeCollection *att, vtkDoubleArray *points, vtkCellArray *cellArray, vtkPointData *internalPd)=0
Triangulate a 2D `cell'.
dynamic, self-adjusting array of double
iterator used to traverse cells
a simple class to control print indentation
virtual void Tessellate(vtkGenericAdaptorCell *cell, vtkGenericAttributeCollection *att, vtkDoubleArray *points, vtkCellArray *cellArray, vtkPointData *internalPd)=0
Tessellate a 3D `cell'.
list of point or cell ids
a cell that represents an n-sided polygon
virtual void Initialize(vtkGenericDataSet *ds)=0
Initialize the tessellator with a data set `ds'.
Objects that compute error during cell tessellation.
object to represent cell connectivity
defines dataset interface
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.