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