Point Cloud Library (PCL)  1.5.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Classes | Public Member Functions
pcl::octree::OctreeBreadthFirstIterator< DataT, LeafT, OctreeT > Class Template Reference

Octree iterator class More...

#include <pcl/octree/octree_iterator.h>

Inheritance diagram for pcl::octree::OctreeBreadthFirstIterator< DataT, LeafT, OctreeT >:
Inheritance graph
[legend]
Collaboration diagram for pcl::octree::OctreeBreadthFirstIterator< DataT, LeafT, OctreeT >:
Collaboration graph
[legend]

List of all members.

Classes

struct  FIFOElement

Public Member Functions

 OctreeBreadthFirstIterator (const OctreeT &octree_arg)
 Constructor.
virtual ~OctreeBreadthFirstIterator ()
 Empty deconstructor.
void reset ()
 Reset the iterator to the root node of the octree.
OctreeBreadthFirstIteratoroperator++ ()
 Preincrement operator.
OctreeBreadthFirstIterator operator++ (int)
 postincrement operator.
const OctreeKeygetCurrentOctreeKey () const
 Get octree key for the current iterator octree node.
unsigned int getCurrentOctreeDepth () const
 Get the current depth level of octree.
const OctreeNodegetCurrentOctreeNode () const
 Get the current octree node.
const OctreeNodeoperator* () const
 *operator.
bool isBranchNode () const
 check if current node is a branch node
bool isLeafNode () const
 check if current node is a branch node
char getNodeConfiguration () const
 Get bit pattern of children configuration of current node.
virtual void getData (const 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.
virtual unsigned long getNodeID () const
 get a integer identifier for current node (note: identifier depends on tree depth).

Detailed Description

template<typename DataT, typename LeafT, typename OctreeT>
class pcl::octree::OctreeBreadthFirstIterator< DataT, LeafT, 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 309 of file octree_iterator.h.


Constructor & Destructor Documentation

template<typename DataT , typename LeafT , typename OctreeT >
pcl::octree::OctreeBreadthFirstIterator< DataT, LeafT, OctreeT >::OctreeBreadthFirstIterator ( const OctreeT &  octree_arg) [explicit]

Constructor.

Parameters:
[in]octree_argOctree to be iterated. Initially the iterator is set to its root node.

Definition at line 219 of file octree_iterator.hpp.

template<typename DataT , typename LeafT , typename OctreeT >
pcl::octree::OctreeBreadthFirstIterator< DataT, LeafT, OctreeT >::~OctreeBreadthFirstIterator ( ) [virtual]

Empty deconstructor.

Definition at line 231 of file octree_iterator.hpp.


Member Function Documentation

template<typename DataT, typename LeafT, typename OctreeT>
unsigned int pcl::octree::OctreeIteratorBase< DataT, LeafT, OctreeT >::getCurrentOctreeDepth ( ) const [inline, inherited]

Get the current depth level of octree.

Returns:
depth level

Definition at line 116 of file octree_iterator.h.

template<typename DataT, typename LeafT, typename OctreeT>
const OctreeKey& pcl::octree::OctreeIteratorBase< DataT, LeafT, OctreeT >::getCurrentOctreeKey ( ) const [inline, inherited]

Get octree key for the current iterator octree node.

Returns:
octree key of current node

Definition at line 107 of file octree_iterator.h.

template<typename DataT, typename LeafT, typename OctreeT>
const OctreeNode* pcl::octree::OctreeIteratorBase< DataT, LeafT, OctreeT >::getCurrentOctreeNode ( ) const [inline, inherited]

Get the current octree node.

Returns:
pointer to current octree node

Definition at line 125 of file octree_iterator.h.

template<typename DataT, typename LeafT, typename OctreeT>
virtual void pcl::octree::OctreeIteratorBase< DataT, LeafT, OctreeT >::getData ( const DataT *&  data_arg) const [inline, virtual, inherited]

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

Parameters:
[in]data_argreference to return pointer of leaf node DataT element.

Definition at line 184 of file octree_iterator.h.

template<typename DataT, typename LeafT, typename OctreeT>
virtual void pcl::octree::OctreeIteratorBase< DataT, LeafT, OctreeT >::getData ( std::vector< DataT > &  dataVector_arg) const [inline, virtual, inherited]

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

Parameters:
[out]dataVector_argreference to DataT vector that is extended with leaf node DataT elements.

Definition at line 200 of file octree_iterator.h.

template<typename DataT, typename LeafT, typename OctreeT>
char pcl::octree::OctreeIteratorBase< DataT, LeafT, OctreeT >::getNodeConfiguration ( ) const [inline, inherited]

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

template<typename DataT, typename LeafT, typename OctreeT>
virtual unsigned long pcl::octree::OctreeIteratorBase< DataT, LeafT, OctreeT >::getNodeID ( ) const [inline, virtual, inherited]

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

Parameters:
[out]nodeid.

Definition at line 213 of file octree_iterator.h.

template<typename DataT, typename LeafT, typename OctreeT>
bool pcl::octree::OctreeIteratorBase< DataT, LeafT, OctreeT >::isBranchNode ( ) const [inline, inherited]

check if current node is a branch node

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

Definition at line 143 of file octree_iterator.h.

template<typename DataT, typename LeafT, typename OctreeT>
bool pcl::octree::OctreeIteratorBase< DataT, LeafT, OctreeT >::isLeafNode ( ) const [inline, inherited]

check if current node is a branch node

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

Definition at line 152 of file octree_iterator.h.

template<typename DataT, typename LeafT, typename OctreeT>
const OctreeNode* pcl::octree::OctreeIteratorBase< DataT, LeafT, OctreeT >::operator* ( ) const [inline, inherited]

*operator.

Returns:
pointer to the current octree node

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

Definition at line 134 of file octree_iterator.h.

template<typename DataT , typename LeafT , typename OctreeT >
OctreeBreadthFirstIterator< DataT, LeafT, OctreeT > & pcl::octree::OctreeBreadthFirstIterator< DataT, LeafT, OctreeT >::operator++ ( )

Preincrement operator.

Note:
step to next octree node

Definition at line 289 of file octree_iterator.hpp.

template<typename DataT , typename LeafT , typename OctreeT >
OctreeBreadthFirstIterator pcl::octree::OctreeBreadthFirstIterator< DataT, LeafT, OctreeT >::operator++ ( int  ) [inline]

postincrement operator.

Note:
step to next octree node

Definition at line 347 of file octree_iterator.h.

template<typename DataT , typename LeafT , typename OctreeT >
void pcl::octree::OctreeBreadthFirstIterator< DataT, LeafT, OctreeT >::reset ( )

Reset the iterator to the root node of the octree.

Reimplemented from pcl::octree::OctreeIteratorBase< DataT, LeafT, OctreeT >.

Definition at line 277 of file octree_iterator.hpp.


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