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:
[legend]Collaboration diagram for vtkPointLocator2D:
[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:
-
- 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 vtkPoints * | GetPoints () |
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 |
vtkPoints * | Points |
int | Divisions [2] |
int | NumberOfPointsPerBucket |
float | Bounds [4] |
vtkIdList ** | HashTable |
int | NumberOfBuckets |
float | H [2] |
vtkNeighborPoints2D * | Buckets |
float | InsertionTol2 |
Member Typedef Documentation
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] |
|
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] |
|
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]
|
|
int vtkPointLocator2D::Divisions[2] [protected]
|
|
int vtkPointLocator2D::NumberOfPointsPerBucket [protected]
|
|
float vtkPointLocator2D::Bounds[4] [protected]
|
|
vtkIdList** vtkPointLocator2D::HashTable [protected]
|
|
int vtkPointLocator2D::NumberOfBuckets [protected]
|
|
float vtkPointLocator2D::H[2] [protected]
|
|
vtkNeighborPoints2D* vtkPointLocator2D::Buckets [protected]
|
|
float vtkPointLocator2D::InsertionTol2 [protected]
|
|
The documentation for this class was generated from the following file: