Point Cloud Library (PCL)
1.14.1-dev
|
This class is an implementation of bounding volume hierarchies. More...
#include <pcl/recognition/ransac_based/bvh.h>
Classes | |
class | BoundedObject |
class | Node |
Public Member Functions | |
BVH () | |
virtual | ~BVH () |
void | build (std::vector< BoundedObject * > &objects) |
Creates the tree. More... | |
void | clear () |
Frees the memory allocated by this object. More... | |
const std::vector< BoundedObject * > * | getInputObjects () const |
bool | intersect (const float box[6], std::list< BoundedObject * > &intersected_objects) const |
Pushes back in 'intersected_objects' the bounded objects intersected by the input 'box' and returns true. More... | |
Protected Attributes | |
Node * | root_ |
std::vector< BoundedObject * > * | sorted_objects_ |
This class is an implementation of bounding volume hierarchies.
Use the build method to construct the data structure. To use the class, construct an std::vector of pointers to BVH::BoundedObject objects and pass it to the build method. BVH::BoundedObject is a template class, so you can save user-defined data in it.
The tree is built such that each leaf contains exactly one object.
|
inline |
|
inlinevirtual |
|
inline |
Creates the tree.
No need to call clear, it's called within the method. 'objects' is a vector of pointers to bounded objects which have to have valid bounds and centroids. Use the getData method of BoundedObject to retrieve the user-defined data saved in the object. Note that vector will be sorted within the method!
The tree is built such that each leaf contains exactly one object.
|
inline |
|
inline |
|
inline |
Pushes back in 'intersected_objects' the bounded objects intersected by the input 'box' and returns true.
Returns false if no objects are intersected.
Definition at line 264 of file bvh.h.
References pcl::recognition::BVH< UserData >::Node::getLeftChild(), pcl::recognition::BVH< UserData >::Node::getObject(), pcl::recognition::BVH< UserData >::Node::getRightChild(), pcl::recognition::BVH< UserData >::Node::hasChildren(), and pcl::recognition::BVH< UserData >::Node::intersect().
|
protected |
|
protected |