86 #ifndef vtkDecimatePro_h
87 #define vtkDecimatePro_h
89 #include "vtkFiltersCoreModule.h"
123 vtkSetClampMacro(TargetReduction,
double,0.0,1.0);
124 vtkGetMacro(TargetReduction,
double);
134 vtkGetMacro(PreserveTopology,
int);
144 vtkSetClampMacro(FeatureAngle,
double,0.0,180.0);
145 vtkGetMacro(FeatureAngle,
double);
156 vtkGetMacro(Splitting,
int);
166 vtkSetClampMacro(SplitAngle,
double,0.0,180.0);
167 vtkGetMacro(SplitAngle,
double);
180 vtkGetMacro(PreSplitMesh,
int);
192 vtkGetMacro(MaximumError,
double);
205 vtkGetMacro(AccumulateError,
int);
216 vtkGetMacro(ErrorIsAbsolute,
int);
224 vtkGetMacro(AbsoluteError,
double);
233 vtkGetMacro(BoundaryVertexDeletion,
int);
245 vtkGetMacro(Degree,
int);
254 vtkSetClampMacro(InflectionPointRatio,
double,1.001,
VTK_DOUBLE_MAX);
255 vtkGetMacro(InflectionPointRatio,
double);
274 void GetInflectionPoints(
double *inflectionPoints);
283 double *GetInflectionPoints();
292 vtkGetMacro(OutputPointsPrecision,
int);
301 double TargetReduction;
304 double AbsoluteError;
310 int BoundaryVertexDeletion;
311 int PreserveTopology;
313 double InflectionPointRatio;
315 int OutputPointsPrecision;
322 int EvaluateVertex(
vtkIdType ptId,
unsigned short int numTris,
326 int IsValidSplit(
int index);
329 void SplitVertex(
vtkIdType ptId,
int type,
unsigned short int numTris,
333 void DistributeError(
double error);
363 {this->MaxId = -1; this->Array =
new LocalVertex[sz];};
366 delete [] this->Array;
370 {this->MaxId++; this->Array[this->MaxId] = v;};
383 {this->MaxId = -1; this->Array =
new LocalTri[sz];};
386 delete [] this->Array;
390 {this->MaxId++; this->Array[this->MaxId] = t;};
401 void Insert(
vtkIdType id,
double error= -1.0);
402 int Pop(
double &error);
425 double TheSplitAngle;
LocalTri & GetTriangle(vtkIdType i)
void InsertNextTriangle(LocalTri &t)
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)
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
VertexArray(const vtkIdType sz)
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
reduce the number of triangles in a mesh
vtkIdType GetNumberOfVertices()
vtkIdType GetNumberOfTriangles()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.