OCCT Visualization 文档通读与理解
💡
原文中文,约41300字,阅读约需99分钟。
📝
内容提要
本文介绍了OCCT中的可视化模块的概念和功能,包括对象的存储和管理、选择算法、过滤器的使用、动态检测和选择、自定义着色器、图形属性和3D视图的定义。
🎯
关键要点
- OCCT中的可视化模块分为表示对象和选择对象,分别由Presentation模块和Selection模块管理。
- 可表示对象通过AIS模块进行交互,用户一般不需要接触底层组件,除非进行深度定制。
- 表示模块解耦表示数据与几何拓扑数据,允许在不改变图形呈现形式的情况下修改图形数据。
- 可表示对象的主要目标是提供图形化表示数据,使用Graphic3d_Structure形式。
- Viewer允许以交互方式操作对象,创建的Graphic结构数据可通过Viewer的变换机制进行操作。
- 可交互上下文提供高层API,管理整个渲染过程,显示对象的表示数据结构。
- 选择服务分为静态和动态选择,支持点选择、矩形选择和多段线选择。
- 敏感实体定义了哪些对象部分可被选择,选择算法通过敏感区域进行碰撞检测。
- 选择管理器负责维护所有展示对象的选择集合,确保选择数据的及时更新。
- OCCT的选择算法基于三级BVH树,支持不同选择模式的处理。
- 交互上下文允许管理可视化和选择,支持局部选择和全局选择。
- 交互对象可以有多个表示和选择模式,支持自定义图形属性和过滤器。
- 动态选择通过敏感原语的分解来表示拓扑形状,使用三级BVH树选择算法处理。
- V3d包提供了定义3D查看器及其附属视图的资源,支持视图的操作和参数设置。
- Graphic3d包用于创建3D图形对象,支持多种图形原语和属性设置。
- OCCT支持自定义着色器,通过绘制器属性分配给通用表示。
➡️