50 #ifndef vtkIncrementalOctreePointLocator_h
51 #define vtkIncrementalOctreePointLocator_h
80 vtkSetClampMacro( MaxPointsPerLeaf,
int, 16, 256 );
81 vtkGetMacro( MaxPointsPerLeaf,
int );
86 vtkSetMacro( BuildCubicOctree,
int );
87 vtkGetMacro( BuildCubicOctree,
int );
88 vtkBooleanMacro( BuildCubicOctree,
int );
94 vtkGetObjectMacro( LocatorPoints,
vtkPoints );
104 virtual void GetBounds(
double * bounds );
113 int GetNumberOfPoints();
170 (
double radius,
const double x[3],
double & dist2 );
180 vtkIdType FindClosestPointWithinSquaredRadius
181 (
double radius2,
const double x[3],
double & dist2 );
191 (
double R,
const double x[3],
vtkIdList * result );
200 void FindPointsWithinSquaredRadius
201 (
double R2,
const double x[3],
vtkIdList * result );
211 (
int N,
const double x[3],
vtkIdList * result );
287 void InsertPointWithoutChecking
299 int BuildCubicOctree;
300 int MaxPointsPerLeaf;
301 double InsertTolerance2;
302 double OctreeMaxDimSize;
322 const double pnt[3] );
333 const double point[3],
double * dist2 );
350 double * minDist2,
const double * refDist2 );
368 vtkIdType FindClosestPointInSphereWithoutTolerance(
const double point[3],
396 vtkIdType FindClosestPointInSphereWithTolerance(
const double point[3],
421 vtkIdType IsInsertedPointForZeroTolerance
434 vtkIdType IsInsertedPointForNonZeroTolerance
445 const double point[3] );
455 vtkIdType FindDuplicateFloatTypePointInVisitedLeafNode
466 vtkIdType FindDuplicateDoubleTypePointInVisitedLeafNode
virtual void FreeSearchStructure()=0
virtual void Initialize()
virtual vtkIdType FindClosestPointWithinRadius(double radius, const double x[3], double &dist2)=0
virtual int InsertUniquePoint(const double x[3], vtkIdType &ptId)=0
virtual vtkIdType IsInsertedPoint(double x, double y, double z)=0
Abstract class in support of both point location and point insertion.
virtual double * GetBounds()
void PrintSelf(ostream &os, vtkIndent indent)
concrete dataset represents vertices, lines, polygons, and triangle strips
virtual int InitPointInsertion(vtkPoints *newPts, const double bounds[6])=0
a simple class to control print indentation
list of point or cell ids
Octree node constituting incremental octree (in support of both point location and point insertion) ...
virtual void FindPointsWithinRadius(double R, const double x[3], vtkIdList *result)=0
virtual void FindClosestNPoints(int N, const double x[3], vtkIdList *result)=0
object to represent cell connectivity
virtual vtkIdType InsertNextPoint(const double x[3])=0
virtual vtkIdType FindClosestInsertedPoint(const double x[3])=0
virtual double * GetBounds()
virtual vtkIdType FindClosestPoint(const double x[3])=0
virtual void BuildLocator()=0
virtual void InsertPoint(vtkIdType ptId, const double x[3])=0
virtual void GenerateRepresentation(int level, vtkPolyData *pd)=0
#define VTKCOMMONDATAMODEL_EXPORT
represent and manipulate 3D points
Incremental octree in support of both point location and point insertion.