VTK
|
Abstract class in support of both point location and point insertion. More...
#include <vtkIncrementalPointLocator.h>
Inherits vtkAbstractPointLocator.
Public Types | |
typedef vtkAbstractPointLocator | Superclass |
Public Member Functions | |
virtual int | IsA (const char *type) |
vtkIncrementalPointLocator * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) |
virtual void | Initialize ()=0 |
virtual vtkIdType | FindClosestInsertedPoint (const double x[3])=0 |
virtual int | InitPointInsertion (vtkPoints *newPts, const double bounds[6])=0 |
virtual vtkIdType | IsInsertedPoint (double x, double y, double z)=0 |
virtual vtkIdType | IsInsertedPoint (const double x[3])=0 |
virtual int | InsertUniquePoint (const double x[3], vtkIdType &ptId)=0 |
virtual void | InsertPoint (vtkIdType ptId, const double x[3])=0 |
virtual vtkIdType | InsertNextPoint (const double x[3])=0 |
virtual int | InitPointInsertion (vtkPoints *newPts, const double bounds[6], vtkIdType estSize)=0 |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkIncrementalPointLocator * | SafeDownCast (vtkObjectBase *o) |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkIncrementalPointLocator () | |
virtual | ~vtkIncrementalPointLocator () |
Abstract class in support of both point location and point insertion.
Compared to a static point locator for pure location functionalities through some search structure established from a fixed set of points, an incremental point locator allows for, in addition, point insertion capabilities, with the search structure maintaining a dynamically increasing number of points. There are two incremental point locators, i.e., vtkPointLocator and vtkIncrementalOctreePointLocator. As opposed to the uniform bin-based search structure (adopted in vtkPointLocator) with a fixed spatial resolution, an octree mechanism (employed in vtkIncrementalOctreePointlocator) resorts to a hierarchy of tree-like sub-division of the 3D data domain. Thus it enables data-aware multi- resolution and accordingly accelerated point location as well as point insertion, particularly when handling a radically imbalanced layout of points as not uncommon in datasets defined on adaptive meshes. In other words, vtkIncrementalOctreePointLocator is an octree-based accelerated implementation of all functionalities of vtkPointLocator.
Definition at line 50 of file vtkIncrementalPointLocator.h.
typedef vtkAbstractPointLocator vtkIncrementalPointLocator::Superclass |
Definition at line 54 of file vtkIncrementalPointLocator.h.
|
protected |
|
protectedvirtual |
|
static |
|
virtual |
|
static |
|
protectedvirtual |
vtkIncrementalPointLocator* vtkIncrementalPointLocator::NewInstance | ( | ) | const |
void vtkIncrementalPointLocator::PrintSelf | ( | ostream & | os, |
vtkIndent | indent | ||
) |
|
pure virtual |
Delete the search structure.
|
pure virtual |
Given a point x assumed to be covered by the search structure, return the index of the closest point (already inserted to the search structure) regardless of the associated minimum squared distance relative to the squared insertion-tolerance distance. This method is used when performing incremental point insertion. Note -1 indicates that no point is found. InitPointInsertion() should have been called in advance.
|
pure virtual |
Initialize the point insertion process. newPts is an object, storing 3D point coordinates, to which incremental point insertion puts coordinates. It is created and provided by an external VTK class. Argument bounds represents the spatial bounding box, into which the points fall.
|
pure virtual |
Initialize the point insertion process. newPts is an object, storing 3D point coordinates, to which incremental point insertion puts coordinates. It is created and provided by an external VTK class. Argument bounds represents the spatial bounding box, into which the points fall.
|
pure virtual |
Determine whether or not a given point has been inserted. Return the id of the already inserted point if true, else return -1. InitPointInsertion() should have been called in advance.
|
pure virtual |
Determine whether or not a given point has been inserted. Return the id of the already inserted point if true, else return -1. InitPointInsertion() should have been called in advance.
|
pure virtual |
Insert a point unless there has been a duplciate in the search structure. This method is not thread safe.
|
pure virtual |
Insert a given point with a specified point index ptId. InitPointInsertion() should have been called prior to this function. Also, IsInsertedPoint() should have been called in advance to ensure that the given point has not been inserted unless point duplication is allowed.
|
pure virtual |
Insert a given point and return the point index. InitPointInsertion() should have been called prior to this function. Also, IsInsertedPoint() should have been called in advance to ensure that the given point has not been inserted unless point duplication is allowed.