public abstract class ALcdEarthTileSplitter extends Object implements ILcdEarthTileSplitter
ILcdEarthTileSplitter
implementations. Derived classes need only implement the
abstract getSubTileData(Object, int, int, int)
method, which returns one sub tile's data
object. Creating the new sub tile, with the appropriate properties and containing the data, is
handled by this class. By default, getSubTile(com.luciad.earth.tileset.ALcdEarthTile,
int, long, long)
returns instances of TLcdEarthTile
. This
behaviour can be changed by overriding createSubTile(com.luciad.shape.shape3D.ILcd3DEditableBounds, Object, int, long, long, com.luciad.earth.tileset.ILcdEarthTileSetCoverage, com.luciad.reference.ILcdGeoReference, com.luciad.earth.tileset.TLcdEarthTileFormat)
.
Constructor and Description |
---|
ALcdEarthTileSplitter() |
Modifier and Type | Method and Description |
---|---|
protected ALcdEarthTile |
createSubTile(ILcd3DEditableBounds aBounds,
Object aData,
int aLevel,
long aX,
long aY,
ILcdEarthTileSetCoverage aCoverage,
ILcdGeoReference aGeoReference,
TLcdEarthTileFormat aFormat)
Returns a new
TLcdEarthTile with the given properties. |
ALcdEarthTile |
getSubTile(ALcdEarthTile aInput,
int aLevel,
long aTileX,
long aTileY)
Splits a tile and returns the requested sub tile.
|
protected ILcd3DEditableBounds |
getSubTileBounds(ALcdEarthTile aInput,
int aLevelDelta,
int aX,
int aY,
Object aSubTileData)
Returns the bounds of the sub tile.
|
abstract Object |
getSubTileData(Object aInput,
int aLevelDelta,
int aX,
int aY)
Returns the data of one sub tile of a given tile.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getDataFormat
public abstract Object getSubTileData(Object aInput, int aLevelDelta, int aX, int aY) throws IOException
aInput
- The data object of the source tile.aLevelDelta
- The number of levels above the input tile that the sub tile is.aX
- The x coordinate of the sub tile (i.e. a value in [0,2^aLevelDelta
[).aY
- The y coordinate of the sub tile (i.e. a value in [0,2^aLevelDelta
[).IOException
- If the data cannot be split.public ALcdEarthTile getSubTile(ALcdEarthTile aInput, int aLevel, long aTileX, long aTileY) throws IOException
The returned tile is instantiated using the
method createSubTile(com.luciad.shape.shape3D.ILcd3DEditableBounds, Object, int, long, long, com.luciad.earth.tileset.ILcdEarthTileSetCoverage, com.luciad.reference.ILcdGeoReference, com.luciad.earth.tileset.TLcdEarthTileFormat)
.
getSubTile
in interface ILcdEarthTileSplitter
aInput
- The tile of level N.aLevel
- The level of the returned sub tile.aTileX
- The tile x coordinate of the returned sub tile.aTileY
- The tile y coordinate of the returned sub tile.IOException
- If the tile cannot be split.IllegalArgumentException
- If the requested tile is no sub tile of the given tile.protected ILcd3DEditableBounds getSubTileBounds(ALcdEarthTile aInput, int aLevelDelta, int aX, int aY, Object aSubTileData)
aInput
- The data object of the source tile.aLevelDelta
- The number of levels above the input tile that the sub tile is.aX
- The x coordinate of the sub tile (i.e. a value in [0,2^aLevelDelta
[).aY
- The y coordinate of the sub tile (i.e. a value in [0,2^aLevelDelta
[).aSubTileData
- The sub tile's datagetSubTile(com.luciad.earth.tileset.ALcdEarthTile, int, long, long)
protected ALcdEarthTile createSubTile(ILcd3DEditableBounds aBounds, Object aData, int aLevel, long aX, long aY, ILcdEarthTileSetCoverage aCoverage, ILcdGeoReference aGeoReference, TLcdEarthTileFormat aFormat)
TLcdEarthTile
with the given properties. This
method can be overridden if some other implementation of ALcdEarthTile
is needed.aBounds
- The bounds of the new tile.aData
- The data of the new tile.aLevel
- The level of the new tile.aX
- The column index of the new tile.aY
- The row index of the new tile.aCoverage
- The coverage of the new tile.aGeoReference
- The geo reference of the new tile.aFormat
- The format of the new tile.