71#ifndef vtkDecimatePro_h
72#define vtkDecimatePro_h
74#include "vtkFiltersCoreModule.h"
79VTK_ABI_NAMESPACE_BEGIN
391 void Insert(
vtkIdType id,
double error = -1.0);
392 int Pop(
double& error);
415 double TheSplitAngle;
TriArray(const vtkIdType sz)
void InsertNextTriangle(LocalTri &t)
vtkIdType GetNumberOfTriangles()
LocalTri & GetTriangle(vtkIdType i)
vtkIdType GetNumberOfVertices()
LocalVertex & GetVertex(vtkIdType i)
VertexArray(const vtkIdType sz)
void InsertNextVertex(LocalVertex &v)
reduce the number of triangles in a mesh
dynamic, self-adjusting array of double
list of point or cell ids
a simple class to control print indentation
concrete dataset represents vertices, lines, polygons, and triangle strips
a list of ids arranged in priority order
static vtkBiQuadraticQuadraticHexahedron * New()
void PrintSelf(ostream &os, vtkIndent indent) override
void Reset()
Initializes the field list to empty.
int EvaluateVertex(vtkIdType ptId, vtkIdType numTris, vtkIdType *tris, vtkIdType fedges[2])
vtkTypeBool AccumulateError
void SplitLoop(vtkIdType fedges[2], vtkIdType &n1, vtkIdType *l1, vtkIdType &n2, vtkIdType *l2)
int IsValidSplit(int index)
vtkIdType FindSplit(int type, vtkIdType fedges[2], vtkIdType &pt1, vtkIdType &pt2, vtkIdList *CollapseTris)
void DistributeError(double error)
~vtkDecimatePro() override
vtkTypeBool BoundaryVertexDeletion
int CollapseEdge(int type, vtkIdType ptId, vtkIdType collapseId, vtkIdType pt1, vtkIdType pt2, vtkIdList *CollapseTris)
vtkDoubleArray * InflectionPoints
double InflectionPointRatio
vtkIdType GetNumberOfInflectionPoints()
Get the number of inflection points.
vtkTypeBool PreserveTopology
vtkPriorityQueue * EdgeLengths
int OutputPointsPrecision
void SplitVertex(vtkIdType ptId, int type, vtkIdType numTris, vtkIdType *tris, int insert)
LocalVertex * LocalVertexPtr
double * GetInflectionPoints()
Get a list of inflection points.
#define vtkPolyDataAlgorithm
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override