13 #ifndef __GA_ATIBlindData__
14 #define __GA_ATIBlindData__
56 static void registerType();
59 {
return theAttributeType->getTypeName(); }
66 return attrib && &attrib->
getType() == theAttributeType;
71 if (attrib && &attrib->
getType() == theAttributeType)
72 return static_cast<GA_ATIBlindData *>(attrib);
78 if (attrib && &attrib->
getType() == theAttributeType)
79 return static_cast<const GA_ATIBlindData *>(attrib);
115 {
return myAIFStat; }
117 {
return myAIFBlindData; }
126 return myAIFCopyData;
199 if (getDataSize() != thatn->getDataSize())
201 if (getAlignedSize() != thatn->getAlignedSize())
203 if (getAlignment() != thatn->getAlignment())
215 myCopyFlag = thatn->myCopyFlag;
216 myLittleEndian = thatn->myLittleEndian;
217 setDefault(thatn->myDefault, thatn->myDefaultSize);
249 GA_Size getDataSize()
const {
return mySize; }
250 GA_Size getAlignedSize()
const {
return myAlignSize; }
251 GA_Size getAlignment()
const {
return myAlignment; }
252 bool getCopyFlag()
const {
return myCopyFlag; }
253 void setCopyFlag(
bool f) { myCopyFlag =
f; }
254 bool getLittleEndian()
const {
return myLittleEndian; }
255 void swapEndian() { myLittleEndian = !myLittleEndian; }
267 void mergeDestroyDestination(
const GA_MergeMap &map,
300 friend class ga_BlindDataAccess;
301 friend class ga_BlindCopyData;
302 friend class ga_BlindDataStat;
303 friend class ga_BlindJSON;
304 friend class ga_BlindCompare;
305 friend class ga_BlindMerge;
const GA_AIFBlindData * getAIFBlindData() const override
Return the attribute's blind data interface or NULL.
A class to manage an ordered array which has fixed offset handles.
Definition of a geometry attribute.
WriteConcurrence getSupportedWriteConcurrence() const override
Supports concurrent writes to separate elements.
Used to pass options and map offset values during saving.
static SYS_FORCE_INLINE const GA_AttributeType & getType()
void hardenAllPages(GA_Offset start_offset=GA_Offset(0), GA_Offset end_offset=GA_INVALID_OFFSET) override
The merge map keeps track of information when merging details.
virtual void reconstructElementBlock(GA_Offset offset, GA_Offset nelements)=0
static SYS_FORCE_INLINE const GA_ATIBlindData * cast(const GA_Attribute *attrib)
const GA_AIFCompare * getAIFCompare() const override
Return the attribute's comparison interface or NULL.
JSON reader class which handles parsing of JSON or bJSON files.
virtual bool setArraySize(GA_Offset size)=0
Class which writes ASCII or binary JSON streams.
SYS_FORCE_INLINE TO_T UTverify_cast(FROM_T from)
virtual void countMemory(UT_MemoryCounter &counter, bool inclusive) const =0
virtual int64 getMemoryUsage(bool inclusive) const =0
virtual bool matchesStorage(const GA_Attribute *that) const
Attribute type implementation to store blind data per element.
exint GA_Size
Defines the bit width for index and offset types in GA.
SYS_FORCE_INLINE const GA_AttributeType & getType() const
bool matchesStorage(const GA_Attribute *that) const override
#define GA_INVALID_OFFSET
Concurrent writes to separate elements supported.
A range of elements in an index-map.
void copyNonStorageMetadata(const GA_Attribute *that) override
virtual void replace(const GA_Attribute &src)=0
Attribute Interface for merging attribute data between details.
static SYS_FORCE_INLINE GA_ATIBlindData * cast(GA_Attribute *attrib)
const GA_AIFCopyData * getAIFCopyData() const override
Return the attribute's copy interface or NULL.
Class to fill GA_Stat information about an attribute. This AIF is used to fill GA_Stat type informati...
const GA_AIFJSON * getAIFJSON() const override
Attribute Interface class to perform comparisons on attributes.
Defragmentation of IndexMaps.
GLuint const GLchar * name
virtual void copyNonStorageMetadata(const GA_Attribute *that)
virtual const GA_AIFMerge * getAIFMerge() const
Return the attribute's merge interface or NULL.
A map of string to various well defined value types.
Attribute Interface for blind data per element.
static SYS_FORCE_INLINE bool isType(const GA_Attribute *attrib)
Attribute Interface class to copy attribute data.
GLubyte GLubyte GLubyte GLubyte w
Attribute Interface for file I/O.
const GA_AIFCopyData * getAIFCopyDataAnyway() const
virtual void defragment(const GA_Defragment &defrag)=0
const GA_AIFStat * getAIFStat() const override
static SYS_FORCE_INLINE const UT_StringHolder & getTypeName()
void tryCompressAllPages(GA_Offset start_offset=GA_Offset(0), GA_Offset end_offset=GA_INVALID_OFFSET) override