User Tools

Site Tools


class:domain:elementset

ElementSet

Inherited from OrderItem,

Inherited by XGeometry,

Friend class GeometryManager,

Description

ElementSet封装了同属于一个几何对象的单元集合数据及其方法。由于几何特征形式多样而且可以自由组合,并且几何数据的来源多样,或者或包含Brep信息的CAD文件,或者为纯三角片数据文件,为了兼容各种形式的数据源,架构使用带有拓扑关系的离散结构表达,一方面可以表达包括点、线、面、体四种拓扑结构和零部件及装配关系,另一方面使用三角片、线段等简单统一的离散结构表达具体的几何细节,既可以做到拓扑保真,又具有灵活的形式,在一定的误差控制下,可以表达任何几何形状,因而自然的具有可扩展性。

ElementSet作为单元的容器提供了一系列简单方便的方法供开发者使用。它是所有几何拓扑对象的基类。

Members

Public interface

Protected interface

  • virtual void attach(XElement * pElement, ElementManager * elMgr)
  • virtual void detach(XElement * pElement, ElementManager * elMgr)

OrderContainer m_Elems

单元容器


ElementSet(ulong id,int tid = DItem_ElementSet)

  • function: 构造函数
  • parameters:
    1. [i]ulong id: 对象ID
    2. [i]int tid = DItem_ElementSet: 拓扑类型
  • return value: 无

void clear(ClearFlag f = Clear_All)

  • function: 清空对象
  • parameters:
    1. [i]ClearFlag f = Clear_All: 清空标志
  • return value: 无

virtual void serialize(XBinaryIO * io,bool bSave)

  • function: 在二进制文件中序列化对象
  • parameters:
    1. [i]XBinaryIO * io: 二进制文件句柄
    2. [i]bool bSave: 是否保存数据
  • return value: 无

ulong getElementCount() const

  • function: 获取单元个数
  • parameters: NULL
  • return value: 单元个数

void bindElementIterator(ElemIterator * pIter)const

  • function: 绑定单元遍历迭代器
  • parameters:
    1. [i]ElemIterator * pIter: 单元遍历迭代器
  • return value: 无

ElemIterator begin() const

  • function: 参照标准库实现begin方法,用于开始遍历单元
  • parameters: NULL
  • return value: 单元遍历迭代器的引用

ElemIterator & end() const

  • function: 参照标准库实现end方法,用于判断单元遍历迭代器是否到达终点
  • parameters: NULL
  • return value: 单元遍历迭代器的引用

const XElement * getFirstElement() const

  • function: 获取第一个单元对象
  • parameters: NULL
  • return value: 第一个单元对象

const XNode * getRandomNode() const

  • function: 获取该对象内的任意一个节点
  • parameters: NULL
  • return value: 该对象内的任意一个节点

virtual void write(XBinaryIO * io)const

  • function: 将对象写入到二进制文件中
  • parameters:
    1. [i]XBinaryIO * io: 二进制文件句柄
  • return value: 无

virtual ErrorCode read(GeometryManager * esmgr,XBinaryIO * io)

  • function: 从二进制文件中读取几何对象数据
  • parameters:
    1. [i]GeometryManager * esmgr: 几何对象管理器
    2. [i]XBinaryIO * io: 二进制文件句柄
  • return value: 成功读取返回Error_None,否则返回相应错误码

virtual const XRenderData * getRenderData() const

  • function: 虚函数接口,获取对象的视图数据
  • parameters: NULL
  • return value: 对象的视图数据指针

~ElementSet()

  • function: 析构函数
  • parameters: NULL
  • return value: 无

int toElementArray(vector<const XElement*> * elVec) const

  • function: 将单元集合转换为单元数组
  • parameters:
    1. [i]vector<const XElement*> * elVec: 单元数组
  • return value: 无

virtual void updateAfterRenumber(TypeID tid = DItem_Element)

  • function: 在对模型对象重编号之后调用,用以更新对重编号对象的引用
  • parameters:
    1. [i]TypeID tid = DItem_Element: 重编号的对象类型
  • return value: 无

virtual void attach(XElement * pElement, ElementManager * elMgr)

  • function: 绑定对象与单元的从属关系
  • parameters:
    1. [i]XElement * pElement: 单元对象
    2. [i] ElementManager * elMgr: 单元对象管理器
  • return value: 无

virtual void detach(XElement * pElement, ElementManager * elMgr)

  • function: 解除对象与单元的从属关系
  • parameters:
    1. [i]XElement * pElement: 单元对象
    2. [i] ElementManager * elMgr: 单元对象管理器
  • return value: 无
class/domain/elementset.txt · Last modified: 2023/05/06 07:01 (external edit)