OpenCASCADE中显示(Redraw)所经历的过程


@版权声明:本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出,
本文链接https://www.jianshu.com/p/8be312ea9442
如有问题, 可邮件([email protected])咨询。


关键字:OpenCASCADE、Redraw

学习了OpenCASCADE那么久,一直对OpenCASCADE中是如何进行更新和显示感到是那么的熟悉又那么的陌生​。下面就来缕一缕​,啃掉这块骨头​!!
咋们就直接上图吧​:

渲染流程.png

结论:最终的渲染还是由OpenGI_Element来完成

  1. V3d_View的Redraw和Update方法会调用OpenGl_View的Redraw()方法
  2. OpenGI_View中存储了一个OpenGI_layerList的对象 myZLayers
    在OpenGI_View的Redraw()方法中会调用OpenGI_layerList的Render()方法
    3.OpenGI_layerList的Render()方法中会遍历每个OpenGI_layer,并分别调用OpenGI_layer
    的RenderAll()方法
  3. OpenGI_layer存储了一组OpenGI_Structure的集合。在RenderAll中遍历得到每一个
    OpenGI_Structure 并调用Structure的Render方法
  4. OpenGI_Structure中存储了一组OpenGI_Group,最终遍历每一个Group来调用OpenGI_Group的
    Render方法
  5. OpenGI_Group中存储了一组OpenGI_Element。最终的渲染就是由每个OpenGI_Element来完成。

你可能感兴趣的:(OpenCASCADE中显示(Redraw)所经历的过程)