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

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.dtcms.com/a/168460.html

相关文章:

  • Android WebView加载h5打开麦克风与摄像头的权限问题
  • 学习记录:DAY22
  • 仙盟创梦IDE-智能编程,编程自动备份+编程审计
  • OnlyOffice Document Server 源码调试指南-ARM和x86双模式安装支持
  • 软连接和硬连接【Linux操作系统】
  • iO(不可区分混淆)是Web3隐私的圣杯?
  • AntSK:基于大模型的一体化AI知识库解决方案深度解析
  • Elasticsearch 常用的 API 接口
  • 【android Framework 探究】pixel 5 内核编译
  • jdk8之后都有什么优化单例的方式
  • 第 12 届蓝桥杯 C++ 青少组中 / 高级组省赛 2021 年 4 月 24 日真题(选择题)
  • GoogleTest:TEST_F
  • php artisan resetPass 执行密码重置失败的原因?php artisan resetPass是什么 如何使用?-优雅草卓伊凡
  • 基于C++、JsonCpp、Muduo库实现的分布式RPC通信框架
  • 安妮推广导航系统开心版多款主题网址推广赚钱软件推广变现一键统计免授权源码Annie
  • 【SpringBoot】Spring中事务的实现:声明式事务@Transactional、编程式事务
  • 基于RT-Thread的STM32开发第一讲——USART
  • Java学习手册:Spring Security 安全框架
  • [javaEE]网络编程
  • python设置word字体的方法
  • linux进程的复制和替换
  • Cherry Studio的MCP协议集成与应用实践:从本地工具到云端服务的智能交互
  • Spring AI:简化人工智能功能应用程序开发
  • 数字时代,如何为个人信息与隐私筑牢安全防线?
  • Linux系统安装方式+适合初学者的发行版本
  • Python项目源码63:病历管理系统1.0(tkinter+sqlite3+matplotlib)
  • 泰迪杯特等奖案例学习资料:基于边缘计算与多模态融合的温室传感器故障自诊断系统设计
  • BBR 之 ProbeRTT 新改
  • 基于随机森林的糖尿病预测模型研究应用(python)
  • 颠覆者DeepSeek:从技术解析到实战指南——开源大模型如何重塑AI生态