50 #ifndef __vtkIncrementalOctreePointLocator_h
51 #define __vtkIncrementalOctreePointLocator_h
79 vtkSetClampMacro( MaxPointsPerLeaf,
int, 16, 256 );
80 vtkGetMacro( MaxPointsPerLeaf,
int );
85 vtkSetMacro( BuildCubicOctree,
int );
86 vtkGetMacro( BuildCubicOctree,
int );
87 vtkBooleanMacro( BuildCubicOctree,
int );
93 vtkGetObjectMacro( LocatorPoints,
vtkPoints );
103 virtual void GetBounds(
double * bounds );
112 int GetNumberOfPoints();
169 (
double radius,
const double x[3],
double & dist2 );
179 vtkIdType FindClosestPointWithinSquaredRadius
180 (
double radius2,
const double x[3],
double & dist2 );
190 (
double R,
const double x[3],
vtkIdList * result );
199 void FindPointsWithinSquaredRadius
200 (
double R2,
const double x[3],
vtkIdList * result );
210 (
int N,
const double x[3],
vtkIdList * result );
286 void InsertPointWithoutChecking
298 int BuildCubicOctree;
299 int MaxPointsPerLeaf;
300 double InsertTolerance2;
301 double OctreeMaxDimSize;
321 const double pnt[3] );
332 const double point[3],
double * dist2 );
349 double * minDist2,
const double * refDist2 );
367 vtkIdType FindClosestPointInSphereWithoutTolerance(
const double point[3],
395 vtkIdType FindClosestPointInSphereWithTolerance(
const double point[3],
420 vtkIdType IsInsertedPointForZeroTolerance
433 vtkIdType IsInsertedPointForNonZeroTolerance
444 const double point[3] );
454 vtkIdType FindDuplicateFloatTypePointInVisitedLeafNode
465 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
represent and manipulate 3D points
Incremental octree in support of both point location and point insertion.