96 #ifndef __vtkDelaunay3D_h
97 #define __vtkDelaunay3D_h
99 #include "vtkFiltersCoreModule.h"
100 #include "vtkUnstructuredGridAlgorithm.h"
103 class vtkPointLocator;
107 class vtkIncrementalPointLocator;
109 class VTKFILTERSCORE_EXPORT
vtkDelaunay3D :
public vtkUnstructuredGridAlgorithm
113 void PrintSelf(ostream& os, vtkIndent indent);
124 vtkSetClampMacro(Alpha,
double,0.0,VTK_DOUBLE_MAX);
125 vtkGetMacro(Alpha,
double);
132 vtkSetClampMacro(Tolerance,
double,0.0,1.0);
133 vtkGetMacro(Tolerance,
double);
139 vtkSetClampMacro(Offset,
double,2.5,VTK_DOUBLE_MAX);
140 vtkGetMacro(Offset,
double);
148 vtkSetMacro(BoundingTriangulation,
int);
149 vtkGetMacro(BoundingTriangulation,
int);
150 vtkBooleanMacro(BoundingTriangulation,
int);
156 void SetLocator(vtkIncrementalPointLocator *locator);
157 vtkGetObjectMacro(Locator,vtkIncrementalPointLocator);
162 void CreateDefaultLocator();
175 vtkUnstructuredGrid *InitPointInsertion(
double center[3],
double length,
176 vtkIdType numPts, vtkPoints* &pts);
189 void InsertPoint(vtkUnstructuredGrid *Mesh, vtkPoints *points,
190 vtkIdType
id,
double x[3], vtkIdList *holeTetras);
197 void EndPointInsertion();
200 unsigned long GetMTime();
206 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
216 int FindTetra(vtkUnstructuredGrid *Mesh,
double x[3], vtkIdType tetId,
218 int InSphere(
double x[3], vtkIdType tetraId);
219 void InsertTetra(vtkUnstructuredGrid *Mesh, vtkPoints *pts,
228 vtkIdType FindEnclosingFaces(
double x[3], vtkUnstructuredGrid *Mesh,
229 vtkIdList *tetras, vtkIdList *faces,
230 vtkIncrementalPointLocator *Locator);
232 virtual int FillInputPortInformation(
int, vtkInformation*);
236 vtkIdList *BoundaryPts;
237 vtkIdList *CheckedTetras;
238 vtkIdList *NeiTetras;
int NumberOfDuplicatePoints
create 3D Delaunay triangulation of input points
vtkIncrementalPointLocator * Locator
vtkTetraArray * TetraArray
int BoundingTriangulation