Go to the documentation of this file.
40 #ifndef vtkGenericCellTessellator_h
41 #define vtkGenericCellTessellator_h
43 #include "vtkCommonDataModelModule.h"
140 vtkGetMacro(Measurement,
int);
141 vtkSetMacro(Measurement,
int);
190 double *rightPoint,
double alpha);
virtual void Triangulate(vtkGenericAdaptorCell *cell, vtkGenericAttributeCollection *att, vtkDoubleArray *points, vtkCellArray *cellArray, vtkPointData *internalPd)=0
Triangulate a 2D ‘cell’.
represent and manipulate point attribute data
void SetGenericCell(vtkGenericAdaptorCell *cell)
Send the current cell to error metrics.
virtual void Initialize(vtkGenericDataSet *ds)=0
Initialize the tessellator with a data set ‘ds’.
virtual void Tessellate(vtkGenericAdaptorCell *cell, vtkGenericAttributeCollection *att, vtkDoubleArray *points, vtkCellArray *cellArray, vtkPointData *internalPd)=0
Tessellate a 3D ‘cell’.
abstract base class for most VTK objects
iterator used to traverse cells
virtual void SetErrorMetrics(vtkCollection *someErrorMetrics)
Specify the list of error metrics used to decide if an edge has to be split or not.
defines dataset interface
vtkGenericCellTessellator()
void ResetMaxErrors()
Reset the maximal error of each error metric.
void GetMaxErrors(double *errors)
Get the maximum error measured after the fixed subdivision.
create and manipulate ordered lists of objects
helper class to perform cell tessellation
vtkGenericDataSet * DataSet
Dataset to be tessellated.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int RequiresEdgeSubdivision(double *left, double *mid, double *right, double alpha)
Does the edge need to be subdivided according to at least one error metric? The edge is defined by it...
a simple class to control print indentation
object to represent cell connectivity
~vtkGenericCellTessellator() override
virtual void TessellateFace(vtkGenericAdaptorCell *cell, vtkGenericAttributeCollection *att, vtkIdType index, vtkDoubleArray *points, vtkCellArray *cellArray, vtkPointData *internalPd)=0
Tessellate a face of a 3D ‘cell’.
virtual void UpdateMaxError(double *leftPoint, double *midPoint, double *rightPoint, double alpha)
Update the max error of each error metric according to the error at the mid-point.
vtkCollection * ErrorMetrics
List of error metrics.
a collection of attributes
dynamic, self-adjusting array of double
void InitErrorMetrics(vtkGenericDataSet *ds)
Init the error metric with the dataset.