Point Cloud Library (PCL) 1.15.0
Loading...
Searching...
No Matches
pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT > Class Template Reference

Abstract octree iterator class. More...

#include <pcl/outofcore/outofcore_iterator_base.h>

Inheritance diagram for pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >:
Collaboration 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)
OutofcoreIteratorBaseoperator= (const OutofcoreIteratorBase &src)
OutofcoreNodeTypeoperator* () const
virtual OutofcoreNodeTypegetCurrentOctreeNode () const
virtual void reset ()
void setMaxDepth (unsigned int max_depth)

Protected Attributes

OctreeDiskoctree_
OctreeDiskNodecurrentNode_
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]

◆ ~OutofcoreIteratorBase()

template<typename PointT, typename ContainerT>
virtual pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::~OutofcoreIteratorBase ( )
virtualdefault

◆ 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
inlinevirtual

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

◆ 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_

◆ currentOctreeDepth_

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

◆ 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_


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