86 #ifndef vtkDecimatePro_h
87 #define vtkDecimatePro_h
89 #include "vtkFiltersCoreModule.h"
123 vtkSetClampMacro(TargetReduction,
double,0.0,1.0);
124 vtkGetMacro(TargetReduction,
double);
144 vtkSetClampMacro(FeatureAngle,
double,0.0,180.0);
145 vtkGetMacro(FeatureAngle,
double);
166 vtkSetClampMacro(SplitAngle,
double,0.0,180.0);
167 vtkGetMacro(SplitAngle,
double);
192 vtkGetMacro(MaximumError,
double);
215 vtkSetMacro(ErrorIsAbsolute,
int);
216 vtkGetMacro(ErrorIsAbsolute,
int);
224 vtkGetMacro(AbsoluteError,
double);
234 vtkBooleanMacro(BoundaryVertexDeletion,
vtkTypeBool);
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();
291 vtkSetMacro(OutputPointsPrecision,
int);
292 vtkGetMacro(OutputPointsPrecision,
int);
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;