Cómo usar doxygen para crear diagtwigs de clase UML desde la fuente C ++

He estado buscando algún material que describa cómo generar diagtwigs de clases simples con doxygen, pero no pude encontrar uno. ¿Alguien puede ayudar?

Necesito crear diagtwigs como se muestra a continuación desde un conjunto de archivos C ++. texto alternativo

Si hay mejores herramientas para lograr esto más fácil, házmelo saber.

Doxygen crea diagtwigs de herencia, pero no creo que creará una jerarquía de clases completa. Le permite usar la herramienta GraphViz. Si utiliza la herramienta de interfaz gráfica de usuario de la interfaz gráfica de usuario de Doxygen, encontrará las opciones relevantes en el Step2: -> Wizard tab -> Diagrams . Las opciones de relación DOT están en la pestaña Experto.

Cita de esta publicación (está escrita por el autor del propio doxygen):

 run doxygen -g and change the following options of the generated Doxyfile: EXTRACT_ALL = YES HAVE_DOT = YES UML_LOOK = YES run doxygen again 

Hmm, esta parece ser una vieja pregunta, pero como he estado jugando con la configuración de Doxygen en los últimos días, mientras mi cabeza todavía está llena de información actual, apuñémosla.

Creo que las respuestas anteriores casi lo tienen:

La opción que falta es agregar COLLABORATION_GRAPH = YES en Doxyfile. Supongo que puedes hacer lo equivalente en algún lugar de la GUI doxywizard (no uso doxywizard).

Entonces, como un ejemplo más completo, las opciones típicas de “Doxyfile” relacionadas con la salida UML que tiendo a usar son:

 EXTRACT_ALL = YES CLASS_DIAGRAMS = YES HIDE_UNDOC_RELATIONS = NO HAVE_DOT = YES CLASS_GRAPH = YES COLLABORATION_GRAPH = YES UML_LOOK = YES UML_LIMIT_NUM_FIELDS = 50 TEMPLATE_RELATIONS = YES DOT_GRAPH_MAX_NODES = 100 MAX_DOT_GRAPH_DEPTH = 0 DOT_TRANSPARENT = YES 

Estas configuraciones generarán diagtwigs de “herencia” ( CLASS_GRAPH=YES ) y de “colaboración” ( COLLABORATION_GRAPH=YES ).

Dependiendo de su objective de “despliegue” de la salida de doxígeno, la configuración de DOT_IMAGE_FORMAT = svg también puede ser útil. Con la salida svg, los diagtwigs son “escalables” en lugar de la resolución fija de los formatos de bitmap, como .png. Aparentemente, si se visualiza la salida en buscadores que no sean IE, también hay INTERACTIVE_SVG = YES que permitirá “zoom y paneo interactivo” de los diagtwigs svg generados. Intenté esto hace algún tiempo, y la salida svg fue muy atractiva visualmente, pero en ese momento, el soporte del navegador para svg todavía era un poco inconsistente, así que con suerte esa situación puede haber mejorado últimamente.

Como han mencionado otros comentarios, algunas de estas configuraciones ( DOT_GRAPH_MAX_NODES en particular) tienen impactos potenciales en el rendimiento, por lo tanto, YMMV.

Tiendo a odiar las respuestas de estilo “RTFM”, así que me disculpo por esta frase, pero en este caso la documentación de Doxygen es realmente tu amiga, así que mira los documentos de Doxygen en la configuración mencionada anteriormente. La última vez que miré puedes encontrar los detalles en http://www.stack.nl/~dimitri/doxygen/manual/config.html .

Creo que tendrá que editar el archivo doxys y establecer GENERATE_UML (algo así) en verdadero. Y necesita tener dot / graphviz instalado.

Enterprise Architect construirá un diagtwig UML a partir del código fuente importado.