OpenVDB  5.2.0
Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
LeafIteratorBase< TreeT, RootChildOnIterT > Class Template Reference

Base class for tree-traversal iterators over all leaf nodes (but not leaf voxels) More...

#include <TreeIterator.h>

Public Types

using RootIterT = RootChildOnIterT
 
using RootNodeT = typename RootIterT::NodeType
 
using NCRootNodeT = typename RootIterT::NonConstNodeType
 
using InvTreeT = typename iter::InvertedTree< NCRootNodeT, ROOT_LEVEL >::Type
 
using NCLeafNodeT = typename boost::mpl::front< InvTreeT >::type
 
using LeafNodeT = typename CopyConstness< RootNodeT, NCLeafNodeT >::Type
 
using RootIterTraits = IterTraits< NCRootNodeT, RootIterT >
 

Public Member Functions

 LeafIteratorBase ()
 
 LeafIteratorBase (TreeT &tree)
 
 LeafIteratorBase (const LeafIteratorBase &other)
 
LeafIteratorBaseoperator= (const LeafIteratorBase &other)
 
bool test () const
 
 operator bool () const
 
void increment (Index n)
 Increment the iterator n times. More...
 
TreeT * getTree () const
 
LeafNodeTgetLeaf () const
 Return the leaf node to which the iterator is pointing. More...
 
LeafNodeToperator* () const
 Return the leaf node to which the iterator is pointing. More...
 
LeafNodeToperator-> () const
 Return the leaf node to which the iterator is pointing. More...
 
bool next ()
 Advance the iterator to the next leaf node. More...
 
void increment ()
 Advance the iterator to the next leaf node. More...
 
LeafIteratorBaseoperator++ ()
 Advance the iterator to the next leaf node. More...
 

Static Public Attributes

static const Index ROOT_LEVEL = RootNodeT::LEVEL
 
static const Index LEAF_LEVEL = 0
 
static const Index LEAF_PARENT_LEVEL = LEAF_LEVEL + 1
 

Detailed Description

template<typename TreeT, typename RootChildOnIterT>
class openvdb::v5_2::tree::LeafIteratorBase< TreeT, RootChildOnIterT >

Base class for tree-traversal iterators over all leaf nodes (but not leaf voxels)

Member Typedef Documentation

using LeafNodeT = typename CopyConstness<RootNodeT, NCLeafNodeT>::Type
using NCLeafNodeT = typename boost::mpl::front<InvTreeT>::type
using NCRootNodeT = typename RootIterT::NonConstNodeType
using RootIterT = RootChildOnIterT
using RootNodeT = typename RootIterT::NodeType

Constructor & Destructor Documentation

LeafIteratorBase ( )
inline
LeafIteratorBase ( TreeT &  tree)
inline
LeafIteratorBase ( const LeafIteratorBase< TreeT, RootChildOnIterT > &  other)
inline

Member Function Documentation

LeafNodeT* getLeaf ( ) const
inline

Return the leaf node to which the iterator is pointing.

TreeT* getTree ( ) const
inline
void increment ( )
inline

Advance the iterator to the next leaf node.

void increment ( Index  n)
inline

Increment the iterator n times.

bool next ( )
inline

Advance the iterator to the next leaf node.

operator bool ( ) const
inline
LeafNodeT& operator* ( ) const
inline

Return the leaf node to which the iterator is pointing.

LeafIteratorBase& operator++ ( )
inline

Advance the iterator to the next leaf node.

LeafNodeT* operator-> ( ) const
inline

Return the leaf node to which the iterator is pointing.

LeafIteratorBase& operator= ( const LeafIteratorBase< TreeT, RootChildOnIterT > &  other)
inline
bool test ( ) const
inline

Member Data Documentation

const Index LEAF_LEVEL = 0
static
const Index LEAF_PARENT_LEVEL = LEAF_LEVEL + 1
static
const Index ROOT_LEVEL = RootNodeT::LEVEL
static

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