13 #ifndef __GA_ATIDictArray__
14 #define __GA_ATIDictArray__
35 template <
typename T>
class UT_Array;
45 {
return theAttributeType->getTypeName(); }
52 return attrib && &attrib->
getType() == theAttributeType;
57 if (attrib && &attrib->
getType() == theAttributeType)
58 return static_cast<GA_ATIDictArray *>(attrib);
64 if (attrib && &attrib->
getType() == theAttributeType)
65 return static_cast<const GA_ATIDictArray *>(attrib);
73 *attribute_options =
nullptr);
87 {
return myAIFSharedDictArray; }
153 friend class ga_DictArray;
154 friend class ga_DictJSON;
192 volatile bool myHasChanges;
A class to manage an ordered array which has fixed offset handles.
static SYS_FORCE_INLINE const GA_AttributeType & getType()
static SYS_FORCE_INLINE const GA_ATIDictArray * cast(const GA_Attribute *attrib)
Definition of a geometry attribute.
GLsizei GLenum const void * indices
const GA_AIFJSON * getAIFJSON() const override
static SYS_FORCE_INLINE GA_ATIDictArray * cast(GA_Attribute *attrib)
Standard user attribute level.
SYS_FORCE_INLINE const GA_AttributeType & getType() const
GA_BlobIndex GA_DictIndexType
static GA_Attribute * create(const GA_IndexMap &index_map, const UT_StringHolder &name)
SYS_FORCE_INLINE bool hasChanges() const
static SYS_FORCE_INLINE const UT_StringHolder & getTypeName()
GLuint const GLchar * name
GLsizei const GLchar *const * strings
static void registerType()
const GA_AIFSharedDictArray * getAIFSharedDictArray() const override
Return the attribute's shared options tuple interface or NULL.
GLfloat GLfloat GLfloat GLfloat h
A simple ATI to store aribtrary "blobs" of data in an attribute.
A specialization of GA_AIFDictArray to access "shared strings".
GA_BlobIndex GA_StringIndexType
static GA_Attribute * create(const GA_IndexMap &index_map, GA_AttributeScope scope, const UT_StringHolder &name, const GA_AttributeOptions *attribute_options=NULL)
static SYS_FORCE_INLINE bool isType(const GA_Attribute *attrib)
Attribute Interface for file I/O.
GA_Attribute * doClone(const GA_IndexMap &index_map, const UT_StringHolder &name) const override
Create a new ATIBlob attribute. Sub-classes must implement this.