radar101
radar101

Reputation: 77

Creating an overall class diagram with Doxygen

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

Answers (1)

arwedus
arwedus

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

Related Questions