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.pswp.cn/diannao/81391.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/81391.shtml
英文地址,請注明出處:http://en.pswp.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;&…