import ImageProvider from "./ImageProvider"; import TileTexture from "./TileTexture"; import GLEnv from "./GLEnv"; import type { PoleInfo } from "./Viewer"; /** * タイルテクスチャの管理 * * @see [[TileTexture]] */ declare class TileTextureCache { get main_provider(): ImageProvider; private _npole_provider; private _npole_color; private _spole_provider; private _spole_color; /** * Belt の Y 座標の下限 */ private _belt_lower_y; /** * Belt の Y 座標の上限 */ private _belt_upper_y; /** * すべての [[Belt]] インスタンス */ private readonly _belts; /** * @param glenv - WebGL 環境 * @param provider - 地図画像プロバイダ * @param options - 生成オプション */ constructor(glenv: GLEnv, provider: ImageProvider, options?: Option); init(): Promise; /** * ImageProviderを切り替える * * @param provider 地図画像プロバイダ * @param pole_info Pole情報 */ setProvider(provider: ImageProvider): Promise; /** * Pole を切り替える * * @param pole_info Pole情報 */ setPole(pole_info: PoleInfo): Promise; /** * 領域 0/0/y に対応する `Belt` インスタンスを取得 * * @param y - y 座標 (整数 [_belt_lower_y, _belt_upper_y]) */ private _belt; /** * すべてのリクエストを取り消し、リソースを破棄する。 */ dispose(): void; /** * LOD からテクスチャの Z レベルを計算するバイアス値を取得 * * @return Log2[2Pi / size] */ getImageZBias(): number; /** * タイルのズームレベルの範囲 */ getZoomLevelRange(): ImageProvider.Range; /** * リクエスト待ちのタイルの個数を取得 * * @return リクエスト待ちのタイルの個数 */ getNumWaitingRequests(): number; /** * 先祖タイルテクスチャを検索 * * `[x, y, z]` タイルの祖先の中で、現在キャッシュに存在する最大レ * ベルのタイルテクスチャを検索し、`hi` に設定する。 * * ただし検索されるタイルのズームレベルが `Z` とすると、 * `Z <= max( zlimit, this._min_image_z )` * という条件から検索し、存在しなければ `null` となる。 * * `hi` より低いレベルにタイルが存在すれば、それを `lo` に設定し、 * 存在しなければ `lo` に `hi` と同じタイルを設定する。 * * プロバイダにもっと相応しいテクスチャが存在する可能性があれば、 * そのテクスチャを要求する。 * * 前提: `z >= this._min_image_z && z >= zlimit` * * @param z - 地図ズームレベル * @param x - X タイル座標 * @param y - Y タイル座標 * @param zlimit - 先祖レベルの上限 * * @returns 先祖タイルテクスチャ配列 `[hi, lo]` */ findNearestAncestors(z: number, x: number, y: number, zlimit: number): [hi: FTile, lo: FTile]; /** * フレームの最後の処理 */ endFrame(): void; } /** * 生成オプションの型 * * @see [[TileTextureCache.constructor]] */ export interface Option { /** * 極地情報 * * @defaultValue [[Viewer.PoleOption]] の既定値 */ pole_info?: PoleInfo; } /** * タイルの検索結果の要素 */ type FTile = TileTexture | null; export default TileTextureCache; //# sourceMappingURL=TileTextureCache.d.ts.map