public class DistrictNetworkNodeUtils {
+ public static ThreadLocal<AffineTransform> sharedTransform = new ThreadLocal<AffineTransform>() {
+ 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();
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;
}
}