11 #ifndef __GA_AIFBlob__
12 #define __GA_AIFBlob__
46 virtual int getTupleSize(
const GA_Attribute *attrib)
const = 0;
68 int tuple_index=0)
const = 0;
72 int tuple_index=0)
const = 0;
77 int tuple_index=0)
const = 0;
89 virtual void compactStorage(
GA_Attribute *attrib)
const = 0;
121 myAttribute = src.myAttribute;
122 myAIFBlob = src.myAIFBlob;
139 {
return myIndexList(i); }
164 if (length <= getTupleSize(attrib))
166 return setTupleSize(attrib, length);
172 if (length >= getTupleSize(attrib))
174 return setTupleSize(attrib, length);
198 return arrayAppendBlob(attrib,
199 lookupBlob(attrib, handle),
209 return arrayAppendUniqueBlob(attrib,
210 lookupBlob(attrib, handle),
221 virtual int arrayGetMaxLength(
const GA_Attribute *attrib,
229 return getBlobIndex(attrib, element_index,
237 return getBlob(attrib, element_index, array_index);
GA_BlobIndex getBlobIndex(exint i) const
Definition of a geometry attribute.
GA_BlobRef getBlob(exint i) const
virtual int arrayAppendUniqueBlobIndex(GA_Attribute *attrib, GA_BlobIndex handle, GA_Offset element_index=GA_Offset(0)) const
GLuint GLsizei GLsizei * length
Class which holds temporary references to blobs.
exint GA_Size
Defines the bit width for index and offset types in GA.
virtual GA_BlobIndex arrayGetBlobIndex(const GA_Attribute *attrib, int array_index, GA_Offset element_index=GA_Offset(0)) const
Return the blob handle for the item at the given array index.
A range of elements in an index-map.
BlobBuffer(const BlobBuffer &src)
Attribute Interface for accessing generic blob data.
BlobBuffer & operator=(const BlobBuffer &src)
virtual GA_BlobRef arrayGetBlob(const GA_Attribute *attrib, int array_index, GA_Offset element_index=GA_Offset(0)) const
Return the blob for the item at the given array index.
UT_IndexedHashMapItemId GA_BlobIndex
GA_Size entries() const
Return number of strings referenced in the string buffer.
UT_ValArray< GA_BlobIndex > GA_BlobIndexList
BlobBuffer(GA_Attribute *attribute=NULL, const GA_AIFBlob *aif=NULL)
virtual bool arrayTruncate(GA_Attribute *attrib, int length) const
Truncate the array to the given entries.
virtual int arrayAppendBlobIndex(GA_Attribute *attrib, GA_BlobIndex handle, GA_Offset element_index=GA_Offset(0)) const
Append an element to the end of the array for the given element.
OIIO_API bool attribute(string_view name, TypeDesc type, const void *val)
virtual bool arrayReserve(GA_Attribute *attrib, int length) const
Reserve space for an array of the given size.
UT_Array< GA_BlobRef > GA_BlobRefList