Class TLcdMultilevelRaster

java.lang.Object
com.luciad.format.raster.TLcdMultilevelRaster
All Implemented Interfaces:
ILcdMultilevelRaster, ILcdBounded, ILcdCache, ILcdDisposable, AutoCloseable

public class TLcdMultilevelRaster extends Object implements ILcdMultilevelRaster, ILcdDisposable
Important notice: the package com.luciad.imaging presents a new API for the modeling of raster data. For new projects, it is recommended to use this API instead of ILcdRaster et al. This class implements ILcdMultilevelRaster using an array of ILcdRaster objects.

This class is thread-safe for concurrent read-only access of its contents.

  • Constructor Details

    • TLcdMultilevelRaster

      public TLcdMultilevelRaster(ILcdBounds aBounds, ILcdRaster[] aRasters)
      Creates a new TLcdMultilevelRaster.
      Parameters:
      aBounds - the global bounds of all contained rasters.
      aRasters - the ILcdRaster objects, with increasing resolutions.
  • Method Details

    • getRasterCount

      public int getRasterCount()
      Specified by:
      getRasterCount in interface ILcdMultilevelRaster
      Returns:
      the number of ILcdRaster objects in this ILcdMultilevelRaster.
    • getRaster

      public ILcdRaster getRaster(int aLevel)
      Specified by:
      getRaster in interface ILcdMultilevelRaster
      Returns:
      the ILcdRaster at level aLevel.
    • getBounds

      public ILcdBounds getBounds()
      Description copied from interface: ILcdBounded
      Returns the ILcdBounds by which the geometry of this ILcdBounded object is bounded.

      If the geometry does not allow retrieving valid bounds (for example a polyline with 0 points) the return value is unspecified. It is highly recommended to return an undefined bounds. You can create undefined bounds using the default constructors of TLcdLonLatBounds or TLcdXYBounds.

      Specified by:
      getBounds in interface ILcdBounded
      Returns:
      the ILcdBounds by which the geometry of this ILcdBounded object is bounded.
    • insertIntoCache

      public void insertIntoCache(Object aKey, Object aObject)
      Description copied from interface: ILcdCache
      Inserts a cache Object corresponding to the given key Object.
      Specified by:
      insertIntoCache in interface ILcdCache
      Parameters:
      aKey - the key Object that will be used to identify the Object. The key must therefore be a unique identifier, typically the caller itself: insertIntoCache(this, ...).
      aObject - the Object to be cached.
    • getCachedObject

      public Object getCachedObject(Object aKey)
      Description copied from interface: ILcdCache
      Looks up and returns the cached Object corresponding to the given key.
      Specified by:
      getCachedObject in interface ILcdCache
      Parameters:
      aKey - the key Object that was used for storing the cache Object.
      Returns:
      the cached Object, or null if there is no Object corresponding to the given key.
    • removeCachedObject

      public Object removeCachedObject(Object aKey)
      Description copied from interface: ILcdCache
      Looks up and removes the cached Object corresponding to the given key.
      Specified by:
      removeCachedObject in interface ILcdCache
      Parameters:
      aKey - the key Object that was used for storing the cache Object.
      Returns:
      the cached Object, or null if there was no Object corresponding to the given key.
    • clearCache

      public void clearCache()
      Description copied from interface: ILcdCache
      Clears the cache.
      Specified by:
      clearCache in interface ILcdCache
    • dispose

      public void dispose()
      Description copied from interface: ILcdDisposable

      Disposes of this object and allows it to release any system resources that it is holding.

      The result of calling any other method (other than finalize) on this object subsequent to a call to this method is undefined.

      Specified by:
      dispose in interface ILcdDisposable