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

最佳答案

您可以看看eclipse布局内核(elk),它们确实提供了复杂的布局算法。此外,你可以看看格拉夫维兹。两者都可以作为布局引擎与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)。

08-04 00:07