Documentation using Doxygen (Engine Dependency and Caller Graphs)

This is essentially an open discussion topic about the enhancement of the Engine documentation. I’ve opened this discussion to present a new solution to help us document “undocumented” engine parts through providing adequte relationship generated dependency and caller graphs using doxygen. Doxygen is a powerful documentation generation tool that utilizes dot from GraphViz to generate interactive dependency graphs. While not being so common among Java developers, it’s common among native C/C++ frameworks…

The interactive graphs include UML dependency diagram for detailed design, and caller graphs, here is an example from the Electrostatic-Sandbox SDK:
https://electrostat-lab.github.io/Electrostatic-Sandbox/electrostatic-sandbox-framework/docs/doxygen/html/interfacecom_1_1serial4j_1_1core_1_1flag_1_1FlagConst.xhtml

Eventually, a fix for these issues could be aided after generating an advanced documentation site using Doxygen. Let me know about what you think. Even non-documented Android C code in jMonkeyEngine could be eventually generated within the documentation site along Java, that’s why I favoured doxygen over the JavaDoc tool (e.g. for C code docs, adc.h and libadc).

3 Likes

The only way that has helped me to document 3 or maybe 2 of the most troublesome internal classes of the new animation system was the dependency and caller graphs after messing with the internal structures, which of course could have been much simpler if these diagrams were auto-generated to me using a tool like doxygen. In this regards, I think it is very superior to the JavaDoc tool… Though JavaDoc also generates text-based dependencies, but visual graphs will be a good aid.

EDIT:
The only problem might be is that the Engine dependencies are so messy that this might obscure the diagrams and be hard to read… But, I think there are options to tweak this. It needs a test, though.