| BIMHome v1.0.0
    BIMHome接口文档说明 | 
文档接口类 更多...
#include <IDocument.h>
| Public 成员函数 | |
| virtual void | _removeObject (IDocumentObject *pcObject)=0 | 
| 删除对象 | |
| virtual void | abortTransaction ()=0 | 
| 中止实际运行的事务 | |
| virtual App::IDocument * | addChildDocument (std::string name, DocType type, std::string path, std::string id, std::string afterId, bool usePartLink=true, bool doFinishRestore=true, void *pAppDocDelegate=nullptr, void *pGuiDocDelegate=nullptr)=0 | 
| 添加子文档 | |
| virtual App::IDocumentObject * | addObject (const char *sType, const char *pObjectName=nullptr, bool isNew=true, const char *viewType=nullptr, bool isPartial=false, long id=0, void *pDocObjDelegate=nullptr, void *pViewProviderDelegate=nullptr)=0 | 
| 添加对象 | |
| virtual void | addObject (IDocumentObject *pIObj, const char *pObjectName=nullptr)=0 | 
| 添加对象 | |
| virtual bool | afterRestore (bool checkPartial=false)=0 | 
| 恢复文档之后做的一些处理 | |
| virtual bool | afterRestore (const std::vector< App::IDocumentObject * > &docVec, bool checkPartial=false)=0 | 
| 在文档对象恢复之后执行一些清理或验证工作 | |
| virtual void | commitTransaction ()=0 | 
| 提交当前正在进行的事务 | |
| virtual void | deleteIDocument (App::IDocument *doc) | 
| 彻底删除IDocument | |
| virtual void | deleteSubPartOrProduct (App::IDocument *pDocument)=0 | 
| 删除子零件活子装配 | |
| virtual void | exportGraphviz (std::ostream &os) const =0 | 
| 导出图 | |
| virtual void | exportObjects (const std::vector< App::IDocumentObject * > &iObjVec, std::ostream &os)=0 | 
| 导出对象 | |
| virtual void | getAllDocument (std::set< App::IDocument * > &docSet)=0 | 
| 返回所有子孙文档列表 | |
| virtual std::vector< std::string > | getAvailableRedoNames () const =0 | 
| 返回重做名称的列表 | |
| virtual int | getAvailableRedos (int id=0) const =0 | 
| 返回存储的Redo数 | |
| virtual int | getAvailableUndos (int id=0) const =0 | 
| 返回存储的Undo数 | |
| virtual void | getDependentDocuments (std::vector< App::IDocument * > &, bool sort=true)=0 | 
| 获取当前文档的依赖文档,并将这些依赖文档存储在一个向量中 | |
| virtual std::string | getDocCategory ()=0 | 
| 获取文档分类 | |
| virtual void | getDocumentByDocCategory (std::vector< App::IDocument * > &iDocVec, std::string category)=0 | 
| 根据分类返回子文档列表 | |
| virtual App::IDocument * | getDocumentById (std::string uuid)=0 | 
| 根据id获取对应子孙文档 | |
| virtual App::IDocument * | getDocumentByName (std::string name)=0 | 
| 根据名称获取对应子孙文档 | |
| virtual std::string | getDocumentId ()=0 | 
| 获取文档 ID | |
| virtual void | getDocumentObjects (std::vector< IDocumentObject * > &iObjVec) const =0 | 
| 获取文档对象 | |
| virtual void | getDocumentObjectsHasName (std::vector< App::IDocumentObject * > &iObjVec, const std::string &name) const =0 | 
| 获取具有特定名称的文档对象 | |
| virtual void | getDocumentType (DocType &type)=0 | 
| 获取当前文档的类型,并将类型信息赋值给传入的 DocType 变量 | |
| virtual const char * | getErrorDescription (const App::IDocumentObject *pIObject) const =0 | 
| 获取一个文档对象的错误描述 | |
| virtual const char * | getFileName () const =0 | 
| 返回文档路径 | |
| virtual std::string | getId ()=0 | 
| 获取文档id | |
| virtual void | getLinksTo (std::set< IDocumentObject * > &links, const IDocumentObject *obj, int options, int maxCount=0, const std::vector< IDocumentObject * > &objs={}) const =0 | 
| 返回所给对象的全部链接 | |
| virtual Base::Placement | getLocalPlacement () const =0 | 
| 文档局部位置获取 | |
| virtual const char * | getName () const =0 | 
| 返回文档的内部名称 | |
| virtual IDocumentObject * | getObject (const char *Name, bool findInLinkedPart=false) const =0 | 
| 根据名称得到对应的对象 | |
| virtual IDocumentObject * | getObjectById (long id, bool findInLinkedPart=false) const =0 | 
| 根据id获取对象 | |
| virtual const AppDocObserverDelegate * | getObserverDelegate ()=0 | 
| 获取文档观察者代理 | |
| virtual App::IDocument * | getParentDocument ()=0 | 
| 返回文档的父文档 | |
| virtual App::IDocument * | getParentDocumentByType (const std::string &parentClassTypeId)=0 | 
| 根据传入类型返回文档的父文档 | |
| virtual std::vector< IDocument * > | getPartMaps ()=0 | 
| 获取子文档对象数组 | |
| virtual Base::Placement | getPlacement () const =0 | 
| 文档位置获取 | |
| virtual const char * | getProgramVersion () const =0 | 
| 获取创建文档时使用的程序版本 | |
| virtual IPropertyAccessor * | getPropertyAccessor ()=0 | 
| 获取属性访问器 | |
| virtual int | getRefCount ()=0 | 
| 返回引用计数 | |
| virtual App::IDocument * | getRootDocument ()=0 | 
| 返回文档的父文档 | |
| virtual void | getRootObjects (std::vector< App::IDocumentObject * > &iObjVec) const =0 | 
| 获取文档中的根对象并将它们存储在一个向量中 | |
| virtual void | getSubDocument (std::set< App::IDocument * > &docSet)=0 | 
| 返回子文档列表 | |
| virtual std::string | getTemplateDirName (const std::string &uuid)=0 | 
| 创建目录名称 | |
| virtual int | getTransactionID (bool undo, unsigned pos=0) const =0 | 
| 返回从后面开始的撤消/重做事务ID | |
| virtual std::string | getTransientDirectoryName (const std::string &uuid, const std::string &filename) const =0 | 
| 创建临时目录名称 | |
| virtual std::string | getUniqueObjectName (const char *Name) const =0 | 
| 根据输入名字获取唯一的名称 | |
| virtual bool | hasPendingTransaction () const =0 | 
| 检查事务是否打开 | |
| virtual void | importFile (const char *partFileName, bool dofinishRestore=true)=0 | 
| 导入文档 | |
| virtual std::vector< App::IDocumentObject * > | importLinks (const std::vector< App::IDocumentObject * > &objs={})=0 | 
| 导入链接 | |
| virtual bool | isClosable () const =0 | 
| 检查文档是否可以关闭 | |
| virtual bool | isPerformingTransaction () const =0 | 
| 检查文档是否处于事务阶段 | |
| virtual bool | isSaved () const =0 | 
| 文档是不是已经保存了 | |
| virtual bool | isTransactionEmpty () const =0 | 
| 检查事务是否打开且其列表为空 | |
| virtual void | locateObjs ()=0 | 
| 更新App::IDocument位置 | |
| virtual IDocumentObject * | moveObject (IDocumentObject *obj, bool recursive=false)=0 | 
| 负责移动一个文档对象,并返回移动后的对象 | |
| virtual void | openTransaction (const char *name=nullptr)=0 | 
| 提交Command事务。 | |
| virtual void | paramterNewObject (const std::map< std::string, boost::any > &data) | 
| 通过参数列表创建新对象 | |
| virtual void | purgeTouched ()=0 | 
| 删除所有修改。调用后,文档再次变为有效。 | |
| virtual int | recomputeDocument (const std::vector< App::IDocumentObject * > &objs={}, bool force=false, bool *hasError=nullptr, int options=0)=0 | 
| 重新计算文档 | |
| virtual void | removeAllObjects ()=0 | 
| 删除所有对象 | |
| virtual void | removeChildDocument (IDocument *pChildDoc)=0 | 
| 删除子文档 | |
| virtual void | removeObject (const char *sName)=0 | 
| 删除对象 | |
| virtual bool | save (bool saveSub=true)=0 | 
| 保存文档 | |
| virtual bool | saveAs (const char *file, bool saveSub=true)=0 | 
| 另存为文档 | |
| virtual void | setActiveIDocument (App::IDocument *pObj) | 
| 设置活动的零件 | |
| virtual void | setDocCategory (std::string category)=0 | 
| 设置文档分类 | |
| virtual void | setDocumentLabel (const std::string &labelName)=0 | 
| 设置文档标签 | |
| virtual void | setDocumentName (const char *name)=0 | 
| 设置文档名称 | |
| virtual void | setFileName (std::string filename)=0 | 
| 设置文档名称 | |
| virtual void | setId (std::string id)=0 | 
| 设置文档id | |
| virtual void | setLocalPlacement (Base::Placement placement)=0 | 
| 文档局部位置设置 | |
| virtual void | setObserverDelegate (AppDocObserverDelegate *pObsDelegate)=0 | 
| 设置文档观察者代理 | |
| virtual void | setPlacement (Base::Placement placement)=0 | 
| 文档位置设置 | |
| virtual void | setRootIDocument (App::IDocument *doc)=0 | 
| 将一个给定的文档设置为当前文档的根文档 | |
| virtual void | setUndoMode (int iMode)=0 | 
| 设置切换“撤消/重做”级别 | |
| virtual void | topologicalSort (std::vector< App::IDocumentObject * > &docVec) const =0 | 
| 对文档中的对象进行拓扑排序,并将排序后的对象存储在一个 std::vector 中 | |
| virtual | ~IDocument () | 
| 静态 Public 成员函数 | |
| static IDocument * | create (const char *pName, IDocument *pProduct=nullptr, const char *pAppDocDelegateName=nullptr, const char *pUserName=nullptr, DocType type=DocType::Component, bool createView=true, bool tempDoc=false) | 
| 创建一个新文档 | |
| static IDocument * | create (const char *pName, IDocument *pProduct=nullptr, const char *pUserName=nullptr, bool createView=true, bool tempDoc=false, DocType type=DocType::Component) | 
| 创建一个新文档 | |
| static IDocument * | loadFile (const char *pPath, IDocument *pProduct=nullptr, const char *pAppDocDelegateName=nullptr, DocType type=DocType::Component, bool createView=true, bool tempDoc=false) | 
| 加载一个文档 | |
文档接口类
提供文档的创建、加载、保存、对象管理等功能。