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%2FDistrictNetworkNodeUtils.java;h=0efab43173f112d4521667f4af00919434c3f7d2;hb=refs%2Fchanges%2F55%2F3355%2F2;hp=c9e4a00e19b3be532b23f2d4641590e953bb9524;hpb=5b90436d8860b56af851b00eddfb2dcb7ba88dd5;p=simantics%2Fdistrict.git diff --git a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/nodes/DistrictNetworkNodeUtils.java b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/nodes/DistrictNetworkNodeUtils.java index c9e4a00e..0efab431 100644 --- a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/nodes/DistrictNetworkNodeUtils.java +++ b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/nodes/DistrictNetworkNodeUtils.java @@ -10,6 +10,12 @@ import org.simantics.scenegraph.utils.GeometryUtils; public class DistrictNetworkNodeUtils { + public static ThreadLocal sharedTransform = new ThreadLocal() { + protected AffineTransform initialValue() { + return new AffineTransform(); + } + }; + public static Rectangle2D calculateDrawnGeometry(Point2D p, Rectangle2D margin, Rectangle2D result, double scaleRecip) { if (result == null) result = new Rectangle2D.Double(); @@ -39,20 +45,13 @@ public class DistrictNetworkNodeUtils { public static double calculateScaleRecip(AffineTransform tr) { int zoomLevel = MapScalingTransform.zoomLevel(tr); - double t; - if (zoomLevel > 15) { - int d = zoomLevel - 15; // stop zooming vertices when zoom level > 15 - t = 1.0 / d / (getScale(tr) * Math.sqrt(zoomLevel)); - } else { - t = 1.0 / (getScale(tr) * Math.sqrt(zoomLevel)); - } - return t; + return 1.0 / (getScale(tr) * Math.sqrt(zoomLevel)); } static double getScale(AffineTransform tr) { double scale; scale = GeometryUtils.getScale(tr); - scale = Math.max(4096, Math.min(scale, 32768)); + scale = Math.max(4096, scale); //Math.min(scale, 32768)); return scale; } }