use of org.kie.workbench.common.stunner.core.graph.content.HasBounds in project kie-wb-common by kiegroup.
the class SugiyamaLayoutServiceTest method testGetWidth.
@Test
public void testGetWidth() {
final Node n = mock(Node.class);
final HasBounds hasBounds = mock(HasBounds.class);
final Bounds bounds = mock(Bounds.class);
final double width = 17;
final int expected = (int) width;
when(bounds.getWidth()).thenReturn(width);
when(hasBounds.getBounds()).thenReturn(bounds);
when(n.getContent()).thenReturn(hasBounds);
int actual = layoutService.getWidth(n);
assertEquals(expected, actual);
}
use of org.kie.workbench.common.stunner.core.graph.content.HasBounds in project kie-wb-common by kiegroup.
the class SugiyamaLayoutServiceTest method createNode.
private Node createNode(final String uuid) {
final Node node = mock(Node.class);
final HasBounds hasBounds = mock(HasBounds.class);
when(node.getUUID()).thenReturn(uuid);
when(node.getContent()).thenReturn(hasBounds);
return node;
}
use of org.kie.workbench.common.stunner.core.graph.content.HasBounds in project kie-wb-common by kiegroup.
the class SugiyamaLayoutService method buildLayout.
Layout buildLayout(final HashMap<String, Node> indexByUuid, final List<GraphLayer> layers) {
final Layout layout = new Layout();
for (int i = layers.size() - 1; i >= 0; i--) {
final GraphLayer layer = layers.get(i);
for (final Vertex v : layer.getVertices()) {
final Node n = indexByUuid.get(v.getId());
final int x = v.getX();
final int y = v.getY();
final Bounds currentBounds = ((HasBounds) n.getContent()).getBounds();
final Bound lowerRight = currentBounds.getLowerRight();
final int x2;
if (isCloseToZero(lowerRight.getX())) {
x2 = x + VertexPositioning.DEFAULT_VERTEX_WIDTH;
} else {
x2 = (int) (x + lowerRight.getX());
}
final int y2;
if (isCloseToZero(lowerRight.getY())) {
y2 = y + VertexPositioning.DEFAULT_VERTEX_HEIGHT;
} else {
y2 = (int) (y + lowerRight.getY());
}
final VertexPosition position = new VertexPositionImpl(v.getId(), new Point2D(x, y), new Point2D(x2, y2));
layout.getNodePositions().add(position);
}
}
return layout;
}
Aggregations