38 #ifndef __vtkAbstractCellLocator_h
39 #define __vtkAbstractCellLocator_h
60 vtkGetMacro(NumberOfCellsPerNode,
int);
69 vtkSetMacro(CacheCellBounds,
int);
70 vtkGetMacro(CacheCellBounds,
int);
71 vtkBooleanMacro(CacheCellBounds,
int);
79 vtkSetMacro(RetainCellLists,
int);
80 vtkGetMacro(RetainCellLists,
int);
81 vtkBooleanMacro(RetainCellLists,
int);
89 vtkSetMacro(LazyEvaluation,
int);
90 vtkGetMacro(LazyEvaluation,
int);
91 vtkBooleanMacro(LazyEvaluation,
int);
99 vtkSetMacro(UseExistingSearchStructure,
int);
100 vtkGetMacro(UseExistingSearchStructure,
int);
101 vtkBooleanMacro(UseExistingSearchStructure,
int);
107 virtual int IntersectWithLine(
108 double p1[3],
double p2[3],
double tol,
double& t,
double x[3],
109 double pcoords[3],
int &subId);
115 virtual int IntersectWithLine(
116 double p1[3],
double p2[3],
double tol,
double& t,
double x[3],
117 double pcoords[3],
int &subId,
vtkIdType &cellId);
124 virtual int IntersectWithLine(
125 double p1[3],
double p2[3],
double tol,
double& t,
double x[3],
139 virtual int IntersectWithLine(
140 const double p1[3],
const double p2[3],
148 virtual void FindClosestPoint(
149 double x[3],
double closestPoint[3],
150 vtkIdType &cellId,
int &subId,
double& dist2);
163 virtual void FindClosestPoint(
164 double x[3],
double closestPoint[3],
166 int &subId,
double& dist2);
176 virtual vtkIdType FindClosestPointWithinRadius(
177 double x[3],
double radius,
178 double closestPoint[3],
vtkIdType &cellId,
179 int &subId,
double& dist2);
196 virtual vtkIdType FindClosestPointWithinRadius(
197 double x[3],
double radius,
198 double closestPoint[3],
200 int &subId,
double& dist2);
219 virtual vtkIdType FindClosestPointWithinRadius(
220 double x[3],
double radius,
221 double closestPoint[3],
223 int &subId,
double& dist2,
int &inside);
229 virtual void FindCellsWithinBounds(
double *bbox,
vtkIdList *cells);
237 virtual void FindCellsAlongLine(
238 double p1[3],
double p2[3],
double tolerance,
vtkIdList *cells);
251 double pcoords[3],
double *weights);
257 virtual bool InsideCellBounds(
double x[3],
vtkIdType cell_ID);
269 virtual bool StoreCellBounds();
270 virtual void FreeCellBounds();
280 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)
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 VTK_LARGE_INTEGER
represent and manipulate 3D points