opencascade V3d_Viwer源码学习 原创

类V3d_Viewer

在OpenCASCADE中,V3d_Viewer是用于管理三维场景的主要类之一。它负责管理视图(V3d_View)、光源、窗口和交互式上下文(如AIS_InteractiveContext)等元素。
在这里插入图片描述

管理视图:

V3d_Viewer可以创建一个或多个V3d_View对象。每个V3d_View对象表示一个三维视图,包含了用于显示、交互和控制视图中对象的方法和属性。

与OpenGL的交互:

V3d_Viewer建立用户GUI与OpenGL之间的连接,处理渲染,如着色、光照、投影方式等。同一个V3d_Viewer可以被多个交互场景使用,实现多个场景的快速切换。

图形设备对象:

在OpenCASCADE的一般使用中,会根据本机系统环境创建不同的图形设备对象。在创建V3d_Viewer对象时,必须给定相应的图形驱动程序与相关参数。一般一个V3d_Viewer对象会根据指定窗口(如Windows下)创建一个视图(V3d_View),用来显示绘制出的图像信息。然而,这种一对一的关系也可以转换成一对多的情况,这取决于实际使用中是否会对开发者有帮助。

代码内容

主要包含对光、对交互式对象、特定屏幕、网格的管理
中文翻译

  1. AddListener() - 添加监听器:向视图添加事件监听器。
  2. AllView() - 所有视图:返回当前查看器中所有视图的列表。
  3. AutomaticUpdate() - 自动更新:启用或禁用自动更新视图。
  4. BackView() - 后视图:将视图转换为背视图。
  5. BackgroundColor() - 背景颜色:设置视图的背景颜色。
  6. Clear() - 清除:清除视图中的所有显示对象。
  7. ColorScale() - 颜色比例:设置视图中颜色的比例尺。
  8. ComputedMode() - 计算模式:设置视图中对象的计算模式。
  9. CreateView() - 创建视图:在查看器中创建一个新视图。
  10. Deactivate() - 停用:停用视图。
  11. DeleteView() - 删除视图:删除指定的视图。
  12. Dump() - 转储:将视图的内容转储到文件中。
  13. EnableGrid() - 启用网格:启用或禁用视图中的网格。
  14. Export() - 导出:导出视图中的内容。
  15. FitAll() - 全部适配:将视图中的对象调整为适合视图窗口的大小。
  16. FitAll2d() - 2D 全部适配:将 2D 视图中的对象调整为适合视图窗口的大小。
  17. FrontView() - 前视图:将视图转换为前视图。
  18. Grid() - 网格:获取或设置视图中网格的属性。
  19. IsActive() - 是否激活:检查视图是否处于激活状态。
  20. IsDefinedView() - 是否已定义视图:检查视图是否已定义。
  21. MaxView() - 最大视图:将视图设置为最大化。
  22. MinView() - 最小视图:将视图设置为最小化。
  23. MoreViews() - 更多视图:检查是否可以在此查看器中定义一个以上的视图。
  24. Name() - 名称:获取或设置视图的名称。
  25. Next() - 下一个:将视图设置为下一个视图。
  26. Pan() - 平移:在视图中平移对象。
  27. PanMulti() - 多重平移:在视图中多重平移对象。
  28. PixelHeight() - 像素高度:获取视图窗口的像素高度。
  29. PixelWidth() - 像素宽度:获取视图窗口的像素宽度。
  30. Redraw() - 重绘:强制视图重新绘制。
  31. RemoveListener() - 移除监听器:从视图中移除事件监听器。
  32. Repaint() - 重绘:重绘视图。
  33. Reset() - 重置:重置视图的变换和裁剪。
  34. ResetCamera() - 重置相机:重置视图中的相机参数。
  35. ResetView() - 重置视图:重置视图的变换。
  36. Restore() - 恢复:恢复视图的状态。
  37. SetBackgroundColor() - 设置背景颜色:设置视图的背景颜色。
  38. SetComputedMode() - 设置计算模式:设置视图中对象的计算模式。
  39. SetDefaultLights() - 设置默认灯光:设置视图中的默认灯光。
  40. SetEnvironmentLight() - 设置环境光:设置视图中的环境光。
  41. SetImmediateUpdate() - 设置立即更新:设置是否立即更新视图。
  42. SetLightOn() - 设置灯光开启:设置视图中灯光的开启状态。
  43. SetLightOn3dView() - 设置3D视图的灯光开启:设置3D视图中灯光的开启状态。
  44. SetMapMode() - 设置映射模式:设置视图的映射模式。
  45. SetMinMaxValues() - 设置最小最大值:设置视图中对象的最小和最大值。
  46. SetSurfaceDetail() - 设置表面细节:设置视图中对象的表面细节。
  47. SetTransparency() - 设置透明度:设置视图中对象的透明度。
  48. SetViewOn() - 设置视图开启:设置视图的开启状态。
  49. SetVisualization() - 设置可视化:设置视图中对象的可视化方式。
  50. SetZBufferManagment() - 设置Z缓冲管理:设置视图中的Z缓冲管理。
  51. SetZClipSize() - 设置Z剪辑大小:设置视图中的Z剪辑大小。
  52. Show() - 显示:显示视图。
  53. StereoDump() - 立体转储:生成立体图像的转储。
  54. StereoMode() - 立体模式:设置立体视图的模式。
  55. Test() - 测试:执行视图测试。
  56. ToggleUpdate() - 切换更新:切换视图的更新状态。
  57. Update() - 更新:更新视图。
  58. UpdateLights() - 更新灯光:更新视图中的灯光。
  59. UpdateView() - 更新视图:更新视图的显示。
  60. View() - 视图:获取当前视图。
  61. ViewOrientation() - 视图方向:获取或设置视图的方向。
  62. ViewSize() - 视图大小:获取视图窗口的大小。
  63. ViewSizeChange() - 视图大小改变:处理视图大小变化。
  64. Window() - 窗口:获取与视图关联的窗口对象。
posted @ 2024-05-07 10:35  一点灯  阅读(0)  评论(0编辑  收藏  举报  来源