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

#include <GA_AttributeSet.h>

Classes

class  namevalidandfreecertificate
 
class  namevalidcertificate
 

Public Member Functions

 ~GA_AttributeSet ()
 
GA_AttributecreateAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringHolder &name, const UT_Options *creation_args, const GA_AttributeOptions *attribute_options, const UT_StringRef &attribtype, const GA_ReuseStrategy &r=GA_ReuseStrategy())
 
GA_AttributeUPtr createDetachedAttribute (GA_AttributeOwner owner, const UT_StringRef &attribtype, const UT_Options *creation_args, const GA_AttributeOptions *attribute_options) const
 Create a detached attribute. More...
 
GA_AttributeUPtr createDetachedAttribute (GA_AttributeOwner owner, const GA_AttributeType &attribtype, const UT_Options *creation_args, const GA_AttributeOptions *attribute_options) const
 
SYS_FORCE_INLINE GA_AttributecreateAttribute (GA_AttributeOwner owner, const UT_StringHolder &name, const UT_Options *creation_args, const GA_AttributeOptions *attribute_options, const UT_StringRef &attribtype, const GA_ReuseStrategy &r=GA_ReuseStrategy())
 Convenience method to add a public attribute. More...
 
GA_AttributecreateTempAttribute (GA_AttributeOwner owner, const UT_Options *creation_args, const GA_AttributeOptions *attribute_options, const UT_StringRef &attribtype)
 
GA_AttributecloneTempAttribute (GA_AttributeOwner owner, const GA_Attribute &src, bool clone_options)
 
SYS_FORCE_INLINE const
GA_Attribute
findAttribute (GA_AttributeScope scope, const UT_StringRef &name, const GA_AttributeOwner search_order[], int search_order_size) const
 
SYS_FORCE_INLINE GA_AttributefindAttribute (GA_AttributeScope scope, const UT_StringRef &name, const GA_AttributeOwner search_order[], int search_order_size)
 
SYS_FORCE_INLINE const
GA_Attribute
findAttribute (const UT_StringRef &name, const GA_AttributeOwner search_order[], int search_order_size) const
 
SYS_FORCE_INLINE GA_AttributefindAttribute (const UT_StringRef &name, const GA_AttributeOwner search_order[], int search_order_size)
 
SYS_FORCE_INLINE GA_AttributefindAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_AttributefindAttribute (GA_AttributeOwner owner, const UT_StringRef &name)
 
SYS_FORCE_INLINE const
GA_Attribute
findAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name) const
 
SYS_FORCE_INLINE const
GA_Attribute
findAttribute (GA_AttributeOwner owner, const UT_StringRef &name) const
 
void matchAttributes (const GA_AttributeFilter &filter, const GA_AttributeOwner search_order[], int search_order_size, UT_Array< GA_Attribute * > &list)
 
void matchAttributes (const GA_AttributeFilter &filter, const GA_AttributeOwner search_order[], int search_order_size, UT_Array< const GA_Attribute * > &list) const
 
void matchAttributes (const GA_AttributeFilter &filter, GA_AttributeOwner owner, UT_Array< GA_Attribute * > &list)
 
void matchAttributes (const GA_AttributeFilter &filter, GA_AttributeOwner owner, UT_Array< const GA_Attribute * > &list) const
 
bool destroyAttribute (GA_Attribute *attribute)
 
bool destroyAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &name)
 
SYS_FORCE_INLINE bool destroyAttribute (GA_AttributeOwner owner, const UT_StringRef &name)
 
bool destroyAttributeIncludingP (GA_Attribute *attribute)
 
int destroyAttributes (GA_AttributeOwner owner, const GA_AttributeFilter &filter)
 
bool renameAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &from_name, const UT_StringHolder &to_name)
 
const char * renameAttributeUnspecified (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringRef &from_name)
 
GA_AttributecreateTupleAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringHolder &name, GA_Storage storage, int tuple_size, const GA_Defaults &defaults, const UT_Options *creation_args=NULL, const GA_AttributeOptions *attribute_options=NULL, const GA_ReuseStrategy &r=GA_ReuseStrategy())
 
SYS_FORCE_INLINE GA_AttributecreateTupleAttribute (GA_AttributeOwner owner, const UT_StringHolder &name, GA_Storage storage, int tuple_size, const GA_Defaults &defaults, const UT_Options *creation_args=NULL, const GA_AttributeOptions *attribute_options=NULL, const GA_ReuseStrategy &r=GA_ReuseStrategy())
 
GA_ATINumericUPtr createDetachedTupleAttribute (GA_AttributeOwner owner, GA_Storage storage, int tuple_size, const GA_Defaults &defaults=GA_Defaults(0.0f), const GA_AttributeOptions *attribute_options=NULL) const
 
GA_AttributecreateArrayAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringHolder &name, GA_Storage storage, int tuple_size, const UT_Options *creation_args=NULL, const GA_AttributeOptions *attribute_options=NULL, const UT_StringRef &attribtype="arraydata", const GA_ReuseStrategy &r=GA_ReuseStrategy())
 
GA_AttributecreateTempTupleAttribute (GA_AttributeOwner owner, GA_Storage storage, int tuple_size, const GA_Defaults &defaults, const UT_Options *creation_args=NULL, const GA_AttributeOptions *attribute_options=NULL)
 
GA_AttributecreateStringAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringHolder &name, int tuple_size=1, const UT_Options *creation_args=NULL, const GA_AttributeOptions *attribute_options=NULL, const UT_StringRef &attribtype="string", const GA_ReuseStrategy &r=GA_ReuseStrategy())
 
SYS_FORCE_INLINE GA_AttributecreateStringAttribute (GA_AttributeOwner owner, const UT_StringHolder &name, int tuple_size=1, const UT_Options *creation_args=NULL, const GA_AttributeOptions *attribute_options=NULL, const UT_StringRef &attribtype="string", const GA_ReuseStrategy &r=GA_ReuseStrategy())
 
GA_AttributecreateTempStringAttribute (GA_AttributeOwner owner, int tuple_size=1)
 
GA_AttributecreateDictAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const UT_StringHolder &name, int tuple_size=1, const UT_Options *creation_args=NULL, const GA_AttributeOptions *attribute_options=NULL, const UT_StringRef &attribtype="dict", const GA_ReuseStrategy &r=GA_ReuseStrategy())
 
SYS_FORCE_INLINE GA_AttributecreateDictAttribute (GA_AttributeOwner owner, const UT_StringHolder &name, int tuple_size=1, const UT_Options *creation_args=NULL, const GA_AttributeOptions *attribute_options=NULL, const UT_StringRef &attribtype="dict", const GA_ReuseStrategy &r=GA_ReuseStrategy())
 
GA_AttributecreateTempDictAttribute (GA_AttributeOwner owner, int tuple_size=1)
 
SYS_FORCE_INLINE GA_AttributefindPointAttribute (GA_AttributeScope scope, const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_AttributefindPointAttribute (const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_AttributefindVertexAttribute (GA_AttributeScope scope, const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_AttributefindVertexAttribute (const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_AttributefindPrimitiveAttribute (GA_AttributeScope scope, const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_AttributefindPrimitiveAttribute (const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_AttributefindGlobalAttribute (GA_AttributeScope scope, const UT_StringRef &name)
 
SYS_FORCE_INLINE GA_AttributefindGlobalAttribute (const UT_StringRef &name)
 
GA_ElementGroupfindGroup (GA_AttributeOwner owner, const UT_StringRef &name)
 
GA_ElementGroupfindPointGroup (const UT_StringRef &name)
 
GA_ElementGroupfindVertexGroup (const UT_StringRef &name)
 
GA_ElementGroupfindPrimitiveGroup (const UT_StringRef &name)
 
void tryCompressAllPages (GA_AttributeOwner owner, GA_Offset start_offset=GA_Offset(0), GA_Offset end_offset=GA_INVALID_OFFSET)
 
void bumpAllDataIds (GA_AttributeOwner owner)
 Bumps all data IDs of attributes of the specified owner. More...
 
bool jsonSave (UT_JSONWriter &w, const GA_SaveMap &s) const
 
bool jsonLoad (UT_JSONParser &p, GA_LoadMap &m)
 Load attribute sets from a JSON stream. More...
 
int64 getMemoryUsage (bool inclusive) const
 
void countMemory (UT_MemoryCounter &counter, bool inclusive) const
 
bool loadDictH9 (UT_IStream &is, GA_AttributeOwner owner, int tbl_size, const GA_AIFDefinition< GA_AIFFileH9 > &definition, UT_Array< GA_AttribLoadDataH9 > &list, const GA_AttribXlateH9 *xlate)
 
bool stat (GA_Stat &stat, uint level) const
 Get information about attributes. More...
 
GA_DetailgetDetail () const
 
void clearAllAttributes (bool for_deletion)
 
void clearAllAttributes (GA_AttributeOwner owner, bool for_deletion)
 
void reserveNewSymbolTableSpace (GA_AttributeOwner owner, GA_AttributeScope scope, int size)
 
GA_ATITopologycreateTopologyAttribute (GA_AttributeOwner owner, const UT_StringHolder &name, GA_AttributeOwner linkowner)
 
SYS_FORCE_INLINE const
GA_AttributeDict
getDict (GA_AttributeOwner owner) const
 Raw access to the GA_AttributeDict for a particular owner. More...
 
GA_AttributeDict::iterator begin (GA_AttributeOwner owner) const
 
GA_AttributeDict::iterator begin (GA_AttributeOwner owner, GA_AttributeScope scope) const
 
GA_AttributeDict::iterator end (GA_AttributeOwner owner) const
 
GA_AttributeDict::iterator end (GA_AttributeOwner owner, GA_AttributeScope scope) const
 
void defragment (const GA_Defragment &defrag)
 
void enableDataIdGeneration ()
 
bool isGeneratingDataIds () const
 Query whether generation of data IDs has been enabled. More...
 
GA_AttributecloneAttribute (GA_AttributeOwner owner, const UT_StringHolder &name, namevalidcertificate, const GA_Attribute &src, bool clone_options, GA_DataIdStrategy data_id_strategy=GA_DATA_ID_BUMP, const GA_ReuseStrategy &reuse=GA_ReuseStrategy())
 
GA_AttributecloneAttribute (GA_AttributeOwner owner, const UT_StringHolder &name, const GA_Attribute &src, bool clone_options, GA_DataIdStrategy data_id_strategy=GA_DATA_ID_BUMP, const GA_ReuseStrategy &reuse=GA_ReuseStrategy())
 
GA_AttributecloneTupleAsArrayAttribute (GA_AttributeOwner owner, const UT_StringHolder &name, namevalidcertificate, const GA_Attribute &src, bool clone_options, const GA_ReuseStrategy &reuse=GA_ReuseStrategy())
 
GA_AttributecloneTupleAsArrayAttribute (GA_AttributeOwner owner, const UT_StringHolder &name, const GA_Attribute &src, bool clone_options, const GA_ReuseStrategy &reuse=GA_ReuseStrategy())
 
void registerGroup (GA_ElementGroup &group)
 
void unregisterGroup (GA_ElementGroup &group)
 
void hardenAllPages (GA_AttributeOwner owner, GA_Offset start_offset=GA_Offset(0), GA_Offset end_offset=GA_INVALID_OFFSET)
 
void hardenAllPagesExceptGroups (GA_AttributeOwner owner, GA_Offset start_offset=GA_Offset(0), GA_Offset end_offset=GA_INVALID_OFFSET)
 

Static Public Member Functions

static bool jsonStat (UT_JSONParser &p, GA_Stat &sbuf)
 Stat attribute stats from a JSON stream. More...
 
static bool saveDictH9 (std::ostream &os, const char *label, const UT_Array< GA_AttribSaveDataH9 > &list)
 
static bool isValidName (const char *name, GA_AttributeScope scope=GA_SCOPE_PUBLIC)
 Query whether a given string is a valid variable name. More...
 

Friends

class GA_Detail
 
class GA_GroupTable
 

Detailed Description

Definition at line 63 of file GA_AttributeSet.h.

Constructor & Destructor Documentation

GA_AttributeSet::~GA_AttributeSet ( )

Member Function Documentation

GA_AttributeDict::iterator GA_AttributeSet::begin ( GA_AttributeOwner  owner) const
inline

Definition at line 612 of file GA_AttributeSet.h.

GA_AttributeDict::iterator GA_AttributeSet::begin ( GA_AttributeOwner  owner,
GA_AttributeScope  scope 
) const
inline

Definition at line 616 of file GA_AttributeSet.h.

void GA_AttributeSet::bumpAllDataIds ( GA_AttributeOwner  owner)

Bumps all data IDs of attributes of the specified owner.

Examples:
SOP/SOP_BouncyAgent.C, and SOP/SOP_BrushHairLen.C.
void GA_AttributeSet::clearAllAttributes ( bool  for_deletion)
void GA_AttributeSet::clearAllAttributes ( GA_AttributeOwner  owner,
bool  for_deletion 
)
GA_Attribute* GA_AttributeSet::cloneAttribute ( GA_AttributeOwner  owner,
const UT_StringHolder name,
namevalidcertificate  ,
const GA_Attribute src,
bool  clone_options,
GA_DataIdStrategy  data_id_strategy = GA_DATA_ID_BUMP,
const GA_ReuseStrategy reuse = GA_ReuseStrategy() 
)

Create an attribute that has the same definition as the source.

Note
This will fail for group attributes!
Examples:
SOP/SOP_TimeCompare.C.
GA_Attribute* GA_AttributeSet::cloneAttribute ( GA_AttributeOwner  owner,
const UT_StringHolder name,
const GA_Attribute src,
bool  clone_options,
GA_DataIdStrategy  data_id_strategy = GA_DATA_ID_BUMP,
const GA_ReuseStrategy reuse = GA_ReuseStrategy() 
)

Create an attribute that has the same definition as the source.

Note
This will fail for group attributes!
GA_Attribute* GA_AttributeSet::cloneTempAttribute ( GA_AttributeOwner  owner,
const GA_Attribute src,
bool  clone_options 
)
GA_Attribute* GA_AttributeSet::cloneTupleAsArrayAttribute ( GA_AttributeOwner  owner,
const UT_StringHolder name,
namevalidcertificate  ,
const GA_Attribute src,
bool  clone_options,
const GA_ReuseStrategy reuse = GA_ReuseStrategy() 
)

Create an attribute that has the same definition as the source, promoting Tuple attributes into Array of Tuple attributes. If the base attribute is not a tuple or lacks an array equivalent, fails and returns nullptr.

Note
This will fail for group attributes!
GA_Attribute* GA_AttributeSet::cloneTupleAsArrayAttribute ( GA_AttributeOwner  owner,
const UT_StringHolder name,
const GA_Attribute src,
bool  clone_options,
const GA_ReuseStrategy reuse = GA_ReuseStrategy() 
)

Create an attribute that has the same definition as the source, promoting Tuple attributes into Array of Tuple attributes. If the base attribute is not a tuple or lacks an array equivalent, fails and returns nullptr.

Note
This will fail for group attributes!
void GA_AttributeSet::countMemory ( UT_MemoryCounter counter,
bool  inclusive 
) const

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.)

GA_Attribute* GA_AttributeSet::createArrayAttribute ( GA_AttributeOwner  owner,
GA_AttributeScope  scope,
const UT_StringHolder name,
GA_Storage  storage,
int  tuple_size,
const UT_Options creation_args = NULL,
const GA_AttributeOptions attribute_options = NULL,
const UT_StringRef attribtype = "arraydata",
const GA_ReuseStrategy r = GA_ReuseStrategy() 
)
GA_Attribute* GA_AttributeSet::createAttribute ( GA_AttributeOwner  owner,
GA_AttributeScope  scope,
const UT_StringHolder name,
const UT_Options creation_args,
const GA_AttributeOptions attribute_options,
const UT_StringRef attribtype,
const GA_ReuseStrategy r = GA_ReuseStrategy() 
)

Create a new named attribute for the owner with the given

The creation_options are used to pass intrinsic properties to the attribute. The creation_options are not generally stored with the attribute itself, but are used to determine the intrinsic behaviour of the attribute (i.e. specifying storage types for numeric attributes).

The attribute_options are stored on the attribute.

The attribtype argument is used to look up the attribute type. Common values include numeric, "string" and "indexpair"

SYS_FORCE_INLINE GA_Attribute* GA_AttributeSet::createAttribute ( GA_AttributeOwner  owner,
const UT_StringHolder name,
const UT_Options creation_args,
const GA_AttributeOptions attribute_options,
const UT_StringRef attribtype,
const GA_ReuseStrategy r = GA_ReuseStrategy() 
)
inline

Convenience method to add a public attribute.

Definition at line 130 of file GA_AttributeSet.h.

GA_AttributeUPtr GA_AttributeSet::createDetachedAttribute ( GA_AttributeOwner  owner,
const UT_StringRef attribtype,
const UT_Options creation_args,
const GA_AttributeOptions attribute_options 
) const

Create a detached attribute.

GA_AttributeUPtr GA_AttributeSet::createDetachedAttribute ( GA_AttributeOwner  owner,
const GA_AttributeType attribtype,
const UT_Options creation_args,
const GA_AttributeOptions attribute_options 
) const
GA_ATINumericUPtr GA_AttributeSet::createDetachedTupleAttribute ( GA_AttributeOwner  owner,
GA_Storage  storage,
int  tuple_size,
const GA_Defaults defaults = GA_Defaults(0.0f),
const GA_AttributeOptions attribute_options = NULL 
) const
GA_Attribute* GA_AttributeSet::createDictAttribute ( GA_AttributeOwner  owner,
GA_AttributeScope  scope,
const UT_StringHolder name,
int  tuple_size = 1,
const UT_Options creation_args = NULL,
const GA_AttributeOptions attribute_options = NULL,
const UT_StringRef attribtype = "dict",
const GA_ReuseStrategy r = GA_ReuseStrategy() 
)
SYS_FORCE_INLINE GA_Attribute* GA_AttributeSet::createDictAttribute ( GA_AttributeOwner  owner,
const UT_StringHolder name,
int  tuple_size = 1,
const UT_Options creation_args = NULL,
const GA_AttributeOptions attribute_options = NULL,
const UT_StringRef attribtype = "dict",
const GA_ReuseStrategy r = GA_ReuseStrategy() 
)
inline

Definition at line 382 of file GA_AttributeSet.h.

GA_Attribute* GA_AttributeSet::createStringAttribute ( GA_AttributeOwner  owner,
GA_AttributeScope  scope,
const UT_StringHolder name,
int  tuple_size = 1,
const UT_Options creation_args = NULL,
const GA_AttributeOptions attribute_options = NULL,
const UT_StringRef attribtype = "string",
const GA_ReuseStrategy r = GA_ReuseStrategy() 
)
SYS_FORCE_INLINE GA_Attribute* GA_AttributeSet::createStringAttribute ( GA_AttributeOwner  owner,
const UT_StringHolder name,
int  tuple_size = 1,
const UT_Options creation_args = NULL,
const GA_AttributeOptions attribute_options = NULL,
const UT_StringRef attribtype = "string",
const GA_ReuseStrategy r = GA_ReuseStrategy() 
)
inline

Definition at line 359 of file GA_AttributeSet.h.

GA_Attribute* GA_AttributeSet::createTempAttribute ( GA_AttributeOwner  owner,
const UT_Options creation_args,
const GA_AttributeOptions attribute_options,
const UT_StringRef attribtype 
)

Create a temporary attribute. See createAttribute() for details on arguments

GA_Attribute* GA_AttributeSet::createTempDictAttribute ( GA_AttributeOwner  owner,
int  tuple_size = 1 
)
GA_Attribute* GA_AttributeSet::createTempStringAttribute ( GA_AttributeOwner  owner,
int  tuple_size = 1 
)
GA_Attribute* GA_AttributeSet::createTempTupleAttribute ( GA_AttributeOwner  owner,
GA_Storage  storage,
int  tuple_size,
const GA_Defaults defaults,
const UT_Options creation_args = NULL,
const GA_AttributeOptions attribute_options = NULL 
)
GA_ATITopology* GA_AttributeSet::createTopologyAttribute ( GA_AttributeOwner  owner,
const UT_StringHolder name,
GA_AttributeOwner  linkowner 
)
GA_Attribute* GA_AttributeSet::createTupleAttribute ( GA_AttributeOwner  owner,
GA_AttributeScope  scope,
const UT_StringHolder name,
GA_Storage  storage,
int  tuple_size,
const GA_Defaults defaults,
const UT_Options creation_args = NULL,
const GA_AttributeOptions attribute_options = NULL,
const GA_ReuseStrategy r = GA_ReuseStrategy() 
)
SYS_FORCE_INLINE GA_Attribute* GA_AttributeSet::createTupleAttribute ( GA_AttributeOwner  owner,
const UT_StringHolder name,
GA_Storage  storage,
int  tuple_size,
const GA_Defaults defaults,
const UT_Options creation_args = NULL,
const GA_AttributeOptions attribute_options = NULL,
const GA_ReuseStrategy r = GA_ReuseStrategy() 
)
inline

Definition at line 316 of file GA_AttributeSet.h.

void GA_AttributeSet::defragment ( const GA_Defragment defrag)

Called by GA_Detail::defragment when defragmenting a particular index map. Topology attributes won't be modified; they're handled separately. NOTE: This bumps all data IDs of attributes whose owner is that of the index map being defragmented, including topology attributes.

bool GA_AttributeSet::destroyAttribute ( GA_Attribute attribute)
bool GA_AttributeSet::destroyAttribute ( GA_AttributeOwner  owner,
GA_AttributeScope  scope,
const UT_StringRef name 
)
SYS_FORCE_INLINE bool GA_AttributeSet::destroyAttribute ( GA_AttributeOwner  owner,
const UT_StringRef name 
)
inline

Definition at line 282 of file GA_AttributeSet.h.

bool GA_AttributeSet::destroyAttributeIncludingP ( GA_Attribute attribute)
int GA_AttributeSet::destroyAttributes ( GA_AttributeOwner  owner,
const GA_AttributeFilter filter 
)
void GA_AttributeSet::enableDataIdGeneration ( )

By default, data IDs are not generated for new attributes to force callers to explicitly opt-in. It is very easy for data IDs to become stale in code that is not explicitly notifying modified attributes.

GA_AttributeDict::iterator GA_AttributeSet::end ( GA_AttributeOwner  owner) const
inline

Definition at line 621 of file GA_AttributeSet.h.

GA_AttributeDict::iterator GA_AttributeSet::end ( GA_AttributeOwner  owner,
GA_AttributeScope  scope 
) const
inline

Definition at line 623 of file GA_AttributeSet.h.

SYS_FORCE_INLINE const GA_Attribute* GA_AttributeSet::findAttribute ( GA_AttributeScope  scope,
const UT_StringRef name,
const GA_AttributeOwner  search_order[],
int  search_order_size 
) const
inline

Definition at line 190 of file GA_AttributeSet.h.

SYS_FORCE_INLINE GA_Attribute* GA_AttributeSet::findAttribute ( GA_AttributeScope  scope,
const UT_StringRef name,
const GA_AttributeOwner  search_order[],
int  search_order_size 
)
inline

Definition at line 208 of file GA_AttributeSet.h.

SYS_FORCE_INLINE const GA_Attribute* GA_AttributeSet::findAttribute ( const UT_StringRef name,
const GA_AttributeOwner  search_order[],
int  search_order_size 
) const
inline

Definition at line 220 of file GA_AttributeSet.h.

SYS_FORCE_INLINE GA_Attribute* GA_AttributeSet::findAttribute ( const UT_StringRef name,
const GA_AttributeOwner  search_order[],
int  search_order_size 
)
inline

Definition at line 229 of file GA_AttributeSet.h.

SYS_FORCE_INLINE GA_Attribute* GA_AttributeSet::findAttribute ( GA_AttributeOwner  owner,
GA_AttributeScope  scope,
const UT_StringRef name 
)
inline

Definition at line 238 of file GA_AttributeSet.h.

SYS_FORCE_INLINE GA_Attribute* GA_AttributeSet::findAttribute ( GA_AttributeOwner  owner,
const UT_StringRef name 
)
inline

Definition at line 243 of file GA_AttributeSet.h.

SYS_FORCE_INLINE const GA_Attribute* GA_AttributeSet::findAttribute ( GA_AttributeOwner  owner,
GA_AttributeScope  scope,
const UT_StringRef name 
) const
inline

Definition at line 250 of file GA_AttributeSet.h.

SYS_FORCE_INLINE const GA_Attribute* GA_AttributeSet::findAttribute ( GA_AttributeOwner  owner,
const UT_StringRef name 
) const
inline

Definition at line 255 of file GA_AttributeSet.h.

SYS_FORCE_INLINE GA_Attribute* GA_AttributeSet::findGlobalAttribute ( GA_AttributeScope  scope,
const UT_StringRef name 
)
inline

Definition at line 436 of file GA_AttributeSet.h.

SYS_FORCE_INLINE GA_Attribute* GA_AttributeSet::findGlobalAttribute ( const UT_StringRef name)
inline

Definition at line 443 of file GA_AttributeSet.h.

GA_ElementGroup* GA_AttributeSet::findGroup ( GA_AttributeOwner  owner,
const UT_StringRef name 
)
SYS_FORCE_INLINE GA_Attribute* GA_AttributeSet::findPointAttribute ( GA_AttributeScope  scope,
const UT_StringRef name 
)
inline

Definition at line 397 of file GA_AttributeSet.h.

SYS_FORCE_INLINE GA_Attribute* GA_AttributeSet::findPointAttribute ( const UT_StringRef name)
inline

Definition at line 404 of file GA_AttributeSet.h.

GA_ElementGroup* GA_AttributeSet::findPointGroup ( const UT_StringRef name)
inline

Definition at line 458 of file GA_AttributeSet.h.

SYS_FORCE_INLINE GA_Attribute* GA_AttributeSet::findPrimitiveAttribute ( GA_AttributeScope  scope,
const UT_StringRef name 
)
inline

Definition at line 423 of file GA_AttributeSet.h.

SYS_FORCE_INLINE GA_Attribute* GA_AttributeSet::findPrimitiveAttribute ( const UT_StringRef name)
inline

Definition at line 430 of file GA_AttributeSet.h.

GA_ElementGroup* GA_AttributeSet::findPrimitiveGroup ( const UT_StringRef name)
inline

Definition at line 462 of file GA_AttributeSet.h.

SYS_FORCE_INLINE GA_Attribute* GA_AttributeSet::findVertexAttribute ( GA_AttributeScope  scope,
const UT_StringRef name 
)
inline

Definition at line 410 of file GA_AttributeSet.h.

SYS_FORCE_INLINE GA_Attribute* GA_AttributeSet::findVertexAttribute ( const UT_StringRef name)
inline

Definition at line 417 of file GA_AttributeSet.h.

GA_ElementGroup* GA_AttributeSet::findVertexGroup ( const UT_StringRef name)
inline

Definition at line 460 of file GA_AttributeSet.h.

GA_Detail* GA_AttributeSet::getDetail ( ) const
inline

Definition at line 565 of file GA_AttributeSet.h.

SYS_FORCE_INLINE const GA_AttributeDict& GA_AttributeSet::getDict ( GA_AttributeOwner  owner) const
inline

Raw access to the GA_AttributeDict for a particular owner.

Definition at line 580 of file GA_AttributeSet.h.

int64 GA_AttributeSet::getMemoryUsage ( bool  inclusive) const
void GA_AttributeSet::hardenAllPages ( GA_AttributeOwner  owner,
GA_Offset  start_offset = GA_Offset(0),
GA_Offset  end_offset = GA_INVALID_OFFSET 
)

Harden data pages Will harden all pages overlapping the specified offset range. Once this is done, multiple threads can write to an attribute in parallel at a finer granularity than pages.

void GA_AttributeSet::hardenAllPagesExceptGroups ( GA_AttributeOwner  owner,
GA_Offset  start_offset = GA_Offset(0),
GA_Offset  end_offset = GA_INVALID_OFFSET 
)

Harden data pages Will harden all pages overlapping the specified offset range. Once this is done, multiple threads can write to an attribute in parallel at a finer granularity than pages.

bool GA_AttributeSet::isGeneratingDataIds ( ) const
inline

Query whether generation of data IDs has been enabled.

Definition at line 642 of file GA_AttributeSet.h.

static bool GA_AttributeSet::isValidName ( const char *  name,
GA_AttributeScope  scope = GA_SCOPE_PUBLIC 
)
static

Query whether a given string is a valid variable name.

bool GA_AttributeSet::jsonLoad ( UT_JSONParser p,
GA_LoadMap m 
)

Load attribute sets from a JSON stream.

bool GA_AttributeSet::jsonSave ( UT_JSONWriter w,
const GA_SaveMap s 
) const

Save attribute sets to a JSON stream.

JSON Schema: GA_AttributeSet

Storage for a set of attributes.

{
"name" : "GA_AttributeSet",
"description" : "Attribute storage",
"type" : "orderedmap",
"properties": {
"vertexattributes": {
"type" : "array",
"items" : { "$ref" : "GA_Attribute" } ,
"description" : "Vertex attributes",
"optional" : true,
}
"pointattributes": {
"type" : "array",
"items" : { "$ref" : "GA_Attribute" } ,
"description" : "Point attributes",
"optional" : true,
}
"primitiveattributes": {
"type" : "array",
"items" : { "$ref" : "GA_Attribute" },
"description" : "Primitive attributes",
"optional" : true,
}
"globalattributes": {
"type" : "array",
"items" : { "$ref" : "GA_Attribute" } ,
"description" : "Global attributes",
"optional" : true,
}
}
}
See Also
JSON_FileFormat, GA_AIFJSON, GA_Attribute
static bool GA_AttributeSet::jsonStat ( UT_JSONParser p,
GA_Stat sbuf 
)
static

Stat attribute stats from a JSON stream.

bool GA_AttributeSet::loadDictH9 ( UT_IStream is,
GA_AttributeOwner  owner,
int  tbl_size,
const GA_AIFDefinition< GA_AIFFileH9 > &  definition,
UT_Array< GA_AttribLoadDataH9 > &  list,
const GA_AttribXlateH9 xlate 
)
void GA_AttributeSet::matchAttributes ( const GA_AttributeFilter filter,
const GA_AttributeOwner  search_order[],
int  search_order_size,
UT_Array< GA_Attribute * > &  list 
)
void GA_AttributeSet::matchAttributes ( const GA_AttributeFilter filter,
const GA_AttributeOwner  search_order[],
int  search_order_size,
UT_Array< const GA_Attribute * > &  list 
) const
void GA_AttributeSet::matchAttributes ( const GA_AttributeFilter filter,
GA_AttributeOwner  owner,
UT_Array< GA_Attribute * > &  list 
)
inline

Definition at line 269 of file GA_AttributeSet.h.

void GA_AttributeSet::matchAttributes ( const GA_AttributeFilter filter,
GA_AttributeOwner  owner,
UT_Array< const GA_Attribute * > &  list 
) const
inline

Definition at line 273 of file GA_AttributeSet.h.

void GA_AttributeSet::registerGroup ( GA_ElementGroup group)

NOTE: These should ONLY be called by the GA_ElementGroup constructor & destructor.

bool GA_AttributeSet::renameAttribute ( GA_AttributeOwner  owner,
GA_AttributeScope  scope,
const UT_StringRef from_name,
const UT_StringHolder to_name 
)
const char* GA_AttributeSet::renameAttributeUnspecified ( GA_AttributeOwner  owner,
GA_AttributeScope  scope,
const UT_StringRef from_name 
)

Rename an attribute to an unused name. Typically used to make fromName available for another attribute.

Returns new name on success, NULL on failure.

void GA_AttributeSet::reserveNewSymbolTableSpace ( GA_AttributeOwner  owner,
GA_AttributeScope  scope,
int  size 
)
static bool GA_AttributeSet::saveDictH9 ( std::ostream &  os,
const char *  label,
const UT_Array< GA_AttribSaveDataH9 > &  list 
)
static
bool GA_AttributeSet::stat ( GA_Stat stat,
uint  level 
) const

Get information about attributes.

void GA_AttributeSet::tryCompressAllPages ( GA_AttributeOwner  owner,
GA_Offset  start_offset = GA_Offset(0),
GA_Offset  end_offset = GA_INVALID_OFFSET 
)

Try to compress data pages Will try to compress all pages overlapping the specified offset range.

void GA_AttributeSet::unregisterGroup ( GA_ElementGroup group)

NOTE: These should ONLY be called by the GA_ElementGroup constructor & destructor.

Friends And Related Function Documentation

friend class GA_Detail
friend

Only GA_Detail can create attribute sets because the attributes rely on the existense of the detail for index maps and otherwise it may be too easy to create a attributes without a detail.

Definition at line 69 of file GA_AttributeSet.h.

friend class GA_GroupTable
friend

Group table requires friendship to be able to reach the GA_AttributeDict that it is tightly coupled to.

Definition at line 72 of file GA_AttributeSet.h.


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