40#ifndef vtkGenericCellTessellator_h
41#define vtkGenericCellTessellator_h
43#include "vtkCommonDataModelModule.h"
130 vtkGetMacro(Measurement,
int);
131 vtkSetMacro(Measurement,
int);
178 double* leftPoint,
double* midPoint,
double* rightPoint,
double alpha);
object to represent cell connectivity
create and manipulate ordered lists of objects
dynamic, self-adjusting array of double
a collection of attributes
iterator used to traverse cells
helper class to perform cell tessellation
vtkGenericCellTessellator()
virtual void Initialize(vtkGenericDataSet *ds)=0
Initialize the tessellator with a data set ‘ds’.
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...
void SetGenericCell(vtkGenericAdaptorCell *cell)
Send the current cell to error metrics.
~vtkGenericCellTessellator() override
virtual void SetErrorMetrics(vtkCollection *someErrorMetrics)
Specify the list of error metrics used to decide if an edge has to be split or not.
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 Tessellate(vtkGenericAdaptorCell *cell, vtkGenericAttributeCollection *att, vtkDoubleArray *points, vtkCellArray *cellArray, vtkPointData *internalPd)=0
Tessellate 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.
vtkGenericDataSet * DataSet
Dataset to be tessellated.
virtual void Triangulate(vtkGenericAdaptorCell *cell, vtkGenericAttributeCollection *att, vtkDoubleArray *points, vtkCellArray *cellArray, vtkPointData *internalPd)=0
Triangulate a 2D ‘cell’.
void InitErrorMetrics(vtkGenericDataSet *ds)
Init the error metric with the dataset.
vtkCollection * ErrorMetrics
List of error metrics.
void ResetMaxErrors()
Reset the maximal error of each error metric.
void GetMaxErrors(double *errors)
Get the maximum error measured after the fixed subdivision.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
defines dataset interface
a simple class to control print indentation
abstract base class for most VTK objects
represent and manipulate point attribute data