HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GA_ATIIndexPair Class Reference

#include <GA_ATIIndexPair.h>

+ Inheritance diagram for GA_ATIIndexPair:

Public Member Functions

 GA_ATIIndexPair (const GA_AttributeType &type, const GA_IndexMap &index_map, GA_AttributeScope scope, const UT_StringHolder &name, GA_Storage value_store, int entries, int tuple_size, const GA_Defaults &index_default, const GA_Defaults &value_defaults)
 
virtual ~GA_ATIIndexPair ()
 
virtual int64 getMemoryUsage (bool inclusive) const
 Report memory used. More...
 
virtual void countMemory (UT_MemoryCounter &counter, bool inclusive) const
 
virtual void reconstructElementBlock (GA_Offset offset, GA_Offset nelements)
 
virtual WriteConcurrence getSupportedWriteConcurrence () const
 
virtual const GA_AIFCopyDatagetAIFCopyData () const
 Return the attribute's copy interface or NULL. More...
 
virtual const GA_AIFIndexPairgetAIFIndexPair () const
 Return the attribute's index pair interface or NULL. More...
 
virtual const GA_AIFMergegetAIFMerge () const
 Return the attribute's merge interface or NULL. More...
 
virtual const GA_AIFEditgetAIFEdit () const
 Return the attribute's edit interface or NULL. More...
 
virtual const GA_AIFTuplegetAIFTuple () const
 Return the attribute's tuple interface or NULL. More...
 
virtual const GA_AIFMathgetAIFMath () const
 Return the attribute's math interface or NULL. More...
 
virtual const GA_AIFInterp * getAIFInterp () const
 Return the attribute's interpolation interface or NULL. More...
 
virtual const GA_AIFComparegetAIFCompare () const
 Return the attribute's comparison interface or NULL. More...
 
virtual const GA_AIFJSONgetAIFJSON () const
 
int getEntries () const
 
bool setEntries (int size)
 
bool growEntriesTo (int size, bool concurrent=false)
 
bool setDataStorage (GA_Storage storage)
 
bool setIndexStorage (GA_Storage storage)
 
const GA_DefaultsgetValueDefaults () const
 
const GA_DefaultsgetValueOperationalDefaults () const
 
int getDataTupleSize () const
 The size of the data tuple. More...
 
virtual bool setArraySize (GA_Offset new_size)
 Grow or shrink the array size. More...
 
virtual void tryCompressAllPages (GA_Offset start_offset=GA_Offset(0), GA_Offset end_offset=GA_INVALID_OFFSET)
 Try to compress data pages. More...
 
virtual void hardenAllPages (GA_Offset start_offset=GA_Offset(0), GA_Offset end_offset=GA_INVALID_OFFSET)
 Harden data pages. More...
 
virtual bool matchesStorage (const GA_Attribute *that) const
 
virtual void copyNonStorageMetadata (const GA_Attribute *that)
 
virtual void replace (const GA_Attribute &src)
 
virtual void defragment (const GA_Defragment &defrag)
 
- Public Member Functions inherited from GA_Attribute
 GA_Attribute (const GA_AttributeType &type, const GA_IndexMap &index_map, GA_AttributeScope scope, const UT_StringHolder &name)
 
virtual ~GA_Attribute ()
 
const GA_AttributeTypegetType () const
 
const GA_IndexMapgetIndexMap () const
 
const GA_DetailgetDetail () const
 
GA_DetailgetDetail ()
 
GA_AttributeOwner getOwner () const
 
GA_AttributeScope getScope () const
 
SYS_FORCE_INLINE GA_TypeInfo getTypeInfo () const
 
SYS_FORCE_INLINE void setTypeInfo (GA_TypeInfo type)
 
bool shouldInterpretAsTexCoord (bool allow_float2=false) const
 
GA_StorageClass getStorageClass () const
 Returns the approximate type of the attribute. More...
 
int getTupleSize () const
 Size of the AIFTuple, if it exists. If it doesn't, 1. More...
 
const UT_StringHoldergetName () const
 
const UT_StringHoldergetFullName () const
 
SYS_FORCE_INLINE int64 getDataId () const
 
SYS_FORCE_INLINE void assignNewDataId ()
 
SYS_FORCE_INLINE void bumpDataId ()
 
SYS_FORCE_INLINE void clearDataId ()
 
SYS_FORCE_INLINE void cloneDataId (const GA_Attribute &src, bool allow_clear=false)
 
SYS_FORCE_INLINE void cloneOrBumpDataId (const GA_Attribute &src, bool allow_clear=false)
 NOTE: Just call cloneDataId(src). More...
 
virtual const GA_AIFDeltagetAIFDelta () const
 Return the attribute's delta interface or NULL. More...
 
virtual const GA_AIFBlobgetAIFBlob () const
 Return the attribute's blob interface or NULL. More...
 
virtual const GA_AIFBlobArraygetAIFBlobArray () const
 Return the attribute's blob array interface or NULL. More...
 
virtual const GA_AIFStringTuplegetAIFStringTuple () const
 Return the attribute's string tuple interface or NULL. More...
 
virtual const
GA_AIFSharedStringTuple
getAIFSharedStringTuple () const
 Return the attribute's shared string tuple interface or NULL. More...
 
virtual const
GA_AIFSharedStringArray
getAIFSharedStringArray () const
 Return the attribute's shared string array interface or NULL. More...
 
virtual const GA_AIFBlindDatagetAIFBlindData () const
 Return the attribute's blind data interface or NULL. More...
 
virtual const GA_AIFNumericArraygetAIFNumericArray () const
 Return the attribute's arraydata interface or NULL. More...
 
virtual const GA_AIFStatgetAIFStat () const
 
template<typename T >
const TgetAIF () const
 Generic method for getting an AIF by type. More...
 
const GA_AttributeOptionsgetOptions () const
 
GA_AttributeOptionsgetOptions ()
 
void setNonTransforming (bool val)
 
bool needsTransform (bool include_P=true) const
 
bool isDetached () const
 
void mergeOptions (const GA_AttributeOptions &src)
 Merge the options passed in with the options in the attribute. More...
 
bool importOption (const char *name, int &v) const
 
bool importOption (const char *name, bool &v) const
 
bool importOption (const char *name, fpreal32 &v) const
 
bool importOption (const char *name, fpreal64 &v) const
 
bool importOption (const char *name, UT_String &v) const
 
virtual bool needDestruction () const
 Methods which can be overridden from GA_Attribute. More...
 
virtual void destructElement (GA_Offset offset)
 Callback invoked if needsDestruction() returns true. More...
 
void setTailInitialization (bool onoff)
 
bool isTailInitialization () const
 Check whether the attribute is set to tail initialization. More...
 
void reconstructElement (GA_Offset offset)
 
virtual void compactStorage ()
 
virtual void batchDeletion ()
 
GA_Attributeclone (const GA_IndexMap &index_map, const UT_StringHolder &name, bool clone_options) const
 
bool jsonSaveDefinition (UT_JSONWriter &w) const
 Save the GA_Attribute-Definition section. More...
 
virtual int getSaveVersion () const
 
virtual bool debugValidateArrayCapacity (GA_Offset sz) const
 Debug validation of allocated array size. More...
 
GA_AttributeProxyHandle getProxy ()
 
GA_ConstAttributeProxyHandle getProxy () const
 
void setExportName (const char *external_name)
 
bool hasExportName () const
 
std::string getExportName () const
 
GA_CEAttributegetCEAttribute (GA_StorageClass storage, int &tuplesize, bool isarray, bool read, bool write)
 
void flushCEWriteCaches (bool clearwriteback=true)
 
bool hasPendingCEWriteBack () const
 
void flushCECaches ()
 Remove all CE Caches, copying back any marked as written to. More...
 
virtual bool copy (GA_Offset desti, GA_Offset srci)
 
virtual bool copy (GA_Offset desti, const GA_Attribute &src, GA_Offset srci)
 
virtual bool copy (const GA_Range &destrange, const GA_Range &srcrange)
 
virtual bool copy (const GA_Range &destrange, const GA_Attribute &src, const GA_Range &srcrange)
 
virtual bool fill (const GA_Range &destrange, GA_Offset srci)
 
virtual bool fill (const GA_Range &destrange, const GA_Attribute &src, GA_Offset srci)
 

Static Public Member Functions

static void registerType ()
 
static SYS_FORCE_INLINE const
UT_StringHolder
getTypeName ()
 
static SYS_FORCE_INLINE const
GA_AttributeType
getType ()
 
static SYS_FORCE_INLINE bool isType (const GA_Attribute *attrib)
 
static SYS_FORCE_INLINE
GA_ATIIndexPair
cast (GA_Attribute *attrib)
 
static SYS_FORCE_INLINE const
GA_ATIIndexPair
cast (const GA_Attribute *attrib)
 
- Static Public Member Functions inherited from GA_Attribute
static bool jsonLoadDefinition (UT_JSONParser &p, GA_AttributeScope &scope, UT_WorkBuffer &type, UT_WorkBuffer &name, int64 &version, GA_AttributeOptions &options)
 Load the GA_Attribute-Definition section. More...
 
static int64 nextDataId ()
 

Protected Member Functions

int getObjectSetCount () const
 
void setObjectSetCount (int n)
 
const GA_AIFIndexPairObjectsgetObjectsConst (int s=0) const
 
GA_AIFIndexPairObjectsgetObjects (int s=0)
 
bool hasSameProperties (const GA_ATIIndexPair *sattrib) const
 
bool copyProperties (const GA_ATIIndexPair *sattrib)
 
bool mergeObjectValues (const GA_ATIIndexPair *sattrib, UT_IntArray &new_indices)
 
bool setTupleSize (int size)
 
GA_Storage getDataStorage () const
 
bool getIndex (GA_Offset ai, int entry, int32 &index) const
 
bool getData (GA_Offset ai, int entry, fpreal32 &data, int data_component=0) const
 
bool getData (GA_Offset ai, int entry, fpreal64 &data, int data_component=0) const
 
bool getData (GA_Offset ai, int entry, int32 &data, int data_component=0) const
 
bool getData (GA_Offset ai, int entry, int64 &data, int data_component=0) const
 
bool setIndex (GA_Offset ai, int entry, int32 index)
 
bool setIndex (const GA_Range &ai, int entry, int32 index)
 
bool setData (GA_Offset ai, int entry, fpreal32 data, int data_component=0)
 
bool setData (GA_Offset ai, int entry, fpreal64 data, int data_component=0)
 
bool setData (GA_Offset ai, int entry, int32 data, int data_component=0)
 
bool setData (GA_Offset ai, int entry, int64 data, int data_component=0)
 
bool removeIndex (int index)
 
void invalidateTrailingEntries (GA_Offset ai, int start_entry)
 
void invalidateTrailingEntries (const GA_Range &ai, int start_entry)
 
void interpScale (GA_Offset di, fpreal scale)
 Scale all weights by the given amount (used in weighted sums) More...
 
bool copyData (GA_Offset di, const GA_ATIIndexPair &src, GA_Offset si)
 
bool copyData (const GA_Range &di, const GA_ATIIndexPair &src, const GA_Range &si)
 
bool isAlmostEqual (GA_Offset di, const GA_ATIIndexPair &src, GA_Offset si, int ulps) const
 
bool isAlmostEqual (const GA_Range &di, const GA_ATIIndexPair &src, const GA_Range &si, int ulps) const
 
void mergeDestroyDestination (const GA_MergeMap &map, GA_Attribute *dattrib) const
 
GA_AttributemergeAddDestination (const GA_MergeMap &map, GA_Attribute *dattrib) const
 Base class implementation of GA_AIFMerge::addDestination() More...
 
bool mergeAppendData (const GA_MergeMap &map, const GA_Attribute *sattrib)
 Base class implementation of GA_AIFMerge::copyArray() More...
 
int tupleGetSize () const
 
bool tupleSetSize (int size)
 
GA_Storage tupleGetStorage () const
 
bool tupleSetStorage (GA_Storage storage)
 
bool isNan (GA_Offset ai) const
 
bool isNan (const GA_Range &ai) const
 
template<typename T >
bool tupleGet (GA_Offset ai, T &v, int index) const
 
template<typename T >
bool tupleGet (GA_Offset ai, T *v, int count, int start) const
 
template<typename T >
bool tupleSet (GA_Offset ai, T v, int vi)
 
template<typename T >
bool tupleSet (GA_Offset ai, const T *v, int count, int start)
 
template<typename T >
bool tupleSet (const GA_Range &di, T v, int vi)
 
template<typename T >
bool tupleSet (const GA_Range &di, const T *v, int count, int start)
 
bool tupleSet (GA_Offset di, const GA_ATIIndexPair &s, GA_Offset si, int component)
 
bool tupleSet (const GA_Range &di, const GA_ATIIndexPair &s, const GA_Range &si, int component)
 
- Protected Member Functions inherited from GA_Attribute
int64 getBaseMemoryUsage () const
 
void setDetached (bool detached)
 Only called by GA_AttributeSet and GA_ElementGroup. More...
 

Protected Attributes

ga_IndexPairObjectSets * myObjects
 
UT_ConcurrentVector
< GA_DataArray * > 
myIndex
 
UT_ConcurrentVector
< GA_DataArrayTuple * > 
myData
 
int myTupleSize
 
SYS_AtomicInt32 myEntryCapacity
 
GA_Storage myIndexStorage
 
GA_Storage myDataStorage
 
GA_Defaults myIndexDefault
 
GA_Defaults myValueDefaults
 
GA_Defaults myValueOperationalDefaults
 
UT_Lock myEntryGrowthLock
 

Additional Inherited Members

- Public Types inherited from GA_Attribute
enum  WriteConcurrence { WRITE_CONCURRENCE_NONE, WRITE_CONCURRENCE_PAGE, WRITE_CONCURRENCE_ELEMENT }
 

Detailed Description

Definition at line 74 of file GA_ATIIndexPair.h.

Constructor & Destructor Documentation

GA_ATIIndexPair::GA_ATIIndexPair ( const GA_AttributeType type,
const GA_IndexMap index_map,
GA_AttributeScope  scope,
const UT_StringHolder name,
GA_Storage  value_store,
int  entries,
int  tuple_size,
const GA_Defaults index_default,
const GA_Defaults value_defaults 
)
virtual GA_ATIIndexPair::~GA_ATIIndexPair ( )
virtual

Member Function Documentation

static SYS_FORCE_INLINE GA_ATIIndexPair* GA_ATIIndexPair::cast ( GA_Attribute attrib)
inlinestatic

Definition at line 90 of file GA_ATIIndexPair.h.

static SYS_FORCE_INLINE const GA_ATIIndexPair* GA_ATIIndexPair::cast ( const GA_Attribute attrib)
inlinestatic

Definition at line 97 of file GA_ATIIndexPair.h.

bool GA_ATIIndexPair::copyData ( GA_Offset  di,
const GA_ATIIndexPair src,
GA_Offset  si 
)
protected

Copy Data AIF

bool GA_ATIIndexPair::copyData ( const GA_Range di,
const GA_ATIIndexPair src,
const GA_Range si 
)
protected

Copy Data AIF

virtual void GA_ATIIndexPair::copyNonStorageMetadata ( const GA_Attribute that)
virtual

In the case that we're copying from an attribute whose storage type matches this exactly, this function copies the metadata not associated with the storage, e.g. myOptions, excluding the name and the data ID.

Reimplemented from GA_Attribute.

bool GA_ATIIndexPair::copyProperties ( const GA_ATIIndexPair sattrib)
protected
virtual void GA_ATIIndexPair::countMemory ( UT_MemoryCounter counter,
bool  inclusive 
) const
virtual

Count memory usage using a UT_MemoryCounter in order to count shared memory correctly. If inclusive is true, the size of this object is counted, else only memory owned by this object is counted. If this is pointed to by the calling object, inclusive should be true. If this is contained in the calling object, inclusive should be false. (Its memory was already counted in the size of the calling object.)

NOTE: If you're implementing this in a direct subclass of GA_Attribute, call getBaseMemoryUsage() to get the amount of memory in the base class. If in a more distant descendant class, call Base::countMemory(counter, false) to count the memory in Base and above, excluding sizeof(Base).

Implements GA_Attribute.

virtual void GA_ATIIndexPair::defragment ( const GA_Defragment defrag)
virtual

Interface for defragmentation

Implements GA_Attribute.

virtual const GA_AIFCompare* GA_ATIIndexPair::getAIFCompare ( ) const
inlinevirtual

Return the attribute's comparison interface or NULL.

Reimplemented from GA_Attribute.

Definition at line 143 of file GA_ATIIndexPair.h.

virtual const GA_AIFCopyData* GA_ATIIndexPair::getAIFCopyData ( ) const
inlinevirtual

Return the attribute's copy interface or NULL.

Reimplemented from GA_Attribute.

Definition at line 129 of file GA_ATIIndexPair.h.

virtual const GA_AIFEdit* GA_ATIIndexPair::getAIFEdit ( ) const
inlinevirtual

Return the attribute's edit interface or NULL.

Reimplemented from GA_Attribute.

Definition at line 135 of file GA_ATIIndexPair.h.

virtual const GA_AIFIndexPair* GA_ATIIndexPair::getAIFIndexPair ( ) const
inlinevirtual

Return the attribute's index pair interface or NULL.

Reimplemented from GA_Attribute.

Definition at line 131 of file GA_ATIIndexPair.h.

virtual const GA_AIFInterp* GA_ATIIndexPair::getAIFInterp ( ) const
inlinevirtual

Return the attribute's interpolation interface or NULL.

Reimplemented from GA_Attribute.

Definition at line 141 of file GA_ATIIndexPair.h.

virtual const GA_AIFJSON* GA_ATIIndexPair::getAIFJSON ( ) const
inlinevirtual

JSON Schema: GA_ATIIndexPair

{
"name" : "GA_ATIIndexPair",
"description" : "An tuple array of indexed strings",
"type" : "orderedmap",
"properties": {
"idefault": {
"type" : {"$ref":"GA_Defaults"},
"description" : "Defaults for index values",
"optional" : true,
},
"vdefault": {
"type" : {"$ref":"GA_Defaults"},
"description" : "Defaults for values",
"optional" : true,
},
"entries": {
"type" : "integer",
"description" : "Number of entries for index/values tuples",
},
"istorage": {
"type" : "string",
"description" : "Storage type for index values",
"enum" : [ "int8", "int16", "int32", "int64" ],
},
"vstorage": {
"type" : "string",
"description" : "Storage type for values",
"enum" : [ "fpreal16", "fpreal32", "fpreal64" ],
},
"index": {
"type" : {"$ref":"GA_DataArrayTuple"},
"description" : "Index values.",
},
"value": {
"type" : {"$ref":"GA_DataArrayTuple"},
"description" : "Weight values.",
},
},
}
See Also
JSON_FileFormat

Reimplemented from GA_Attribute.

Definition at line 189 of file GA_ATIIndexPair.h.

virtual const GA_AIFMath* GA_ATIIndexPair::getAIFMath ( ) const
inlinevirtual

Return the attribute's math interface or NULL.

Reimplemented from GA_Attribute.

Definition at line 139 of file GA_ATIIndexPair.h.

virtual const GA_AIFMerge* GA_ATIIndexPair::getAIFMerge ( ) const
inlinevirtual

Return the attribute's merge interface or NULL.

Reimplemented from GA_Attribute.

Definition at line 133 of file GA_ATIIndexPair.h.

virtual const GA_AIFTuple* GA_ATIIndexPair::getAIFTuple ( ) const
inlinevirtual

Return the attribute's tuple interface or NULL.

Reimplemented from GA_Attribute.

Definition at line 137 of file GA_ATIIndexPair.h.

bool GA_ATIIndexPair::getData ( GA_Offset  ai,
int  entry,
fpreal32 data,
int  data_component = 0 
) const
inlineprotected

Definition at line 275 of file GA_ATIIndexPair.h.

bool GA_ATIIndexPair::getData ( GA_Offset  ai,
int  entry,
fpreal64 data,
int  data_component = 0 
) const
inlineprotected

Definition at line 276 of file GA_ATIIndexPair.h.

bool GA_ATIIndexPair::getData ( GA_Offset  ai,
int  entry,
int32 data,
int  data_component = 0 
) const
inlineprotected

Definition at line 277 of file GA_ATIIndexPair.h.

bool GA_ATIIndexPair::getData ( GA_Offset  ai,
int  entry,
int64 data,
int  data_component = 0 
) const
inlineprotected

Definition at line 278 of file GA_ATIIndexPair.h.

GA_Storage GA_ATIIndexPair::getDataStorage ( ) const
inlineprotected

Definition at line 273 of file GA_ATIIndexPair.h.

int GA_ATIIndexPair::getDataTupleSize ( ) const
inline

The size of the data tuple.

Definition at line 210 of file GA_ATIIndexPair.h.

int GA_ATIIndexPair::getEntries ( ) const
inline

Definition at line 191 of file GA_ATIIndexPair.h.

bool GA_ATIIndexPair::getIndex ( GA_Offset  ai,
int  entry,
int32 index 
) const
inlineprotected

Definition at line 274 of file GA_ATIIndexPair.h.

virtual int64 GA_ATIIndexPair::getMemoryUsage ( bool  inclusive) const
virtual

Report memory used.

Implements GA_Attribute.

GA_AIFIndexPairObjects* GA_ATIIndexPair::getObjects ( int  s = 0)
protected
const GA_AIFIndexPairObjects* GA_ATIIndexPair::getObjectsConst ( int  s = 0) const
protected
int GA_ATIIndexPair::getObjectSetCount ( ) const
protected
virtual WriteConcurrence GA_ATIIndexPair::getSupportedWriteConcurrence ( ) const
inlinevirtual

Adding entries is thread-safe, so we're only subject to GA_DataArray limitations.

Implements GA_Attribute.

Definition at line 126 of file GA_ATIIndexPair.h.

static SYS_FORCE_INLINE const GA_AttributeType& GA_ATIIndexPair::getType ( void  )
inlinestatic

Definition at line 82 of file GA_ATIIndexPair.h.

static SYS_FORCE_INLINE const UT_StringHolder& GA_ATIIndexPair::getTypeName ( )
inlinestatic

Definition at line 79 of file GA_ATIIndexPair.h.

const GA_Defaults& GA_ATIIndexPair::getValueDefaults ( ) const
inline

Definition at line 205 of file GA_ATIIndexPair.h.

const GA_Defaults& GA_ATIIndexPair::getValueOperationalDefaults ( ) const
inline

Definition at line 206 of file GA_ATIIndexPair.h.

bool GA_ATIIndexPair::growEntriesTo ( int  size,
bool  concurrent = false 
)

Use growEntriesTo() instead of setEntries() to ensure that the entry capacity never shrinks. This is necessary for concurrent growing of the entry capacity to properly handle the situation where one thread tries to grow the entries less than another. Set the concurrent arg if more than one thread can call this method concurrently.

virtual void GA_ATIIndexPair::hardenAllPages ( GA_Offset  start_offset = GA_Offset(0),
GA_Offset  end_offset = GA_INVALID_OFFSET 
)
virtual

Harden data pages.

Implements GA_Attribute.

bool GA_ATIIndexPair::hasSameProperties ( const GA_ATIIndexPair sattrib) const
protected
void GA_ATIIndexPair::interpScale ( GA_Offset  di,
fpreal  scale 
)
protected

Scale all weights by the given amount (used in weighted sums)

void GA_ATIIndexPair::invalidateTrailingEntries ( GA_Offset  ai,
int  start_entry 
)
protected
void GA_ATIIndexPair::invalidateTrailingEntries ( const GA_Range ai,
int  start_entry 
)
protected
bool GA_ATIIndexPair::isAlmostEqual ( GA_Offset  di,
const GA_ATIIndexPair src,
GA_Offset  si,
int  ulps 
) const
protected

Compare AIF

bool GA_ATIIndexPair::isAlmostEqual ( const GA_Range di,
const GA_ATIIndexPair src,
const GA_Range si,
int  ulps 
) const
protected

Compare AIF

bool GA_ATIIndexPair::isNan ( GA_Offset  ai) const
protected

GA_AIFTuple The AIFTuple has a tuple with 2*getEntries() entries. The entries are interleaved with ( index0, value0, index1, value1, ...)

bool GA_ATIIndexPair::isNan ( const GA_Range ai) const
protected

GA_AIFTuple The AIFTuple has a tuple with 2*getEntries() entries. The entries are interleaved with ( index0, value0, index1, value1, ...)

static SYS_FORCE_INLINE bool GA_ATIIndexPair::isType ( const GA_Attribute attrib)
inlinestatic

Definition at line 85 of file GA_ATIIndexPair.h.

virtual bool GA_ATIIndexPair::matchesStorage ( const GA_Attribute that) const
inlinevirtual

Returns true iff that is an attribute whose content can be copied from this without any type conversions. This is important to avoid reallocation of an attribute if its storage type, including tuple size, matches the source attribute exactly.

Reimplemented from GA_Attribute.

Definition at line 229 of file GA_ATIIndexPair.h.

GA_Attribute* GA_ATIIndexPair::mergeAddDestination ( const GA_MergeMap map,
GA_Attribute dattrib 
) const
protected

Base class implementation of GA_AIFMerge::addDestination()

bool GA_ATIIndexPair::mergeAppendData ( const GA_MergeMap map,
const GA_Attribute sattrib 
)
protected

Base class implementation of GA_AIFMerge::copyArray()

void GA_ATIIndexPair::mergeDestroyDestination ( const GA_MergeMap map,
GA_Attribute dattrib 
) const
protected

GA_AIFMerge Base class implementation of GA_AIFMerge::destroyDestination()

bool GA_ATIIndexPair::mergeObjectValues ( const GA_ATIIndexPair sattrib,
UT_IntArray new_indices 
)
protected
virtual void GA_ATIIndexPair::reconstructElementBlock ( GA_Offset  offset,
GA_Offset  nelements 
)
virtual

When the array size is grown, attributes should initialize the value appropriately. When elements are reused, however, reconstructElementBlock is called. This happens if an element is deleted and then a new element is allocated (using the existing slot)

Reimplemented from GA_Attribute.

static void GA_ATIIndexPair::registerType ( )
static
bool GA_ATIIndexPair::removeIndex ( int  index)
protected
virtual void GA_ATIIndexPair::replace ( const GA_Attribute src)
virtual

This replaces the entirety of this attribute's content and non- storage metadata (except the name) with that of the src attribute. matchesStorage(src) should already return true. This is primarily for use by GA_AttributeSet::replace(). NOTE: The internal content sizes may not match exactly if the attribute type may overallocate, but the sizes should be such that any real data will fit in the destination, so be careful and deal with the myTailInitialize flag appropriately if any extra elements aren't equal to the default.

Implements GA_Attribute.

virtual bool GA_ATIIndexPair::setArraySize ( GA_Offset  new_size)
virtual

Grow or shrink the array size.

Implements GA_Attribute.

bool GA_ATIIndexPair::setData ( GA_Offset  ai,
int  entry,
fpreal32  data,
int  data_component = 0 
)
inlineprotected

Definition at line 281 of file GA_ATIIndexPair.h.

bool GA_ATIIndexPair::setData ( GA_Offset  ai,
int  entry,
fpreal64  data,
int  data_component = 0 
)
inlineprotected

Definition at line 282 of file GA_ATIIndexPair.h.

bool GA_ATIIndexPair::setData ( GA_Offset  ai,
int  entry,
int32  data,
int  data_component = 0 
)
inlineprotected

Definition at line 283 of file GA_ATIIndexPair.h.

bool GA_ATIIndexPair::setData ( GA_Offset  ai,
int  entry,
int64  data,
int  data_component = 0 
)
inlineprotected

Definition at line 284 of file GA_ATIIndexPair.h.

bool GA_ATIIndexPair::setDataStorage ( GA_Storage  storage)
bool GA_ATIIndexPair::setEntries ( int  size)

setEntries() is NOT thread-safe. To concurrently grow the entry capacity, use growEntriesTo(size, true).

bool GA_ATIIndexPair::setIndex ( GA_Offset  ai,
int  entry,
int32  index 
)
inlineprotected

Definition at line 279 of file GA_ATIIndexPair.h.

bool GA_ATIIndexPair::setIndex ( const GA_Range ai,
int  entry,
int32  index 
)
inlineprotected

Definition at line 280 of file GA_ATIIndexPair.h.

bool GA_ATIIndexPair::setIndexStorage ( GA_Storage  storage)
void GA_ATIIndexPair::setObjectSetCount ( int  n)
protected
bool GA_ATIIndexPair::setTupleSize ( int  size)
protected
virtual void GA_ATIIndexPair::tryCompressAllPages ( GA_Offset  start_offset = GA_Offset(0),
GA_Offset  end_offset = GA_INVALID_OFFSET 
)
virtual

Try to compress data pages.

Implements GA_Attribute.

template<typename T >
bool GA_ATIIndexPair::tupleGet ( GA_Offset  ai,
T v,
int  index 
) const
inlineprotected

GA_AIFTuple The AIFTuple has a tuple with 2*getEntries() entries. The entries are interleaved with ( index0, value0, index1, value1, ...)

template<typename T >
bool GA_ATIIndexPair::tupleGet ( GA_Offset  ai,
T v,
int  count,
int  start 
) const
inlineprotected

GA_AIFTuple The AIFTuple has a tuple with 2*getEntries() entries. The entries are interleaved with ( index0, value0, index1, value1, ...)

int GA_ATIIndexPair::tupleGetSize ( ) const
inlineprotected

GA_AIFTuple The AIFTuple has a tuple with 2*getEntries() entries. The entries are interleaved with ( index0, value0, index1, value1, ...)

Definition at line 322 of file GA_ATIIndexPair.h.

GA_Storage GA_ATIIndexPair::tupleGetStorage ( ) const
protected

GA_AIFTuple The AIFTuple has a tuple with 2*getEntries() entries. The entries are interleaved with ( index0, value0, index1, value1, ...)

template<typename T >
bool GA_ATIIndexPair::tupleSet ( GA_Offset  ai,
T  v,
int  vi 
)
inlineprotected

GA_AIFTuple The AIFTuple has a tuple with 2*getEntries() entries. The entries are interleaved with ( index0, value0, index1, value1, ...)

template<typename T >
bool GA_ATIIndexPair::tupleSet ( GA_Offset  ai,
const T v,
int  count,
int  start 
)
inlineprotected

GA_AIFTuple The AIFTuple has a tuple with 2*getEntries() entries. The entries are interleaved with ( index0, value0, index1, value1, ...)

template<typename T >
bool GA_ATIIndexPair::tupleSet ( const GA_Range di,
T  v,
int  vi 
)
inlineprotected

GA_AIFTuple The AIFTuple has a tuple with 2*getEntries() entries. The entries are interleaved with ( index0, value0, index1, value1, ...)

template<typename T >
bool GA_ATIIndexPair::tupleSet ( const GA_Range di,
const T v,
int  count,
int  start 
)
inlineprotected

GA_AIFTuple The AIFTuple has a tuple with 2*getEntries() entries. The entries are interleaved with ( index0, value0, index1, value1, ...)

bool GA_ATIIndexPair::tupleSet ( GA_Offset  di,
const GA_ATIIndexPair s,
GA_Offset  si,
int  component 
)
inlineprotected

GA_AIFTuple The AIFTuple has a tuple with 2*getEntries() entries. The entries are interleaved with ( index0, value0, index1, value1, ...)

bool GA_ATIIndexPair::tupleSet ( const GA_Range di,
const GA_ATIIndexPair s,
const GA_Range si,
int  component 
)
inlineprotected

GA_AIFTuple The AIFTuple has a tuple with 2*getEntries() entries. The entries are interleaved with ( index0, value0, index1, value1, ...)

bool GA_ATIIndexPair::tupleSetSize ( int  size)
protected

GA_AIFTuple The AIFTuple has a tuple with 2*getEntries() entries. The entries are interleaved with ( index0, value0, index1, value1, ...)

bool GA_ATIIndexPair::tupleSetStorage ( GA_Storage  storage)
protected

GA_AIFTuple The AIFTuple has a tuple with 2*getEntries() entries. The entries are interleaved with ( index0, value0, index1, value1, ...)

Member Data Documentation

UT_ConcurrentVector<GA_DataArrayTuple *> GA_ATIIndexPair::myData
protected

Definition at line 351 of file GA_ATIIndexPair.h.

GA_Storage GA_ATIIndexPair::myDataStorage
protected

Definition at line 355 of file GA_ATIIndexPair.h.

SYS_AtomicInt32 GA_ATIIndexPair::myEntryCapacity
protected

Definition at line 353 of file GA_ATIIndexPair.h.

UT_Lock GA_ATIIndexPair::myEntryGrowthLock
protected

Definition at line 359 of file GA_ATIIndexPair.h.

UT_ConcurrentVector<GA_DataArray *> GA_ATIIndexPair::myIndex
protected

Definition at line 350 of file GA_ATIIndexPair.h.

GA_Defaults GA_ATIIndexPair::myIndexDefault
protected

Definition at line 356 of file GA_ATIIndexPair.h.

GA_Storage GA_ATIIndexPair::myIndexStorage
protected

Definition at line 354 of file GA_ATIIndexPair.h.

ga_IndexPairObjectSets* GA_ATIIndexPair::myObjects
protected

Definition at line 349 of file GA_ATIIndexPair.h.

int GA_ATIIndexPair::myTupleSize
protected

Definition at line 352 of file GA_ATIIndexPair.h.

GA_Defaults GA_ATIIndexPair::myValueDefaults
protected

Definition at line 357 of file GA_ATIIndexPair.h.

GA_Defaults GA_ATIIndexPair::myValueOperationalDefaults
protected

Definition at line 358 of file GA_ATIIndexPair.h.


The documentation for this class was generated from the following file: