/*! * Copyright (c) Microsoft Corporation. * Licensed under the MIT License. */ import { IGeoJSON, IMapProjection } from "./helpers/map.js"; import { Core } from "./main.js"; interface IMapJSON { key: string; items: IMapItemJSON[]; } interface IMapItemJSON { key: string; scale: number; minLon: number; maxLon: number; minLat: number; maxLat: number; u0: number; v0: number; u1: number; v1: number; } export declare class MapItem { key: string; width: number; height: number; scale: number; distances: Uint8ClampedArray; gradientsX: Uint8ClampedArray; gradientsY: Uint8ClampedArray; pixels: Uint8ClampedArray; minLon: number; maxLon: number; minLat: number; maxLat: number; u0: number; v0: number; u1: number; v1: number; toJSON(): IMapItemJSON; } export interface IMapVisual { isInitialized: boolean; map: Map; update(): void; } export declare class MapVisual implements IMapVisual { isInitialized: boolean; map: Map; update(): void; constructor(map: Map); } export declare class Map { private _core; private _keys; private _hasChanged; private _rasterizer; private _previousSize; key: string; items: { [key: string]: MapItem; }; get atlas(): MapAtlas; get count(): number; hasChangedCallback: () => void; constructor(core: Core, rasterizer: MapRasterizer); add(key: string): void; update(): void; toJSON(): IMapJSON; } export interface IMapRasterizerOptions { key: string; atlas: MapAtlas; geoJSON: IGeoJSON; scale: number; property: string; border: number; edgeValue: number; maxDistance: number; mapProjection?: IMapProjection; } export declare class MapAtlas { imageData: ImageData; x: number; top: Uint16Array; constructor(width: number, height: number); } export declare class MapRasterizer { private _core; private _border; private _geoJSONRasterizer; private _maxDistance; private _edgeValue; private _atlas; private _geoJSON; private _scale; private _property; private _map; private _key; private _mapProjection; private _scaleFactor; private _minLogitude; private _maxLongitude; private _minLatitude; private _maxLatitude; get map(): Map; get atlas(): MapAtlas; get scale(): number; set scale(value: number); get geoJSON(): IGeoJSON; set geoJSON(value: IGeoJSON); get property(): string; set property(value: string); get mapProjection(): IMapProjection; set mapProjection(value: IMapProjection); get scaleFactor(): number; set scaleFactor(value: number); get minLongitude(): number; set minLongitude(value: number); get maxLongitude(): number; set maxLongitude(value: number); get minLatitude(): number; set minLatitude(value: number); get maxLatitude(): number; set maxLatitude(value: number); constructor(core: Core, options: IMapRasterizerOptions); draw(key: string): MapItem; } interface IGeoJSONRasterizerOptions { geoJSON: IGeoJSON; property: string; scale: number; border: number; edgeValue: number; maxDistance: number; mapProjection?: IMapProjection; } export declare class GeoJSONRasterizer { private _core; private _border; private _geoJSON; private _scale; private _property; private _maxDistance; private _edgeValue; private _gridOuter; private _gridInner; private _f; private _z; private _v; private _mapProjection; private _lonLat; private _geoJSONHelper; private _scaleFactor; private _minLongitude; private _maxLongitude; private _minLatitude; private _maxLatitude; get scale(): number; set scale(value: number); get geoJSON(): IGeoJSON; set geoJSON(value: IGeoJSON); get property(): string; set property(value: string); get mapProjection(): IMapProjection; set mapProjection(value: IMapProjection); get scaleFactor(): number; set scaleFactor(value: number); get minLongitude(): number; set minLongitude(value: number); get maxLongitude(): number; set maxLongitude(value: number); get minLatitude(): number; set minLatitude(value: number); get maxLatitude(): number; set maxLatitude(value: number); constructor(core: Core, options: IGeoJSONRasterizerOptions); draw(key: string): MapItem; private _edt; private _edt1d; } export {};