import RenderFlake from "./RenderFlake"; import type RenderStage from "./RenderStage"; /** * 描画地表断片を収集するツール * * [[RenderStage]] の一部 */ declare class FlakeCollector { /** */ private readonly _globe; /** * 位置ベクトル Q * * @see doc/ImageLevelCalculation.txt */ private readonly _view_pos_Q; /** * ベクトル w * U * * @see doc/ImageLevelCalculation.txt */ private readonly _view_dir_wU; /** * 視体積カリング平面と地表遮蔽カリング平面 (GOCS) */ private readonly _clip_planes; /** * 地図画像タイルの最小ズームレベル */ private readonly _min_image_z; /** * LOD からテクスチャの Z レベルを計算するバイアス値 * * 地図画像タイルと DEM タイルで値が大きい方のバイアス値である。 */ private readonly _max_zbias; private readonly _rflake_list; private readonly _debug_stats; private _num_procA_flakes; private _num_procB_flakes; private readonly _view_dir_N; private readonly _view_dir_V; /** * @param stage - 所有者である [[RenderStage]] インスタンス */ constructor(stage: RenderStage); /** * see [[_view_pos_Q]], [[_view_dir_wU]] */ private static _createViewVectors; /** * see [[_clip_planes]] */ private static _createClipPlanes; /** * 描画地表断片を収集 * * @returns 収集され描画地表断片の集合 */ traverse(): RenderFlake[]; /** */ private _collectFlakes; /** */ private _collectNextLevelFlakes; /** * 地表断片の詳細レベルの範囲を取得 */ private _getLevelOfDetailRange; /** * 単位球メルカトル座標 x, y の地表詳細レベルを計算 * * 以下の値が設定されていなければならない。 * * - this._view_pos_Q * - this._view_dir_wU * * @param x X 座標 * @param y Y 座標 * @param r GOGS 原点からの距離 (Meters) * * @return 地表詳細レベル */ private _calcLOD; /** * 四隅の LOD を設定 * * rflake に以下のプロパティを設定する。 * * - rflake.lod_00 * - rflake.lod_10 * - rflake.lod_01 * - rflake.lod_11 */ private _setCornerLODs; /** * 描画地表断片を追加 */ private _addRenderFlake; /** * Flake に対する LOD の許容幅 * * 1つの Flake 全体に対する最小 LOD と最大 LOD の間の最大幅である。 * * 有効な範囲は 0.0 < MAX_LOD_INTERVAL < 1.0 である。 */ private static readonly MAX_LOD_INTERVAL; } export default FlakeCollector; //# sourceMappingURL=FlakeCollector.d.ts.map