Source documentation/es: Difference between revisions

From FreeCAD Documentation
(Created page with "==== Construcción de la documentación del código fuente ====")
(Created page with "Luego siga los mismos pasos que seguiría para compilar FreeCAD, como se describe en la página Compilar en Linux y se resume aquí para mayor comodidad. * Obtenga el código fuente de FreeCAD y colóquelo en su propio directorio {{incode|freecad-source}}. * Crea otro directorio {{incode|freecad-build}} en el que compilarás FreeCAD y su documentación. * Configure las fuentes con {{incode|cmake}}, asegurándose de indicar el directorio de fuen...")
 
(66 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages/>
El código fuente de FreeCAD está comentado para permitir la generación automática de la documentación html con [http://www.doxygen.org Doxygen].


{{Docnav/es
Para aquellos que quieran seguir de cerca las últimas versiones svn de FreeCAD, y que intenten echar un vistazo a la parte de c++, el primer vistazo al código fuente puede dar la sensación de que estas viendo a un erizo: no puedes discriminar de los pies a la cabeza y no sabes realmente como gogerlo!
|[[Extra python modules/es|Módulos extra python]]
|[[Contributors/es|Contribuidores]]
}}


{{TOCright}}
En complemento a la wiki, la ''documentación del código fuente'' esperamos que pueda aliviar esta sensación, proporcionando un punto de entrada, y permitiendo de forma sencilla navegar a través de las docenas de archivos y directorios.


==Vista general==
==== Construcción de la documentación del código fuente ====
El código fuente de FreeCAD se comenta para permitir la generación automática de documentación de programación usando [[Doxygen/es|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 [https://freecad.github.io/SourceDoc/ 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 [https://forum.freecadweb.org/index.php Foro de FreeCAD].
If you have Doxygen installed, it's very easy to build the doc. Go to your FreeCAD build directory, configure your sources with CMake, issue
<syntaxhighlight>
make DevDoc
</syntaxhighlight>
and consult the resulting html files starting from Doc/SourceDocu/html/index.html
(note: the DevDoc target is not valid for autotools builds)


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/es|Compilar en Linux]].
By nature, source doc is, and will ever be, work in progress. Don't hesitate to rebuild as often as needed. If you fall upon blatant inadequacies, feel free to post on the forum (note: It is really fully checked with cMake build process only).


[[File:FreeCAD_documentation_compilation_workflow.svg|800px]]
As an alternative, the doc is generated from time to time and accessible on sourceforge [http://free-cad.sf.net/SrcDocu/index.html here]


{{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.}}
==== Integrate Coin3D documentation ====


<span id="Build_source_documentation"></span>
On unix systems, it is possible to link Coin3D source documentation with FreeCAD's.
== Construcción de la documentación del código fuente ==
It allows easier navigation and complete inheritance diagrams for Coin derived classes.


<span id="Complete_documentation"></span>
* On Debian and derived systems:
=== Documentación completa ===
: - Install the package libcoin60-doc
: - Uncompress the file /usr/share/doc/libcoin60-doc/html/coin.tag.gz
: - Regenerate source documentation
: You are up for offline browsing.


Si tienes Doxygen instalado, es muy fácil construir la documentación. También instala [https://www.graphviz.org/ Graphviz] para poder producir diagramas que muestren las relaciones entre las diferentes clases y bibliotecas en el código de FreeCAD. Graphviz también es utilizado por [[Std_DependencyGraph/es|Gráfico de dependencia]] de FreeCAD para mostrar las relaciones entre diferentes objetos.
* If you don't want to or can't install Coin doc package, the links will be generated to access coin doc online at doc.coin3D.org, if doxygen tag file can be downloaded at configure time (wget).
{{Code|code=
sudo apt install doxygen graphviz
}}


Luego siga los mismos pasos que seguiría para compilar FreeCAD, como se describe en la página [[Compile_on_Linux/es|Compilar en Linux]] y se resume aquí para mayor comodidad.
{{docnav|Extra python modules|List of Commands}}
* Obtenga el código fuente de FreeCAD y colóquelo en su propio directorio {{incode|freecad-source}}.
* Crea otro directorio {{incode|freecad-build}} en el que compilarás FreeCAD y su documentación.
* Configure las fuentes con {{incode|cmake}}, asegurándose de indicar el directorio de fuentes y especificar las opciones requeridas para su compilación.
* Activa la creación de la documentación usando {{incode|make}}.
{{Code|code=
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
}}


Mientras estás dentro del directorio de construcción, da la siguiente instrucción para crear sólo la documentación.
[[Category:Developer Documentation]]
{{Code|code=
make -j$(nproc --ignore=2) DevDoc
}}
Como se mencionó en [[Compiling (Speeding up)/es|Compilación (aceleración)]], la {{incode|-j}} opción establece el número de núcleos de CPU utilizados para la compilación. Los archivos de documentación resultantes aparecerán en el directorio.
{{Code|code=
freecad-build/doc/SourceDocu/html/
}}

El punto de entrada a la documentación es el archivo {{incode|index.html}}, que se puede abrir con un navegador web:
{{Code|code=
xdg-open freecad-build/doc/SourceDocu/html/index.html
}}

El objetivo {{incode|DevDoc}} generará una cantidad significativa de datos, alrededor de 5 GB de nuevos archivos, particularmente debido a los diagramas creados por Graphviz.

<span id="Reduced_documentation"></span>
=== Documentación reducida ===

La documentación completa usa alrededore de 3Gb de espacio en disco. Se puede generar una versión alternativa y más pequeña de la documentación, que sólo requiere unos 600 MB, con un objetivo diferente. Esta es la versión que se muestra en el [https://freecad.github.io/SourceDoc/ sitio web de FreeCAD API].
{{Code|code=
make -j$(nproc --ignore=2) WebDoc
}}

La documentación en el [https://freecad.github.io/SourceDoc/ sitio web de FreeCAD API] se genera automáticamente desde https://github.com/FreeCAD/SourceDoc. Cualquiera puede reconstruirlo y enviar un pull request:

* Bifurca el repositorio en https://github.com/FreeCAD/SourceDoc
* en su máquina: clone el código FreeCAD (si aún no lo ha hecho), cree un directorio de compilación para el documento y clone el repositorio de SourceDoc anterior en él. Ese SourceDoc se actualizará cuando reconstruyas el documento y podrás confirmar y enviar los resultados después:
{{Code|code=
git clone https://github.com/FreeCAD/FreeCAD
cd FreeCAD
mkdir build
cd build
mkdir -p doc/SourceDocu/html
cd doc/SourceDocu/html
git clone your-fork-url
cd ../../..
cmake -DBUILD_QT5=ON -DPYTHON_EXECUTABLE=/usr/bin/python3 ..
make WebDoc
cd doc/SourceDocu/html
git commit
git push
}}
* Vaya a su bifurcación en línea y cree un pull request.

== Otras versiones ==
[https://iesensor.com/FreeCADDoc/0.19/ Desarrollo de FreeCAD 0.19] documentación creada por [http://forum.freecadweb.org/viewtopic.php?t=12613 qingfeng.xia].

<span id="Integrate_Coin3D_documentation"></span>
== Integrar la documentación de Coin3D ==

En los sistemas Unix es posible vincular la documentación de origen de Coin3D con la de FreeCAD. Esto permite una navegación más fácil y diagramas de herencia completos para las clases derivadas de Coin.

*Instale el paquete {{incode|libcoin-doc}}, {{incode|libcoin80-doc}}, o un paquete de nombre similar.
*Descomprima el archivo {{incode|coin.tar.gz}} ubicado en {{incode|/usr/share/doc/libcoin-doc/html}}; los archivos pueden estar ya descomprimidos en su sistema.
*Genera de nuevo la documentación de fuente.

Si no instalas el paquete de documentación de Coin, se generarán los enlaces para acceder a la documentación en línea en [https://coin3d.bitbucket.io/Coin/ BitBucket]. Esto sucederá si un archivo de etiquetas de Doxygen puede ser descargado en tiempo de configuración con {{incode|wget}}.

<span id="Using_Doxygen"></span>
== Usando Doxygen ==

Vea la página [[Doxygen/es|Doxygen]] para una extensa explicación sobre cómo comentar el código fuente de C++ y Python para que pueda ser procesado por Doxygen para crear automáticamente la documentación.

Esencialmente, un bloque de comentarios, comenzando con {{incode|/**}} o {{incode|///}} para C++, o {{incode|##}} para Python, debe aparecer antes de cada definición de clase o función, para que sea recogido por Doxygen. Muchos [[Doxygen/es#Doxygen markup|comandos especiales]], que comienzan con {{incode||}} o {{incode|@}}, pueden ser usados para definir partes del código y dar formato a la salida. [[Doxygen#Markdown support/es|Markdown sintaxis]] también se entiende dentro del bloque de comentarios, lo que hace conveniente enfatizar ciertas partes de la documentación.
{{Code|code=
/**
* 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);
}}


{{Docnav/es
|[[Extra python modules/es|Módulos extra python]]
|[[Contributors/es|Contribuidores]]
}}

{{Userdocnavi{{#translation:}}}}
[[Category:Developer Documentation{{#translation:}}]]
{{clear}}
{{clear}}
<languages/>

Latest revision as of 19:05, 31 October 2023

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

Documentación completa

Si tienes Doxygen instalado, es muy fácil construir la documentación. También instala Graphviz para poder producir diagramas que muestren las relaciones entre las diferentes clases y bibliotecas en el código de FreeCAD. Graphviz también es utilizado por Gráfico de dependencia de FreeCAD para mostrar las relaciones entre diferentes objetos.

sudo apt install doxygen graphviz

Luego siga los mismos pasos que seguiría para compilar FreeCAD, como se describe en la página Compilar en Linux y se resume aquí para mayor comodidad.

* Obtenga el código fuente de FreeCAD y colóquelo en su propio directorio freecad-source.
* Crea otro directorio freecad-build en el que compilarás FreeCAD y su documentación.
* Configure las fuentes con cmake, asegurándose de indicar el directorio de fuentes y especificar las opciones requeridas para su compilación.
* Activa la creación de la documentación usando 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

Mientras estás dentro del directorio de construcción, da la siguiente instrucción para crear sólo la documentación.

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

Como se mencionó en Compilación (aceleración), la -j opción establece el número de núcleos de CPU utilizados para la compilación. Los archivos de documentación resultantes aparecerán en el directorio.

freecad-build/doc/SourceDocu/html/

El punto de entrada a la documentación es el archivo index.html, que se puede abrir con un navegador web:

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

El objetivo DevDoc generará una cantidad significativa de datos, alrededor de 5 GB de nuevos archivos, particularmente debido a los diagramas creados por Graphviz.

Documentación reducida

La documentación completa usa alrededore de 3Gb de espacio en disco. Se puede generar una versión alternativa y más pequeña de la documentación, que sólo requiere unos 600 MB, con un objetivo diferente. Esta es la versión que se muestra en el sitio web de FreeCAD API.

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

La documentación en el sitio web de FreeCAD API se genera automáticamente desde https://github.com/FreeCAD/SourceDoc. Cualquiera puede reconstruirlo y enviar un pull request:

* en su máquina: clone el código FreeCAD (si aún no lo ha hecho), cree un directorio de compilación para el documento y clone el repositorio de SourceDoc anterior en él.  Ese SourceDoc se actualizará cuando reconstruyas el documento y podrás confirmar y enviar los resultados después:
git clone https://github.com/FreeCAD/FreeCAD
cd FreeCAD
mkdir build
cd build
mkdir -p doc/SourceDocu/html
cd doc/SourceDocu/html
git clone your-fork-url
cd ../../..
cmake -DBUILD_QT5=ON -DPYTHON_EXECUTABLE=/usr/bin/python3 ..
make WebDoc
cd doc/SourceDocu/html
git commit
git push
  • Vaya a su bifurcación en línea y cree un pull request.

Otras versiones

Desarrollo de FreeCAD 0.19 documentación creada por qingfeng.xia.

Integrar la documentación de Coin3D

En los sistemas Unix es posible vincular la documentación de origen de Coin3D con la de FreeCAD. Esto permite una navegación más fácil y diagramas de herencia completos para las clases derivadas de Coin.

  • Instale el paquete libcoin-doc, libcoin80-doc, o un paquete de nombre similar.
  • Descomprima el archivo coin.tar.gz ubicado en /usr/share/doc/libcoin-doc/html; los archivos pueden estar ya descomprimidos en su sistema.
  • Genera de nuevo la documentación de fuente.

Si no instalas el paquete de documentación de Coin, se generarán los enlaces para acceder a la documentación en línea en BitBucket. Esto sucederá si un archivo de etiquetas de Doxygen puede ser descargado en tiempo de configuración con wget.

Usando Doxygen

Vea la página Doxygen para una extensa explicación sobre cómo comentar el código fuente de C++ y Python para que pueda ser procesado por Doxygen para crear automáticamente la documentación.

Esencialmente, un bloque de comentarios, comenzando con /** o /// para C++, o ## para Python, debe aparecer antes de cada definición de clase o función, para que sea recogido por Doxygen. Muchos comandos especiales, que comienzan con o @, pueden ser usados para definir partes del código y dar formato a la salida. Markdown sintaxis también se entiende dentro del bloque de comentarios, lo que hace conveniente enfatizar ciertas partes de la documentación.

/**
 * 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);