X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.diagram.connection%2Fsrc%2Forg%2Fsimantics%2Fdiagram%2Fconnection%2FRouteTerminal.java;h=dd660d4aaa659df5bce98302794586549e423c04;hp=c43c7de1c4996914d8ac6bbc5c208e4c9b2c64ff;hb=926168d3cbac101e34aa6dd918cc3f2f8ca3d4c4;hpb=785f638bab44e70ec6103c3891daea95bcda9a07 diff --git a/bundles/org.simantics.diagram.connection/src/org/simantics/diagram/connection/RouteTerminal.java b/bundles/org.simantics.diagram.connection/src/org/simantics/diagram/connection/RouteTerminal.java index c43c7de1c..dd660d4aa 100644 --- a/bundles/org.simantics.diagram.connection/src/org/simantics/diagram/connection/RouteTerminal.java +++ b/bundles/org.simantics.diagram.connection/src/org/simantics/diagram/connection/RouteTerminal.java @@ -44,7 +44,7 @@ public class RouteTerminal extends RoutePoint implements RouteNode, Serializable RouteLine line; - RouteTerminal(double x, double y, double minX, double minY, + public RouteTerminal(double x, double y, double minX, double minY, double maxX, double maxY, int allowedDirections, boolean routeToBounds, ILineEndStyle style, RouteTerminalPosition dynamicPosition) { @@ -98,7 +98,7 @@ public class RouteTerminal extends RoutePoint implements RouteNode, Serializable * adding necessary transient route lines. * @param cache */ - void route(ArrayList lines, IntervalCache cache, boolean boundingBoxesIntersect) { + protected void route(ArrayList lines, IntervalCache cache, boolean boundingBoxesIntersect) { if(routeToBounds) { int lineDir; boolean routeLineDoesNotIntersectTerminal; @@ -139,7 +139,8 @@ public class RouteTerminal extends RoutePoint implements RouteNode, Serializable return; } else { - line.addPoint(this); + if (!line.getPoints().contains(this)) + line.addPoint(this); Interval interval = cache.get(line); if(line.isHorizontal) { if(interval.min < minX) @@ -257,7 +258,7 @@ public class RouteTerminal extends RoutePoint implements RouteNode, Serializable } } - private RouteLine createLine0(int dir) { + protected RouteLine createLine0(int dir) { RouteLine line0 = (dir&1) == 0 ? new RouteLine(true, y) : new RouteLine(false, x) @@ -377,7 +378,7 @@ public class RouteTerminal extends RoutePoint implements RouteNode, Serializable } } - RouteTerminal copy(THashMap map) { + public RouteTerminal copy(THashMap map) { RouteTerminal copy = (RouteTerminal)map.get(this); if(copy == null) { copy = new RouteTerminal(x, y, minX, minY, maxX, maxY, @@ -418,6 +419,10 @@ public class RouteTerminal extends RoutePoint implements RouteNode, Serializable return line; } + public void setLine(RouteLine line) { + this.line = line; + } + public void setMinX(double minX) { this.minX = minX; } @@ -456,6 +461,8 @@ public class RouteTerminal extends RoutePoint implements RouteNode, Serializable public RouteTerminalPosition getDynamicPosition() { return dynamicPosition; } + + public boolean updateDynamicPosition() { boolean changed = false;