37#ifndef vtkAbstractCellLocator_h
38#define vtkAbstractCellLocator_h
40#include "vtkCommonDataModelModule.h"
62 vtkGetMacro(NumberOfCellsPerNode,
int);
74 vtkGetMacro(CacheCellBounds,
int);
85 vtkGetMacro(RetainCellLists,
int);
97 vtkGetMacro(LazyEvaluation,
int);
110 vtkGetMacro(UseExistingSearchStructure,
int);
119 double p1[3],
double p2[3],
double tol,
double& t,
double x[3],
120 double pcoords[3],
int &subId);
127 double p1[3],
double p2[3],
double tol,
double& t,
double x[3],
128 double pcoords[3],
int &subId,
vtkIdType &cellId);
135 double p1[3],
double p2[3],
double tol,
double& t,
double x[3],
151 const double p1[3],
const double p2[3],
160 double x[3],
double closestPoint[3],
161 vtkIdType &cellId,
int &subId,
double& dist2);
175 double x[3],
double closestPoint[3],
177 int &subId,
double& dist2);
188 double x[3],
double radius,
189 double closestPoint[3],
vtkIdType &cellId,
190 int &subId,
double& dist2);
207 double x[3],
double radius,
208 double closestPoint[3],
210 int &subId,
double& dist2);
229 double x[3],
double radius,
230 double closestPoint[3],
232 int &subId,
double& dist2,
int &inside);
249 double p1[3],
double p2[3],
double tolerance,
vtkIdList *cells);
264 double pcoords[3],
double *weights);
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
virtual int IntersectWithLine(const double p1[3], const double p2[3], vtkPoints *points, vtkIdList *cellIds)
Take the passed line segment and intersect it with the data set.
virtual vtkIdType FindCell(double x[3])
Returns the Id of the cell containing the point, returns -1 if no cell found.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void FindClosestPoint(double x[3], double closestPoint[3], vtkIdType &cellId, int &subId, double &dist2)
Return the closest point and the cell which is closest to the point x.
~vtkAbstractCellLocator() override
virtual vtkIdType FindCell(double x[3], double tol2, vtkGenericCell *GenCell, double pcoords[3], double *weights)
Find the cell containing a given point.
virtual vtkIdType FindClosestPointWithinRadius(double x[3], double radius, double closestPoint[3], vtkGenericCell *cell, vtkIdType &cellId, int &subId, double &dist2)
Return the closest point within a specified radius and the cell which is closest to the point x.
virtual void FindCellsAlongLine(double p1[3], double p2[3], double tolerance, vtkIdList *cells)
Given a finite line defined by the two points (p1,p2), return the list of unique cell ids in the buck...
virtual void FindCellsWithinBounds(double *bbox, vtkIdList *cells)
Return a list of unique cell ids inside of a given bounding box.
virtual int IntersectWithLine(double p1[3], double p2[3], double tol, double &t, double x[3], double pcoords[3], int &subId, vtkIdType &cellId)
Return intersection point (if any) AND the cell which was intersected by the finite line.
virtual vtkIdType FindClosestPointWithinRadius(double x[3], double radius, double closestPoint[3], vtkGenericCell *cell, vtkIdType &cellId, int &subId, double &dist2, int &inside)
Return the closest point within a specified radius and the cell which is closest to the point x.
virtual int IntersectWithLine(double p1[3], double p2[3], double tol, double &t, double x[3], double pcoords[3], int &subId)
Return intersection point (if any) of finite line with cells contained in cell locator.
virtual vtkIdType FindClosestPointWithinRadius(double x[3], double radius, double closestPoint[3], vtkIdType &cellId, int &subId, double &dist2)
Return the closest point within a specified radius and the cell which is closest to the point x.
virtual int IntersectWithLine(double p1[3], double p2[3], double tol, double &t, double x[3], double pcoords[3], int &subId, vtkIdType &cellId, vtkGenericCell *cell)
Return intersection point (if any) AND the cell which was intersected by the finite line.
virtual bool InsideCellBounds(double x[3], vtkIdType cell_ID)
Quickly test if a point is inside the bounds of a particular cell.
virtual void FindClosestPoint(double x[3], double closestPoint[3], vtkGenericCell *cell, vtkIdType &cellId, int &subId, double &dist2)
Return the closest point and the cell which is closest to the point x.
object to represent cell connectivity
provides thread-safe access to cells
list of point or cell ids
a simple class to control print indentation
abstract base class for objects that accelerate spatial searches
represent and manipulate 3D points
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.