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