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.mzph.cn/diannao/39423.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【问题已解决】Vue管理后台,点击登录按钮,会发起两次网络请求(竟然是vscode Compile Hero编译插件导致的)

问题 VueElement UI 做的管理后台&#xff0c;点击登录按钮&#xff0c;发现 接口会连续掉两次&#xff0c;发起两次网络请求&#xff0c;但其他接口都是正常调用的&#xff0c;没有这个问题&#xff0c;并且登录按钮也加了loading&#xff0c;防止重复点击&#xff0c;于是开…

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. 输出对象信息…

左值右值, 左值引用右值引用,完美转发

一. 左值和右值 左值: 可以取地址的对象 右值: 不可以取地址的对象 double x1.0, y 2.0; 1; // 字面量, 不可取地址, 是右值 x y; // 表达式返回值, 不可取地址, 是右值 max(x, y); // 传值返回函数的返回值 (非引用返回)总结就是: 根据是否可以取地址来区分是左值还…

线程池666666

1. 作用 线程池内部维护了多个工作线程&#xff0c;每个工作线程都会去任务队列中拿取任务并执行&#xff0c;当执行完一个任务后不是马上销毁&#xff0c;而是继续保留执行其它任务。显然&#xff0c;线程池提高了多线程的复用率&#xff0c;减少了创建和销毁线程的时间。 2…

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列…

【区块链+基础设施】国家健康医疗大数据科创平台 | FISCO BCOS应用案例

在医疗领域&#xff0c;疾病数据合法合规共享是亟待解决的难题。一方面&#xff0c;当一家医院对患者实施治疗后&#xff0c;若患者转到其 他医院就医&#xff0c;该医院就无法判断诊疗手段是否有效。另一方面&#xff0c;医疗数据属于个人敏感数据&#xff0c;一旦被泄露或被恶…

一个能让渲染性能提高100倍的办法

GPU 光线追踪是当今的热门话题&#xff0c;所以让我们来谈谈它&#xff01;今天我们将光线追踪一个单个球体。 使用片段着色器。 是的&#xff0c;我知道。并不特别花哨。你可以在 Shadertoy 上搜索并获得数百个示例(https://www.shadertoy.com/results?querysphere)。甚至已…

自研直播系统-直播系统实战

文章目录 1 流媒体基础本文教程下载地址1.1 流媒体1.2 流式传输方式1.2.1 顺序流式传输1.2.2 实时流式传输 1.3 流媒体传输协议1.3.1 rtmp协议1.3.2 HLS协议1.3.3 RTSP协议1.3.4 视频流的对比 1.4 视频编码(codec)1.5 分辨率的规范分辨率簡介&#xff1a;1.5.2 分辨率單位 1.6 …

聊聊etsy平台,一个年入百万的项目

聊聊etsy平台&#xff0c;一个年入百万的项目 什么是etsy,这是怎样一个平台&#xff0c;怎样盈利的&#xff1f;相信现在大家满脑子都是这些疑问。 这个平台也是无意间一个学员提到的&#xff0c;据说他朋友靠这个平台年赚好几百万。苦于门槛太高&#xff0c;他也做不了。今天…

重磅发布|WAIC 2024最新活动日程安排完整发布!

WAIC 2024 将于 7 月在上海世博中心和世博展览馆举行&#xff0c;论坛时间为 7 月 4 日至 6 日&#xff0c;展览时间为 7 月 4 日至 7 日。会议涵盖 AI 伦理治理、大模型、具身智能、投融资、教育人才等重点话题&#xff0c;体现 AI 向善等价值导向&#xff0c;9 位大奖得主和 …

Inscription Alliance的Denim协议发行首个聚合跨链铭文BTIA,计划参与Mint注册量达15万

官方消息&#xff0c;由Inscription Alliance自主研发的创新性Denim协议发行首个聚合跨链铭文BTIA&#xff0c;并将于2024年7月19日公开Mint。Denim协议旨在解决当下铭文赛道流动性和互通性不足的痛点&#xff0c;基于该协议搭建的Denim Swap可以实现聚合各项协议和各条公链的彼…

数据结构常见图算法

深度优先搜索 时间复杂度 领接矩阵表示 O( n2) 领接表表示 O(n+e) 空间复杂度 O(e) DFS与回溯法类似,一条路径走到底后需要返回上一步,搜索第二条路径。在树的遍历中,首先一直访问到最深的节点,然后回溯到它的父节点,遍历另一条路径,直到遍历完所有节点…

荣耀大横评,睿蓝7-450荣耀版卷出来的性价比之王

手握11万左右预算,如何在市场内选出一辆合适自己的车?荣耀版车型无疑是当下的最佳答案。在众多荣耀版车型中,比亚迪宋PLUS荣耀版EV520km领先型(后统称宋PLUS荣耀版)、比亚迪元PLUS荣耀版430km领先型(后统称元PLUS荣耀版)、比亚迪海豚PLUS荣耀版420km时尚版(后统称海豚荣耀版)、…

【CSAPP】-binarybomb实验

目录 实验目的与要求 实验原理与内容 实验设备与软件环境 实验过程与结果&#xff08;可贴图&#xff09; 操作异常问题与解决方案 实验总结 实验目的与要求 1. 增强学生对于程序的机器级表示、汇编语言、调试器和逆向工程等方面原理与技能的掌握。 2. 掌握使用gdb调试器…

Python学习篇:PyCharm的基本使用教程(二)

目录 1 前言 2 创建Python项目 3 创建Python文件 4 编写 Hello World 并运行 5 PyCharm界面简介 1 前言 PyCharm的使用贯穿整个Python的学习&#xff0c;所以单独拿出来出教程不合适&#xff0c;说多了对于新手来说也还是不明白&#xff0c;这里我们先从学习开始前大家需…