Point Cloud Library (PCL) 1.12.0
|
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. | |
void | clear () |
Frees the memory allocated by this object. | |
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. | |
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 |
|
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.
Definition at line 230 of file bvh.h.
References pcl::ConstCloudIterator< PointT >::size().
|
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 263 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 |