Point Cloud Library (PCL)  1.14.0-dev
List of all members | Public Types | Public Member Functions | Protected Attributes
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]

template<typename PointT , typename ContainerT >
pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::OutofcoreIteratorBase ( OctreeDisk octree_arg)
inlineexplicit

◆ ~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.

Member Function Documentation

◆ getCurrentOctreeNode()

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

◆ operator*()

template<typename PointT , typename ContainerT >
OutofcoreNodeType* pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::operator* ( ) const
inline

◆ operator=()

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

◆ reset()

template<typename PointT , typename ContainerT >
virtual void pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >::reset ( )
inlinevirtual

◆ setMaxDepth()

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

Member Data Documentation

◆ currentNode_

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

◆ 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

◆ octree_

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

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