Point Cloud Library (PCL)
1.9.0dev

Octree iterator class More...
#include <pcl/octree/octree_iterator.h>
Public Types  
typedef OctreeIteratorBase< OctreeT >::LeafNode  LeafNode 
typedef OctreeIteratorBase< OctreeT >::BranchNode  BranchNode 
Public Types inherited from pcl::octree::OctreeIteratorBase< OctreeT >  
typedef OctreeT::LeafNode  LeafNode 
typedef OctreeT::BranchNode  BranchNode 
typedef OctreeT::LeafContainer  LeafContainer 
typedef OctreeT::BranchContainer  BranchContainer 
Public Member Functions  
OctreeDepthFirstIterator (unsigned int max_depth_arg=0)  
Empty constructor. More...  
OctreeDepthFirstIterator (OctreeT *octree_arg, unsigned int max_depth_arg=0)  
Constructor. More...  
OctreeDepthFirstIterator (OctreeT *octree_arg, unsigned int max_depth_arg, IteratorState *current_state, const std::vector< IteratorState > &stack=std::vector< IteratorState >())  
Constructor. More...  
OctreeDepthFirstIterator (const OctreeDepthFirstIterator &other)  
Copy Constructor. More...  
OctreeDepthFirstIterator &  operator= (const OctreeDepthFirstIterator &src) 
Copy assignment. More...  
virtual void  reset () 
Reset the iterator to the root node of the octree. More...  
OctreeDepthFirstIterator &  operator++ () 
Preincrement operator. More...  
OctreeDepthFirstIterator  operator++ (int) 
postincrement operator. More...  
void  skipChildVoxels () 
Skip all child voxels of current node and return to parent node. More...  
Public Member Functions inherited from pcl::octree::OctreeIteratorBase< OctreeT >  
OctreeIteratorBase (unsigned int max_depth_arg=0)  
Empty constructor. More...  
OctreeIteratorBase (OctreeT *octree_arg, unsigned int max_depth_arg=0)  
Constructor. More...  
OctreeIteratorBase (OctreeT *octree_arg, unsigned int max_depth_arg, IteratorState *current_state)  
Constructor. More...  
virtual  ~OctreeIteratorBase () 
Empty deconstructor. More...  
bool  operator== (const OctreeIteratorBase &other) const 
Equal comparison operator. More...  
bool  operator!= (const OctreeIteratorBase &other) const 
Inequal comparison operator. More...  
void  reset () 
Reset iterator. More...  
const OctreeKey &  getCurrentOctreeKey () const 
Get octree key for the current iterator octree node. More...  
unsigned int  getCurrentOctreeDepth () const 
Get the current depth level of octree. More...  
OctreeNode *  getCurrentOctreeNode () const 
Get the current octree node. More...  
bool  isBranchNode () const 
check if current node is a branch node More...  
bool  isLeafNode () const 
check if current node is a branch node More...  
OctreeNode *  operator* () const 
*operator. More...  
char  getNodeConfiguration () const 
Get bit pattern of children configuration of current node. More...  
const LeafContainer &  getLeafContainer () const 
Method for retrieving a single leaf container from the octree leaf node. More...  
LeafContainer &  getLeafContainer () 
Method for retrieving a single leaf container from the octree leaf node. More...  
const BranchContainer &  getBranchContainer () const 
Method for retrieving the container from an octree branch node. More...  
BranchContainer &  getBranchContainer () 
Method for retrieving the container from an octree branch node. More...  
virtual unsigned long  getNodeID () const 
get a integer identifier for current node (note: identifier depends on tree depth). More...  
Protected Attributes  
std::vector< IteratorState >  stack_ 
Stack structure. More...  
Protected Attributes inherited from pcl::octree::OctreeIteratorBase< OctreeT >  
OctreeT *  octree_ 
Reference to octree class. More...  
IteratorState *  current_state_ 
Pointer to current iterator state. More...  
unsigned int  max_octree_depth_ 
Maximum octree depth. More...  
Octree iterator class
Definition at line 368 of file octree_iterator.h.
typedef OctreeIteratorBase<OctreeT>::BranchNode pcl::octree::OctreeDepthFirstIterator< OctreeT >::BranchNode 
Definition at line 374 of file octree_iterator.h.
typedef OctreeIteratorBase<OctreeT>::LeafNode pcl::octree::OctreeDepthFirstIterator< OctreeT >::LeafNode 
Definition at line 373 of file octree_iterator.h.

explicit 
Empty constructor.
[in]  max_depth_arg  Depth limitation during traversal 
Definition at line 50 of file octree_iterator.hpp.
References pcl::octree::OctreeDepthFirstIterator< OctreeT >::reset().

explicit 
Constructor.
[in]  octree_arg  Octree to be iterated. Initially the iterator is set to its root node. 
[in]  max_depth_arg  Depth limitation during traversal 
Definition at line 59 of file octree_iterator.hpp.
References pcl::octree::OctreeDepthFirstIterator< OctreeT >::reset().

inlineexplicit 
Constructor.
[in]  octree_arg  Octree to be iterated. Initially the iterator is set to its root node. 
[in]  max_depth_arg  Depth limitation during traversal 
[in]  current_state  A pointer to the current iterator state 
Definition at line 397 of file octree_iterator.h.

inline 
Copy Constructor.
[in]  other  Another OctreeDepthFirstIterator to copy from 
Definition at line 408 of file octree_iterator.h.
OctreeDepthFirstIterator< OctreeT > & pcl::octree::OctreeDepthFirstIterator< OctreeT >::operator++  (  ) 
Preincrement operator.
Definition at line 121 of file octree_iterator.hpp.
References pcl::octree::BRANCH_NODE, pcl::octree::OctreeIteratorBase< OctreeT >::current_state_, pcl::octree::IteratorState::depth_, pcl::octree::OctreeNode::getNodeType(), pcl::octree::IteratorState::key_, pcl::octree::OctreeIteratorBase< OctreeT >::max_octree_depth_, pcl::octree::IteratorState::node_, pcl::octree::OctreeIteratorBase< OctreeT >::octree_, pcl::octree::OctreeKey::popBranch(), pcl::octree::OctreeKey::pushBranch(), and pcl::octree::OctreeDepthFirstIterator< OctreeT >::stack_.
Referenced by pcl::octree::OctreeLeafNodeDepthFirstIterator< OctreeT >::operator++().

inline 
postincrement operator.
Definition at line 452 of file octree_iterator.h.

inline 
Copy assignment.
[in]  src  the iterator to copy into this 
Definition at line 419 of file octree_iterator.h.
References pcl::octree::OctreeDepthFirstIterator< OctreeT >::stack_.

virtual 
Reset the iterator to the root node of the octree.
Reimplemented in pcl::octree::OctreeLeafNodeDepthFirstIterator< OctreeT >.
Definition at line 68 of file octree_iterator.hpp.
References pcl::octree::OctreeIteratorBase< OctreeT >::current_state_, pcl::octree::IteratorState::depth_, pcl::octree::IteratorState::key_, pcl::octree::OctreeIteratorBase< OctreeT >::max_octree_depth_, pcl::octree::IteratorState::node_, pcl::octree::OctreeIteratorBase< OctreeT >::octree_, pcl::octree::OctreeIteratorBase< OctreeT >::reset(), pcl::octree::OctreeDepthFirstIterator< OctreeT >::stack_, pcl::octree::OctreeKey::x, pcl::octree::OctreeKey::y, and pcl::octree::OctreeKey::z.
Referenced by pcl::octree::OctreeDepthFirstIterator< OctreeT >::OctreeDepthFirstIterator(), and pcl::octree::OctreeLeafNodeDepthFirstIterator< OctreeT >::reset().
void pcl::octree::OctreeDepthFirstIterator< OctreeT >::skipChildVoxels  (  ) 
Skip all child voxels of current node and return to parent node.
Definition at line 95 of file octree_iterator.hpp.
References pcl::octree::OctreeIteratorBase< OctreeT >::current_state_, and pcl::octree::OctreeDepthFirstIterator< OctreeT >::stack_.

protected 
Stack structure.
Definition at line 466 of file octree_iterator.h.
Referenced by pcl::octree::OctreeDepthFirstIterator< OctreeT >::operator++(), pcl::octree::OctreeDepthFirstIterator< OctreeT >::operator=(), pcl::octree::OctreeDepthFirstIterator< OctreeT >::reset(), and pcl::octree::OctreeDepthFirstIterator< OctreeT >::skipChildVoxels().