HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
openvdb::OPENVDB_VERSION_NAME::tree::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 hboost::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::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >

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

Definition at line 1235 of file TreeIterator.h.

Member Typedef Documentation

template<typename TreeT , typename RootChildOnIterT >
using openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::InvTreeT = typename iter::InvertedTree<NCRootNodeT, ROOT_LEVEL>::Type

Definition at line 1242 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
using openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::LeafNodeT = typename CopyConstness<RootNodeT, NCLeafNodeT>::Type

Definition at line 1244 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
using openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::NCLeafNodeT = typename hboost::mpl::front<InvTreeT>::type

Definition at line 1243 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
using openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::NCRootNodeT = typename RootIterT::NonConstNodeType

Definition at line 1240 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
using openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::RootIterT = RootChildOnIterT

Definition at line 1238 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
using openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::RootIterTraits = IterTraits<NCRootNodeT, RootIterT>

Definition at line 1247 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
using openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::RootNodeT = typename RootIterT::NodeType

Definition at line 1239 of file TreeIterator.h.

Constructor & Destructor Documentation

template<typename TreeT , typename RootChildOnIterT >
openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::LeafIteratorBase ( )
inline

Definition at line 1249 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::LeafIteratorBase ( TreeT &  tree)
inline

Definition at line 1251 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::LeafIteratorBase ( const LeafIteratorBase< TreeT, RootChildOnIterT > &  other)
inline

Definition at line 1262 of file TreeIterator.h.

Member Function Documentation

template<typename TreeT , typename RootChildOnIterT >
LeafNodeT* openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::getLeaf ( ) const
inline

Return the leaf node to which the iterator is pointing.

Definition at line 1278 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
TreeT* openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::getTree ( ) const
inline

Definition at line 1300 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
void openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::increment ( )
inline

Advance the iterator to the next leaf node.

Definition at line 1294 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
void openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::increment ( Index  n)
inline

Increment the iterator n times.

Definition at line 1298 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
bool openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::next ( )
inline

Advance the iterator to the next leaf node.

Definition at line 1315 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::operator bool ( ) const
inline

Definition at line 1289 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
LeafNodeT& openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::operator* ( void  ) const
inline

Return the leaf node to which the iterator is pointing.

Definition at line 1284 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
LeafIteratorBase& openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::operator++ ( )
inline

Advance the iterator to the next leaf node.

Definition at line 1295 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
LeafNodeT* openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::operator-> ( void  ) const
inline

Return the leaf node to which the iterator is pointing.

Definition at line 1285 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
LeafIteratorBase& openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::operator= ( const LeafIteratorBase< TreeT, RootChildOnIterT > &  other)
inline

Definition at line 1266 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
bool openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::test ( ) const
inline

Definition at line 1288 of file TreeIterator.h.

Member Data Documentation

template<typename TreeT , typename RootChildOnIterT >
const Index openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::LEAF_LEVEL = 0
static

Definition at line 1245 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
const Index openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::LEAF_PARENT_LEVEL = LEAF_LEVEL + 1
static

Definition at line 1245 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
const Index openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::ROOT_LEVEL = RootNodeT::LEVEL
static

Definition at line 1241 of file TreeIterator.h.


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