pcl::octree::OctreeBreadthFirstIterator< OctreeT > Class Template Reference
Module octree

Octree iterator class More...

`#include <pcl/octree/octree_iterator.h>`

Inheritance diagram for pcl::octree::OctreeBreadthFirstIterator< OctreeT >:

## Public Member Functions

| OctreeBreadthFirstIterator (unsigned int max_depth_arg=0)
| Empty constructor. More...
| OctreeBreadthFirstIterator (OctreeT *octree_arg, unsigned int max_depth_arg=0)
| Constructor. More...
virtual | ~OctreeBreadthFirstIterator ()
| Empty deconstructor. More...
OctreeBreadthFirstIterator & | operator= (const OctreeBreadthFirstIterator &src)
| Copy operator. More...
void | reset ()
| Reset the iterator to the root node of the octree. More...
OctreeBreadthFirstIterator & | operator++ ()
| Preincrement operator. More...
OctreeBreadthFirstIterator | operator++ (int)
| postincrement operator. 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...
OctreeIteratorBase & | operator= (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 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::deque< IteratorState > | FIFO_
| FIFO list. 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...

## Additional Inherited Members

Public Types inherited from pcl::octree::OctreeIteratorBase< OctreeT >
typedef OctreeT::LeafNode | LeafNode
typedef OctreeT::BranchNode | BranchNode
typedef OctreeT::LeafContainer | LeafContainer
typedef OctreeT::BranchContainer | BranchContainer

## Detailed Description

### template<typename OctreeT>
class pcl::octree::OctreeBreadthFirstIterator< OctreeT >

Octree iterator class

Note
  This class implements a forward iterator for traversing octrees in a breadth-first manner.

Author
  Julius Kammerl (juliu.nosp@m.s@ka.nosp@m.mmerl.nosp@m..de)

Definition at line 453 of file octree_iterator.h.

## Constructor & Destructor Documentation

template<typename OctreeT >

pcl::octree::OctreeBreadthFirstIterator< OctreeT >::OctreeBreadthFirstIterator | ( | unsigned int | max_depth_arg = `0` | ) |

explicit

Empty constructor.

Parameters

  [in] | max_depth_arg | Depth limitation during traversal

Definition at line 185 of file octree_iterator.hpp.

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

template<typename OctreeT >

pcl::octree::OctreeBreadthFirstIterator< OctreeT >::OctreeBreadthFirstIterator | ( | OctreeT * | octree_arg,
|  | unsigned int | max_depth_arg = `0`
| ) |  |

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 196 of file octree_iterator.hpp.

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

template<typename OctreeT >

pcl::octree::OctreeBreadthFirstIterator< OctreeT >::~OctreeBreadthFirstIterator | ( |  | ) |

virtual

Empty deconstructor.

Definition at line 207 of file octree_iterator.hpp.

## Member Function Documentation

template<typename OctreeT >

OctreeBreadthFirstIterator< OctreeT > & pcl::octree::OctreeBreadthFirstIterator< OctreeT >::operator++ | ( |  | ) |

Preincrement operator.

Note
  step to next octree node

Definition at line 237 of file octree_iterator.hpp.

References pcl::octree::BRANCH_NODE, pcl::octree::OctreeIteratorBase< OctreeT >::current_state_, pcl::octree::IteratorState::depth_, pcl::octree::OctreeBreadthFirstIterator< OctreeT >::FIFO_, 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(), and pcl::octree::OctreeKey::pushBranch().

template<typename OctreeT >

OctreeBreadthFirstIterator pcl::octree::OctreeBreadthFirstIterator< OctreeT >::operator++ | ( | int |  | ) |

inline

postincrement operator.

Note
  step to next octree node

Definition at line 515 of file octree_iterator.h.

template<typename OctreeT >

OctreeBreadthFirstIterator& pcl::octree::OctreeBreadthFirstIterator< OctreeT >::operator= | ( | const OctreeBreadthFirstIterator< OctreeT > & | src | ) |

inline

Copy operator.

Parameters

  [in] | src | the iterator to copy into this

Definition at line 482 of file octree_iterator.h.

References pcl::octree::OctreeBreadthFirstIterator< OctreeT >::FIFO_, and pcl::octree::OctreeIteratorBase< OctreeT >::operator=().

template<typename OctreeT >

void pcl::octree::OctreeBreadthFirstIterator< OctreeT >::reset | ( |  | ) |

Reset the iterator to the root node of the octree.

Definition at line 213 of file octree_iterator.hpp.

References pcl::octree::OctreeIteratorBase< OctreeT >::current_state_, pcl::octree::IteratorState::depth_, pcl::octree::OctreeBreadthFirstIterator< OctreeT >::FIFO_, pcl::octree::IteratorState::key_, pcl::octree::IteratorState::node_, pcl::octree::OctreeIteratorBase< OctreeT >::octree_, pcl::octree::OctreeIteratorBase< OctreeT >::reset(), pcl::octree::OctreeKey::x, pcl::octree::OctreeKey::y, and pcl::octree::OctreeKey::z.

Referenced by pcl::octree::OctreeBreadthFirstIterator< OctreeT >::OctreeBreadthFirstIterator().

## Member Data Documentation

template<typename OctreeT >

std::deque<IteratorState> pcl::octree::OctreeBreadthFirstIterator< OctreeT >::FIFO_

protected

FIFO list.

Definition at line 524 of file octree_iterator.h.

Referenced by pcl::octree::OctreeBreadthFirstIterator< OctreeT >::operator++(), pcl::octree::OctreeBreadthFirstIterator< OctreeT >::operator=(), and pcl::octree::OctreeBreadthFirstIterator< OctreeT >::reset().

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

- /build/pcl-6_P28C/pcl-1.7.2/octree/include/pcl/octree/octree_iterator.h
- /build/pcl-6_P28C/pcl-1.7.2/octree/include/pcl/octree/impl/octree_iterator.hpp