Revision 505 2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.swing/org.gvsig.view3d.swing.impl/src/main/java/org/gvsig/view3d/swing/impl/DefaultMapControl3D.java
DefaultMapControl3D.java | ||
---|---|---|
25 | 25 |
package org.gvsig.view3d.swing.impl; |
26 | 26 |
|
27 | 27 |
import gov.nasa.worldwind.Configuration; |
28 |
import gov.nasa.worldwind.Factory; |
|
28 | 29 |
import gov.nasa.worldwind.Model; |
29 | 30 |
import gov.nasa.worldwind.WorldWind; |
30 | 31 |
import gov.nasa.worldwind.avlist.AVKey; |
31 | 32 |
import gov.nasa.worldwind.avlist.AVList; |
33 |
import gov.nasa.worldwind.avlist.AVListImpl; |
|
32 | 34 |
import gov.nasa.worldwind.awt.WorldWindowGLJPanel; |
33 | 35 |
import gov.nasa.worldwind.globes.Earth; |
34 | 36 |
import gov.nasa.worldwind.globes.EarthFlat; |
... | ... | |
44 | 46 |
import gov.nasa.worldwind.layers.ViewControlsSelectListener; |
45 | 47 |
import gov.nasa.worldwind.layers.WorldMapLayer; |
46 | 48 |
import gov.nasa.worldwind.terrain.CompoundElevationModel; |
49 |
import gov.nasa.worldwind.terrain.ZeroElevationModel; |
|
47 | 50 |
import gov.nasa.worldwind.util.StatusBar; |
48 | 51 |
import gov.nasa.worldwind.view.orbit.BasicOrbitView; |
49 | 52 |
import gov.nasa.worldwind.view.orbit.FlatOrbitView; |
... | ... | |
402 | 405 |
|
403 | 406 |
ElevationModel elevationModel = |
404 | 407 |
getWwd().getModel().getGlobe().getElevationModel(); |
405 |
if (elevationModel instanceof CompoundElevationModel) { |
|
406 |
CompoundElevationModel compoundElevationModel = |
|
407 |
(CompoundElevationModel) elevationModel; |
|
408 |
CompoundElevationModel compoundElevationModel = |
|
409 |
(CompoundElevationModel) elevationModel; |
|
410 |
List<ElevationModel> elevationModels = |
|
411 |
compoundElevationModel.getElevationModels(); |
|
408 | 412 |
|
409 |
List<ElevationModel> elevationModels = |
|
410 |
compoundElevationModel.getElevationModels(); |
|
413 |
if (visibility) { |
|
414 |
for (ElevationModel eModel : elevationModels) { |
|
415 |
if (eModel instanceof ZeroElevationModel) { |
|
416 |
compoundElevationModel.removeElevationModel(eModel); |
|
417 |
compoundElevationModel |
|
418 |
.addElevationModel(getDefaultElevationModel()); |
|
419 |
return; |
|
420 |
} |
|
421 |
} |
|
411 | 422 |
|
423 |
} else { |
|
412 | 424 |
for (ElevationModel eModel : elevationModels) { |
413 | 425 |
if (eModel.getName().equals("USA 10m, World 30m, Ocean 900m")) { |
414 |
eModel.setEnabled(visibility); |
|
426 |
compoundElevationModel.removeElevationModel(eModel); |
|
427 |
compoundElevationModel.addElevationModel(0, |
|
428 |
new ZeroElevationModel()); |
|
429 |
return; |
|
415 | 430 |
} |
416 | 431 |
} |
417 |
|
|
418 |
} else { |
|
419 |
elevationModel.setEnabled(visibility); |
|
420 | 432 |
} |
421 |
|
|
422 | 433 |
} |
434 |
|
|
435 |
private ElevationModel getDefaultElevationModel(){ |
|
436 |
Factory elevationFactory = |
|
437 |
(Factory) WorldWind.createConfigurationComponent(AVKey.ELEVATION_MODEL_FACTORY); |
|
438 |
String defaultModelFile = Configuration.getStringValue(AVKey.EARTH_ELEVATION_MODEL_CONFIG_FILE); |
|
439 |
|
|
440 |
CompoundElevationModel elevationModel = (CompoundElevationModel) elevationFactory.createFromConfigSource( |
|
441 |
defaultModelFile, new AVListImpl()); |
|
442 |
|
|
443 |
return elevationModel.getElevationModels().get(0); |
|
444 |
} |
|
423 | 445 |
|
424 | 446 |
protected void setNasaLandsatLayerVisibility(boolean visibility) { |
425 | 447 |
setWWLayerVisibility("i-cubed Landsat", visibility); |
Also available in: Unified diff