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.
OctreeIteratorBaseoperator= (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 OctreeKeygetCurrentOctreeKey () const
 Get octree key for the current iterator octree node.
unsigned int getCurrentOctreeDepth () const
 Get the current depth level of octree.
OctreeNodegetCurrentOctreeNode () 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
OctreeNodeoperator* () const
 *operator.
char getNodeConfiguration () const
 Get bit pattern of children configuration of current node.
const LeafContainergetLeafContainer () const
 Method for retrieving a single leaf container from the octree leaf node.
LeafContainergetLeafContainer ()
 Method for retrieving a single leaf container from the octree leaf node.
const BranchContainergetBranchContainer () const
 Method for retrieving the container from an octree branch node.
BranchContainergetBranchContainer ()
 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

OctreeToctree_
 Reference to octree class.
IteratorStatecurrent_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