]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.district.network.ui/src/org/simantics/district/network/ui/nodes/DistrictNetworkNodeUtils.java
Refactoring MapNode rendering & zooming to even zoom levels (0-20)
[simantics/district.git] / org.simantics.district.network.ui / src / org / simantics / district / network / ui / nodes / DistrictNetworkNodeUtils.java
index 8a369e26391d9efb77e458891824617f9a9c9231..c48693ac4470b94122bf6f47c13a87a7031a9b01 100644 (file)
@@ -5,6 +5,8 @@ import java.awt.geom.Point2D;
 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 {
 
@@ -35,4 +37,11 @@ public class DistrictNetworkNodeUtils {
         return transform;
     }
 
+    public static double calculateScaleRecip(AffineTransform tr) {
+        int zoomLevel = MapScalingTransform.zoomLevel(tr);
+        double scale = GeometryUtils.getScale(tr);
+        double sqrt = Math.sqrt(scale / zoomLevel);
+        double viewScaleRecip = (sqrt / zoomLevel);
+        return viewScaleRecip;
+    }
 }