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 中设置和管理对象的常见显示属性:

设置对象颜色:
cpp 复制代码
// 创建 AIS_InteractiveObject 对象,这里假设已经创建或获取了该对象
Handle<AIS_InteractiveObject> interactiveObject = ...;

// 设置颜色
Quantity_Color color(Quantity_NOC_RED); // 选择红色
myAISContext->SetColor(interactiveObject, color, Standard_True); // 设置对象颜色并更新视图
设置对象透明度:
cpp 复制代码
// 创建 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); // 设置对象透明度并更新视图
设置对象材质:
cpp 复制代码
// 创建 AIS_InteractiveObject 对象
Handle<AIS_InteractiveObject> interactiveObject = ...;

// 设置材质
Graphic3d_MaterialAspect material(Graphic3d_NOM_BRASS); // 选择黄铜材质
myAISContext->SetMaterial(interactiveObject, material, Standard_True); // 设置对象材质并更新视图
设置多边形偏移:
cpp 复制代码
// 创建 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); // 设置多边形偏移并更新视图
检查对象是否具有多边形偏移:
cpp 复制代码
// 创建 AIS_InteractiveObject 对象
Handle<AIS_InteractiveObject> interactiveObject = ...;

// 检查对象是否具有多边形偏移
Standard_Boolean hasOffsets = myAISContext->HasPolygonOffsets(interactiveObject);

这些示例演示了如何使用 OpenCascade 中的 AIS_InteractiveContext 类来设置和管理对象的颜色、透明度、材质和多边形偏移等显示属性。在实际应用中,可以根据具体需求选择合适的属性和参数进行设置,并通过 Standard_True 参数确保更新视图以反映更改。

来源:网址

继续trihedron display attributes

相关推荐
星星火柴93615 分钟前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
小狗爱吃黄桃罐头17 分钟前
正点原子【第四期】Linux之驱动开发篇学习笔记-1.1 Linux驱动开发与裸机开发的区别
linux·驱动开发·学习
艾莉丝努力练剑1 小时前
【洛谷刷题】用C语言和C++做一些入门题,练习洛谷IDE模式:分支机构(一)
c语言·开发语言·数据结构·c++·学习·算法
7723891 小时前
解决 Microsoft Edge 显示“由你的组织管理”问题
前端·microsoft·edge
cpsvps2 小时前
美国服务器环境下Windows容器工作负载基于指标的自动扩缩
windows
武昌库里写JAVA2 小时前
JAVA面试汇总(四)JVM(一)
java·vue.js·spring boot·sql·学习
杜子不疼.3 小时前
《Python学习之字典(一):基础操作与核心用法》
开发语言·python·学习
小幽余生不加糖3 小时前
电路方案分析(二十二)适用于音频应用的25-50W反激电源方案
人工智能·笔记·学习·音视频
..过云雨4 小时前
01.【数据结构-C语言】数据结构概念&算法效率(时间复杂度和空间复杂度)
c语言·数据结构·笔记·学习
myzzb4 小时前
基于uiautomation的自动化流程RPA开源开发演示
运维·python·学习·算法·自动化·rpa