当前位置: 首页 > 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及其父类并没有太多的属性用于表征业务相关数据,那SALOMEs是如何抽象、关联底层业务数据的呢?

网络资料

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

http://www.mrgr.cn/news/100898.html

相关文章:

  • 【统计方法】方差分析(ANOVA):判断数据差异的统计方法
  • 【AI面试准备】负责所有Al产品的模型能力评估及测试,保障AI产品的质量
  • 连接linux虚拟机并运行C++【从0开始】
  • (34)VTK C++开发示例 ---将图片映射到平面
  • ZYNQB笔记(十六):AXI DMA 环路测试
  • 前端HTML基础知识
  • 【AI面试准备】深度学习、大模型原理,算法项目经验
  • C++11新的特性
  • Linux 环境下 Mysql 5.7 数据定期备份
  • ADG网络故障恢复演练
  • Pinia: vue3状态管理
  • (33)VTK C++开发示例 ---图片转3D
  • winget安装+使用
  • LeetCode —— 572. 另一棵树的子树
  • 在QGraphicsView中精确地以鼠标为锚缩放图片
  • 无缝监控:利用 AWS X-Ray 增强 S3 跨账户复制的可见性
  • 驱动开发系列55 - Linux Graphics QXL显卡驱动代码分析(二)显存管理
  • Being-0——集操作、导航、运动为一体的机器人Agent框架:GPT4o高层感知并推理规划、低层VLM导航适配,最终执行技能库
  • 【AI面试准备】模型自动化评估
  • mysql-窗口函数一