OpenVDB  12.0.0
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
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>

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

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

Static Public Member Functions

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

Public Attributes

math::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

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

Constructor & Destructor Documentation

InternalData ( )
delete

This class cannot be constructed or deleted.

InternalData ( const InternalData< ChildT, LOG2DIM > &  )
delete
~InternalData ( )
delete

Member Function Documentation

__hostdev__ const StatsT& average ( ) const
inline
__hostdev__ ChildT* getChild ( uint32_t  n)
inline

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

__hostdev__ const ChildT* getChild ( uint32_t  n) const
inline
__hostdev__ const ValueT& getMax ( ) const
inline
__hostdev__ const ValueT& getMin ( ) const
inline
__hostdev__ ValueT getValue ( uint32_t  n) const
inline
__hostdev__ bool isActive ( uint32_t  n) const
inline
__hostdev__ bool isChild ( uint32_t  n) const
inline
static __hostdev__ uint64_t memUsage ( )
inlinestatic
InternalData& operator= ( const InternalData< ChildT, LOG2DIM > &  )
delete
static __hostdev__ constexpr uint32_t padding ( )
inlinestatic

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.
__hostdev__ void setAvg ( const StatsT v)
inline
__hostdev__ void setChild ( uint32_t  n,
const void *  ptr 
)
inline
__hostdev__ void setDev ( const StatsT v)
inline
__hostdev__ void setMax ( const ValueT v)
inline
__hostdev__ void setMin ( const ValueT v)
inline
__hostdev__ void setOrigin ( const T &  ijk)
inline
__hostdev__ void setValue ( uint32_t  n,
const ValueT v 
)
inline
__hostdev__ const StatsT& stdDeviation ( ) const
inline

Member Data Documentation

constexpr bool FIXED_SIZE = true
static
StatsT mAverage
math::BBox<CoordT> mBBox
MaskT mChildMask
uint64_t mFlags
ValueT mMaximum
ValueT mMinimum
StatsT mStdDevi
Tile mTable[1u<< (3 *LOG2DIM)]
MaskT mValueMask