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,...
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 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,...
#define VTK_ERROR_NUMBER_OF_TRIANGLES
void SetErrorMeasureToSpecifiedReduction()
Specify how to terminate the algorithm: either as an absolute number of triangles,...
#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