Go to the documentation of this file.
51 #ifndef vtkIncrementalOctreePointLocator_h
52 #define vtkIncrementalOctreePointLocator_h
54 #include "vtkCommonDataModelModule.h"
83 vtkSetClampMacro( MaxPointsPerLeaf,
int, 16, 256 );
84 vtkGetMacro( MaxPointsPerLeaf,
int );
195 (
double radius,
const double x[3],
double & dist2 )
override;
206 (
double radius2,
const double x[3],
double & dist2 );
215 (
double R,
const double x[3],
vtkIdList * result )
override;
224 (
double R2,
const double x[3],
vtkIdList * result );
233 (
int N,
const double x[3],
vtkIdList * result )
override;
327 int MaxPointsPerLeaf;
328 double InsertTolerance2;
329 double OctreeMaxDimSize;
351 const double pnt[3] );
361 const double point[3],
double * dist2 );
377 double * minDist2,
const double * refDist2 );
394 vtkIdType FindClosestPointInSphereWithoutTolerance(
const double point[3],
420 vtkIdType FindClosestPointInSphereWithTolerance(
const double point[3],
443 vtkIdType IsInsertedPointForZeroTolerance
455 vtkIdType IsInsertedPointForNonZeroTolerance
466 const double point[3] );
475 vtkIdType FindDuplicateFloatTypePointInVisitedLeafNode
485 vtkIdType FindDuplicateDoubleTypePointInVisitedLeafNode
represent and manipulate 3D points
void FindPointsWithinSquaredRadius(double R2, const double x[3], vtkIdList *result)
Find all points within a squared radius R2 relative to a given point x.
virtual vtkIdType IsInsertedPoint(double x, double y, double z)=0
Determine whether or not a given point has been inserted.
double * GetBounds() override
Get the spatial bounding box of the octree.
virtual vtkIdType FindClosestPoint(double x, double y, double z)
Given a point (x, y, z), return the id of the closest point.
static vtkIncrementalOctreePointLocator * New()
int GetNumberOfPoints()
Get the number of points maintained by the octree.
void InsertPointWithoutChecking(const double point[3], vtkIdType &pntId, int insert)
"Insert" a point to the octree without any checking.
virtual double * GetBounds()
Provide an accessor to the bounds.
void BuildLocator() override
Load points from a dataset to construct an octree for point location.
int InsertUniquePoint(const double point[3], vtkIdType &pntId) override
Insert a point to the octree unless there has been a duplciate point.
vtkIncrementalOctreePointLocator()
void GenerateRepresentation(int nodeLevel, vtkPolyData *polysData) override
Create a polygonal representation of the octree boundary (from the root node to a specified level).
vtkIdType FindClosestPointWithinSquaredRadius(double radius2, const double x[3], double &dist2)
Given a point x and a squared radius radius2, return the id of the closest point within the radius an...
void InsertPoint(vtkIdType ptId, const double x[3]) override
Insert a given point into the octree with a specified point index ptId.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Incremental octree in support of both point location and point insertion.
vtkIdType FindClosestPointWithinRadius(double radius, const double x[3], double &dist2) override
Given a point x and a radius, return the id of the closest point within the radius and the associated...
int InitPointInsertion(vtkPoints *points, const double bounds[6]) override
Initialize the point insertion process.
a simple class to control print indentation
object to represent cell connectivity
vtkIdType InsertNextPoint(const double x[3]) override
Insert a given point into the octree and return the point index.
Abstract class in support of both point location and point insertion.
list of point or cell ids
void GetBounds(double *bounds) override
Get the spatial bounding box of the octree.
vtkIdType IsInsertedPoint(double x, double y, double z) override
Determine whether or not a given point has been inserted into the octree.
Octree node constituting incremental octree (in support of both point location and point insertion)
int InitPointInsertion(vtkPoints *points, const double bounds[6], vtkIdType estSize) override
Initialize the point insertion process.
~vtkIncrementalOctreePointLocator() override
vtkIdType IsInsertedPoint(const double x[3]) override
Determine whether or not a given point has been inserted into the octree.
void FindClosestNPoints(int N, const double x[3], vtkIdList *result) override
Find the closest N points to a given point.
void FindPointsWithinRadius(double R, const double x[3], vtkIdList *result) override
Find all points within a radius R relative to a given point x.
vtkIdType FindClosestPoint(const double x[3]) override
Given a point x, return the id of the closest point.
void FreeSearchStructure() override
Delete the octree search structure.
virtual vtkIdType FindClosestPoint(double x, double y, double z, double *miniDist2)
Given a point (x, y, z), return the id of the closest point and the associated minimum squared distan...
concrete dataset represents vertices, lines, polygons, and triangle strips
void Initialize() override
Delete the octree search structure.
virtual void FreeSearchStructure()=0
Free the memory required for the spatial data structure.
virtual vtkIdType FindClosestPoint(const double x[3], double *miniDist2)
Given a point x, return the id of the closest point and the associated minimum squared distance (via ...
vtkIdType FindClosestInsertedPoint(const double x[3]) override
Given a point x assumed to be covered by the octree, return the index of the closest in-octree point ...