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

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

#include <nanovdb/NanoVDB.h>

Inheritance diagram for ReadAccessor< BuildT, 0, 1, 2 >:
ChannelAccessor< ChannelT, IndexT > PointAccessor< AttT, Point > 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 RootT & root () 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 LeafT * probeLeaf (const CoordType &ijk) const
template<typename OpT, typename... ArgsT>
__hostdev__ OpT::Type get (const CoordType &ijk, ArgsT &&... args) const
template<typename OpT, typename... ArgsT>
__hostdev__ void 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__ OpT::Type 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<int LEVEL>
__hostdev__ const NodeTrait< TreeT, LEVEL >::type * getNode ( ) const
inline

◆ getNode() [2/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.

◆ 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__ void set ( const CoordType & ijk,
ArgsT &&... args ) const
inline

◆ 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