38 #ifndef vtkAbstractCellLocator_h
39 #define vtkAbstractCellLocator_h
60 vtkSetClampMacro(NumberOfCellsPerNode,
int,1,
VTK_INT_MAX);
61 vtkGetMacro(NumberOfCellsPerNode,
int);
70 vtkSetMacro(CacheCellBounds,
int);
71 vtkGetMacro(CacheCellBounds,
int);
72 vtkBooleanMacro(CacheCellBounds,
int);
80 vtkSetMacro(RetainCellLists,
int);
81 vtkGetMacro(RetainCellLists,
int);
82 vtkBooleanMacro(RetainCellLists,
int);
90 vtkSetMacro(LazyEvaluation,
int);
91 vtkGetMacro(LazyEvaluation,
int);
92 vtkBooleanMacro(LazyEvaluation,
int);
100 vtkSetMacro(UseExistingSearchStructure,
int);
101 vtkGetMacro(UseExistingSearchStructure,
int);
102 vtkBooleanMacro(UseExistingSearchStructure,
int);
108 virtual int IntersectWithLine(
109 double p1[3],
double p2[3],
double tol,
double& t,
double x[3],
110 double pcoords[3],
int &subId);
116 virtual int IntersectWithLine(
117 double p1[3],
double p2[3],
double tol,
double& t,
double x[3],
118 double pcoords[3],
int &subId,
vtkIdType &cellId);
125 virtual int IntersectWithLine(
126 double p1[3],
double p2[3],
double tol,
double& t,
double x[3],
140 virtual int IntersectWithLine(
141 const double p1[3],
const double p2[3],
149 virtual void FindClosestPoint(
150 double x[3],
double closestPoint[3],
151 vtkIdType &cellId,
int &subId,
double& dist2);
164 virtual void FindClosestPoint(
165 double x[3],
double closestPoint[3],
167 int &subId,
double& dist2);
177 virtual vtkIdType FindClosestPointWithinRadius(
178 double x[3],
double radius,
179 double closestPoint[3],
vtkIdType &cellId,
180 int &subId,
double& dist2);
197 virtual vtkIdType FindClosestPointWithinRadius(
198 double x[3],
double radius,
199 double closestPoint[3],
201 int &subId,
double& dist2);
220 virtual vtkIdType FindClosestPointWithinRadius(
221 double x[3],
double radius,
222 double closestPoint[3],
224 int &subId,
double& dist2,
int &inside);
230 virtual void FindCellsWithinBounds(
double *bbox,
vtkIdList *cells);
238 virtual void FindCellsAlongLine(
239 double p1[3],
double p2[3],
double tolerance,
vtkIdList *cells);
252 double pcoords[3],
double *weights);
258 virtual bool InsideCellBounds(
double x[3],
vtkIdType cell_ID);
270 virtual bool StoreCellBounds();
271 virtual void FreeCellBounds();
an abstract base class for locators which find cells
abstract base class for objects that accelerate spatial searches
void PrintSelf(ostream &os, vtkIndent indent)
vtkGenericCell * GenericCell
provides thread-safe access to cells
a simple class to control print indentation
list of point or cell ids
int UseExistingSearchStructure
object to represent cell connectivity
#define VTKCOMMONDATAMODEL_EXPORT
represent and manipulate 3D points