HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GA_ElementGroupTableT< OWNER > Class Template Reference

OWNER must be one of GA_ATTRIB_POINT, GA_ATTRIB_PRIMITIVE, GA_ATTRIB_VERTEX. More...

#include <GA_ElementGroup.h>

+ Inheritance diagram for GA_ElementGroupTableT< OWNER >:

Public Types

typedef ElementType< OWNER,
true >::Class 
GROUP_TYPE
 
typedef
GA_GroupTable::iterator
< GROUP_TYPE
iterator
 
typedef UT_OrderedIterator
< GROUP_TYPE
*, GA_GroupTable::iterator
< GROUP_TYPE > > 
ordered_iterator
 
- Public Types inherited from GA_ElementGroupTable
typedef
GA_GroupTable::iterator
< GA_ElementGroup
iterator
 
typedef UT_OrderedIterator
< GA_ElementGroup
*, GA_GroupTable::iterator
< GA_ElementGroup > > 
ordered_iterator
 
- Public Types inherited from GA_GroupTable
typedef UT_ArrayStringMap
< GA_Group * > 
MapType
 
typedef UT_OrderedIterator
< GA_Group
*, GA_GroupTable::iterator
< GA_Group > > 
ordered_iterator
 

Public Member Functions

 GA_ElementGroupTableT (GA_Detail &detail)
 
 ~GA_ElementGroupTableT () override
 
void getList (UT_Array< const GROUP_TYPE * > &list) const
 
void getList (UT_Array< GROUP_TYPE * > &list) const
 
void mergeTable (const GA_ElementGroupTableT< OWNER > &src, GA_MergeMap &map)
 
GA_GroupTable::iterator
< GROUP_TYPE
beginTraverse () const
 
GA_GroupTable::iterator
< GROUP_TYPE
endTraverse () const
 
ordered_iterator obegin () const
 
ordered_iterator oend () const
 
- Public Member Functions inherited from GA_ElementGroupTable
 ~GA_ElementGroupTable () override
 
void getList (UT_Array< const GA_ElementGroup * > &list) const
 
void getList (UT_Array< GA_ElementGroup * > &list) const
 
bool loadGroupsH9 (UT_IStream &is, GA_AttributeOwner owner, int count)
 
bool saveGroupsH9 (std::ostream &os, int binary) const
 
void unionElementForAllGroups (GA_Offset dest, GA_Offset src) const
 Add dest to the same groups that src belongs to. More...
 
void intersectElementForAllGroups (GA_Offset dest, GA_Offset src) const
 Remove dest from the groups that src does not belong to. More...
 
GA_Size destroyEmptyGroups ()
 
void invalidateGroupEntries ()
 
SYS_FORCE_INLINE GA_ElementGroupfind (const UT_StringRef &name) const
 
GA_GroupTable::iterator
< GA_ElementGroup
beginTraverse () const
 
GA_GroupTable::iterator
< GA_ElementGroup
endTraverse () const
 
void addElementToAllGroups (GA_Offset dest) const
 
void toggleElementInAllGroups (GA_Offset dest) const
 
void removeElementFromAllGroups (GA_Offset dest) const
 
ordered_iterator obegin () const
 
ordered_iterator oend () const
 
void removeElementsFromGroupOrders (const GA_Range &range) const
 
void removeElementsFromGroupOrders (const GA_Range &range, const GA_RangeMemberQuery *&range_query) const
 
void removeMixElementsFromGroups (GA_Offset element, const GA_SecondaryLookupInfo *sec_prefix, const GA_Range &sec_range) const
 
void removeMixElementsFromGroups (GA_Offset element, const GA_SecondaryLookupInfo *sec_prefix, const GA_Range &sec_range, const GA_RangeMemberQuery *&sec_range_query) const
 
- Public Member Functions inherited from GA_GroupTable
 GA_GroupTable (GA_Detail &detail)
 
virtual ~GA_GroupTable ()
 
virtual int64 getMemoryUsage (bool inclusive) const
 Report memory usage (includes all shared memory) More...
 
virtual void countMemory (UT_MemoryCounter &counter, bool inclusive) const
 
bool isEmpty () const
 
exint getPersistentCount () const
 
exint entries () const
 
GA_Groupfind (const UT_StringRef &name) const
 
GA_GroupnewGroup (const UT_StringHolder &name)
 
GA_GroupnewInternalGroup ()
 
GA_GroupnewGroup (const UT_StringHolder &name, bool internal)
 TODO: Deprecate internal groups with user-specified names. More...
 
bool destroy (GA_Group *group)
 
bool destroy (const UT_StringRef &name)
 
GA_Size destroyGroups (const Filter &filter)
 
void clear ()
 
bool renameGroup (const UT_StringRef &fromname, const UT_StringHolder &toname)
 
UT_StringHolder renameGroupUnspecified (const UT_StringRef &from_name)
 
bool jsonSave (UT_JSONWriter &w, const GA_SaveMap &map, const char *type) const
 
bool jsonLoad (UT_JSONParser &p, const GA_LoadMap &map, const char *type_default, GA_AttributeOwner owner)
 Load the groups from the JSON stream. More...
 
bool jsonShouldSave (const GA_SaveMap &map) const
 Returns true if there are any groups to be saved out. More...
 
GA_GroupTable::iterator< GA_GroupbeginTraverse () const
 
GA_GroupTable::iterator< GA_GroupendTraverse () const
 
GA_GroupUPtr createDetachedGroup () const
 
GA_GroupnewDetachedGroup () const
 
void stat (UT_StringArray &info, uint level)
 
void stat (GA_Stat &stat, uint level) const
 
ordered_iterator obegin () const
 
ordered_iterator oend () const
 

Static Public Member Functions

static int compareAlpha (GROUP_TYPE *const *a, GROUP_TYPE *const *b)
 
static const GROUP_TYPEcastGroup (const GA_ElementGroup *group)
 
static GROUP_TYPEcastGroup (GA_ElementGroup *group)
 
- Static Public Member Functions inherited from GA_ElementGroupTable
static int compareAlpha (GA_ElementGroup *const *a, GA_ElementGroup *const *b)
 
- Static Public Member Functions inherited from GA_GroupTable
static bool jsonStat (UT_JSONParser &p, GA_Stat &sbuf, GA_GroupType owner)
 Stat the group from the JSON stream. More...
 
static int compareAlpha (GA_Group *const *a, GA_Group *const *b)
 

Protected Member Functions

GA_AttributeOwner getOwner () const override
 
GA_GroupvirtualCreateGroup (GA_Detail &detail, const UT_StringHolder &name, bool internal) const override
 
GA_GroupvirtualCreateDetachedGroup (const GA_Detail &detail) const override
 
- Protected Member Functions inherited from GA_ElementGroupTable
 GA_ElementGroupTable (GA_Detail &detail, GA_AttributeOwner owner)
 
void baseMergeTable (const GA_ElementGroupTable &src, GA_MergeMap &map, GA_AttributeOwner owner)
 
GA_GroupjsonCreateGroup (UT_JSONParser &p, const char *type, const char *name, bool internal, GA_AttributeOwner owner) override
 
- Protected Member Functions inherited from GA_GroupTable
template<typename T >
iterator< Tbegin () const
 
template<typename T >
iterator< Tend () const
 
template<typename GROUP_TYPE >
void getListT (UT_Array< GROUP_TYPE * > &list) const
 
GA_DetailgetDetail ()
 
const GA_DetailgetDetail () const
 
GA_GroupnewGroupWithNoConflict (const UT_StringHolder &name, bool internal)
 
void reserveNewSymbolTableSpace (exint n)
 
const MapTypegetMap () const
 Used only by GA_AttributeDict. More...
 

Additional Inherited Members

- Static Protected Member Functions inherited from GA_GroupTable
static int compareGroupName (const GA_Group &a, const GA_Group &b)
 

Detailed Description

template<GA_AttributeOwner OWNER>
class GA_ElementGroupTableT< OWNER >

OWNER must be one of GA_ATTRIB_POINT, GA_ATTRIB_PRIMITIVE, GA_ATTRIB_VERTEX.

Definition at line 31 of file GA_ElementGroup.h.

Member Typedef Documentation

template<GA_AttributeOwner OWNER>
typedef ElementType<OWNER, true>::Class GA_ElementGroupTableT< OWNER >::GROUP_TYPE

Definition at line 204 of file GA_ElementGroupTable.h.

template<GA_AttributeOwner OWNER>
typedef GA_GroupTable::iterator<GROUP_TYPE> GA_ElementGroupTableT< OWNER >::iterator

Definition at line 205 of file GA_ElementGroupTable.h.

Definition at line 234 of file GA_ElementGroupTable.h.

Constructor & Destructor Documentation

template<GA_AttributeOwner OWNER>
GA_ElementGroupTableT< OWNER >::GA_ElementGroupTableT ( GA_Detail detail)
inlineexplicit

Definition at line 207 of file GA_ElementGroupTable.h.

template<GA_AttributeOwner OWNER>
GA_ElementGroupTableT< OWNER >::~GA_ElementGroupTableT ( )
inlineoverride

Definition at line 210 of file GA_ElementGroupTable.h.

Member Function Documentation

template<GA_AttributeOwner OWNER>
GA_GroupTable::iterator<GROUP_TYPE> GA_ElementGroupTableT< OWNER >::beginTraverse ( ) const
inline

Definition at line 225 of file GA_ElementGroupTable.h.

template<GA_AttributeOwner OWNER>
static const GROUP_TYPE* GA_ElementGroupTableT< OWNER >::castGroup ( const GA_ElementGroup group)
inlinestatic

Definition at line 240 of file GA_ElementGroupTable.h.

template<GA_AttributeOwner OWNER>
static GROUP_TYPE* GA_ElementGroupTableT< OWNER >::castGroup ( GA_ElementGroup group)
inlinestatic

Definition at line 242 of file GA_ElementGroupTable.h.

template<GA_AttributeOwner OWNER>
static int GA_ElementGroupTableT< OWNER >::compareAlpha ( GROUP_TYPE *const a,
GROUP_TYPE *const b 
)
inlinestatic

Definition at line 230 of file GA_ElementGroupTable.h.

template<GA_AttributeOwner OWNER>
GA_GroupTable::iterator<GROUP_TYPE> GA_ElementGroupTableT< OWNER >::endTraverse ( ) const
inline

Definition at line 227 of file GA_ElementGroupTable.h.

template<GA_AttributeOwner OWNER>
void GA_ElementGroupTableT< OWNER >::getList ( UT_Array< const GROUP_TYPE * > &  list) const
inline

Definition at line 212 of file GA_ElementGroupTable.h.

template<GA_AttributeOwner OWNER>
void GA_ElementGroupTableT< OWNER >::getList ( UT_Array< GROUP_TYPE * > &  list) const
inline

Definition at line 214 of file GA_ElementGroupTable.h.

template<GA_AttributeOwner OWNER>
GA_AttributeOwner GA_ElementGroupTableT< OWNER >::getOwner ( ) const
inlineoverrideprotectedvirtual

Implements GA_ElementGroupTable.

Definition at line 245 of file GA_ElementGroupTable.h.

template<GA_AttributeOwner OWNER>
void GA_ElementGroupTableT< OWNER >::mergeTable ( const GA_ElementGroupTableT< OWNER > &  src,
GA_MergeMap map 
)
inline

A table merge matches our groups with source, adding any missing, and updating map. This method acts as GA_AIFMerge::destroyDestination() and GA_AIFMerge::addDestination() for element groups. The merging of individual element groups is handled by the attributes (GA_AIFMerge).

Definition at line 221 of file GA_ElementGroupTable.h.

template<GA_AttributeOwner OWNER>
ordered_iterator GA_ElementGroupTableT< OWNER >::obegin ( ) const
inline

Definition at line 235 of file GA_ElementGroupTable.h.

template<GA_AttributeOwner OWNER>
ordered_iterator GA_ElementGroupTableT< OWNER >::oend ( ) const
inline

Definition at line 237 of file GA_ElementGroupTable.h.

template<GA_AttributeOwner OWNER>
GA_Group* GA_ElementGroupTableT< OWNER >::virtualCreateDetachedGroup ( const GA_Detail detail) const
inlineoverrideprotectedvirtual

Implements GA_GroupTable.

Definition at line 255 of file GA_ElementGroupTable.h.

template<GA_AttributeOwner OWNER>
GA_Group* GA_ElementGroupTableT< OWNER >::virtualCreateGroup ( GA_Detail detail,
const UT_StringHolder name,
bool  internal 
) const
inlineoverrideprotectedvirtual

Implements GA_GroupTable.

Definition at line 247 of file GA_ElementGroupTable.h.


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