59 #ifndef vtkStaticPointLocator2D_h 60 #define vtkStaticPointLocator2D_h 62 #include "vtkCommonDataModelModule.h" 66 struct vtkBucketList2D;
92 vtkSetClampMacro(NumberOfPointsPerBucket,
int,1,
VTK_INT_MAX);
93 vtkGetMacro(NumberOfPointsPerBucket,
int);
103 vtkSetVector2Macro(Divisions,
int);
104 vtkGetVectorMacro(Divisions,
int,2);
132 double radius,
const double x[3],
double& dist2)
override;
134 double inputDataLength,
166 int IntersectWithLine(
double a0[3],
double a1[3],
double tol,
double& t,
167 double lineX[3],
double ptX[3],
vtkIdType &ptId);
177 double FindCloseNBoundedPoints(
int N,
const double x[3],
vtkIdList *result);
187 void MergePoints(
double tol,
vtkIdType *mergeMap);
230 vtkGetMacro(MaxNumberOfBuckets,
vtkIdType);
248 bounds[0] = this->Bounds[0];
249 bounds[1] = this->Bounds[1];
250 bounds[2] = this->Bounds[2];
251 bounds[3] = this->Bounds[3];
262 { spacing[0] = this->H[0]; spacing[1] = this->H[1]; spacing[2] = 0.0; }
271 void GetBucketIndices(
const double *x,
int ij[2])
const;
272 vtkIdType GetBucketIndex(
const double *x)
const;
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
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.
quickly locate points in 2-space