13 #ifndef __GA_ATIStringArray__
14 #define __GA_ATIStringArray__
32 class GA_AIFStringArray;
48 {
return theAttributeType->getTypeName(); }
55 return attrib && &attrib->
getType() == theAttributeType;
60 if (attrib && &attrib->
getType() == theAttributeType)
61 return static_cast<GA_ATIStringArray *>(attrib);
67 if (attrib && &attrib->
getType() == theAttributeType)
68 return static_cast<const GA_ATIStringArray *>(attrib);
89 {
return myAIFSharedStringArray; }
157 friend class ga_StringArray;
158 friend class ga_StringJSON;
201 volatile bool myHasChanges;
218 myRefCountChanges[
index] += -1;
234 if (&attrib->
getType() == theAttributeType)
238 if (dynamic_cast<const GA_ATIBlobArray *>(attrib))
A class to manage an ordered array which has fixed offset handles.
Definition of a geometry attribute.
static SYS_FORCE_INLINE const UT_StringHolder & getTypeName()
GLsizei GLenum const void * indices
static SYS_FORCE_INLINE const GA_ATIStringArray * cast(const GA_Attribute *attrib)
GA_StringIndexType addStringReference(const UT_StringHolder &str)
Standard user attribute level.
SYS_FORCE_INLINE const GA_AttributeType & getType() const
static SYS_FORCE_INLINE GA_ATIStringArray * cast(GA_Attribute *attrib)
const GA_AIFSharedStringArray * getAIFSharedStringArray() const override
Return the attribute's shared string array interface or NULL.
A specialization of GA_AIFStringArray to access "shared strings".
static SYS_FORCE_INLINE const GA_AttributeType & getType()
GLuint const GLchar * name
GLsizei const GLchar *const * strings
static void registerType()
static SYS_FORCE_INLINE bool isType(const GA_Attribute *attrib)
GLfloat GLfloat GLfloat GLfloat h
A map of string to various well defined value types.
A simple ATI to store aribtrary "blobs" of data in an attribute.
static SYS_FORCE_INLINE GA_ATIBlobArray * cast(GA_Attribute *attrib)
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)
Attribute Interface for file I/O.
const GA_AIFJSON * getAIFJSON() const override
static GA_Attribute * create(const GA_IndexMap &index_map, const UT_StringHolder &name)
GA_Attribute * doClone(const GA_IndexMap &index_map, const UT_StringHolder &name) const override
Create a new ATIBlob attribute. Sub-classes must implement this.
static SYS_FORCE_INLINE bool isType(const GA_Attribute *attrib)
SYS_FORCE_INLINE bool hasChanges() const