OpenVDB  12.0.0
Public Types | List of all members
NodeChain< HeadT, HeadLevel > Struct Template Reference

NodeChain<RootNodeType, RootNodeType::LEVEL>::Type is a openvdb::TypeList that lists the types of the nodes of the tree rooted at RootNodeType in reverse order, from LeafNode to RootNode. More...

#include <openvdb/tree/RootNode.h>

Public Types

using SubtreeT = typename NodeChain< typename HeadT::ChildNodeType, HeadLevel-1 >::Type
 
using Type = typename SubtreeT::template Append< HeadT >
 

Detailed Description

template<typename HeadT, int HeadLevel>
struct openvdb::v12_0::tree::NodeChain< HeadT, HeadLevel >

NodeChain<RootNodeType, RootNodeType::LEVEL>::Type is a openvdb::TypeList that lists the types of the nodes of the tree rooted at RootNodeType in reverse order, from LeafNode to RootNode.

For example, if RootNodeType is

RootNode<InternalNode<InternalNode<LeafNode> > >

then NodeChain::Type is

LeafNode,
InternalNode<LeafNode>,
InternalNode<InternalNode<LeafNode> >,
RootNode<InternalNode<InternalNode<LeafNode> > > >
Note
Use the following to get the Nth node type, where N=0 is the LeafNodeType:
NodeChainType::Get<N>;

Member Typedef Documentation

using SubtreeT = typename NodeChain<typename HeadT::ChildNodeType, HeadLevel-1>::Type
using Type = typename SubtreeT::template Append<HeadT>