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=9229932400a8ff12b964621a3643c2102bb0b634;hb=a3b6137601545ac6e3484995d0ec6d39224bbf3f;hp=cd35b2f011329ac926fa0e6d51f8b7a0c5046fe5;hpb=00e4eca98cef6d77d5023f4b424f9e8da0487463;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 cd35b2f0..92299324 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 @@ -7,7 +7,6 @@ import java.awt.RenderingHints; import java.awt.Stroke; import java.awt.geom.AffineTransform; import java.awt.geom.Path2D; -import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.simantics.district.network.ModelledCRS; @@ -31,9 +30,10 @@ public class DistrictNetworkEdgeNode extends G2DNode { private Color color; + private Double stroke; + @Override public void init() { - } @Override @@ -62,7 +62,12 @@ public class DistrictNetworkEdgeNode extends G2DNode { g2d.setColor(color); if (STROKE != null) { if (scaleStroke && STROKE instanceof BasicStroke) { - BasicStroke bs = GeometryUtils.scaleStroke(STROKE, (float) (1.0 / GeometryUtils.getScale(g2d.getTransform()))); + double str; + if (stroke != null) + str = Math.abs(stroke); + else + str = 1.0; + BasicStroke bs = GeometryUtils.scaleStroke(STROKE, (float) (str / GeometryUtils.getScale(g2d.getTransform()))); g2d.setStroke(bs); } else { g2d.setStroke(STROKE); @@ -83,9 +88,9 @@ public class DistrictNetworkEdgeNode extends G2DNode { 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 startY = ModelledCRS.latitudeToY(-edge.getStartPoint().getY()); // Invert for Simantics double endX = ModelledCRS.longitudeToX(edge.getEndPoint().getX()); - double endY = ModelledCRS.latitudeToY(edge.getEndPoint().getY()); + double endY = ModelledCRS.latitudeToY(-edge.getEndPoint().getY());// Invert for Simantics // render Path2D path = new Path2D.Double(); @@ -127,4 +132,9 @@ public class DistrictNetworkEdgeNode extends G2DNode { return color; } + @PropertySetter(value = "stroke") + public void setStroke(Double stroke) { + this.stroke = stroke; + } + }