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
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