OpenVDB  6.0.0
Public Types | Public Member Functions | Static Public Attributes | List of all members
IterListItem< PrevItemT, NodeVecT, VecSize, 0U > Class Template Reference

The initial element of a compile-time linked list of iterators to nodes of different types. More...

#include <TreeIterator.h>

Public Types

using PrevIterT = typename PrevItemT::IterT
 The type of iterator stored in the previous list item. More...
 
using _NodeT = typename boost::mpl::front< NodeVecT >::type
 The type of node (non-const) whose iterator is stored in this list item. More...
 
using IterT = typename IterTraits< typename PrevIterT::NonConstNodeType, PrevIterT >::template NodeConverter< _NodeT >::Type
 The type of iterator stored in this list item (e.g., InternalNode::ValueOnCIter) More...
 
using NodeT = typename IterT::NodeType
 The type of node (const or non-const) over which IterT iterates (e.g., const RootNode<...>) More...
 
using NCNodeT = typename IterT::NonConstNodeType
 The type of the node with const qualifiers removed ("Non-Const") More...
 
using NCValueT = typename IterT::NonConstValueType
 The type of value (with const qualifiers removed) to which the iterator points. More...
 
using ITraits = IterTraits< NCNodeT, IterT >
 

Public Member Functions

 IterListItem (PrevItemT *)
 
 IterListItem (const IterListItem &other)
 
IterListItemoperator= (const IterListItem &other)
 
void updateBackPointers (PrevItemT *=nullptr)
 
void setIter (const IterT &iter)
 
template<typename OtherIterT >
void setIter (const OtherIterT &iter)
 
void getNode (Index lvl, NodeT *&node) const
 
template<typename OtherNodeT >
void getNode (Index lvl, OtherNodeT *&node) const
 
template<typename OtherIterListItemT >
void initLevel (Index lvl, OtherIterListItemT &otherListItem)
 
Index pos (Index lvl) const
 
bool test (Index lvl) const
 
bool next (Index lvl)
 
bool down (Index lvl)
 
Coord getCoord (Index lvl) const
 
Index getChildDim (Index lvl) const
 
Index64 getVoxelCount (Index lvl) const
 
bool isValueOn (Index lvl) const
 
const NCValueTgetValue (Index lvl) const
 
void setValue (Index lvl, const NCValueT &val) const
 
void setValueOn (Index lvl, bool on=true) const
 
void setValueOff (Index lvl) const
 
template<typename ModifyOp >
void modifyValue (Index lvl, const ModifyOp &op) const
 

Static Public Attributes

static const Index Level = 0
 NodeT's level in its tree (0 = LeafNode) More...
 

Detailed Description

template<typename PrevItemT, typename NodeVecT, size_t VecSize>
class openvdb::v6_0::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >

The initial element of a compile-time linked list of iterators to nodes of different types.

Member Typedef Documentation

◆ _NodeT

using _NodeT = typename boost::mpl::front<NodeVecT>::type

The type of node (non-const) whose iterator is stored in this list item.

◆ IterT

using IterT = typename IterTraits<typename PrevIterT::NonConstNodeType, PrevIterT>::template NodeConverter<_NodeT>::Type

The type of iterator stored in this list item (e.g., InternalNode::ValueOnCIter)

◆ ITraits

◆ NCNodeT

using NCNodeT = typename IterT::NonConstNodeType

The type of the node with const qualifiers removed ("Non-Const")

◆ NCValueT

using NCValueT = typename IterT::NonConstValueType

The type of value (with const qualifiers removed) to which the iterator points.

◆ NodeT

using NodeT = typename IterT::NodeType

The type of node (const or non-const) over which IterT iterates (e.g., const RootNode<...>)

◆ PrevIterT

using PrevIterT = typename PrevItemT::IterT

The type of iterator stored in the previous list item.

Constructor & Destructor Documentation

◆ IterListItem() [1/2]

IterListItem ( PrevItemT *  )
inline

◆ IterListItem() [2/2]

IterListItem ( const IterListItem< PrevItemT, NodeVecT, VecSize, 0U > &  other)
inline

Member Function Documentation

◆ down()

bool down ( Index  lvl)
inline

◆ getChildDim()

Index getChildDim ( Index  lvl) const
inline

◆ getCoord()

Coord getCoord ( Index  lvl) const
inline

◆ getNode() [1/2]

void getNode ( Index  lvl,
NodeT *&  node 
) const
inline

◆ getNode() [2/2]

void getNode ( Index  lvl,
OtherNodeT *&  node 
) const
inline

◆ getValue()

const NCValueT& getValue ( Index  lvl) const
inline

◆ getVoxelCount()

Index64 getVoxelCount ( Index  lvl) const
inline

◆ initLevel()

void initLevel ( Index  lvl,
OtherIterListItemT &  otherListItem 
)
inline

◆ isValueOn()

bool isValueOn ( Index  lvl) const
inline

◆ modifyValue()

void modifyValue ( Index  lvl,
const ModifyOp &  op 
) const
inline

◆ next()

bool next ( Index  lvl)
inline

◆ operator=()

IterListItem& operator= ( const IterListItem< PrevItemT, NodeVecT, VecSize, 0U > &  other)
inline

◆ pos()

Index pos ( Index  lvl) const
inline

◆ setIter() [1/2]

void setIter ( const IterT iter)
inline

◆ setIter() [2/2]

void setIter ( const OtherIterT &  iter)
inline

◆ setValue()

void setValue ( Index  lvl,
const NCValueT val 
) const
inline

◆ setValueOff()

void setValueOff ( Index  lvl) const
inline

◆ setValueOn()

void setValueOn ( Index  lvl,
bool  on = true 
) const
inline

◆ test()

bool test ( Index  lvl) const
inline

◆ updateBackPointers()

void updateBackPointers ( PrevItemT *  = nullptr)
inline

Member Data Documentation

◆ Level

const Index Level = 0
static

NodeT's level in its tree (0 = LeafNode)


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