VTK
|
octree-based spatial search object to quickly locate cells More...
#include <vtkCellLocator.h>
Public Types | |
typedef vtkAbstractCellLocator | Superclass |
![]() | |
typedef vtkLocator | Superclass |
![]() | |
typedef vtkObject | Superclass |
Standard type and print methods. More... | |
Public Member Functions | |
virtual int | IsA (const char *type) |
Standard type and print methods. More... | |
vtkCellLocator * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. More... | |
void | SetNumberOfCellsPerBucket (int N) |
Specify the average number of cells in each octant. More... | |
int | GetNumberOfCellsPerBucket () |
int | IntersectWithLine (double a0[3], double a1[3], double tol, double &t, double x[3], double pcoords[3], int &subId, vtkIdType &cellId, vtkGenericCell *cell) override |
Return intersection point (if any) AND the cell which was intersected by the finite line. More... | |
void | FindClosestPoint (double x[3], double closestPoint[3], vtkGenericCell *cell, vtkIdType &cellId, int &subId, double &dist2) override |
Return the closest point and the cell which is closest to the point x. More... | |
vtkIdType | FindClosestPointWithinRadius (double x[3], double radius, double closestPoint[3], vtkGenericCell *cell, 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. More... | |
virtual vtkIdList * | GetCells (int bucket) |
Get the cells in a particular bucket. More... | |
virtual int | GetNumberOfBuckets (void) |
Return number of buckets available. More... | |
vtkIdType | FindCell (double x[3], double tol2, vtkGenericCell *GenCell, double pcoords[3], double *weights) override |
Find the cell containing a given point. More... | |
void | FindCellsWithinBounds (double *bbox, vtkIdList *cells) override |
Return a list of unique cell ids inside of a given bounding box. More... | |
void | FindCellsAlongLine (double p1[3], double p2[3], double tolerance, vtkIdList *cells) override |
Given a finite line defined by the two points (p1,p2), return the list of unique cell ids in the buckets containing the line. More... | |
virtual int | IntersectWithLine (double p1[3], double p2[3], double tol, double &t, double x[3], double pcoords[3], int &subId) |
Return intersection point (if any) of finite line with cells contained in cell locator. More... | |
virtual int | IntersectWithLine (double p1[3], double p2[3], double tol, double &t, double x[3], double pcoords[3], int &subId, vtkIdType &cellId) |
Return intersection point (if any) AND the cell which was intersected by the finite line. More... | |
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) |
Return intersection point (if any) AND the cell which was intersected by the finite line. More... | |
virtual int | IntersectWithLine (const double p1[3], const double p2[3], vtkPoints *points, vtkIdList *cellIds) |
Take the passed line segment and intersect it with the data set. More... | |
virtual vtkIdType | FindCell (double x[3]) |
Returns the Id of the cell containing the point, returns -1 if no cell found. More... | |
virtual vtkIdType | FindCell (double x[3], double tol2, vtkGenericCell *GenCell, double pcoords[3], double *weights) |
Find the cell containing a given point. More... | |
virtual void | FindClosestPoint (double x[3], double closestPoint[3], vtkIdType &cellId, int &subId, double &dist2) |
Return the closest point and the cell which is closest to the point x. More... | |
virtual void | FindClosestPoint (double x[3], double closestPoint[3], vtkGenericCell *cell, vtkIdType &cellId, int &subId, double &dist2) |
Return the closest point and the cell which is closest to the point x. More... | |
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. More... | |
virtual vtkIdType | FindClosestPointWithinRadius (double x[3], double radius, double closestPoint[3], vtkGenericCell *cell, vtkIdType &cellId, int &subId, double &dist2) |
Return the closest point within a specified radius and the cell which is closest to the point x. More... | |
virtual vtkIdType | FindClosestPointWithinRadius (double x[3], double radius, double closestPoint[3], vtkGenericCell *cell, vtkIdType &cellId, int &subId, double &dist2, int &inside) |
Return the closest point within a specified radius and the cell which is closest to the point x. More... | |
void | FreeSearchStructure () override |
Satisfy vtkLocator abstract interface. More... | |
void | BuildLocator () override |
Satisfy vtkLocator abstract interface. More... | |
virtual void | BuildLocatorIfNeeded () |
Satisfy vtkLocator abstract interface. More... | |
virtual void | ForceBuildLocator () |
Satisfy vtkLocator abstract interface. More... | |
virtual void | BuildLocatorInternal () |
Satisfy vtkLocator abstract interface. More... | |
void | GenerateRepresentation (int level, vtkPolyData *pd) override |
Satisfy vtkLocator abstract interface. More... | |
![]() | |
vtkAbstractCellLocator * | NewInstance () const |
virtual int | IntersectWithLine (double p1[3], double p2[3], double tol, double &t, double x[3], double pcoords[3], int &subId) |
Return intersection point (if any) of finite line with cells contained in cell locator. More... | |
virtual int | IntersectWithLine (double p1[3], double p2[3], double tol, double &t, double x[3], double pcoords[3], int &subId, vtkIdType &cellId) |
Return intersection point (if any) AND the cell which was intersected by the finite line. More... | |
virtual int | IntersectWithLine (const double p1[3], const double p2[3], vtkPoints *points, vtkIdList *cellIds) |
Take the passed line segment and intersect it with the data set. More... | |
virtual void | FindClosestPoint (double x[3], double closestPoint[3], vtkIdType &cellId, int &subId, double &dist2) |
Return the closest point and the cell which is closest to the point x. More... | |
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. More... | |
virtual vtkIdType | FindClosestPointWithinRadius (double x[3], double radius, double closestPoint[3], vtkGenericCell *cell, vtkIdType &cellId, int &subId, double &dist2) |
Return the closest point within a specified radius and the cell which is closest to the point x. More... | |
virtual vtkIdType | FindCell (double x[3]) |
Returns the Id of the cell containing the point, returns -1 if no cell found. More... | |
virtual bool | InsideCellBounds (double x[3], vtkIdType cell_ID) |
Quickly test if a point is inside the bounds of a particular cell. More... | |
virtual void | SetNumberOfCellsPerNode (int) |
Specify the preferred/maximum number of cells in each node/bucket. More... | |
virtual int | GetNumberOfCellsPerNode () |
Specify the preferred/maximum number of cells in each node/bucket. More... | |
virtual void | SetCacheCellBounds (vtkTypeBool) |
Boolean controls whether the bounds of each cell are computed only once and then saved. More... | |
virtual vtkTypeBool | GetCacheCellBounds () |
Boolean controls whether the bounds of each cell are computed only once and then saved. More... | |
virtual void | CacheCellBoundsOn () |
Boolean controls whether the bounds of each cell are computed only once and then saved. More... | |
virtual void | CacheCellBoundsOff () |
Boolean controls whether the bounds of each cell are computed only once and then saved. More... | |
virtual void | SetRetainCellLists (vtkTypeBool) |
Boolean controls whether to maintain list of cells in each node. More... | |
virtual vtkTypeBool | GetRetainCellLists () |
Boolean controls whether to maintain list of cells in each node. More... | |
virtual void | RetainCellListsOn () |
Boolean controls whether to maintain list of cells in each node. More... | |
virtual void | RetainCellListsOff () |
Boolean controls whether to maintain list of cells in each node. More... | |
virtual void | SetLazyEvaluation (vtkTypeBool) |
Most Locators build their search structures during BuildLocator but some may delay construction until it is actually needed. More... | |
virtual vtkTypeBool | GetLazyEvaluation () |
Most Locators build their search structures during BuildLocator but some may delay construction until it is actually needed. More... | |
virtual void | LazyEvaluationOn () |
Most Locators build their search structures during BuildLocator but some may delay construction until it is actually needed. More... | |
virtual void | LazyEvaluationOff () |
Most Locators build their search structures during BuildLocator but some may delay construction until it is actually needed. More... | |
virtual void | SetUseExistingSearchStructure (vtkTypeBool) |
Some locators support querying a new dataset without rebuilding the search structure (typically this may occur when a dataset changes due to a time update, but is actually the same topology) Turning on this flag enables some locators to skip the rebuilding phase. More... | |
virtual vtkTypeBool | GetUseExistingSearchStructure () |
Some locators support querying a new dataset without rebuilding the search structure (typically this may occur when a dataset changes due to a time update, but is actually the same topology) Turning on this flag enables some locators to skip the rebuilding phase. More... | |
virtual void | UseExistingSearchStructureOn () |
Some locators support querying a new dataset without rebuilding the search structure (typically this may occur when a dataset changes due to a time update, but is actually the same topology) Turning on this flag enables some locators to skip the rebuilding phase. More... | |
virtual void | UseExistingSearchStructureOff () |
Some locators support querying a new dataset without rebuilding the search structure (typically this may occur when a dataset changes due to a time update, but is actually the same topology) Turning on this flag enables some locators to skip the rebuilding phase. More... | |
![]() | |
virtual void | Update () |
Cause the locator to rebuild itself if it or its input dataset has changed. More... | |
virtual void | Initialize () |
Initialize locator. More... | |
virtual void | SetDataSet (vtkDataSet *) |
Build the locator from the points/cells defining this dataset. More... | |
virtual vtkDataSet * | GetDataSet () |
Build the locator from the points/cells defining this dataset. More... | |
virtual void | SetMaxLevel (int) |
Set the maximum allowable level for the tree. More... | |
virtual int | GetMaxLevel () |
Set the maximum allowable level for the tree. More... | |
virtual int | GetLevel () |
Get the level of the locator (determined automatically if Automatic is true). More... | |
virtual void | SetAutomatic (vtkTypeBool) |
Boolean controls whether locator depth/resolution of locator is computed automatically from average number of entities in bucket. More... | |
virtual vtkTypeBool | GetAutomatic () |
Boolean controls whether locator depth/resolution of locator is computed automatically from average number of entities in bucket. More... | |
virtual void | AutomaticOn () |
Boolean controls whether locator depth/resolution of locator is computed automatically from average number of entities in bucket. More... | |
virtual void | AutomaticOff () |
Boolean controls whether locator depth/resolution of locator is computed automatically from average number of entities in bucket. More... | |
virtual void | SetTolerance (double) |
Specify absolute tolerance (in world coordinates) for performing geometric operations. More... | |
virtual double | GetTolerance () |
Specify absolute tolerance (in world coordinates) for performing geometric operations. More... | |
virtual vtkMTimeType | GetBuildTime () |
Return the time of the last data structure build. More... | |
void | Register (vtkObjectBase *o) override |
Handle the PointSet <-> Locator loop. More... | |
void | UnRegister (vtkObjectBase *o) override |
Handle the PointSet <-> Locator loop. More... | |
vtkLocator * | NewInstance () const |
Standard type and print methods. More... | |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Standard type and print methods. More... | |
![]() | |
vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
virtual void | DebugOn () |
Turn debugging output on. More... | |
virtual void | DebugOff () |
Turn debugging output off. More... | |
bool | GetDebug () |
Get the value of the debug flag. More... | |
void | SetDebug (bool debugFlag) |
Set the value of the debug flag. More... | |
virtual void | Modified () |
Update the modification time for this object. More... | |
virtual vtkMTimeType | GetMTime () |
Return this object's modified time. More... | |
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) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
vtkCommand * | GetCommand (unsigned long tag) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObserver (vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObservers (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObservers (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
int | HasObserver (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
int | HasObserver (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Allow user to set the AbortFlagOn() with the return value of the callback method. More... | |
int | InvokeEvent (unsigned long event, void *callData) |
This method invokes an event and return whether the event was aborted or not. More... | |
int | InvokeEvent (const char *event, void *callData) |
This method invokes an event and return whether the event was aborted or not. More... | |
![]() | |
const char * | GetClassName () const |
Return the class name as a string. More... | |
virtual void | Delete () |
Delete a VTK object. More... | |
virtual void | FastDelete () |
Delete a reference to this object. More... | |
void | InitializeObjectBase () |
void | Print (ostream &os) |
Print an object to an ostream. More... | |
int | GetReferenceCount () |
Return the current reference count of this object. More... | |
void | SetReferenceCount (int) |
Sets the reference count. More... | |
void | PrintRevisions (ostream &) |
Legacy. More... | |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkCellLocator * | SafeDownCast (vtkObjectBase *o) |
static vtkCellLocator * | New () |
Construct with automatic computation of divisions, averaging 25 cells per bucket. More... | |
![]() | |
static int | IsTypeOf (const char *type) |
static vtkAbstractCellLocator * | SafeDownCast (vtkObjectBase *o) |
![]() | |
static int | IsTypeOf (const char *type) |
Standard type and print methods. More... | |
static vtkLocator * | SafeDownCast (vtkObjectBase *o) |
Standard type and print methods. More... | |
![]() | |
static vtkObject * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
static void | BreakOnError () |
This method is called when vtkErrorMacro executes. More... | |
static void | SetGlobalWarningDisplay (int val) |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static void | GlobalWarningDisplayOn () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static void | GlobalWarningDisplayOff () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static int | GetGlobalWarningDisplay () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
![]() | |
static vtkTypeBool | IsTypeOf (const char *name) |
Return 1 if this class type is the same type of (or a subclass of) the named class. More... | |
static vtkObjectBase * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
Standard type and print methods. More... | |
vtkCellLocator () | |
~vtkCellLocator () override | |
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 () override | |
virtual bool | StoreCellBounds () |
This command is used internally by the locator to copy all cell Bounds into the internal CellBounds array. More... | |
virtual void | FreeCellBounds () |
This command is used internally by the locator to copy all cell Bounds into the internal CellBounds array. More... | |
![]() | |
vtkLocator () | |
~vtkLocator () override | |
void | ReportReferences (vtkGarbageCollector *) override |
![]() | |
vtkObject () | |
~vtkObject () override | |
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr) |
These methods allow a command to exclusively grab all events. More... | |
void | InternalReleaseFocus () |
These methods allow a command to exclusively grab all events. More... | |
![]() | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | CollectRevisions (ostream &) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
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] |
![]() | |
int | NumberOfCellsPerNode |
vtkTypeBool | RetainCellLists |
vtkTypeBool | CacheCellBounds |
vtkTypeBool | LazyEvaluation |
vtkTypeBool | UseExistingSearchStructure |
vtkGenericCell * | GenericCell |
double(* | CellBounds )[6] |
![]() | |
vtkDataSet * | DataSet |
vtkTypeBool | Automatic |
double | Tolerance |
int | MaxLevel |
int | Level |
vtkTimeStamp | BuildTime |
![]() | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
![]() | |
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 46 of file vtkCellLocator.h.
Definition at line 49 of file vtkCellLocator.h.
|
protected |
|
overrideprotected |
|
static |
|
virtual |
Standard type and print methods.
Reimplemented from vtkAbstractCellLocator.
|
static |
|
protectedvirtual |
Standard type and print methods.
Reimplemented from vtkAbstractCellLocator.
vtkCellLocator* vtkCellLocator::NewInstance | ( | ) | const |
|
overridevirtual |
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 61 of file vtkCellLocator.h.
|
inline |
Definition at line 63 of file vtkCellLocator.h.
|
overridevirtual |
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. Note this is currently not thread-safe.
Reimplemented from vtkAbstractCellLocator.
|
overridevirtual |
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.
|
overridevirtual |
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).
|
overridevirtual |
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.
|
overridevirtual |
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.
|
overridevirtual |
Satisfy vtkLocator abstract interface.
Implements vtkLocator.
|
overridevirtual |
Satisfy vtkLocator abstract interface.
Implements vtkLocator.
|
virtual |
Satisfy vtkLocator abstract interface.
|
virtual |
Satisfy vtkLocator abstract interface.
|
virtual |
Satisfy vtkLocator abstract interface.
|
overridevirtual |
Satisfy vtkLocator abstract interface.
Implements vtkLocator.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Definition at line 204 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 nullptr 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 184 of file vtkCellLocator.h.
|
protected |
Definition at line 185 of file vtkCellLocator.h.
|
protected |
Definition at line 186 of file vtkCellLocator.h.
|
protected |
Definition at line 187 of file vtkCellLocator.h.
|
protected |
Definition at line 188 of file vtkCellLocator.h.
|
protected |
Definition at line 189 of file vtkCellLocator.h.
|
protected |
Definition at line 198 of file vtkCellLocator.h.
|
protected |
Definition at line 199 of file vtkCellLocator.h.
|
protected |
Definition at line 200 of file vtkCellLocator.h.
|
protected |
Definition at line 203 of file vtkCellLocator.h.