calculateBaseTilesSingle method

void calculateBaseTilesSingle(
  1. Tile tile,
  2. SubFileParameter subFileParameter
)

Calculates the query parameters for a single tile.

Implementation

void calculateBaseTilesSingle(Tile tile, SubFileParameter subFileParameter) {
if (tile.zoomLevel < subFileParameter.baseZoomLevel) {
  // calculate the XY numbers of the upper left and lower right sub-tiles
  int zoomLevelDifference = subFileParameter.baseZoomLevel - tile.zoomLevel;
  fromBaseTileX = tile.tileX << zoomLevelDifference;
  fromBaseTileY = tile.tileY << zoomLevelDifference;
  toBaseTileX = fromBaseTileX + (1 << zoomLevelDifference) - 1;
  toBaseTileY = fromBaseTileY + (1 << zoomLevelDifference) - 1;
  useTileBitmask = false;
} else if (tile.zoomLevel > subFileParameter.baseZoomLevel) {
  // calculate the XY numbers of the parent base tile
  int zoomLevelDifference = tile.zoomLevel - subFileParameter.baseZoomLevel;
  fromBaseTileX = tile.tileX >> zoomLevelDifference;
  fromBaseTileY = tile.tileY >> zoomLevelDifference;
  toBaseTileX = fromBaseTileX;
  toBaseTileY = fromBaseTileY;
  useTileBitmask = true;
  queryTileBitmask = QueryCalculations.calculateSingleTileBitmask(tile, zoomLevelDifference);
} else {
  // use the tile XY numbers of the requested tile
  fromBaseTileX = tile.tileX;
  fromBaseTileY = tile.tileY;
  toBaseTileX = fromBaseTileX;
  toBaseTileY = fromBaseTileY;
  useTileBitmask = false;
}
  }