OpenVDB  12.0.0
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
RootData< ChildT > Struct Template Reference

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

#include <nanovdb/NanoVDB.h>

Inherited by RootNode< ChildT >.

Classes

struct  Tile
 

Public Types

using ValueT = typename ChildT::ValueType
 
using BuildT = typename ChildT::BuildType
 
using CoordT = typename ChildT::CoordType
 
using StatsT = typename ChildT::FloatType
 
using KeyT = uint64_t
 Return a key based on the coordinates of a voxel. More...
 

Public Member Functions

__hostdev__ const Tiletile (uint32_t n) const
 Returns a non-const reference to the tile at the specified linear offset. More...
 
__hostdev__ Tiletile (uint32_t n)
 
__hostdev__ TileprobeTile (const CoordT &ijk)
 
__hostdev__ const TileprobeTile (const CoordT &ijk) const
 
__hostdev__ ChildT * getChild (const Tile *tile)
 Returns a const reference to the child node in the specified tile. More...
 
__hostdev__ const ChildT * getChild (const Tile *tile) const
 
__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)
 
 RootData ()=delete
 This class cannot be constructed or deleted. More...
 
 RootData (const RootData &)=delete
 
RootDataoperator= (const RootData &)=delete
 
 ~RootData ()=delete
 

Static Public Member Functions

template<typename CoordType >
static __hostdev__ KeyT CoordToKey (const CoordType &ijk)
 
static __hostdev__ CoordT KeyToCoord (const KeyT &key)
 
static __hostdev__ constexpr uint32_t padding ()
 Return padding of this class in bytes, due to aliasing and 32B alignment. More...
 

Public Attributes

math::BBox< CoordTmBBox
 
uint32_t mTableSize
 
ValueT mBackground
 
ValueT mMinimum
 
ValueT mMaximum
 
StatsT mAverage
 
StatsT mStdDevi
 

Static Public Attributes

static constexpr bool FIXED_SIZE = false
 

Detailed Description

template<typename ChildT>
struct nanovdb::RootData< ChildT >

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

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 KeyT = uint64_t

Return a key based on the coordinates of a voxel.

using StatsT = typename ChildT::FloatType
using ValueT = typename ChildT::ValueType

Constructor & Destructor Documentation

RootData ( )
delete

This class cannot be constructed or deleted.

RootData ( const RootData< ChildT > &  )
delete
~RootData ( )
delete

Member Function Documentation

__hostdev__ const StatsT& average ( ) const
inline
static __hostdev__ KeyT CoordToKey ( const CoordType &  ijk)
inlinestatic
__hostdev__ ChildT* getChild ( const Tile tile)
inline

Returns a const reference to the child node in the specified tile.

Warning
A child node is assumed to exist in the specified tile
__hostdev__ const ChildT* getChild ( const Tile tile) const
inline
__hostdev__ const ValueT& getMax ( ) const
inline
__hostdev__ const ValueT& getMin ( ) const
inline
static __hostdev__ CoordT KeyToCoord ( const KeyT key)
inlinestatic
RootData& operator= ( const RootData< ChildT > &  )
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__ Tile* probeTile ( const CoordT ijk)
inline
__hostdev__ const Tile* probeTile ( const CoordT ijk) const
inline
__hostdev__ void setAvg ( const StatsT v)
inline
__hostdev__ void setDev ( const StatsT v)
inline
__hostdev__ void setMax ( const ValueT v)
inline
__hostdev__ void setMin ( const ValueT v)
inline
__hostdev__ const StatsT& stdDeviation ( ) const
inline
__hostdev__ const Tile* tile ( uint32_t  n) const
inline

Returns a non-const reference to the tile at the specified linear offset.

Warning
The linear offset is assumed to be in the valid range
__hostdev__ Tile* tile ( uint32_t  n)
inline

Member Data Documentation

constexpr bool FIXED_SIZE = false
static
StatsT mAverage
ValueT mBackground
math::BBox<CoordT> mBBox
ValueT mMaximum
ValueT mMinimum
StatsT mStdDevi
uint32_t mTableSize