OpenVDB  10.0.1
Public Types | Public Member Functions | Static Public Attributes | List of all members
ChannelAccessor< ChannelT > Class Template Reference

Class to access values in channels at a specific voxel location. More...

#include <nanovdb/NanoVDB.h>

Inherits ReadAccessor< BuildT, 0, 1, 2 >.

Public Types

using ValueType = ChannelT
 
using TreeType = IndexTree
 
using AccessorType = ChannelAccessor< ChannelT >
 
using CoordType = CoordT
 
using NodeInfo = typename ReadAccessor< ValueT,-1,-1,-1 >::NodeInfo
 

Public Member Functions

 ChannelAccessor (const IndexGrid &grid, uint32_t channelID=0u)
 Ctor from an IndexGrid and an integer ID of an internal channel that is assumed to exist as blind data in the IndexGrid. More...
 
 ChannelAccessor (const IndexGrid &grid, ChannelT *channelPtr)
 Ctor from an IndexGrid and an external channel. More...
 
const IndexGridgrid () const
 Return a const reference to the IndexGrid. More...
 
const IndexTreetree () const
 Return a const reference to the tree of the IndexGrid. More...
 
const Vec3RvoxelSize () const
 Return a vector of the axial voxel sizes. More...
 
const uint64_t & valueCount () const
 Return total number of values indexed by the IndexGrid. More...
 
void setChannel (ChannelT *channelPtr)
 Change to an external channel. More...
 
void setChannel (uint32_t channelID)
 Change to an internal channel, assuming it exists as as blind data in the IndexGrid. More...
 
uint64_t getIndex (const Coord &ijk) const
 Return the linear offset into a channel that maps to the specified coordinate. More...
 
uint64_t idx (int i, int j, int k) const
 
ChannelT & getValue (const Coord &ijk) const
 Return the value from a cached channel that maps to the specified coordinate. More...
 
ChannelT & operator() (const Coord &ijk) const
 
ChannelT & operator() (int i, int j, int k) const
 
bool probeValue (const CoordType &ijk, typename remove_const< ChannelT >::type &v) const
 return the state and updates the value of the specified voxel More...
 
template<typename T >
T & getValue (const Coord &ijk, T *channelPtr) const
 Return the value from a specified channel that maps to the specified coordinate. More...
 
const RootTroot () const
 
template<typename NodeT >
const NodeT * getNode () const
 Return a const point to the cached node of the specified type. More...
 
template<int LEVEL>
const NodeTrait< TreeT, LEVEL >::type * getNode () const
 
void clear ()
 Reset this access to its initial state, i.e. with an empty cache. More...
 
template<typename NodeT >
bool isCached (const CoordType &ijk) const
 
ValueType getValue (const CoordType &ijk) const
 
ValueType operator() (const CoordType &ijk) const
 
NodeInfo getNodeInfo (const CoordType &ijk) const
 
bool isActive (const CoordType &ijk) const
 
bool probeValue (const CoordType &ijk, ValueType &v) const
 
const LeafTprobeLeaf (const CoordType &ijk) const
 
template<typename RayT >
uint32_t getDim (const CoordType &ijk, const RayT &ray) const
 

Static Public Attributes

static const int CacheLevels = 3
 

Detailed Description

template<typename ChannelT>
class nanovdb::ChannelAccessor< ChannelT >

Class to access values in channels at a specific voxel location.

Note
The ChannelT template parameter can be either const and non-const.

Member Typedef Documentation

using AccessorType = ChannelAccessor<ChannelT>
using CoordType = CoordT
inherited
using NodeInfo = typename ReadAccessor<ValueT, -1, -1, -1>::NodeInfo
inherited
using ValueType = ChannelT

Constructor & Destructor Documentation

ChannelAccessor ( const IndexGrid grid,
uint32_t  channelID = 0u 
)
inline

Ctor from an IndexGrid and an integer ID of an internal channel that is assumed to exist as blind data in the IndexGrid.

ChannelAccessor ( const IndexGrid grid,
ChannelT *  channelPtr 
)
inline

Ctor from an IndexGrid and an external channel.

Member Function Documentation

void clear ( )
inlineinherited

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

uint32_t getDim ( const CoordType ijk,
const RayT &  ray 
) const
inlineinherited
uint64_t getIndex ( const Coord ijk) const
inline

Return the linear offset into a channel that maps to the specified coordinate.

const NodeT* getNode ( ) const
inlineinherited

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

Warning
The return value could be NULL.
const NodeTrait<TreeT, LEVEL>::type* getNode ( ) const
inlineinherited
NodeInfo getNodeInfo ( const CoordType ijk) const
inlineinherited
ValueType getValue ( const CoordType ijk) const
inlineinherited
ChannelT& getValue ( const Coord ijk) const
inline

Return the value from a cached channel that maps to the specified coordinate.

T& getValue ( const Coord ijk,
T *  channelPtr 
) const
inline

Return the value from a specified channel that maps to the specified coordinate.

Note
The template parameter can be either const or non-const
const IndexGrid& grid ( ) const
inline

Return a const reference to the IndexGrid.

uint64_t idx ( int  i,
int  j,
int  k 
) const
inline
bool isActive ( const CoordType ijk) const
inlineinherited
bool isCached ( const CoordType ijk) const
inlineinherited
ValueType operator() ( const CoordType ijk) const
inlineinherited
ChannelT& operator() ( const Coord ijk) const
inline
ChannelT& operator() ( int  i,
int  j,
int  k 
) const
inline
const LeafT* probeLeaf ( const CoordType ijk) const
inlineinherited
bool probeValue ( const CoordType ijk,
ValueType v 
) const
inlineinherited
bool probeValue ( const CoordType ijk,
typename remove_const< ChannelT >::type &  v 
) const
inline

return the state and updates the value of the specified voxel

const RootT& root ( ) const
inlineinherited
void setChannel ( ChannelT *  channelPtr)
inline

Change to an external channel.

void setChannel ( uint32_t  channelID)
inline

Change to an internal channel, assuming it exists as as blind data in the IndexGrid.

const IndexTree& tree ( ) const
inline

Return a const reference to the tree of the IndexGrid.

const uint64_t& valueCount ( ) const
inline

Return total number of values indexed by the IndexGrid.

const Vec3R& voxelSize ( ) const
inline

Return a vector of the axial voxel sizes.

Member Data Documentation

const int CacheLevels = 3
staticinherited