Ste*_*314 15 c++ layout automata directed-graph
(有向)图表代表有限自动机.到目前为止,我的测试程序已经写出了用于测试的点文件.这对于回归测试(将验证的输出文件保存在subversion中,询问是否存在更改)和可视化都非常好.但是,有一些问题......
基本上,我想要一些可以从C++中调用的东西,它可以为我的状态和过渡计划一个布局,但是将绘图留给我 - 这将允许我绘制我想要的东西并在GUI(wxWidgets)窗口上绘制.
我还想要一个允许商业用途的许可证 - 我目前不需要它,我可能很好地作为开源发布,但我不想限制我的选择ATM.
GraphViz的问题是(1)关于在Windows上从源构建的警告,(2)用于呈现和解析的所有不必要的依赖性,以及(3)(假定的)缺少具体且纯粹用于布局的文档API.
基本上,我希望能够指定我的状态(具有边界矩形大小)和过渡,并读出每个过渡的状态和航点的位置,然后基于这些坐标自己绘制.我还没有弄清楚应该如何处理转换上的注释,但应该有一些规定来为那些指定边界框大小,将它们与转换相关联,以及读出位置.
有谁知道可以处理这些要求的库?
我不一定反对为自己实施某些东西,但在这种情况下,如果可能的话,我宁愿避免它.
小智 1
尽管到目前为止的答案值得点赞,但我无法真正接受其中的任何一个。不过我仍然在寻找。
我发现的一件事是AGLO。代码是 GPL v1,但有描述算法的论文,因此如果需要的话,应该很容易从头开始重新实现。
还有 Gansner、Koutsofios、North 和 Vo 撰写的论文“绘制有向图的技术”,可以从Graphviz 网站上获取。
我还仔细研究了 BSD 许可(但 Java)的JGraph。
不管怎样,看起来我可能会重新实现轮子,即使不是真正重新发明它。