|
| | SimpleOctree () |
| virtual | ~SimpleOctree () |
| void | clear () |
| void | build (const Scalar *bounds, Scalar voxel_size, NodeDataCreator *node_data_creator) |
| | Creates an empty octree with bounds at least as large as the ones provided as input and with leaf size equal to 'voxel_size'.
|
| Node * | createLeaf (Scalar x, Scalar y, Scalar z) |
| | Creates the leaf containing p = (x, y, z) and returns a pointer to it, however, only if p lies within the octree bounds!
|
| Node * | getFullLeaf (int i, int j, int k) |
| | Since the leaves are aligned in a rectilinear grid, each leaf has a unique id.
|
| Node * | getFullLeaf (Scalar x, Scalar y, Scalar z) |
| | Returns a pointer to the full leaf, i.e., one having a data pbject, containing p = (x, y, z) or NULL if no such leaf exists.
|
| std::vector< Node * > & | getFullLeaves () |
| const std::vector< Node * > & | getFullLeaves () const |
| Node * | getRoot () |
| const Scalar * | getBounds () const |
| void | getBounds (Scalar b[6]) const |
| Scalar | getVoxelSize () const |
template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
class pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >
Definition at line 58 of file simple_octree.h.
template<typename NodeData, typename NodeDataCreator, typename Scalar>
| void pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::build |
( |
const Scalar * | bounds, |
|
|
Scalar | voxel_size, |
|
|
NodeDataCreator * | node_data_creator ) |
|
inline |
template<typename NodeData, typename NodeDataCreator, typename Scalar>
Creates the leaf containing p = (x, y, z) and returns a pointer to it, however, only if p lies within the octree bounds!
A more general version which allows p to be out of bounds is not implemented yet. The method returns NULL if p is not within the root bounds. If the leaf containing p already exists nothing happens and method just returns a pointer to the leaf. Note that for a new created leaf, the method also creates its data object.
Definition at line 250 of file simple_octree.hpp.
References bounds_, pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::createChildren(), full_leaves_, pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::getCenter(), pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::getChild(), pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::hasData(), insertNeighbors(), node_data_creator_, root_, pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::setData(), and tree_levels_.
template<typename NodeData, typename NodeDataCreator, typename Scalar>
template<typename NodeData, typename NodeDataCreator, typename Scalar>
Returns a pointer to the full leaf, i.e., one having a data pbject, containing p = (x, y, z) or NULL if no such leaf exists.
Definition at line 302 of file simple_octree.hpp.
References bounds_, pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::getCenter(), pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::getChild(), pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::hasChildren(), pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::hasData(), root_, and tree_levels_.