opencascade AIS_InteractiveContext源码学习8 trihedron display attributes
AIS_InteractiveContext
前言
交互上下文(Interactive Context)允许您在一个或多个视图器中管理交互对象的图形行为和选择。类方法使这一操作非常透明。需要记住的是,对于已经被交互上下文识别的交互对象,必须使用上下文方法进行修改。如果交互对象尚未加载到交互上下文中,您才能直接调用交互对象的方法。
trihedron display attributes
三维坐标系(trihedron)显示属性通常包括以下内容:
-
颜色:设置三维坐标系的颜色,以便在图形中清晰可见。
-
线型:定义三维坐标系的线条样式,例如实线、虚线或其他类型。
-
线宽:指定三维坐标系线条的宽度,影响其在图形中的视觉效果。
-
箭头样式:控制坐标轴末端箭头的样式,以指示方向。
-
坐标轴长度:设置坐标轴的长度,以适应图形的比例。
-
标记:可选择在坐标轴上添加刻度或标签,以显示坐标值。
这些属性有助于增强三维坐标系的可读性和视觉效果,使其在不同应用中更加清晰和易于理解。
1:SetTrihedronSize
设置三维坐标系的大小 aSize。用于更改三维坐标系默认显示值 100 毫米。若在您自定义的交互对象中使用此函数,则需要调用新类的 Compute 函数。这将重新计算每个显示的三维坐标系的呈现。
2:PlaneSize
如果 X 方向的长度 XSize 与 Y 方向的长度 YSize 相同,则返回 true。
在 AIS_InteractiveContext
中,SetTrihedronSize
用于设置三维坐标系的大小。这一方法通常在需要自定义显示大小的场合使用。
用法示例
以下是使用 AIS_InteractiveContext::SetTrihedronSize
的示例代码:
#include <AIS_InteractiveContext.hxx>
#include <AIS_Trihedron.hxx>// 设置三维坐标系的大小
void SetTrihedronSize(AIS_InteractiveContext& context, Standard_Real size) {// 创建三维坐标系对象Handle(AIS_Trihedron) trihedron = new AIS_Trihedron();// 设置坐标系的大小context.SetTrihedronSize(size);// 显示三维坐标系context.Display(trihedron, Standard_True); // 第一个参数是形状,第二个是是否立即更新视图
}// 调用示例
// AIS_InteractiveContext context; // 假设交互上下文已经创建
// SetTrihedronSize(context, 100.0); // 设置大小为 100.0 毫米
参数
size
:指定三维坐标系的大小(通常以毫米为单位)。
通过这种方式,可以在 OpenCascade 的交互上下文中灵活调整三维坐标系的显示大小,适应不同的可视化需求。
tessellation deviation properties for automatic triangulation
在 OpenCascade 中,网格细分(tessellation)偏差属性用于控制自动三角剖分的精度和表现。这些属性帮助定义如何将几何形状转化为三角形网格。以下是一些常见的网格细分偏差属性:
-
最大弦偏差:控制网格细分过程中,曲线或曲面上弦的最大偏差。较小的偏差值会生成更精细的三角形。
-
最大角度偏差:定义三角形中允许的最大角度变化,以确保生成的三角形在视觉上不会过于扭曲。
-
相对偏差:相对于对象大小的偏差值,允许在不同尺寸的对象上保持一致的细分质量。
-
绝对偏差:固定的偏差值,不受对象尺寸影响。
通过调整这些属性,可以优化渲染效果和性能,确保在不同场景中平衡细节和计算资源。
1:SetDeviationCoefficient
设置偏差系数 theCoefficient。曲线或曲面的绘制是基于最大弦偏差。偏差系数用于阴影显示模式,形状被分解为三角形,这些三角形用于计算物体表面的光反射。三角形由形状中曲线的弦构成。偏差系数 theCoefficient 定义了弦可以偏离曲线切线的最大角度。如果达到此限制,则开始新的三角形。该偏差是绝对的,通过方法 SetMaximalChordialDeviation 设置,默认值为 0.001。然而,在绘制形状时,您可以要求相对偏差。此偏差为:SizeOfObject * DeviationCoefficient。
2:SetDeviationAngle
设置偏差系数 theCoefficient。曲线或曲面的绘制基于最大弦偏差。偏差系数用于阴影显示模式,形状被分解为三角形,这些三角形用于计算物体表面的光反射。三角形由形状中曲线的弦构成。偏差系数 theCoefficient 定义了弦可以偏离曲线切线的最大角度。一旦达到此限制,就会开始新的三角形。该偏差是绝对的,通过方法 SetMaximalChordialDeviation 设置,默认值为 0.001。然而,在绘制形状时,您可以请求相对偏差,此偏差为:SizeOfObject * DeviationCoefficient。
3:SetAngleAndDeviation
调用 AIS_Shape 的 SetAngleAndDeviation 方法,以同时设置角度和偏差系数。
4:SetDeviationCoefficient
设置偏差系数 theCoefficient。曲线或曲面的绘制基于最大弦偏差。偏差系数用于阴影显示模式,形状被分解为三角形,这些三角形用于计算物体表面的光反射。三角形由形状中曲线的弦构成。偏差系数 theCoefficient 定义了弦可以偏离曲线切线的最大角度。如果达到此限制,则开始新的三角形。该偏差是绝对的,通过方法 SetMaximalChordialDeviation 设置,默认值为 0.001。然而,在绘制形状时,您可以请求相对偏差,此偏差为:SizeOfObject * DeviationCoefficient。
5:DeviationCoefficient ()
返回偏差系数。曲线或曲面的绘制基于最大弦偏差。偏差系数用于阴影显示模式,形状被分解为三角形,这些三角形用于计算物体表面的光反射。三角形由形状中曲线的弦构成。偏差系数定义了弦可以偏离曲线切线的最大角度。一旦达到此限制,就会开始新的三角形。该偏差是绝对的,通过 Prs3d_Drawer::SetMaximalChordialDeviation 设置,默认值为 0.001。然而,在绘制形状时,您可以请求相对偏差,此偏差为:SizeOfObject * DeviationCoefficient。
6:DeviationAngle
设置偏差系数 theCoefficient。曲线或曲面的绘制是基于最大弦偏差。偏差系数用于阴影显示模式,形状被分解为三角形,这些三角形用于计算物体表面的光反射。三角形由形状中曲线的弦构成。偏差系数 theCoefficient 定义了弦可以偏离曲线切线的最大角度。如果达到此限制,则开始新的三角形。该偏差是绝对的,通过方法 SetMaximalChordialDeviation 设置,默认值为 0.001。然而,在绘制形状时,您可以请求相对偏差,此偏差为:SizeOfObject * DeviationCoefficient。
简单示例
HLR (Hidden Line Removal) display attributes
HLR(隐藏线去除)显示属性是指在计算机图形学中,特别是在 CAD(计算机辅助设计)和 3D 建模应用程序中,用于控制如何渲染或去除隐藏线的设置和参数。以下是与 HLR 显示相关的一些关键属性:
-
偏差系数:此属性设置线(通常是边缘或轮廓)可以偏离直线的容忍度,超出此容忍度后该线将被视为隐藏。这会影响隐藏线去除的准确性。
-
最大弦偏差:定义线段(弦)从真实曲线或表面边缘可以允许的最大偏差。该参数对于确定何时打断线段以实现更准确的渲染至关重要。
-
阴影显示模式:指定在去除隐藏线时对象表面的渲染方式。该模式通常涉及将表面分解为三角形或其他基本图元,以计算光的反射和阴影。
-
三角形形成:描述如何从曲线和表面的弦形成三角形,以便于隐藏线去除。三角形是一种常见的图元,因为它们易于计算和渲染。
-
相对偏差:允许相对于正在渲染的对象的大小指定偏差。该参数有助于在不同规模的对象之间实现一致的视觉质量。
这些属性共同确保在 CAD 和类似应用程序中 3D 对象的表示既视觉准确又计算高效,通过选择性去除隐藏线,同时保持可见边缘和表面的完整性。
1:HiddenLineAspect
初始化默认绘图工具(或 Drawer)中的隐藏线外观。默认值为:颜色:Quantity_NOC_YELLOW,线型:Aspect_TOL_DASH,宽度:1。
2:SetHiddenLineAspect
设置隐藏线外观 anAspect。Aspect 定义了 HLR 投影中隐藏线的显示属性。
3:DrawHiddenLine
如果隐藏线要绘制,则返回 Standard_True。默认情况下,隐藏线不被绘制。
4:EnableDrawHiddenLine
初始化默认绘图工具(或 Drawer)中的隐藏线外观。默认值为:颜色:Quantity_NOC_YELLOW,线型:Aspect_TOL_DASH,宽度:1。
5:DisableDrawHiddenLine
初始化默认绘图工具(或 Drawer)中的隐藏线外观。默认值为:颜色:Quantity_NOC_YELLOW,线型:Aspect_TOL_DASH,宽度:1。
iso-line display attributes
ISO 线显示属性通常指用于控制 ISO 线(等值线)在图形界面中呈现的设置。以下是一些常见的 ISO 线显示属性:
-
颜色:设置 ISO 线的颜色,以便在图形中清晰可见。
-
线型:定义 ISO 线的样式,比如实线、虚线或其他类型。
-
线宽:指定 ISO 线的宽度,影响其在图形中的视觉效果。
-
透明度:控制 ISO 线的透明度,使其可以与其他图形元素相互作用。
-
间距:定义相邻 ISO 线之间的距离,这对于等值线的密度和可读性非常重要。
-
标签:可选择显示 ISO 线的标签,以标识对应的数值或类别。
这些属性有助于增强数据可视化效果,使得 ISO 线在不同的应用中更具可读性和美观性。
1:SetIsoNumber
设置显示的 U 和 V 等参数的数量。
2:IsoNumber
返回显示的 U 和 V 等参数的数量。
3:IsoOnPlane
方法1:如果启用了在平面上绘制等参数,则返回 True。如果 <forUIsos>
为 False,则不绘制。
方法2:如果启用了在平面上绘制等参数,则返回 True。
4:IsoOnTriangulation
方法1:如果启用了在三角剖分算法上绘制等值线,则返回 true。
方法2:启用或禁用特定对象的等值线三角剖分构建。如果禁用三角剖分构建,默认的平面构建器将为给定对象计算等值线。
方法3:启用或禁用默认绘图工具的等值线三角剖分构建。如果禁用三角剖分构建,默认的平面构建器将为给定对象计算等值线。
来源:网址
继续obsolete methods
相关文章:

opencascade AIS_InteractiveContext源码学习8 trihedron display attributes
AIS_InteractiveContext 前言 交互上下文(Interactive Context)允许您在一个或多个视图器中管理交互对象的图形行为和选择。类方法使这一操作非常透明。需要记住的是,对于已经被交互上下文识别的交互对象,必须使用上下文方法进行…...

【云岚到家】-day05-6-项目迁移-门户-CMS
【云岚到家】-day05-6-项目迁移-门户-CMS 4 项目迁移-门户4.1 迁移目标4.2 能力基础4.2.1 缓存方案设计与应用能力4.2.2 静态化技术应用能力 4.3 需求分析4.3.1 界面原型 4.4 系统设计4.4.1 表设计4.4.2 接口与方案4.4.2.1 首页信息查询接口4.4.3.1 数据缓存方案4.4.3.2 页面静…...

linux彻底卸载docker
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done 要彻底卸载 Docker 及其相关组件,可以按照以下步骤进行操作。请注意,这些步骤会删除 Docker 安装的所有容器、镜…...

linux高级编程(网络)(www,http,URL)
数据的封包和拆包 封包: 应用层数据(例如HTTP请求)被传递给传输层。传输层(TCP)在数据前添加TCP头部(包含端口号、序列号等)。网络层(IP)在TCP段前添加IP头部ÿ…...

Perl 语言开发(十三):网络编程
目录 1. 概述 2. 网络编程基础 2.1 网络协议概述 2.2 Perl 网络编程基础模块 3. TCP 网络编程 3.1 创建 TCP 服务器 3.2 创建 TCP 客户端 4. UDP 网络编程 4.1 创建 UDP 服务器 4.2 创建 UDP 客户端 5. 高级网络编程 5.1 非阻塞 I/O 5.2 多线程网络编程 6. 简单的…...

Leetcode算法题(移除链表中的元素)
题目如下: 思路1:创建一个新的带头链表 (newhead),遍历头结点对应的值分别于x进行比较,将不等于x的节点尾插到新的带头链表中,返回新的带头链表的下一个节点。 代码如下: typedef …...

浅谈网络安全防守:从被动应对到主动管理的转变
浅谈网络安全防守:从被动应对到主动管理的转变 背景: 在当今的数字时代,网络安全已成为企业生存和发展的重要基石。然而,当企业的网络安全体系面临着诸如资产不清、互联网应用管理混乱、边界防火墙策略失效、长期未修复的漏洞、…...

CentOS7仅安装部署MySQL80客户端
文章目录 CentOS7仅安装部署MySQL80客户端一、前言1.场景2.环境 二、正文1.安装MySQL客户端2. 数据库备份脚本 CentOS7仅安装部署MySQL80客户端 一、前言 1.场景 仅安装部署MySQL80客户端,用于备份数据库时使用 mysqldump 工具 2.环境 Linux 发行版:…...

力扣经典题目之->移除值为val元素的讲解,的实现与讲解
一:题目 博主本文将用指向来形象的表示下标位的移动。 二:思路 1:两个整形,一个start,一个end,在一开始都 0,即这里都指向第一个元素。 2:在查到val之前,查一个&…...

pico+unity3d项目配置
重点:unity编辑器版本要和pico的sdk要求一致、比如: 对于 Unity 2022.1.14 及以上版本,若同时在项目中使用 URP、Linear 色彩空间、四倍抗锯齿和OpenGL,会出现崩溃。该问题待 Unity 引擎解决。对于 Unity 2022,若同时…...

python条件
条件语句 if语句 if...else语句 if...elif...else语句 嵌套 is is 是一个身份运算符,用于比较两个对象的身份,即它们在内存中的地址是否相同。这与比较两个对象是否相等的 运算符不同。 运算符比较的是两个对象的值是否相等。 比较对象 比较基本数据…...

华为USG6000V防火墙v1
目录 一、实验拓扑图 二、要求 三、IP地址规划 四、实验配置 1🤣防火墙FW1web服务配置 2.网络配置 要求1:DMZ区内的服务器,办公区仅能在办公时间内(9:00-18:00)可以访问,生产区的设备全天可以访问 要求2:生产区不…...

Apache访问机制配置
Apache访问机制配置 Apache HTTP Server(简称Apache)是世界上使用最广泛的Web服务器之一。它的配置文件通常位于/etc/httpd/conf/httpd.conf或/etc/apache2/apache2.conf,根据操作系统的不同而有所不同。以下是配置Apache访问机制的详细说明…...

在word中删除endnote参考文献之间的空行
如图,在References中,每个文献之间都有空行。不建议手动删除。打开Endnote。 打开style manager 删除layout中的换行符。保存,在word中更新参考文献即可。...

【详解】Spring Cloud概述
🎥 个人主页:Dikz12🔥个人专栏:Spring学习之路📕格言:吾愚多不敏,而愿加学欢迎大家👍点赞✍评论⭐收藏 目录 1. 认识微服务 1.1 单体架构 1.2 集群和分布式架构 1.3 集群和分布式…...

板级调试小助手(3)基于PYNQ的OLED视频显示
一、前言 在之前的文章中介绍了《板级调试小助手》的系统结构和DDS自定义外设的搭建。这篇文章主要介绍一下如何在PYNQ中驱动平时长剑的OLED12864显示屏,并显示BadApple(毕竟有屏幕的地方就要有BadApple)。效果如下: BadApple 本项…...
git批量删除本地包含某字符串的特定分支
git批量删除本地包含某字符串的特定分支 git branch -a | grep 分支中包含的字符串 | xargs git branch -D git删除本地分支_git查看删除本地分支-CSDN博客文章浏览阅读989次。git branch -d <分支名>可以通过: git branch 查看所有本地分支及其名字,然后删…...

Android中RecyclerView使用详解(一)
目录 概述优点列表布局RecyclerView一、创建RecyclerView并且在布局中绑定二、实现RecyclerView单个item的布局三、给RecyclerView写一个对应的适配器Adapter1.创建自定义的ViewHolder2.继承Adapter,泛型使用我们自定义的ViewHolder3.重写Adapter的三个方法onCreate…...

坑3.上传图片(阿里云空间,oss验证)(未验证)
笔记 20240710 未验证,现在还没有阿里云空间,等买个sit环境就可以验证一下。 前端 页面 <!--页面--> <el-form-item label"优惠券图片" prop"couponImg"><single-upload v-model"dataForm.couponImg"&g…...

注册登录后上传文件到本地数据库项目
在上一篇的基础上我有添加了登录注册功能文件上传 更新一下代码添加登录注册功能 app.js // app.js const express require(express); const bodyParser require(body-parser); const cors require(cors); const db require(./models/db); const User require(./models…...

【学习笔记】无人机(UAV)在3GPP系统中的增强支持(十三)-更换无人机控制器
引言 本文是3GPP TR 22.829 V17.1.0技术报告,专注于无人机(UAV)在3GPP系统中的增强支持。文章提出了多个无人机应用场景,分析了相应的能力要求,并建议了新的服务级别要求和关键性能指标(KPIs)。…...

react 组件通信 —— 父子传值 【 函数式/类式 】
1、函数式组件通信 父子间通信 —— 父传子 父组件 export default function father() {return (<div style{{width:400px,height:200px,background:pink,marginLeft:500px}}>我是父组件<hr /><Son name{"韩小刀"}/></div>) } 子组件 ex…...

【SpringBoot】95、SpringBoot中使用MyBatis-Plus实现自动加密存储和查询自动解密
有的业务需要将敏感数据加密存储到 DB,如果我们每个都手动去加密,再设值,再保存 DB,不仅麻烦,还对开发者不友好,在 MyBatis-Plus 中我们可以使用 BaseTypeHandler 来解决这个问题 1、新增 TypeHandler import com.baomidou.mybatisplus.core.toolkit.AES; import com.b…...

[数仓]十二、离线数仓(Atlas元数据管理)
第1章 Atlas入门 1.1 Atlas概述 Apache Atlas为组织提供开放式元数据管理和治理功能,用以构建其数据资产目录,对这些资产进行分类和管理,并为数据分析师和数据治理团队,提供围绕这些数据资产的协作功能。 Atlas的具体功能如下: 元数据分类 支持对元数据进行分类管理,例…...

机器学习——决策树(笔记)
目录 一、认识决策树 1. 介绍 2. 决策树生成过程 二、sklearn中的决策树 1. tree.DecisionTreeClassifier(分类树) (1)模型基本参数 (2)模型属性 (3)接口 2. tree.Decision…...

翁恺-C语言程序设计-08-1. 求一批整数中出现最多的个位数字
08-1. 求一批整数中出现最多的个位数字 给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。 输入格式: 输入在第1行中…...

ROM修改进阶教程------深度解析小米设备锁机型不解锁bl 刷写特殊类固件的步骤
在玩机过程中会遇到很多自己机型忘记密码或者手机号不用导致机型出现账号锁。无法正常使用。那么此类机型如果无法正常售后解锁。只能通过第三方渠道。例如在早期小米机型有强解bl锁资源。然后刷入完美解锁包。这种可以登陆新账号。但后期新机型只能通过修改分区来屏蔽原设备锁…...

论文翻译 | LEAST-TO-MOST: 从最少到最多的提示使大型语言模型中的复杂推理成为可能
摘要 思维链提示(Chain-of-thought prompting)在多种自然语言推理任务上展现了卓越的性能。然而,在需要解决的问题比提示中展示的示例更难的任务上,它的表现往往不佳。为了克服从简单到困难的泛化挑战,我们提出了一种新…...

【区块链 + 智慧政务】都江堰区块链公共服务应用平台 | FISCO BCOS应用案例
都江堰区块链公共服务应用平台是四川开源观科技有限公司运用 FISCO BCOS 区块链技术为都江堰市建设的市级 区块链节点平台,该平台上线运营一年以来已在政务服务、社区养老和慈善公益领域落地 3 个应用,上链数据超 过 30 万条。 区块链 政务服务应用&am…...

Python从0到100(三十九):数据提取之正则(文末免费送书)
前言: 零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…...