Loading...
Searching...
No Matches
ChannelAccessor< ChannelT > Class Template Reference

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

`#include <nanovdb/NanoVDB.h>`

Inheritance diagram for ChannelAccessor< ChannelT >:

## 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.
| ChannelAccessor (const IndexGrid &grid, ChannelT *channelPtr)
| Ctor from an IndexGrid and an external channel.
const IndexGrid & | grid () const
| Return a const reference to the IndexGrid.
const IndexTree & | tree () const
| Return a const reference to the tree of the IndexGrid.
const Vec3R & | voxelSize () const
| Return a vector of the axial voxel sizes.
const uint64_t & | valueCount () const
| Return total number of values indexed by the IndexGrid.
void | setChannel (ChannelT *channelPtr)
| Change to an external channel.
void | setChannel (uint32_t channelID)
| Change to an internal channel, assuming it exists as as blind data in the IndexGrid.
uint64_t | getIndex (const Coord &ijk) const
| Return the linear offset into a channel that maps to the specified coordinate.
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.
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
template<typename T>
T & | getValue (const Coord &ijk, T *channelPtr) const
| Return the value from a specified channel that maps to the specified coordinate.
const RootT & | root () const
template<typename NodeT>
const NodeT * | getNode () const
| Return a const point to the cached node of the specified type.
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.
template<typename NodeT>
bool | isCached (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 LeafT * | probeLeaf (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

## AccessorType

template<typename ChannelT>

using AccessorType = ChannelAccessor<ChannelT>

## CoordType

template<typename BuildT>

using CoordType = CoordT

inherited

## NodeInfo

template<typename BuildT>

using NodeInfo = typename ReadAccessor<ValueT, -1, -1, -1>::NodeInfo

inherited

## TreeType

template<typename ChannelT>

using TreeType = IndexTree

## ValueType

template<typename ChannelT>

using ValueType = ChannelT

## Constructor & Destructor Documentation

## ChannelAccessor() [1/2]

template<typename ChannelT>

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() [2/2]

template<typename ChannelT>

ChannelAccessor | ( | const IndexGrid & | grid,
|  | ChannelT * | channelPtr )

inline

Ctor from an IndexGrid and an external channel.

## Member Function Documentation

## clear()

template<typename BuildT>

void clear | ( |  | ) |

inline inherited

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

## getDim()

template<typename BuildT>
template<typename RayT>

uint32_t getDim | ( | const CoordType & | ijk,
|  | const RayT & | ray ) const

inline inherited

## getIndex()

template<typename ChannelT>

uint64_t getIndex | ( | const Coord & | ijk | ) | const

inline

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

## getNode() [1/2]

template<typename BuildT>
template<int LEVEL>

const NodeTrait< TreeT, LEVEL >::type * getNode | ( |  | ) | const

inline inherited

## getNode() [2/2]

template<typename BuildT>
template<typename NodeT>

const NodeT * getNode | ( |  | ) | const

inline inherited

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

Warning
  The return value could be NULL.

## getNodeInfo()

template<typename BuildT>

NodeInfo getNodeInfo | ( | const CoordType & | ijk | ) | const

inline inherited

## getValue() [1/2]

template<typename ChannelT>

ChannelT & getValue | ( | const Coord & | ijk | ) | const

inline

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

## getValue() [2/2]

template<typename ChannelT>
template<typename T>

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

## grid()

template<typename ChannelT>

const IndexGrid & grid | ( |  | ) | const

inline

Return a const reference to the IndexGrid.

## idx()

template<typename ChannelT>

uint64_t idx | ( | int | i,
|  | int | j,
|  | int | k ) const

inline

## isActive()

template<typename BuildT>

bool isActive | ( | const CoordType & | ijk | ) | const

inline inherited

## isCached()

template<typename BuildT>
template<typename NodeT>

bool isCached | ( | const CoordType & | ijk | ) | const

inline inherited

## operator()() [1/2]

template<typename ChannelT>

ChannelT & operator() | ( | const Coord & | ijk | ) | const

inline

## operator()() [2/2]

template<typename ChannelT>

ChannelT & operator() | ( | int | i,
|  | int | j,
|  | int | k ) const

inline

## probeLeaf()

template<typename BuildT>

const LeafT * probeLeaf | ( | const CoordType & | ijk | ) | const

inline inherited

## probeValue() [1/2]

template<typename ChannelT>

bool probeValue | ( | const CoordType & | ijk,
|  | typename remove_const< ChannelT >::type & | v ) const

inline

return the state and updates the value of the specified voxel

## probeValue() [2/2]

template<typename BuildT>

bool probeValue | ( | const CoordType & | ijk,
|  | ValueType & | v ) const

inline inherited

## root()

template<typename BuildT>

const RootT & root | ( |  | ) | const

inline inherited

## setChannel() [1/2]

template<typename ChannelT>

void setChannel | ( | ChannelT * | channelPtr | ) |

inline

Change to an external channel.

## setChannel() [2/2]

template<typename ChannelT>

void setChannel | ( | uint32_t | channelID | ) |

inline

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

## tree()

template<typename ChannelT>

const IndexTree & tree | ( |  | ) | const

inline

Return a const reference to the tree of the IndexGrid.

## valueCount()

template<typename ChannelT>

const uint64_t & valueCount | ( |  | ) | const

inline

Return total number of values indexed by the IndexGrid.

## voxelSize()

template<typename ChannelT>

const Vec3R & voxelSize | ( |  | ) | const

inline

Return a vector of the axial voxel sizes.

## Member Data Documentation

## CacheLevels

template<typename BuildT>

const int CacheLevels = 3

static inherited