opencascade AIS_InteractiveContext源碼學習7 debug visualization

AIS_InteractiveContext

在這里插入圖片描述

前言

交互上下文(Interactive Context)允許您在一個或多個視圖器中管理交互對象的圖形行為和選擇。類方法使這一操作非常透明。需要記住的是,對于已經被交互上下文識別的交互對象,必須使用上下文方法進行修改。如果交互對象尚未加載到交互上下文中,您才能直接調用交互對象的方法。

debug visualization “調試可視化”

1:DisplayActiveSensitive
重載1

“返回特定類型(WhichKind)和簽名(WhichSignature)的顯示對象列表。默認情況下,WhichSignature 等于 -1,這意味著只檢查類型。”

重載2

“給出特定類型和簽名的顯示對象列表。默認情況下, = -1 表示僅控制 。”

2:ClearActiveSensitive

“清晰呈現敏感信息。”

common object display attributes

common object display attributes 常見的對象顯示屬性
1:SetLocalAttributes

“設置交互對象的圖形屬性,例如可視化模式、顏色和材質。”

2:UnsetLocalAttributes

“移除對象的局部屬性設置并恢復默認設置。”

3:SetCurrentFacingModel

修改當前的面向模型,應用于 SetColor()、SetTransparency()、SetMaterial() 方法。默認的面向模型是 Aspect_TOFM_TWO_SIDE,這意味著屬性同時應用于正面和背面。

4:HasColor

如果交互對象的視圖具有顏色,則返回 true。

5:Color

在交互上下文中返回對象的顏色。

6:SetColor

Sets the color of the selected entity.

7:UnsetColor

移除所選實體的顏色選擇。

8: Width

在交互上下文中返回交互對象的寬度。

9:SetWidth

在交互上下文中設置交互對象的寬度。

10:UnsetWidth

移除對象的寬度設置。

11:SetMaterial

設置材質

12:UnsetMaterial

取消材質

13:SetTransparency

設置透明度

14:UnsetTransparency

取消透明度

15:SetPolygonOffsets

為給定的 AIS_InteractiveObject 設置多邊形偏移。它簡單地調用 AIS_InteractiveObject::SetPolygonOffsets()。

16:HasPolygonOffsets

簡單調用 AIS_InteractiveObject::HasPolygonOffsets()。

17:PolygonOffsets

檢索對象的當前多邊形偏移設置。

簡單示例

以下是示例,展示如何在 OpenCascade 中設置和管理對象的常見顯示屬性:

設置對象顏色:
// 創建 AIS_InteractiveObject 對象,這里假設已經創建或獲取了該對象
Handle<AIS_InteractiveObject> interactiveObject = ...;// 設置顏色
Quantity_Color color(Quantity_NOC_RED); // 選擇紅色
myAISContext->SetColor(interactiveObject, color, Standard_True); // 設置對象顏色并更新視圖
設置對象透明度:
// 創建 AIS_InteractiveObject 對象
Handle<AIS_InteractiveObject> interactiveObject = ...;// 設置透明度值(范圍從 0.0 到 1.0,0.0 表示不透明,1.0 表示完全透明)
Standard_Real transparencyValue = 0.5; // 設置為半透明
myAISContext->SetTransparency(interactiveObject, transparencyValue, Standard_True); // 設置對象透明度并更新視圖
設置對象材質:
// 創建 AIS_InteractiveObject 對象
Handle<AIS_InteractiveObject> interactiveObject = ...;// 設置材質
Graphic3d_MaterialAspect material(Graphic3d_NOM_BRASS); // 選擇黃銅材質
myAISContext->SetMaterial(interactiveObject, material, Standard_True); // 設置對象材質并更新視圖
設置多邊形偏移:
// 創建 AIS_InteractiveObject 對象
Handle<AIS_InteractiveObject> interactiveObject = ...;// 設置多邊形偏移參數
Standard_Integer mode = 1; // 設置偏移模式
Standard_ShortReal factor = 0.1; // 設置偏移因子
Standard_ShortReal units = 0.1; // 設置偏移單位myAISContext->SetPolygonOffsets(interactiveObject, mode, factor, units, Standard_True); // 設置多邊形偏移并更新視圖
檢查對象是否具有多邊形偏移:
// 創建 AIS_InteractiveObject 對象
Handle<AIS_InteractiveObject> interactiveObject = ...;// 檢查對象是否具有多邊形偏移
Standard_Boolean hasOffsets = myAISContext->HasPolygonOffsets(interactiveObject);

這些示例演示了如何使用 OpenCascade 中的 AIS_InteractiveContext 類來設置和管理對象的顏色、透明度、材質和多邊形偏移等顯示屬性。在實際應用中,可以根據具體需求選擇合適的屬性和參數進行設置,并通過 Standard_True 參數確保更新視圖以反映更改。
來源:網址
繼續trihedron display attributes

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/39423.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/39423.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/39423.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【問題已解決】Vue管理后臺,點擊登錄按鈕,會發起兩次網絡請求(竟然是vscode Compile Hero編譯插件導致的)

問題 VueElement UI 做的管理后臺&#xff0c;點擊登錄按鈕&#xff0c;發現 接口會連續掉兩次&#xff0c;發起兩次網絡請求&#xff0c;但其他接口都是正常調用的&#xff0c;沒有這個問題&#xff0c;并且登錄按鈕也加了loading&#xff0c;防止重復點擊&#xff0c;于是開…

搜索引擎常用語法

引號 (" "): 用雙引號將詞組括起來&#xff0c;搜索引擎將返回包含完全相同短語的結果。 示例&#xff1a;"人工智能發展趨勢" 減號 (-): 在關鍵詞前加上減號可以排除包含特定詞語的結果。 示例&#xff1a;人工智能 -機器學習&#xff08;排除包含 “機器…

樸素貝葉斯解密:sklearn中的分類器工作原理

&#x1f4da; 樸素貝葉斯解密&#xff1a;sklearn中的分類器工作原理 在機器學習領域&#xff0c;樸素貝葉斯分類器因其簡單、高效而廣受歡迎。特別是在處理大量特征數據時&#xff0c;樸素貝葉斯表現出了卓越的性能。scikit-learn&#xff08;簡稱sklearn&#xff09;是Pyth…

JavaMySQL 學習(基礎)

目錄 Java CMD Java發展 計算機存儲規則 Java學習 switch新用法&#xff08;可以當做if來使用&#xff09; 數組定義 隨機數 Java內存分配 MySQL MySQL概述 啟動和停止 客戶端連接 數據模型 關系型數據庫 SQL SQL通用語法 SQL分類 DDL--數據定義語言 數據庫…

瀏覽器開發者工具輔助爬蟲開發

文章目錄 瀏覽器開發者工具輔助爬蟲開發打開開發者工具使用Network面板分析請求數據示例步驟&#xff1a; 使用Elements面板查看和修改DOM結構示例步驟&#xff1a; 使用Console面板調試JavaScript代碼示例步驟&#xff1a;示例代碼&#xff1a;1. 輸出日志信息2. 輸出對象信息…

Vue 與 React 區別

Vue.js和React是現代Web開發中兩種非常流行的前端框架&#xff0c;兩者在**核心概念、組件以及生態系統擴展性**等方面存在區別。具體分析如下&#xff1a; 1. **核心概念** - **Vue**&#xff1a;Vue是一個漸進式JavaScript框架&#xff0c;它致力于視圖層&#xff0c;易于上手…

左值右值, 左值引用右值引用,完美轉發

一. 左值和右值 左值: 可以取地址的對象 右值: 不可以取地址的對象 double x1.0, y 2.0; 1; // 字面量, 不可取地址, 是右值 x y; // 表達式返回值, 不可取地址, 是右值 max(x, y); // 傳值返回函數的返回值 (非引用返回)總結就是: 根據是否可以取地址來區分是左值還…

線程池666666

1. 作用 線程池內部維護了多個工作線程&#xff0c;每個工作線程都會去任務隊列中拿取任務并執行&#xff0c;當執行完一個任務后不是馬上銷毀&#xff0c;而是繼續保留執行其它任務。顯然&#xff0c;線程池提高了多線程的復用率&#xff0c;減少了創建和銷毀線程的時間。 2…

git修改已提交的commit注釋

在Git中修改已經提交的commit注釋通常有以下幾種情況和相應的方法&#xff1a; 1. 修改最后一次提交的注釋&#xff08;快速修正&#xff09; 如果你想要修改的是最后一次提交的注釋&#xff0c;可以使用 --amend 選項&#xff1a; git commit --amend這個命令會將你的暫存區…

基于深度學習的光度檢測

基于深度學習的光度檢測&#xff08;Photometric Detection&#xff09;涉及從圖像中檢測和分析光照信息&#xff0c;用于多種應用&#xff0c;如場景理解、照明調節、增強現實&#xff08;AR&#xff09;、圖像增強等。以下是關于這一領域的系統介紹&#xff1a; 1. 任務和目…

JAVA基礎教程DAY1-類與方法及形參實參

首先經過C語言的學習&#xff0c;我們已經學會了基本的編程方法&#xff0c;我們知道C語言是面向過程的編程語言&#xff0c;而JAVA是面向對象的編程語言&#xff0c;所以接下來我們通過對比和舉例來進行JAVA語言的學習 首先我們來講類的概念 類&#xff1a;類是一個模板&…

Ubuntu開通5005端口 記錄

Ubuntu版本&#xff1a;20.04 使用systemctl status firewalld查看防火墻狀態&#xff0c;報錯Unit firewalld.service could not be found 報錯的原因是沒有安裝firewall&#xff0c;安裝命令為sudo apt install firewalld&#xff0c;然后進行安裝 安裝完成后輸入systemctl…

vscode jupyter選擇Python環境時找不到我安裝的Python

在一些情況下&#xff0c;我們需要自己安裝一個Python&#xff0c;在選擇內核是可能找不到指定的Python版本&#xff0c; 再次打開內核選擇頁面就能看到Python環境了 注意先到指定環境下安裝依賴包&#xff1a; ./python3 pip install ipykernel notebook jupyter

人工智能-NLP簡單知識匯總01

人工智能-NLP簡單知識匯總01 1.1自然語言處理的基本概念 自然語言處理難點&#xff1a; 語音歧義句子切分歧義詞義歧義結構歧義代指歧義省略歧義語用歧義 總而言之&#xff1a;&#xff01;&#xff01;語言無處不歧義 1.2自然語言處理的基本范式 1.2.1基于規則的方法 通…

[DataWhale大模型應用開發]學習筆記1-嘗試搭建向量數據庫

1.詞向量 1.定義 詞向量&#xff08;Word Vector&#xff09;是將單詞表示為向量形式的技術&#xff0c;是自然語言處理&#xff08;NLP&#xff09;中的一種常用方法。通過將單詞轉化為向量&#xff0c;計算機能夠更好地理解和處理語言。簡單來說&#xff0c;詞向量就是將單…

Windows系統安裝NVM,實現Node.js多版本管理

目錄 一、前言 二、NVM簡介 三、準備工作 1、卸載Node 2、創建文件夾 四、下載NVM 五、安裝NVM 六、使用NVM 1、NVM常用操作命令 2、查看NVM版本信息 3、查看Node.js版本列表&#xff1b; 4、下載指定版本Node.js 5、使用指定版本Node.js 6、查看已安裝Node.js列…

深度學習賦能數據分析,聯蔚盤云引領業務革新

一、引言 隨著大數據時代的到來&#xff0c;深度學習技術正逐漸成為企業數據分析的新引擎。聯蔚盤云憑借其在深度學習領域的深厚積累&#xff0c;為企業提供高效、精準的數據分析解決方案&#xff0c;助力企業實現業務革新與增長。 二、深度學習與數據分析的完美結合 聯蔚盤…

【區塊鏈+基礎設施】國家健康醫療大數據科創平臺 | FISCO BCOS應用案例

在醫療領域&#xff0c;疾病數據合法合規共享是亟待解決的難題。一方面&#xff0c;當一家醫院對患者實施治療后&#xff0c;若患者轉到其 他醫院就醫&#xff0c;該醫院就無法判斷診療手段是否有效。另一方面&#xff0c;醫療數據屬于個人敏感數據&#xff0c;一旦被泄露或被惡…

一個能讓渲染性能提高100倍的辦法

GPU 光線追蹤是當今的熱門話題&#xff0c;所以讓我們來談談它&#xff01;今天我們將光線追蹤一個單個球體。 使用片段著色器。 是的&#xff0c;我知道。并不特別花哨。你可以在 Shadertoy 上搜索并獲得數百個示例(https://www.shadertoy.com/results?querysphere)。甚至已…

在 Excel 中的單元格內開始一行新文本

若要在工作表單元格中開始一行新的文本或在文本的行或段之間添加間距&#xff0c;請按 AltEnter 插入換行符。 雙擊要插入換行符的單元格。 單擊所選單元格內想換行的位置。 按 AltEnter 插入換行符。