OpenCasCade的显示模块(visulation模块)概要说明

来源:互联网 发布:淘宝电商是什么意思 编辑:程序博客网 时间:2024/05/16 05:55

OpenCascade 不仅提供了下层的几何拓朴表示及其相关算法,也提供了一个显示模块,用于方便的显示构造的几何和拓朴对象。该显示模块提供了方便的封装,允许很简单的实现一个对象的显示和选择等功能。

       首先,显示模块能够调用简单的接口显示对象,对象可以有多种显示方式,例如:线框显示、着色显示、纹理显示等,每个对象也可以自定义自己的显示方式。

       其次,可以通过简单的接口,实现对象的选取功能,包括:对象的自动选取、选中的高亮显示、对象的选择过滤等。并且,每个对象可以自定义多种选择模式,例如:一个拓朴实体对象,可以允许选择整个对象,也可以选择其中的一个面、一条边等。

       显示模块基于 OpenGL 实现。允许设置灯光、材质、纹理等,实现一定的渲染功能。但相对真正的 render 引擎,渲染功能还是比较弱的。

       总体结构, OpenCascade 的 visual.pdf 文档中给出了一副结构图。我这里按照自己的理解将其分为了四层,当然层与层之间的并不如下面分层那样明晰,主要为了理解上的方便。四层如下:

     AIS 层

                       /          /

显示管理         选择管理

           /            /

          visual3d 层

                 |

          OpenGL 层

      

       AIS 层是最顶层,提供了丰富的接口,来方便外部实现对象的显示和选择功能。下面管理层,提供了抽象的显示和选择管理机制,具体的实现都放在 visual3d 层,以便管理和显示图形,最终数据发送到 OpenGL 层,有 OpenGL 层进行绘制。

       后续依次详细说明每层的结构和实现。

0 0