| 
| 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.