如何防止节点和边缘在GEF-Zest图中相互重叠?



我开发了一个 eclipse 插件,用于使用GEF-Zest生成图形。我使用SpringLayoutAlgorithm作为布局算法(我也尝试过其他布局),但节点和边缘仍然相互重叠,这会产生一个嘈杂的图形。我需要帮助来解决这个问题。

你可以看看Eclipse Layout Kernel (ELK),它们确实提供了复杂的布局算法。此外,你可以看看Graphviz。两者都可以作为布局引擎与GEF Zest集成。但是,您需要实现 GraphvizLayoutAlgorithm(委托给 Graphviz)或 ElkLayoutAlgorithm(委托给 ELK)。

在GEF官方存储库中,有一个如何将布局委托给Graphviz dot的示例:https://github.com/eclipse/gef/blob/master/org.eclipse.gef.dot.examples/src/org/eclipse/gef/dot/examples/DotLayoutExample.java

除此之外,SpringLayoutAlgorithm不应该将节点放在彼此之上,正如运行示例时所看到的那样:https://github.com/eclipse/gef/blob/master/org.eclipse.gef.layout.examples/src/org/eclipse/gef/layout/examples/SpringLayoutExample.java

如果你想解决SpringLayoutAlgorithm的问题,你需要分享更多关于数据和代码的见解。最好有一个简短、自包含、正确(可编译)的示例 (SSCCE)。

最新更新