50 #ifndef __vtkIncrementalOctreePointLocator_h
51 #define __vtkIncrementalOctreePointLocator_h
53 #include "vtkIncrementalPointLocator.h"
66 void PrintSelf( ostream & os,
vtkIndent indent );
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 );
97 virtual void Initialize() { this->FreeSearchStructure(); }
100 virtual void FreeSearchStructure();
103 virtual void GetBounds(
double * bounds );
108 { this->GetBounds( this->Bounds );
return this->Bounds; }
112 int GetNumberOfPoints();
120 virtual vtkIdType FindClosestInsertedPoint(
const double x[3] );
124 virtual void GenerateRepresentation(
int nodeLevel,
vtkPolyData * polysData );
133 virtual void BuildLocator();
139 virtual vtkIdType FindClosestPoint(
const double x[3] );
145 virtual vtkIdType FindClosestPoint(
double x,
double y,
double z );
152 virtual vtkIdType FindClosestPoint(
const double x[3],
double * miniDist2 );
159 virtual vtkIdType FindClosestPoint(
double x,
double y,
double z,
double * miniDist2 );
168 virtual vtkIdType FindClosestPointWithinRadius
169 (
double radius,
const double x[3],
double & dist2 );
179 vtkIdType FindClosestPointWithinSquaredRadius
180 (
double radius2,
const double x[3],
double & dist2 );
189 virtual void FindPointsWithinRadius
190 (
double R,
const double x[3],
vtkIdList * result );
199 void FindPointsWithinSquaredRadius
200 (
double R2,
const double x[3],
vtkIdList * result );
209 virtual void FindClosestNPoints
210 (
int N,
const double x[3],
vtkIdList * result );
224 virtual int InitPointInsertion(
vtkPoints * points,
const double bounds[6] );
235 virtual int InitPointInsertion(
vtkPoints * points,
const double bounds[6],
243 virtual vtkIdType IsInsertedPoint(
const double x[3] );
249 virtual vtkIdType IsInsertedPoint(
double x,
double y,
double z );
258 virtual int InsertUniquePoint(
const double point[3],
vtkIdType & pntId );
267 virtual void InsertPoint(
vtkIdType ptId,
const double x[3] );
276 virtual vtkIdType InsertNextPoint(
const double x[3] );
286 void InsertPointWithoutChecking
287 (
const double point[3],
vtkIdType & pntId,
int insert );
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],
377 double radius2,
const double point[3],
vtkIdList * idList );
395 vtkIdType FindClosestPointInSphereWithTolerance(
const double point[3],
408 vtkIdType IsInsertedPoint(
const double x[3],
420 vtkIdType IsInsertedPointForZeroTolerance
433 vtkIdType IsInsertedPointForNonZeroTolerance
444 const double point[3] );
454 vtkIdType FindDuplicateFloatTypePointInVisitedLeafNode
465 vtkIdType FindDuplicateDoubleTypePointInVisitedLeafNode
virtual void Initialize()
concrete dataset represents vertices, lines, polygons, and triangle strips
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) ...
object to represent cell connectivity
virtual double * GetBounds()
represent and manipulate 3D points
Incremental octree in support of both point location and point insertion.