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