SALOME源码分析: 命令系统

本文分析SALOME中命令系统,涉及的知识点包括,

  • MDF框架
  • 数据对象模型

在这里插入图片描述

  • 注1:限于研究水平,分析难免不当,欢迎批评指正。
  • 注2:文章内容会不定期更新。

一、命令对象

1.1 Class Hierarchy

在这里插入图片描述

1.2 SUIT_Operation

SUIT_Operation
-SUIT_Application* myApp
-int myFlags
-StudyPtr myStudy
-OperationState myState
-ExecStatus myExecStat
+state() : OperationState
+isActive() : bool
+isRunning() : bool
+study()
+setStudy(SUIT_Study* theStudy) : void
+application()
+setApplication(SUIT_Application* theApp) : void
+isValid(SUIT_Operation* theOtherOp) : bool
+isGranted() : bool
+setSlot(const QObject* theReceiver, const char* theSlot) : bool
+setFlags(const int) : void
+clearFlags(const int) : void
+testFlags(const int) : bool
+operationName() : QString
+execStatus() : int
#isReadyToStart() : bool
#stopOperation() : void
#startOperation() : void
#abortOperation() : void
#commitOperation() : void
#resumeOperation() : void
#suspendOperation() : void
#openTransaction() : void
#abortTransaction() : void
#hasTransaction() : bool
#commitTransaction(const QString&) : void
#setExecStatus(const int) : void
#setState(const OperationState) : void
#start(SUIT_Operation*, const bool) : void
+start() : void
+abort() : void
+commit() : void
+resume() : void
+suspend() : void

二、文档对象

2.1 Class Hierarchy

在这里插入图片描述

2.2 SUIT_Study

SUIT_Study
-int myId
-SUIT_Application* myApp
-SUIT_DataObject* myRoot
-QString myName
-bool myIsSaved
-bool myIsModified
-Operations myOperations
-bool myBlockChangeState
+id() : int
+root()
+studyName() : QString
+application()
+isSaved() : bool
+isModified() : bool
+Modified() : void
+closeDocument(bool) : void
+openDocument(const QString&) : bool
+createDocument(const QString&) : bool
+saveDocument() : bool
+saveDocumentAs(const QString&, bool isBackup) : bool
+update() : void
+sendChangesNotification() : void
+activeOperation()
+abortAllOperations() : void
+operations()
+blockingOperation(SUIT_Operation*)
+start(SUIT_Operation*, const bool check) : bool
+abort(SUIT_Operation*) : bool
+commit(SUIT_Operation*) : bool
+suspend(SUIT_Operation*) : bool
+resume(SUIT_Operation*) : bool
+restoreState(int savePoint) : void
#setIsSaved(const bool) : void
#setIsModified(const bool) : void
#setRoot(SUIT_DataObject*) : void
#setStudyName(const QString&) : void
#operationStarted(SUIT_Operation*) : void
#operationAborted(SUIT_Operation*) : void
#operationStopped(SUIT_Operation*) : void
#operationCommited(SUIT_Operation*) : void
#openTransaction() : bool
#abortTransaction() : bool
#hasTransaction() : bool
#commitTransaction(const QString&) : virtual bool

三、关键流程

四、FAQs

网络资料

  • OCC 3D Viewer
  • VTK 3D Viewer

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/81391.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Bootstrap(自助法)​​:无需假设分布的统计推断工具

核心思想​​ Bootstrap 是一种​​重采样(Resampling)技术​​,通过在原始数据中​​有放回地重复抽样​​,生成大量新样本集,用于估计统计量(如均值、方差)的分布或模型性能的不确定性。 ​​…

沙箱逃逸(Python沙盒逃逸深度解析)

沙箱逃逸(Python沙盒逃逸深度解析) 一、沙盒逃逸的核心目标 执行系统命令 通过调用os.system、subprocess.Popen等函数执行Shell命令,例如读取文件或反弹Shell。 文件操作 读取敏感文件(如/etc/passwd)、写入后门文件…

融智学数学符号体系的系统解读(之一)

融智学数学符号体系的系统解读 一、道函数(Dao Function) 数学表达式: f(x,y,z)0(狭义) f(x,y,z,ict)0(广义) 符号解析: x: 形象思维坐标轴 数学意义: 表征基于感官输入的多模…

Java 中使用正则表达式

1. 引入包 在使用正则表达式之前,需要引入包: import java.util.regex.Matcher; import java.util.regex.Pattern; 2. 常用模式规则 元字符 :这些是正则表达式中的特殊字符,用于匹配特定的模式。 . :匹配任意单个字符(换行符除外)。例如,a.b 可以匹配 "acb&quo…

cat file.tar.gz | tar -xzf - -C /target/dir两个减号之间为什么有个空格?是写错了吗?(管道命令后续)

在 tar 命令的参数 -xzf - -C 中,两个减号(-)之间的空格是故意保留的语法,没有写错。具体原因如下: 1. -xzf - 的语法解析 -xzf 是 tar 命令的组合参数: x:表示解压(extract&#x…

Linux中的系统延时任务和定时任务与时间同步服务和构建时间同步服务器

延时任务 在系统中我们的维护工作大多数时在服务器行对闲置时进行 我们需要用延迟任务来解决自动进行的一次性的维护 延迟任务时一次性的,不会重复执行 当延迟任务产生输出后,这些输出会以邮件的形式发送给延迟任务发起者 在RHEL9中默认系统中的所有普通…

C++之IO流

目录 一、C语言的输入与输出 二、流是什么 三、CIO流 3.1、C标准IO流 3.2、C文件IO流 四、stringstream的简单介绍 一、C语言的输入与输出 C语言中我们用到的最频繁的输入输出方式就是scanf ()与printf()。 scanf(): 从标准输入设备(键盘)读取数据,并将值存放…

Fedora升级Google Chrome出现GPG check FAILED问题解决办法

https://dl.google.com/linux/linux_signing_key.pub 的 GPG 公钥(0x7FAC5991)已安装 https://dl.google.com/linux/linux_signing_key.pub 的 GPG 公钥(0xD38B4796)已安装 仓库 "google-chrome" 的 GPG 公钥已安装,但是不适用于此软件包。 请检查此仓库的…

极光PDF编辑器:高效编辑,轻松管理PDF文档

在日常工作和学习中,PDF文件的使用越来越普遍。无论是学术论文、工作报告还是电子书籍,PDF格式因其稳定性和兼容性而被广泛采用。然而,编辑PDF文件往往比编辑Word文档更加复杂。今天,我们要介绍的 极光PDF编辑器,就是这…

MySQL进阶(一)

一、存储引擎 1. MySQL体系结构 连接层: 最上层是一些客户端和链接服务,主要完成一些类似于连接处理、授权认证、及相关的安全方案。服务器也会为安全接入的每个客户端验证它所具有的操作权限 服务层: 第二层架构主要完成大多数的核心服务…

OpenCV 图形API(67)图像与通道拼接函数-----水平拼接(横向连接)两个输入矩阵(GMat 类型)函数concatHor()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 该函数用于水平拼接两个 GMat 矩阵,要求输入矩阵的行数必须一致: GMat A { 1, 4,2, 5,3, 6 }; GMat B { 7, 10,8, 11,9, 12 }; GM…

1.1 点云数据获取方式——引言

图1-1-1点云建筑场景图 点云数据是指能够描述外部场景、对象表面的三维空间位置,并具有相关属性的点集,其每个离散点通常包括三维空间位置(x,y,z)以及强度、颜色等属性信息。大量分布的离散点集能够清晰而直接地描绘场景、对象的3…

[Verilog]跨时钟域数据传输解决方案

跨时钟域数据传输解决方案 摘要:跨时钟域数据传输 (Clock Domain Crossing, CDC) 是 SoC 设计中常见且关键的问题,因为现代 SoC 通常包含多个时钟域,不同模块可能运行在不同频率或相位的时钟下。跨时钟域传输数据时,如果处理不当,可能会导致亚稳态 (Metastability)…

Kotlin与Jetpack Compose的详细使用指南

Kotlin与Jetpack Compose的详细使用指南,综合最新技术实践和官方文档整理: 一、环境配置与基础架构 ‌项目创建‌ 在Android Studio中选择Empty Compose Activity模板,默认生成包含Composable预览的MainActivity2要求Kotlin版本≥1.8.0&…

预订接口优化:使用本地消息表保证订单生成、库存扣减的一致性

🎯 本文介绍了一种优化预订接口的方法,通过引入本地消息表解决分布式事务中的最终一致性问题。原先的实现是在一个事务中同时扣减库存和创建订单,容易因网络不稳定导致数据不一致。改进后的方法将业务操作和消息发送封装在本地事务中&#xf…

计算机网络——客户端/服务端,URI与URL的区别,以及TCP/IP核心机制全解析

文章目录 客户端/服务端,URI与URL的区别,以及TCP/IP核心机制全解析一、客户端/服务端通信模型概述二、URI 与 URL 的概念与区别1. URL(统一资源定位符)2. URI(统一资源标识符)3. URI 与 URL 的关系 三、SYN…

柔性PZT压电薄膜多维力传感器在微创手术机器人的应用

随着医疗技术的迅速发展,微创手术机器人正在成为外科手术的重要助手。与传统开放式手术相比,微创手术创伤小、恢复快、感染率低,对手术器械的精细操控性和感知能力提出了更高要求。多维力传感器作为机器人“触觉”的核心部件,对提…

SpringAI整合DeepSeek生成图表

利用Spring-ai-openai集成DeepSeek ①、在DeepSeek开放平台创建API KEY ②、创建springboot项目,引入spring-ai-openai依赖,创建配置文件,配置deepseek的url和api key ③、具体的实现业务应用 RestController public class ChatD…

xss-lab靶场基础详解第1~3关

第一关 我去&#xff0c;还是得多学基础啊 http://127.0.0.1/xss-labs/level1.php?name<u>a</u> 这个看他的网站源码&#xff0c;可以看到他没有过滤&#xff0c;没有被编码 然后在name<script>alert(1)</script>&#xff0c;就算过关了 第二关 …

【MySQL】聚合查询 和 分组查询

个人主页&#xff1a;♡喜欢做梦 欢迎 &#x1f44d;点赞 ➕关注 ❤️收藏 &#x1f4ac;评论 目录 &#x1f334; 一、聚合查询 &#x1f332;1.概念 &#x1f332;2.聚合查询函数 COUNT&#xff08;&#xff09; SUM&#xff08;&#xff09; AVG&#xff08;&…