Loading...
Searching...
No Matches
SparseIteratorBase< MaskIterT, IterT, NodeT, ItemT > Struct Template Reference

Base class for sparse iterators over internal and leaf nodes. More...

`#include <openvdb/tree/Iterator.h>`

Inheritance diagram for SparseIteratorBase< MaskIterT, IterT, NodeT, ItemT >:

## Public Types

using | NodeType = NodeT
using | ValueType = ItemT
using | NonConstNodeType = typename std::remove_const< NodeT >::type
using | NonConstValueType = typename std::remove_const< ItemT >::type

## Public Member Functions

| SparseIteratorBase ()
| SparseIteratorBase (const MaskIterT &iter, NodeT *parent)
ItemT & | getItem (Index) const
| Return the item at the given index in the parent node's table.
void | setItem (Index, const ItemT &) const
| Set the value of the item at the given index in the parent node's table.
ItemT & | operator* () const
| Return a reference to the item to which this iterator is pointing.
ItemT * | operator-> () const
| Return a pointer to the item to which this iterator is pointing.
ItemT & | getValue () const
| Return the item to which this iterator is pointing.
void | setValue (const ItemT &value) const
| Set the value of the item to which this iterator is pointing. (Not valid for const iterators.)
template<typename ModifyOp >
void | modifyValue (const ModifyOp &op) const
| Apply a functor to the item to which this iterator is pointing. (Not valid for const iterators.)
bool | operator== (const IteratorBase &other) const
bool | operator!= (const IteratorBase &other) const
NodeT * | getParentNode () const
| Return a pointer to the node (if any) over which this iterator is iterating.
NodeT & | parent () const
| Return a reference to the node over which this iterator is iterating.
Index | offset () const
| Return this iterator's position as an index into the parent node's table.
Index | pos () const
| Identical to offset.
bool | test () const
| Return `true` if this iterator is not yet exhausted.
| operator bool () const
| Return `true` if this iterator is not yet exhausted.
bool | next ()
| Advance to the next item in the parent node's table.
void | increment ()
| Advance to the next item in the parent node's table.
void | increment (Index n)
| Advance n items in the parent node's table.
IteratorBase & | operator++ ()
| Advance to the next item in the parent node's table.
bool | isValueOn () const
| Return `true` if this iterator is pointing to an active value. Return `false` if it is pointing to either an inactive value or a child node.
void | setValueOn (bool on=true) const
| If this iterator is pointing to a value, set the value's active state. Otherwise, do nothing.
void | setValueOff () const
| If this iterator is pointing to a value, mark the value as inactive.
Coord | getCoord () const
| Return the coordinates of the item to which this iterator is pointing.
void | getCoord (Coord &xyz) const
| Return in xyz the coordinates of the item to which this iterator is pointing.

## Static Public Attributes

static const bool | IsSparseIterator = true
static const bool | IsDenseIterator = false

## Detailed Description

template<typename MaskIterT, typename IterT, typename NodeT, typename ItemT>
struct openvdb::v11_0::tree::SparseIteratorBase< MaskIterT, IterT, NodeT, ItemT >

Base class for sparse iterators over internal and leaf nodes.

## Member Typedef Documentation

## NodeType

template<typename MaskIterT , typename IterT , typename NodeT , typename ItemT >

using NodeType = NodeT

## NonConstNodeType

template<typename MaskIterT , typename IterT , typename NodeT , typename ItemT >

using NonConstNodeType = typename std::remove_const<NodeT>::type

## NonConstValueType

template<typename MaskIterT , typename IterT , typename NodeT , typename ItemT >

using NonConstValueType = typename std::remove_const<ItemT>::type

## ValueType

template<typename MaskIterT , typename IterT , typename NodeT , typename ItemT >

using ValueType = ItemT

## Constructor & Destructor Documentation

## SparseIteratorBase() [1/2]

template<typename MaskIterT , typename IterT , typename NodeT , typename ItemT >

SparseIteratorBase | ( |  | ) |

inline

## SparseIteratorBase() [2/2]

template<typename MaskIterT , typename IterT , typename NodeT , typename ItemT >

SparseIteratorBase | ( | const MaskIterT & | iter,
|  | NodeT * | parent
| ) |  |

inline

## Member Function Documentation

## getCoord() [1/2]

template<typename MaskIterT , typename NodeT >

Coord getCoord | ( |  | ) | const

inlineinherited

Return the coordinates of the item to which this iterator is pointing.

## getCoord() [2/2]

template<typename MaskIterT , typename NodeT >

void getCoord | ( | Coord & | xyz | ) | const

inlineinherited

Return in xyz the coordinates of the item to which this iterator is pointing.

## getItem()

template<typename MaskIterT , typename IterT , typename NodeT , typename ItemT >

ItemT & getItem | ( | Index |  | ) | const

Return the item at the given index in the parent node's table.

Note
  All subclasses must implement this accessor.

## getParentNode()

template<typename MaskIterT , typename NodeT >

NodeT * getParentNode | ( |  | ) | const

inlineinherited

Return a pointer to the node (if any) over which this iterator is iterating.

## getValue()

template<typename MaskIterT , typename IterT , typename NodeT , typename ItemT >

ItemT & getValue | ( |  | ) | const

inline

Return the item to which this iterator is pointing.

## increment() [1/2]

template<typename MaskIterT , typename NodeT >

void increment | ( |  | ) |

inlineinherited

Advance to the next item in the parent node's table.

## increment() [2/2]

template<typename MaskIterT , typename NodeT >

void increment | ( | Index | n | ) |

inlineinherited

Advance n items in the parent node's table.

## isValueOn()

template<typename MaskIterT , typename NodeT >

bool isValueOn | ( |  | ) | const

inlineinherited

Return `true` if this iterator is pointing to an active value. Return `false` if it is pointing to either an inactive value or a child node.

## modifyValue()

template<typename MaskIterT , typename IterT , typename NodeT , typename ItemT >
template<typename ModifyOp >

void modifyValue | ( | const ModifyOp & | op | ) | const

inline

Apply a functor to the item to which this iterator is pointing. (Not valid for const iterators.)

Parameters

  op | a functor of the form `void op(ValueType&) const` that modifies its argument in place

See also
  Tree::modifyValue()

## next()

template<typename MaskIterT , typename NodeT >

bool next | ( |  | ) |

inlineinherited

Advance to the next item in the parent node's table.

## offset()

template<typename MaskIterT , typename NodeT >

Index offset | ( |  | ) | const

inlineinherited

Return this iterator's position as an index into the parent node's table.

## operator bool()

template<typename MaskIterT , typename NodeT >

operator bool | ( |  | ) | const

inlineinherited

Return `true` if this iterator is not yet exhausted.

## operator!=()

template<typename MaskIterT , typename NodeT >

bool operator!= | ( | const IteratorBase< MaskIterT, NodeT > & | other | ) | const

inlineinherited

## operator*()

template<typename MaskIterT , typename IterT , typename NodeT , typename ItemT >

ItemT & operator* | ( |  | ) | const

inline

Return a reference to the item to which this iterator is pointing.

## operator++()

template<typename MaskIterT , typename NodeT >

IteratorBase & operator++ | ( |  | ) |

inlineinherited

Advance to the next item in the parent node's table.

## operator->()

template<typename MaskIterT , typename IterT , typename NodeT , typename ItemT >

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

inline

Return a pointer to the item to which this iterator is pointing.

## operator==()

template<typename MaskIterT , typename NodeT >

bool operator== | ( | const IteratorBase< MaskIterT, NodeT > & | other | ) | const

inlineinherited

## parent()

template<typename MaskIterT , typename NodeT >

NodeT & parent | ( |  | ) | const

inlineinherited

Return a reference to the node over which this iterator is iterating.

Exceptions

  ValueError | if there is no parent node.

## pos()

template<typename MaskIterT , typename NodeT >

Index pos | ( |  | ) | const

inlineinherited

Identical to offset.

## setItem()

template<typename MaskIterT , typename IterT , typename NodeT , typename ItemT >

void setItem | ( | Index | ,
|  | const ItemT & |
| ) |  | const

Set the value of the item at the given index in the parent node's table.

Note
  All non-const iterator subclasses must implement this accessor.

## setValue()

template<typename MaskIterT , typename IterT , typename NodeT , typename ItemT >

void setValue | ( | const ItemT & | value | ) | const

inline

Set the value of the item to which this iterator is pointing. (Not valid for const iterators.)

## setValueOff()

template<typename MaskIterT , typename NodeT >

void setValueOff | ( |  | ) | const

inlineinherited

If this iterator is pointing to a value, mark the value as inactive.

If this iterator is pointing to a child node, then the current item in the parent node's table is required to be inactive. In that case, this method has no effect.

## setValueOn()

template<typename MaskIterT , typename NodeT >

void setValueOn | ( | bool | on = `true` | ) | const

inlineinherited

If this iterator is pointing to a value, set the value's active state. Otherwise, do nothing.

## test()

template<typename MaskIterT , typename NodeT >

bool test | ( |  | ) | const

inlineinherited

Return `true` if this iterator is not yet exhausted.

## Member Data Documentation

## IsDenseIterator

template<typename MaskIterT , typename IterT , typename NodeT , typename ItemT >

const bool IsDenseIterator = false

static

## IsSparseIterator

template<typename MaskIterT , typename IterT , typename NodeT , typename ItemT >

const bool IsSparseIterator = true

static