|
VTK
9.0.1
|
an octree spatial decomposition of a set of points More...
#include <vtkOctreePointLocator.h>
Public Types | |
| typedef vtkAbstractPointLocator | Superclass |
Public Types inherited from vtkAbstractPointLocator | |
| typedef vtkLocator | Superclass |
| Standard type and print methods. More... | |
Public Types inherited from vtkLocator | |
| typedef vtkObject | Superclass |
| Standard type and print methods. More... | |
Public Member Functions | |
| virtual vtkTypeBool | IsA (const char *type) |
| Return 1 if this class is the same type of (or a subclass of) the named class. More... | |
| vtkOctreePointLocator * | NewInstance () const |
| void | PrintSelf (ostream &os, vtkIndent indent) override |
| Methods invoked by print to print information about the object including superclasses. More... | |
| virtual void | SetMaximumPointsPerRegion (int) |
| Maximum number of points per spatial region. More... | |
| virtual int | GetMaximumPointsPerRegion () |
| virtual void | SetCreateCubicOctants (int) |
| Get/Set macro for CreateCubicOctants. More... | |
| virtual int | GetCreateCubicOctants () |
| virtual double | GetFudgeFactor () |
| 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. More... | |
| virtual void | SetFudgeFactor (double) |
| double * | GetBounds () override |
| Get the spatial bounds of the entire octree space. More... | |
| void | GetBounds (double *bounds) override |
| virtual int | GetNumberOfLeafNodes () |
| The number of leaf nodes of the tree, the spatial regions. More... | |
| void | GetRegionBounds (int regionID, double bounds[6]) |
| Get the spatial bounds of octree region. More... | |
| void | GetRegionDataBounds (int leafNodeID, double bounds[6]) |
| Get the bounds of the data within the leaf node. More... | |
| int | GetRegionContainingPoint (double x, double y, double z) |
| Get the id of the leaf region containing the specified location. More... | |
| void | BuildLocator () override |
| Create the octree decomposition of the cells of the data set or data sets. More... | |
| vtkIdType | FindClosestPoint (const double x[3]) override |
| Return the Id of the point that is closest to the given point. More... | |
| vtkIdType | FindClosestPoint (double x, double y, double z, double &dist2) |
| vtkIdType | FindClosestPointWithinRadius (double radius, const double x[3], double &dist2) override |
| Given a position x and a radius r, return the id of the point closest to the point in that radius. More... | |
| vtkIdType | 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. More... | |
| vtkIdType | FindClosestPointInRegion (int regionId, double x, double y, double z, double &dist2) |
| void | FindPointsWithinRadius (double radius, const double x[3], vtkIdList *result) override |
| Find all points within a specified radius of position x. More... | |
| void | FindClosestNPoints (int N, const double x[3], vtkIdList *result) override |
| Find the closest N points to a position. More... | |
| vtkIdTypeArray * | GetPointsInRegion (int leafNodeId) |
| Get a list of the original IDs of all points in a leaf node. More... | |
| void | FreeSearchStructure () override |
| Delete the octree data structure. More... | |
| void | GenerateRepresentation (int level, vtkPolyData *pd) override |
| Create a polydata representation of the boundaries of the octree regions. More... | |
| void | FindPointsInArea (double *area, vtkIdTypeArray *ids, bool clearArray=true) |
| Fill ids with points found in area. More... | |
Public Member Functions inherited from vtkAbstractPointLocator | |
| vtkAbstractPointLocator * | NewInstance () const |
| 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 () |
| Return the total number of buckets in the locator. More... | |
Public Member Functions inherited from vtkLocator | |
| vtkLocator * | NewInstance () const |
| virtual void | SetDataSet (vtkDataSet *) |
| Build the locator from the points/cells defining this dataset. More... | |
| virtual vtkDataSet * | GetDataSet () |
| virtual void | SetMaxLevel (int) |
| Set the maximum allowable level for the tree. More... | |
| virtual int | GetMaxLevel () |
| virtual int | GetLevel () |
| Get the level of the locator (determined automatically if Automatic is true). More... | |
| virtual void | SetAutomatic (vtkTypeBool) |
| Boolean controls whether locator depth/resolution of locator is computed automatically from average number of entities in bucket. More... | |
| virtual vtkTypeBool | GetAutomatic () |
| virtual void | AutomaticOn () |
| virtual void | AutomaticOff () |
| virtual void | SetTolerance (double) |
| Specify absolute tolerance (in world coordinates) for performing geometric operations. More... | |
| virtual double | GetTolerance () |
| virtual void | Update () |
| Cause the locator to rebuild itself if it or its input dataset has changed. More... | |
| virtual void | Initialize () |
| Initialize locator. More... | |
| virtual vtkMTimeType | GetBuildTime () |
| Return the time of the last data structure build. More... | |
| void | Register (vtkObjectBase *o) override |
| Handle the PointSet <-> Locator loop. More... | |
| void | UnRegister (vtkObjectBase *o) override |
| Decrease the reference count (release by another object). More... | |
Public Member Functions inherited from vtkObject | |
| vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
| virtual void | DebugOn () |
| Turn debugging output on. More... | |
| virtual void | DebugOff () |
| Turn debugging output off. More... | |
| bool | GetDebug () |
| Get the value of the debug flag. More... | |
| void | SetDebug (bool debugFlag) |
| Set the value of the debug flag. More... | |
| virtual void | Modified () |
| Update the modification time for this object. More... | |
| virtual vtkMTimeType | GetMTime () |
| Return this object's modified time. More... | |
| unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
| 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 *) |
| vtkTypeBool | HasObserver (unsigned long event, vtkCommand *) |
| vtkTypeBool | HasObserver (const char *event, vtkCommand *) |
| void | RemoveObserver (unsigned long tag) |
| void | RemoveObservers (unsigned long event) |
| void | RemoveObservers (const char *event) |
| void | RemoveAllObservers () |
| vtkTypeBool | HasObserver (unsigned long event) |
| vtkTypeBool | HasObserver (const char *event) |
| template<class U , class T > | |
| unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
| Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More... | |
| 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) |
| Allow user to set the AbortFlagOn() with the return value of the callback method. More... | |
| int | InvokeEvent (unsigned long event, void *callData) |
| This method invokes an event and return whether the event was aborted or not. More... | |
| 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 |
| Return the class name as a string. More... | |
| virtual vtkIdType | GetNumberOfGenerationsFromBase (const char *name) |
| Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More... | |
| virtual void | Delete () |
| Delete a VTK object. More... | |
| virtual void | FastDelete () |
| Delete a reference to this object. More... | |
| void | InitializeObjectBase () |
| void | Print (ostream &os) |
| Print an object to an ostream. More... | |
| virtual void | PrintHeader (ostream &os, vtkIndent indent) |
| virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
| int | GetReferenceCount () |
| Return the current reference count of this object. More... | |
| void | SetReferenceCount (int) |
| Sets the reference count. More... | |
| void | PrintRevisions (ostream &) |
| Legacy. More... | |
Static Public Member Functions | |
| static vtkTypeBool | IsTypeOf (const char *type) |
| static vtkOctreePointLocator * | SafeDownCast (vtkObjectBase *o) |
| static vtkOctreePointLocator * | New () |
Static Public Member Functions inherited from vtkAbstractPointLocator | |
| static vtkTypeBool | IsTypeOf (const char *type) |
| static vtkAbstractPointLocator * | SafeDownCast (vtkObjectBase *o) |
Static Public Member Functions inherited from vtkLocator | |
| static vtkTypeBool | IsTypeOf (const char *type) |
| static vtkLocator * | SafeDownCast (vtkObjectBase *o) |
Static Public Member Functions inherited from vtkObject | |
| static vtkObject * | New () |
| Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
| static void | BreakOnError () |
| This method is called when vtkErrorMacro executes. More... | |
| static void | SetGlobalWarningDisplay (int val) |
| This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
| static void | GlobalWarningDisplayOn () |
| static void | GlobalWarningDisplayOff () |
| static int | GetGlobalWarningDisplay () |
Static Public Member Functions inherited from vtkObjectBase | |
| static vtkTypeBool | IsTypeOf (const char *name) |
| Return 1 if this class type is the same type of (or a subclass of) the named class. More... | |
| static vtkIdType | GetNumberOfGenerationsFromBaseType (const char *name) |
| Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More... | |
| static vtkObjectBase * | New () |
| Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
Protected Member Functions | |
| virtual vtkObjectBase * | NewInstanceInternal () const |
| vtkOctreePointLocator () | |
| ~vtkOctreePointLocator () override | |
| void | BuildLeafNodeList (vtkOctreePointLocatorNode *node, int &index) |
| int | FindRegion (vtkOctreePointLocatorNode *node, float x, float y, float z) |
| Given a point and a node return the leaf node id that contains the point. More... | |
| int | FindRegion (vtkOctreePointLocatorNode *node, double x, double y, double z) |
| void | FindPointsWithinRadius (vtkOctreePointLocatorNode *node, double radiusSquared, const double x[3], vtkIdList *ids) |
| Recursive helper for public FindPointsWithinRadius. More... | |
| void | AddAllPointsInRegion (vtkOctreePointLocatorNode *node, vtkIdList *ids) |
| void | FindPointsInArea (vtkOctreePointLocatorNode *node, double *area, vtkIdTypeArray *ids) |
| void | AddAllPointsInRegion (vtkOctreePointLocatorNode *node, vtkIdTypeArray *ids) |
| void | DivideRegion (vtkOctreePointLocatorNode *node, int *ordering, int level) |
| int | DivideTest (int size, int level) |
| void | AddPolys (vtkOctreePointLocatorNode *node, vtkPoints *pts, vtkCellArray *polys) |
| int | _FindClosestPointInRegion (int leafNodeId, double x, double y, double z, double &dist2) |
| Given a leaf node id and point, return the local id and the squared distance between the closest point and the given point. More... | |
| int | FindClosestPointInSphere (double x, double y, double z, double radius, int skipRegion, double &dist2) |
| Given a location and a radiues, find the closest point within this radius. More... | |
| vtkOctreePointLocator (const vtkOctreePointLocator &)=delete | |
| void | operator= (const vtkOctreePointLocator &)=delete |
Protected Member Functions inherited from vtkAbstractPointLocator | |
| vtkAbstractPointLocator () | |
| ~vtkAbstractPointLocator () override | |
Protected Member Functions inherited from vtkLocator | |
| vtkLocator () | |
| ~vtkLocator () override | |
| void | ReportReferences (vtkGarbageCollector *) override |
Protected Member Functions inherited from vtkObject | |
| vtkObject () | |
| ~vtkObject () override | |
| void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
| void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
| void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr) |
| These methods allow a command to exclusively grab all events. More... | |
| void | InternalReleaseFocus () |
Protected Member Functions inherited from vtkObjectBase | |
| vtkObjectBase () | |
| virtual | ~vtkObjectBase () |
| virtual void | CollectRevisions (ostream &) |
| vtkObjectBase (const vtkObjectBase &) | |
| void | operator= (const vtkObjectBase &) |
Static Protected Member Functions | |
| static void | SetDataBoundsToSpatialBounds (vtkOctreePointLocatorNode *node) |
| static void | DeleteAllDescendants (vtkOctreePointLocatorNode *octant) |
Protected Attributes | |
| vtkOctreePointLocatorNode * | Top |
| vtkOctreePointLocatorNode ** | LeafNodeList |
| int | MaximumPointsPerRegion |
| The maximum number of points in a region/octant before it is subdivided. More... | |
| int | NumberOfLeafNodes |
| double | FudgeFactor |
| int | NumberOfLocatorPoints |
| float * | LocatorPoints |
| int * | LocatorIds |
| float | MaxWidth |
| int | CreateCubicOctants |
| 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. More... | |
Protected Attributes inherited from vtkAbstractPointLocator | |
| double | Bounds [6] |
| vtkIdType | NumberOfBuckets |
Protected Attributes inherited from vtkLocator | |
| vtkDataSet * | DataSet |
| vtkTypeBool | 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 | |
| std::atomic< int32_t > | 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 49 of file vtkOctreePointLocator.h.
Definition at line 52 of file vtkOctreePointLocator.h.
|
protected |
|
overrideprotected |
|
protecteddelete |
|
static |
|
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.
|
static |
|
protectedvirtual |
Reimplemented from vtkAbstractPointLocator.
| vtkOctreePointLocator* vtkOctreePointLocator::NewInstance | ( | ) | const |
|
overridevirtual |
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.
|
static |
|
virtual |
Maximum number of points per spatial region.
Default is 100.
|
virtual |
|
virtual |
Get/Set macro for CreateCubicOctants.
|
virtual |
|
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 |
|
overridevirtual |
Get the spatial bounds of the entire octree space.
Sets bounds array to xmin, xmax, ymin, ymax, zmin, zmax.
Reimplemented from vtkAbstractPointLocator.
|
overridevirtual |
Reimplemented from vtkAbstractPointLocator.
|
virtual |
The number of leaf nodes of the tree, the spatial regions.
| void vtkOctreePointLocator::GetRegionBounds | ( | int | regionID, |
| double | bounds[6] | ||
| ) |
Get the spatial bounds of octree region.
| void vtkOctreePointLocator::GetRegionDataBounds | ( | int | leafNodeID, |
| double | bounds[6] | ||
| ) |
Get the bounds of the data within the leaf node.
| int vtkOctreePointLocator::GetRegionContainingPoint | ( | double | x, |
| double | y, | ||
| double | z | ||
| ) |
Get the id of the leaf region containing the specified location.
|
overridevirtual |
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 vtkLocator.
|
overridevirtual |
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.
| vtkIdType vtkOctreePointLocator::FindClosestPoint | ( | double | x, |
| double | y, | ||
| double | z, | ||
| double & | dist2 | ||
| ) |
|
overridevirtual |
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 | ||
| ) |
|
overridevirtual |
Find all points within a specified radius of position x.
The result is not sorted in any specific manner.
Implements vtkAbstractPointLocator.
|
overridevirtual |
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.
|
overridevirtual |
Delete the octree data structure.
Implements vtkLocator.
|
overridevirtual |
Create a polydata representation of the boundaries of the octree regions.
Implements vtkLocator.
| 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 |
|
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 |
|
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.
|
protecteddelete |
|
protected |
Definition at line 192 of file vtkOctreePointLocator.h.
|
protected |
Definition at line 193 of file vtkOctreePointLocator.h.
|
protected |
The maximum number of points in a region/octant before it is subdivided.
Definition at line 253 of file vtkOctreePointLocator.h.
|
protected |
Definition at line 254 of file vtkOctreePointLocator.h.
|
protected |
Definition at line 257 of file vtkOctreePointLocator.h.
|
protected |
Definition at line 258 of file vtkOctreePointLocator.h.
|
protected |
Definition at line 259 of file vtkOctreePointLocator.h.
|
protected |
Definition at line 260 of file vtkOctreePointLocator.h.
|
protected |
Definition at line 262 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 271 of file vtkOctreePointLocator.h.
1.8.17