I grafici (diretti) rappresentano gli automi finiti. Fino ad ora il mio programma di test ha scritto file di punti per i test. Questo è abbastanza buono sia per i test di regressione (mantenere i file di output verificati in sovversione, chiedere se c'è stato un cambiamento) sia per la visualizzazione. Tuttavia, ci sono alcuni problemi ...C'è una buona libreria di layout grafico richiamabile da C++?
Fondamentalmente, voglio qualcosa di chiamabile da C++ e che pianifica un layout per i miei stati e transizioni ma lascia il disegno per me - qualcosa che mi consentirà di disegnare le cose comunque voglio e disegnare su finestre GUI (wxWidgets).
Desidero anche una licenza che consenta l'uso commerciale - Non ne ho bisogno al momento, e potrei benissimo pubblicare come open source, ma non voglio limitare le mie opzioni ATM.
I problemi con GraphViz sono (1) le avvertenze circa compilare i sorgenti su Windows, (2) tutte le dipendenze non necessarie per il rendering e l'analisi, e (3) la (presunta) mancanza di un'API documentata specificamente e puramente disposizione.
Fondamentalmente, desidero essere in grado di specificare i miei stati (con dimensioni del rettangolo di delimitazione) e le transizioni e di leggere le posizioni per gli stati e i waypoint per ogni transizione, quindi disegnare in base a quelle coordinate. Non ho davvero capito come dovrebbero essere gestite le annotazioni sulle transizioni, ma ci dovrebbe essere una sorta di provvedimento per specificare le dimensioni delle caselle di delimitazione per quelle, associarle alle transizioni e leggere le posizioni.
Qualcuno sa di una libreria in grado di gestire tali requisiti?
Non sono necessariamente contrario all'implementazione di qualcosa per me stesso, ma in questo caso preferisco evitarlo, se possibile.
+1 per una domanda eccellente e ben dichiarata. Sfortunatamente, non ho una risposta. – aib
Boost ha algoritmi grafici: http://www.boost.org/doc/libs/1_42_0/libs/graph/doc/index.html Penso che la visualizzazione sia fuori dal suo scopo. –
Ci sono algoritmi di layout all'interno del modulo grafico boost, ma sfortunatamente non sono appropriati per i grafici diretti. Vedere la sezione 22.12 qui: http://www.boost.org/doc/libs/1_42_0/libs/graph/doc/table_of_contents.html – Kim