Point Cloud Library (PCL)  1.8.1-dev
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. More...
 
 OctreeDepthFirstIterator (OctreeT *octree_arg, unsigned int max_depth_arg=0)
 Constructor. More...
 
virtual ~OctreeDepthFirstIterator ()
 Empty deconstructor. More...
 
OctreeDepthFirstIteratoroperator= (const OctreeDepthFirstIterator &src)
 Copy operator. More...
 
virtual void reset ()
 Reset the iterator to the root node of the octree. More...
 
OctreeDepthFirstIteratoroperator++ ()
 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 (const OctreeIteratorBase &src, unsigned int max_depth_arg=0)
 Copy constructor. More...
 
OctreeIteratorBaseoperator= (const OctreeIteratorBase &src)
 Copy operator. 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 OctreeKeygetCurrentOctreeKey () const
 Get octree key for the current iterator octree node. More...
 
unsigned int getCurrentOctreeDepth () const
 Get the current depth level of octree. More...
 
OctreeNodegetCurrentOctreeNode () 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...
 
OctreeNodeoperator* () const
 *operator. More...
 
char getNodeConfiguration () const
 Get bit pattern of children configuration of current node. More...
 
const LeafContainergetLeafContainer () const
 Method for retrieving a single leaf container from the octree leaf node. More...
 
LeafContainergetLeafContainer ()
 Method for retrieving a single leaf container from the octree leaf node. More...
 
const BranchContainergetBranchContainer () const
 Method for retrieving the container from an octree branch node. More...
 
BranchContainergetBranchContainer ()
 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< IteratorStatestack_
 Stack structure. More...
 
- Protected Attributes inherited from pcl::octree::OctreeIteratorBase< OctreeT >
OctreeT * octree_
 Reference to octree class. More...
 
IteratorStatecurrent_state_
 Pointer to current iterator state. More...
 
unsigned int max_octree_depth_
 Maximum octree depth. More...
 

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 366 of file octree_iterator.h.

Member Typedef Documentation

template<typename OctreeT>
typedef OctreeIteratorBase<OctreeT>::BranchNode pcl::octree::OctreeDepthFirstIterator< OctreeT >::BranchNode

Definition at line 372 of file octree_iterator.h.

template<typename OctreeT>
typedef OctreeIteratorBase<OctreeT>::LeafNode pcl::octree::OctreeDepthFirstIterator< OctreeT >::LeafNode

Definition at line 371 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 48 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 57 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 66 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

Definition at line 428 of file octree_iterator.h.

template<typename OctreeT>
OctreeDepthFirstIterator& pcl::octree::OctreeDepthFirstIterator< OctreeT >::operator= ( const OctreeDepthFirstIterator< OctreeT > &  src)
inline
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 99 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 442 of file octree_iterator.h.

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


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