Loading...
Searching...
No Matches
pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT > Class Template Reference
Module outofcore

Abstract octree iterator class. More...

`#include <pcl/outofcore/outofcore_iterator_base.h>`

Inheritance diagram for pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >:

## Public Types

using | iterator_category = std::forward_iterator_tag
using | value_type = const OutofcoreOctreeBaseNode<ContainerT, PointT>
using | difference_type = void
using | pointer = const OutofcoreOctreeBaseNode<ContainerT, PointT>*
using | reference = const OutofcoreOctreeBaseNode<ContainerT, PointT>&
using | OctreeDisk = pcl::outofcore::OutofcoreOctreeBase<ContainerT, PointT>
using | OctreeDiskNode = pcl::outofcore::OutofcoreOctreeBaseNode<ContainerT, PointT>
using | BranchNode = typename pcl::outofcore::OutofcoreOctreeBase<ContainerT, PointT>::BranchNode
using | LeafNode = typename pcl::outofcore::OutofcoreOctreeBase<ContainerT, PointT>::LeafNode
using | OutofcoreNodeType = typename OctreeDisk::OutofcoreNodeType

## Public Member Functions

| OutofcoreIteratorBase (OctreeDisk &octree_arg)
virtual | ~OutofcoreIteratorBase ()=default
| OutofcoreIteratorBase (const OutofcoreIteratorBase &src)
OutofcoreIteratorBase & | operator= (const OutofcoreIteratorBase &src)
OutofcoreNodeType * | operator* () const
virtual OutofcoreNodeType * | getCurrentOctreeNode () const
virtual void | reset ()
void | setMaxDepth (unsigned int max_depth)

## Protected Attributes

OctreeDisk & | octree_
OctreeDiskNode * | currentNode_
unsigned int | currentOctreeDepth_
unsigned int | max_depth_

## Detailed Description

template<typename PointT, typename ContainerT>
class pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >

Abstract octree iterator class.

Note
  This class is based on the octree_iterator written by Julius Kammerl adapted to the outofcore octree. The interface is very similar, but it does not inherit the pcl::octree iterator base.

Author
  Stephen Fox (foxst.nosp@m.ephe.nosp@m.nd@gm.nosp@m.ail..nosp@m.com)

Definition at line 59 of file outofcore_iterator_base.h.

## Member Typedef Documentation

## BranchNode

template<typename PointT, typename ContainerT>

using pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::BranchNode = typename pcl::outofcore::OutofcoreOctreeBase<ContainerT, PointT>::BranchNode

Definition at line 71 of file outofcore_iterator_base.h.

## difference_type

template<typename PointT, typename ContainerT>

using pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::difference_type = void

Definition at line 64 of file outofcore_iterator_base.h.

## iterator_category

template<typename PointT, typename ContainerT>

using pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::iterator_category = std::forward_iterator_tag

Definition at line 62 of file outofcore_iterator_base.h.

## LeafNode

template<typename PointT, typename ContainerT>

using pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::LeafNode = typename pcl::outofcore::OutofcoreOctreeBase<ContainerT, PointT>::LeafNode

Definition at line 72 of file outofcore_iterator_base.h.

## OctreeDisk

template<typename PointT, typename ContainerT>

using pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::OctreeDisk = pcl::outofcore::OutofcoreOctreeBase<ContainerT, PointT>

Definition at line 68 of file outofcore_iterator_base.h.

## OctreeDiskNode

template<typename PointT, typename ContainerT>

using pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::OctreeDiskNode = pcl::outofcore::OutofcoreOctreeBaseNode<ContainerT, PointT>

Definition at line 69 of file outofcore_iterator_base.h.

## OutofcoreNodeType

template<typename PointT, typename ContainerT>

using pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::OutofcoreNodeType = typename OctreeDisk::OutofcoreNodeType

Definition at line 74 of file outofcore_iterator_base.h.

## pointer

template<typename PointT, typename ContainerT>

using pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::pointer = const OutofcoreOctreeBaseNode<ContainerT, PointT>*

Definition at line 65 of file outofcore_iterator_base.h.

## reference

template<typename PointT, typename ContainerT>

using pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::reference = const OutofcoreOctreeBaseNode<ContainerT, PointT>&

Definition at line 66 of file outofcore_iterator_base.h.

## value_type

template<typename PointT, typename ContainerT>

using pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::value_type = const OutofcoreOctreeBaseNode<ContainerT, PointT>

Definition at line 63 of file outofcore_iterator_base.h.

## Constructor & Destructor Documentation

## OutofcoreIteratorBase() [1/2]

template<typename PointT, typename ContainerT>

pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::OutofcoreIteratorBase | ( | OctreeDisk & | octree_arg | ) |

inline explicit

Definition at line 77 of file outofcore_iterator_base.h.

References currentNode_, octree_, and reset().

Referenced by operator=(), pcl::outofcore::OutofcoreBreadthFirstIterator< PointT, ContainerT >::OutofcoreBreadthFirstIterator(), pcl::outofcore::OutofcoreDepthFirstIterator< PointT, ContainerT >::OutofcoreDepthFirstIterator(), and OutofcoreIteratorBase().

## ~OutofcoreIteratorBase()

template<typename PointT, typename ContainerT>

virtual pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::~OutofcoreIteratorBase | ( |  | ) |

virtual default

## OutofcoreIteratorBase() [2/2]

template<typename PointT, typename ContainerT>

pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::OutofcoreIteratorBase | ( | const OutofcoreIteratorBase< PointT, ContainerT > & | src | ) |

inline

Definition at line 86 of file outofcore_iterator_base.h.

References currentNode_, octree_, and OutofcoreIteratorBase().

## Member Function Documentation

## getCurrentOctreeNode()

template<typename PointT, typename ContainerT>

virtual OutofcoreNodeType * pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::getCurrentOctreeNode | ( |  | ) | const

inline virtual

Definition at line 107 of file outofcore_iterator_base.h.

References currentNode_.

Referenced by operator*().

## operator*()

template<typename PointT, typename ContainerT>

OutofcoreNodeType * pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::operator* | ( |  | ) | const

inline

Definition at line 101 of file outofcore_iterator_base.h.

References getCurrentOctreeNode().

## operator=()

template<typename PointT, typename ContainerT>

OutofcoreIteratorBase & pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::operator= | ( | const OutofcoreIteratorBase< PointT, ContainerT > & | src | ) |

inline

Definition at line 92 of file outofcore_iterator_base.h.

References currentNode_, currentOctreeDepth_, octree_, and OutofcoreIteratorBase().

## reset()

template<typename PointT, typename ContainerT>

virtual void pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::reset | ( |  | ) |

inline virtual

Reimplemented in pcl::outofcore::OutofcoreBreadthFirstIterator< PointT, ContainerT >, and pcl::outofcore::OutofcoreBreadthFirstIterator< PointT, ContainerT >.

Definition at line 113 of file outofcore_iterator_base.h.

References currentNode_, currentOctreeDepth_, max_depth_, and octree_.

Referenced by pcl::outofcore::OutofcoreDepthFirstIterator< PointT, ContainerT >::OutofcoreDepthFirstIterator(), OutofcoreIteratorBase(), and pcl::outofcore::OutofcoreBreadthFirstIterator< PointT, ContainerT >::reset().

## setMaxDepth()

template<typename PointT, typename ContainerT>

void pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::setMaxDepth | ( | unsigned int | max_depth | ) |

inline

Definition at line 121 of file outofcore_iterator_base.h.

References max_depth_, and octree_.

## Member Data Documentation

## currentNode_

template<typename PointT, typename ContainerT>

OctreeDiskNode* pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::currentNode_

protected

Definition at line 133 of file outofcore_iterator_base.h.

Referenced by getCurrentOctreeNode(), pcl::outofcore::OutofcoreBreadthFirstIterator< PointT, ContainerT >::operator++(), pcl::outofcore::OutofcoreDepthFirstIterator< PointT, ContainerT >::operator++(), operator=(), OutofcoreIteratorBase(), OutofcoreIteratorBase(), pcl::outofcore::OutofcoreBreadthFirstIterator< PointT, ContainerT >::reset(), and reset().

## currentOctreeDepth_

template<typename PointT, typename ContainerT>

unsigned int pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::currentOctreeDepth_

protected

Definition at line 134 of file outofcore_iterator_base.h.

Referenced by pcl::outofcore::OutofcoreDepthFirstIterator< PointT, ContainerT >::operator++(), operator=(), and reset().

## max_depth_

template<typename PointT, typename ContainerT>

unsigned int pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::max_depth_

protected

Definition at line 135 of file outofcore_iterator_base.h.

Referenced by reset(), and setMaxDepth().

## octree_

template<typename PointT, typename ContainerT>

OctreeDisk& pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::octree_

protected

Definition at line 132 of file outofcore_iterator_base.h.

Referenced by pcl::outofcore::OutofcoreBreadthFirstIterator< PointT, ContainerT >::operator++(), pcl::outofcore::OutofcoreDepthFirstIterator< PointT, ContainerT >::operator++(), operator=(), pcl::outofcore::OutofcoreDepthFirstIterator< PointT, ContainerT >::OutofcoreDepthFirstIterator(), OutofcoreIteratorBase(), OutofcoreIteratorBase(), reset(), and setMaxDepth().

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

- pcl/outofcore/outofcore_iterator_base.h