45#ifndef vtkJumpAndWalkCellLocator_h
46#define vtkJumpAndWalkCellLocator_h
50#include "vtkCommonDataModelModule.h"
54#include <unordered_set>
56VTK_ABI_NAMESPACE_BEGIN
93 vtkSetClampMacro(NumberOfClosestPoints,
unsigned int, 1, 1000);
94 vtkGetMacro(NumberOfClosestPoints,
unsigned int);
108 double pcoords[3],
double* weights)
override;
164 int& subId,
double pcoords[3],
double* weights, std::unordered_set<vtkIdType>& visitedCellIds,
170 unsigned int NumberOfClosestPoints = 1;
174 struct ThreadLocalData;
vtkIdType FindCell(double x[3])
Returns the Id of the cell containing the point, returns -1 if no cell found.
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.
vtkAbstractCellLocator()
Find the cell containing a given point.
abstract class to quickly locate points in 3-space
Detect and break reference loops.
provides thread-safe access to cells
list of point or cell ids
a simple class to control print indentation
vtkIdType FindClosestPointWithinRadius(double x[3], double radius, double closestPoint[3], vtkGenericCell *genCell, vtkIdType &cellId, int &subId, double &dist2, int &inside) override
Return the closest point within a specified radius and the cell which is closest to the point x.
void BuildLocator() override
Satisfy vtkLocator abstract interface.
void ReportReferences(vtkGarbageCollector *) override
void ForceBuildLocator() override
Satisfy vtkLocator abstract interface.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods to instantiate, print and obtain type-related information.
vtkIdType FindCell(double x[3], double tol2, vtkGenericCell *genCell, int &subId, double pcoords[3], double *weights) override
Find the cell containing a given point.
void FreeSearchStructure() override
Satisfy vtkLocator abstract interface.
static vtkJumpAndWalkCellLocator * New()
Standard methods to instantiate, print and obtain type-related information.
void ShallowCopy(vtkAbstractCellLocator *locator) override
Shallow copy of a vtkJumpAndWalkCellLocator.
void BuildLocatorInternal() override
This function is not pure virtual to maintain backwards compatibility.
~vtkJumpAndWalkCellLocator() override
void GenerateRepresentation(int level, vtkPolyData *pd) override
Satisfy vtkLocator abstract interface.
vtkJumpAndWalkCellLocator()
concrete dataset represents vertices, lines, polygons, and triangle strips
Thread local storage for VTK objects.
Hold a reference to a vtkObjectBase instance.