# Légende du graphe

Cette page explique comment interpréter les graphes générés par doxygen.

Considérez l'exemple suivant :

    /*! Classe invisible à cause d'une troncature */
    class Invisible { };

    /*! Classe tronquée, la relation d'héritage est masquée */
    class Truncated : public Invisible { };

    /*! Classe non documentée avec des commentaires Doxygen */
    class Undocumented { };

    /*! Classe dérivée par héritage public */
    class PublicBase : public Truncated { };

    /*! Un modèle de classe */
    template<class T> class Templ { };

    /*! Classe dérivée par héritage protégé */
    class ProtectedBase { };

    /*! Classe dérivée par héritage privé */
    class PrivateBase { };

    /*! Classe utilisée par la classe dérivée */
    class Used { };

    /*! Super-classe qui hérite de plusieurs autres classes */
    class Inherited : public PublicBase,
                      protected ProtectedBase,
                      private PrivateBase,
                      public Undocumented,
                      public Templ<int>
    {
      private:
        Used *m_usedClass;
    };

Si la valeur 240 est attribuée au tag `MAX_DOT_GRAPH_HEIGHT` du fichier de configuration, cela génèrera le graphe suivant :

Les rectangles du graphe ci-dessus ont la signification suivante :

- Un rectangle plein noir représente la structure ou la classe pour laquelle le graphe est généré.
- Un rectangle avec un bord noir indique une classe ou une structure documentée.
- Un rectangle avec un bord gris indique une classe ou une structure non documentée.
- Un rectangle avec un bord rouge indique une structure ou une classe documentée pour laquelle des relations d'héritage ou de collaboration manquent. Un graphe est tronqué s'il n'entre pas dans les limites spécifiées.

Les flèches ont la signification suivante :

- Une flèche bleu foncé est utilisée pour visualiser une relation d'héritage public entre deux classes.
- Une flèche vert foncé est utilisée pour une relation d'héritage protégé.
- Une flèche rouge foncé est utilisée pour une relation d'héritage privé.
- Une flèche violette en pointillés est utilisée si une classe est contenue ou utilisée par une autre classe. La flèche est étiquetée avec la ou les variable(s) qui permettent d'accéder à la classe ou structure pointée.
- Une flèche verte en pointillés indique une relation entre une classe instanciée et le modèle de classe utilisé. La flèche est étiquetée avec les paramètres de modèle de la classe instanciée.