作为一款开源的CAx(CAD/CAE/CAM)软件集成平台,为了实现各个Module支持不同的数据显示与交互方案,出于扩展性的考虑,SALOME引入了View Model,用以支持OpenGL、OCC、VTK、ParaView、Qwt等数据显示与交互实现。
本文将以OCCViewer、VTKViewer为例,来阐述SALOME中的View Model相关内容。
注1:限于研究水平,分析难免不当,欢迎批评指正。
注2:文章内容会不定期更新。
一、整体流程
目前,SALOME提供了对OpenGL、OCC、VTK、ParaView、Qwt等显示方式的支持。
1 | GLViewer_Viewer | QGLWidget | |
2 | Plot2d_Viewer SPlot2d_Viewer | QwtPlot | |
3 | QxScene_Viewer GraphicsView_Viewer | QGraphicsView | |
4 | PVViewer_Viewer PV3DViewer_ViewModel SPV3D_ViewModel | pqTabbedMultiViewWidget | |
5 | PyViewer_Viewer | PyEditor | |
6 | OCCViewer_Viewer | V3d_View | OCCViewer_ViewFrame,OCCViewer_ViewPort3d |
SOCC_Viewer | SOCC_ViewWindow,OCCViewer_ViewPort3d,SOCC_Prs | ||
7 | VTKViewer_Viewer | vtkRenderWindow | VTKViewer_ViewWindow,VTKViewer_RenderWindow |
SVTK_Viewer | SVTK_ViewWindow,SVTK_RenderWindowInteractor,SVTK_Prs |
二、OCCViewer
三、VTKViewer
四、扩展与演练:ACISE集成SALOME OCCViewer\VTKViewer
参考资料
-
Erich Gamma. Design Patterns:elements of reusable object-oriented software. Addison Wesley, 1994.
-
Joseph Ingeno. Software Architect's Handbook. Packt Publishing, 2018.
网络资料
SALOMEhttps://www.salome-platform.org/