XGroup

Inherited from NItem,

Inherited by NULL

Friend class NULL

Description

XGroup从NItem继承,是封装了特定类型的对象集合的数据及其方法的工具类,它的类型标识为“CGROUP”。

XGroup为特定类型的对象集合构建一个带有名字属性的身份ID哈希表,特定类型有域类型、集合类型一起指定,特别的,对于来自模型的对象,域类型为模型的ID。

基于XHash构建的身份ID哈希表可以快速判断某个对象是否在该对象集合里,它提供的访问迭代方法和XManager一起使用可以高效的访问集合内的对象。

Members

Public interface


int m_iDomain

集合域类型

int m_iGrpType

集合对象类型

RGBAColor m_Color

集合颜色

IDHash * m_pItems

对象ID哈希表


XGroup(ulong id, XMemPool * hashpool)

~XGroup()

void clear()

void setGroupType(TypeID type)

TypeID getGroupType() const

void setDomainID(DomainID type)

int getDomainID() const

void insertItem(ulong id)

void removeItem(ulong id)

bool hasItem(ulong id) const

int getItemCount() const

bool getModelTargets(XModel * mdl, vector<ItemPtr> * tars) const

void convertFacetToElements(XManager * elemFacetMgr)

void bindItemIterator(IDIterator * iter) const

void setTargets(vector<XUniqueObjectID*> * tars)

void setTargets(vector<XUniqueObjectID> * tars)

virtual void write(XBinaryIO * io)

virtual ErrorCode read(XBinaryIO * io)

RGBAColor getColor() const

void setColor(RGBAColor c)