HDK
|
Attribute Interface for blind data per element. More...
#include <GA_AIFBlindData.h>
Public Types | |
enum | GA_BlindDataEndian { GA_BLINDDATA_LITTLE_ENDIAN, GA_BLINDDATA_BIG_ENDIAN } |
Public Member Functions | |
GA_AIFBlindData () | |
virtual | ~GA_AIFBlindData () |
virtual bool | setDataSize (GA_Attribute *attrib, GA_Size size_in_bytes, const void *default_value=NULL) const =0 |
virtual bool | setDataAlignment (GA_Attribute *attrib, GA_Size alignment_bytes) const =0 |
virtual const void * | getReadData (const GA_Attribute *attrib, GA_Offset offset) const =0 |
Get a read pointer to the data for a given element. More... | |
virtual void * | getWriteData (GA_Attribute *attrib, GA_Offset offset) const =0 |
Get a write pointer to the data for a given element. More... | |
template<typename T > | |
const T & | getValue (const GA_Attribute *atr, GA_Offset off) const |
Convenience function to access value as a read-only object. More... | |
template<typename T > | |
T & | getWriteValue (GA_Attribute *atr, GA_Offset off) const |
Convenience function to access value as a writable object. More... | |
template<typename T > | |
void | setValue (GA_Attribute *atr, GA_Offset off, const T &value) const |
Convenience function to set value to an object. More... | |
virtual GA_Size | getDataSize (const GA_Attribute *attrib) const =0 |
virtual GA_Size | getDataAlignment (const GA_Attribute *attrib) const =0 |
virtual bool | getSaveFlag (const GA_Attribute *a) const =0 |
virtual void | setSaveFlag (GA_Attribute *a, bool save) const =0 |
virtual GA_BlindDataEndian | getEndianFlag (const GA_Attribute *a) const =0 |
virtual void | swapEndianFlag (GA_Attribute *a) const =0 |
Attribute Interface for blind data per element.
This attribute interface allows control over a "blind" attribute. Each element is viewed as having a block of N bytes associated with it. You can get a blind pointer to this data to read/write data.
Definition at line 31 of file GA_AIFBlindData.h.
Enumerator | |
---|---|
GA_BLINDDATA_LITTLE_ENDIAN | |
GA_BLINDDATA_BIG_ENDIAN |
Definition at line 37 of file GA_AIFBlindData.h.
GA_AIFBlindData::GA_AIFBlindData | ( | ) |
|
virtual |
|
pure virtual |
Query state of attribute
|
pure virtual |
Query state of attribute
|
pure virtual |
Query or set the endian flag.
swapEndian()
will change the state of the endian flag, but will not swap the data (this is the caller's responsibility).
|
pure virtual |
Get a read pointer to the data for a given element.
|
pure virtual |
Get/Set the save flag. If the save flag is set, the blind data will be saved with geometry (if the attribute supports it)
|
inline |
Convenience function to access value as a read-only object.
Definition at line 86 of file GA_AIFBlindData.h.
|
pure virtual |
Get a write pointer to the data for a given element.
|
inline |
Convenience function to access value as a writable object.
Definition at line 90 of file GA_AIFBlindData.h.
|
pure virtual |
Set data alignment. This method will force data to be aligned on this many bytes. An alignment of 0 specifies the data will be aligned with sizeof(void*)
on the particular architecture.
|
pure virtual |
Set the data size. Each element will have this many bytes of data allocated for it.
|
pure virtual |
Get/Set the save flag. If the save flag is set, the blind data will be saved with geometry (if the attribute supports it)
|
inline |
Convenience function to set value to an object.
Definition at line 94 of file GA_AIFBlindData.h.
|
pure virtual |
Query or set the endian flag.
swapEndian()
will change the state of the endian flag, but will not swap the data (this is the caller's responsibility).