50 #ifndef vtkStaticPointLocator_h
51 #define vtkStaticPointLocator_h
54 #include "vtkCommonDataModelModule.h"
82 vtkSetClampMacro(NumberOfPointsPerBucket,
int, 1,
VTK_INT_MAX);
83 vtkGetMacro(NumberOfPointsPerBucket,
int);
93 vtkSetVector3Macro(Divisions,
int);
94 vtkGetVectorMacro(Divisions,
int, 3);
122 double radius,
const double x[3],
double inputDataLength,
double& dist2);
abstract class to quickly locate points in 3-space
virtual void FindPointsWithinRadius(double R, const double x[3], vtkIdList *result)=0
Find all points within a specified radius R of position x.
virtual vtkIdType FindClosestPoint(const double x[3])=0
Given a position x, return the id of the point closest to it.
virtual double * GetBounds()
Provide an accessor to the bounds.
virtual void FindClosestNPoints(int N, const double x[3], vtkIdList *result)=0
Find the closest N points to a position.
list of point or cell ids
a simple class to control print indentation
concrete dataset represents vertices, lines, polygons, and triangle strips
quickly locate points in 3-space
void MergePoints(double tol, vtkIdType *mergeMap)
Merge points in the locator given a tolerance.
vtkIdType GetNumberOfPointsInBucket(vtkIdType bNum)
Given a bucket number bNum between 0 <= bNum < this->GetNumberOfBuckets(), return the number of point...
void Initialize() override
See vtkLocator and vtkAbstractPointLocator interface documentation.
vtkIdType FindClosestPointWithinRadius(double radius, const double x[3], double &dist2) override
Given a position x and a radius r, return the id of the point closest to the point in that radius.
vtkIdType MaxNumberOfBuckets
static vtkStaticPointLocator * New()
Construct with automatic computation of divisions, averaging 5 points per bucket.
void FindClosestNPoints(int N, const double x[3], vtkIdList *result) override
Find the closest N points to a position.
bool GetLargeIds()
Inform the user as to whether large ids are being used.
~vtkStaticPointLocator() override
int IntersectWithLine(double a0[3], double a1[3], double tol, double &t, double lineX[3], double ptX[3], vtkIdType &ptId)
Intersect the points contained in the locator with the line defined by (a0,a1).
void FreeSearchStructure() override
Free the memory required for the spatial data structure.
virtual vtkIdType FindClosestPointWithinRadius(double radius, const double x[3], double inputDataLength, double &dist2)
int NumberOfPointsPerBucket
void BuildLocator(const double *bounds)
void GetBucketIds(vtkIdType bNum, vtkIdList *bList)
Given a bucket number bNum between 0 <= bNum < this->GetNumberOfBuckets(), return a list of point ids...
void GenerateRepresentation(int level, vtkPolyData *pd) override
Populate a polydata with the faces of the bins that potentially contain cells.
void FindPointsWithinRadius(double R, const double x[3], vtkIdList *result) override
Find all points within a specified radius R of position x.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkIdType FindClosestPoint(const double x[3]) override
Given a position x, return the id of the point closest to it.
virtual double * GetSpacing()
Provide an accessor to the bucket spacing.
void BuildLocator() override
Build the locator from the input dataset.
virtual void GetSpacing(double spacing[3])