• 利用Graphziv帮助理解复杂的类层次关系


      最近在学习osg三维视景仿真平台,学习的过程中涉及到许多的类与类之间的继承和包含关系。在复杂点的例子中,许多的类和节点组合在一起,很容易让人迷失方向。在编译源代码的时候,无意间发现了Graphviz这个绘图工具,很适合画图,简单易用。

      结合osg海军教程中第六节中的例子,应用Graphviz绘图工具,绘制了这个例子中的类层次关系,如下图所示:

      结果还是挺清晰美观的。结合这个图,我们能更生动直观的了解例子中的类关系,帮助我们理清思路。该源代码如下:

     1 digraph tank{
     2 root->terrianNode;
     3 root->tankXform;
     4 tankXform->tankNode;
     5 root->HUDProjectionMatrix;
     6 HUDProjectionMatrix->HUDModelViewMatrix;
     7 HUDModelViewMatrix->HUDGeode;
     8 HUDGeode->HUDBackGroundGeometry;
     9 HUDBackGroundGeometry->HUDBackgroundVertices;
    10 HUDBackGroundGeometry->HUDBackgroundIndices;
    11 HUDBackGroundGeometry->HUDNormals;
    12 HUDBackGroundGeometry->HUDTexture;
    13 HUDBackGroundGeometry->texcoords;
    14 HUDBackGroundGeometry->HUDColors;
    15 HUDStateSet->HUDGeode;
    16 HUDStateSet->HUDTexture;
    17 HUDStateSet->GL_BLEND;
    18 HUDStateSet->GL_DEPTH_TEST;
    19 HUDGeode->textOne;
    20 tankXform->tankLabelGeode;
    21 tankLabelGeode->tankLabel;
    22 }
  • 相关阅读:
    CAP 与数据一致性
    C++的构造函数为何不能为虚函数
    构造函数和析构函数中可以调用调用虚函数吗
    HTTP状态码
    C++ 单例模式实现
    【转】十大经典排序算法
    C++ short/int/long/long long 等数据类型大小
    块/文件/对象三种存储的优缺点
    罗振宇《时间的朋友》2019-2020
    Google Hacking
  • 原文地址:https://www.cnblogs.com/SupremeGIS-Developer/p/10526017.html
Copyright © 2020-2023  润新知