Revision 489 2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.swing/org.gvsig.view3d.swing.impl/src/main/java/org/gvsig/view3d/swing/impl/data/GvSIGLayerDataRaster.java

View differences:

GvSIGLayerDataRaster.java
52 52
import org.gvsig.fmap.mapcontext.layers.FLayer;
53 53
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
54 54
import org.gvsig.fmap.mapcontext.rendering.legend.styling.ILabelable;
55
import org.gvsig.view3d.lib.api.View3DLocator;
56
import org.gvsig.view3d.lib.api.View3DManager;
57
import org.gvsig.view3d.lib.api.properties.LayerProperties3D;
55 58
import org.gvsig.view3d.swing.api.MapControl3D;
56 59
import org.slf4j.Logger;
57 60
import org.slf4j.LoggerFactory;
......
111 114
    }
112 115

  
113 116
    public void drawOnTo(DataRaster canvas) {
114
        // TODO Check load mode of layer
115
        this.drawImageOnTo(canvas);
117
        View3DManager manager = View3DLocator.getManager();
118
        LayerProperties3D properties = manager.getLayerProperties(layer);
119
        
120
        if(properties.getElevation() == true){
121
            // Get elevation info
122
        } else {
123
            this.drawImageOnTo(canvas);
124
        }
116 125
    }
117 126

  
118 127
    private void drawImageOnTo(DataRaster canvas) {
......
289 298

  
290 299
    private double getScale(ViewPort viewPort) {
291 300

  
292
        MapContext mapContextCloned = mapControl3D.getMapContext().cloneFMap();
293
        mapContextCloned.setViewPort(viewPort);
294
        double scale = mapContextCloned.getScaleView();
295
        mapContextCloned.dispose();
301
        double dpi = viewPort.getDPI();
302
        IProjection proj = viewPort.getProjection();
296 303

  
297
        return scale;
304
        if (viewPort.getImageSize() == null) {
305
            return -1;
306
        }
307

  
308
        if (viewPort.getAdjustedEnvelope() == null) {
309
            return 0;
310
        }
311
        double[] trans2Meter=MapContext.getDistanceTrans2Meter();
312
        int mUnits = viewPort.getMapUnits();
313
        
314
        if (proj == null) {
315
            double w = ((viewPort.getImageSize().width / dpi) * 0.0254);
316
            return (long) (viewPort.getAdjustedEnvelope().getLength(0)
317
                / w * trans2Meter[mUnits]);
318
        }
319

  
320
        return Math.round(proj.getScale(
321
            viewPort.getAdjustedEnvelope().getMinimum(0) * trans2Meter[mUnits],
322
            viewPort.getAdjustedEnvelope().getMaximum(0) * trans2Meter[mUnits],
323
            viewPort.getImageSize().width,
324
            dpi));
298 325
    }
299 326

  
300 327
    private Rectangle computeClipRect(Sector clipSector,

Also available in: Unified diff