Changeset 3828

Show
Ignore:
Timestamp:
07/01/11 08:48:49 (11 months ago)
Author:
jeichar
Message:

fix for rotated scaling. closes #642 a=alex r=jeichar

Location:
print/trunk/src/main/java/org/mapfish/print
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • print/trunk/src/main/java/org/mapfish/print/config/layout/MapBlock.java

    r3826 r3828  
    115115            centerX = (minX + maxX) / 2.0F; 
    116116            centerY = (minY + maxY) / 2.0F; 
     117             
     118            double rotation = params.optDouble("rotation", 0.0); 
     119            rotation *= Math.PI / 180; 
     120            float projWidth  = (maxX - minX) * (float)Math.abs(Math.cos(rotation)) + 
     121                               (maxY - minY) * (float)Math.abs(Math.sin(rotation)); 
     122            float projHeight = (maxY - minY) * (float)Math.abs(Math.cos(rotation)) + 
     123                               (maxX - minX) * (float)Math.abs(Math.sin(rotation)); 
    117124            scale = context.getConfig().getBestScale(Math.max( 
    118                     (maxX - minX) / (DistanceUnit.PT.convertTo(width, unitEnum)), 
    119                     (maxY - minY) / (DistanceUnit.PT.convertTo(height, unitEnum)))); 
     125                    projWidth  / (DistanceUnit.PT.convertTo(width, unitEnum)), 
     126                    projHeight / (DistanceUnit.PT.convertTo(height, unitEnum)))); 
     127            // if the rotation is 0: 
     128            // scale = context.getConfig().getBestScale(Math.max( 
     129            //         (maxX - minX) / (DistanceUnit.PT.convertTo(width, unitEnum)), 
     130            //         (maxY - minY) / (DistanceUnit.PT.convertTo(height, unitEnum)))); 
    120131        } 
    121132 
  • print/trunk/src/main/java/org/mapfish/print/utils/PJsonObject.java

    r3789 r3828  
    8282        } 
    8383        return result; 
     84    } 
     85 
     86    public double optDouble(String key, double defaultValue) { 
     87        return obj.optDouble(key, defaultValue); 
    8488    } 
    8589