X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.district.network.ui%2Fsrc%2Forg%2Fsimantics%2Fdistrict%2Fnetwork%2Fui%2Fnodes%2FDistrictNetworkEdgeNode.java;h=cd35b2f011329ac926fa0e6d51f8b7a0c5046fe5;hb=00e4eca98cef6d77d5023f4b424f9e8da0487463;hp=9170fa15eb4c495535fe9a46105cc044ace194ab;hpb=02ecca5e61d2eb17de40cc058be678b414aaad00;p=simantics%2Fdistrict.git diff --git a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/nodes/DistrictNetworkEdgeNode.java b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/nodes/DistrictNetworkEdgeNode.java index 9170fa15..cd35b2f0 100644 --- a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/nodes/DistrictNetworkEdgeNode.java +++ b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/nodes/DistrictNetworkEdgeNode.java @@ -11,7 +11,6 @@ import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.simantics.district.network.ModelledCRS; -import org.simantics.district.network.ontology.DistrictNetworkResource; import org.simantics.district.network.ui.DistrictNetworkEdge; import org.simantics.scenegraph.g2d.G2DNode; import org.simantics.scenegraph.utils.GeometryUtils; @@ -69,9 +68,9 @@ public class DistrictNetworkEdgeNode extends G2DNode { g2d.setStroke(STROKE); } } - // render - g2d.draw(edge.getPath()); + g2d.draw(calculatePath(edge)); + // Reset g2d.setStroke(oldStroke); g2d.setColor(oldColor); @@ -81,6 +80,20 @@ public class DistrictNetworkEdgeNode extends G2DNode { g2d.setTransform(ot); } + public static Path2D calculatePath(DistrictNetworkEdge edge) { + // Convert to screen coordinates + double startX = ModelledCRS.longitudeToX(edge.getStartPoint().getX()); + double startY = ModelledCRS.latitudeToY(edge.getStartPoint().getY()); + double endX = ModelledCRS.longitudeToX(edge.getEndPoint().getX()); + double endY = ModelledCRS.latitudeToY(edge.getEndPoint().getY()); + + // render + Path2D path = new Path2D.Double(); + path.moveTo(startX, startY); + path.lineTo(endX, endY); + return path; + } + private boolean isSelected() { return NodeUtil.isSelected(this, 1); } @@ -98,7 +111,7 @@ public class DistrictNetworkEdgeNode extends G2DNode { } private Rectangle2D calculateBounds(Rectangle2D rect) { - return edge.getBounds(rect); + return calculatePath(edge).getBounds2D(); } public void setDNEdge(DistrictNetworkEdge edge) {