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

**Octree** iterator class
More...

`#include <octree_iterator.h>`

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

## Public Types | |

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

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

## Public Member Functions | |

OctreeDepthFirstIterator (OctreeT &octree_arg) | |

Constructor. | |

OctreeDepthFirstIterator & | operator++ () |

Preincrement operator. | |

OctreeDepthFirstIterator | operator++ (int) |

postincrement operator. | |

virtual void | reset () |

Reset the iterator to the root node of the octree. | |

void | skipChildVoxels () |

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

virtual | ~OctreeDepthFirstIterator () |

Empty deconstructor. | |

## Protected Attributes | |

unsigned char | currentChildIdx_ |

std::vector< std::pair < OctreeNode *, unsigned char > > | stack_ |

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

**Octree** iterator class

**Note:**- This class implements a forward iterator for traversing octrees in a depth-first manner.

Definition at line 276 of file octree_iterator.h.

template<typename DataT, typename OctreeT>

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

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

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

Definition at line 282 of file octree_iterator.h.

template<typename DataT, typename OctreeT>

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

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

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

Definition at line 281 of file octree_iterator.h.

template<typename DataT , typename OctreeT >

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

Constructor.

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

Definition at line 53 of file octree_iterator.hpp.

template<typename DataT , typename OctreeT >

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

Empty deconstructor.

Definition at line 66 of file octree_iterator.hpp.

template<typename DataT , typename OctreeT >

OctreeDepthFirstIterator< DataT, OctreeT > & pcl::octree::OctreeDepthFirstIterator< DataT, OctreeT >::operator++ | ( | ) |

Preincrement operator.

**Note:**- recursively step to next octree node

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

Definition at line 115 of file octree_iterator.hpp.

template<typename DataT, typename OctreeT>

OctreeDepthFirstIterator pcl::octree::OctreeDepthFirstIterator< DataT, OctreeT >::operator++ | ( | int | ) | ` [inline]` |

postincrement operator.

**Note:**- recursively step to next octree node

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

Definition at line 311 of file octree_iterator.h.

template<typename DataT , typename OctreeT >

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

Reset the iterator to the root node of the octree.

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

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

Definition at line 72 of file octree_iterator.hpp.

template<typename DataT , typename OctreeT >

void pcl::octree::OctreeDepthFirstIterator< DataT, OctreeT >::skipChildVoxels | ( | ) |

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

Definition at line 82 of file octree_iterator.hpp.

template<typename DataT, typename OctreeT>

unsigned char pcl::octree::OctreeDepthFirstIterator< DataT, OctreeT >::currentChildIdx_` [protected]` |

Child index at current octree node.

Definition at line 325 of file octree_iterator.h.

template<typename DataT, typename OctreeT>

std::vector<std::pair<OctreeNode*, unsigned char> > pcl::octree::OctreeDepthFirstIterator< DataT, OctreeT >::stack_` [protected]` |

Stack structure.

Definition at line 328 of file octree_iterator.h.

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