70 #ifndef vtkGreedyTerrainDecimation_h 71 #define vtkGreedyTerrainDecimation_h 73 #include "vtkFiltersHybridModule.h" 84 class vtkGreedyTerrainDecimationTerrainInfoType;
85 class vtkGreedyTerrainDecimationPointInfoType;
87 #define VTK_ERROR_NUMBER_OF_TRIANGLES 0 88 #define VTK_ERROR_SPECIFIED_REDUCTION 1 89 #define VTK_ERROR_ABSOLUTE 2 90 #define VTK_ERROR_RELATIVE 3 111 vtkGetMacro(ErrorMeasure,
int);
130 vtkGetMacro(NumberOfTriangles,
vtkIdType);
139 vtkSetClampMacro(Reduction,
double,0.0,1.0);
140 vtkGetMacro(Reduction,
double);
150 vtkGetMacro(AbsoluteError,
double);
161 vtkGetMacro(RelativeError,
double);
171 vtkBooleanMacro(BoundaryVertexDeletion,
vtkTypeBool);
192 void ComputePointNormal(
int i,
int j,
float n[3]);
226 virtual int SatisfiesErrorMeasure(
double error);
229 void InsertBoundaryVertices();
238 void GetTerrainPoint(
int i,
int j,
double x[3]);
239 void ComputeImageCoordinates(
vtkIdType inputPtId,
int ij[2]);
240 int InCircle (
double x[3],
double x1[3],
double x2[3],
double x3[3]);
246 void UpdateTriangles(
vtkIdType meshPtId);
248 void UpdateTriangle(
vtkIdType triId,
int ij1[2],
int ij2[2],
int ij3[2],
double h[4]);
250 int CharacterizeTriangle(
int ij1[2],
int ij2[2],
int ij[3],
251 int* &min,
int* &
max,
int* &midL,
int* &midR,
252 int* &mid,
int mid2[2],
double h[3],
double &hMin,
double &hMax,
253 double &hL,
double &hR);
#define VTK_ERROR_SPECIFIED_REDUCTION
vtkTypeBool BoundaryVertexDeletion
represent and manipulate point attribute data
vtkIdType NumberOfTriangles
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
vtkPriorityQueue * TerrainError
dynamic, self-adjusting array of float
vtkGreedyTerrainDecimationPointInfoType * PointInfo
void SetErrorMeasureToAbsoluteError()
Specify how to terminate the algorithm: either as an absolute number of triangles, a relative number of triangles (normalized by the full resolution mesh), an absolute error (in the height field), or relative error (normalized by the length of the diagonal of the image).
concrete dataset represents vertices, lines, polygons, and triangle strips
void GetPoint(const int i, const int j, const int k, double pnt[3])
dynamic, self-adjusting array of double
a list of ids arranged in priority order
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
#define VTK_ERROR_ABSOLUTE
void SetErrorMeasureToRelativeError()
Specify how to terminate the algorithm: either as an absolute number of triangles, a relative number of triangles (normalized by the full resolution mesh), an absolute error (in the height field), or relative error (normalized by the length of the diagonal of the image).
a simple class to control print indentation
list of point or cell ids
abstract superclass for arrays of numeric data
vtkGreedyTerrainDecimationTerrainInfoType * TerrainInfo
void SetErrorMeasureToNumberOfTriangles()
Specify how to terminate the algorithm: either as an absolute number of triangles, a relative number of triangles (normalized by the full resolution mesh), an absolute error (in the height field), or relative error (normalized by the length of the diagonal of the image).
#define VTK_ERROR_NUMBER_OF_TRIANGLES
void SetErrorMeasureToSpecifiedReduction()
Specify how to terminate the algorithm: either as an absolute number of triangles, a relative number of triangles (normalized by the full resolution mesh), an absolute error (in the height field), or relative error (normalized by the length of the diagonal of the image).
#define VTK_ERROR_RELATIVE
vtkIdType MaximumNumberOfTriangles
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
reduce height field (represented as image) to reduced TIN
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkTypeBool ComputeNormals