OpenVDB 12.0.0
 
Loading...
Searching...
No Matches
ReadAccessor< BuildT, LEVEL0, LEVEL1, -1 > Class Template Reference

#include <nanovdb/NanoVDB.h>

Public Types

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

Public Member Functions

__hostdev__ ReadAccessor (const RootT &root)
 Constructor from a root node.
 
__hostdev__ ReadAccessor (const GridT &grid)
 Constructor from a grid.
 
__hostdev__ ReadAccessor (const TreeT &tree)
 Constructor from a tree.
 
__hostdev__ void clear ()
 Reset this access to its initial state, i.e. with an empty cache.
 
__hostdev__ const RootTroot () const
 
 ReadAccessor (const ReadAccessor &)=default
 Defaults constructors.
 
 ~ReadAccessor ()=default
 
ReadAccessoroperator= (const ReadAccessor &)=default
 
__hostdev__ bool isCached1 (const CoordType &ijk) const
 
__hostdev__ bool isCached2 (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 RayT>
__hostdev__ uint32_t getDim (const CoordType &ijk, const RayT &ray) 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
 

Static Public Attributes

static const int CacheLevels = 2
 

Friends

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

Member Typedef Documentation

◆ BuildType

template<typename BuildT, int LEVEL0, int LEVEL1>
using BuildType = BuildT

◆ CoordType

template<typename BuildT, int LEVEL0, int LEVEL1>
using CoordType = CoordT

◆ ValueType

template<typename BuildT, int LEVEL0, int LEVEL1>
using ValueType = ValueT

Constructor & Destructor Documentation

◆ ReadAccessor() [1/4]

template<typename BuildT, int LEVEL0, int LEVEL1>
__hostdev__ ReadAccessor ( const RootT & root)
inline

Constructor from a root node.

◆ ReadAccessor() [2/4]

template<typename BuildT, int LEVEL0, int LEVEL1>
__hostdev__ ReadAccessor ( const GridT & grid)
inline

Constructor from a grid.

◆ ReadAccessor() [3/4]

template<typename BuildT, int LEVEL0, int LEVEL1>
__hostdev__ ReadAccessor ( const TreeT & tree)
inline

Constructor from a tree.

◆ ReadAccessor() [4/4]

template<typename BuildT, int LEVEL0, int LEVEL1>
ReadAccessor ( const ReadAccessor< BuildT, LEVEL0, LEVEL1, -1 > & )
default

Defaults constructors.

◆ ~ReadAccessor()

template<typename BuildT, int LEVEL0, int LEVEL1>
~ReadAccessor ( )
default

Member Function Documentation

◆ clear()

template<typename BuildT, int LEVEL0, int LEVEL1>
__hostdev__ void clear ( )
inline

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

◆ get()

template<typename BuildT, int LEVEL0, int LEVEL1>
template<typename OpT, typename... ArgsT>
__hostdev__ auto get ( const CoordType & ijk,
ArgsT &&... args ) const
inline

◆ getDim()

template<typename BuildT, int LEVEL0, int LEVEL1>
template<typename RayT>
__hostdev__ uint32_t getDim ( const CoordType & ijk,
const RayT & ray ) const
inline

◆ getNodeInfo()

template<typename BuildT, int LEVEL0, int LEVEL1>
__hostdev__ auto getNodeInfo ( const CoordType & ijk) const
inline

◆ getValue() [1/2]

template<typename BuildT, int LEVEL0, int LEVEL1>
__hostdev__ ValueType getValue ( const CoordType & ijk) const
inline

◆ getValue() [2/2]

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

◆ isActive()

template<typename BuildT, int LEVEL0, int LEVEL1>
__hostdev__ bool isActive ( const CoordType & ijk) const
inline

◆ isCached1()

template<typename BuildT, int LEVEL0, int LEVEL1>
__hostdev__ bool isCached1 ( const CoordType & ijk) const
inline

◆ isCached2()

template<typename BuildT, int LEVEL0, int LEVEL1>
__hostdev__ bool isCached2 ( const CoordType & ijk) const
inline

◆ operator()() [1/2]

template<typename BuildT, int LEVEL0, int LEVEL1>
__hostdev__ ValueType operator() ( const CoordType & ijk) const
inline

◆ operator()() [2/2]

template<typename BuildT, int LEVEL0, int LEVEL1>
__hostdev__ ValueType operator() ( int i,
int j,
int k ) const
inline

◆ operator=()

template<typename BuildT, int LEVEL0, int LEVEL1>
ReadAccessor & operator= ( const ReadAccessor< BuildT, LEVEL0, LEVEL1, -1 > & )
default

◆ probeLeaf()

template<typename BuildT, int LEVEL0, int LEVEL1>
__hostdev__ const LeafT * probeLeaf ( const CoordType & ijk) const
inline

◆ probeValue()

template<typename BuildT, int LEVEL0, int LEVEL1>
__hostdev__ bool probeValue ( const CoordType & ijk,
ValueType & v ) const
inline

◆ root()

template<typename BuildT, int LEVEL0, int LEVEL1>
__hostdev__ const RootT & root ( ) const
inline

◆ set()

template<typename BuildT, int LEVEL0, int LEVEL1>
template<typename OpT, typename... ArgsT>
__hostdev__ auto set ( const CoordType & ijk,
ArgsT &&... args ) const
inline

Friends And Related Symbol Documentation

◆ InternalNode

template<typename BuildT, int LEVEL0, int LEVEL1>
template<typename, uint32_t>
friend class InternalNode
friend

◆ LeafNode

template<typename BuildT, int LEVEL0, int LEVEL1>
template<typename, typename, template< uint32_t > class, uint32_t>
friend class LeafNode
friend

◆ RootNode

template<typename BuildT, int LEVEL0, int LEVEL1>
template<typename>
friend class RootNode
friend

Allow nodes to insert themselves into the cache.

Member Data Documentation

◆ CacheLevels

template<typename BuildT, int LEVEL0, int LEVEL1>
const int CacheLevels = 2
static