template<typename BuildT>
struct nanovdb::GetValue< BuildT >
Below is an example of a struct used for random get methods.
- Note
- All member methods, data, and types are mandatory.
template<typename BuildT>
struct GetOpT {
static constexpr int LEVEL = 0;
__hostdev__ static Type get(
const NanoUpper<BuildT>& node, uint32_t n, args...) { }
__hostdev__ static Type get(
const NanoLower<BuildT>& node, uint32_t n, args...) { }
__hostdev__ static Type get(
const NanoLeaf<BuildT>& leaf, uint32_t n, args...) { }
};
typename DataType::Tile Tile
Definition NanoVDB.h:2821
RootNode< NanoUpper< BuildT > > NanoRoot
Definition NanoVDB.h:4610
#define __hostdev__
Definition Util.h:73
T Type
Definition NanoVDB.h:458
static constexpr int LEVEL
Definition NanoVDB.h:6059
static __hostdev__ Type get(const NanoRoot< BuildT > &root)
Definition NanoVDB.h:6060
typename NanoLeaf< BuildT >::ValueType Type
Definition NanoVDB.h:6058
Below is an example of the struct used for random set methods
- Note
- All member methods and data are mandatory.
template<typename BuildT>
struct SetOpT {
static constexpr int LEVEL = 0;
__hostdev__ static void set(NanoUpper<BuildT>& node, uint32_t n, args...) { }
__hostdev__ static void set(NanoLower<BuildT>& node, uint32_t n, args...) { }
__hostdev__ static void set(NanoLeaf<BuildT>& leaf, uint32_t n, args...) { }
};
Implements Tree::getValue(math::Coord), i.e. return the value associated with a specific coordinate ijk.
- Template Parameters
-
| BuildT | Build type of the grid being called |
The value at a coordinate either maps to the background, a tile value or a leaf value.