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.