Blender V4.3
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

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

Static Public Member Functions

static ccl_device_inline_method uint32_t CoordToOffset (const Coord ijk)
 

Public Attributes

Coord 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, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
struct nanovdb::InternalNode< ChildT, Log2Dim >

Definition at line 161 of file nanovdb.h.

Member Typedef Documentation

◆ BuildType

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

Definition at line 163 of file nanovdb.h.

◆ ValueType

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

Definition at line 162 of file nanovdb.h.

Member Function Documentation

◆ CoordToOffset()

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

Definition at line 194 of file nanovdb.h.

References MASK, nanovdb::Coord::x, nanovdb::Coord::y, and nanovdb::Coord::z.

◆ getChild()

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

Definition at line 182 of file nanovdb.h.

Member Data Documentation

◆ DIM

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

Definition at line 189 of file nanovdb.h.

◆ LEVEL

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

Definition at line 192 of file nanovdb.h.

◆ LOG2DIM

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

Definition at line 187 of file nanovdb.h.

◆ MASK

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

Definition at line 191 of file nanovdb.h.

◆ mAverage

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

Definition at line 177 of file nanovdb.h.

◆ mBBox

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

Definition at line 170 of file nanovdb.h.

◆ mChildMask

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

Definition at line 173 of file nanovdb.h.

◆ mFlags

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

Definition at line 171 of file nanovdb.h.

◆ mMaximum

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

Definition at line 176 of file nanovdb.h.

◆ mMinimum

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

Definition at line 175 of file nanovdb.h.

◆ mStdDevi

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

Definition at line 178 of file nanovdb.h.

◆ mTable

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

Definition at line 180 of file nanovdb.h.

◆ mValueMask

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

Definition at line 172 of file nanovdb.h.

◆ SIZE

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

Definition at line 190 of file nanovdb.h.

◆ TOTAL

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

Definition at line 188 of file nanovdb.h.


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