Point Cloud Library (PCL)  1.10.0
List of all members | Public Member Functions | Protected Attributes
pcl::octree::OctreeFixedDepthIterator< OctreeT > Class Template Reference

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, unsigned int fixed_depth_arg=0)
 Constructor. More...
 
 OctreeFixedDepthIterator (OctreeT *octree_arg, unsigned int 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 (unsigned int 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 (unsigned int max_depth_arg=0)
 Empty constructor. More...
 
 OctreeBreadthFirstIterator (OctreeT *octree_arg, unsigned int max_depth_arg=0)
 Constructor. More...
 
 OctreeBreadthFirstIterator (OctreeT *octree_arg, unsigned int 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 (unsigned int max_depth_arg=0)
 Empty constructor. More...
 
 OctreeIteratorBase (OctreeT *octree_arg, unsigned int max_depth_arg=0)
 Constructor. More...
 
 OctreeIteratorBase (OctreeT *octree_arg, unsigned int 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...
 
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

unsigned int 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...
 
unsigned int 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 578 of file octree_iterator.h.

Constructor & Destructor Documentation

◆ OctreeFixedDepthIterator() [1/4]

template<typename OctreeT >
pcl::octree::OctreeFixedDepthIterator< OctreeT >::OctreeFixedDepthIterator ( )

Empty constructor.

Definition at line 273 of file octree_iterator.hpp.

◆ OctreeFixedDepthIterator() [2/4]

template<typename OctreeT >
pcl::octree::OctreeFixedDepthIterator< OctreeT >::OctreeFixedDepthIterator ( OctreeT *  octree_arg,
unsigned int  fixed_depth_arg = 0 
)
explicit

Constructor.

Parameters
[in]octree_argOctree to be iterated. Initially the iterator is set to its root node.
[in]fixed_depth_argDepth level during traversal

Definition at line 279 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,
unsigned int  fixed_depth_arg,
IteratorState *  current_state,
const std::deque< IteratorState > &  fifo = std::deque<IteratorState> () 
)
inline

Constructor.

Parameters
[in]octree_argOctree to be iterated. Initially the iterator is set to its root node.
[in]fixed_depth_argDepth level during traversal
[in]current_stateA pointer to the current iterator state
[in]fifoInternal container of octree node to go through
Warning
For advanced users only.

Definition at line 605 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]otherAnother OctreeFixedDepthIterator to copy from

Definition at line 616 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]srcthe iterator to copy into this
Returns
pointer to the current octree node

Definition at line 627 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 644 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 ( unsigned int  fixed_depth_arg)

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

Parameters
[in]fixed_depth_argDepth level during traversal

Definition at line 287 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 >
unsigned int pcl::octree::OctreeFixedDepthIterator< OctreeT >::fixed_depth_
protected

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