VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
vtkIncrementalPointLocator Class Referenceabstract

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)
 
vtkIncrementalPointLocatorNewInstance () 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 vtkIncrementalPointLocatorSafeDownCast (vtkObjectBase *o)
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkIncrementalPointLocator ()
 
virtual ~vtkIncrementalPointLocator ()
 

Detailed Description

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.

See Also
vtkLocator, vtkIncrementalOctreePointLocator, vtkPointLocator, vtkMergePoints

Definition at line 50 of file vtkIncrementalPointLocator.h.

Member Typedef Documentation

typedef vtkAbstractPointLocator vtkIncrementalPointLocator::Superclass

Definition at line 54 of file vtkIncrementalPointLocator.h.

Constructor & Destructor Documentation

vtkIncrementalPointLocator::vtkIncrementalPointLocator ( )
protected
virtual vtkIncrementalPointLocator::~vtkIncrementalPointLocator ( )
protectedvirtual

Member Function Documentation

static int vtkIncrementalPointLocator::IsTypeOf ( const char *  type)
static
virtual int vtkIncrementalPointLocator::IsA ( const char *  type)
virtual
static vtkIncrementalPointLocator* vtkIncrementalPointLocator::SafeDownCast ( vtkObjectBase o)
static
virtual vtkObjectBase* vtkIncrementalPointLocator::NewInstanceInternal ( ) const
protectedvirtual
vtkIncrementalPointLocator* vtkIncrementalPointLocator::NewInstance ( ) const
void vtkIncrementalPointLocator::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
virtual void vtkIncrementalPointLocator::Initialize ( )
pure virtual

Delete the search structure.

virtual vtkIdType vtkIncrementalPointLocator::FindClosestInsertedPoint ( const double  x[3])
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.

virtual int vtkIncrementalPointLocator::InitPointInsertion ( vtkPoints newPts,
const double  bounds[6] 
)
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.

virtual int vtkIncrementalPointLocator::InitPointInsertion ( vtkPoints newPts,
const double  bounds[6],
vtkIdType  estSize 
)
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.

virtual vtkIdType vtkIncrementalPointLocator::IsInsertedPoint ( double  x,
double  y,
double  z 
)
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.

virtual vtkIdType vtkIncrementalPointLocator::IsInsertedPoint ( const double  x[3])
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.

virtual int vtkIncrementalPointLocator::InsertUniquePoint ( const double  x[3],
vtkIdType ptId 
)
pure virtual

Insert a point unless there has been a duplciate in the search structure. This method is not thread safe.

virtual void vtkIncrementalPointLocator::InsertPoint ( vtkIdType  ptId,
const double  x[3] 
)
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.

virtual vtkIdType vtkIncrementalPointLocator::InsertNextPoint ( const double  x[3])
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.


The documentation for this class was generated from the following file: