69 #ifndef vtkGreedyTerrainDecimation_h
70 #define vtkGreedyTerrainDecimation_h
83 class vtkGreedyTerrainDecimationTerrainInfoType;
84 class vtkGreedyTerrainDecimationPointInfoType;
86 #define VTK_ERROR_NUMBER_OF_TRIANGLES 0
87 #define VTK_ERROR_SPECIFIED_REDUCTION 1
88 #define VTK_ERROR_ABSOLUTE 2
89 #define VTK_ERROR_RELATIVE 3
177 void ComputePointNormal(
int i,
int j,
float n[3]);
211 virtual int SatisfiesErrorMeasure(
double error);
214 void InsertBoundaryVertices();
223 void GetTerrainPoint(
int i,
int j,
double x[3]);
224 void ComputeImageCoordinates(
vtkIdType inputPtId,
int ij[2]);
225 int InCircle (
double x[3],
double x1[3],
double x2[3],
double x3[3]);
231 void UpdateTriangles(
vtkIdType meshPtId);
233 void UpdateTriangle(
vtkIdType triId,
int ij1[2],
int ij2[2],
int ij3[2],
double h[4]);
235 int CharacterizeTriangle(
int ij1[2],
int ij2[2],
int ij[3],
236 int* &min,
int* &
max,
int* &midL,
int* &midR,
237 int* &mid,
int mid2[2],
double h[3],
double &hMin,
double &hMax,
238 double &hL,
double &hR);
#define VTK_ERROR_SPECIFIED_REDUCTION
virtual int FillInputPortInformation(int port, vtkInformation *info)
represent and manipulate point attribute data
vtkIdType NumberOfTriangles
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
#define vtkGetMacro(name, type)
vtkPriorityQueue * TerrainError
dynamic, self-adjusting array of float
vtkGreedyTerrainDecimationPointInfoType * PointInfo
void SetErrorMeasureToAbsoluteError()
#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
a list of ids arranged in priority order
static vtkPolyDataAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent)
GLint GLint GLint GLint GLint x
GLint GLint GLsizei GLsizei GLsizei depth
Superclass for algorithms that produce only polydata as output.
#define VTK_ERROR_ABSOLUTE
void SetErrorMeasureToRelativeError()
a simple class to control print indentation
#define VTKFILTERSHYBRID_EXPORT
list of point or cell ids
abstract superclass for arrays of numeric data
vtkGreedyTerrainDecimationTerrainInfoType * TerrainInfo
void SetErrorMeasureToNumberOfTriangles()
#define VTK_ERROR_NUMBER_OF_TRIANGLES
void SetErrorMeasureToSpecifiedReduction()
#define VTK_ERROR_RELATIVE
vtkIdType MaximumNumberOfTriangles
#define vtkBooleanMacro(name, type)
int BoundaryVertexDeletion
reduce height field (represented as image) to reduced TIN
GLfloat GLfloat GLfloat GLfloat h
#define vtkSetMacro(name, type)