Documentation du code source

From FreeCAD Documentation
Revision as of 08:54, 18 July 2019 by Mario52 (talk | contribs) (Created page with "Une autre version plus petite de la documentation, qui ne nécessite qu'environ 600 Mo, peut être générée avec une cible différente. Ceci est la version affichée sur le...")

Le code source de FreeCAD est commenté pour permettre la génération automatique de documentation HTML à l'aide de Doxygen, un système de documentation de code source populaire. Doxygen peut documenter les parties C++ et Python de FreeCAD.

La documentation source en ligne est située sur web. Veuillez noter que cette documentation n'est pas toujours conservée à ce jour. si vous avez des questions urgentes sur le code, veuillez demander dans la section développeurs du FreeCAD forum.

Compilation de la documentation

Si vous avez installé Doxygen, il est très facile de construire la documentation. Installez également Graphviz pour pouvoir produire des diagrammes montrant les relations entre différentes classes et bibliothèques dans le code FreeCAD. Graphviz est également utilisé par graphe de dépendance de FreeCAD pour montrer les relations entre différents objets.

sudo apt install doxygen graphviz

Suivez ensuite les mêmes étapes que pour compiler FreeCAD, comme décrit à la page Compiler sous Unix, et résumées ici pour plus de commodité.

  • Obtenez le code source de FreeCAD et placez-le dans son propre répertoire freecad-source.
  • Créez un autre répertoire freecad-build dans lequel vous compilerez FreeCAD et sa documentation.
  • Configurez les sources avec cmake, en vous assurant d'indiquer le répertoire source et de spécifier les options requises pour votre construction.
  • Déclenchez la création de la documentation avec make.
git clone https://github.com/FreeCAD/FreeCAD.git freecad-source
mkdir freecad-build
cd freecad-build
cmake -DBUILD_QT5=ON -DPYTHON_EXECUTABLE=/usr/bin/python3 ../freecad-source

Pendant que vous êtes dans le répertoire de compilation, émettez les instructions suivantes pour ne créer que la documentation.

make -j$(nproc --ignore=2) DevDoc

Comme mentionné dans Compilation (Accélération), l'option -j définit le nombre de cœurs de processeur utilisés pour la compilation. Les fichiers de documentation résultants apparaîtront dans le répertoire

freecad-build/doc/SourceDocu/html/

Le point d’entrée de la documentation est le fichier index.html, que vous pouvez ouvrir avec un navigateur Web:

xdg-open freecad-build/doc/SourceDocu/html/index.html

La cible DevDoc générera une quantité importante de données, environ 5 Go de nouveaux fichiers, en raison notamment des diagrammes créés par Graphviz.

Une autre version plus petite de la documentation, qui ne nécessite qu'environ 600 Mo, peut être générée avec une cible différente. Ceci est la version affichée sur le site Web de l'API FreeCAD.

make -j$(nproc --ignore=2) WebDoc

Comme alternative, la doc est générée de temps en temps, et accessible sur sourceforge ici.

FreeCAD 0.16 development documentation built by qingfeng.xia.

Voici une autre documentation FreeCAD 0.19dev Doxygen ainsi qu'une version précédente 0.16dev_documentation, générée par qingfeng.xia.

Intégrer la documentation Coin3D

Sur les systèmes Unix, il est possible de lier les documents sources Coin3D avec FreeCAD.

Il permet une navigation plus facile dans l'arborescence des diagrammes, pour les classes Coin dérivées.

  • Sur les systèmes Debian et dérivés :
- Installez le paquet libcoin60-doc.
- Décompressez le fichier /usr/share/doc/libcoin60-doc/html/coin.tag.gz.
- Régénérer le source de la documentation.
Vous êtes prêt pour la navigation hors ligne.
  • Si vous ne voulez pas, ou ne pouvez pas installer Coin doc package, les liens seront générés pour accéder à Coin doc en ligne, sur doc.coin3D.org, si le fichier doxygen tag peut être téléchargé au moment de la configuration (wget).

Comment intégrer doxygen dans le code source de FreeCAD

Ceci est un travail en cours. Voyez Doxygen

Exemple de page complète doxygen : (d'un autre projet)

This section explains how to comment your source code so that it can be processed by Doxygen to automatically create the documentation.

This is an example of how source code is documented. It looks into the source code of VTK, a 3D visualization library used to present multi-physics simulation results.

A class to store a collection of coordinates is defined in a C++ header file. The top part of the file is commented, and a few keywords are used, like @class, @brief, @sa, and @par to indicate important parts. Inside the class, before a function is called, a block of commented text explains what the function does, and its arguments.