11 #ifndef __GA_AIFSharedDictArray__
12 #define __GA_AIFSharedDictArray__
43 virtual bool compactStorage(
GA_Attribute *attrib)
const = 0;
73 if (attrib && getStatistics(attrib, stats))
133 myAttrib = src.myAttrib;
135 myCount = src.myCount;
136 myIndex = src.myIndex;
145 return myAIF == src.myAIF &&
146 myAttrib == src.myAttrib &&
147 myCount == src.myCount &&
148 myIndex == src.myIndex;
158 bool atEnd()
const {
return myIndex >= myCount; }
172 while (myIndex < myCount)
174 myDict = myAIF->getTableDict(myAttrib,
186 , myCount(aif ? aif->getTableEntries(a) : 0)
Definition of a geometry attribute.
GLsizei GLenum const void * indices
virtual GA_DictIndexType addDictReference(GA_Attribute *attribute, const UT_OptionsHolder &string) const =0
Add (or increment) reference to a string.
GLboolean GLboolean GLboolean GLboolean a
exint GA_Size
Defines the bit width for index and offset types in GA.
GA_Size getCapacity() const
A range of elements in an index-map.
bool set(GA_Attribute *attrib, GA_Offset o, const UT_Array< UT_OptionsHolder > &v) const
iterator begin(const GA_Attribute *a) const
GA_BlobIndex GA_DictIndexType
UT_OptionsHolder getDict() const
virtual int getTupleSize(const GA_Attribute *attrib) const =0
virtual void delHandleReference(GA_Attribute *attribute, GA_DictIndexType handle) const =0
Decrement reference to a handle.
GLsizei const GLchar *const * strings
virtual void getDict(const GA_Attribute *attribute, GA_Offset offset, UT_Array< UT_OptionsHolder > &strings) const =0
Get a single string from the array for a single tuple of an element.
virtual void setDictIndex(GA_Attribute *attribute, GA_Offset offset, const UT_Array< GA_DictIndexType > &indices) const =0
Set a single component for a range of elements.
GA_Size getTableEntries(const GA_Attribute *attrib) const
Return the number of entries in the shared string table.
GA_DictIndexType getHandle() const
virtual exint arraySize(const GA_Attribute *atr, GA_Offset off) const =0
Return the size of the array for the GA_Offset.
A specialization of GA_AIFDictArray to access "shared strings".
bool operator==(const iterator &src)
OIIO_API bool attribute(string_view name, TypeDesc type, const void *val)
virtual void getDictIndex(const GA_Attribute *attribute, GA_Offset offset, UT_Array< GA_DictIndexType > &indices) const =0
Get the handle from the array for a single tuple of an element.
iterator & operator++(int)
iterator & operator=(const iterator &src)
Class to iterate over all the strings in the shared string table.
virtual GA_Storage getStorage(const GA_Attribute *attrib) const =0
virtual bool setTupleSize(GA_Attribute *attrib, int size) const =0
virtual void setDict(GA_Attribute *attribute, GA_Offset offset, const UT_Array< UT_OptionsHolder > &strings) const =0
Set a single component for a single element.