|  | 
| virtual int | IsA (const char *type) | 
|  | 
| vtkCellLocator * | NewInstance () const | 
|  | 
| void | PrintSelf (ostream &os, vtkIndent indent) | 
|  | 
| virtual vtkIdList * | GetCells (int bucket) | 
|  | 
| virtual int | GetNumberOfBuckets (void) | 
|  | 
| virtual void | FindCellsWithinBounds (double *bbox, vtkIdList *cells) | 
|  | 
|  | 
| void | SetNumberOfCellsPerBucket (int N) | 
|  | 
| int | GetNumberOfCellsPerBucket () | 
|  | 
|  | 
| virtual int | IntersectWithLine (double a0[3], double a1[3], double tol, double &t, double x[3], double pcoords[3], int &subId, vtkIdType &cellId, vtkGenericCell *cell) | 
|  | 
|  | 
| virtual void | FindClosestPoint (double x[3], double closestPoint[3], vtkGenericCell *cell, vtkIdType &cellId, int &subId, double &dist2) | 
|  | 
|  | 
| virtual vtkIdType | FindClosestPointWithinRadius (double x[3], double radius, double closestPoint[3], vtkGenericCell *cell, vtkIdType &cellId, int &subId, double &dist2, int &inside) | 
|  | 
|  | 
| virtual vtkIdType | FindCell (double x[3], double tol2, vtkGenericCell *GenCell, double pcoords[3], double *weights) | 
|  | 
|  | 
| virtual void | FindCellsAlongLine (double p1[3], double p2[3], double tolerance, vtkIdList *cells) | 
|  | 
|  | 
| virtual void | FreeSearchStructure () | 
|  | 
| virtual void | BuildLocator () | 
|  | 
| virtual void | BuildLocatorIfNeeded () | 
|  | 
| virtual void | ForceBuildLocator () | 
|  | 
| virtual void | BuildLocatorInternal () | 
|  | 
| virtual void | GenerateRepresentation (int level, vtkPolyData *pd) | 
|  | 
| vtkAbstractCellLocator * | NewInstance () const | 
|  | 
| virtual vtkIdType | FindCell (double x[3]) | 
|  | 
| virtual bool | InsideCellBounds (double x[3], vtkIdType cell_ID) | 
|  | 
| virtual void | SetNumberOfCellsPerNode (int) | 
|  | 
| virtual int | GetNumberOfCellsPerNode () | 
|  | 
| virtual void | SetCacheCellBounds (int) | 
|  | 
| virtual int | GetCacheCellBounds () | 
|  | 
| virtual void | CacheCellBoundsOn () | 
|  | 
| virtual void | CacheCellBoundsOff () | 
|  | 
| virtual void | SetRetainCellLists (int) | 
|  | 
| virtual int | GetRetainCellLists () | 
|  | 
| virtual void | RetainCellListsOn () | 
|  | 
| virtual void | RetainCellListsOff () | 
|  | 
| virtual void | SetLazyEvaluation (int) | 
|  | 
| virtual int | GetLazyEvaluation () | 
|  | 
| virtual void | LazyEvaluationOn () | 
|  | 
| virtual void | LazyEvaluationOff () | 
|  | 
| virtual void | SetUseExistingSearchStructure (int) | 
|  | 
| virtual int | GetUseExistingSearchStructure () | 
|  | 
| virtual void | UseExistingSearchStructureOn () | 
|  | 
| virtual void | UseExistingSearchStructureOff () | 
|  | 
| virtual int | IntersectWithLine (double p1[3], double p2[3], double tol, double &t, double x[3], double pcoords[3], int &subId) | 
|  | 
| virtual int | IntersectWithLine (double p1[3], double p2[3], double tol, double &t, double x[3], double pcoords[3], int &subId, vtkIdType &cellId) | 
|  | 
| virtual int | IntersectWithLine (const double p1[3], const double p2[3], vtkPoints *points, vtkIdList *cellIds) | 
|  | 
| virtual void | FindClosestPoint (double x[3], double closestPoint[3], vtkIdType &cellId, int &subId, double &dist2) | 
|  | 
| virtual vtkIdType | FindClosestPointWithinRadius (double x[3], double radius, double closestPoint[3], vtkIdType &cellId, int &subId, double &dist2) | 
|  | 
| virtual vtkIdType | FindClosestPointWithinRadius (double x[3], double radius, double closestPoint[3], vtkGenericCell *cell, vtkIdType &cellId, int &subId, double &dist2) | 
|  | 
| vtkLocator * | NewInstance () const | 
|  | 
| void | PrintSelf (ostream &os, vtkIndent indent) | 
|  | 
| virtual void | Update () | 
|  | 
| virtual void | Initialize () | 
|  | 
| virtual void | SetDataSet (vtkDataSet *) | 
|  | 
| virtual vtkDataSet * | GetDataSet () | 
|  | 
| virtual void | SetMaxLevel (int) | 
|  | 
| virtual int | GetMaxLevel () | 
|  | 
| virtual int | GetLevel () | 
|  | 
| virtual void | SetAutomatic (int) | 
|  | 
| virtual int | GetAutomatic () | 
|  | 
| virtual void | AutomaticOn () | 
|  | 
| virtual void | AutomaticOff () | 
|  | 
| virtual void | SetTolerance (double) | 
|  | 
| virtual double | GetTolerance () | 
|  | 
| virtual unsigned long | GetBuildTime () | 
|  | 
| virtual void | Register (vtkObjectBase *o) | 
|  | 
| virtual void | UnRegister (vtkObjectBase *o) | 
|  | 
| vtkObject * | NewInstance () const | 
|  | 
| virtual void | DebugOn () | 
|  | 
| virtual void | DebugOff () | 
|  | 
| bool | GetDebug () | 
|  | 
| void | SetDebug (bool debugFlag) | 
|  | 
| virtual void | Modified () | 
|  | 
| virtual unsigned long | GetMTime () | 
|  | 
| unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) | 
|  | 
| unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) | 
|  | 
| vtkCommand * | GetCommand (unsigned long tag) | 
|  | 
| void | RemoveObserver (vtkCommand *) | 
|  | 
| void | RemoveObservers (unsigned long event, vtkCommand *) | 
|  | 
| void | RemoveObservers (const char *event, vtkCommand *) | 
|  | 
| int | HasObserver (unsigned long event, vtkCommand *) | 
|  | 
| int | HasObserver (const char *event, vtkCommand *) | 
|  | 
| void | RemoveObserver (unsigned long tag) | 
|  | 
| void | RemoveObservers (unsigned long event) | 
|  | 
| void | RemoveObservers (const char *event) | 
|  | 
| void | RemoveAllObservers () | 
|  | 
| int | HasObserver (unsigned long event) | 
|  | 
| int | HasObserver (const char *event) | 
|  | 
| template<class U , class T > | 
| unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) | 
|  | 
| template<class U , class T > | 
| unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) | 
|  | 
| template<class U , class T > | 
| unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) | 
|  | 
| int | InvokeEvent (unsigned long event, void *callData) | 
|  | 
| int | InvokeEvent (const char *event, void *callData) | 
|  | 
| int | InvokeEvent (unsigned long event) | 
|  | 
| int | InvokeEvent (const char *event) | 
|  | 
| const char * | GetClassName () const | 
|  | 
| virtual void | Delete () | 
|  | 
| virtual void | FastDelete () | 
|  | 
| void | Print (ostream &os) | 
|  | 
| void | SetReferenceCount (int) | 
|  | 
| void | PrintRevisions (ostream &) | 
|  | 
| virtual void | PrintHeader (ostream &os, vtkIndent indent) | 
|  | 
| virtual void | PrintTrailer (ostream &os, vtkIndent indent) | 
|  | 
| int | GetReferenceCount () | 
|  | 
|  | 
| virtual vtkObjectBase * | NewInstanceInternal () const | 
|  | 
|  | vtkCellLocator () | 
|  | 
|  | ~vtkCellLocator () | 
|  | 
| void | GetBucketNeighbors (int ijk[3], int ndivs, int level) | 
|  | 
| void | GetOverlappingBuckets (double x[3], int ijk[3], double dist, int prevMinLevel[3], int prevMaxLevel[3]) | 
|  | 
| void | ClearCellHasBeenVisited () | 
|  | 
| void | ClearCellHasBeenVisited (int id) | 
|  | 
| double | Distance2ToBucket (double x[3], int nei[3]) | 
|  | 
| double | Distance2ToBounds (double x[3], double bounds[6]) | 
|  | 
| void | MarkParents (void *, int, int, int, int, int) | 
|  | 
| void | GetChildren (int idx, int level, int children[8]) | 
|  | 
| int | GenerateIndex (int offset, int numDivs, int i, int j, int k, vtkIdType &idx) | 
|  | 
| void | GenerateFace (int face, int numDivs, int i, int j, int k, vtkPoints *pts, vtkCellArray *polys) | 
|  | 
| void | ComputeOctantBounds (int i, int j, int k) | 
|  | 
| int | IsInOctantBounds (double x[3], double tol=0.0) | 
|  | 
|  | vtkAbstractCellLocator () | 
|  | 
|  | ~vtkAbstractCellLocator () | 
|  | 
| virtual bool | StoreCellBounds () | 
|  | 
| virtual void | FreeCellBounds () | 
|  | 
| virtual void | ReportReferences (vtkGarbageCollector *) | 
|  | 
|  | vtkLocator () | 
|  | 
|  | ~vtkLocator () | 
|  | 
|  | vtkObject () | 
|  | 
| virtual | ~vtkObject () | 
|  | 
| virtual void | RegisterInternal (vtkObjectBase *, int check) | 
|  | 
| virtual void | UnRegisterInternal (vtkObjectBase *, int check) | 
|  | 
| void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) | 
|  | 
| void | InternalReleaseFocus () | 
|  | 
|  | vtkObjectBase () | 
|  | 
| virtual | ~vtkObjectBase () | 
|  | 
| virtual void | CollectRevisions (ostream &) | 
|  | 
|  | vtkObjectBase (const vtkObjectBase &) | 
|  | 
| void | operator= (const vtkObjectBase &) | 
|  | 
octree-based spatial search object to quickly locate cells 
vtkCellLocator is a spatial search object to quickly locate cells in 3D. vtkCellLocator uses a uniform-level octree subdivision, where each octant (an octant is also referred to as a bucket) carries an indication of whether it is empty or not, and each leaf octant carries a list of the cells inside of it. (An octant is not empty if it has one or more cells inside of it.) Typical operations are intersection with a line to return candidate cells, or intersection with another vtkCellLocator to return candidate cells.
- Warning
- Many other types of spatial locators have been developed, such as variable depth octrees and kd-trees. These are often more efficient for the operations described here. vtkCellLocator has been designed for subclassing; so these locators can be derived if necessary.
- See also
- vtkLocator vtkPointLocator vtkOBBTree
- Examples:
- vtkCellLocator (Examples)
- Tests:
- vtkCellLocator (Tests) 
Definition at line 51 of file vtkCellLocator.h.