54 #ifndef vtkCellTreeLocator_h
55 #define vtkCellTreeLocator_h
58 #include "vtkCommonDataModelModule.h"
99 vtkSetMacro(NumberOfBuckets,
int);
100 vtkGetMacro(NumberOfBuckets,
int);
120 int IntersectWithLine(
const double a0[3],
const double a1[3],
double tol,
double& t,
double x[3],
150 const double p1[3],
const double p2[3],
double tolerance,
vtkIdList* cellsIds)
override
152 this->Superclass::FindCellsAlongLine(p1, p2, tolerance, cellsIds);
161 double pcoords[3],
double* weights)
override;
174 virtual
void BuildLocatorIfNeeded() {}
188 bool LargeIds =
false;
virtual void BuildLocator()=0
Build the locator from the input dataset.
virtual void FindCellsWithinBounds(double *bbox, vtkIdList *cells)
Return a list of unique cell ids inside of a given bounding box.
#define VTK_DEPRECATED_IN_9_2_0(reason)
an abstract base class for locators which find cells
concrete dataset represents vertices, lines, polygons, and triangle strips
virtual void FreeSearchStructure()=0
Free the memory required for the spatial data structure.
provides thread-safe access to cells
detail::vtkCellTree * Tree
virtual void ShallowCopy(vtkAbstractCellLocator *)
Shallow copy of a vtkAbstractCellLocator.
virtual int IntersectWithLine(const double p1[3], const 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.
a simple class to control print indentation
virtual void BuildLocatorInternal()
This function is not pure virtual to maintain backwards compatibility.
virtual vtkIdType FindCell(double x[3])
Returns the Id of the cell containing the point, returns -1 if no cell found.
list of point or cell ids
bool GetLargeIds()
Inform the user as to whether large ids are being used.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void FindCellsAlongLine(const double p1[3], const double p2[3], double tolerance, vtkIdList *cellsIds) override
Take the passed line segment and intersect it with the data set.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
This class implements the data structures, construction algorithms for fast cell location.
virtual void GenerateRepresentation(int level, vtkPolyData *pd)=0
Method to build a representation at a particular level.
represent and manipulate 3D points
virtual void ForceBuildLocator()
Build the locator from the input dataset (even if UseExistingSearchStructure is on).