(Направленные) графы представляют собой конечные автоматы. До сих пор моя тестовая программа выписывала точечные файлы для тестирования. Это очень хорошо как для регрессионного тестирования (сохраните проверенные выходные файлы в Subversion, спросите его, были ли изменения), так и для визуализации. Однако есть некоторые проблемы ...
По сути, я хочу что-то вызываемое из C ++ и которое планирует макет для моих состояний и переходов, но оставляет рисование для меня - то, что позволит мне рисовать вещи так, как я хочу, и рисовать в окнах GUI (wxWidgets). *
Мне также нужна лицензия, которая позволит коммерческое использование - в настоящее время она мне не нужна, и я вполне могу выпустить ее как открытый исходный код, но я не хочу ограничивать свои параметры банкоматом.
Проблемы с GraphViz заключаются в (1) предупреждениях о сборке из исходного кода в Windows, (2) всех ненужных зависимостях для рендеринга и анализа и (3) (предполагаемом) отсутствии документированного API специально и исключительно для макета .
По сути, я хочу иметь возможность указывать свои состояния (с ограничивающими размерами прямоугольника) и переходы, и считывать позиции для состояний и путевых точек для каждого перехода, а затем рисовать на основе этих координат самостоятельно. Я не совсем понял, как следует обрабатывать аннотации к переходам, но должно быть какое-то условие для определения размеров ограничивающих прямоугольников, связывания их с переходами и считывания позиций.
Кто-нибудь знает библиотеку, которая может удовлетворить эти требования?
Я не обязательно против реализации чего-либо для себя, но в этом случае я бы предпочел избежать этого, если это возможно.