OpenVDB  4.0.2
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

typedef RootChildOnIterT RootIterT
 
typedef RootIterT::NodeType RootNodeT
 
typedef RootIterT::NonConstNodeType NCRootNodeT
 
typedef iter::InvertedTree< NCRootNodeT, ROOT_LEVEL >::Type InvTreeT
 
typedef boost::mpl::front< InvTreeT >::type NCLeafNodeT
 
typedef CopyConstness< RootNodeT, NCLeafNodeT >::Type LeafNodeT
 
typedef IterTraits< NCRootNodeT, RootIterTRootIterTraits
 

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::v4_0_2::tree::LeafIteratorBase< TreeT, RootChildOnIterT >

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

Member Typedef Documentation

◆ InvTreeT

◆ LeafNodeT

◆ NCLeafNodeT

typedef boost::mpl::front<InvTreeT>::type NCLeafNodeT

◆ NCRootNodeT

typedef RootIterT::NonConstNodeType NCRootNodeT

◆ RootIterT

typedef RootChildOnIterT RootIterT

◆ RootIterTraits

◆ RootNodeT

typedef RootIterT::NodeType RootNodeT

Constructor & Destructor Documentation

◆ LeafIteratorBase() [1/3]

LeafIteratorBase ( )
inline

◆ LeafIteratorBase() [2/3]

LeafIteratorBase ( TreeT &  tree)
inline

◆ LeafIteratorBase() [3/3]

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

Member Function Documentation

◆ getLeaf()

LeafNodeT* getLeaf ( ) const
inline

Return the leaf node to which the iterator is pointing.

◆ getTree()

TreeT* getTree ( ) const
inline

◆ increment() [1/2]

void increment ( )
inline

Advance the iterator to the next leaf node.

◆ increment() [2/2]

void increment ( Index  n)
inline

Increment the iterator n times.

◆ next()

bool next ( )
inline

Advance the iterator to the next leaf node.

◆ operator bool()

operator bool ( ) const
inline

◆ operator*()

LeafNodeT& operator* ( ) const
inline

Return the leaf node to which the iterator is pointing.

◆ operator++()

LeafIteratorBase& operator++ ( )
inline

Advance the iterator to the next leaf node.

◆ operator->()

LeafNodeT* operator-> ( ) const
inline

Return the leaf node to which the iterator is pointing.

◆ operator=()

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

◆ test()

bool test ( ) const
inline

Member Data Documentation

◆ LEAF_LEVEL

const Index LEAF_LEVEL = 0
static

◆ LEAF_PARENT_LEVEL

const Index LEAF_PARENT_LEVEL = LEAF_LEVEL + 1
static

◆ ROOT_LEVEL

const Index ROOT_LEVEL = RootNodeT::LEVEL
static

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