130 #ifndef __vtkDelaunay2D_h
131 #define __vtkDelaunay2D_h
133 #include "vtkFiltersCoreModule.h"
134 #include "vtkPolyDataAlgorithm.h"
136 class vtkAbstractTransform;
141 #define VTK_DELAUNAY_XY_PLANE 0
142 #define VTK_SET_TRANSFORM_PLANE 1
143 #define VTK_BEST_FITTING_PLANE 2
149 void PrintSelf(ostream& os, vtkIndent indent);
161 void SetSourceData(vtkPolyData *);
169 void SetSourceConnection(vtkAlgorithmOutput *algOutput);
172 vtkPolyData *GetSource();
179 vtkSetClampMacro(Alpha,
double,0.0,VTK_DOUBLE_MAX);
180 vtkGetMacro(Alpha,
double);
187 vtkSetClampMacro(Tolerance,
double,0.0,1.0);
188 vtkGetMacro(Tolerance,
double);
194 vtkSetClampMacro(Offset,
double,0.75,VTK_DOUBLE_MAX);
195 vtkGetMacro(Offset,
double);
203 vtkSetMacro(BoundingTriangulation,
int);
204 vtkGetMacro(BoundingTriangulation,
int);
205 vtkBooleanMacro(BoundingTriangulation,
int);
217 virtual void SetTransform(vtkAbstractTransform*);
218 vtkGetObjectMacro(Transform, vtkAbstractTransform);
223 vtkSetClampMacro(ProjectionPlaneMode,
int,
225 vtkGetMacro(ProjectionPlaneMode,
int);
232 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
234 vtkAbstractTransform * ComputeBestFittingPlane(vtkPointSet *input);
248 void SetPoint(vtkIdType
id,
double *x)
250 this->Points[idx] = x[0];
251 this->Points[idx+1] = x[1];
252 this->Points[idx+2] = x[2];
255 void GetPoint(vtkIdType
id,
double x[3])
256 {
double *ptr = this->Points + 3*id;
262 int NumberOfDuplicatePoints;
263 int NumberOfDegeneracies;
265 int *RecoverBoundary(vtkPolyData *
source);
266 int RecoverEdge(vtkIdType p1, vtkIdType p2);
267 void FillPolygons(vtkCellArray *polys,
int *triUse);
269 int InCircle (
double x[3],
double x1[3],
double x2[3],
double x3[3]);
270 vtkIdType FindTriangle(
double x[3], vtkIdType ptIds[3], vtkIdType tri,
271 double tol, vtkIdType nei[3], vtkIdList *neighbors);
272 void CheckEdge(vtkIdType ptId,
double x[3], vtkIdType p1, vtkIdType p2,
275 virtual int FillInputPortInformation(
int, vtkInformation*);
vtkAbstractTransform * Transform
#define VTK_BEST_FITTING_PLANE
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
create 2D Delaunay triangulation of input points
#define VTK_DELAUNAY_XY_PLANE
int BoundingTriangulation