42 #ifndef vtkCellTreeLocator_h
43 #define vtkCellTreeLocator_h
46 #include "vtkCommonDataModelModule.h"
51 VTK_ABI_NAMESPACE_BEGIN
61 VTK_ABI_NAMESPACE_BEGIN
90 vtkSetMacro(NumberOfBuckets,
int);
91 vtkGetMacro(NumberOfBuckets,
int);
111 int IntersectWithLine(
const double a0[3],
const double a1[3],
double tol,
double& t,
double x[3],
141 const double p1[3],
const double p2[3],
double tolerance,
vtkIdList* cellsIds)
override
143 this->Superclass::FindCellsAlongLine(p1, p2, tolerance, cellsIds);
152 double pcoords[3],
double* weights)
override;
165 virtual
void BuildLocatorIfNeeded() {}
179 bool LargeIds =
false;
187 VTK_ABI_NAMESPACE_END
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).