Frage

Die (gerichteten) Graphen stellen endliche Automaten. Bis jetzt mein Testprogramm zum Testen Punkt-Dateien geschrieben werden. Das ist ziemlich gut, sowohl für Regressionstests (hält die verifizierten Ausgabedateien in Subversion, fragen sie, ob es eine Veränderung stattgefunden hat) und für die Visualisierung. Es gibt jedoch einige Probleme ...

Im Grunde möchte ich etwas aufrufbar von C ++ und die plant, ein Layout für meine Zustände und Übergänge, sondern Blätter die Zeichnung zu mir -. Etwas, das mir erlaubt, Dinge zu zeichnen aber ich und auf GUI zeichnen möchten (wxWidgets) Fenster

Ich möchte auch eine Lizenz, die kommerzielle Nutzung erlaubt -. Ich brauche nicht, dass derzeit, und ich kann als Open Source sehr gut lösen, aber ich will nicht meine Optionen ATM begrenzen

Die Probleme mit GraphViz sind (1) die Warnungen über die Sourcen auf Windows, (2) alle unnötigen Abhängigkeiten für die Darstellung und Analyse, und (3) die (vermutete) fehlt einer dokumentierten API speziell und ausschließlich für das Layout .

Grundsätzlich möchte ich der Lage sein, meine Zustände angeben (mit Rechteck Größen begrenzt) und Übergänge und Positionen ausgelesen für die Zustände und Wegpunkte für jeden Übergang, dann auf diesen Koordinaten ziehen zu mir selbst. Ich habe wirklich nicht herausgefunden, wie Annotationen auf Übergänge behandelt werden sollen, aber es sollte eine Art vorgesehen sein, die Angabe Begrenzungs-Box-Größen für diejenigen, sie mit Übergängen assoziiert, und Positionen ausliest.

Kennt jemand eine Bibliothek, die diese Anforderungen verarbeiten kann?

Ich bin nicht unbedingt gegen etwas für mich die Umsetzung, aber in diesem Fall würde ich es eher vermeiden, wenn möglich.

War es hilfreich?

Lösung 4

Auch wenn die Antworten bisher wert waren ein upvote, kann ich nicht wirklich einer von ihnen akzeptieren. Ich habe noch auf der Suche gewesen, aber.

Eine Sache, ich fand, ist AGLO . Der Code GPL v1 ist, aber es gibt Papiere, die die Algorithmen beschreiben, so dass es von Grund auf leicht genug, um neu zu implementieren sein sollte, wenn nötig.

Es gibt auch das Papier von Gansner, Koutsofios, Nord- und Vo - "Eine Technik zur Zeichnung gerichteter Graphen" - erhältlich von hier auf der Graphviz Website .

Ich habe mich auch eng an der BSD-Lizenz (aber Java) JGraph .

Eine oder andere Weise, es sieht aus wie ich Neuimplementierung das Rades sein könnte, wenn nicht tatsächlich neu zu erfinden.

Andere Tipps

Hmm, GDToolkit (oder GDT) sieht okay: Viele der Bilder in der

OGDF steht unter der GPL.

Pigale ist auch unter der GPL.

GoVisual kommerzielle Software, aber es sieht aus wie es bei $ 1800 für einen Entwickler beginnt.

ich es zu tun hatte mit einem ähnlichen Problem zu Beginn dieses Jahres. Ein wichtiger Eingangsparameter für eine Entscheidung ist jedoch die erwartete Anzahl von Knoten.

Ich beschloss, den Browser als Benutzeroberfläche zu verwenden und damit für schöner Javascript-Bibliotheken sah, ein i über kam, war wireit , ist es sehr gut für technische Layouts geeignet (und Bearbeitung auch mit Drag & Drop und‚on the fly‘Layouten). Sie könnten leicht anschließen, die zu Ihrem c ++ indem Sie einen kleinen Webserver in einem Thread ausgeführt wird (Sie werden irgendeine Art von Ereignisschleife benötigen / Thread thingie für GUI sowieso).

Nun nur meine 2 Cent.

Hier ist eine gute Sammlung von Graph Libs mit Vergleich und die Suche Funktionalität:
http://gvsr.polytech.univ-nantes.fr/GVSR/ Aufgabe? action = browse #

Sie vielleicht einen lib, das paßt für Sie.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top