当前位置: 首页 > news >正文

SALOME源码分析: Data Object Model

本文以纪要的形式分析SALOME 中业务数据组织的相关内容,涉及的知识点包括,

  • 数据对象模型

  • 命令系统
    在这里插入图片描述

  • 注1:限于研究水平,分析难免不当,欢迎批评指正。

  • 注2:文章内容会不定期更新。

一、数据对象

1.1 Class Hierarchy

在这里插入图片描述

1.2 SUIT_DataObject

SUIT_DataObject
-SUIT_DataObject* myParent
-bool myOpen
-bool myCheck
-bool myAutoDel
-DataObjectList myChildren
-bool _modified
-static Signal* mySignal
+root()
+lastChild()
+firstChild()
+childCount() : int
+childPos(const SUIT_DataObject*) : int
+moveChildPos(SUIT_DataObject*, int) : void
+childObject(const int)
+level() : int
+position() : int
+setPosition(int) : void
+nextBrother()
+prevBrother()
+autoDeleteChildren() : bool
+setAutoDeleteChildren(const bool) : void
+children(DataObjectList&, const bool = false) : void
children(const bool = false) : DataObjectList
+appendChild(SUIT_DataObject*) : void
+insertChild(SUIT_DataObject*, int) : void
+removeChild(SUIT_DataObject*, const bool = false) : void
+replaceChild(SUIT_DataObject*, SUIT_DataObject*, const bool = false) : void
+reparentChildren(const SUIT_DataObject*) : void
+parent()
+setParent(SUIT_DataObject*) : void
+assignParent(SUIT_DataObject*) : void
+insertChildAtPos(SUIT_DataObject* obj, int position) : void
+modified() : bool
+setModified(bool modified) : void
+name() : QString
+text(const int = NameId) : QString
+icon(const int = NameId) : QPixmap
+color(const ColorRole, const int = NameId) : QColor
+toolTip(const int = NameId) : QString
+statusTip(const int = NameId) : QString
+whatsThis(const int = NameId) : QString
+font(const int = NameId) : QFont
+alignment(const int = NameId) : int
+expandable() : bool
+isVisible() : bool
+isDraggable() : bool
+isDropAccepted() : bool
+isEnabled() : bool
+isSelectable() : bool
+isCheckable(const int = NameId) : bool
+renameAllowed(const int = NameId) : bool
+setName(const QString& name) : bool
+isOn(const int = NameId) : bool
+setOn(const bool, const int = NameId) : void
+isOpen() : bool
+setOpen(const bool) : void
+update() : void
+customSorting(const int = NameId) : bool
+compare(const QVariant&, const QVariant&, const int = NameId) : bool
+key()
+groupId() : int
+customData(Qtx::CustomDataType type) : QVariant
signal()
connect(const char*, QObject*, const char*)
disconnect(const char*, QObject*, const char*)
+deleteLater() : void
+dump(const int indent = 2) : void

1.3 CAM_DataObject

1.4 LightApp_DataObject

二、文档对象

2.1 Class Hierarchy

在这里插入图片描述

2.2 SUIT_Study

2.3 CAM_Study

2.4 LightApp_Study

三、应用对象

3.1 Class Hierarchy

在这里插入图片描述

3.2 SUIT_Application

四、关键流程

4.1 打开与保存文档

4.2 创建数据对象

五、FAQs

Q1: LightApp_DataObject作为SALOME轻量应用的主要使用数据对象,但是却并没有太多的属性表征业务相关数据,那SALOMEs是如何抽象、关联底层业务数据的呢?

网络资料

  • SALOME Study management
  • SALOME源码分析:GUI模块
  • SALOME源码分析:GEOM模块

相关文章:

  • JavaScript学习教程,从入门到精通, jQuery 下拉菜单、显示隐藏元素及查找元素方法详解(32)
  • 如何将 VS Code 与 Linux 系统高效连接:从入门到进阶
  • 归因理论——AI与思维模型【87】
  • RAG技术完全指南(一):检索增强生成原理与LLM对比分析
  • 第 2.3 节: 基于 Python 的关节空间与任务空间控制
  • MATLAB中removedelay函数用法
  • Android短信监控技术实现:合法合规的远程采集方案
  • 【AI论文】ReasonIR:为推理任务训练检索器
  • 【Unity】一个UI框架例子
  • 【C到Java的深度跃迁:从指针到对象,从过程到生态】第五模块·生态征服篇 —— 第十九章 Spring生态:从main函数到企业级开发
  • Spring IoC容器的设计与实现
  • 数字智慧方案6158丨智慧医疗解决方案精华版(58页PPT)(文末有下载方式)
  • 【音频】Qt6实现MP3播放器
  • Seata服务端同步提交事务核心源码解析
  • 【音频】基础知识
  • AI数字人系统开发:技术架构、应用场景与未来趋势
  • 西式烹饪实训室建设路径
  • 图论---有向图的强连通分量(Tarjan求SCC)
  • 内存安全的攻防战:工具链与语言特性的协同突围
  • 【docker学习笔记】如何删除镜像启动默认命令
  • 美乌矿产协议预计最早于今日签署
  • 解放日报:这是一场需要定力和实力的“科技长征”
  • 复星医药换帅:陈玉卿接棒吴以芳任董事长,吴以芳改任复星国际执行总裁
  • 扎克伯格怕“错过风口”?Meta AI数字伴侣被允许与未成年人讨论不当话题
  • 消费维权周报|上周违规经营类投诉较多,涉诱导加盟等
  • 新任浙江省委常委、杭州市委书记刘非开展循迹溯源学习调研