Giter VIP home page Giter VIP logo

doxygen_collaboration_graph_combiner's Introduction

doxygen_collaboration_graph_combiner

Scripts to combine (all) collaboration graphs generated by doxygen to one.

Objective

These scripts shall help to combine collaboration graphs, which were generated by doxygen, to one combined graph.

Doxygen can generate collaboration graphs for every class. Sometimes it can be helpful to have a collaboration graph for more than just that class.

Mechanics

The scripts uses the DOT files for the collaboration graphs generated by doxygen. It creates DOT files where the nodes in the graphs have been renamed such that they correspond to their content. Then the graphs are combined to one.

System requirements

  • doxygen
  • Python
  • dot / GraphViz

Perquisites

The following options must be set when running doxygen:

HAVE_DOT            = YES
COLLABORATION_GRAPH = YES
DOT_CLEANUP         = NO

Steps

  1. Generate the documentation with doxygen. A clean rebuild may be necessary to create the intermediate DOT files.
    rm -r html/
    doxygen
  2. Prepare the files:
    The original files are not modified.
    python3 prepare_files.py html/*__coll__*.dot
  3. Combine graphs:
    Instead of using all altered files, one may also select only a subset.
    python3 merge_digraphs.py html/*_renamed.dot combined__coll__.dot
  4. Generate diagram:
    dot -O -Tsvg combined__coll__.dot

Example output

combined__coll__ dot

doxygen_collaboration_graph_combiner's People

Contributors

dhebbeker avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.