80 #ifndef vtkDecimatePro_h
81 #define vtkDecimatePro_h
83 #include "vtkFiltersCoreModule.h"
117 vtkSetClampMacro(TargetReduction,
double,0.0,1.0);
118 vtkGetMacro(TargetReduction,
double);
138 vtkSetClampMacro(FeatureAngle,
double,0.0,180.0);
139 vtkGetMacro(FeatureAngle,
double);
160 vtkSetClampMacro(SplitAngle,
double,0.0,180.0);
161 vtkGetMacro(SplitAngle,
double);
186 vtkGetMacro(MaximumError,
double);
209 vtkSetMacro(ErrorIsAbsolute,
int);
210 vtkGetMacro(ErrorIsAbsolute,
int);
218 vtkGetMacro(AbsoluteError,
double);
228 vtkBooleanMacro(BoundaryVertexDeletion,
vtkTypeBool);
239 vtkGetMacro(Degree,
int);
248 vtkSetClampMacro(InflectionPointRatio,
double,1.001,
VTK_DOUBLE_MAX);
249 vtkGetMacro(InflectionPointRatio,
double);
268 void GetInflectionPoints(
double *inflectionPoints);
277 double *GetInflectionPoints();
285 vtkSetMacro(OutputPointsPrecision,
int);
286 vtkGetMacro(OutputPointsPrecision,
int);
316 int EvaluateVertex(
vtkIdType ptId,
unsigned short int numTris,
320 int IsValidSplit(
int index);
323 void SplitVertex(
vtkIdType ptId,
int type,
unsigned short int numTris,
327 void DistributeError(
double error);
357 {this->MaxId = -1; this->Array =
new LocalVertex[sz];};
360 delete [] this->Array;
364 {this->MaxId++; this->Array[this->MaxId] = v;};
377 {this->MaxId = -1; this->Array =
new LocalTri[sz];};
380 delete [] this->Array;
384 {this->MaxId++; this->Array[this->MaxId] = t;};
395 void Insert(
vtkIdType id,
double error= -1.0);
396 int Pop(
double &error);
419 double TheSplitAngle;