pcl::octree::OctreeIteratorBase< OctreeT > Class Template Reference
[Module octree]

Abstract octree iterator class More...

#include <pcl/octree/octree_iterator.h>

Inheritance diagram for pcl::octree::OctreeIteratorBase< OctreeT >:
Inheritance graph
[legend]
Collaboration diagram for pcl::octree::OctreeIteratorBase< OctreeT >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef OctreeT::LeafNode LeafNode
typedef OctreeT::BranchNode BranchNode
typedef OctreeT::LeafContainer LeafContainer
typedef OctreeT::BranchContainer BranchContainer

Public Member Functions

 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.
void reset ()
 Reset iterator.
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

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::OctreeIteratorBase< OctreeT >

Abstract octree iterator class

Note:
Octree iterator base class
Author:
Julius Kammerl (julius@kammerl.de)

Definition at line 78 of file octree_iterator.h.


Member Typedef Documentation

template<typename OctreeT>
typedef OctreeT::BranchContainer pcl::octree::OctreeIteratorBase< OctreeT >::BranchContainer

Definition at line 87 of file octree_iterator.h.

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

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

Definition at line 84 of file octree_iterator.h.

template<typename OctreeT>
typedef OctreeT::LeafContainer pcl::octree::OctreeIteratorBase< OctreeT >::LeafContainer

Definition at line 86 of file octree_iterator.h.

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

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

Definition at line 83 of file octree_iterator.h.


Constructor & Destructor Documentation

template<typename OctreeT>
pcl::octree::OctreeIteratorBase< OctreeT >::OctreeIteratorBase ( unsigned int  max_depth_arg = 0  )  [inline, explicit]

Empty constructor.

Definition at line 92 of file octree_iterator.h.

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

template<typename OctreeT>
pcl::octree::OctreeIteratorBase< OctreeT >::OctreeIteratorBase ( OctreeT *  octree_arg,
unsigned int  max_depth_arg = 0 
) [inline, explicit]

Constructor.

Parameters:
[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 103 of file octree_iterator.h.

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

template<typename OctreeT>
pcl::octree::OctreeIteratorBase< OctreeT >::OctreeIteratorBase ( const OctreeIteratorBase< OctreeT > &  src,
unsigned int  max_depth_arg = 0 
) [inline]

Copy constructor.

Parameters:
[in] src the iterator to copy into this
[in] max_depth_arg Depth limitation during traversal

Definition at line 113 of file octree_iterator.h.

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

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

Empty deconstructor.

Definition at line 133 of file octree_iterator.h.


Member Function Documentation

template<typename OctreeT>
BranchContainer& pcl::octree::OctreeIteratorBase< OctreeT >::getBranchContainer (  )  [inline]
template<typename OctreeT>
const BranchContainer& pcl::octree::OctreeIteratorBase< OctreeT >::getBranchContainer (  )  const [inline]
template<typename OctreeT>
unsigned int pcl::octree::OctreeIteratorBase< OctreeT >::getCurrentOctreeDepth (  )  const [inline]
template<typename OctreeT>
const OctreeKey& pcl::octree::OctreeIteratorBase< OctreeT >::getCurrentOctreeKey (  )  const [inline]
template<typename OctreeT>
OctreeNode* pcl::octree::OctreeIteratorBase< OctreeT >::getCurrentOctreeNode (  )  const [inline]
template<typename OctreeT>
LeafContainer& pcl::octree::OctreeIteratorBase< OctreeT >::getLeafContainer (  )  [inline]

Method for retrieving a single leaf container from the octree leaf node.

Returns:
Reference to container class of leaf node.

Definition at line 287 of file octree_iterator.h.

References pcl::octree::OctreeIteratorBase< OctreeT >::current_state_, pcl::octree::OctreeIteratorBase< OctreeT >::isLeafNode(), pcl::octree::IteratorState::node_, and pcl::octree::OctreeIteratorBase< OctreeT >::octree_.

template<typename OctreeT>
const LeafContainer& pcl::octree::OctreeIteratorBase< OctreeT >::getLeafContainer (  )  const [inline]
template<typename OctreeT>
char pcl::octree::OctreeIteratorBase< OctreeT >::getNodeConfiguration (  )  const [inline]

Get bit pattern of children configuration of current node.

Returns:
bit pattern (byte) describing the existence of 8 children of the current node

Definition at line 247 of file octree_iterator.h.

References pcl::octree::OctreeIteratorBase< OctreeT >::current_state_, pcl::octree::OctreeIteratorBase< OctreeT >::isBranchNode(), pcl::octree::IteratorState::node_, and pcl::octree::OctreeIteratorBase< OctreeT >::octree_.

template<typename OctreeT>
virtual unsigned long pcl::octree::OctreeIteratorBase< OctreeT >::getNodeID (  )  const [inline, virtual]
template<typename OctreeT>
bool pcl::octree::OctreeIteratorBase< OctreeT >::isBranchNode (  )  const [inline]
template<typename OctreeT>
bool pcl::octree::OctreeIteratorBase< OctreeT >::isLeafNode (  )  const [inline]
template<typename OctreeT>
bool pcl::octree::OctreeIteratorBase< OctreeT >::operator!= ( const OctreeIteratorBase< OctreeT > &  other  )  const [inline]
template<typename OctreeT>
OctreeNode* pcl::octree::OctreeIteratorBase< OctreeT >::operator* (  )  const [inline]
template<typename OctreeT>
OctreeIteratorBase& pcl::octree::OctreeIteratorBase< OctreeT >::operator= ( const OctreeIteratorBase< OctreeT > &  src  )  [inline]
template<typename OctreeT>
bool pcl::octree::OctreeIteratorBase< OctreeT >::operator== ( const OctreeIteratorBase< OctreeT > &  other  )  const [inline]
template<typename OctreeT>
void pcl::octree::OctreeIteratorBase< OctreeT >::reset (  )  [inline]

Member Data Documentation

template<typename OctreeT>
IteratorState* pcl::octree::OctreeIteratorBase< OctreeT >::current_state_ [protected]

Pointer to current iterator state.

Definition at line 355 of file octree_iterator.h.

Referenced by pcl::octree::OctreeIteratorBase< OctreeT >::getBranchContainer(), pcl::octree::OctreeIteratorBase< OctreeT >::getCurrentOctreeDepth(), pcl::octree::OctreeIteratorBase< OctreeT >::getCurrentOctreeKey(), pcl::octree::OctreeIteratorBase< OctreeT >::getCurrentOctreeNode(), pcl::octree::OctreeIteratorBase< OctreeT >::getLeafContainer(), pcl::octree::OctreeIteratorBase< OctreeT >::getNodeConfiguration(), pcl::octree::OctreeIteratorBase< OctreeT >::getNodeID(), pcl::octree::OctreeIteratorBase< OctreeT >::isBranchNode(), pcl::octree::OctreeIteratorBase< OctreeT >::isLeafNode(), pcl::octree::OctreeIteratorBase< OctreeT >::operator!=(), pcl::octree::OctreeLeafNodeIterator< OctreeT >::operator*(), pcl::octree::OctreeIteratorBase< OctreeT >::operator*(), pcl::octree::OctreeLeafNodeIterator< OctreeT >::operator++(), pcl::octree::OctreeBreadthFirstIterator< OctreeT >::operator++(), pcl::octree::OctreeDepthFirstIterator< OctreeT >::operator++(), pcl::octree::OctreeBreadthFirstIterator< OctreeT >::operator=(), pcl::octree::OctreeDepthFirstIterator< OctreeT >::operator=(), pcl::octree::OctreeIteratorBase< OctreeT >::operator=(), pcl::octree::OctreeIteratorBase< OctreeT >::operator==(), pcl::octree::OctreeIteratorBase< OctreeT >::reset(), pcl::octree::OctreeBreadthFirstIterator< OctreeT >::reset(), pcl::octree::OctreeDepthFirstIterator< OctreeT >::reset(), and pcl::octree::OctreeDepthFirstIterator< OctreeT >::skipChildVoxels().

template<typename OctreeT>
unsigned int pcl::octree::OctreeIteratorBase< OctreeT >::max_octree_depth_ [protected]
template<typename OctreeT>
OctreeT* pcl::octree::OctreeIteratorBase< OctreeT >::octree_ [protected]

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