OpenVDB  11.0.0
Public Types | Public Member Functions | Public Attributes | List of all members
ValueAccessor< BuildT > Struct Template Reference

#include <nanovdb/util/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]
 
void * mNode [3]
 

Member Typedef Documentation

using LeafT = build::LeafNode<BuildT>
using ValueType = typename BuildToValueMap<BuildT>::type

Constructor & Destructor Documentation

ValueAccessor ( RootNodeType root)
inline
ValueAccessor ( ValueAccessor< BuildT > &&  )
default
ValueAccessor ( const ValueAccessor< BuildT > &  )
delete

Member Function Documentation

auto get ( const Coord ijk,
ArgsT &&...  args 
) const
inline
ValueType getValue ( int  i,
int  j,
int  k 
) const
inline
ValueType getValue ( const Coord ijk) const
inline
void insert ( const Coord ijk,
NodeT *  node 
) const
inline
bool isActive ( const Coord ijk) const
inline
bool isCached ( const Coord ijk) const
inline
bool isValueOn ( const Coord ijk) const
inline
auto set ( const Coord ijk,
ArgsT &&...  args 
) const
inline
LeafT* setValue ( const Coord ijk,
const ValueType value 
)
inline

Sets value in a leaf node and returns it.

void setValueOn ( const Coord ijk)
inline
void touchLeaf ( const Coord ijk) const
inline

Member Data Documentation

Coord mKeys[3]
mutable
void* mNode[3]
mutable
RootNodeType& mRoot