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];
an abstract base class for locators which find cells
abstract base class for objects that accelerate spatial searches
void PrintSelf(ostream &os, vtkIndent indent) override
Standard type and print methods.
provides thread-safe access to cells
a simple class to control print indentation
list of point or cell ids
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
object to represent cell connectivity
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
represent and manipulate 3D points