85 #ifndef __vtkDecimatePro_h
86 #define __vtkDecimatePro_h
244 void GetInflectionPoints(
double *inflectionPoints);
251 double *GetInflectionPoints();
288 int EvaluateVertex(
vtkIdType ptId,
unsigned short int numTris,
292 int IsValidSplit(
int index);
295 void SplitVertex(
vtkIdType ptId,
int type,
unsigned short int numTris,
299 void DistributeError(
double error);
331 {this->MaxId = -1; this->Array =
new LocalVertex[sz];};
336 delete [] this->Array;
341 {this->MaxId++; this->Array[this->MaxId] =
v;};
354 {this->MaxId = -1; this->Array =
new LocalTri[sz];};
359 delete [] this->Array;
364 {this->MaxId++; this->Array[this->MaxId] =
t;};
377 void Insert(
vtkIdType id,
double error= -1.0);
378 int Pop(
double &error);
401 double TheSplitAngle;
GLuint GLuint GLsizei GLenum type
LocalTri & GetTriangle(vtkIdType i)
void InsertNextTriangle(LocalTri &t)
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
#define VTKFILTERSCORE_EXPORT
#define vtkGetMacro(name, type)
#define vtkSetClampMacro(name, type, min, max)
concrete dataset represents vertices, lines, polygons, and triangle strips
#define vtkTypeMacro(thisClass, superclass)
dynamic, self-adjusting array of double
an list of ids arranged in priority order
LocalVertex * LocalVertexPtr
static vtkPolyDataAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent)
GLint GLint GLint GLint GLint x
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)
double InflectionPointRatio
VertexArray(const vtkIdType sz)
vtkDoubleArray * InflectionPoints
int BoundaryVertexDeletion
#define vtkBooleanMacro(name, type)
int OutputPointsPrecision
reduce the number of triangles in a mesh
vtkIdType GetNumberOfVertices()
vtkIdType GetNumberOfTriangles()
vtkPriorityQueue * EdgeLengths
#define vtkSetMacro(name, type)