OpenVDB 11.0.0
Loading...
Searching...
No Matches
InternalData< ChildT, LOG2DIM > Struct Template Reference

Struct with all the member data of the InternalNode (useful during serialization of an openvdb InternalNode) More...

#include <nanovdb/NanoVDB.h>

Inheritance diagram for InternalData< ChildT, LOG2DIM >:
InternalNode< ChildT, Log2Dim >

Classes

union  Tile
 

Public Types

using ValueT = typename ChildT::ValueType
 
using BuildT = typename ChildT::BuildType
 
using StatsT = typename ChildT::FloatType
 
using CoordT = typename ChildT::CoordType
 
using MaskT = typename ChildT::template MaskType<LOG2DIM>
 

Public Member Functions

void setChild (uint32_t n, const void *ptr)
 
template<typename ValueT >
void setValue (uint32_t n, const ValueT &v)
 
ChildT * getChild (uint32_t n)
 Returns a pointer to the child node at the specifed linear offset.
 
const ChildT * getChild (uint32_t n) const
 
ValueT getValue (uint32_t n) const
 
bool isActive (uint32_t n) const
 
bool isChild (uint32_t n) const
 
template<typename T >
void setOrigin (const T &ijk)
 
const ValueTgetMin () const
 
const ValueTgetMax () const
 
const StatsTaverage () const
 
const StatsTstdDeviation () const
 
void setMin (const ValueT &v)
 
void setMax (const ValueT &v)
 
void setAvg (const StatsT &v)
 
void setDev (const StatsT &v)
 
 InternalData ()=delete
 This class cannot be constructed or deleted.
 
 InternalData (const InternalData &)=delete
 
InternalDataoperator= (const InternalData &)=delete
 
 ~InternalData ()=delete
 

Static Public Member Functions

static constexpr uint32_t padding ()
 Return padding of this class in bytes, due to aliasing and 32B alignment.
 
static uint64_t memUsage ()
 

Public Attributes

BBox< CoordTmBBox
 
uint64_t mFlags
 
MaskT mValueMask
 
MaskT mChildMask
 
ValueT mMinimum
 
ValueT mMaximum
 
StatsT mAverage
 
StatsT mStdDevi
 
Tile mTable [1u<<(3 *LOG2DIM)]
 

Static Public Attributes

static constexpr bool FIXED_SIZE = true
 

Detailed Description

template<typename ChildT, uint32_t LOG2DIM>
struct nanovdb::InternalData< ChildT, LOG2DIM >

Struct with all the member data of the InternalNode (useful during serialization of an openvdb InternalNode)

Note
No client code should (or can) interface with this struct so it can safely be ignored!

Member Typedef Documentation

◆ BuildT

template<typename ChildT , uint32_t LOG2DIM>
using BuildT = typename ChildT::BuildType

◆ CoordT

template<typename ChildT , uint32_t LOG2DIM>
using CoordT = typename ChildT::CoordType

◆ MaskT

template<typename ChildT , uint32_t LOG2DIM>
using MaskT = typename ChildT::template MaskType<LOG2DIM>

◆ StatsT

template<typename ChildT , uint32_t LOG2DIM>
using StatsT = typename ChildT::FloatType

◆ ValueT

template<typename ChildT , uint32_t LOG2DIM>
using ValueT = typename ChildT::ValueType

Constructor & Destructor Documentation

◆ InternalData() [1/2]

template<typename ChildT , uint32_t LOG2DIM>
InternalData ( )
delete

This class cannot be constructed or deleted.

◆ InternalData() [2/2]

template<typename ChildT , uint32_t LOG2DIM>
InternalData ( const InternalData< ChildT, LOG2DIM > & )
delete

◆ ~InternalData()

template<typename ChildT , uint32_t LOG2DIM>
~InternalData ( )
delete

Member Function Documentation

◆ average()

template<typename ChildT , uint32_t LOG2DIM>
const StatsT & average ( ) const
inline

◆ getChild() [1/2]

template<typename ChildT , uint32_t LOG2DIM>
ChildT * getChild ( uint32_t n)
inline

Returns a pointer to the child node at the specifed linear offset.

◆ getChild() [2/2]

template<typename ChildT , uint32_t LOG2DIM>
const ChildT * getChild ( uint32_t n) const
inline

◆ getMax()

template<typename ChildT , uint32_t LOG2DIM>
const ValueT & getMax ( ) const
inline

◆ getMin()

template<typename ChildT , uint32_t LOG2DIM>
const ValueT & getMin ( ) const
inline

◆ getValue()

template<typename ChildT , uint32_t LOG2DIM>
ValueT getValue ( uint32_t n) const
inline

◆ isActive()

template<typename ChildT , uint32_t LOG2DIM>
bool isActive ( uint32_t n) const
inline

◆ isChild()

template<typename ChildT , uint32_t LOG2DIM>
bool isChild ( uint32_t n) const
inline

◆ memUsage()

template<typename ChildT , uint32_t LOG2DIM>
static uint64_t memUsage ( )
inlinestatic

◆ operator=()

template<typename ChildT , uint32_t LOG2DIM>
InternalData & operator= ( const InternalData< ChildT, LOG2DIM > & )
delete

◆ padding()

template<typename ChildT , uint32_t LOG2DIM>
static constexpr uint32_t padding ( )
inlinestaticconstexpr

Return padding of this class in bytes, due to aliasing and 32B alignment.

Note
The extra bytes are not necessarily at the end, but can come from aliasing of individual data members.

◆ setAvg()

template<typename ChildT , uint32_t LOG2DIM>
void setAvg ( const StatsT & v)
inline

◆ setChild()

template<typename ChildT , uint32_t LOG2DIM>
void setChild ( uint32_t n,
const void * ptr )
inline

◆ setDev()

template<typename ChildT , uint32_t LOG2DIM>
void setDev ( const StatsT & v)
inline

◆ setMax()

template<typename ChildT , uint32_t LOG2DIM>
void setMax ( const ValueT & v)
inline

◆ setMin()

template<typename ChildT , uint32_t LOG2DIM>
void setMin ( const ValueT & v)
inline

◆ setOrigin()

template<typename ChildT , uint32_t LOG2DIM>
template<typename T >
void setOrigin ( const T & ijk)
inline

◆ setValue()

template<typename ChildT , uint32_t LOG2DIM>
template<typename ValueT >
void setValue ( uint32_t n,
const ValueT & v )
inline

◆ stdDeviation()

template<typename ChildT , uint32_t LOG2DIM>
const StatsT & stdDeviation ( ) const
inline

Member Data Documentation

◆ FIXED_SIZE

template<typename ChildT , uint32_t LOG2DIM>
bool FIXED_SIZE = true
staticconstexpr

◆ mAverage

template<typename ChildT , uint32_t LOG2DIM>
StatsT mAverage

◆ mBBox

template<typename ChildT , uint32_t LOG2DIM>
BBox<CoordT> mBBox

◆ mChildMask

template<typename ChildT , uint32_t LOG2DIM>
MaskT mChildMask

◆ mFlags

template<typename ChildT , uint32_t LOG2DIM>
uint64_t mFlags

◆ mMaximum

template<typename ChildT , uint32_t LOG2DIM>
ValueT mMaximum

◆ mMinimum

template<typename ChildT , uint32_t LOG2DIM>
ValueT mMinimum

◆ mStdDevi

template<typename ChildT , uint32_t LOG2DIM>
StatsT mStdDevi

◆ mTable

template<typename ChildT , uint32_t LOG2DIM>
Tile mTable[1u<<(3 *LOG2DIM)]

◆ mValueMask

template<typename ChildT , uint32_t LOG2DIM>
MaskT mValueMask