您是否知道用于 GUI 的 C++中强制导向布局的开源实现?最好是 BSD/MIT/Apache 或其他(非 GPL)许可证。
4 回答
优秀的Boost.Graph 库提供了广泛的算法,其中一些布局算法。我建议使用Kamada-Kawai spring layout或Fruchterman-Reingold force-directed layout。
Boost 许可证非常宽松,所以不用担心。
第一个谷歌结果是VTK。另一个带我去vtkGraphLayoutView。
您是否看过graphviz中的neato。本指南甚至详细介绍了使用 graphviz 作为库。该指南包括使用 fdp 布局算法,这似乎正是您想要的。所有 graphviz 都属于Common Public License。
概述
https://www.kitware.com/InfovisWiki/index.php/Main_Page
如果你想要这个应用程序,有一些安装步骤,所有信息都在那个 wiki 上。它是一个建立在VTK上的应用程序。OverView 的具体功能是能够在二维中表示信息图(不一定是几何图形)。
正如 dirkgently 所指出的,VTK 具有强制定向图布局。使用 OverView 之类的东西的好处是,您可以轻松地为 OverView 制作自定义插件,您可以使用强制定向布局策略读取数据并显示它。
如果您不想依赖 OverView,那么提取插件代码并仅引用 OverView 非常容易,因为所有渲染都是在插件之外处理的。