OpenVDB 12.0.0
Loading...
Searching...
No Matches
ReadAccessor< BuildT, 0, 1, 2 > Class Template Reference

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

#include </private/tmp/openvdb-20241101-6830-c2ql2h/openvdb-12.0.0/nanovdb/nanovdb/NanoVDB.h>

Inheritance diagram for ReadAccessor< BuildT, 0, 1, 2 >:
ChannelAccessor< ChannelT, IndexT > PointAccessor< AttT, BuildT > PointAccessor< AttT, Point >

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__ const RootTroot () const
 
 ReadAccessor (const ReadAccessor &)=default
 Defaults constructors.
 
 ~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.
 
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.
 
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.
 
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.

Member Typedef Documentation

◆ BuildType

template<typename BuildT >
using BuildType = BuildT

◆ CoordType

template<typename BuildT >
using CoordType = CoordT

◆ ValueType

template<typename BuildT >
using ValueType = ValueT

Constructor & Destructor Documentation

◆ ReadAccessor() [1/4]

template<typename BuildT >
__hostdev__ ReadAccessor ( const RootT & root)
inline

Constructor from a root node.

◆ ReadAccessor() [2/4]

template<typename BuildT >
__hostdev__ ReadAccessor ( const GridT & grid)
inline

Constructor from a grid.

◆ ReadAccessor() [3/4]

template<typename BuildT >
__hostdev__ ReadAccessor ( const TreeT & tree)
inline

Constructor from a tree.

◆ ReadAccessor() [4/4]

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

Defaults constructors.

◆ ~ReadAccessor()

template<typename BuildT >
~ReadAccessor ( )
default

Member Function Documentation

◆ clear()

template<typename BuildT >
__hostdev__ void clear ( )
inline

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

◆ get()

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

◆ getDim()

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

◆ getNode() [1/2]

template<typename BuildT >
template<typename NodeT >
__hostdev__ const NodeT * getNode ( ) const
inline

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

Warning
The return value could be NULL.

◆ getNode() [2/2]

template<typename BuildT >
template<int LEVEL>
__hostdev__ const NodeTrait< TreeT, LEVEL >::type * getNode ( ) const
inline

◆ getNodeInfo()

template<typename BuildT >
__hostdev__ auto getNodeInfo ( const CoordType & ijk) const
inline

◆ getValue() [1/2]

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

◆ getValue() [2/2]

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

◆ isActive()

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

◆ isCached()

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

◆ operator()() [1/2]

template<typename BuildT >
__hostdev__ ValueType operator() ( const CoordType & ijk) const
inline

◆ operator()() [2/2]

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

◆ operator=()

template<typename BuildT >
ReadAccessor & operator= ( const ReadAccessor< BuildT, 0, 1, 2 > & )
default

◆ probeLeaf()

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

◆ probeValue()

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

◆ root()

template<typename BuildT >
__hostdev__ const RootT & root ( ) const
inline

◆ set()

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

Friends And Related Symbol Documentation

◆ InternalNode

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

◆ LeafNode

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

◆ RootNode

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

Allow nodes to insert themselves into the cache.

Member Data Documentation

◆ CacheLevels

template<typename BuildT >
const int CacheLevels = 3
static