Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

vtkPointLocator2D Class Reference

#include <vtkPointLocator2D.h>

Inheritance diagram for vtkPointLocator2D:

Inheritance graph
[legend]
Collaboration diagram for vtkPointLocator2D:

Collaboration graph
[legend]
List of all members.

Detailed Description

quickly locate points in 2-space

Date:
2002/06/08 00:28:44
Revision:
1.21

vtkPointLocator2D is a spatial search object to quickly locate points in 2D. vtkPointLocator2D works by dividing a specified region of space into a regular array of "rectangular" buckets, and then keeping a list of points that lie in each bucket. Typical operation involves giving a position in 2D and finding the closest point.

vtkPointLocator2D has two distinct methods of interaction. In the first method, you supply it with a dataset, and it operates on the points in the dataset. In the second method, you supply it with an array of points, and the object operates on the array.

This class is similar to vtkPointLocator except that it assumes the points are located in 2D (or at least that the z-coordinate is ignored).

Warning:
Many other types of spatial locators have been developed such as octrees and kd-trees. These are often more efficient for the operations described here.
See also:
vtkPointLocator vtkCellPicker vtkPointPicker
Created by:
  • Martin, Ken
CVS contributions (if > 5%):
  • Martin, Ken (76%)
  • Lorensen, Bill (15%)
  • Miller, Jim (5%)
CVS logs (CVSweb):
  • .cxx (/Common/vtkPointLocator2D.cxx)
  • .h (/Common/vtkPointLocator2D.h)

Definition at line 67 of file vtkPointLocator2D.h.

Public Types

typedef vtkLocator Superclass

Public Methods

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
virtual int FindClosestPoint (float x[2])
virtual int IsInsertedPoint (float x[2])
virtual void SetDivisions (int, int)
void SetDivisions (int[2])
virtual int * GetDivisions ()
virtual void GetDivisions (int data[2])
virtual void SetNumberOfPointsPerBucket (int)
virtual int GetNumberOfPointsPerBucket ()
virtual void FindClosestNPoints (int N, float x[2], vtkIdList *result)
virtual void FindClosestNPoints (int N, float x, float y, vtkIdList *result)
virtual void FindDistributedPoints (int N, float x[2], vtkIdList *result, int M)
virtual void FindDistributedPoints (int N, float x, float y, vtkIdList *result, int M)
virtual void FindPointsWithinRadius (float R, float x[2], vtkIdList *result)
virtual void FindPointsWithinRadius (float R, float x, float y, vtkIdList *result)
void Initialize ()
void FreeSearchStructure ()
void BuildLocator ()
void GenerateRepresentation (int level, vtkPolyData *pd)
virtual void SetPoints (vtkPoints *)
virtual vtkPointsGetPoints ()

Static Public Methods

vtkPointLocator2D * New ()
int IsTypeOf (const char *type)
vtkPointLocator2D * SafeDownCast (vtkObject *o)

Protected Methods

 vtkPointLocator2D ()
 ~vtkPointLocator2D ()
void GetBucketNeighbors (int ijk[2], int ndivs[2], int level)
void GetOverlappingBuckets (float x[2], int ijk[2], float dist, int level)
void GenerateFace (int face, int i, int j, int k, vtkPoints *pts, vtkCellArray *polys)

Protected Attributes

vtkPointsPoints
int Divisions [2]
int NumberOfPointsPerBucket
float Bounds [4]
vtkIdList ** HashTable
int NumberOfBuckets
float H [2]
vtkNeighborPoints2D * Buckets
float InsertionTol2


Member Typedef Documentation

typedef vtkLocator vtkPointLocator2D::Superclass
 

Reimplemented from vtkLocator.

Reimplemented in vtkMergePoints2D.

Definition at line 74 of file vtkPointLocator2D.h.


Constructor & Destructor Documentation

vtkPointLocator2D::vtkPointLocator2D   [protected]
 

vtkPointLocator2D::~vtkPointLocator2D   [protected]
 


Member Function Documentation

vtkPointLocator2D* vtkPointLocator2D::New   [static]
 

Construct with automatic computation of divisions, averaging 25 points per bucket.

Reimplemented from vtkObject.

Reimplemented in vtkMergePoints2D.

virtual const char* vtkPointLocator2D::GetClassName   [virtual]
 

Reimplemented from vtkLocator.

Reimplemented in vtkMergePoints2D.

int vtkPointLocator2D::IsTypeOf const char *    type [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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkLocator.

Reimplemented in vtkMergePoints2D.

virtual int vtkPointLocator2D::IsA const char *    type [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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkLocator.

Reimplemented in vtkMergePoints2D.

vtkPointLocator2D* vtkPointLocator2D::SafeDownCast vtkObject   o [static]
 

Reimplemented from vtkLocator.

Reimplemented in vtkMergePoints2D.

void vtkPointLocator2D::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 vtkMergePoints2D.

virtual void vtkPointLocator2D::SetDivisions int   ,
int   
[virtual]
 

Set the number of divisions in x-y directions.

void vtkPointLocator2D::SetDivisions int   [2]
 

Set the number of divisions in x-y directions.

virtual int* vtkPointLocator2D::GetDivisions   [virtual]
 

Set the number of divisions in x-y directions.

virtual void vtkPointLocator2D::GetDivisions int    data[2] [virtual]
 

Set the number of divisions in x-y directions.

virtual void vtkPointLocator2D::SetNumberOfPointsPerBucket int    [virtual]
 

Specify the average number of points in each bucket.

virtual int vtkPointLocator2D::GetNumberOfPointsPerBucket   [virtual]
 

Specify the average number of points in each bucket.

virtual int vtkPointLocator2D::FindClosestPoint float    x[2] [virtual]
 

Given a position x, return the id of the point closest to it.

virtual int vtkPointLocator2D::IsInsertedPoint float    x[2] [virtual]
 

Determine whether point given by x[2] has been inserted into points list. Return id of previously inserted point if this is true, otherwise return -1.

Reimplemented in vtkMergePoints2D.

virtual void vtkPointLocator2D::FindClosestNPoints int    N,
float    x[2],
vtkIdList   result
[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.

virtual void vtkPointLocator2D::FindClosestNPoints int    N,
float    x,
float    y,
vtkIdList   result
[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.

virtual void vtkPointLocator2D::FindDistributedPoints int    N,
float    x[2],
vtkIdList   result,
int    M
[virtual]
 

Find the closest points to a position such that each quadrant of space around the position contains at least N points. Loosely limit the search to a maximum number of points evaluated, M.

virtual void vtkPointLocator2D::FindDistributedPoints int    N,
float    x,
float    y,
vtkIdList   result,
int    M
[virtual]
 

Find the closest points to a position such that each quadrant of space around the position contains at least N points. Loosely limit the search to a maximum number of points evaluated, M.

virtual void vtkPointLocator2D::FindPointsWithinRadius float    R,
float    x[2],
vtkIdList   result
[virtual]
 

Find all points within a specified radius R of position x. The result is not sorted in any specific manner.

virtual void vtkPointLocator2D::FindPointsWithinRadius float    R,
float    x,
float    y,
vtkIdList   result
[virtual]
 

Find all points within a specified radius R of position x. The result is not sorted in any specific manner.

void vtkPointLocator2D::Initialize   [virtual]
 

Find all points within a specified radius R of position x. The result is not sorted in any specific manner.

Reimplemented from vtkLocator.

void vtkPointLocator2D::FreeSearchStructure   [virtual]
 

Find all points within a specified radius R of position x. The result is not sorted in any specific manner.

Implements vtkLocator.

void vtkPointLocator2D::BuildLocator   [virtual]
 

Find all points within a specified radius R of position x. The result is not sorted in any specific manner.

Implements vtkLocator.

void vtkPointLocator2D::GenerateRepresentation int    level,
vtkPolyData   pd
[virtual]
 

Find all points within a specified radius R of position x. The result is not sorted in any specific manner.

Implements vtkLocator.

virtual void vtkPointLocator2D::SetPoints vtkPoints   [virtual]
 

set the points to use when looking up a coordinate

virtual vtkPoints* vtkPointLocator2D::GetPoints   [virtual]
 

set the points to use when looking up a coordinate

void vtkPointLocator2D::GetBucketNeighbors int    ijk[2],
int    ndivs[2],
int    level
[protected]
 

void vtkPointLocator2D::GetOverlappingBuckets float    x[2],
int    ijk[2],
float    dist,
int    level
[protected]
 

void vtkPointLocator2D::GenerateFace int    face,
int    i,
int    j,
int    k,
vtkPoints   pts,
vtkCellArray   polys
[protected]
 


Member Data Documentation

vtkPoints* vtkPointLocator2D::Points [protected]
 

Definition at line 147 of file vtkPointLocator2D.h.

int vtkPointLocator2D::Divisions[2] [protected]
 

Definition at line 148 of file vtkPointLocator2D.h.

int vtkPointLocator2D::NumberOfPointsPerBucket [protected]
 

Definition at line 149 of file vtkPointLocator2D.h.

float vtkPointLocator2D::Bounds[4] [protected]
 

Definition at line 150 of file vtkPointLocator2D.h.

vtkIdList** vtkPointLocator2D::HashTable [protected]
 

Definition at line 151 of file vtkPointLocator2D.h.

int vtkPointLocator2D::NumberOfBuckets [protected]
 

Definition at line 152 of file vtkPointLocator2D.h.

float vtkPointLocator2D::H[2] [protected]
 

Definition at line 153 of file vtkPointLocator2D.h.

vtkNeighborPoints2D* vtkPointLocator2D::Buckets [protected]
 

Definition at line 154 of file vtkPointLocator2D.h.

float vtkPointLocator2D::InsertionTol2 [protected]
 

Definition at line 155 of file vtkPointLocator2D.h.


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