OpenVDB  12.1.0
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
GridBlindMetaData Struct Reference

#include <nanovdb/NanoVDB.h>

Public Member Functions

 GridBlindMetaData ()
 Empty constructor. More...
 
 GridBlindMetaData (int64_t dataOffset, uint64_t valueCount, uint32_t valueSize, GridBlindDataSemantic semantic, GridBlindDataClass dataClass, GridType dataType)
 
 GridBlindMetaData (const GridBlindMetaData &other)
 Copy constructor that resets mDataOffset and zeros out mName. More...
 
const GridBlindMetaDataoperator= (const GridBlindMetaData &rhs)
 Copy assignment operator that resets mDataOffset and copies mName. More...
 
__hostdev__ void setBlindData (const void *blindData)
 
__hostdev__ bool setName (const char *name)
 Sets the name string. More...
 
__hostdev__ const void * blindData () const
 returns a const void point to the blind data More...
 
template<typename BlindDataT >
__hostdev__ const BlindDataT * getBlindData () const
 Get a const pointer to the blind data represented by this meta data. More...
 
__hostdev__ bool isValid () const
 return true if this meta data has a valid combination of semantic, class and value tags More...
 
__hostdev__ uint64_t blindDataSize () const
 return size in bytes of the blind data represented by this blind meta data More...
 

Public Attributes

int64_t mDataOffset
 
uint64_t mValueCount
 
uint32_t mValueSize
 
GridBlindDataSemantic mSemantic
 
GridBlindDataClass mDataClass
 
GridType mDataType
 
char mName [MaxNameSize]
 

Static Public Attributes

static const int MaxNameSize = 256
 

Constructor & Destructor Documentation

GridBlindMetaData ( )
inline

Empty constructor.

GridBlindMetaData ( int64_t  dataOffset,
uint64_t  valueCount,
uint32_t  valueSize,
GridBlindDataSemantic  semantic,
GridBlindDataClass  dataClass,
GridType  dataType 
)
inline
GridBlindMetaData ( const GridBlindMetaData other)
inline

Copy constructor that resets mDataOffset and zeros out mName.

Member Function Documentation

__hostdev__ const void* blindData ( ) const
inline

returns a const void point to the blind data

Note
assumes that setBlinddData was called
__hostdev__ uint64_t blindDataSize ( ) const
inline

return size in bytes of the blind data represented by this blind meta data

Note
This size includes possible padding for 32 byte alignment. The actual amount of bind data is mValueCount * mValueSize
__hostdev__ const BlindDataT* getBlindData ( ) const
inline

Get a const pointer to the blind data represented by this meta data.

Template Parameters
BlindDataTExpected value type of the blind data.
Returns
Returns NULL if mGridType!=toGridType<BlindDataT>(), else a const point of type BlindDataT.
Note
Use mDataType=Unknown if BlindDataT is a custom data type unknown to NanoVDB.
__hostdev__ bool isValid ( ) const
inline

return true if this meta data has a valid combination of semantic, class and value tags

Note
this does not check if the mDataOffset has been set!
const GridBlindMetaData& operator= ( const GridBlindMetaData rhs)
inline

Copy assignment operator that resets mDataOffset and copies mName.

Parameters
rhsright-hand instance to copy
Returns
reference to itself
__hostdev__ void setBlindData ( const void *  blindData)
inline
__hostdev__ bool setName ( const char *  name)
inline

Sets the name string.

Parameters
namec-string source name
Returns
returns false if name has too many characters

Member Data Documentation

const int MaxNameSize = 256
static
GridBlindDataClass mDataClass
int64_t mDataOffset
GridType mDataType
char mName[MaxNameSize]
uint64_t mValueCount
uint32_t mValueSize