前面编译了基于QT5.12.7+VTK8.2的库,本次就根据这个VTK库实现VTK嵌入QT并将Opencascade实体对象在VTK中进行渲染。
一、vtk嵌入qt
通过查看VTK的开发文档发现,vtk嵌入qt可以通过将QWidget提升为QVTKOpenGLNativeWidget实现,在qtdesigner中事例如下:
本人定义了一个qtvtk窗口类,在构造函数中,加入如下代码:
此时就已经完成嵌入qt窗口中了,效果如下:
二、opencascdae实体对象在VTK中渲染
opencascade对象在VTK中进行渲染,思路与在OSG中进行渲染是一致的,将opencascade的对象三角化后,获取其必要 数据(顶点、颜色、法向等),利用这些数据渲染一系列的三角形即可。核心代码如下:
以打开stp为例:
至此实现了opencascade对象到VTK的渲染流程!