71 #ifndef vtkDecimatePro_h
72 #define vtkDecimatePro_h
74 #include "vtkFiltersCoreModule.h"
79 VTK_ABI_NAMESPACE_BEGIN
109 vtkSetClampMacro(TargetReduction,
double, 0.0, 1.0);
110 vtkGetMacro(TargetReduction,
double);
130 vtkSetClampMacro(FeatureAngle,
double, 0.0, 180.0);
131 vtkGetMacro(FeatureAngle,
double);
152 vtkSetClampMacro(SplitAngle,
double, 0.0, 180.0);
153 vtkGetMacro(SplitAngle,
double);
178 vtkGetMacro(MaximumError,
double);
201 vtkSetMacro(ErrorIsAbsolute,
int);
202 vtkGetMacro(ErrorIsAbsolute,
int);
210 vtkGetMacro(AbsoluteError,
double);
220 vtkBooleanMacro(BoundaryVertexDeletion,
vtkTypeBool);
231 vtkGetMacro(Degree,
int);
240 vtkSetClampMacro(InflectionPointRatio,
double, 1.001,
VTK_DOUBLE_MAX);
241 vtkGetMacro(InflectionPointRatio,
double);
259 void GetInflectionPoints(
double* inflectionPoints);
268 double* GetInflectionPoints();
276 vtkSetMacro(OutputPointsPrecision,
int);
277 vtkGetMacro(OutputPointsPrecision,
int);
310 int IsValidSplit(
int index);
315 void DistributeError(
double error);
355 this->Array[this->MaxId] = v;
379 this->Array[this->MaxId] = t;
391 void Insert(
vtkIdType id,
double error = -1.0);
392 int Pop(
double& error);
415 double TheSplitAngle;
423 VTK_ABI_NAMESPACE_END
vtkTypeBool AccumulateError
vtkTypeBool BoundaryVertexDeletion
LocalTri & GetTriangle(vtkIdType i)
void InsertNextTriangle(LocalTri &t)
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
concrete dataset represents vertices, lines, polygons, and triangle strips
dynamic, self-adjusting array of double
a list of ids arranged in priority order
LocalVertex * LocalVertexPtr
static vtkPolyDataAlgorithm * New()
LocalVertex & GetVertex(vtkIdType i)
TriArray(const vtkIdType sz)
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
list of point or cell ids
void InsertNextVertex(LocalVertex &v)
double InflectionPointRatio
vtkTypeBool PreserveTopology
VertexArray(const vtkIdType sz)
vtkDoubleArray * InflectionPoints
int OutputPointsPrecision
reduce the number of triangles in a mesh
vtkIdType GetNumberOfVertices()
vtkIdType GetNumberOfTriangles()
vtkPriorityQueue * EdgeLengths
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.