
The reason why a graph is sometimes truncated is to prevent images from becoming too large. The elements in the graphs generated by the dot tool have the following meaning:Ī white box indicates a class or struct or file.Ī box with a red border indicates a node that has more arrows than are shown! In other words: the graph is truncated with respect to this node. If the box has a dashed border this indicates virtual inheritance.Ī solid arrow indicates public inheritance.Ī dashed arrow indicates protected inheritance.Ī dotted arrow indicates private inheritance. A marker in the lower right corner of the box indicates that the class has base classes that are hidden. The elements in the class diagram in have the following meaning:Ī white box indicates a class. If the box is filled with a dashed pattern the inheritance relation is virtual.Ī white box indicates that the documentation of the class is currently shown.Ī gray box indicates an undocumented class.Ī solid dark blue arrow indicates public inheritance.Ī dashed dark green arrow indicates protected inheritance.Ī dotted dark green arrow indicates private inheritance. If a tree is wider some nodes will be hidden. For the class diagrams the maximum tree width is currently 8 elements. A box can have a little marker in the lower right corner to indicate that the class contains base classes that are hidden. The elements in the class diagrams in HTML and RTF have the following meaning:Ī yellow box indicates a class. The options DOT_GRAPH_MAX_NODES and MAX_DOT_GRAPH_DEPTH can be used to limit the size of the various graphs. Using a layout file you can determine which of the graphs are actually shown. Include dependencies between the directories are shown as arrows. The depth of the graph is configured through DIR_GRAPH_MAX_DEPTH. Subdirectories are shown nested into the box of its parent directory. The graph will show directories as boxes. If DIRECTORY_GRAPH is set to YES, doxygen will generate graphs that show the directory dependencies for every directory. If CALLER_GRAPH is set to YES, a graphical caller graph is drawn for each function showing the functions that the function is directly or indirectly called by (see also section \callergraph and section \hidecallergraph). If CALL_GRAPH is set to YES, a graphical call graph is drawn for each function showing the functions that the function directly or indirectly calls (see also section \callgraph and section \hidecallgraph). class A has a member variable m_a of type class B, then A has an arrow to B with m_a as label). The usage relations with other structs and classes (e.g. The inheritance relations with base classes. This feature is currently supported for HTML and RTF only.Īn inverse include dependency graph is also generated showing for a (header) file, which other files include it.Ī graph is drawn for each documented class and struct that shows: This disables the generation of the built-in class inheritance diagrams.Īn include dependency graph is generated for each documented file that includes at least one other file. Warning: When you have a very large class hierarchy where many classes derive from a common base class, the resulting image may become too big to handle for some browsers.Īn inheritance graph will be generated for each documented class showing the direct and indirect inheritance relations. Currently this feature is supported for HTML only. If you have the "dot" tool in the path, you can set HAVE_DOT to YES in the configuration file to let doxygen use it.ĭoxygen uses the "dot" tool to generate the following graphs:Ī graphical representation of the class hierarchy will be drawn, along with the textual one. Graphviz is an open-source, cross-platform graph drawing toolkit and can be found at Doxygen has built-in support to generate inheritance diagrams for C++ classes.ĭoxygen can use the "dot" tool from graphviz to generate more advanced diagrams and graphs.
