XDocument()

原型 XDocument()
描述 应用文档构造函数
参数
返回值

void setName(const char * dname)

原型 void setName(const char * dname)
描述 设置文档名,文件保存时将以该名字为文件名
参数 [i]const char * dname: 文档名
返回值

const char * getExtension()

原型 const char * getExtension()
描述 获取文档扩展名
参数
返回值 文档扩展名

const char * getName()

原型 const char * getName()
描述 获取文档名
参数
返回值 文档名字符串

const char * getPath()

原型 const char * getPath()
描述 获取文档路径,保存时按该路径保存
参数
返回值 文档路径字符串

const char * getGUID()

原型 const char * getGUID()
描述 获取文档的GUID,用以和其他类型的文档区分
参数
返回值 文档GUID字符串

const char * getDocIDString()

原型 const char * getDocIDString()
描述 获取文档ID字符串
参数
返回值 文档ID字符串

const DBVersion & getVersion()

原型 const DBVersion & getVersion()
描述 获取文档版本信息
参数
返回值 版本信息

void setVersion(int major, int minor, int sub, int build)

原型 void setVersion(int major, int minor, int sub, int build)
描述 设置文档版本信息
参数 [i]int major: 主版本号
[i] int minor: 副版本号
[i] int sub: 小版本号
[i] int build: 构建序号
返回值

const char * getVender()

原型 const char * getVender()
描述 获取程序服务提供商名称
参数
返回值 服务提供商名称

void setVender(const char * s)

原型 void setVender(const char * s)
描述 设置程序服务提供商名称
参数 [i]const char * s: 服务提供商名称
返回值

XSession * getSession(const char * name)

原型 XSession * getSession(const char * name)
描述 获取名称为name的应用会话
参数 [i]const char * name: 应用会话名
返回值 如名称为name的会话存在返回该会话,否则返回NULL

int64 getCreateTime() const

原型 int64 getCreateTime() const
描述 获取创建时间
参数
返回值 创建时间戳

int64 getModifyTime() const

原型 int64 getModifyTime() const
描述 获取修改时间戳
参数
返回值 修改时间戳

virtual void save(const char * fname, const char * scheme)

原型 virtual void save(const char * fname, const char * scheme)
描述 将文档保存到指定文件中
参数 [i]const char * fname: 文件名
[i] const char * scheme: 应用方案名
返回值

virtual bool load(const char * fname)

原型 virtual bool load(const char * fname)
描述 从文件中载入文档数据
参数 [i]const char * fname: 文件名
返回值

virtual void saveH5(const char * fname, const char * scheme)

原型 virtual void saveH5(const char * fname, const char * scheme)
描述 将文档保存为H5文件
参数 [i]const char * fname: H5文件名
[i] const char * scheme: 应用方案名
返回值

virtual bool loadH5(const char * fname)

原型 virtual bool loadH5(const char * fname)
描述 从H5文件中导入文档
参数 [i]const char * fname: H5文件名
返回值 如成功导入返回true,否则返回false

virtual void reset()

原型 virtual void reset()
描述 清空所有数据对象,重置文档
参数
返回值

virtual bool isEmpty() const

原型 virtual bool isEmpty() const
描述 判断文档是否为空(不包含任何数据对象)
参数
返回值 如文档为空返回true,否则返回false

virtual void clear()

原型 virtual void clear()
描述 清空文档所有数据对象
参数
返回值

virtual bool isClosable()

原型 virtual bool isClosable()
描述 判断当前文档是否可关闭,在某些应用场景,需要保持一份全局的文档,在不关闭整个程序的情况下,不可以单独关闭该文档
参数
返回值 如文档可关闭,返回true,否则返回false

virtual void buildObjectTree()

原型 virtual void buildObjectTree()
描述 重建对象树
参数
返回值

XTree * getObjectTree()

原型 XTree * getObjectTree()
描述 获取文档对象树
参数
返回值 对象树指针

XTree * getSecondTree()

原型 XTree * getSecondTree()
描述 获取第二文档对象树
参数
返回值 第二文档对象树

void updateDomainTree(XManager * mgr, const char * branchName = NULL, TypeID domainType = Domain_Unknown, TreeNode * category = NULL)

原型 void updateDomainTree(XManager * mgr, const char * branchName = NULL, TypeID domainType = Domain_Unknown, TreeNode * category = NULL)
描述 更新对象树的域分支
参数 [i]XManager * mgr: 域分支对应的对象管理器
[i] const char * branchName = NULL: 域分支名
[i] TypeID domainType = Domain_Unknown: 域分支类型
[i] TreeNode * category = NULL: 域分支节点
返回值

TreeNode * updateModelPartTree(const XPart * p, bool bDelete)

原型 TreeNode * updateModelPartTree(const XPart * p, bool bDelete)
描述 更新对象树的部件分支
参数 [i]const XPart * p: 待更新的部件
[i] bool bDelete: 为true时删除部件节点
返回值 更新时返回部件对应的节点,删除时返会部件节点的父节点

virtual TreeNode * updateObjectTree(const XItem * obj, bool bDelete = false)

原型 virtual TreeNode * updateObjectTree(const XItem * obj, bool bDelete = false)
描述 更新对象树的对象节点
参数 [i]const XItem * obj: 待更新的对象
[i] bool bDelete = false: 为true时删除对象节点
返回值 更新时返回对象对应的节点,删除时返会对象的父节点

TypeID ctype() const

原型 TypeID ctype() const
描述 获取文档类型ID
参数
返回值 整型文档类型ID

const char * ctypeString() const

原型 const char * ctypeString() const
描述 获取文档类型字符串
参数
返回值 文档类型字符串

virtual void release()

原型 virtual void release()
描述 释放文档所占内存空间
参数
返回值

virtual void init()

原型 virtual void init()
描述 初始化文档
参数
返回值

bool isModified()

原型 bool isModified()
描述 判断文档是否发生修改(数据对象的增加、修改、删除)
参数
返回值 如文档发生修改返回true,否则返回false

void setModified(bool b)

原型 void setModified(bool b)
描述 设置文档修改标志
参数 [i]bool b: 文档修改标志
返回值

void saveConfig(const char * scheme)

原型 void saveConfig(const char * scheme)
描述 保存文档的全局配置
参数 [i]const char * scheme:
返回值

void loadConfig(const char * scheme)

原型 void loadConfig(const char * scheme)
描述 载入文档的全局配置
参数 [i]const char * scheme:
返回值

virtual void registerEnumString()

原型 virtual void registerEnumString()
描述 注册枚举变量-字符串映射关系表
参数
返回值

XMemPool * getDocMem()

原型 XMemPool * getDocMem()
描述 获取文档公用内存池
参数
返回值 文档公用内存池

virtual const char * getExtensionNames()

原型 virtual const char * getExtensionNames()
描述 获取文档扩展名
参数
返回值 文档扩展名字符串

void setLogFile(const char * name)

原型 void setLogFile(const char * name)
描述 设置日志文件名
参数 [i]const char * name: 日志文件名
返回值

void enableUndo()

原型 void enableUndo()
描述 激活undo/redo模式
参数
返回值

void disableUndo()

原型 void disableUndo()
描述 使undo/redo模式失效
参数
返回值

virtual void clearCacheData()

原型 virtual void clearCacheData()
描述 清空文档缓存数据
参数
返回值

virtual void clearReference(const XItem* obj)

原型 virtual void clearReference(const XItem* obj)
描述 清空参考或者引用对象的其他所有对象
参数 [i]const XItem* obj: 引用对象
返回值

virtual XViewData * getViewData()

原型 virtual XViewData * getViewData()
描述 获取文档视图数据,文档视图数据包含用于显示的数据以及状态信息
参数
返回值 文档视图指针

virtual const XItem *getItem(TypeID tid, ulong id, DomainID did)

原型 virtual const XItem *getItem(TypeID tid, ulong id, DomainID did)
描述 访问数据对象
参数 [i]TypeID tid: 对象类型
[i] ulong id: 对象ID
[i] DomainID did: 对象域类型(访问模型里的对象时,为模型的ID)
返回值 数据对象指针

virtual const XItem *getItem(const XUniqueObjectID * ue)

原型 virtual const XItem *getItem(const XUniqueObjectID * ue)
描述 通过唯一对象标识访问数据对象
参数 [i]const XUniqueObjectID * ue: 唯一对象标识
返回值 数据对象指针

virtual void getItemInformation(const XUniqueObjectID * ue, string * infoStr)

原型 virtual void getItemInformation(const XUniqueObjectID * ue, string * infoStr)
描述 通过唯一对象标识获取数据对象的信息
参数 [i]const XUniqueObjectID * ue: 唯一对象标识
[i] string * infoStr: 数据对象信息
返回值

virtual void createViewData()

原型 virtual void createViewData()
描述 创建文档视图
参数
返回值 文档视图对象指针

TreeNode * findLeafNode(TreeNode * branchNode, TreeNodeData leafObj)

原型 TreeNode * findLeafNode(TreeNode * branchNode, TreeNodeData leafObj)
描述 从指定对象树分支搜索数据对象叶节点
参数 [i]TreeNode * branchNode: 对象树分支
[i] TreeNodeData leafObj: 数据对象
返回值 数据对象对应的树节点

TreeNode * getTreeItem(TreeNodeData domain, TreeNodeData obj, bool bSecondTree = false)

原型 TreeNode * getTreeItem(TreeNodeData domain, TreeNodeData obj, bool bSecondTree = false)
描述 获取数据对象对应的树节点
参数 [i]TreeNodeData domain: 数据对象所属的域(一般为对象管理器)
[i] TreeNodeData obj: 数据对象
[i] bool bSecondTree = false: 是否第二对象树
返回值 数据对象对应的树节点

TreeNode * getTreeItem(XManager * domain, TreeNodeData obj, bool bSecondTree = false)

原型 TreeNode * getTreeItem(XManager * domain, TreeNodeData obj, bool bSecondTree = false)
描述 获取数据对象对应的树节点
参数 [i]XManager * domain: 对象管理器
[i] TreeNodeData obj: 数据对象
[i] bool bSecondTree = false: 是否第二对象树
返回值 数据对象对应的树节点

virtual bool checkNodeStatus(TreeNode * node)

原型 virtual bool checkNodeStatus(TreeNode * node)
描述 检查树节点当前的状态
参数 [i]TreeNode * node: 树节点
返回值 如当前树节点包含的数据对象可用返回true,否则返回false

TreeNode * getBranchNode(TreeNodeData branchObj, bool bSecondTree = false)

原型 TreeNode * getBranchNode(TreeNodeData branchObj, bool bSecondTree = false)
描述 获取数据对象所对应的分支
参数 [i]TreeNodeData branchObj: 数据对象
[i] bool bSecondTree = false: 是否第二对象树
返回值 数据对象所对应的分支

OpnRecorder * getRecorder()

原型 OpnRecorder * getRecorder()
描述 获取文档的数据记录器
参数
返回值 数据记录器对象指针

void getDocTempFilePath(const char * file, string * strPath)

原型 void getDocTempFilePath(const char * file, string * strPath)
描述 获取文档临时目录路径下文件的全路径
参数 [i]const char * file: 文件名
[o] string * strPath: 文件全路径
返回值

void exchangeJsonItems(vector<const XItem*> * items, JsonParams * parr, const char * key, int domanID = 0)

原型 void exchangeJsonItems(vector<const XItem*> * items, JsonParams * parr, const char * key, int domanID = 0)
描述 对象选择器与脚本交换选择对象
参数 [i]vector<const XItem*> * items: 选择对象数组
[i] JsonParams * parr: 脚本参数对象
[i] const char * key: 选择对象所对应的关键字
[i] int domanID = 0: 选择对象所属域类型(模型ID)
返回值

static TypeID registerDocument(const char * docString, CreateDocFunc cfunc = 0, DestroyDocFunc dfunc = 0, TypeID docType = Document_None)

原型 static TypeID registerDocument(const char * docString, CreateDocFunc cfunc = 0, DestroyDocFunc dfunc = 0, TypeID docType = Document_None)
描述 注册文档
参数 [i]const char * docString: 文档类型名
[i] CreateDocFunc cfunc = 0: 文档构造函数
[i] DestroyDocFunc dfunc = 0: 文档析构函数
[i] TypeID docType = Document_None: 当为Document_None时强制指定文档类型ID,否则自动获取类型ID(可能会变化)
返回值 返回文档类型ID

static bool registerUIProxy(TypeID docID, CreateUIProxyFunc cUIFunc, DestroyUIProxyFunc dUIFunc)

原型 static bool registerUIProxy(TypeID docID, CreateUIProxyFunc cUIFunc, DestroyUIProxyFunc dUIFunc)
描述 注册界面代理
参数 [i]TypeID docID: 界面代理所对应的文档类型ID
[i] CreateUIProxyFunc cUIFunc: 界面代理构造函数
[i] DestroyUIProxyFunc dUIFunc: 界面代理析构函数
返回值 成功注册返回true,否则返回false

static bool registerSession(const char * sname, FuncCreateSession cFunc, FuncDestroySession dFunc)

原型 static bool registerSession(const char * sname, FuncCreateSession cFunc, FuncDestroySession dFunc)
描述 注册应用会话
参数 [i]const char * sname: 应用会话名
[i] FuncCreateSession cFunc: 应用会话构造函数
[i] FuncDestroySession dFunc: 应用会话析构函数
返回值 成功注册返回true,否则返回false

static bool queryDocumentTypes(vector<string> * docTypes)

原型 static bool queryDocumentTypes(vector<string> * docTypes)
描述 查询已注册的文档类型字符串数组
参数 [i]vector<string> * docTypes: 已注册的文档类型字符串数组
返回值 查询成功返回true,否则返回false

static const char * getDocumentTypeString(TypeID docID)

原型 static const char * getDocumentTypeString(TypeID docID)
描述 查询文档类型ID对应的文档类型字符串
参数 [i]TypeID docID: 整数文档类型ID
返回值 文档类型名

static TypeID getDocumentTypeID(const char * docString)

原型 static TypeID getDocumentTypeID(const char * docString)
描述 获取类型名为docstring的文档类型ID
参数 [i]const char * docString: 文档类型名
返回值 文档类型ID

static XDocument * create(const char * docString)

原型 static XDocument * create(const char * docString)
描述 创建类型名为docstring的文档
参数 [i]const char * docString: 文档类型名
返回值 文档指针

static void destroy(XDocument *)

原型 static void destroy(XDocument *)
描述 销毁文档
参数 [i]XDocument *: 文档指针
返回值

static UIProxy * createUIProxy(MainFrame * mf, XDocument * doc)

原型 static UIProxy * createUIProxy(MainFrame * mf, XDocument * doc)
描述 为文档doc创建界面代理
参数 [i]MainFrame * mf: 主框架
[i] XDocument * doc: 文档指针
返回值 界面代理指针

static void destroyUIProxy(TypeID docID, UIProxy *)

原型 static void destroyUIProxy(TypeID docID, UIProxy *)
描述 销毁界面代理
参数 [i]TypeID docID: 文档类型ID
[i] UIProxy *: 界面代理指针
返回值

static const char * resolveDocumentType(const char * fname)

原型 static const char * resolveDocumentType(const char * fname)
描述 从文件中解析获取文件类型
参数 [i]const char * fname: 文件名
返回值 成功解析返回文件类型名,否则返回NULL

static XSession * createSession(const char * sname)

原型 static XSession * createSession(const char * sname)
描述 创建临时会话
参数 [i]const char * sname: 会话类型名
返回值 会话指针

static void destroySession(XSession * session)

原型 static void destroySession(XSession * session)
描述 销毁临时会话
参数 [i]XSession * session: 会话指针
返回值

virtual ResultIndexMap * getResultIndexMap(XModel * mesh)

原型 virtual ResultIndexMap * getResultIndexMap(XModel * mesh)
描述 获取结果索引
参数 [i]XModel * mesh: 结果所属的网格模型
返回值 结果索引

void registerTreeNodeType(const char * tString)

原型 void registerTreeNodeType(const char * tString)
描述 注册树节点类型,在该节点不与任何数据对象对应时使用
参数 [i]const char * tString: 节点类型字符串
返回值

TypeID getTreeNodeType(const char * tString)

原型 TypeID getTreeNodeType(const char * tString)
描述 获取树节点数据类型ID
参数 [i]const char * tString: 树节点类型字符串
返回值 树节点数据类型ID

bool getModelSheet(const XModel * obj, vector<ObjPropertyEntry> * prpSheet, bool bMesh)

原型 bool getModelSheet(const XModel * obj, vector<ObjPropertyEntry> * prpSheet, bool bMesh)
描述 获取模型的属性清单
参数 [i]const XModel * obj: 模型对象
[i] vector<ObjPropertyEntry> * prpSheet: 属性清单
[i] bool bMesh: 模型是否为网格
返回值 成功获取返回true,否则返回false

bool getPartSheet(const XPart * obj, vector<ObjPropertyEntry> * prpSheet, bool bMesh)

原型 bool getPartSheet(const XPart * obj, vector<ObjPropertyEntry> * prpSheet, bool bMesh)
描述 获取部件的属性清单
参数 [i]const XPart * obj: 部件对象
[i] vector<ObjPropertyEntry> * prpSheet: 属性清单
[i] bool bMesh: 部件是否属于网格模型
返回值 成功获取返回true,否则返回false

bool getAssemblySheet(const XAssembly * obj, vector<ObjPropertyEntry> * prpSheet, bool bMesh)

原型 bool getAssemblySheet(const XAssembly * obj, vector<ObjPropertyEntry> * prpSheet, bool bMesh)
描述 获取装配体的属性清单
参数 [i]const XAssembly * obj: 装配体对象
[i] vector<ObjPropertyEntry> * prpSheet: 属性清单
[i] bool bMesh: 装配体是否属于网格模型
返回值 成功获取返回true,否则返回false

bool getShapeSheet(const XGeometry * obj, vector<ObjPropertyEntry> * prpSheet)

原型 bool getShapeSheet(const XGeometry * obj, vector<ObjPropertyEntry> * prpSheet)
描述 获取几何的属性清单
参数 [i]const XGeometry * obj: 几何对象
[i] vector<ObjPropertyEntry> * prpSheet: 属性清单
返回值 成功获取返回true,否则返回false

bool getNodeSheet(const XNode * obj, vector<ObjPropertyEntry> * prpSheet)

原型 bool getNodeSheet(const XNode * obj, vector<ObjPropertyEntry> * prpSheet)
描述 获取节点属性清单
参数 [i]const XNode * obj: 节点对象
[i] vector<ObjPropertyEntry> * prpSheet: 属性清单
返回值 成功获取返回true,否则返回false

bool getElementSheet(const XElement * obj, vector<ObjPropertyEntry> * prpSheet)

原型 bool getElementSheet(const XElement * obj, vector<ObjPropertyEntry> * prpSheet)
描述 获取单元属性清单
参数 [i]const XElement * obj: 单元对象
[i] vector<ObjPropertyEntry> * prpSheet: 属性清单
返回值 成功获取返回true,否则返回false

bool updateExternalReference(const char * extpath)

原型 bool updateExternalReference(const char * extpath)
描述 更新参考指定路径的外部数据的所有数据对象
参数 [i]const char * extpath: 外部引用的路径
返回值 成功更新返回true,否则返回false

TreeNode * updateItemTree(XManager * mgr, const XItem * obj, bool bDelete = false)

原型 TreeNode * updateItemTree(XManager * mgr, const XItem * obj, bool bDelete = false)
描述 更新对象树
参数 [i]XManager * mgr: 对象管理器
[i] const XItem * obj: 数据对象
[i] bool bDelete = false: 是否删除树节点
返回值 更新时返回数据对象对应的树节点,删除时返回父节点

void updateDocFolder()

原型 void updateDocFolder()
描述 更新文档文件夹
参数
返回值

void saveHeader(XBinaryIO * io, const char * scheme)

原型 void saveHeader(XBinaryIO * io, const char * scheme)
描述 将文件头写入二进制文件
参数 [i]XBinaryIO * io: 二进制文件句柄
[i] const char * scheme: 应用方案名
返回值

bool loadHeader(XBinaryIO * io)

原型 bool loadHeader(XBinaryIO * io)
描述 从二进制文件中载入文件头
参数 [i]XBinaryIO * io: 二进制文件句柄
返回值 成功载入返回true,否则返回false

void saveHeader(XH5IO * io, const char * scheme, H5Object * hroot)

原型 void saveHeader(XH5IO * io, const char * scheme, H5Object * hroot)
描述 将文件头写入H5文件
参数 [i]XH5IO * io: H5文件句柄
[i] const char * scheme: 应用方案名
[i] H5Object * hroot: H5文件根节点
返回值

bool loadHeader(XH5IO * io, H5Object * hroot)

原型 bool loadHeader(XH5IO * io, H5Object * hroot)
描述 从H5文件中载入文件头
参数 [i]XH5IO * io: H5文件句柄
[i] H5Object * hroot: H5文件根节点
返回值 成功载入返回true,否则返回false