Go to the documentation of this file.
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);
170 vtkGetMacro(BoundaryVertexDeletion,
int);
179 vtkGetMacro(ComputeNormals,
int);
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);
vtkGreedyTerrainDecimationPointInfoType * PointInfo
void SetErrorMeasureToNumberOfTriangles()
vtkIdType NumberOfTriangles
int BoundaryVertexDeletion
represent and manipulate point attribute data
dynamic, self-adjusting array of float
a list of ids arranged in priority order
#define VTK_ERROR_ABSOLUTE
abstract superclass for arrays of numeric data
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetErrorMeasureToAbsoluteError()
void GetPoint(const int i, const int j, const int k, double pnt[3])
vtkIdType MaximumNumberOfTriangles
reduce height field (represented as image) to reduced TIN
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
vtkPriorityQueue * TerrainError
a simple class to control print indentation
list of point or cell ids
vtkGreedyTerrainDecimationTerrainInfoType * TerrainInfo
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
void SetErrorMeasureToSpecifiedReduction()
concrete dataset represents vertices, lines, polygons, and triangle strips
void SetErrorMeasureToRelativeError()
dynamic, self-adjusting array of double
#define VTK_ERROR_NUMBER_OF_TRIANGLES
static vtkPolyDataAlgorithm * New()
#define VTK_ERROR_RELATIVE
Superclass for algorithms that produce only polydata as output.
#define VTK_ERROR_SPECIFIED_REDUCTION