OpenVDB 11.0.0
Loading...
Searching...
No Matches
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.
 
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]
 

Member Typedef Documentation

◆ LeafNodeType

◆ LeafT

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

◆ Node1

◆ Node2

◆ RootNodeType

◆ ValueType

template<typename BuildT >
using ValueType = typename BuildToValueMap<BuildT>::type

Constructor & Destructor Documentation

◆ ValueAccessor() [1/3]

template<typename BuildT >
ValueAccessor ( RootNodeType & root)
inline

◆ ValueAccessor() [2/3]

template<typename BuildT >
ValueAccessor ( ValueAccessor< BuildT > && )
default

◆ ValueAccessor() [3/3]

template<typename BuildT >
ValueAccessor ( const ValueAccessor< BuildT > & )
delete

Member Function Documentation

◆ get()

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

◆ getValue() [1/2]

template<typename BuildT >
ValueType getValue ( const Coord & ijk) const
inline

◆ getValue() [2/2]

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

◆ insert()

template<typename BuildT >
template<typename NodeT >
void insert ( const Coord & ijk,
NodeT * node ) const
inline

◆ isActive()

template<typename BuildT >
bool isActive ( const Coord & ijk) const
inline

◆ isCached()

template<typename BuildT >
template<typename NodeT >
bool isCached ( const Coord & ijk) const
inline

◆ isValueOn()

template<typename BuildT >
bool isValueOn ( const Coord & ijk) const
inline

◆ set()

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

◆ setValue()

template<typename BuildT >
LeafT * setValue ( const Coord & ijk,
const ValueType & value )
inline

Sets value in a leaf node and returns it.

◆ setValueOn()

template<typename BuildT >
void setValueOn ( const Coord & ijk)
inline

◆ touchLeaf()

template<typename BuildT >
void touchLeaf ( const Coord & ijk) const
inline

Member Data Documentation

◆ mKeys

template<typename BuildT >
Coord mKeys[3]
mutable

◆ mNode

template<typename BuildT >
void* mNode[3]
mutable

◆ mRoot

template<typename BuildT >
RootNodeType& mRoot