67 #ifndef vtkGreedyTerrainDecimation_h 68 #define vtkGreedyTerrainDecimation_h 70 #include "vtkFiltersHybridModule.h" 81 class vtkGreedyTerrainDecimationTerrainInfoType;
82 class vtkGreedyTerrainDecimationPointInfoType;
84 #define VTK_ERROR_NUMBER_OF_TRIANGLES 0 85 #define VTK_ERROR_SPECIFIED_REDUCTION 1 86 #define VTK_ERROR_ABSOLUTE 2 87 #define VTK_ERROR_RELATIVE 3 108 vtkGetMacro(ErrorMeasure,
int);
129 vtkGetMacro(NumberOfTriangles,
vtkIdType);
138 vtkSetClampMacro(Reduction,
double, 0.0, 1.0);
139 vtkGetMacro(Reduction,
double);
149 vtkGetMacro(AbsoluteError,
double);
160 vtkGetMacro(RelativeError,
double);
170 vtkBooleanMacro(BoundaryVertexDeletion,
vtkTypeBool);
191 void ComputePointNormal(
int i,
int j,
float n[3]);
225 virtual int SatisfiesErrorMeasure(
double error);
228 void InsertBoundaryVertices();
237 void GetTerrainPoint(
int i,
int j,
double x[3]);
238 void ComputeImageCoordinates(
vtkIdType inputPtId,
int ij[2]);
239 int InCircle(
double x[3],
double x1[3],
double x2[3],
double x3[3]);
244 void UpdateTriangles(
vtkIdType meshPtId);
246 void UpdateTriangle(
vtkIdType triId,
int ij1[2],
int ij2[2],
int ij3[2],
double h[4]);
248 int CharacterizeTriangle(
int ij1[2],
int ij2[2],
int ij[3],
int*& min,
int*&
max,
int*& midL,
249 int*& midR,
int*& mid,
int mid2[2],
double h[3],
double& hMin,
double& hMax,
double& hL,
#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