|
VTK
|
octree-based spatial search object to quickly locate cells More...
#include <vtkCellLocator.h>
Public Types | |
| typedef vtkAbstractCellLocator | Superclass |
Public Types inherited from vtkAbstractCellLocator | |
| typedef vtkLocator | Superclass |
Public Types inherited from vtkLocator | |
| typedef vtkObject | Superclass |
Public Types inherited from vtkObject | |
| typedef vtkObjectBase | Superclass |
Public Member Functions | |
| virtual int | IsA (const char *type) |
| vtkCellLocator * | NewInstance () const |
| void | PrintSelf (ostream &os, vtkIndent indent) |
| 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 vtkIdList * | GetCells (int bucket) |
| virtual int | GetNumberOfBuckets (void) |
| virtual vtkIdType | FindCell (double x[3], double tol2, vtkGenericCell *GenCell, double pcoords[3], double *weights) |
| virtual void | FindCellsWithinBounds (double *bbox, vtkIdList *cells) |
| 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) |
| 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 (double p1[3], double p2[3], double tol, double &t, double x[3], double pcoords[3], int &subId, vtkIdType &cellId, vtkGenericCell *cell) |
| virtual int | IntersectWithLine (const double p1[3], const double p2[3], vtkPoints *points, vtkIdList *cellIds) |
| virtual vtkIdType | FindCell (double x[3]) |
| virtual vtkIdType | FindCell (double x[3], double tol2, vtkGenericCell *GenCell, double pcoords[3], double *weights) |
| virtual void | FindClosestPoint (double x[3], double closestPoint[3], vtkIdType &cellId, int &subId, double &dist2) |
| 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], 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 vtkIdType | FindClosestPointWithinRadius (double x[3], double radius, double closestPoint[3], vtkGenericCell *cell, vtkIdType &cellId, int &subId, double &dist2, int &inside) |
Public Member Functions inherited from vtkAbstractCellLocator | |
| vtkAbstractCellLocator * | NewInstance () const |
| 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 vtkIdType | FindCell (double x[3]) |
| virtual bool | InsideCellBounds (double x[3], vtkIdType cell_ID) |
Public Member Functions inherited from vtkLocator | |
| vtkLocator * | NewInstance () const |
| void | PrintSelf (ostream &os, vtkIndent indent) |
| 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 void | Update () |
| virtual void | Initialize () |
| virtual unsigned long | GetBuildTime () |
| virtual void | Register (vtkObjectBase *o) |
| virtual void | UnRegister (vtkObjectBase *o) |
Public Member Functions inherited from vtkObject | |
| 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) |
Public Member Functions inherited from vtkObjectBase | |
| const char * | GetClassName () const |
| virtual void | Delete () |
| virtual void | FastDelete () |
| void | Print (ostream &os) |
| virtual void | PrintHeader (ostream &os, vtkIndent indent) |
| virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
| int | GetReferenceCount () |
| void | SetReferenceCount (int) |
| void | PrintRevisions (ostream &) |
Static Public Member Functions | |
| static int | IsTypeOf (const char *type) |
| static vtkCellLocator * | SafeDownCast (vtkObjectBase *o) |
| static vtkCellLocator * | New () |
Static Public Member Functions inherited from vtkAbstractCellLocator | |
| static int | IsTypeOf (const char *type) |
| static vtkAbstractCellLocator * | SafeDownCast (vtkObjectBase *o) |
Static Public Member Functions inherited from vtkLocator | |
| static int | IsTypeOf (const char *type) |
| static vtkLocator * | SafeDownCast (vtkObjectBase *o) |
Static Public Member Functions inherited from vtkObject | |
| static int | IsTypeOf (const char *type) |
| static vtkObject * | SafeDownCast (vtkObjectBase *o) |
| static vtkObject * | New () |
| static void | BreakOnError () |
| static void | SetGlobalWarningDisplay (int val) |
| static void | GlobalWarningDisplayOn () |
| static void | GlobalWarningDisplayOff () |
| static int | GetGlobalWarningDisplay () |
Static Public Member Functions inherited from vtkObjectBase | |
| static int | IsTypeOf (const char *name) |
| static vtkObjectBase * | New () |
Protected Attributes | |
| int | NumberOfOctants |
| double | Bounds [6] |
| int | NumberOfParents |
| double | H [3] |
| int | NumberOfDivisions |
| vtkIdList ** | Tree |
| vtkNeighborCells * | Buckets |
| unsigned char * | CellHasBeenVisited |
| unsigned char | QueryNumber |
| double | OctantBounds [6] |
Protected Attributes inherited from vtkAbstractCellLocator | |
| int | NumberOfCellsPerNode |
| int | RetainCellLists |
| int | CacheCellBounds |
| int | LazyEvaluation |
| int | UseExistingSearchStructure |
| vtkGenericCell * | GenericCell |
| double(* | CellBounds )[6] |
Protected Attributes inherited from vtkLocator | |
| vtkDataSet * | DataSet |
| int | Automatic |
| double | Tolerance |
| int | MaxLevel |
| int | Level |
| vtkTimeStamp | BuildTime |
Protected Attributes inherited from vtkObject | |
| bool | Debug |
| vtkTimeStamp | MTime |
| vtkSubjectHelper * | SubjectHelper |
Protected Attributes inherited from vtkObjectBase | |
| vtkAtomicInt32 | ReferenceCount |
| vtkWeakPointerBase ** | WeakPointers |
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.
Definition at line 51 of file vtkCellLocator.h.
Definition at line 54 of file vtkCellLocator.h.
|
protected |
|
protected |
|
static |
|
virtual |
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkAbstractCellLocator.
|
static |
|
protectedvirtual |
Reimplemented from vtkAbstractCellLocator.
| vtkCellLocator* vtkCellLocator::NewInstance | ( | ) | const |
|
virtual |
Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkAbstractCellLocator.
|
static |
Construct with automatic computation of divisions, averaging 25 cells per bucket.
|
inline |
Specify the average number of cells in each octant.
Definition at line 63 of file vtkCellLocator.h.
|
inline |
Definition at line 65 of file vtkCellLocator.h.
|
virtual |
Return intersection point (if any) AND the cell which was intersected by the finite line. The cell is returned as a cell id and as a generic cell. For other IntersectWithLine signatures, see vtkAbstractCellLocator
Reimplemented from vtkAbstractCellLocator.
|
virtual |
Return the closest point and the cell which is closest to the point x. The closest point is somewhere on a cell, it need not be one of the vertices of the cell. This version takes in a vtkGenericCell to avoid allocating and deallocating the cell. This is much faster than the version which does not take a *cell, especially when this function is called many times in a row such as by a for loop, where the allocation and deallocation can be done only once outside the for loop. If a cell is found, "cell" contains the points and ptIds for the cell "cellId" upon exit.
Reimplemented from vtkAbstractCellLocator.
|
virtual |
Return the closest point within a specified radius and the cell which is closest to the point x. The closest point is somewhere on a cell, it need not be one of the vertices of the cell. This method returns 1 if a point is found within the specified radius. If there are no cells within the specified radius, the method returns 0 and the values of closestPoint, cellId, subId, and dist2 are undefined. This version takes in a vtkGenericCell to avoid allocating and deallocating the cell. This is much faster than the version which does not take a *cell, especially when this function is called many times in a row such as by a for loop, where the allocation and dealloction can be done only once outside the for loop. If a closest point is found, "cell" contains the points and ptIds for the cell "cellId" upon exit. If a closest point is found, inside returns the return value of the EvaluatePosition call to the closest cell; inside(=1) or outside(=0). For other FindClosestPointWithinRadius signatures, see vtkAbstractCellLocator
Reimplemented from vtkAbstractCellLocator.
Get the cells in a particular bucket.
|
virtual |
Return number of buckets available. Insure that the locator has been built before attempting to access buckets (octants).
|
virtual |
Find the cell containing a given point. returns -1 if no cell found the cell parameters are copied into the supplied variables, a cell must be provided to store the information.
Reimplemented from vtkAbstractCellLocator.
Return a list of unique cell ids inside of a given bounding box. The user must provide the vtkIdList to populate. This method returns data only after the locator has been built.
Reimplemented from vtkAbstractCellLocator.
|
virtual |
Given a finite line defined by the two points (p1,p2), return the list of unique cell ids in the buckets containing the line. It is possible that an empty cell list is returned. The user must provide the vtkIdList to populate. This method returns data only after the locator has been built.
Reimplemented from vtkAbstractCellLocator.
|
virtual |
Satisfy vtkLocator abstract interface.
Implements vtkLocator.
|
virtual |
Build the locator from the input dataset.
Implements vtkLocator.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Method to build a representation at a particular level. Note that the method GetLevel() returns the maximum number of levels available for the tree. You must provide a vtkPolyData object into which to place the data.
Implements vtkLocator.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Definition at line 200 of file vtkCellLocator.h.
| virtual int vtkAbstractCellLocator::IntersectWithLine |
Return intersection point (if any) of finite line with cells contained in cell locator. See vtkCell.h parameters documentation.
| virtual int vtkAbstractCellLocator::IntersectWithLine |
Return intersection point (if any) AND the cell which was intersected by the finite line.
| virtual int vtkAbstractCellLocator::IntersectWithLine |
Return intersection point (if any) AND the cell which was intersected by the finite line. The cell is returned as a cell id and as a generic cell.
| virtual int vtkAbstractCellLocator::IntersectWithLine |
Take the passed line segment and intersect it with the data set. This method assumes that the data set is a vtkPolyData that describes a closed surface, and the intersection points that are returned in 'points' alternate between entrance points and exit points. The return value of the function is 0 if no intersections were found, -1 if point 'a0' lies inside the closed surface, or +1 if point 'a0' lies outside the closed surface. Either 'points' or 'cellIds' can be set to NULL if you don't want to receive that information. This method is currently only implemented in vtkOBBTree
| virtual vtkIdType vtkAbstractCellLocator::FindCell |
Returns the Id of the cell containing the point, returns -1 if no cell found. This interface uses a tolerance of zero
| virtual vtkIdType vtkAbstractCellLocator::FindCell |
Find the cell containing a given point. returns -1 if no cell found the cell parameters are copied into the supplied variables, a cell must be provided to store the information.
| virtual void vtkAbstractCellLocator::FindClosestPoint |
Return the closest point and the cell which is closest to the point x. The closest point is somewhere on a cell, it need not be one of the vertices of the cell.
| virtual void vtkAbstractCellLocator::FindClosestPoint |
Return the closest point and the cell which is closest to the point x. The closest point is somewhere on a cell, it need not be one of the vertices of the cell. This version takes in a vtkGenericCell to avoid allocating and deallocating the cell. This is much faster than the version which does not take a *cell, especially when this function is called many times in a row such as by a for loop, where the allocation and deallocation can be done only once outside the for loop. If a cell is found, "cell" contains the points and ptIds for the cell "cellId" upon exit.
| virtual vtkIdType vtkAbstractCellLocator::FindClosestPointWithinRadius |
Return the closest point within a specified radius and the cell which is closest to the point x. The closest point is somewhere on a cell, it need not be one of the vertices of the cell. This method returns 1 if a point is found within the specified radius. If there are no cells within the specified radius, the method returns 0 and the values of closestPoint, cellId, subId, and dist2 are undefined.
| virtual vtkIdType vtkAbstractCellLocator::FindClosestPointWithinRadius |
Return the closest point within a specified radius and the cell which is closest to the point x. The closest point is somewhere on a cell, it need not be one of the vertices of the cell. This method returns 1 if a point is found within the specified radius. If there are no cells within the specified radius, the method returns 0 and the values of closestPoint, cellId, subId, and dist2 are undefined. This version takes in a vtkGenericCell to avoid allocating and deallocating the cell. This is much faster than the version which does not take a *cell, especially when this function is called many times in a row such as by a for loop, where the allocation and deallocation can be done only once outside the for loop. If a closest point is found, "cell" contains the points and ptIds for the cell "cellId" upon exit.
| virtual vtkIdType vtkAbstractCellLocator::FindClosestPointWithinRadius |
Return the closest point within a specified radius and the cell which is closest to the point x. The closest point is somewhere on a cell, it need not be one of the vertices of the cell. This method returns 1 if a point is found within the specified radius. If there are no cells within the specified radius, the method returns 0 and the values of closestPoint, cellId, subId, and dist2 are undefined. This version takes in a vtkGenericCell to avoid allocating and deallocating the cell. This is much faster than the version which does not take a *cell, especially when this function is called many times in a row such as by a for loop, where the allocation and dealloction can be done only once outside the for loop. If a closest point is found, "cell" contains the points and ptIds for the cell "cellId" upon exit. If a closest point is found, inside returns the return value of the EvaluatePosition call to the closest cell; inside(=1) or outside(=0).
|
protected |
Definition at line 180 of file vtkCellLocator.h.
|
protected |
Definition at line 181 of file vtkCellLocator.h.
|
protected |
Definition at line 182 of file vtkCellLocator.h.
|
protected |
Definition at line 183 of file vtkCellLocator.h.
|
protected |
Definition at line 184 of file vtkCellLocator.h.
|
protected |
Definition at line 185 of file vtkCellLocator.h.
|
protected |
Definition at line 194 of file vtkCellLocator.h.
|
protected |
Definition at line 195 of file vtkCellLocator.h.
|
protected |
Definition at line 196 of file vtkCellLocator.h.
|
protected |
Definition at line 199 of file vtkCellLocator.h.