X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.diagram%2Fsrc%2Forg%2Fsimantics%2Fdiagram%2Fadapter%2FRouteGraphUtils.java;h=192b4947fdf90e3ba7dd328fb67d34ab1b056361;hb=40b592c95889b55cecc1c4280de64e56c5d434a2;hp=9338e917221be3fcd06222e80ebf39f3288a7751;hpb=e10fdeba47f1c3dcbfb2c19da636eae96449df6a;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.diagram/src/org/simantics/diagram/adapter/RouteGraphUtils.java b/bundles/org.simantics.diagram/src/org/simantics/diagram/adapter/RouteGraphUtils.java index 9338e9172..192b4947f 100644 --- a/bundles/org.simantics.diagram/src/org/simantics/diagram/adapter/RouteGraphUtils.java +++ b/bundles/org.simantics.diagram/src/org/simantics/diagram/adapter/RouteGraphUtils.java @@ -18,6 +18,7 @@ import java.awt.Shape; import java.awt.Stroke; import java.awt.geom.AffineTransform; import java.awt.geom.Rectangle2D; +import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Map; @@ -34,6 +35,7 @@ import org.simantics.db.common.request.UnaryRead; import org.simantics.db.common.utils.NameUtils; import org.simantics.db.exception.DatabaseException; import org.simantics.diagram.connection.ConnectionVisuals; +import org.simantics.diagram.connection.Link; import org.simantics.diagram.connection.RouteGraph; import org.simantics.diagram.connection.RouteGraphConnectionClass; import org.simantics.diagram.connection.RouteLine; @@ -302,7 +304,7 @@ public class RouteGraphUtils { final ResourceTerminal rt = new ResourceTerminal(terminal); final TerminalLayout tl = te.getElementClass().getSingleItem(TerminalLayout.class); - AffineTransform terminalPos = tl.getTerminalPosition(element, rt); + AffineTransform terminalPos = tl.getTerminalPosition(te, rt); if (terminalPos != null) { terminalTr.concatenate(terminalPos); @@ -353,6 +355,8 @@ public class RouteGraphUtils { } } + Collection initialLinks = new ArrayList<>(); + // Finish route graph loading by Linking route nodes together for (EdgeResource link : links) { RouteNode n1 = nodeByData.get(link.first()); @@ -362,7 +366,9 @@ public class RouteGraphUtils { continue; } rg.link(n1, n2); + initialLinks.add(new Link(n1, n2)); } + rg.setInitialLinks(initialLinks); return rg; @@ -578,7 +584,7 @@ public class RouteGraphUtils { // Fixed style settings Color branchPointColor = Color.BLACK; - double branchPointRadius = 0.5; + double branchPointRadius = cv != null && cv.branchPointRadius != null ? cv.branchPointRadius : 0.5; double degenerateLineLength = 0.8; Color lineColor = cv != null ? cv.toColor() : null;