supereight
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | List of all members
se::BaseIterator< DerivedT > Struct Template Reference

Iterates over all valid data in the octree at the last scale it was updated at. More...

#include <iterator.hpp>

Public Types

typedef BaseTraits< DerivedT >::OctreeType OctreeType
 
typedef OctreeType::NodeType NodeType
 
using difference_type = long
 
using value_type = OctantBase
 
using pointer = OctantBase *
 
using reference = OctantBase &
 
using iterator_category = std::forward_iterator_tag
 

Public Member Functions

 BaseIterator ()
 
 BaseIterator (OctreeType *octree_ptr)
 
BaseIteratoroperator++ ()
 
BaseIterator operator++ (int)
 
bool operator== (const BaseIterator &other) const
 
bool operator!= (const BaseIterator &other) const
 
OctantBaseoperator* () const
 

Protected Member Functions

void init ()
 

Detailed Description

template<typename DerivedT>
struct se::BaseIterator< DerivedT >

Iterates over all valid data in the octree at the last scale it was updated at.

The iterator performs a depth-first traversal of the octree. To use it just use the se::Octree::begin() and se::Octree::end() functions or a range-based for loop:

for (auto& volume : octree) {
// Do stuff with volume
}
Definition image.hpp:19
Note
Changes to the se::Octree while iterating will result in strange behavior.

Member Typedef Documentation

◆ OctreeType

template<typename DerivedT >
typedef BaseTraits<DerivedT>::OctreeType se::BaseIterator< DerivedT >::OctreeType

◆ NodeType

template<typename DerivedT >
typedef OctreeType::NodeType se::BaseIterator< DerivedT >::NodeType

◆ difference_type

template<typename DerivedT >
using se::BaseIterator< DerivedT >::difference_type = long

◆ value_type

template<typename DerivedT >
using se::BaseIterator< DerivedT >::value_type = OctantBase

◆ pointer

template<typename DerivedT >
using se::BaseIterator< DerivedT >::pointer = OctantBase*

◆ reference

template<typename DerivedT >
using se::BaseIterator< DerivedT >::reference = OctantBase&

◆ iterator_category

template<typename DerivedT >
using se::BaseIterator< DerivedT >::iterator_category = std::forward_iterator_tag

Constructor & Destructor Documentation

◆ BaseIterator() [1/2]

template<typename DerivedT >
se::BaseIterator< DerivedT >::BaseIterator ( )

◆ BaseIterator() [2/2]

template<typename DerivedT >
se::BaseIterator< DerivedT >::BaseIterator ( OctreeType octree_ptr)

Member Function Documentation

◆ operator++() [1/2]

template<typename DerivedT >
BaseIterator & se::BaseIterator< DerivedT >::operator++ ( )

◆ operator++() [2/2]

template<typename DerivedT >
BaseIterator se::BaseIterator< DerivedT >::operator++ ( int  )

◆ operator==()

template<typename DerivedT >
bool se::BaseIterator< DerivedT >::operator== ( const BaseIterator< DerivedT > &  other) const

◆ operator!=()

template<typename DerivedT >
bool se::BaseIterator< DerivedT >::operator!= ( const BaseIterator< DerivedT > &  other) const

◆ operator*()

template<typename DerivedT >
OctantBase * se::BaseIterator< DerivedT >::operator* ( ) const

◆ init()

template<typename DerivedT >
void se::BaseIterator< DerivedT >::init ( )
protected

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