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

Octree iterator class More...

#include <pcl/octree/octree_iterator.h>

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

List of all members.

Public Member Functions

 OctreeNodeIterator (const OctreeT &octree_arg)
 Constructor.
virtual ~OctreeNodeIterator ()
 Empty deconstructor.
void reset ()
 Reset the iterator to the root node of the octree.
const OctreeKey & getCurrentOctreeKey () 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.
void getVoxelBounds (Eigen::Vector3f &min_pt, Eigen::Vector3f &max_pt) const
 Generate bounds of the current octree voxel.
const OctreeNodeoperator* () const
 *operator.
bool operator== (const OctreeNodeIterator &right_arg) const
 Equality operator.
bool operator!= (const OctreeNodeIterator &right_arg) const
 Inequality operator.
void skipChildVoxels ()
 Skip all child voxels of current node and return to parent node.
OctreeNodeIteratoroperator++ ()
 Preincrement operator.
OctreeNodeIterator operator++ (int)
 postincrement operator.

Detailed Description

template<typename DataT, typename LeafT, typename OctreeT>
class pcl::octree::OctreeNodeIterator< DataT, LeafT, OctreeT >

Octree iterator class

Note:
This class implements a forward iterator for traversing octrees.
Author:
Julius Kammerl (julius@kammerl.de)

Definition at line 63 of file octree_iterator.h.


Constructor & Destructor Documentation

template<typename DataT , typename LeafT , typename OctreeT >
pcl::octree::OctreeNodeIterator< DataT, LeafT, OctreeT >::OctreeNodeIterator ( 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 56 of file octree_iterator.hpp.

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

Empty deconstructor.

Definition at line 70 of file octree_iterator.hpp.


Member Function Documentation

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

Get the current depth level of octree.

Returns:
depth level

Definition at line 99 of file octree_iterator.h.

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

Get octree key for the current iterator octree node.

Returns:
octree key of current node

Definition at line 90 of file octree_iterator.h.

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

Get the current octree node.

Returns:
pointer to current octree node

Definition at line 108 of file octree_iterator.h.

template<typename DataT , typename LeafT , typename OctreeT >
void pcl::octree::OctreeNodeIterator< DataT, LeafT, OctreeT >::getVoxelBounds ( Eigen::Vector3f &  min_pt,
Eigen::Vector3f &  max_pt 
) const [inline]

Generate bounds of the current octree voxel.

Parameters:
[out]min_ptlower bound of voxel
[out]max_ptupper bound of voxel

Definition at line 118 of file octree_iterator.h.

template<typename DataT , typename LeafT , typename OctreeT >
bool pcl::octree::OctreeNodeIterator< DataT, LeafT, OctreeT >::operator!= ( const OctreeNodeIterator< DataT, LeafT, OctreeT > &  right_arg) const [inline]

Inequality operator.

Returns:
return true if two OctreeNodeIterator are not equal. False otherwise.

Definition at line 145 of file octree_iterator.h.

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

*operator.

Returns:
pointer to the current octree node

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

Definition at line 127 of file octree_iterator.h.

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

Preincrement operator.

Note:
recursively step to next octree node

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

Definition at line 132 of file octree_iterator.hpp.

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

postincrement operator.

Note:
recursively step to next octree node

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

Definition at line 165 of file octree_iterator.h.

template<typename DataT , typename LeafT , typename OctreeT >
bool pcl::octree::OctreeNodeIterator< DataT, LeafT, OctreeT >::operator== ( const OctreeNodeIterator< DataT, LeafT, OctreeT > &  right_arg) const [inline]

Equality operator.

Returns:
return true if two OctreeNodeIterator are equal. False otherwise.

Definition at line 136 of file octree_iterator.h.

template<typename DataT , typename LeafT , typename OctreeT >
void pcl::octree::OctreeNodeIterator< DataT, LeafT, OctreeT >::reset ( ) [inline]

Reset the iterator to the root node of the octree.

Definition at line 78 of file octree_iterator.hpp.

template<typename DataT , typename LeafT , typename OctreeT >
void pcl::octree::OctreeNodeIterator< DataT, LeafT, OctreeT >::skipChildVoxels ( )

Skip all child voxels of current node and return to parent node.

Definition at line 95 of file octree_iterator.hpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines