Opencascade可视化模块,从逻辑上分为视图、可渲染对象两部分。视图负责管理、渲染可渲染对象。可渲染对象负责准备图元、图元属性。结构和主要类如下图:
Opencascade可视化模块结构
Opencascade可视化模块功能封装在AIS、V3d、PrsMgr、Graphic3d、OpenGl等包中:
一、视图
1.1 V3d_Viewer
视图管理类,负责管理多个视图;
并关联图形系统(Graphic3d_Driver),这里是OpenGl_GraphDriver。
1.2 V3d_View
3d视图,渲染功能由图形系统OpenGl_GraphDriver创建的OpenGl_View子对象myView来实现。
1.3 OpenGl_View
实际渲染类。负责渲染可渲染对象的创建的图元。
二、可渲染对象
2.1 PrsMgr_PresentableObject
可渲染对象类。
一个可渲染对象,可以有多种渲染方式,具体由PrsMgr_Presentation实现。
Opencascade的渲染方式有:AIS_Shader、AIS_WireFrame两种。
2.2 PrsMgr_Presentation
渲染类。为可渲染对象生产可渲染结构:属性、图元等,具体实现由其子对象myCStrure(OpenGl_Struct类)实现。
2.3 OpenGl_Struct
实际的图形系统可渲染结构。
三、渲染流程
Opencascade渲染一个可渲染对象,分两步进行:1.创建可渲染Struct---->2.渲染。
3.1 创建可渲染Struct
3.2 渲染
至此,一个可渲染对象就绘制到屏幕上了。