UNPKG

@itwin/core-frontend

Version:
64 lines 3.13 kB
/** @packageDocumentation * @module Tiles */ import { AngleSweep, Range2d } from "@itwin/core-geometry"; import { MapTilingScheme } from "../internal"; /** The JSON representation of a [[QuadId]] * @public */ export interface QuadIdProps { /** The level of the node within the tree, increasing with each subdivision, as a non-negative integer. */ level: number; /** The node's position along the X axis as a non-negative integer. */ column: number; /** The node's position along the Y axis as a non-negative integer. */ row: number; } /** Identifies a node within a [quad tree](https://en.wikipedia.org/wiki/Quadtree), such as a [[MapTile]] within a [[MapTileTree]]. * A quad tree recursively sub-divides a two-dimensional space along the X and Y axes such that each node on level L has four child nodes on * level L+1. * @public */ export declare class QuadId { /** The level of the node within the tree, increasing with each subdivision, as a non-negative integer. */ level: number; /** The node's position along the X axis as a non-negative integer. */ column: number; /** The node's position along the Y axis as a non-negative integer. */ row: number; /** @alpha */ get isValid(): boolean; /** @alpha */ static createFromContentId(stringId: string): QuadId; /** @alpha */ get contentId(): string; /** @alpha */ static getTileContentId(level: number, column: number, row: number): string; /** @alpha */ get debugString(): string; /** Construct a new QuadId. The inputs are expected to be non-negative integers. */ constructor(level: number, column: number, row: number); /** Compute the QuadIds corresponding to this node's four child nodes. */ getChildIds(columnCount?: number, rowCount?: number): QuadId[]; /** Compute the region of the surface of the Earth represented by this node according to the specified tiling scheme. */ getLatLongRangeDegrees(mapTilingScheme: MapTilingScheme): Range2d; /** Compute the region of the surface of the Earth represented by this node according to the specified tiling scheme. */ getLatLongRangeRadians(mapTilingScheme: MapTilingScheme): Range2d; private _getLatLongRange; /** @alpha */ getAngleSweep(mapTilingScheme: MapTilingScheme): { longitude: AngleSweep; latitude: AngleSweep; }; /** Returns true if this node is adjacent to the south pole according to the specified tiling scheme. */ bordersSouthPole(mapTilingScheme: MapTilingScheme): boolean; /** Returns true if this node is adjacent to the north pole according to the specified tiling scheme. */ bordersNorthPole(mapTilingScheme: MapTilingScheme): boolean; /** Compares this Id to another according to the conventions of an [OrderedComparator]($bentley). */ compare(other: QuadId): number; /** Creates a QuadId from a JSON representation */ static fromJSON(props: QuadIdProps): QuadId; /** Convert this QuadId to a JSON representation */ static toJSON(props: QuadIdProps): QuadIdProps; } //# sourceMappingURL=QuadId.d.ts.map