opencascade官网文档学习之OCCT-visualization(可视化)(1)

在官网文档中,Open CASCADE Technology: Visualization,有如何使用OCCT的类,创建可视化界面

我用的是QT5.14.2 ,OCCT7.7.0 版本

 在文中的 3D view facilities 章节中,展示了程序例程,主要是使用的 v3d_view,V3d_viewer,AIS_InteractiveContext

查看这三者的类函数返现,view 和 context 都依赖viewer

经过精简和改进,适合QT 运行

复制代码
 1 Handle(Aspect_DisplayConnection) aDispConnection = new Aspect_DisplayConnection();
 2 Handle(OpenGl_GraphicDriver) aGraphicDriver = new OpenGl_GraphicDriver (aDispConnection);
 3 Handle(V3d_Viewer) aViewer = new V3d_Viewer (aGraphicDriver);
 4 
 5 aViewer->SetDefaultLights();
 6 aViewer->SetLightOn();
 7 
 8 // Create a 3D quality  Window with the same DisplayConnection
 9 Handle(Xw_Window) aWindow = new Xw_Window (aDispConnection, "Test V3d", 100, 100, 500, 500);
10 aWindow->Map(); // Map this Window to this screen
11 
12 WId window_handle = this->winId();//继承QT的qWidget,qWidget的方法WinId
13 Handle(WNT_Window) wind = new WNT_Window((Aspect_Handle) window_handle);//这是window10的类
14 
15 Handle(V3d_View) aView = new V3d_View (aViewer);
16 //Handle(V3d_View) aView = aViewer->CreateView();//跟上面的一样
17 aView->SetWindow (wind);
18 
19 aView->Update();
20 aView->FitAll();// Fit view to object size

复制代码

然后创建 context,就可以显示模型了

myAISContext = new AIS_InteractiveContext (aViewer);

TopoDS_Shape aShape = BRepAPI_MakeBox (10, 20, 30).Solid();

Handle(AIS_Shape) anAISShape = new AIS_Shape (aShape);

myAISContext->Display (anAISShape, true);

 

posted @   尧舜语  阅读(423)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示