生成用的指令
doxygen -g Doxygen.config
: 会在当前路径下生成一个Doxygen.config
Doxygen.config
文件里面有个选项HAVE_DOT
推荐打开(不打开就是OpenFOAM那种类图,成员变量和函数较多的时候就不打开了),打开了里面有详细的函数。
更多设置就要研究这个Doxygen.config啦
doxygen Doxigen.config
:当前路径生成了html- 如果在linux下
firefox ./html/index.html
打开,windows直接网页打开,就可以看到了
生成后的(代码中按照一定的注释规范,doxygen会自动识别):

这个图就和OpenFOAM的API Guide一样啦
The OpenFOAM Source Code Guide | OpenFOAM v7 | The OpenFOAM Foundation
以前刚开始学OpenFOAM,既不会C++也不会Doxygen,看API Guide简直是痛苦-0 -。 现在自己写个类试一试用doxygen生成一下,对阅读OpenFOAM的API Guide也有帮助(最近在写一个类,感觉类的设计简直是个规则类怪谈= =!,等哪天整理整理发出来乐呵一下)

通过API Guide来看OpenFOAM
以一个OpenFOAM求解器常用的类来看,createFields.H
中的fvMesh
。
1 | // createFields.H |
fvMesh
这个类继承了PrimitiveMesh
和polyMesh
。
继续看PrimitiveMesh
和polyMesh
可以发现在顶层的PrimitiveMesh
,有许多函数定义为virtual xxx xxxx = 0;
定义成了纯虚的接口,意味着实现应该去他的子类去找。当然,子类也可以用父类已经实现了的函数,所以有时在OpenFOAM找具体在哪儿实现的要套好几层。
生成doxygen手册测试用代码
1 | /** |