opencascade官网文档学习之OCCT-visualization(可视化)(1)
1.opencascade官网文档学习之OCCT-visualization(可视化)(1)
2.opencascade官网文档学习之OCCT-visualization(可视化)(2)presentation3.opencascade官网文档学习之OCCT-Shape healing (3)分析 TopoDS_Shape在官网文档中,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);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律