VTK
|
an octree spatial decomposition of a set of points More...
#include <vtkOctreePointLocator.h>
Public Types | |
typedef vtkAbstractPointLocator | Superclass |
![]() | |
typedef vtkLocator | Superclass |
![]() | |
typedef vtkObject | Superclass |
![]() | |
typedef vtkObjectBase | Superclass |
Public Member Functions | |
virtual int | IsA (const char *type) |
vtkOctreePointLocator * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) |
void | GetRegionBounds (int regionID, double bounds[6]) |
void | GetRegionDataBounds (int leafNodeID, double bounds[6]) |
int | GetRegionContainingPoint (double x, double y, double z) |
virtual void | BuildLocator () |
void | FindClosestNPoints (int N, const double x[3], vtkIdList *result) |
vtkIdTypeArray * | GetPointsInRegion (int leafNodeId) |
virtual void | FreeSearchStructure () |
void | GenerateRepresentation (int level, vtkPolyData *pd) |
void | FindPointsInArea (double *area, vtkIdTypeArray *ids, bool clearArray=true) |
virtual void | SetMaximumPointsPerRegion (int) |
virtual int | GetMaximumPointsPerRegion () |
virtual void | SetCreateCubicOctants (int) |
virtual int | GetCreateCubicOctants () |
virtual double | GetFudgeFactor () |
virtual void | SetFudgeFactor (double) |
virtual double * | GetBounds () |
virtual void | GetBounds (double *bounds) |
virtual int | GetNumberOfLeafNodes () |
virtual vtkIdType | FindClosestPoint (const double x[3]) |
vtkIdType | FindClosestPoint (double x, double y, double z, double &dist2) |
virtual vtkIdType | FindClosestPointWithinRadius (double radius, const double x[3], double &dist2) |
vtkIdType | FindClosestPointInRegion (int regionId, double *x, double &dist2) |
vtkIdType | FindClosestPointInRegion (int regionId, double x, double y, double z, double &dist2) |
virtual void | FindPointsWithinRadius (double radius, const double x[3], vtkIdList *result) |
![]() | |
vtkIdType | FindClosestPoint (double x, double y, double z) |
void | FindClosestNPoints (int N, double x, double y, double z, vtkIdList *result) |
void | FindPointsWithinRadius (double R, double x, double y, double z, vtkIdList *result) |
virtual vtkIdType | GetNumberOfBuckets () |
vtkAbstractPointLocator * | NewInstance () const |
![]() | |
virtual void | Update () |
virtual void | Initialize () |
virtual void | SetDataSet (vtkDataSet *) |
virtual vtkDataSet * | GetDataSet () |
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) |
vtkLocator * | NewInstance () const |
![]() | |
vtkObject * | NewInstance () 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) |
vtkCommand * | GetCommand (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) |
![]() | |
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 vtkOctreePointLocator * | SafeDownCast (vtkObjectBase *o) |
static vtkOctreePointLocator * | New () |
![]() | |
static int | IsTypeOf (const char *type) |
static vtkAbstractPointLocator * | SafeDownCast (vtkObjectBase *o) |
![]() | |
static int | IsTypeOf (const char *type) |
static vtkLocator * | SafeDownCast (vtkObjectBase *o) |
![]() | |
static int | IsTypeOf (const char *type) |
static vtkObject * | SafeDownCast (vtkObjectBase *o) |
static vtkObject * | New () |
static void | BreakOnError () |
static void | SetGlobalWarningDisplay (int val) |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
static int | GetGlobalWarningDisplay () |
![]() | |
static int | IsTypeOf (const char *name) |
static vtkObjectBase * | New () |
Static Protected Member Functions | |
static void | SetDataBoundsToSpatialBounds (vtkOctreePointLocatorNode *node) |
static void | DeleteAllDescendants (vtkOctreePointLocatorNode *octant) |
Protected Attributes | |
vtkOctreePointLocatorNode * | Top |
vtkOctreePointLocatorNode ** | LeafNodeList |
double | FudgeFactor |
int | NumberOfLocatorPoints |
float * | LocatorPoints |
int * | LocatorIds |
float | MaxWidth |
int | CreateCubicOctants |
int | MaximumPointsPerRegion |
int | NumberOfLeafNodes |
![]() | |
double | Bounds [6] |
vtkIdType | NumberOfBuckets |
![]() | |
vtkDataSet * | DataSet |
int | Automatic |
double | Tolerance |
int | MaxLevel |
int | Level |
vtkTimeStamp | BuildTime |
![]() | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
![]() | |
vtkAtomicInt32 | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
an octree spatial decomposition of a set of points
Given a vtkDataSet, create an octree that is locally refined such that all leaf octants contain less than a certain amount of points. Note that there is no size constraint that a leaf octant in relation to any of its neighbors.
This class can also generate a PolyData representation of the boundaries of the spatial regions in the decomposition.
Definition at line 51 of file vtkOctreePointLocator.h.
Definition at line 54 of file vtkOctreePointLocator.h.
|
protected |
|
protected |
|
protected |
|
static |
|
virtual |
Standard type and print methods.
Reimplemented from vtkAbstractPointLocator.
|
static |
|
protectedvirtual |
Standard type and print methods.
Reimplemented from vtkAbstractPointLocator.
vtkOctreePointLocator* vtkOctreePointLocator::NewInstance | ( | ) | const |
|
virtual |
Standard type and print methods.
Reimplemented from vtkAbstractPointLocator.
|
static |
|
virtual |
Maximum number of points per spatial region. Default is 100.
|
virtual |
Maximum number of points per spatial region. Default is 100.
|
virtual |
Get/Set macro for CreateCubicOctants.
|
virtual |
Get/Set macro for CreateCubicOctants.
|
virtual |
Some algorithms on octrees require a value that is a very small distance relative to the diameter of the entire space divided by the octree. This factor is the maximum axis-aligned width of the space multiplied by 10e-6.
|
virtual |
Some algorithms on octrees require a value that is a very small distance relative to the diameter of the entire space divided by the octree. This factor is the maximum axis-aligned width of the space multiplied by 10e-6.
|
virtual |
Get the spatial bounds of the entire octree space. Sets bounds array to xmin, xmax, ymin, ymax, zmin, zmax.
Reimplemented from vtkAbstractPointLocator.
|
virtual |
Get the spatial bounds of the entire octree space. Sets bounds array to xmin, xmax, ymin, ymax, zmin, zmax.
Reimplemented from vtkAbstractPointLocator.
|
virtual |
The number of leaf nodes of the tree, the spatial regions
Get the spatial bounds of octree region
Get the bounds of the data within the leaf node
Get the id of the leaf region containing the specified location.
|
virtual |
Create the octree decomposition of the cells of the data set or data sets. Cells are assigned to octree spatial regions based on the location of their centroids.
Implements vtkAbstractPointLocator.
Return the Id of the point that is closest to the given point. Set the square of the distance between the two points.
Implements vtkAbstractPointLocator.
Return the Id of the point that is closest to the given point. Set the square of the distance between the two points.
|
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.
Implements vtkAbstractPointLocator.
vtkIdType vtkOctreePointLocator::FindClosestPointInRegion | ( | int | regionId, |
double * | x, | ||
double & | dist2 | ||
) |
Find the Id of the point in the given leaf region which is closest to the given point. Return the ID of the point, and set the square of the distance of between the points.
vtkIdType vtkOctreePointLocator::FindClosestPointInRegion | ( | int | regionId, |
double | x, | ||
double | y, | ||
double | z, | ||
double & | dist2 | ||
) |
Find the Id of the point in the given leaf region which is closest to the given point. Return the ID of the point, and set the square of the distance of between the points.
|
virtual |
Find all points within a specified radius of position x. The result is not sorted in any specific manner.
Implements vtkAbstractPointLocator.
|
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 not 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.
Implements vtkAbstractPointLocator.
vtkIdTypeArray* vtkOctreePointLocator::GetPointsInRegion | ( | int | leafNodeId | ) |
Get a list of the original IDs of all points in a leaf node.
|
virtual |
Delete the octree data structure.
Implements vtkAbstractPointLocator.
|
virtual |
Create a polydata representation of the boundaries of the octree regions.
Implements vtkAbstractPointLocator.
void vtkOctreePointLocator::FindPointsInArea | ( | double * | area, |
vtkIdTypeArray * | ids, | ||
bool | clearArray = true |
||
) |
Fill ids with points found in area. The area is a 6-tuple containing (xmin, xmax, ymin, ymax, zmin, zmax). This method will clear the array by default. To append ids to an array, set clearArray to false.
|
protected |
|
protected |
Given a point and a node return the leaf node id that contains the point. The function returns -1 if no nodes contain the point.
|
protected |
Given a point and a node return the leaf node id that contains the point. The function returns -1 if no nodes contain the point.
|
staticprotected |
|
staticprotected |
|
protected |
Recursive helper for public FindPointsWithinRadius. radiusSquared is the square of the radius and is used in order to avoid the expensive square root calculation.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Given a leaf node id and point, return the local id and the squared distance between the closest point and the given point.
|
protected |
Given a location and a radiues, find the closest point within this radius. The function does not examine the region with Id equal to skipRegion (do not set skipRegion to -1 as all non-leaf octants have -1 as their Id). The Id is returned along with the distance squared for success and -1 is returned for failure.
|
protected |
|
protected |
Definition at line 166 of file vtkOctreePointLocator.h.
|
protected |
Definition at line 167 of file vtkOctreePointLocator.h.
|
protected |
The maximum number of points in a region/octant before it is subdivided.
Definition at line 228 of file vtkOctreePointLocator.h.
|
protected |
The maximum number of points in a region/octant before it is subdivided.
Definition at line 229 of file vtkOctreePointLocator.h.
|
protected |
Definition at line 232 of file vtkOctreePointLocator.h.
|
protected |
Definition at line 233 of file vtkOctreePointLocator.h.
|
protected |
Definition at line 234 of file vtkOctreePointLocator.h.
|
protected |
Definition at line 235 of file vtkOctreePointLocator.h.
|
protected |
Definition at line 237 of file vtkOctreePointLocator.h.
|
protected |
If CreateCubicOctants is non-zero, the bounding box of the points will be expanded such that all octants that are created will be cube-shaped (e.g. have equal lengths on each side). This may make the tree deeper but also results in better shaped octants for doing searches. The default is to have this set on.
Definition at line 244 of file vtkOctreePointLocator.h.