]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.district.network.ui/src/org/simantics/district/network/ui/nodes/DistrictNetworkNodeUtils.java
Hover label profile for district elements.
[simantics/district.git] / org.simantics.district.network.ui / src / org / simantics / district / network / ui / nodes / DistrictNetworkNodeUtils.java
index 20479a781471ab968c0fe5b1c334c80b852a6e1f..21e49b58277c8f93334ddcf1ccf6428363f278dc 100644 (file)
@@ -6,6 +6,7 @@ import java.awt.geom.Rectangle2D;
 
 import org.simantics.district.network.ModelledCRS;
 import org.simantics.maps.MapScalingTransform;
+import org.simantics.scenegraph.utils.GeometryUtils;
 
 public class DistrictNetworkNodeUtils {
 
@@ -38,7 +39,14 @@ public class DistrictNetworkNodeUtils {
 
     public static double calculateScaleRecip(AffineTransform tr) {
         int zoomLevel = MapScalingTransform.zoomLevel(tr);
-        double t = 1.0 / Math.sqrt(zoomLevel);
+        double t = 1.0 / (getScale(tr) * Math.sqrt(zoomLevel));
         return t;
     }
+
+    static double getScale(AffineTransform tr) {
+        double scale;
+        scale = GeometryUtils.getScale(tr);
+        scale = Math.max(4096, Math.min(scale, 32768));
+        return scale;
+    }
 }