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

时间:2018-04-16 13:39:55

标签: java eclipse eclipse-plugin eclipse-gef zest

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

1 个答案:

答案 0 :(得分:0)

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

在官方GEF存储库中,有一个示例如何将布局委托给Graphviz点: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)。