====== PropertyManager ====== **//Inherited from//** [[class::domain::xmanager|XManager]], **//Inherited by//** NULL **//Friend class//** NULL **//Description//** PropertyManager从XManager继承,是单元属性对象管理器,所有单元属性对象的创建、销毁、访问以及修改都通过调用它的通用接口完成。它的域识别码是Domain_Property,类型名是“DPROPERTY”。 **//Members//** * PrpExtensionManager * [[propertymanager#m_pprpextmgr|m_pPrpExtMgr]] * SectionManager * [[propertymanager#m_psectionmgr|m_pSectionMgr]] * XModel * [[propertymanager#m_pmdlrefs|m_pMdlRefs]] **//Public interface//** * [[propertymanager#propertymanager1|PropertyManager]](OpnRecorder * rec) * [[propertymanager#~propertymanager|~PropertyManager]]() * void [[propertymanager#bindsectionmanager|bindSectionManager]](SectionManager * mgr) * void [[propertymanager#setmodelreference|setModelReference]](XModel * mdlRef) * void [[propertymanager#clear|clear]]() * void [[propertymanager#write|write]](XH5IO * io, H5Obj * grp) * bool [[propertymanager#read|read]](XH5IO * io, H5Obj * grp) * void [[propertymanager#linkparts|linkParts]]() * const XProperty * [[propertymanager#getitembypart|getItemByPart]](const XPart * p, XModel * mdl) * SectionManager * [[propertymanager#getpattermanager|getPatterManager]]() * void [[propertymanager#serialize|serialize]](XBinaryIO * io, XItem * obj, bool bSave) * void [[propertymanager#updatecache|updateCache]](XItem * obj, OpnType opn) ---- {{anchor:m_pprpextmgr}} **PrpExtensionManager * m_pPrpExtMgr** 单元属性扩展管理器 {{anchor:m_psectionmgr}} **SectionManager * m_pSectionMgr** 截面属性管理器 {{anchor:m_pmdlrefs}} **XModel * m_pMdlRefs** 参考模型 ---- {{anchor:propertymanager1}} **PropertyManager(OpnRecorder * rec)** *function: 构造函数 *parameters: - [i]OpnRecorder * rec: 数据操作记录器 *return value: 无 {{anchor:~propertymanager}} **~PropertyManager()** *function: 析构函数 *parameters: NULL *return value: 无 {{anchor:bindsectionmanager}} **void bindSectionManager(SectionManager * mgr)** *function: 绑定截面管理器 *parameters: - [i]SectionManager * mgr: 截面管理器 *return value: 无 {{anchor:setmodelreference}} **void setModelReference(XModel * mdlRef)** *function: 设置参考模型 *parameters: - [i]XModel * mdlRef: 参考模型对象 *return value: 无 {{anchor:clear}} **void clear()** *function: 清空单元属性 *parameters: NULL *return value: 无 {{anchor:write}} **void write(XH5IO * io, H5Obj * grp)** *function: 将管理的所有对象数据写入到HDF5文件中 *parameters: - [i]XH5IO * io: HDF5文件句柄 - [i] H5Obj * grp: 对象管理器对应的HDF5节点 *return value: 无 {{anchor:read}} **bool read(XH5IO * io, H5Obj * grp)** *function: 从HDF5文件中读取对象数据到管理器中 *parameters: - [i]XH5IO * io: HDF5文件句柄 - [i] H5Obj * grp: 对象管理器对应的HDF5节点 *return value: 完整读取返回true,否则返回false {{anchor:getitembypart}} **const XProperty * getItemByPart(const XPart * p)** *function: 获取部件p上的单元属性对象 *parameters: - [i]const XPart * p: 部件对象 *return value: 部件p上的单元属性对象 {{anchor:getpattermanager}} **SectionManager * getPatterManager()** *function: 获取截面管理器 *parameters: NULL *return value: 截面管理器 {{anchor:serialize}} **void serialize(XBinaryIO * io, XItem * obj, bool bSave)** *function: 在undo、redo时从数据操作记录文件中序列化数据对象 *parameters: - [i]XBinaryIO * io: 二进制数据操作记录文件句柄 - [i] XItem * obj: 数据对象 - [i] bool bSave: 是否保存数据对象 *return value: 无 {{anchor:updatecache}} **void updateCache(XItem * obj, OpnType opn)** *function: 基类函数的重新实现,根据数据操作类型更新单元属性对象有关缓存数据 *parameters: - [i]XItem * obj: 单元属性对象 - [i] OpnType opn: 数据操作类型 *return value: 无