HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
nanovdb::ReadAccessor< BuildT, 0, 1, 2 > Class Template Reference

Node caching at all (three) tree levels. More...

#include <NanoVDB.h>

+ Inheritance diagram for nanovdb::ReadAccessor< BuildT, 0, 1, 2 >:

Public Types

using BuildType = BuildT
 
using ValueType = ValueT
 
using CoordType = CoordT
 

Public Member Functions

__hostdev__ ReadAccessor (const RootT &root)
 Constructor from a root node. More...
 
__hostdev__ ReadAccessor (const GridT &grid)
 Constructor from a grid. More...
 
__hostdev__ ReadAccessor (const TreeT &tree)
 Constructor from a tree. More...
 
__hostdev__ const RootTroot () const
 
 ReadAccessor (const ReadAccessor &)=default
 Defaults constructors. More...
 
 ~ReadAccessor ()=default
 
ReadAccessoroperator= (const ReadAccessor &)=default
 
template<typename NodeT >
__hostdev__ const NodeT * getNode () const
 Return a const point to the cached node of the specified type. More...
 
template<int LEVEL>
__hostdev__ const NodeTrait
< TreeT, LEVEL >::type
getNode () const
 
__hostdev__ void clear ()
 Reset this access to its initial state, i.e. with an empty cache. More...
 
template<typename NodeT >
__hostdev__ bool isCached (const CoordType &ijk) const
 
__hostdev__ ValueType getValue (const CoordType &ijk) const
 
__hostdev__ ValueType getValue (int i, int j, int k) const
 
__hostdev__ ValueType operator() (const CoordType &ijk) const
 
__hostdev__ ValueType operator() (int i, int j, int k) const
 
__hostdev__ auto getNodeInfo (const CoordType &ijk) const
 
__hostdev__ bool isActive (const CoordType &ijk) const
 
__hostdev__ bool probeValue (const CoordType &ijk, ValueType &v) const
 
__hostdev__ const LeafTprobeLeaf (const CoordType &ijk) const
 
template<typename OpT , typename... ArgsT>
__hostdev__ auto get (const CoordType &ijk, ArgsT &&...args) const
 
template<typename OpT , typename... ArgsT>
__hostdev__ auto set (const CoordType &ijk, ArgsT &&...args) const
 
template<typename RayT >
__hostdev__ uint32_t getDim (const CoordType &ijk, const RayT &ray) const
 

Static Public Attributes

static const int CacheLevels = 3
 

Friends

template<typename >
class RootNode
 Allow nodes to insert themselves into the cache. More...
 
template<typename , uint32_t >
class InternalNode
 
template<typename , typename , template< uint32_t > class, uint32_t >
class LeafNode
 

Detailed Description

template<typename BuildT>
class nanovdb::ReadAccessor< BuildT, 0, 1, 2 >

Node caching at all (three) tree levels.

Definition at line 7152 of file NanoVDB.h.

Member Typedef Documentation

template<typename BuildT >
using nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::BuildType = BuildT

Definition at line 7176 of file NanoVDB.h.

template<typename BuildT >
using nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::CoordType = CoordT

Definition at line 7178 of file NanoVDB.h.

template<typename BuildT >
using nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::ValueType = ValueT

Definition at line 7177 of file NanoVDB.h.

Constructor & Destructor Documentation

template<typename BuildT >
__hostdev__ nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::ReadAccessor ( const RootT root)
inline

Constructor from a root node.

Definition at line 7185 of file NanoVDB.h.

template<typename BuildT >
__hostdev__ nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::ReadAccessor ( const GridT grid)
inline

Constructor from a grid.

Definition at line 7197 of file NanoVDB.h.

template<typename BuildT >
__hostdev__ nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::ReadAccessor ( const TreeT tree)
inline

Constructor from a tree.

Definition at line 7203 of file NanoVDB.h.

template<typename BuildT >
nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::ReadAccessor ( const ReadAccessor< BuildT, 0, 1, 2 > &  )
default

Defaults constructors.

template<typename BuildT >
nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::~ReadAccessor ( )
default

Member Function Documentation

template<typename BuildT >
__hostdev__ void nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::clear ( )
inline

Reset this access to its initial state, i.e. with an empty cache.

Definition at line 7235 of file NanoVDB.h.

template<typename BuildT >
template<typename OpT , typename... ArgsT>
__hostdev__ auto nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::get ( const CoordType ijk,
ArgsT &&...  args 
) const
inline

Definition at line 7384 of file NanoVDB.h.

template<typename BuildT >
template<typename RayT >
__hostdev__ uint32_t nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::getDim ( const CoordType ijk,
const RayT &  ray 
) const
inline

Definition at line 7420 of file NanoVDB.h.

template<typename BuildT >
template<typename NodeT >
__hostdev__ const NodeT* nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::getNode ( ) const
inline

Return a const point to the cached node of the specified type.

Warning
The return value could be NULL.

Definition at line 7219 of file NanoVDB.h.

template<typename BuildT >
template<int LEVEL>
__hostdev__ const NodeTrait<TreeT, LEVEL>::type* nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::getNode ( ) const
inline

Definition at line 7227 of file NanoVDB.h.

template<typename BuildT >
__hostdev__ auto nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::getNodeInfo ( const CoordType ijk) const
inline

Definition at line 7280 of file NanoVDB.h.

template<typename BuildT >
__hostdev__ ValueType nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::getValue ( const CoordType ijk) const
inline

Definition at line 7273 of file NanoVDB.h.

template<typename BuildT >
__hostdev__ ValueType nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::getValue ( int  i,
int  j,
int  k 
) const
inline

Definition at line 7277 of file NanoVDB.h.

template<typename BuildT >
__hostdev__ bool nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::isActive ( const CoordType ijk) const
inline

Definition at line 7281 of file NanoVDB.h.

template<typename BuildT >
template<typename NodeT >
__hostdev__ bool nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::isCached ( const CoordType ijk) const
inline

Definition at line 7264 of file NanoVDB.h.

template<typename BuildT >
__hostdev__ ValueType nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::operator() ( const CoordType ijk) const
inline

Definition at line 7278 of file NanoVDB.h.

template<typename BuildT >
__hostdev__ ValueType nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::operator() ( int  i,
int  j,
int  k 
) const
inline

Definition at line 7279 of file NanoVDB.h.

template<typename BuildT >
ReadAccessor& nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::operator= ( const ReadAccessor< BuildT, 0, 1, 2 > &  )
default
template<typename BuildT >
__hostdev__ const LeafT* nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::probeLeaf ( const CoordType ijk) const
inline

Definition at line 7283 of file NanoVDB.h.

template<typename BuildT >
__hostdev__ bool nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::probeValue ( const CoordType ijk,
ValueType v 
) const
inline

Definition at line 7282 of file NanoVDB.h.

template<typename BuildT >
__hostdev__ const RootT& nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::root ( ) const
inline

Definition at line 7208 of file NanoVDB.h.

template<typename BuildT >
template<typename OpT , typename... ArgsT>
__hostdev__ auto nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::set ( const CoordType ijk,
ArgsT &&...  args 
) const
inline

Definition at line 7402 of file NanoVDB.h.

Friends And Related Function Documentation

template<typename BuildT >
template<typename , uint32_t >
friend class InternalNode
friend

Definition at line 7442 of file NanoVDB.h.

template<typename BuildT >
template<typename , typename , template< uint32_t > class, uint32_t >
friend class LeafNode
friend

Definition at line 7444 of file NanoVDB.h.

template<typename BuildT >
template<typename >
friend class RootNode
friend

Allow nodes to insert themselves into the cache.

Definition at line 7440 of file NanoVDB.h.

Member Data Documentation

template<typename BuildT >
const int nanovdb::ReadAccessor< BuildT, 0, 1, 2 >::CacheLevels = 3
static

Definition at line 7180 of file NanoVDB.h.


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