Reputation: 77
I am trying to generate a Doxygen documentation for my Python project. It seems like Doxygen does not provide an overall class diagram of the project including Association. It shows only inheritance for a single file. Is there is a way I can generate an overall class diagram in doxygen?
Thanks a lot!
Upvotes: 0
Views: 2424
Reputation: 26
Doxygen does not generate class diagrams that contain "association" arrows. These are the diagram types and my experience with them (stemming from C++):
CLASS_DIAGRAMS: Seems to be an old Doxygen option, superseded by CLASS_GRAPH, which contains more information. CLASS_DIAGRAMS often just show the class without anything else in my output, which is superfluous.
CLASS_GRAPH: This is actually an inheritance diagram, not a full class diagram (internally, it even goes by the name "inherit graph"). It doesn't show a diagram at all if a class is not a derived class or base class.
COLLABORATION_GRAPH: Shows base class, membership and template relations. Doesn't show "inherited by" or "used by" relationships. For a leaf class, the inheritance diagram (CLASS_GRAPH) is just a part of the COLLABORATION_GRAPH.
TEMPLATE_RELATIONS: Shows template relations in a similar style as inheritance, which is helpful for code using template specialization instead of inheritance, e.g. CRTP.
As you have a python project, did you try out Sphinx? sphinx.ext.inheritance_diagram comes included with the sphinx-doc distribution but also does not show other types of relations than inheritance. A web search turned out https://pypi.org/project/sphinx-pyreverse/ which might be what you're looking for. I did not try it out myself.
Upvotes: 1