Point Cloud Library (PCL)  1.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions
pcl::octree::OctreeLeafNodeIterator< DataT, LeafT, OctreeT > Class Template Reference

Octree leaf node iterator class. More...

#include <pcl/octree/octree_iterator.h>

Inheritance diagram for pcl::octree::OctreeLeafNodeIterator< DataT, LeafT, OctreeT >:
Inheritance graph
[legend]
Collaboration diagram for pcl::octree::OctreeLeafNodeIterator< DataT, LeafT, OctreeT >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 OctreeLeafNodeIterator (const OctreeT &octree_arg)
 Constructor.
virtual ~OctreeLeafNodeIterator ()
 Empty deconstructor.
OctreeLeafNodeIteratoroperator++ ()
 Preincrement operator.
OctreeLeafNodeIterator operator++ (int)
 Postincrement operator.
const LeafT * operator* () const
 *operator.
virtual void getData (const DataT *&data_arg) const
 Method for retrieving a single DataT element from the octree leaf node.
virtual void getData (std::vector< DataT > &dataVector_arg) const
 Method for retrieving a vector of DataT elements from the octree laef node.
void reset ()
 Reset the iterator to the root node of the octree.
const OctreeKey & getCurrentOctreeKey () const
 Get octree key for the current iterator octree node.
unsigned int getCurrentOctreeDepth () const
 Get the current depth level of octree.
const OctreeNodegetCurrentOctreeNode () const
 Get the current octree node.
void getVoxelBounds (Eigen::Vector3f &min_pt, Eigen::Vector3f &max_pt) const
 Generate bounds of the current octree voxel.
bool operator== (const OctreeNodeIterator &right_arg) const
 Equality operator.
bool operator!= (const OctreeNodeIterator &right_arg) const
 Inequality operator.
void skipChildVoxels ()
 Skip all child voxels of current node and return to parent node.

Detailed Description

template<typename DataT, typename LeafT, typename OctreeT>
class pcl::octree::OctreeLeafNodeIterator< DataT, LeafT, OctreeT >

Octree leaf node iterator class.

Note:
This class implements a forward iterator for traversing the leaf node an octree data structure.
Author:
Julius Kammerl (julius@kammerl.de)

Definition at line 200 of file octree_iterator.h.


Constructor & Destructor Documentation

template<typename DataT , typename LeafT , typename OctreeT >
pcl::octree::OctreeLeafNodeIterator< DataT, LeafT, OctreeT >::OctreeLeafNodeIterator ( const OctreeT &  octree_arg) [inline, explicit]

Constructor.

Parameters:
[in]octree_argOctree to be iterated. Initially the iterator is set to its root node.

Definition at line 207 of file octree_iterator.h.

template<typename DataT , typename LeafT , typename OctreeT >
virtual pcl::octree::OctreeLeafNodeIterator< DataT, LeafT, OctreeT >::~OctreeLeafNodeIterator ( ) [inline, virtual]

Empty deconstructor.

Definition at line 214 of file octree_iterator.h.


Member Function Documentation

template<typename DataT , typename LeafT , typename OctreeT >
unsigned int pcl::octree::OctreeNodeIterator< DataT, LeafT, OctreeT >::getCurrentOctreeDepth ( ) const [inline, inherited]

Get the current depth level of octree.

Returns:
depth level

Definition at line 99 of file octree_iterator.h.

template<typename DataT , typename LeafT , typename OctreeT >
const OctreeKey& pcl::octree::OctreeNodeIterator< DataT, LeafT, OctreeT >::getCurrentOctreeKey ( ) const [inline, inherited]

Get octree key for the current iterator octree node.

Returns:
octree key of current node

Definition at line 90 of file octree_iterator.h.

template<typename DataT , typename LeafT , typename OctreeT >
const OctreeNode* pcl::octree::OctreeNodeIterator< DataT, LeafT, OctreeT >::getCurrentOctreeNode ( ) const [inline, inherited]

Get the current octree node.

Returns:
pointer to current octree node

Definition at line 108 of file octree_iterator.h.

template<typename DataT , typename LeafT , typename OctreeT >
virtual void pcl::octree::OctreeLeafNodeIterator< DataT, LeafT, OctreeT >::getData ( const DataT *&  data_arg) const [inline, virtual]

Method for retrieving a single DataT element from the octree leaf node.

Parameters:
[in]data_argreference to return pointer of leaf node DataT element.

Definition at line 261 of file octree_iterator.h.

template<typename DataT , typename LeafT , typename OctreeT >
virtual void pcl::octree::OctreeLeafNodeIterator< DataT, LeafT, OctreeT >::getData ( std::vector< DataT > &  dataVector_arg) const [inline, virtual]

Method for retrieving a vector of DataT elements from the octree laef node.

Parameters:
[out]dataVector_argreference to DataT vector that is extended with leaf node DataT elements.

Definition at line 277 of file octree_iterator.h.

template<typename DataT , typename LeafT , typename OctreeT >
void pcl::octree::OctreeNodeIterator< DataT, LeafT, OctreeT >::getVoxelBounds ( Eigen::Vector3f &  min_pt,
Eigen::Vector3f &  max_pt 
) const [inline, inherited]

Generate bounds of the current octree voxel.

Parameters:
[out]min_ptlower bound of voxel
[out]max_ptupper bound of voxel

Definition at line 118 of file octree_iterator.h.

template<typename DataT , typename LeafT , typename OctreeT >
bool pcl::octree::OctreeNodeIterator< DataT, LeafT, OctreeT >::operator!= ( const OctreeNodeIterator< DataT, LeafT, OctreeT > &  right_arg) const [inline, inherited]

Inequality operator.

Returns:
return true if two OctreeNodeIterator are not equal. False otherwise.

Definition at line 145 of file octree_iterator.h.

template<typename DataT , typename LeafT , typename OctreeT >
const LeafT* pcl::octree::OctreeLeafNodeIterator< DataT, LeafT, OctreeT >::operator* ( ) const [inline]

*operator.

Returns:
const pointer to the current octree leaf node

Reimplemented from pcl::octree::OctreeNodeIterator< DataT, LeafT, OctreeT >.

Definition at line 247 of file octree_iterator.h.

template<typename DataT , typename LeafT , typename OctreeT >
OctreeLeafNodeIterator& pcl::octree::OctreeLeafNodeIterator< DataT, LeafT, OctreeT >::operator++ ( ) [inline]

Preincrement operator.

Note:
recursively step to next octree leaf node

Reimplemented from pcl::octree::OctreeNodeIterator< DataT, LeafT, OctreeT >.

Definition at line 222 of file octree_iterator.h.

template<typename DataT , typename LeafT , typename OctreeT >
OctreeLeafNodeIterator pcl::octree::OctreeLeafNodeIterator< DataT, LeafT, OctreeT >::operator++ ( int  ) [inline]

Postincrement operator.

Note:
recursively step to next octree leaf node

Reimplemented from pcl::octree::OctreeNodeIterator< DataT, LeafT, OctreeT >.

Definition at line 236 of file octree_iterator.h.

template<typename DataT , typename LeafT , typename OctreeT >
bool pcl::octree::OctreeNodeIterator< DataT, LeafT, OctreeT >::operator== ( const OctreeNodeIterator< DataT, LeafT, OctreeT > &  right_arg) const [inline, inherited]

Equality operator.

Returns:
return true if two OctreeNodeIterator are equal. False otherwise.

Definition at line 136 of file octree_iterator.h.

template<typename DataT , typename LeafT , typename OctreeT >
void pcl::octree::OctreeNodeIterator< DataT, LeafT, OctreeT >::reset ( ) [inline, inherited]

Reset the iterator to the root node of the octree.

Definition at line 78 of file octree_iterator.hpp.

template<typename DataT , typename LeafT , typename OctreeT >
void pcl::octree::OctreeNodeIterator< DataT, LeafT, OctreeT >::skipChildVoxels ( ) [inherited]

Skip all child voxels of current node and return to parent node.

Definition at line 95 of file octree_iterator.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines