@allmaps/render
Version:
Render functions for WebGL and image buffers
63 lines (61 loc) • 4.48 kB
TypeScript
import { MapPruneConstants, MapPruneInfo } from './types';
import { FetchableTile } from '../tilecache/FetchableTile';
import { Image } from '@allmaps/iiif-parser';
import { Point, Ring, Bbox, Tile, Size, TileZoomLevel } from '@allmaps/types';
/**
* Returns the best TileZoomLevel for a given resource-to-canvas scale.
*
* @export
* @param image - A parsed IIIF Image
* @param resourceToCanvasScale - The resource to canvas scale, relating resource pixels to canvas pixels.
* @returns
*/
export declare function getTileZoomLevelForScale(tileZoomLevels: TileZoomLevel[], resourceToCanvasScale: number, scaleFactorCorrection: number, log2scaleFactorCorrection: number): TileZoomLevel;
export declare function computeTilesCoveringRingAtTileZoomLevel(resourceRing: Ring, tileZoomLevel: TileZoomLevel, imageSize: Size): Tile[];
export declare function getTilesCoveringTileAtScaleFactor(tile: Tile, parsedImage: Image, scaleFactor: number, validTile?: (tile: Tile) => boolean): Tile[];
export declare function getTilesAtScaleFactor(scaleFactor: number, parsedImage: Image, columnStart?: number, columnEnd?: number, rowStart?: number, rowEnd?: number, validTile?: (tile: Tile) => boolean): Tile[];
export declare function equalTileByRowColumnScaleFactor(tile0: Tile, tile1: Tile): boolean;
export declare function distanceTileToPoint(tile: Tile, point: Point): number;
export declare function squaredDistanceTileToPoint(tile: Tile, point: Point): number;
export declare function tileCenter(tile: Tile): Point;
/**
* Returns the resource coordinates of the tile's origin point
*
* @export
* @param tile
* @returns
*/
export declare function tileToTileOriginPoint(tile: Tile): Point;
export declare function clipTilePointToTile(tilePoint: Point, tile: Tile): Point;
/**
* From the input point in resource coordinates, returns the same point in tile coordinates
* I.e. relative to the tile's origin point and scaled using the scale factor
*
* @param resourcePoint
* @param tile
* @param clip
* @returns
*/
export declare function resourcePointToTilePoint(resourcePoint: Point, tile: Tile, clip?: boolean): Point | undefined;
export declare function resourcePointInTile(resourcePoint: Point, tile: Tile): boolean;
export declare function resourcePointInImage(resourcePoint: Point, tile: Tile): boolean;
export declare function computeBboxTile(tile: Tile): Bbox;
export declare function getTileSize(tile: Tile): Size;
export declare function getTileOriginalSize(tile: Tile): Size;
export declare function getTileResolution(tile: Tile): number;
export declare function getTileOriginalResolution(tile: Tile): number;
export declare function getTilesResolution(tiles: Tile[]): number;
export declare function getTilesOriginalResolution(tiles: Tile[]): number;
export declare function getTileZoomLevelResolution(tileZoomLevel: TileZoomLevel): number;
export declare function getTileZoomLevelOriginalResolution(tileZoomLevel: TileZoomLevel): number;
export declare function getTilesAtOtherScaleFactors(tile: Tile, parsedImage: Image, scaleFactor: number, TEXTURES_MAX_LOWER_LOG2_SCALE_FACTOR_DIFF: number, TEXTURES_MAX_HIGHER_LOG2_SCALE_FACTOR_DIFF: number, validTile?: (tile: Tile) => boolean): Tile[];
export declare function recursivelyGetTilesAtHigherScaleFactor(tile: Tile, parsedImage: Image, scaleFactor: number, log2ScaleFactorDiff: number, validTile?: (tile: Tile) => boolean): Tile | undefined;
export declare function recursivelyGetTilesAtLowerScaleFactor(tile: Tile, parsedImage: Image, scaleFactor: number, log2ScaleFactorDiff: number, validTile?: (tile: Tile) => boolean): (Tile | undefined)[];
export declare function getTileAtHigherScaleFactor(tile: Tile, parsedImage: Image, higherScaleFactor: number, validTile?: (tile: Tile) => boolean): Tile | undefined;
export declare function getTilesAtLowerScaleFactor(tile: Tile, parsedImage: Image, lowerScaleFactor: number, validTile?: (tile: Tile) => boolean): (Tile | undefined)[];
export declare function fetchableTileKey(fetchableTile: FetchableTile): string;
export declare function keyFromMapIdTileUrl(mapId: string, tileUrl: string): string;
export declare function tileKey(tile: Tile): string;
export declare function keyFromScaleFactorRowColumn(scaleFactor: number, row: number, column: number): string;
export declare function tileUrl(tile: Tile, parsedImage: Image): string;
export declare function shouldPruneTile(tile: Tile, mapPruneInfo: MapPruneInfo, mapPruneConstants: MapPruneConstants): boolean;