VTK
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>

Inheritance diagram for vtkIncrementalPointLocator:
[legend]
Collaboration diagram for vtkIncrementalPointLocator:
[legend]

Public Types

typedef vtkAbstractPointLocator Superclass
 
- Public Types inherited from vtkAbstractPointLocator
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)
 
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
 
- Public Member Functions inherited from vtkAbstractPointLocator
vtkAbstractPointLocatorNewInstance () const
 
virtual vtkIdType FindClosestPoint (const double x[3])=0
 
vtkIdType FindClosestPoint (double x, double y, double z)
 
virtual vtkIdType FindClosestPointWithinRadius (double radius, const double x[3], double &dist2)=0
 
virtual void FindClosestNPoints (int N, const double x[3], vtkIdList *result)=0
 
void FindClosestNPoints (int N, double x, double y, double z, vtkIdList *result)
 
virtual void FindPointsWithinRadius (double R, const double x[3], vtkIdList *result)=0
 
void FindPointsWithinRadius (double R, double x, double y, double z, vtkIdList *result)
 
virtual doubleGetBounds ()
 
virtual void GetBounds (double *)
 
virtual void FreeSearchStructure ()=0
 
virtual void BuildLocator ()=0
 
virtual void GenerateRepresentation (int level, vtkPolyData *pd)=0
 
- Public Member Functions inherited from vtkLocator
vtkLocatorNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
virtual void Update ()
 
virtual void SetDataSet (vtkDataSet *)
 
virtual vtkDataSetGetDataSet ()
 
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 unsigned long GetBuildTime ()
 
virtual void Register (vtkObjectBase *o)
 
virtual void UnRegister (vtkObjectBase *o)
 
- Public Member Functions inherited from vtkObject
vtkObjectNewInstance () 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)
 
vtkCommandGetCommand (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)
 
void SetReferenceCount (int)
 
void PrintRevisions (ostream &)
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
int GetReferenceCount ()
 

Static Public Member Functions

static int IsTypeOf (const char *type)
 
static vtkIncrementalPointLocatorSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkAbstractPointLocator
static int IsTypeOf (const char *type)
 
static vtkAbstractPointLocatorSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkLocator
static int IsTypeOf (const char *type)
 
static vtkLocatorSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkObject
static int IsTypeOf (const char *type)
 
static vtkObjectSafeDownCast (vtkObjectBase *o)
 
static vtkObjectNew ()
 
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 vtkObjectBaseNew ()
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkIncrementalPointLocator ()
 
virtual ~vtkIncrementalPointLocator ()
 
- Protected Member Functions inherited from vtkAbstractPointLocator
 vtkAbstractPointLocator ()
 
virtual ~vtkAbstractPointLocator ()
 
- Protected Member Functions inherited from vtkLocator
virtual void ReportReferences (vtkGarbageCollector *)
 
 vtkLocator ()
 
 ~vtkLocator ()
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
virtual ~vtkObject ()
 
virtual void RegisterInternal (vtkObjectBase *, int check)
 
virtual void UnRegisterInternal (vtkObjectBase *, int check)
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 
void InternalReleaseFocus ()
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Additional Inherited Members

- Protected Attributes inherited from vtkAbstractPointLocator
double Bounds [6]
 
- Protected Attributes inherited from vtkLocator
vtkDataSetDataSet
 
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
 

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
Examples:
vtkIncrementalPointLocator (Examples)

Definition at line 53 of file vtkIncrementalPointLocator.h.

Member Typedef Documentation

Definition at line 57 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 *  name)
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 vtkAbstractPointLocator.

Reimplemented in vtkIncrementalOctreePointLocator, vtkPointLocator, vtkNonMergingPointLocator, vtkSMPMergePoints, and vtkMergePoints.

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

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 vtkAbstractPointLocator.

Reimplemented in vtkPointLocator, vtkNonMergingPointLocator, vtkSMPMergePoints, and vtkMergePoints.

virtual void vtkIncrementalPointLocator::Initialize ( )
pure virtual

Delete the search structure.

Reimplemented from vtkLocator.

Implemented in vtkPointLocator, and vtkIncrementalOctreePointLocator.

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.

Implemented in vtkPointLocator, and vtkIncrementalOctreePointLocator.

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.

Implemented in vtkIncrementalOctreePointLocator, and vtkPointLocator.

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.

Implemented in vtkIncrementalOctreePointLocator, and vtkPointLocator.

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.

Implemented in vtkIncrementalOctreePointLocator, vtkPointLocator, vtkNonMergingPointLocator, and vtkMergePoints.

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.

Implemented in vtkIncrementalOctreePointLocator, vtkPointLocator, vtkNonMergingPointLocator, and vtkMergePoints.

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.

Implemented in vtkIncrementalOctreePointLocator, vtkPointLocator, vtkNonMergingPointLocator, and vtkMergePoints.

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.

Implemented in vtkIncrementalOctreePointLocator, and vtkPointLocator.

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.

Implemented in vtkIncrementalOctreePointLocator, and vtkPointLocator.


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