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);
127 vtkGetMacro(NumberOfTriangles,
vtkIdType);
136 vtkSetClampMacro(Reduction,
double,0.0,1.0);
137 vtkGetMacro(Reduction,
double);
147 vtkGetMacro(AbsoluteError,
double);
158 vtkGetMacro(RelativeError,
double);
167 vtkGetMacro(BoundaryVertexDeletion,
int);
176 vtkGetMacro(ComputeNormals,
int);
189 void ComputePointNormal(
int i,
int j,
float n[3]);
223 virtual int SatisfiesErrorMeasure(
double error);
226 void InsertBoundaryVertices();
235 void GetTerrainPoint(
int i,
int j,
double x[3]);
236 void ComputeImageCoordinates(
vtkIdType inputPtId,
int ij[2]);
237 int InCircle (
double x[3],
double x1[3],
double x2[3],
double x3[3]);
243 void UpdateTriangles(
vtkIdType meshPtId);
245 void UpdateTriangle(
vtkIdType triId,
int ij1[2],
int ij2[2],
int ij3[2],
double h[4]);
247 int CharacterizeTriangle(
int ij1[2],
int ij2[2],
int ij[3],
248 int* &min,
int* &
max,
int* &midL,
int* &midR,
249 int* &mid,
int mid2[2],
double h[3],
double &hMin,
double &hMax,
250 double &hL,
double &hR);
#define VTK_ERROR_SPECIFIED_REDUCTION
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).
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
#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.
int BoundaryVertexDeletion
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
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.