In a Nutshell
Projects using OGDF
Team & Contact
What is OGDF?
What does OGDF require? LEDA?
Is there a roadmap for new features, releases,...?
What is the release schedule of OGDF?
What is OGDF's versioning scheme?
Where can I learn how to use OGDF?
Can algorithms be forced to produce always the same results?
The Open Graph Drawing Framework (OGDF) is an open-source C++ library offering data-structures and algorithms specifically tuned for, but not restricted to, graph drawing applications. It is not a program which can be directly used to draw graphs, but an algorithmic layer to be used within such other programs.
OGDF compiles under Linux, MacOS and Windows, with current GCC and Microsoft compilers. The library itself is self-contained, i.e., it does not require any other libraries such as LEDA.
Optionally, OGDF can be compiled against Osi Coin and ABACUS to enable additional algorithms which require an (I)LP solver.
Starting with the next public release (and already available as snapshots) we will bundle COIN and ABACUS with OGDF, and installing OGDF will automatically provide the required COIN and ABACUS code.
Currently, there is no fixed roadmap. The development of OGDF is strongly based on our current research interests and projects.
We do not follow a regular schedule, and new releases will come whenever we feel that OGDF has changed or grown enough to qualify for a new release. When bugs pop up, we will publish hotfixes for the current release. The current status of development is also available as snapshots, which are builds of the developer version.
Each release version has a codename and a version number YYYY.MM, whereby YYYY gives the year and MM the month of the release date. Subsequent bugfixes of a release are denoted by a single letter (increasingly) appended to the release's version number.
You can start with looking at code samples at our How-Tos. Our page also offers overviews on basic data structures, graph classes, layout algorithms, and modules provided by OGDF. For further details you can always consult our full reference documentation of OGDF or read/ask on our mailing list.
Some algorithms in ogdf are randomized, so their results may differ from call to call. If you want to force a deterministic behavior, you can set the random seed of C's random number generator to the same value before each call; this is done by calling the
srand() function with an unsigned integer value.