HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
nanovdb::build::ValueAccessor< BuildT > Struct Template Reference

#include <GridBuilder.h>

Public Types

using ValueType = typename BuildToValueMap< BuildT >::type
 
using LeafT = build::LeafNode< BuildT >
 
using Node1 = build::InternalNode< LeafT >
 
using Node2 = build::InternalNode< Node1 >
 
using RootNodeType = build::RootNode< Node2 >
 
using LeafNodeType = typename RootNodeType::LeafNodeType
 

Public Member Functions

 ValueAccessor (RootNodeType &root)
 
 ValueAccessor (ValueAccessor &&)=default
 
 ValueAccessor (const ValueAccessor &)=delete
 
ValueType getValue (int i, int j, int k) const
 
template<typename NodeT >
bool isCached (const Coord &ijk) const
 
template<typename OpT , typename... ArgsT>
auto get (const Coord &ijk, ArgsT &&...args) const
 
template<typename OpT , typename... ArgsT>
auto set (const Coord &ijk, ArgsT &&...args) const
 
ValueType getValue (const Coord &ijk) const
 
LeafTsetValue (const Coord &ijk, const ValueType &value)
 Sets value in a leaf node and returns it. More...
 
void setValueOn (const Coord &ijk)
 
void touchLeaf (const Coord &ijk) const
 
bool isActive (const Coord &ijk) const
 
bool isValueOn (const Coord &ijk) const
 
template<typename NodeT >
void insert (const Coord &ijk, NodeT *node) const
 

Public Attributes

RootNodeTypemRoot
 
Coord mKeys [3]
 
voidmNode [3]
 

Detailed Description

template<typename BuildT>
struct nanovdb::build::ValueAccessor< BuildT >

Definition at line 1673 of file GridBuilder.h.

Member Typedef Documentation

template<typename BuildT >
using nanovdb::build::ValueAccessor< BuildT >::LeafNodeType = typename RootNodeType::LeafNodeType

Definition at line 1680 of file GridBuilder.h.

template<typename BuildT >
using nanovdb::build::ValueAccessor< BuildT >::LeafT = build::LeafNode<BuildT>

Definition at line 1676 of file GridBuilder.h.

template<typename BuildT >
using nanovdb::build::ValueAccessor< BuildT >::Node1 = build::InternalNode<LeafT>

Definition at line 1677 of file GridBuilder.h.

template<typename BuildT >
using nanovdb::build::ValueAccessor< BuildT >::Node2 = build::InternalNode<Node1>

Definition at line 1678 of file GridBuilder.h.

template<typename BuildT >
using nanovdb::build::ValueAccessor< BuildT >::RootNodeType = build::RootNode<Node2>

Definition at line 1679 of file GridBuilder.h.

template<typename BuildT >
using nanovdb::build::ValueAccessor< BuildT >::ValueType = typename BuildToValueMap<BuildT>::type

Definition at line 1675 of file GridBuilder.h.

Constructor & Destructor Documentation

template<typename BuildT >
nanovdb::build::ValueAccessor< BuildT >::ValueAccessor ( RootNodeType root)
inline

Definition at line 1682 of file GridBuilder.h.

template<typename BuildT >
nanovdb::build::ValueAccessor< BuildT >::ValueAccessor ( ValueAccessor< BuildT > &&  )
default
template<typename BuildT >
nanovdb::build::ValueAccessor< BuildT >::ValueAccessor ( const ValueAccessor< BuildT > &  )
delete

Member Function Documentation

template<typename BuildT >
template<typename OpT , typename... ArgsT>
auto nanovdb::build::ValueAccessor< BuildT >::get ( const Coord ijk,
ArgsT &&...  args 
) const
inline

Definition at line 1700 of file GridBuilder.h.

template<typename BuildT >
ValueType nanovdb::build::ValueAccessor< BuildT >::getValue ( int  i,
int  j,
int  k 
) const
inline

Definition at line 1690 of file GridBuilder.h.

template<typename BuildT >
ValueType nanovdb::build::ValueAccessor< BuildT >::getValue ( const Coord ijk) const
inline

Definition at line 1732 of file GridBuilder.h.

template<typename BuildT >
template<typename NodeT >
void nanovdb::build::ValueAccessor< BuildT >::insert ( const Coord ijk,
NodeT *  node 
) const
inline

Definition at line 1798 of file GridBuilder.h.

template<typename BuildT >
bool nanovdb::build::ValueAccessor< BuildT >::isActive ( const Coord ijk) const
inline

Definition at line 1783 of file GridBuilder.h.

template<typename BuildT >
template<typename NodeT >
bool nanovdb::build::ValueAccessor< BuildT >::isCached ( const Coord ijk) const
inline

Definition at line 1692 of file GridBuilder.h.

template<typename BuildT >
bool nanovdb::build::ValueAccessor< BuildT >::isValueOn ( const Coord ijk) const
inline

Definition at line 1796 of file GridBuilder.h.

template<typename BuildT >
template<typename OpT , typename... ArgsT>
auto nanovdb::build::ValueAccessor< BuildT >::set ( const Coord ijk,
ArgsT &&...  args 
) const
inline

Definition at line 1713 of file GridBuilder.h.

template<typename BuildT >
LeafT* nanovdb::build::ValueAccessor< BuildT >::setValue ( const Coord ijk,
const ValueType value 
)
inline

Sets value in a leaf node and returns it.

Definition at line 1745 of file GridBuilder.h.

template<typename BuildT >
void nanovdb::build::ValueAccessor< BuildT >::setValueOn ( const Coord ijk)
inline

Definition at line 1759 of file GridBuilder.h.

template<typename BuildT >
void nanovdb::build::ValueAccessor< BuildT >::touchLeaf ( const Coord ijk) const
inline

Definition at line 1771 of file GridBuilder.h.

Member Data Documentation

template<typename BuildT >
Coord nanovdb::build::ValueAccessor< BuildT >::mKeys[3]
mutable

Definition at line 1804 of file GridBuilder.h.

template<typename BuildT >
void* nanovdb::build::ValueAccessor< BuildT >::mNode[3]
mutable

Definition at line 1805 of file GridBuilder.h.

template<typename BuildT >
RootNodeType& nanovdb::build::ValueAccessor< BuildT >::mRoot

Definition at line 1803 of file GridBuilder.h.


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