47 #ifndef vtkStaticPointLocator2D_h
48 #define vtkStaticPointLocator2D_h
51 #include "vtkCommonDataModelModule.h"
53 VTK_ABI_NAMESPACE_BEGIN
55 struct vtkBucketList2D;
80 vtkSetClampMacro(NumberOfPointsPerBucket,
int, 1,
VTK_INT_MAX);
81 vtkGetMacro(NumberOfPointsPerBucket,
int);
91 vtkSetVector2Macro(Divisions,
int);
92 vtkGetVectorMacro(Divisions,
int, 2);
121 double radius,
const double x[3],
double inputDataLength,
double& dist2);
151 int IntersectWithLine(
double a0[3],
double a1[3],
double tol,
double& t,
double lineX[3],
161 double FindCloseNBoundedPoints(
int N,
const double x[3],
vtkIdList* result);
171 void MergePoints(
double tol,
vtkIdType* mergeMap);
215 vtkGetMacro(MaxNumberOfBuckets,
vtkIdType);
233 bounds[0] = this->Bounds[0];
234 bounds[1] = this->Bounds[1];
235 bounds[2] = this->Bounds[2];
236 bounds[3] = this->Bounds[3];
248 spacing[0] = this->H[0];
249 spacing[1] = this->H[1];
260 void GetBucketIndices(
const double* x,
int ij[2])
const;
261 vtkIdType GetBucketIndex(
const double* x)
const;
289 VTK_ABI_NAMESPACE_END
virtual void BuildLocator()=0
Build the locator from the input dataset.
virtual void GetSpacing(double spacing[3])
Provide an accessor to the bucket spacing.
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...
vtkBucketList2D * Buckets
int NumberOfPointsPerBucket
vtkIdType MaxNumberOfBuckets
virtual double * GetBounds()
Provide an accessor to the bounds.
virtual double * GetSpacing()
Provide an accessor to the bucket spacing.
concrete dataset represents vertices, lines, polygons, and triangle strips
virtual void FreeSearchStructure()=0
Free the memory required for the spatial data structure.
a simple class to control print indentation
virtual void BuildLocatorInternal()
This function is not pure virtual to maintain backwards compatibility.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard type and print methods.
abstract class to quickly locate points in 3-space
list of point or cell ids
virtual void FindPointsWithinRadius(double R, const double x[3], vtkIdList *result)=0
Find all points within a specified radius R of position x.
void GetBounds(double *bounds) override
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.
virtual vtkIdType FindClosestPoint(const double x[3])=0
Given a position x, return the id of the point closest to it.
virtual void Initialize()
Initialize locator.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
bool GetLargeIds()
Inform the user as to whether large ids are being used.
virtual void GenerateRepresentation(int level, vtkPolyData *pd)=0
Method to build a representation at a particular level.
virtual void ForceBuildLocator()
Build the locator from the input dataset (even if UseExistingSearchStructure is on).
quickly locate points in 2-space