NASA World Wind

gov.nasa.worldwind.layers.mercator
Class MercatorTiledImageLayer

java.lang.Object
  extended by gov.nasa.worldwind.avlist.AVListImpl
      extended by gov.nasa.worldwind.WWObjectImpl
          extended by gov.nasa.worldwind.layers.AbstractLayer
              extended by gov.nasa.worldwind.layers.mercator.MercatorTiledImageLayer
All Implemented Interfaces:
AVList, Disposable, MessageListener, Layer, Restorable, WWObject, PropertyChangeListener, EventListener
Direct Known Subclasses:
BasicMercatorTiledImageLayer

public abstract class MercatorTiledImageLayer
extends AbstractLayer

TiledImageLayer modified 2009-02-03 to add support for Mercator projections.


Constructor Summary
MercatorTiledImageLayer(LevelSet levelSet)
           
 
Method Summary
 BufferedImage composeImageForSector(Sector sector, int imageWidth, int imageHeight, int levelNumber, String mimeType, boolean abortOnError, BufferedImage image)
           
 int computeLevelForResolution(Sector sector, Globe globe, double resolution)
           
 int countImagesInSector(Sector sector, int levelNumber)
           
protected  void doRender(DrawContext dc)
           
protected abstract  void forceTextureLoad(MercatorTextureTile tile)
           
 List<String> getAvailableImageFormats()
           
 String getDefaultImageFormat()
           
protected  LevelSet getLevels()
           
protected  Vec4 getReferencePoint()
           
protected  PriorityBlockingQueue<Runnable> getRequestQ()
           
 boolean isAtMaxResolution()
          Indicates whether the most recent rendering of the layer rendered the highest resolution imagery or other data available.
 boolean isDrawBoundingVolumes()
           
 boolean isDrawTileBoundaries()
           
 boolean isDrawTileIDs()
           
 boolean isForceLevelZeroLoads()
           
 boolean isImageFormatAvailable(String imageFormat)
           
 boolean isLayerInView(DrawContext dc)
          Indicates whether the layer is in the view.
 boolean isMultiResolution()
          Indicates whether the layer provides multiple resolutions of imagery or other data.
 boolean isRetainLevelZeroTiles()
           
 boolean isShowImageTileOutlines()
           
 boolean isUseMipMaps()
           
 boolean isUseTransparentTextures()
           
 void render(DrawContext dc)
          Cause the layer to draw its representation.
protected abstract  void requestTexture(DrawContext dc, MercatorTextureTile tile)
           
protected  void setAvailableImageFormats(String[] formats)
           
 void setDrawBoundingVolumes(boolean drawBoundingVolumes)
           
 void setDrawTileBoundaries(boolean drawTileBoundaries)
           
 void setDrawTileIDs(boolean drawTileIDs)
           
 void setForceLevelZeroLoads(boolean forceLevelZeroLoads)
           
 void setName(String name)
          Set the layer's name.
 void setRetainLevelZeroTiles(boolean retainLevelZeroTiles)
           
 void setShowImageTileOutlines(boolean showImageTileOutlines)
           
 void setUseMipMaps(boolean useMipMaps)
           
 void setUseTransparentTextures(boolean useTransparentTextures)
           
 
Methods inherited from class gov.nasa.worldwind.layers.AbstractLayer
createLayerConfigElements, dispose, doPick, doPreRender, getDataFileStore, getExpiryTime, getLayerConfigParams, getMaxActiveAltitude, getMaxEffectiveAltitude, getMinActiveAltitude, getMinEffectiveAltitude, getName, getOpacity, getRestorableState, getScale, getScreenCredit, isEnabled, isLayerActive, isLayerConfigDocument, isNetworkRetrievalEnabled, isPickEnabled, pick, preRender, restoreState, setDataFileStore, setEnabled, setExpiryTime, setMaxActiveAltitude, setMinActiveAltitude, setNetworkRetrievalEnabled, setOpacity, setPickEnabled, setScreenCredit, toString
 
Methods inherited from class gov.nasa.worldwind.WWObjectImpl
onMessage, propertyChange
 
Methods inherited from class gov.nasa.worldwind.avlist.AVListImpl
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getBooleanValue, getBooleanValue, getChangeSupport, getDoubleValue, getDoubleValue, getEntries, getIntegerValue, getIntegerValue, getLongValue, getLongValue, getRestorableStateForAVPair, 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, 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
 
Methods inherited from interface gov.nasa.worldwind.event.MessageListener
onMessage
 

Constructor Detail

MercatorTiledImageLayer

public MercatorTiledImageLayer(LevelSet levelSet)
Method Detail

composeImageForSector

public BufferedImage composeImageForSector(Sector sector,
                                           int imageWidth,
                                           int imageHeight,
                                           int levelNumber,
                                           String mimeType,
                                           boolean abortOnError,
                                           BufferedImage image)

computeLevelForResolution

public int computeLevelForResolution(Sector sector,
                                     Globe globe,
                                     double resolution)

countImagesInSector

public int countImagesInSector(Sector sector,
                               int levelNumber)

doRender

protected final void doRender(DrawContext dc)
Specified by:
doRender in class AbstractLayer

forceTextureLoad

protected abstract void forceTextureLoad(MercatorTextureTile tile)

getAvailableImageFormats

public List<String> getAvailableImageFormats()

getDefaultImageFormat

public String getDefaultImageFormat()

getLevels

protected LevelSet getLevels()

getReferencePoint

protected Vec4 getReferencePoint()

getRequestQ

protected PriorityBlockingQueue<Runnable> getRequestQ()

isAtMaxResolution

public boolean isAtMaxResolution()
Description copied from interface: Layer
Indicates whether the most recent rendering of the layer rendered the highest resolution imagery or other data available. Some layers do not track resolution. For those layers this value will always be true. Typically such layers also return false from Layer.isMultiResolution().

Specified by:
isAtMaxResolution in interface Layer
Overrides:
isAtMaxResolution in class AbstractLayer
Returns:
true if the layer is at maximum resolution, otherwise false.

isDrawBoundingVolumes

public boolean isDrawBoundingVolumes()

isDrawTileBoundaries

public boolean isDrawTileBoundaries()

isDrawTileIDs

public boolean isDrawTileIDs()

isForceLevelZeroLoads

public boolean isForceLevelZeroLoads()

isImageFormatAvailable

public boolean isImageFormatAvailable(String imageFormat)

isLayerInView

public boolean isLayerInView(DrawContext dc)
Description copied from interface: Layer
Indicates whether the layer is in the view. The method implemented here is a default indicating the layer is in view. Subclasses able to determine their presence in the view should override this implementation.

Specified by:
isLayerInView in interface Layer
Overrides:
isLayerInView in class AbstractLayer
Parameters:
dc - the current draw context
Returns:
true if the layer is in the view, false otherwise.

isMultiResolution

public boolean isMultiResolution()
Description copied from interface: Layer
Indicates whether the layer provides multiple resolutions of imagery or other data.

Specified by:
isMultiResolution in interface Layer
Overrides:
isMultiResolution in class AbstractLayer
Returns:
true if the layer provides multiple resolutions, else false.

isRetainLevelZeroTiles

public boolean isRetainLevelZeroTiles()

isShowImageTileOutlines

public boolean isShowImageTileOutlines()

isUseMipMaps

public boolean isUseMipMaps()

isUseTransparentTextures

public boolean isUseTransparentTextures()

render

public void render(DrawContext dc)
Description copied from interface: Layer
Cause the layer to draw its representation.

Specified by:
render in interface Layer
Overrides:
render in class AbstractLayer
Parameters:
dc - the current draw context

requestTexture

protected abstract void requestTexture(DrawContext dc,
                                       MercatorTextureTile tile)

setAvailableImageFormats

protected void setAvailableImageFormats(String[] formats)

setDrawBoundingVolumes

public void setDrawBoundingVolumes(boolean drawBoundingVolumes)

setDrawTileBoundaries

public void setDrawTileBoundaries(boolean drawTileBoundaries)

setDrawTileIDs

public void setDrawTileIDs(boolean drawTileIDs)

setForceLevelZeroLoads

public void setForceLevelZeroLoads(boolean forceLevelZeroLoads)

setName

public void setName(String name)
Description copied from interface: Layer
Set the layer's name. The name is a convenience attribute typically used to identify the layer in user interfaces. By default, a layer has no name.

Specified by:
setName in interface Layer
Overrides:
setName in class AbstractLayer
Parameters:
name - the name to assign to the layer.

setRetainLevelZeroTiles

public void setRetainLevelZeroTiles(boolean retainLevelZeroTiles)

setShowImageTileOutlines

public void setShowImageTileOutlines(boolean showImageTileOutlines)

setUseMipMaps

public void setUseMipMaps(boolean useMipMaps)

setUseTransparentTextures

public void setUseTransparentTextures(boolean useTransparentTextures)

NASA World Wind