Point Cloud Library (PCL)  1.7.0
List of all members | Public Types | Public Member Functions | Protected Attributes
pcl::octree::OctreeDepthFirstIterator< OctreeT > Class Template Reference

Octree iterator class More...

#include <pcl/octree/octree_iterator.h>

+ Inheritance diagram for pcl::octree::OctreeDepthFirstIterator< OctreeT >:

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.
 OctreeDepthFirstIterator (OctreeT *octree_arg, unsigned int max_depth_arg=0)
 Constructor.
virtual ~OctreeDepthFirstIterator ()
 Empty deconstructor.
OctreeDepthFirstIterator & operator= (const OctreeDepthFirstIterator &src)
 Copy operator.
virtual void reset ()
 Reset the iterator to the root node of the octree.
OctreeDepthFirstIterator & operator++ ()
 Preincrement operator.
OctreeDepthFirstIterator operator++ (int)
 postincrement operator.
void skipChildVoxels ()
 Skip all child voxels of current node and return to parent node.
- Public Member Functions inherited from pcl::octree::OctreeIteratorBase< OctreeT >
 OctreeIteratorBase (unsigned int max_depth_arg=0)
 Empty constructor.
 OctreeIteratorBase (OctreeT *octree_arg, unsigned int max_depth_arg=0)
 Constructor.
 OctreeIteratorBase (const OctreeIteratorBase &src, unsigned int max_depth_arg=0)
 Copy constructor.
OctreeIteratorBase & operator= (const OctreeIteratorBase &src)
 Copy operator.
virtual ~OctreeIteratorBase ()
 Empty deconstructor.
bool operator== (const OctreeIteratorBase &other) const
 Equal comparison operator.
bool operator!= (const OctreeIteratorBase &other) const
 Inequal comparison operator.
const OctreeKey & getCurrentOctreeKey () const
 Get octree key for the current iterator octree node.
unsigned int getCurrentOctreeDepth () const
 Get the current depth level of octree.
OctreeNode * getCurrentOctreeNode () const
 Get the current octree node.
bool isBranchNode () const
 check if current node is a branch node
bool isLeafNode () const
 check if current node is a branch node
OctreeNode * operator* () const
 *operator.
char getNodeConfiguration () const
 Get bit pattern of children configuration of current node.
const LeafContainer & getLeafContainer () const
 Method for retrieving a single leaf container from the octree leaf node.
LeafContainer & getLeafContainer ()
 Method for retrieving a single leaf container from the octree leaf node.
const BranchContainer & getBranchContainer () const
 Method for retrieving the container from an octree branch node.
BranchContainer & getBranchContainer ()
 Method for retrieving the container from an octree branch node.
virtual unsigned long getNodeID () const
 get a integer identifier for current node (note: identifier depends on tree depth).

Protected Attributes

std::vector< IteratorState > stack_
 Stack structure.
- Protected Attributes inherited from pcl::octree::OctreeIteratorBase< OctreeT >
OctreeT * octree_
 Reference to octree class.
IteratorState * current_state_
 Pointer to current iterator state.
unsigned int max_octree_depth_
 Maximum octree depth.

Detailed Description

template<typename OctreeT>
class pcl::octree::OctreeDepthFirstIterator< OctreeT >

Octree iterator class

Note
This class implements a forward iterator for traversing octrees in a depth-first manner.
Author
Julius Kammerl (juliu.nosp@m.s@ka.nosp@m.mmerl.nosp@m..de)

Definition at line 368 of file octree_iterator.h.

Member Typedef Documentation

Definition at line 374 of file octree_iterator.h.

Definition at line 373 of file octree_iterator.h.

Constructor & Destructor Documentation

template<typename OctreeT >
pcl::octree::OctreeDepthFirstIterator< OctreeT >::OctreeDepthFirstIterator ( unsigned int  max_depth_arg = 0)
explicit

Empty constructor.

Parameters
[in]max_depth_argDepth limitation during traversal

Definition at line 53 of file octree_iterator.hpp.

References pcl::octree::OctreeDepthFirstIterator< OctreeT >::reset().

template<typename OctreeT >
pcl::octree::OctreeDepthFirstIterator< OctreeT >::OctreeDepthFirstIterator ( OctreeT *  octree_arg,
unsigned int  max_depth_arg = 0 
)
explicit

Constructor.

Parameters
[in]octree_argOctree to be iterated. Initially the iterator is set to its root node.
[in]max_depth_argDepth limitation during traversal

Definition at line 62 of file octree_iterator.hpp.

References pcl::octree::OctreeDepthFirstIterator< OctreeT >::reset().

template<typename OctreeT >
pcl::octree::OctreeDepthFirstIterator< OctreeT >::~OctreeDepthFirstIterator ( )
virtual

Empty deconstructor.

Definition at line 71 of file octree_iterator.hpp.

Member Function Documentation

template<typename OctreeT >
OctreeDepthFirstIterator< OctreeT > & pcl::octree::OctreeDepthFirstIterator< OctreeT >::operator++ ( )
template<typename OctreeT>
OctreeDepthFirstIterator pcl::octree::OctreeDepthFirstIterator< OctreeT >::operator++ ( int  )
inline

postincrement operator.

Note
recursively step to next octree node

Reimplemented in pcl::octree::OctreeLeafNodeIterator< OctreeT >.

Definition at line 430 of file octree_iterator.h.

template<typename OctreeT>
OctreeDepthFirstIterator& pcl::octree::OctreeDepthFirstIterator< OctreeT >::operator= ( const OctreeDepthFirstIterator< OctreeT > &  src)
inline

Copy operator.

Parameters
[in]srcthe iterator to copy into this

Definition at line 397 of file octree_iterator.h.

References pcl::octree::OctreeIteratorBase< OctreeT >::current_state_, and pcl::octree::OctreeDepthFirstIterator< OctreeT >::stack_.

template<typename OctreeT >
void pcl::octree::OctreeDepthFirstIterator< OctreeT >::reset ( )
virtual
template<typename OctreeT >
void pcl::octree::OctreeDepthFirstIterator< OctreeT >::skipChildVoxels ( )

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

Definition at line 104 of file octree_iterator.hpp.

Member Data Documentation

template<typename OctreeT>
std::vector<IteratorState> pcl::octree::OctreeDepthFirstIterator< OctreeT >::stack_
protected

Stack structure.

Definition at line 444 of file octree_iterator.h.

Referenced by pcl::octree::OctreeDepthFirstIterator< OctreeT >::operator=().


The documentation for this class was generated from the following files: