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

## 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. 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

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...

## Detailed Description

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

Abstract octree iterator class

Note
  Octree iterator base class

Author
  Julius Kammerl (juliu.nosp@m.s@ka.nosp@m.mmerl.nosp@m..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

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

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.

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.

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.

template<typename OctreeT>

virtual pcl::octree::OctreeIteratorBase< OctreeT >::~OctreeIteratorBase | ( |  | ) |

inline virtual

Empty deconstructor.

Definition at line 132 of file octree_iterator.h.

## Member Function Documentation

template<typename OctreeT>

const BranchContainer& pcl::octree::OctreeIteratorBase< OctreeT >::getBranchContainer | ( |  | ) | const

inline

Method for retrieving the container from an octree branch node.

Returns
  BranchContainer.

Definition at line 301 of file octree_iterator.h.

template<typename OctreeT>

BranchContainer& pcl::octree::OctreeIteratorBase< OctreeT >::getBranchContainer | ( |  | ) |

inline

Method for retrieving the container from an octree branch node.

Returns
  BranchContainer.

Definition at line 316 of file octree_iterator.h.

template<typename OctreeT>

unsigned int pcl::octree::OctreeIteratorBase< OctreeT >::getCurrentOctreeDepth | ( |  | ) | const

inline

Get the current depth level of octree.

Returns
  depth level

Definition at line 182 of file octree_iterator.h.

Referenced by pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getVoxelBounds().

template<typename OctreeT>

const OctreeKey& pcl::octree::OctreeIteratorBase< OctreeT >::getCurrentOctreeKey | ( |  | ) | const

inline

Get octree key for the current iterator octree node.

Returns
  octree key of current node

Definition at line 170 of file octree_iterator.h.

Referenced by pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::addPointsFromInputCloud(), and pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >::getVoxelBounds().

template<typename OctreeT>

OctreeNode* pcl::octree::OctreeIteratorBase< OctreeT >::getCurrentOctreeNode | ( |  | ) | const

inline

Get the current octree node.

Returns
  pointer to current octree node

Definition at line 194 of file octree_iterator.h.

template<typename OctreeT>

const LeafContainer& pcl::octree::OctreeIteratorBase< OctreeT >::getLeafContainer | ( |  | ) | const

inline

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

Returns
  Reference to container class of leaf node.

Definition at line 271 of file octree_iterator.h.

Referenced by pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::addPointsFromInputCloud().

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

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

template<typename OctreeT>

virtual unsigned long pcl::octree::OctreeIteratorBase< OctreeT >::getNodeID | ( |  | ) | const

inline virtual

get a integer identifier for current node (note: identifier depends on tree depth).

Returns
  node id.

Definition at line 331 of file octree_iterator.h.

References pcl::octree::OctreeKey::x, pcl::octree::OctreeKey::y, and pcl::octree::OctreeKey::z.

template<typename OctreeT>

bool pcl::octree::OctreeIteratorBase< OctreeT >::isBranchNode | ( |  | ) | const

inline

check if current node is a branch node

Returns
  true if current node is a branch node, false otherwise

Definition at line 207 of file octree_iterator.h.

References pcl::octree::BRANCH_NODE.

template<typename OctreeT>

bool pcl::octree::OctreeIteratorBase< OctreeT >::isLeafNode | ( |  | ) | const

inline

check if current node is a branch node

Returns
  true if current node is a branch node, false otherwise

Definition at line 219 of file octree_iterator.h.

References pcl::octree::LEAF_NODE.

template<typename OctreeT>

bool pcl::octree::OctreeIteratorBase< OctreeT >::operator!= | ( | const OctreeIteratorBase< OctreeT > & | other | ) | const

inline

Inequal comparison operator.

Parameters

  [in] | other | OctreeIteratorBase to compare with

Definition at line 149 of file octree_iterator.h.

References pcl::octree::OctreeIteratorBase< OctreeT >::current_state_, pcl::octree::OctreeIteratorBase< OctreeT >::max_octree_depth_, and pcl::octree::OctreeIteratorBase< OctreeT >::octree_.

template<typename OctreeT>

OctreeNode* pcl::octree::OctreeIteratorBase< OctreeT >::operator* | ( |  | ) | const

inline

*operator.

Returns
  pointer to the current octree node

Definition at line 231 of file octree_iterator.h.

template<typename OctreeT>

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

inline

Copy operator.

Parameters

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

Definition at line 122 of file octree_iterator.h.

References pcl::octree::OctreeIteratorBase< OctreeT >::current_state_, pcl::octree::OctreeIteratorBase< OctreeT >::max_octree_depth_, and pcl::octree::OctreeIteratorBase< OctreeT >::octree_.

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

template<typename OctreeT>

bool pcl::octree::OctreeIteratorBase< OctreeT >::operator== | ( | const OctreeIteratorBase< OctreeT > & | other | ) | const

inline

Equal comparison operator.

Parameters

  [in] | other | OctreeIteratorBase to compare with

Definition at line 139 of file octree_iterator.h.

References pcl::octree::OctreeIteratorBase< OctreeT >::current_state_, pcl::octree::OctreeIteratorBase< OctreeT >::max_octree_depth_, and pcl::octree::OctreeIteratorBase< OctreeT >::octree_.

template<typename OctreeT>

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

inline

Reset iterator.

Definition at line 157 of file octree_iterator.h.

Referenced by pcl::octree::OctreeBreadthFirstIterator< OctreeT >::OctreeBreadthFirstIterator(), pcl::octree::OctreeDepthFirstIterator< OctreeT >::reset(), and pcl::octree::OctreeBreadthFirstIterator< OctreeT >::reset().

## Member Data Documentation

template<typename OctreeT>

IteratorState* pcl::octree::OctreeIteratorBase< OctreeT >::current_state_

protected

Pointer to current iterator state.

Definition at line 354 of file octree_iterator.h.

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

template<typename OctreeT>

unsigned int pcl::octree::OctreeIteratorBase< OctreeT >::max_octree_depth_

protected

Maximum octree depth.

Definition at line 357 of file octree_iterator.h.

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

template<typename OctreeT>

OctreeT* pcl::octree::OctreeIteratorBase< OctreeT >::octree_

protected

Reference to octree class.

Definition at line 351 of file octree_iterator.h.

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

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

- /build/pcl-0nnAvv/pcl-1.7.2/octree/include/pcl/octree/octree_iterator.h