NASA World Wind

gov.nasa.worldwind.globes
Class BasicElevationModel

java.lang.Object
  extended by gov.nasa.worldwind.avlist.AVListImpl
      extended by gov.nasa.worldwind.WWObjectImpl
          extended by gov.nasa.worldwind.globes.BasicElevationModel
All Implemented Interfaces:
AVList, ElevationModel, WWObject, java.beans.PropertyChangeListener, java.util.EventListener
Direct Known Subclasses:
EarthElevationModel, MarsElevationModel, MoonElevationModel

public class BasicElevationModel
extends WWObjectImpl
implements ElevationModel

This class represents a single tile in the data set and contains the information that needs to be cached.


Nested Class Summary
 
Nested classes/interfaces inherited from interface gov.nasa.worldwind.globes.ElevationModel
ElevationModel.Elevations
 
Field Summary
 
Fields inherited from class gov.nasa.worldwind.avlist.AVListImpl
changeSupport
 
Constructor Summary
BasicElevationModel(LevelSet levels, double minElevation, double maxElevation)
           
 
Method Summary
 java.lang.Double getBestElevation(Angle latitude, Angle longitude)
           
 ElevationModel.Elevations getBestElevations(Sector sector)
           
 double getElevation(Angle latitude, Angle longitude)
           
 java.lang.Double getElevationAtResolution(Angle latitude, Angle longitude, int resolution)
           
 ElevationModel.Elevations getElevations(Sector sector, int resolution)
          Computes and returns an ElevationModel.Elevations object for the specified Sector and target resolution.
 ElevationModel.Elevations getElevationsAtResolution(Sector sector, int resolution)
           
 LevelSet getLevels()
           
 double getMaxElevation()
          Returns the maximum elevation contained in the elevevation model.
 double[] getMinAndMaxElevations(Sector sector)
           
 double getMinElevation()
          Returns the minimum elevation contained in the elevevation model.
 long getNumExpectedValuesPerTile()
           
 int getTargetResolution(DrawContext dc, Sector sector, int density)
          Returns the resolution appropriate to the given Sector and view parameters.
 int getTargetResolution(Globe globe, double size)
           
 int getTileCount(Sector sector, int resolution)
           
 int getTileCountAtResolution(Sector sector, int resolution)
           
 boolean isEnabled()
           
protected  void loadExtremeElevations(java.lang.String extremesFileName)
           
 void setEnabled(boolean enabled)
           
 void setNumExpectedValuesPerTile(long numExpectedValues)
           
 
Methods inherited from class gov.nasa.worldwind.WWObjectImpl
propertyChange
 
Methods inherited from class gov.nasa.worldwind.avlist.AVListImpl
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getDoubleValue, getDoubleValue, getEntries, getIntegerValue, getIntegerValue, getLongValue, getLongValue, getStringValue, getStringValue, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValues
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface gov.nasa.worldwind.avlist.AVList
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getEntries, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValues
 
Methods inherited from interface java.beans.PropertyChangeListener
propertyChange
 

Constructor Detail

BasicElevationModel

public BasicElevationModel(LevelSet levels,
                           double minElevation,
                           double maxElevation)
Parameters:
levels -
minElevation -
maxElevation -
Throws:
java.lang.IllegalArgumentException - if levels is null or invalid
Method Detail

getBestElevation

public java.lang.Double getBestElevation(Angle latitude,
                                         Angle longitude)
Specified by:
getBestElevation in interface ElevationModel

getBestElevations

public final ElevationModel.Elevations getBestElevations(Sector sector)
Specified by:
getBestElevations in interface ElevationModel

getElevation

public final double getElevation(Angle latitude,
                                 Angle longitude)
Specified by:
getElevation in interface ElevationModel
Parameters:
latitude -
longitude -
Returns:
Throws:
java.lang.IllegalArgumentException - if latitude or longitude is null

getElevationAtResolution

public java.lang.Double getElevationAtResolution(Angle latitude,
                                                 Angle longitude,
                                                 int resolution)
Specified by:
getElevationAtResolution in interface ElevationModel

getElevations

public final ElevationModel.Elevations getElevations(Sector sector,
                                                     int resolution)
Description copied from interface: ElevationModel
Computes and returns an ElevationModel.Elevations object for the specified Sector and target resolution. If the target resolution can not currently be achieved, the best available elevations are returned.

Implementing classes of ElevationModel interpret resolution in a class-specific way. See the descriptions of those classes to learn their use of this value. The elevations returned are in the form of an ElevationModel.Elevations object. Specific elevations are returned by that object.

Specified by:
getElevations in interface ElevationModel
Parameters:
sector -
resolution -
Returns:
Throws:
java.lang.IllegalArgumentException - if sector is null

getElevationsAtResolution

public final ElevationModel.Elevations getElevationsAtResolution(Sector sector,
                                                                 int resolution)
Specified by:
getElevationsAtResolution in interface ElevationModel

getLevels

public LevelSet getLevels()

getMaxElevation

public final double getMaxElevation()
Description copied from interface: ElevationModel
Returns the maximum elevation contained in the elevevation model. This value is the height of the highest point on the globe.

Specified by:
getMaxElevation in interface ElevationModel
Returns:
The maximum elevation of the model

getMinAndMaxElevations

public double[] getMinAndMaxElevations(Sector sector)
Specified by:
getMinAndMaxElevations in interface ElevationModel

getMinElevation

public final double getMinElevation()
Description copied from interface: ElevationModel
Returns the minimum elevation contained in the elevevation model. This value is the height of the lowest point on the globe. It may be negative, indicating a value below mean surface level. (Sea level in the case of Earth.)

Specified by:
getMinElevation in interface ElevationModel
Returns:
The minimum elevation of the model

getNumExpectedValuesPerTile

public long getNumExpectedValuesPerTile()

getTargetResolution

public final int getTargetResolution(DrawContext dc,
                                     Sector sector,
                                     int density)
Description copied from interface: ElevationModel
Returns the resolution appropriate to the given Sector and view parameters. The view parameters are read from the specified DrawContext. Implementing classes of ElevationModel interpret resolution in class-specific ways. See the descriptions of subclasses to learn their use of this value. This method is used to determine the resolution the model will use if all resources are available to compute that resolution. It is subsequently passed to ElevationModel.getElevations(Sector, int) when a sector's resolutions are queried.

Specified by:
getTargetResolution in interface ElevationModel
Parameters:
dc -
sector -
density -
Returns:
Throws:
java.lang.IllegalArgumentException - if dc is null, sector is null or density is negative

getTargetResolution

public final int getTargetResolution(Globe globe,
                                     double size)
Specified by:
getTargetResolution in interface ElevationModel

getTileCount

public final int getTileCount(Sector sector,
                              int resolution)

getTileCountAtResolution

public final int getTileCountAtResolution(Sector sector,
                                          int resolution)
Specified by:
getTileCountAtResolution in interface ElevationModel

isEnabled

public boolean isEnabled()
Specified by:
isEnabled in interface ElevationModel

loadExtremeElevations

protected void loadExtremeElevations(java.lang.String extremesFileName)

setEnabled

public void setEnabled(boolean enabled)
Specified by:
setEnabled in interface ElevationModel

setNumExpectedValuesPerTile

public void setNumExpectedValuesPerTile(long numExpectedValues)

NASA World Wind