VTK
9.0.20210118
|
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 vtkTypeBool | IsA (const char *type) |
Return 1 if this class is the same type of (or a subclass of) the named class. 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 (const double a0[3], const 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 (const 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 (const double p1[3], const 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... | |
void | FreeSearchStructure () override |
Satisfy vtkLocator abstract interface. More... | |
void | BuildLocator () override |
Build the locator from the input dataset. More... | |
virtual void | BuildLocatorIfNeeded () |
virtual void | ForceBuildLocator () |
virtual void | BuildLocatorInternal () |
void | GenerateRepresentation (int level, vtkPolyData *pd) override |
Method to build a representation at a particular level. 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 (const 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 (const 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... | |
virtual int | IntersectWithLine (const double p1[3], const 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 (const double p1[3], const 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], 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... | |
![]() | |
vtkAbstractCellLocator * | NewInstance () const |
virtual void | SetNumberOfCellsPerNode (int) |
Specify the preferred/maximum number of cells in each node/bucket. More... | |
virtual int | GetNumberOfCellsPerNode () |
virtual void | SetCacheCellBounds (vtkTypeBool) |
Boolean controls whether the bounds of each cell are computed only once and then saved. More... | |
virtual vtkTypeBool | GetCacheCellBounds () |
virtual void | CacheCellBoundsOn () |
virtual void | CacheCellBoundsOff () |
virtual void | SetRetainCellLists (vtkTypeBool) |
Boolean controls whether to maintain list of cells in each node. More... | |
virtual vtkTypeBool | GetRetainCellLists () |
virtual void | RetainCellListsOn () |
virtual void | RetainCellListsOff () |
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 () |
virtual void | LazyEvaluationOn () |
virtual void | LazyEvaluationOff () |
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 () |
virtual void | UseExistingSearchStructureOn () |
virtual void | UseExistingSearchStructureOff () |
virtual int | IntersectWithLine (const double p1[3], const 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 (const double p1[3], const 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 (const 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... | |
![]() | |
vtkLocator * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. More... | |
virtual void | SetDataSet (vtkDataSet *) |
Build the locator from the points/cells defining this dataset. More... | |
virtual vtkDataSet * | GetDataSet () |
virtual void | SetMaxLevel (int) |
Set the maximum allowable level for the tree. More... | |
virtual int | GetMaxLevel () |
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 () |
virtual void | AutomaticOn () |
virtual void | AutomaticOff () |
virtual void | SetTolerance (double) |
Specify absolute tolerance (in world coordinates) for performing geometric operations. More... | |
virtual double | GetTolerance () |
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 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 |
Decrease the reference count (release by another object). 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... | |
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) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
vtkTypeBool | HasObserver (unsigned long event, vtkCommand *) |
vtkTypeBool | HasObserver (const char *event, vtkCommand *) |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
vtkTypeBool | HasObserver (unsigned long event) |
vtkTypeBool | HasObserver (const char *event) |
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) |
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) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
![]() | |
const char * | GetClassName () const |
Return the class name as a string. More... | |
virtual vtkIdType | GetNumberOfGenerationsFromBase (const char *name) |
Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). 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... | |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
Return the current reference count of this object. More... | |
void | SetReferenceCount (int) |
Sets the reference count. More... | |
bool | GetIsInMemkind () const |
A local state flag that remembers whether this object lives in the normal or extended memory space. More... | |
Static Public Member Functions | |
static vtkTypeBool | 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 vtkTypeBool | IsTypeOf (const char *type) |
static vtkAbstractCellLocator * | SafeDownCast (vtkObjectBase *o) |
![]() | |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkLocator * | SafeDownCast (vtkObjectBase *o) |
![]() | |
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 () |
static void | GlobalWarningDisplayOff () |
static int | GetGlobalWarningDisplay () |
![]() | |
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 vtkIdType | GetNumberOfGenerationsFromBaseType (const char *name) |
Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More... | |
static vtkObjectBase * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
static void | SetMemkindDirectory (const char *directoryname) |
The name of a directory, ideally mounted -o dax, to memory map an extended memory space within. More... | |
static bool | GetUsingMemkind () |
A global state flag that controls whether vtkObjects are constructed in the usual way (the default) or within the extended memory space. More... | |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkCellLocator () | |
~vtkCellLocator () override | |
void | GetBucketNeighbors (int ijk[3], int ndivs, int level) |
void | GetOverlappingBuckets (const double x[3], int ijk[3], double dist, int prevMinLevel[3], int prevMaxLevel[3]) |
void | ClearCellHasBeenVisited () |
void | ClearCellHasBeenVisited (vtkIdType id) |
double | Distance2ToBucket (const double x[3], int nei[3]) |
double | Distance2ToBounds (const 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 (const 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 () |
![]() | |
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 () |
![]() | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
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 |
![]() | |
std::atomic< int32_t > | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
Additional Inherited Members | |
![]() | |
static vtkMallocingFunction | GetCurrentMallocFunction () |
static vtkReallocingFunction | GetCurrentReallocFunction () |
static vtkFreeingFunction | GetCurrentFreeFunction () |
static vtkFreeingFunction | GetAlternateFreeFunction () |
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 50 of file vtkCellLocator.h.
Definition at line 53 of file vtkCellLocator.h.
|
protected |
|
overrideprotected |
|
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 |
|
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 65 of file vtkCellLocator.h.
|
inline |
Definition at line 66 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. THIS METHOD IS 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. THIS METHOD IS NOT THREAD SAFE.
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. THIS METHOD IS NOT THREAD SAFE.
Reimplemented from vtkAbstractCellLocator.
|
virtual |
Get the cells in a particular bucket.
|
virtual |
Return number of buckets available.
Ensure 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.
|
overridevirtual |
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. THIS METHOD IS NOT THREAD SAFE.
Reimplemented from vtkAbstractCellLocator.
|
overridevirtual |
Satisfy vtkLocator abstract interface.
Implements vtkLocator.
|
overridevirtual |
Build the locator from the input dataset.
Implements vtkLocator.
|
virtual |
|
virtual |
|
virtual |
|
overridevirtual |
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 |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
inlineprotected |
Definition at line 202 of file vtkCellLocator.h.
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).
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.
|
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 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 196 of file vtkCellLocator.h.
|
protected |
Definition at line 197 of file vtkCellLocator.h.
|
protected |
Definition at line 198 of file vtkCellLocator.h.
|
protected |
Definition at line 201 of file vtkCellLocator.h.