|
| 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) |
| |
| 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) |
| |
| vtkLocator * | NewInstance () const |
| |
| void | PrintSelf (ostream &os, vtkIndent indent) |
| |
| 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 () |
| |
| | vtkLocator () |
| |
| | ~vtkLocator () |
| |
| virtual void | ReportReferences (vtkGarbageCollector *) |
| |
| | 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.