Loading...
Searching...
No Matches
LeafIteratorBase< TreeT, RootChildOnIterT > Class Template Reference

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

`#include <openvdb/tree/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 InvTreeT::Front
using | LeafNodeT = typename CopyConstness<RootNodeT, NCLeafNodeT>::Type
using | RootIterTraits = IterTraits<NCRootNodeT, RootIterT>

## Public Member Functions

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

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

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

## Member Typedef Documentation

## InvTreeT

template<typename TreeT, typename RootChildOnIterT>

using InvTreeT = typename iter::InvertedTree<NCRootNodeT, ROOT_LEVEL>::Type

## LeafNodeT

template<typename TreeT, typename RootChildOnIterT>

using LeafNodeT = typename CopyConstness<RootNodeT, NCLeafNodeT>::Type

## NCLeafNodeT

template<typename TreeT, typename RootChildOnIterT>

using NCLeafNodeT = typename InvTreeT::Front

## NCRootNodeT

template<typename TreeT, typename RootChildOnIterT>

using NCRootNodeT = typename RootIterT::NonConstNodeType

## RootIterT

template<typename TreeT, typename RootChildOnIterT>

using RootIterT = RootChildOnIterT

## RootIterTraits

template<typename TreeT, typename RootChildOnIterT>

using RootIterTraits = IterTraits<NCRootNodeT, RootIterT>

## RootNodeT

template<typename TreeT, typename RootChildOnIterT>

using RootNodeT = typename RootIterT::NodeType

## Constructor & Destructor Documentation

## LeafIteratorBase() [1/3]

template<typename TreeT, typename RootChildOnIterT>

LeafIteratorBase | ( |  | ) |

inline

## LeafIteratorBase() [2/3]

template<typename TreeT, typename RootChildOnIterT>

LeafIteratorBase | ( | TreeT & | tree | ) |

inline

## LeafIteratorBase() [3/3]

template<typename TreeT, typename RootChildOnIterT>

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

inline

## Member Function Documentation

## getLeaf()

template<typename TreeT, typename RootChildOnIterT>

LeafNodeT * getLeaf | ( |  | ) | const

inline

Return the leaf node to which the iterator is pointing.

## getTree()

template<typename TreeT, typename RootChildOnIterT>

TreeT * getTree | ( |  | ) | const

inline

## increment() [1/2]

template<typename TreeT, typename RootChildOnIterT>

void increment | ( |  | ) |

inline

## increment() [2/2]

template<typename TreeT, typename RootChildOnIterT>

void increment | ( | Index | n | ) |

inline

Increment the iterator n times.

## next()

template<typename TreeT, typename RootChildOnIterT>

bool next | ( |  | ) |

inline

Advance the iterator to the next leaf node.

## operator bool()

template<typename TreeT, typename RootChildOnIterT>

operator bool | ( |  | ) | const

inline

## operator*()

template<typename TreeT, typename RootChildOnIterT>

LeafNodeT & operator* | ( |  | ) | const

inline

## operator++()

template<typename TreeT, typename RootChildOnIterT>

LeafIteratorBase & operator++ | ( |  | ) |

inline

## operator->()

template<typename TreeT, typename RootChildOnIterT>

LeafNodeT * operator-> | ( |  | ) | const

inline

## operator=()

template<typename TreeT, typename RootChildOnIterT>

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

inline

## test()

template<typename TreeT, typename RootChildOnIterT>

bool test | ( |  | ) | const

inline

## Member Data Documentation

## LEAF_LEVEL

template<typename TreeT, typename RootChildOnIterT>

const Index LEAF_LEVEL = 0

static

## LEAF_PARENT_LEVEL

template<typename TreeT, typename RootChildOnIterT>

const Index LEAF_PARENT_LEVEL = LEAF_LEVEL + 1

static

## ROOT_LEVEL

template<typename TreeT, typename RootChildOnIterT>

const Index ROOT_LEVEL = RootNodeT::LEVEL

static