Das Open Graph Drawing Framework (OGDF) ist eine umfangreiche C++-Klassenbibliothek zur automatisierten Visualisierung von Graphen. Neben vielen Layout-Algorithmen bietet es ebenfalls eigene Datenstrukturen für Graphen unterschiedlicher Art sowie Schnittstellen zum Lesen und Schreiben einiger bekannter Datenformate zur Repräsentation von Graphen.

Bestandteile

Das Framework lässt sich im Groben in folgende Bereiche unterteilenOffizielle Webseite des Projekts:

Allgemeine Datenstrukturen

Datenstrukturen zur Speicherung von allgemeinen Datentypen. Diese umfassen unter anderem:

Verkettete Listen Arrays Heaps

Graph-Datenstrukturen

Klassen zur Speicherung unterschiedlicher Arten von Graphen, ihren Knoten und Kanten und weiteren Helferklassen. Mit den Graphklassen können dargestellt werden:

Allgemeiner Graph (gerichtet oder ungerichtet), Attribute zu einem Graph (Beschriftungen, Knoten-Koordinaten, weitere grafische Attribute, …) Kombinatorische Einbettung eines planaren Graphs Dualgraph zu einer kombinatorischen Einbettung Graphreduktion, Graph-Clusterisierung Hypergraph

Layout-Algorithmen

Diverse Algorithmen zur Visualisierung (Layoutgenerierung) von Graphen. Diese umfassen:

Orthogonale und geradlinige Layouts Multilevel-Layouts (z. B. FM³) Kräftebasierte Layouts (z. B. Spring Embedder, GEM, Simulated Annealing) Aufwärts-Layouts (z. B. Sugiyama) Planare Layouts Baumlayouts

Module

In Modulen sind wiederverwendbare Algorithmen ausgelagert, welche von den einzelnen Layoutalgorithmen verwendet werden.

Unterstützte Dateiformate für Graphen

Als Schnittstelle zum Lesen und Schreiben von Graphen unterstützt OGDF unter anderem folgende DateiformateOGDF-Referenz: Klasse GraphIO:

DOT GEXF (Graph Exchange XML Format) von Gephi Graph Modelling Language (GML) GraphML LEDAs natives Format für GraphenLEDA's natives Format für Graphen Rudy TLP von Tulip YGF, das Y-Graph-Format

Einzelnachweise

Kategorie:Graphentheorie Kategorie:C++-Bibliothek