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

Octree iterator class More...

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

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

## Public Member Functions

| OctreeFixedDepthIterator ()
| Empty constructor. More...
| OctreeFixedDepthIterator (OctreeT *octree_arg, uindex_t fixed_depth_arg=0)
| Constructor. More...
| OctreeFixedDepthIterator (OctreeT *octree_arg, uindex_t fixed_depth_arg, IteratorState *current_state, const std::deque< IteratorState > &fifo=std::deque< IteratorState >())
| Constructor. More...
| OctreeFixedDepthIterator (const OctreeFixedDepthIterator &other)
| Copy Constructor. More...
OctreeFixedDepthIterator & | operator= (const OctreeFixedDepthIterator &src)
| Copy assignment. More...
void | reset (uindex_t fixed_depth_arg)
| Reset the iterator to the first node at the depth given as parameter. More...
void | reset ()
| Reset the iterator to the first node at the current depth. More...
Public Member Functions inherited from pcl::octree::OctreeBreadthFirstIterator< OctreeT >
| OctreeBreadthFirstIterator (uindex_t max_depth_arg=0)
| Empty constructor. More...
| OctreeBreadthFirstIterator (OctreeT *octree_arg, uindex_t max_depth_arg=0)
| Constructor. More...
| OctreeBreadthFirstIterator (OctreeT *octree_arg, uindex_t max_depth_arg, IteratorState *current_state, const std::deque< IteratorState > &fifo=std::deque< IteratorState >())
| Constructor. More...
| OctreeBreadthFirstIterator (const OctreeBreadthFirstIterator &other)
| Copy Constructor. 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 ()
| Empty constructor. More...
| OctreeIteratorBase (uindex_t max_depth_arg)
| Constructor. More...
| OctreeIteratorBase (OctreeT *octree_arg)
| Constructor. More...
| OctreeIteratorBase (OctreeT *octree_arg, uindex_t max_depth_arg)
| Constructor. More...
| OctreeIteratorBase (OctreeT *octree_arg, uindex_t max_depth_arg, IteratorState *current_state)
| Constructor. 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...
uindex_t | 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

uindex_t | fixed_depth_
| Given level of the node to be iterated. More...
Protected Attributes inherited from pcl::octree::OctreeBreadthFirstIterator< OctreeT >
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...
uindex_t | max_octree_depth_
| Maximum octree depth. More...

## Additional Inherited Members

Public Types inherited from pcl::octree::OctreeBreadthFirstIterator< OctreeT >
using | BranchNode = typename OctreeIteratorBase< OctreeT >::BranchNode
using | LeafNode = typename OctreeIteratorBase< OctreeT >::LeafNode
Public Types inherited from pcl::octree::OctreeIteratorBase< OctreeT >
using | LeafNode = typename OctreeT::LeafNode
using | BranchNode = typename OctreeT::BranchNode
using | LeafContainer = typename OctreeT::LeafContainer
using | BranchContainer = typename OctreeT::BranchContainer

## Detailed Description

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

Octree iterator class

Note
  Iterator over all existing nodes at a given depth. It walks across an octree in a breadth-first manner.

Author
  Fabien Rozar (fabie.nosp@m.n.ro.nosp@m.zar@g.nosp@m.mail.nosp@m..com)

Definition at line 572 of file octree_iterator.h.

## Constructor & Destructor Documentation

## OctreeFixedDepthIterator() [1/4]

template<typename OctreeT >

pcl::octree::OctreeFixedDepthIterator< OctreeT >::OctreeFixedDepthIterator

Empty constructor.

Definition at line 260 of file octree_iterator.hpp.

## OctreeFixedDepthIterator() [2/4]

template<typename OctreeT >

pcl::octree::OctreeFixedDepthIterator< OctreeT >::OctreeFixedDepthIterator | ( | OctreeT * | octree_arg,
|  | uindex_t | fixed_depth_arg = `0`
| ) |  |

explicit

Constructor.

Parameters

  [in] | octree_arg | Octree to be iterated. Initially the iterator is set to its root node.
  [in] | fixed_depth_arg | Depth level during traversal

Definition at line 266 of file octree_iterator.hpp.

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

## OctreeFixedDepthIterator() [3/4]

template<typename OctreeT >

pcl::octree::OctreeFixedDepthIterator< OctreeT >::OctreeFixedDepthIterator | ( | OctreeT * | octree_arg,
|  | uindex_t | fixed_depth_arg,
|  | IteratorState * | current_state,
|  | const std::deque< IteratorState > & | fifo = `std::deque<IteratorState>()`
| ) |  |

inline

Constructor.

Parameters

  [in] | octree_arg | Octree to be iterated. Initially the iterator is set to its root node.
  [in] | fixed_depth_arg | Depth level during traversal
  [in] | current_state | A pointer to the current iterator state
  [in] | fifo | Internal container of octree node to go through

Warning
  For advanced users only.

Definition at line 598 of file octree_iterator.h.

## OctreeFixedDepthIterator() [4/4]

template<typename OctreeT >

pcl::octree::OctreeFixedDepthIterator< OctreeT >::OctreeFixedDepthIterator | ( | const OctreeFixedDepthIterator< OctreeT > & | other | ) |

inline

Copy Constructor.

Parameters

  [in] | other | Another OctreeFixedDepthIterator to copy from

Definition at line 611 of file octree_iterator.h.

References pcl::octree::OctreeFixedDepthIterator< OctreeT >::fixed_depth_.

## Member Function Documentation

## operator=()

template<typename OctreeT >

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

inline

Copy assignment.

Parameters

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

Returns
  pointer to the current octree node

Definition at line 622 of file octree_iterator.h.

References pcl::octree::OctreeFixedDepthIterator< OctreeT >::fixed_depth_, and pcl::octree::OctreeBreadthFirstIterator< OctreeT >::operator=().

## reset() [1/2]

template<typename OctreeT >

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

inline

Reset the iterator to the first node at the current depth.

Definition at line 639 of file octree_iterator.h.

References pcl::octree::OctreeFixedDepthIterator< OctreeT >::fixed_depth_.

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

## reset() [2/2]

template<typename OctreeT >

void pcl::octree::OctreeFixedDepthIterator< OctreeT >::reset | ( | uindex_t | fixed_depth_arg | ) |

Reset the iterator to the first node at the depth given as parameter.

Parameters

  [in] | fixed_depth_arg | Depth level during traversal

Definition at line 277 of file octree_iterator.hpp.

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

## Member Data Documentation

## fixed_depth_

template<typename OctreeT >

uindex_t pcl::octree::OctreeFixedDepthIterator< OctreeT >::fixed_depth_

protected

Given level of the node to be iterated.

Definition at line 648 of file octree_iterator.h.

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

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

- pcl/octree/octree_iterator.h
- pcl/octree/impl/octree_iterator.hpp