Spec-Zone.ru › PointCloudLibrary

#include <pcl/recognition/ransac_based/simple_octree.h>

Inheritance graph
[legend]
Collaboration graph
[legend]

Classes

class Node

Public Member Functions

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'. More...
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! A more general version which allows p to be out of bounds is not implemented yet. More...
Node * getFullLeaf (int i, int j, int k)
Since the leaves are aligned in a rectilinear grid, each leaf has a unique id. More...
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. More...
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

Protected Member Functions

void insertNeighbors (Node *node)

Protected Attributes

Scalar voxel_size_ {0.0f}
Scalar bounds_ [6] {}
int tree_levels_ {0}
Node * root_ {nullptr}
std::vector< Node * > full_leaves_
NodeDataCreator * node_data_creator_ {nullptr}

Detailed Description

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
class pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >

Definition at line 58 of file simple_octree.h.

Constructor & Destructor Documentation

SimpleOctree()

template<typename NodeData , typename NodeDataCreator , typename Scalar >
pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::SimpleOctree ( )
inlinedefault

~SimpleOctree()

template<typename NodeData , typename NodeDataCreator , typename Scalar >
pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::~SimpleOctree
inlinevirtual

Definition at line 187 of file simple_octree.hpp.

References pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::clear().

Member Function Documentation

build()

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

Creates an empty octree with bounds at least as large as the ones provided as input and with leaf size equal to 'voxel_size'.

Definition at line 204 of file simple_octree.hpp.

References pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::bounds_, pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::clear(), pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::computeRadius(), pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::node_data_creator_, pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::root_, pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::setBounds(), pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::setCenter(), pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::setParent(), pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::tree_levels_, and pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::voxel_size_.

clear()

template<typename NodeData , typename NodeDataCreator , typename Scalar >
void pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::clear
inline

Definition at line 194 of file simple_octree.hpp.

References pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::root_.

Referenced by pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::build(), and pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::~SimpleOctree().

createLeaf()

template<typename NodeData , typename NodeDataCreator , typename Scalar >
SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node * pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::createLeaf ( Scalar x,
Scalar y,
Scalar z
)
inline

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 pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::bounds_, pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::createChildren(), pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::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(), pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::insertNeighbors(), pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::node_data_creator_, pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::root_, pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::setData(), and pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::tree_levels_.

getBounds() [1/2]

template<typename NodeData , typename NodeDataCreator , typename Scalar = float>
const Scalar* pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::getBounds ( ) const
inline

Definition at line 188 of file simple_octree.h.

getBounds() [2/2]

template<typename NodeData , typename NodeDataCreator , typename Scalar = float>
void pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::getBounds ( Scalar b[6] ) const
inline

Definition at line 191 of file simple_octree.h.

getFullLeaf() [1/2]

template<typename NodeData , typename NodeDataCreator , typename Scalar >
SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node * pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::getFullLeaf ( int i,
int j,
int k
)
inline

Since the leaves are aligned in a rectilinear grid, each leaf has a unique id.

The method returns the full leaf, i.e., the one having a data object, with id [i, j, k] or NULL is no such leaf exists.

Definition at line 289 of file simple_octree.hpp.

References pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::bounds_, and pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::voxel_size_.

Referenced by pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::insertNeighbors().

getFullLeaf() [2/2]

template<typename NodeData , typename NodeDataCreator , typename Scalar >
SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node * pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::getFullLeaf ( Scalar x,
Scalar y,
Scalar z
)
inline

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 pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::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(), pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::root_, and pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::tree_levels_.

getFullLeaves() [1/2]

template<typename NodeData , typename NodeDataCreator , typename Scalar = float>
std::vector<Node*>& pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::getFullLeaves ( )
inline

Definition at line 179 of file simple_octree.h.

getFullLeaves() [2/2]

template<typename NodeData , typename NodeDataCreator , typename Scalar = float>
const std::vector<Node*>& pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::getFullLeaves ( ) const
inline

Definition at line 182 of file simple_octree.h.

getRoot()

template<typename NodeData , typename NodeDataCreator , typename Scalar = float>
Node* pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::getRoot ( )
inline

Definition at line 185 of file simple_octree.h.

getVoxelSize()

template<typename NodeData , typename NodeDataCreator , typename Scalar = float>
Scalar pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::getVoxelSize ( ) const
inline

Definition at line 194 of file simple_octree.h.

insertNeighbors()

template<typename NodeData , typename NodeDataCreator , typename Scalar >
void pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::insertNeighbors ( Node * node )
inlineprotected

Definition at line 338 of file simple_octree.hpp.

References pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::getCenter(), pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::getFullLeaf(), pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::makeNeighbors(), and pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::voxel_size_.

Referenced by pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::createLeaf().

Member Data Documentation

bounds_

template<typename NodeData , typename NodeDataCreator , typename Scalar = float>
Scalar pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::bounds_[6] {}
protected

Definition at line 201 of file simple_octree.h.

Referenced by pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::build(), pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::computeRadius(), pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::createLeaf(), pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::getFullLeaf(), and pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::setBounds().

full_leaves_

template<typename NodeData , typename NodeDataCreator , typename Scalar = float>
std::vector<Node*> pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::full_leaves_
protected

Definition at line 204 of file simple_octree.h.

Referenced by pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::createLeaf().

node_data_creator_

template<typename NodeData , typename NodeDataCreator , typename Scalar = float>
NodeDataCreator* pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::node_data_creator_ {nullptr}
protected

Definition at line 205 of file simple_octree.h.

Referenced by pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::build(), and pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::createLeaf().

root_

template<typename NodeData , typename NodeDataCreator , typename Scalar = float>
Node* pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::root_ {nullptr}
protected

Definition at line 203 of file simple_octree.h.

Referenced by pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::build(), pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::clear(), pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::createLeaf(), and pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::getFullLeaf().

tree_levels_

template<typename NodeData , typename NodeDataCreator , typename Scalar = float>
int pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::tree_levels_ {0}
protected

Definition at line 202 of file simple_octree.h.

Referenced by pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::build(), pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::createLeaf(), and pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::getFullLeaf().

voxel_size_

template<typename NodeData , typename NodeDataCreator , typename Scalar = float>
Scalar pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::voxel_size_ {0.0f}
protected

Definition at line 201 of file simple_octree.h.

Referenced by pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::build(), pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::getFullLeaf(), and pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::insertNeighbors().


The documentation for this class was generated from the following files:
  • pcl/recognition/ransac_based/simple_octree.h
  • pcl/recognition/impl/ransac_based/simple_octree.hpp

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1recognition_1_1_simple_octree.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API