37 #ifndef vtkAbstractCellLocator_h
38 #define vtkAbstractCellLocator_h
40 #include "vtkCommonDataModelModule.h"
61 vtkSetClampMacro(NumberOfCellsPerNode,
int,1,
VTK_INT_MAX);
62 vtkGetMacro(NumberOfCellsPerNode,
int);
74 vtkGetMacro(CacheCellBounds,
int);
85 vtkGetMacro(RetainCellLists,
int);
97 vtkGetMacro(LazyEvaluation,
int);
110 vtkGetMacro(UseExistingSearchStructure,
int);
118 virtual int IntersectWithLine(
119 double p1[3],
double p2[3],
double tol,
double& t,
double x[3],
120 double pcoords[3],
int &subId);
126 virtual int IntersectWithLine(
127 double p1[3],
double p2[3],
double tol,
double& t,
double x[3],
128 double pcoords[3],
int &subId,
vtkIdType &cellId);
134 virtual int IntersectWithLine(
135 double p1[3],
double p2[3],
double tol,
double& t,
double x[3],
150 virtual int IntersectWithLine(
151 const double p1[3],
const double p2[3],
159 virtual void FindClosestPoint(
160 double x[3],
double closestPoint[3],
161 vtkIdType &cellId,
int &subId,
double& dist2);
174 virtual void FindClosestPoint(
175 double x[3],
double closestPoint[3],
177 int &subId,
double& dist2);
187 virtual vtkIdType FindClosestPointWithinRadius(
188 double x[3],
double radius,
189 double closestPoint[3],
vtkIdType &cellId,
190 int &subId,
double& dist2);
206 virtual vtkIdType FindClosestPointWithinRadius(
207 double x[3],
double radius,
208 double closestPoint[3],
210 int &subId,
double& dist2);
228 virtual vtkIdType FindClosestPointWithinRadius(
229 double x[3],
double radius,
230 double closestPoint[3],
232 int &subId,
double& dist2,
int &inside);
239 virtual void FindCellsWithinBounds(
double *bbox,
vtkIdList *cells);
248 virtual void FindCellsAlongLine(
249 double p1[3],
double p2[3],
double tolerance,
vtkIdList *cells);
264 double pcoords[3],
double *weights);
271 virtual bool InsideCellBounds(
double x[3],
vtkIdType cell_ID);
285 virtual
bool StoreCellBounds();
286 virtual
void FreeCellBounds();
289 int NumberOfCellsPerNode;
293 int UseExistingSearchStructure;
295 double (*CellBounds)[6];