У меня есть некоторые проблемы с использованием алгоритма DAGLayout JUNG и последующим считыванием координат компоновки в мою собственную структуру данных.
У меня есть класс Network
со списками Node
s иEdge
s.Чтобы преобразовать это в структуру данных JUNG, я создаю объект DirectedSparseMultigraph
и добавляю ребра.e.getSrc()
и e.getDest()
возвращают объекты Node.
DirectedSparseMultigraph<Node, Edge> graph;
for (Edge e : net.getEdges()) {
graph.addEdge(e, e.getSrc(), e.getDest());
}
Затем я применяю алгоритм компоновки.
Layout<Node, Point2D> layout;
layout = new DAGLayout(graph);
После этого я использую компоновку для получения координат вершин.
for (Node node : net.getNodes()) {
Point2D coord = layout.transform(node);
node.setPos((float)coord.getX(), (float)coord.getY());
}
Но объекты Node
всегда имеют (0,0) как (x, y).
Почему это не работает таким образом, и как я могу это исправить?