pcl::octree::OctreeIteratorBase< DataT, OctreeT > Class Template Reference

**Abstract** octree iterator class
More...

`#include <octree_iterator.h>`

Inheritance diagram for pcl::octree::OctreeIteratorBase< DataT, OctreeT >:

## Public Types | |

typedef OctreeT::BranchNode | BranchNode |

typedef OctreeT::LeafNode | LeafNode |

## Public Member Functions | |

unsigned int | getCurrentOctreeDepth () const |

Get the current depth level of octree. | |

const OctreeKey & | getCurrentOctreeKey () const |

Get octree key for the current iterator octree node. | |

OctreeNode * | getCurrentOctreeNode () const |

Get the current octree node. | |

virtual void | getData (DataT &data_arg) const |

Method for retrieving a single DataT element from the octree leaf node. | |

virtual void | getData (std::vector< DataT > &dataVector_arg) const |

Method for retrieving a vector of DataT elements from the octree laef node. | |

char | getNodeConfiguration () const |

Get bit pattern of children configuration of current node. | |

virtual unsigned long | getNodeID () const |

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

virtual std::size_t | getSize () const |

Method for retrieving the size of the DataT vector from the octree laef node. | |

bool | isBranchNode () const |

check if current node is a branch node | |

bool | isLeafNode () const |

check if current node is a branch node | |

OctreeIteratorBase (OctreeT &octree_arg) | |

Constructor. | |

OctreeIteratorBase (const OctreeIteratorBase &src) | |

Copy constructor. | |

OctreeNode * | operator* () const |

*operator. | |

OctreeIteratorBase & | operator= (const OctreeIteratorBase &src) |

Copy operator. | |

void | reset () |

initialize iterator globals | |

virtual | ~OctreeIteratorBase () |

Empty deconstructor. | |

## Protected Attributes | |

OctreeNode * | currentNode_ |

unsigned int | currentOctreeDepth_ |

OctreeKey | currentOctreeKey_ |

OctreeT & | octree_ |

Reference to octree class. |

class pcl::octree::OctreeIteratorBase< DataT, OctreeT >

**Abstract** octree iterator class

**Note:**- Octree iterator base class

Definition at line 69 of file octree_iterator.h.

template<typename DataT, typename OctreeT>

typedef OctreeT::BranchNode pcl::octree::OctreeIteratorBase< DataT, OctreeT >::BranchNode |

Reimplemented in pcl::octree::OctreeLeafNodeIterator< DataT, OctreeT >, pcl::octree::OctreeBreadthFirstIterator< DataT, OctreeT >, and pcl::octree::OctreeDepthFirstIterator< DataT, OctreeT >.

Definition at line 75 of file octree_iterator.h.

template<typename DataT, typename OctreeT>

typedef OctreeT::LeafNode pcl::octree::OctreeIteratorBase< DataT, OctreeT >::LeafNode |

Reimplemented in pcl::octree::OctreeLeafNodeIterator< DataT, OctreeT >, pcl::octree::OctreeBreadthFirstIterator< DataT, OctreeT >, and pcl::octree::OctreeDepthFirstIterator< DataT, OctreeT >.

Definition at line 74 of file octree_iterator.h.

template<typename DataT, typename OctreeT>

pcl::octree::OctreeIteratorBase< DataT, OctreeT >::OctreeIteratorBase | ( | OctreeT & | octree_arg | ) | ` [inline, explicit]` |

Constructor.

**Parameters:**-
[in] octree_arg Octree to be iterated. Initially the iterator is set to its root node.

Definition at line 81 of file octree_iterator.h.

template<typename DataT, typename OctreeT>

pcl::octree::OctreeIteratorBase< DataT, OctreeT >::OctreeIteratorBase | ( | const OctreeIteratorBase< DataT, OctreeT > & | src | ) | ` [inline]` |

Copy constructor.

**Parameters:**-
[in] src the iterator to copy into this

Definition at line 90 of file octree_iterator.h.

template<typename DataT, typename OctreeT>

virtual pcl::octree::OctreeIteratorBase< DataT, OctreeT >::~OctreeIteratorBase | ( | ) | ` [inline, virtual]` |

Empty deconstructor.

Definition at line 111 of file octree_iterator.h.

template<typename DataT, typename OctreeT>

unsigned int pcl::octree::OctreeIteratorBase< DataT, OctreeT >::getCurrentOctreeDepth | ( | ) | const` [inline]` |

Get the current depth level of octree.

**Returns:**- depth level

Definition at line 140 of file octree_iterator.h.

template<typename DataT, typename OctreeT>

const OctreeKey& pcl::octree::OctreeIteratorBase< DataT, OctreeT >::getCurrentOctreeKey | ( | ) | const` [inline]` |

Get octree key for the current iterator octree node.

**Returns:**- octree key of current node

Definition at line 131 of file octree_iterator.h.

template<typename DataT, typename OctreeT>

OctreeNode* pcl::octree::OctreeIteratorBase< DataT, OctreeT >::getCurrentOctreeNode | ( | ) | const` [inline]` |

Get the current octree node.

**Returns:**- pointer to current octree node

Definition at line 149 of file octree_iterator.h.

template<typename DataT, typename OctreeT>

virtual void pcl::octree::OctreeIteratorBase< DataT, OctreeT >::getData | ( | DataT & | data_arg | ) | const` [inline, virtual]` |

Method for retrieving a single DataT element from the octree leaf node.

**Parameters:**-
[in] data_arg reference to return pointer of leaf node DataT element.

Definition at line 207 of file octree_iterator.h.

template<typename DataT, typename OctreeT>

virtual void pcl::octree::OctreeIteratorBase< DataT, OctreeT >::getData | ( | std::vector< DataT > & | dataVector_arg | ) | const` [inline, virtual]` |

Method for retrieving a vector of DataT elements from the octree laef node.

**Parameters:**-
[in] dataVector_arg reference to DataT vector that is extended with leaf node DataT elements.

Definition at line 219 of file octree_iterator.h.

template<typename DataT, typename OctreeT>

char pcl::octree::OctreeIteratorBase< DataT, 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 185 of file octree_iterator.h.

template<typename DataT, typename OctreeT>

virtual unsigned long pcl::octree::OctreeIteratorBase< DataT, OctreeT >::getNodeID | ( | ) | const` [inline, virtual]` |

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

**Returns:**- node id.

Definition at line 240 of file octree_iterator.h.

template<typename DataT, typename OctreeT>

virtual std::size_t pcl::octree::OctreeIteratorBase< DataT, OctreeT >::getSize | ( | ) | const` [inline, virtual]` |

Method for retrieving the size of the DataT vector from the octree laef node.

Definition at line 229 of file octree_iterator.h.

template<typename DataT, typename OctreeT>

bool pcl::octree::OctreeIteratorBase< DataT, 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 167 of file octree_iterator.h.

template<typename DataT, typename OctreeT>

bool pcl::octree::OctreeIteratorBase< DataT, 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 176 of file octree_iterator.h.

template<typename DataT, typename OctreeT>

OctreeNode* pcl::octree::OctreeIteratorBase< DataT, OctreeT >::operator* | ( | ) | const` [inline]` |

*operator.

**Returns:**- pointer to the current octree node

Reimplemented in pcl::octree::OctreeLeafNodeIterator< DataT, OctreeT >.

Definition at line 158 of file octree_iterator.h.

template<typename DataT, typename OctreeT>

OctreeIteratorBase& pcl::octree::OctreeIteratorBase< DataT, OctreeT >::operator= | ( | const OctreeIteratorBase< DataT, OctreeT > & | src | ) | ` [inline]` |

Copy operator.

**Parameters:**-
[in] src the iterator to copy into this

Definition at line 100 of file octree_iterator.h.

template<typename DataT, typename OctreeT>

void pcl::octree::OctreeIteratorBase< DataT, OctreeT >::reset | ( | ) | ` [inline]` |

initialize iterator globals

Reimplemented in pcl::octree::OctreeLeafNodeIterator< DataT, OctreeT >, pcl::octree::OctreeBreadthFirstIterator< DataT, OctreeT >, and pcl::octree::OctreeDepthFirstIterator< DataT, OctreeT >.

Definition at line 117 of file octree_iterator.h.

template<typename DataT, typename OctreeT>

OctreeNode* pcl::octree::OctreeIteratorBase< DataT, OctreeT >::currentNode_` [protected]` |

Pointer to current octree node.

Definition at line 260 of file octree_iterator.h.

template<typename DataT, typename OctreeT>

unsigned int pcl::octree::OctreeIteratorBase< DataT, OctreeT >::currentOctreeDepth_` [protected]` |

Depth level in the octree structure.

Definition at line 263 of file octree_iterator.h.

template<typename DataT, typename OctreeT>

OctreeKey pcl::octree::OctreeIteratorBase< DataT, OctreeT >::currentOctreeKey_` [protected]` |

Octree key for current octree node.

Definition at line 266 of file octree_iterator.h.

template<typename DataT, typename OctreeT>

OctreeT& pcl::octree::OctreeIteratorBase< DataT, OctreeT >::octree_` [protected]` |

Reference to octree class.

Definition at line 257 of file octree_iterator.h.

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