16 #ifndef __GA_ATITopology__ 
   17 #define __GA_ATITopology__ 
   19 #define USE_PAGEARRAY_TOPOLOGY 1 
   20 #if USE_PAGEARRAY_TOPOLOGY 
   50     static void registerType();
 
   60     { 
return theAttributeType->getTypeName(); }
 
   65         return attrib && &attrib->
getType() == theAttributeType;
 
   70         if (attrib && &attrib->
getType() == theAttributeType)
 
   71             return static_cast<GA_ATITopology *>(attrib);
 
   77         if (attrib && &attrib->
getType() == theAttributeType)
 
   78             return static_cast<const GA_ATITopology *>(attrib);
 
  107                                 { 
return theAIFMerge; }
 
  113                                 { 
return theAIFCopyData; }
 
  129 #if USE_PAGEARRAY_TOPOLOGY 
  130         return GA_Offset(myData.getGuaranteedInt(ai));
 
  132         if (myDataPageTableI16)
 
  133             return GA_Offset(myDataPageTableI16->get(ai));
 
  134         if (myDataPageTableI32)
 
  135             return GA_Offset(myDataPageTableI32->get(ai));
 
  136         return GA_Offset(myDataPageTableI64->get(ai));
 
  145 #if USE_PAGEARRAY_TOPOLOGY 
  147         myData.set(ai, 
int64(v));
 
  151         if (myDataPageTableI16)
 
  153             myDataPageTableI16->set(ai, v);
 
  155         else if (myDataPageTableI32)
 
  157             myDataPageTableI32->set(ai, v);
 
  161             myDataPageTableI64->set(ai, v);
 
  169         return myData.isPageConstant(pageno);
 
  180 #if USE_PAGEARRAY_TOPOLOGY 
  181         return myData.getStorage();
 
  183         return myData->getStorage();
 
  243 #if USE_PAGEARRAY_TOPOLOGY 
  300 #if USE_PAGEARRAY_TOPOLOGY 
  305     void updatePagePointers();
 
  310     bool                 myUnresolvedMerge;
 
  312 #if !USE_PAGEARRAY_TOPOLOGY 
  325     friend class ga_TopologyCopy;
 
A class to manage an ordered array which has fixed offset handles. 
 
static SYS_FORCE_INLINE bool isType(const GA_Attribute *attrib)
 
Definition of a geometry attribute. 
 
GA_Storage getStorage() const 
 
Used to pass options and map offset values during saving. 
 
const GA_AIFMerge * getAIFMerge() const override
Merge interface. 
 
SYS_FORCE_INLINE GA_Offset getLink(GA_Offset ai) const 
 
static SYS_FORCE_INLINE const UT_StringHolder & getTypeName()
 
getFileOption("OpenEXR:storage") storage
 
SYS_FORCE_INLINE const GA_IndexMap & getIndexMap() const 
 
GLsizei const GLfloat * value
 
SYS_FORCE_INLINE bool isPageConstant(GA_PageNum pageno) const 
 
The merge map keeps track of information when merging details. 
 
virtual void reconstructElementBlock(GA_Offset offset, GA_Offset nelements)=0
 
GLboolean GLboolean GLboolean GLboolean a
 
WriteConcurrence getSupportedWriteConcurrence() const override
Data is paged, so concurrent writes to separate pages supported. 
 
bool matchesStorage(const GA_Attribute *that) const override
 
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 
 
static SYS_FORCE_INLINE const GA_ATITopology * cast(const GA_Attribute *attrib)
 
GA_PageArray< void, 1, true, false > DataType
 
virtual void tryCompressAllPages(GA_Offset start_offset=GA_Offset(0), GA_Offset end_offset=GA_INVALID_OFFSET)=0
 
exint GA_Size
Defines the bit width for index and offset types in GA. 
 
SYS_FORCE_INLINE const GA_AttributeType & getType() const 
 
#define GA_INVALID_OFFSET
 
GA_AttributeOwner getLinkOwner() const 
 
GLint GLint GLsizei GLint GLenum GLenum type
 
void setUnresolvedMergeFlag(bool f)
 
virtual void replace(const GA_Attribute &src)=0
 
Attribute Interface for merging attribute data between details. 
 
const GA_AIFCopyData * getAIFCopyData() const override
Return the attribute's copy interface or NULL. 
 
static SYS_FORCE_INLINE GA_ATITopology * cast(GA_Attribute *attrib)
 
An array of numbers with various storage types. 
 
Defragmentation of IndexMaps. 
 
bool getUnresolvedMergeFlag() const 
 
GLuint const GLchar * name
 
GLboolean GLboolean GLboolean b
 
Concurrent writes to separate pages supported. 
 
Attribute Interface class to copy attribute data. 
 
GLubyte GLubyte GLubyte GLubyte w
 
const DataType & getData() const 
 
virtual void hardenAllPages(GA_Offset start_offset=GA_Offset(0), GA_Offset end_offset=GA_INVALID_OFFSET)=0
 
virtual void defragment(const GA_Defragment &defrag)=0
 
static SYS_FORCE_INLINE const GA_AttributeType & getType()
 
SYS_FORCE_INLINE void setLink(GA_Offset ai, GA_Offset v)