#include <vtkAbstractPointLocator.h>
vtkAbstractPointLocator is an abstract spatial search object to quickly locate points in 3D. vtkAbstractPointLocator works by dividing a specified region of space into "rectangular" buckets, and then keeping a list of points that lie in each bucket. Typical operation involves giving a position in 3D and finding the closest point. The points are provided from the specified dataset input.
Definition at line 36 of file vtkAbstractPointLocator.h.
Public Types | |
typedef vtkLocator | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
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 double * | GetBounds () |
virtual void | GetBounds (double *) |
virtual void | FreeSearchStructure ()=0 |
virtual void | BuildLocator ()=0 |
virtual void | GenerateRepresentation (int level, vtkPolyData *pd)=0 |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkAbstractPointLocator * | SafeDownCast (vtkObject *o) |
Protected Member Functions | |
vtkAbstractPointLocator () | |
virtual | ~vtkAbstractPointLocator () |
Protected Attributes | |
double | Bounds [6] |
Reimplemented from vtkLocator.
Reimplemented in vtkIncrementalOctreePointLocator, vtkIncrementalPointLocator, vtkKdTreePointLocator, vtkMergePoints, vtkNonMergingPointLocator, vtkOctreePointLocator, and vtkPointLocator.
Definition at line 39 of file vtkAbstractPointLocator.h.
vtkAbstractPointLocator::vtkAbstractPointLocator | ( | ) | [protected] |
virtual vtkAbstractPointLocator::~vtkAbstractPointLocator | ( | ) | [protected, virtual] |
virtual const char* vtkAbstractPointLocator::GetClassName | ( | ) | [virtual] |
Reimplemented from vtkLocator.
Reimplemented in vtkIncrementalOctreePointLocator, vtkIncrementalPointLocator, vtkKdTreePointLocator, vtkMergePoints, vtkNonMergingPointLocator, vtkOctreePointLocator, and vtkPointLocator.
static int vtkAbstractPointLocator::IsTypeOf | ( | const char * | name | ) | [static] |
Return 1 if this class type 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 vtkLocator.
Reimplemented in vtkIncrementalOctreePointLocator, vtkIncrementalPointLocator, vtkKdTreePointLocator, vtkMergePoints, vtkNonMergingPointLocator, vtkOctreePointLocator, and vtkPointLocator.
virtual int vtkAbstractPointLocator::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 vtkLocator.
Reimplemented in vtkIncrementalOctreePointLocator, vtkIncrementalPointLocator, vtkKdTreePointLocator, vtkMergePoints, vtkNonMergingPointLocator, vtkOctreePointLocator, and vtkPointLocator.
static vtkAbstractPointLocator* vtkAbstractPointLocator::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Reimplemented from vtkLocator.
Reimplemented in vtkIncrementalOctreePointLocator, vtkIncrementalPointLocator, vtkKdTreePointLocator, vtkMergePoints, vtkNonMergingPointLocator, vtkOctreePointLocator, and vtkPointLocator.
void vtkAbstractPointLocator::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 vtkLocator.
Reimplemented in vtkIncrementalOctreePointLocator, vtkIncrementalPointLocator, vtkKdTreePointLocator, vtkMergePoints, vtkNonMergingPointLocator, vtkOctreePointLocator, and vtkPointLocator.
virtual vtkIdType vtkAbstractPointLocator::FindClosestPoint | ( | const double | x[3] | ) | [pure virtual] |
Given a position x, return the id of the point closest to it. Alternative method requires separate x-y-z values. These methods are thread safe if BuildLocator() is directly or indirectly called from a single thread first.
Implemented in vtkIncrementalOctreePointLocator, vtkKdTreePointLocator, vtkOctreePointLocator, and vtkPointLocator.
vtkIdType vtkAbstractPointLocator::FindClosestPoint | ( | double | x, | |
double | y, | |||
double | z | |||
) |
Given a position x, return the id of the point closest to it. Alternative method requires separate x-y-z values. These methods are thread safe if BuildLocator() is directly or indirectly called from a single thread first.
Reimplemented in vtkIncrementalOctreePointLocator.
virtual vtkIdType vtkAbstractPointLocator::FindClosestPointWithinRadius | ( | double | radius, | |
const double | x[3], | |||
double & | dist2 | |||
) | [pure virtual] |
Given a position x and a radius r, return the id of the point closest to the point in that radius. dist2 returns the squared distance to the point.
Implemented in vtkIncrementalOctreePointLocator, vtkKdTreePointLocator, vtkOctreePointLocator, and vtkPointLocator.
virtual void vtkAbstractPointLocator::FindClosestNPoints | ( | int | N, | |
const double | x[3], | |||
vtkIdList * | result | |||
) | [pure virtual] |
Find the closest N points to a position. This returns the closest N points to a position. A faster method could be created that returned N close points to a position, but necessarily the exact N closest. The returned points are sorted from closest to farthest. These methods are thread safe if BuildLocator() is directly or indirectly called from a single thread first.
Implemented in vtkIncrementalOctreePointLocator, vtkKdTreePointLocator, vtkOctreePointLocator, and vtkPointLocator.
void vtkAbstractPointLocator::FindClosestNPoints | ( | int | N, | |
double | x, | |||
double | y, | |||
double | z, | |||
vtkIdList * | result | |||
) |
Find the closest N points to a position. This returns the closest N points to a position. A faster method could be created that returned N close points to a position, but necessarily the exact N closest. The returned points are sorted from closest to farthest. These methods are thread safe if BuildLocator() is directly or indirectly called from a single thread first.
virtual void vtkAbstractPointLocator::FindPointsWithinRadius | ( | double | R, | |
const double | x[3], | |||
vtkIdList * | result | |||
) | [pure virtual] |
Find all points within a specified radius R of position x. The result is not sorted in any specific manner. These methods are thread safe if BuildLocator() is directly or indirectly called from a single thread first.
Implemented in vtkIncrementalOctreePointLocator, vtkKdTreePointLocator, vtkOctreePointLocator, and vtkPointLocator.
void vtkAbstractPointLocator::FindPointsWithinRadius | ( | double | R, | |
double | x, | |||
double | y, | |||
double | z, | |||
vtkIdList * | result | |||
) |
Find all points within a specified radius R of position x. The result is not sorted in any specific manner. These methods are thread safe if BuildLocator() is directly or indirectly called from a single thread first.
virtual double* vtkAbstractPointLocator::GetBounds | ( | void | ) | [inline, virtual] |
Provide an accessor to the bounds.
Reimplemented in vtkIncrementalOctreePointLocator, and vtkOctreePointLocator.
Definition at line 85 of file vtkAbstractPointLocator.h.
virtual void vtkAbstractPointLocator::GetBounds | ( | double * | ) | [virtual] |
Provide an accessor to the bounds.
Reimplemented in vtkIncrementalOctreePointLocator, and vtkOctreePointLocator.
virtual void vtkAbstractPointLocator::FreeSearchStructure | ( | ) | [pure virtual] |
See vtkLocator interface documentation. These methods are not thread safe.
Implements vtkLocator.
Implemented in vtkIncrementalOctreePointLocator, vtkKdTreePointLocator, vtkOctreePointLocator, and vtkPointLocator.
virtual void vtkAbstractPointLocator::BuildLocator | ( | ) | [pure virtual] |
See vtkLocator interface documentation. These methods are not thread safe.
Implements vtkLocator.
Implemented in vtkIncrementalOctreePointLocator, vtkKdTreePointLocator, vtkOctreePointLocator, and vtkPointLocator.
virtual void vtkAbstractPointLocator::GenerateRepresentation | ( | int | level, | |
vtkPolyData * | pd | |||
) | [pure virtual] |
See vtkLocator interface documentation. These methods are not thread safe.
Implements vtkLocator.
Implemented in vtkIncrementalOctreePointLocator, vtkKdTreePointLocator, vtkOctreePointLocator, and vtkPointLocator.
double vtkAbstractPointLocator::Bounds[6] [protected] |
Definition at line 101 of file vtkAbstractPointLocator.h.