Как предотвратить наложение узлов и ребер в графе GEF-Zest?

Я разработал плагин eclipse для генерации Graph с использованием GEF-Zest, я использую SpringLayoutAlgorithm как алгоритм макета (я также пробовал другие макеты), но все же узлы и ребра перекрывают друг друга, что создает шумный график. Мне нужна помощь в решении этой проблемы.

1 ответ

Вы можете взглянуть на 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).

Другие вопросы по тегам