Source documentation/es: Difference between revisions

From FreeCAD Documentation
(Created page with "La compilación de la documentación de la API sigue los mismos pasos generales que la compilación del ejecutable de FreeCAD, como se indica en la página Compile_on_Linux/...")
(Created page with "{{Caption|Flujo de trabajo general para compilar la documentación de programación de FreeCAD. Los paquetes Doxygen y Graphviz deben estar en el sistema, así como el propio...")
Line 14: Line 14:
[[File:FreeCAD_documentation_compilation_workflow.svg|800px]]
[[File:FreeCAD_documentation_compilation_workflow.svg|800px]]


{{Caption|Flujo de trabajo general para compilar la documentación de programación de FreeCAD. Los paquetes Doxygen y Graphviz deben estar en el sistema, así como el propio código fuente de FreeCAD. CMake configura el sistema de manera que con una sola instrucción de fabricación la documentación de todo el proyecto se compila en muchos archivos HTML con diagramas.}}
{{Caption|General workflow to compile FreeCAD's programming documentation. The Doxygen and Graphviz packages must be in the system, as well as the FreeCAD source code itself. CMake configures the system so that with a single make instruction the documentation for the the entire project is compiled into many HTML files with diagrams.}}


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">

Revision as of 10:55, 2 November 2020

Vista general

El código fuente de FreeCAD se comenta para permitir la generación automática de documentación de programación usando Doxygen, un popular sistema de documentación de código fuente. Doxygen puede documentar tanto la parte C++ como la parte Python de FreeCAD, dando como resultado páginas HTML con hipervínculos a cada función y clase documentada.

La documentación está alojada en línea en el Sitio web de FreeCAD API. Tenga en cuenta que esta documentación puede no estar siempre actualizada; si necesita más detalles, descargue el último código fuente de FreeCAD y compile la documentación usted mismo. Si tienes preguntas urgentes sobre el código, por favor, pregúntalas en la sección de desarrolladores del Foro de FreeCAD.

La compilación de la documentación de la API sigue los mismos pasos generales que la compilación del ejecutable de FreeCAD, como se indica en la página Compilar en Linux.

Flujo de trabajo general para compilar la documentación de programación de FreeCAD. Los paquetes Doxygen y Graphviz deben estar en el sistema, así como el propio código fuente de FreeCAD. CMake configura el sistema de manera que con una sola instrucción de fabricación la documentación de todo el proyecto se compila en muchos archivos HTML con diagramas.

Construcción de la documentación del código fuente

Si tienes Doxygen instalado, es muy sencillo construir la documentación. Vete al directorio de construcción de FreeCAD, configura tu código fuente con CMake, ejecuta

sudo apt install doxygen graphviz

Then follow the same steps you would do to compile FreeCAD, as described on the compile on Unix page, and summarized here for convenience.

  • Get the source code of FreeCAD and place it in its own directory freecad-source.
  • Create another directory freecad-build in which you will compile FreeCAD and its documentation.
  • Configure the sources with cmake, making sure you indicate the source directory, and specify the required options for your build.
  • Trigger the creation of the documentation using 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

While you are inside the build directory issue the following instruction to create only the documentation.

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

y consulta los archivos html resultantes empezando por Doc/SourceDocu/html/index.html (nota: el objetivo de DevDoc no es válido para la construcción con autotools)

freecad-build/doc/SourceDocu/html/

The point of entrance to the documentation is the index.html file, which you can open with a web browser:

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

The DevDoc target will generate a significant amount of data, around 5 GB of new files, particularly due to the diagrams created by Graphviz.

An alternative, smaller version of the documentation which takes only around 600 MB can be generated with a different target. This is the version displayed on the FreeCAD API website.

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

Como una alternativa, la documentación es generada de vez en cuando y accesible en sourceforge aquí

FreeCAD 0.16 development documentation built by qingfeng.xia.

FreeCAD 0.19 development documentation built by qingfeng.xia.

Documentación de Coin3D integrada

En sistemas unix, es posible vincular la documentación del código fuente de Coin3D con la de FreeCAD. Esto permite una navegación más sencilla y diagramas de herencia completos para las clases derivadas de Coin.

  • En Debian y sistemas derivados:
- Instala el paquete libcoin60-doc
- Descomprime el archivo /usr/share/doc/libcoin60-doc/html/coin.tag.gz
- Regenera la documentación del código fuente
Ya estás listo para navegar offline.
  • Si no quieres o no puedes instalar el paquete de documentación de Coin, los vínculos serán generados para acceder a la documentación online de Coin en doc.coin3D.org, si los archivos de etiquetas de doxygen pueden ser descargados y configurados en el momento de configuración (wget).

Using Doxygen

See the Doxygen page for an extensive explanation on how to comment C++ and Python source code so that it can be processed by Doxygen to automatically create the documentation.

Essentially, a comment block, starting with /** or /// for C++, or ## for Python, needs to appear before every class or function definition, so that it is picked up by Doxygen. Many special commands, which start with \ or @, can be used to define parts of the code and format the output. Markdown syntax is also understood within the comment block, which makes it convenient to emphasize certain parts of the documentation.

/**
 * Returns the name of the workbench object.
 */
std::string name() const;

/**
 * Set the name to the workbench object.
 */
void setName(const std::string&);

/// remove the added TaskWatcher
void removeTaskWatcher(void);