La documentazione online del sorgente si trova in http://www.freecadweb.org/api/
Il codice sorgente di FreeCAD è commentato per consentire la generazione automatica della documentazione html con Doxygen. Questo vale sia per la parte C++ che per la parte Python del codice sorgente di FreeCAD.
A coloro che vogliono seguire da vicino le ultime versioni di sviluppo di FreeCAD o che vogliono esplorare la parte C++ o Python, il primo sguardo al codice sorgente può dare l'impressione di esplorare un riccio: non si riesce a distinguere la testa dalla coda e non si sa davvero come prenderlo!
A complemento di questo Wiki, speriamo che la the Documentazione del codice sorgente possa alleviare questa sensazione, fornendo un punto di partenza e consentendo una facile navigazione attraverso le decine di file e directory.
Se Doxygen è già installato, è molto facile costruire il doc (la documentazione). Andare nella propria directory di compilazione di FreeCAD, configurare il sorgente con CMake, eseguendo
make DevDoc
poi consultare i file HTML risultanti iniziando da Doc/SourceDocu/html/index.html
La DevDoc è molto ingombrante, se graphviz è installato sul sistema, genera un volume dei dati maggiore di 2Gb. Un'alternativa, può invece essere generata una versione più piccola (~ 500Mb), che è la versione utilizzata in http://www.freecadweb.org/api/ e che si ottiene con:
make WebDoc
Per natura, la documentazione del codice sorgente è, e sarà sempre, un lavoro in corso. Non esitate a ricostruirla tutte le volte che è necessario. Se riscontrate delle carenze evidenti, non esitate a postarle sul forum (nota: Solo quando il processo di costruzione è effettivamente controllato per intero con CMake).
In alternativa, la documentazione viene generata di volta in volta ed è accessibile su sourceforge quí
Questo è un altro FreeCAD Doxygen documentation generato da qingfeng.xia.
Sui sistemi Unix, è possibile collegare la documentazione del codice sorgente di Coin3D con quella di FreeCAD. Questo consente una navigazione più agevole e diagrammi di ereditarietà completi per le classi derivate da Coin.
Esempio di una pagina doxygen completa: (da un altro progetto)
doxygen: http://www.vtk.org/doc/nightly/html/classvtkArrayCoordinates.html
sorgente: https://github.com/Kitware/VTK/blob/master/Common/Core/vtkArrayCoordinates.h