 |
VTK
9.0.1
|
Go to the documentation of this file.
48 #ifndef vtkIncrementalOctreePointLocator_h
49 #define vtkIncrementalOctreePointLocator_h
51 #include "vtkCommonDataModelModule.h"
79 vtkSetClampMacro(MaxPointsPerLeaf,
int, 16, 256);
80 vtkGetMacro(MaxPointsPerLeaf,
int);
97 vtkGetObjectMacro(LocatorPoints,
vtkPoints);
127 int GetNumberOfPoints();
203 vtkIdType FindClosestPointWithinSquaredRadius(
double radius2,
const double x[3],
double& dist2);
219 void FindPointsWithinSquaredRadius(
double R2,
const double x[3],
vtkIdList* result);
308 void InsertPointWithoutChecking(
const double point[3],
vtkIdType& pntId,
int insert);
316 int MaxPointsPerLeaf;
317 double InsertTolerance2;
318 double OctreeMaxDimSize;
362 vtkIdType FindClosestPointInSphere(
const double point[3],
double radius2,
379 vtkIdType FindClosestPointInSphereWithoutTolerance(
387 void FindPointsWithinSquaredRadius(
405 vtkIdType FindClosestPointInSphereWithTolerance(
427 vtkIdType IsInsertedPointForZeroTolerance(
439 vtkIdType IsInsertedPointForNonZeroTolerance(
458 vtkIdType FindDuplicateFloatTypePointInVisitedLeafNode(
468 vtkIdType FindDuplicateDoubleTypePointInVisitedLeafNode(
represent and manipulate 3D points
virtual int InsertUniquePoint(const double x[3], vtkIdType &ptId)=0
Insert a point unless there has been a duplicate in the search structure.
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 void InsertPoint(vtkIdType ptId, const double x[3])=0
Insert a given point with a specified point index ptId.
virtual double * GetBounds()
Provide an accessor to the bounds.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
virtual vtkIdType InsertNextPoint(const double x[3])=0
Insert a given point and return the point index.
Incremental octree in support of both point location and point insertion.
virtual void GenerateRepresentation(int level, vtkPolyData *pd)=0
Method to build a representation at a particular level.
virtual void FindPointsWithinRadius(double R, const double x[3], vtkIdList *result)=0
Find all points within a specified radius R of position x.
a simple class to control print indentation
object to represent cell connectivity
virtual vtkIdType FindClosestInsertedPoint(const double x[3])=0
Given a point x assumed to be covered by the search structure, return the index of the closest point ...
Abstract class in support of both point location and point insertion.
list of point or cell ids
virtual void BuildLocator()=0
Build the locator from the input dataset.
Octree node constituting incremental octree (in support of both point location and point insertion)
virtual int InitPointInsertion(vtkPoints *newPts, const double bounds[6])=0
Initialize the point insertion process.
virtual void FindClosestNPoints(int N, const double x[3], vtkIdList *result)=0
Find the closest N points to a position.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
concrete dataset represents vertices, lines, polygons, and triangle strips
virtual vtkIdType FindClosestPoint(const double x[3])=0
Given a position x, return the id of the point closest to it.
void Initialize() override
Delete the octree search structure.
virtual void FreeSearchStructure()=0
Free the memory required for the spatial data structure.
virtual vtkIdType FindClosestPointWithinRadius(double radius, const double x[3], double &dist2)=0
Given a position x and a radius r, return the id of the point closest to the point in that radius.