Blender V5.0
nanovdb::InternalNode< ChildT, Log2Dim > Struct Template Reference

#include <nanovdb.h>

Classes

union  Tile

Public Types

using ValueType = typename ChildT::ValueType
using BuildType = typename ChildT::BuildType

Public Member Functions

const ccl_device_inline_method ccl_global ChildT * getChild (const uint32_t n) const ccl_global

Static Public Member Functions

static ccl_device_inline_method uint32_t CoordToOffset (const Coord ijk)

Public Attributes

PackedCoord mBBox [2]
uint64_t mFlags
Mask< Log2Dim > mValueMask
Mask< Log2Dim > mChildMask
ValueType mMinimum
ValueType mMaximum
float mAverage
float mStdDevi
Tile mTable [1u<<(3 *Log2Dim)]
ccl_static_constexpr uint32_t LOG2DIM = Log2Dim
ccl_static_constexpr uint32_t TOTAL = LOG2DIM + ChildT::TOTAL
ccl_static_constexpr uint32_t DIM = 1u << TOTAL
ccl_static_constexpr uint32_t SIZE = 1u << (3 * LOG2DIM)
ccl_static_constexpr uint32_t MASK = (1u << TOTAL) - 1u
ccl_static_constexpr uint32_t LEVEL = 1 + ChildT::LEVEL

Detailed Description

template<typename ChildT, const uint32_t Log2Dim = ChildT::LOG2DIM + 1>
struct nanovdb::InternalNode< ChildT, Log2Dim >

Definition at line 162 of file kernel/util/nanovdb.h.

Member Typedef Documentation

◆ BuildType

template<typename ChildT, const uint32_t Log2Dim = ChildT::LOG2DIM + 1>
using nanovdb::InternalNode< ChildT, Log2Dim >::BuildType = typename ChildT::BuildType

Definition at line 164 of file kernel/util/nanovdb.h.

◆ ValueType

template<typename ChildT, const uint32_t Log2Dim = ChildT::LOG2DIM + 1>
using nanovdb::InternalNode< ChildT, Log2Dim >::ValueType = typename ChildT::ValueType

Definition at line 163 of file kernel/util/nanovdb.h.

Member Function Documentation

◆ CoordToOffset()

template<typename ChildT, const uint32_t Log2Dim = ChildT::LOG2DIM + 1>
ccl_device_inline_method uint32_t nanovdb::InternalNode< ChildT, Log2Dim >::CoordToOffset ( const Coord ijk)
inlinestatic

Definition at line 195 of file kernel/util/nanovdb.h.

◆ getChild()

template<typename ChildT, const uint32_t Log2Dim = ChildT::LOG2DIM + 1>
const ccl_device_inline_method ccl_global ChildT * nanovdb::InternalNode< ChildT, Log2Dim >::getChild ( const uint32_t n) const
inline

Definition at line 183 of file kernel/util/nanovdb.h.

Member Data Documentation

◆ DIM

template<typename ChildT, const uint32_t Log2Dim = ChildT::LOG2DIM + 1>
ccl_static_constexpr uint32_t nanovdb::InternalNode< ChildT, Log2Dim >::DIM = 1u << TOTAL

Definition at line 190 of file kernel/util/nanovdb.h.

◆ LEVEL

template<typename ChildT, const uint32_t Log2Dim = ChildT::LOG2DIM + 1>
ccl_static_constexpr uint32_t nanovdb::InternalNode< ChildT, Log2Dim >::LEVEL = 1 + ChildT::LEVEL

Definition at line 193 of file kernel/util/nanovdb.h.

◆ LOG2DIM

template<typename ChildT, const uint32_t Log2Dim = ChildT::LOG2DIM + 1>
ccl_static_constexpr uint32_t nanovdb::InternalNode< ChildT, Log2Dim >::LOG2DIM = Log2Dim

Definition at line 188 of file kernel/util/nanovdb.h.

◆ MASK

template<typename ChildT, const uint32_t Log2Dim = ChildT::LOG2DIM + 1>
ccl_static_constexpr uint32_t nanovdb::InternalNode< ChildT, Log2Dim >::MASK = (1u << TOTAL) - 1u

Definition at line 192 of file kernel/util/nanovdb.h.

◆ mAverage

template<typename ChildT, const uint32_t Log2Dim = ChildT::LOG2DIM + 1>
float nanovdb::InternalNode< ChildT, Log2Dim >::mAverage

Definition at line 178 of file kernel/util/nanovdb.h.

◆ mBBox

template<typename ChildT, const uint32_t Log2Dim = ChildT::LOG2DIM + 1>
PackedCoord nanovdb::InternalNode< ChildT, Log2Dim >::mBBox[2]

Definition at line 171 of file kernel/util/nanovdb.h.

◆ mChildMask

template<typename ChildT, const uint32_t Log2Dim = ChildT::LOG2DIM + 1>
Mask<Log2Dim> nanovdb::InternalNode< ChildT, Log2Dim >::mChildMask

Definition at line 174 of file kernel/util/nanovdb.h.

◆ mFlags

template<typename ChildT, const uint32_t Log2Dim = ChildT::LOG2DIM + 1>
uint64_t nanovdb::InternalNode< ChildT, Log2Dim >::mFlags

Definition at line 172 of file kernel/util/nanovdb.h.

◆ mMaximum

template<typename ChildT, const uint32_t Log2Dim = ChildT::LOG2DIM + 1>
ValueType nanovdb::InternalNode< ChildT, Log2Dim >::mMaximum

Definition at line 177 of file kernel/util/nanovdb.h.

◆ mMinimum

template<typename ChildT, const uint32_t Log2Dim = ChildT::LOG2DIM + 1>
ValueType nanovdb::InternalNode< ChildT, Log2Dim >::mMinimum

Definition at line 176 of file kernel/util/nanovdb.h.

◆ mStdDevi

template<typename ChildT, const uint32_t Log2Dim = ChildT::LOG2DIM + 1>
float nanovdb::InternalNode< ChildT, Log2Dim >::mStdDevi

Definition at line 179 of file kernel/util/nanovdb.h.

◆ mTable

template<typename ChildT, const uint32_t Log2Dim = ChildT::LOG2DIM + 1>
Tile nanovdb::InternalNode< ChildT, Log2Dim >::mTable[1u<<(3 *Log2Dim)]

Definition at line 181 of file kernel/util/nanovdb.h.

◆ mValueMask

template<typename ChildT, const uint32_t Log2Dim = ChildT::LOG2DIM + 1>
Mask<Log2Dim> nanovdb::InternalNode< ChildT, Log2Dim >::mValueMask

Definition at line 173 of file kernel/util/nanovdb.h.

◆ SIZE

template<typename ChildT, const uint32_t Log2Dim = ChildT::LOG2DIM + 1>
ccl_static_constexpr uint32_t nanovdb::InternalNode< ChildT, Log2Dim >::SIZE = 1u << (3 * LOG2DIM)

Definition at line 191 of file kernel/util/nanovdb.h.

◆ TOTAL

template<typename ChildT, const uint32_t Log2Dim = ChildT::LOG2DIM + 1>
ccl_static_constexpr uint32_t nanovdb::InternalNode< ChildT, Log2Dim >::TOTAL = LOG2DIM + ChildT::TOTAL

Definition at line 189 of file kernel/util/nanovdb.h.


The documentation for this struct was generated from the following file: