@itwin/core-frontend
Version:
iTwin.js frontend components
83 lines • 4.46 kB
TypeScript
/** @packageDocumentation
* @module Tiles
*/
import { GuidString } from "@itwin/core-bentley";
import { RealityData, RealityDataSourceKey, RealityDataSourceProps } from "@itwin/core-common";
import { PublisherProductInfo, RealityDataSource, SpatialLocationAndExtents } from "../RealityDataSource";
/** This class provides access to the reality data provider services.
* It encapsulates access to a reality data from the Google Photorealistic 3D Tiles service.
* A valid Google 3D Tiles authentication key must be configured for this provider to work (provide the key in the [[RealityDataSourceGoogle3dTilesImpl.createFromKey]] method).
* @internal
*/
export declare class RealityDataSourceGoogle3dTilesImpl implements RealityDataSource {
readonly key: RealityDataSourceKey;
/** The URL that supplies the 3d tiles for displaying the Google 3D Tiles tileset. */
private _tilesetUrl;
/** Base URL of the Google 3D Tiles tileset. Does not include trailing subdirectories. */
private _baseUrl;
/** Search parameters that must be passed down to child tile requests. */
private _searchParams?;
/** Google Map Tiles API Key used to access Google 3D Tiles. */
private _apiKey?;
/** Function that returns an OAuth token for authenticating with GP3sDT. This token is expected to not contain the "Bearer" prefix. */
private _getAuthToken?;
/** This is necessary for Google 3D Tiles tilesets! This tells the iTwin.js tiling system to use the geometric error specified in the tileset rather than any of our own. */
readonly usesGeometricError = true;
readonly maximumScreenSpaceError = 16;
/** Construct a new reality data source.
* @param props JSON representation of the reality data source
*/
protected constructor(props: RealityDataSourceProps, apiKey: string | undefined, _getAuthToken?: () => Promise<string | undefined>);
/**
* Create an instance of this class from a source key and iTwin context.
*/
static createFromKey(sourceKey: RealityDataSourceKey, _iTwinId: GuidString | undefined, apiKey: string | undefined, _getAuthToken?: () => Promise<string | undefined>): Promise<RealityDataSource | undefined>;
get isContextShare(): boolean;
/**
* Returns Reality Data if available
*/
get realityData(): RealityData | undefined;
get realityDataId(): string | undefined;
/**
* Returns Reality Data type if available
*/
get realityDataType(): string | undefined;
getTilesetUrl(): string | undefined;
/** Return the URL of the Google 3D Tiles tileset with its API key included. */
private getTilesetUrlWithKey;
protected setBaseUrl(url: string): void;
/**
* This method returns the URL to access the actual 3d tiles from the service provider.
* @returns string containing the URL to reality data.
*/
getServiceUrl(_iTwinId: GuidString | undefined): Promise<string | undefined>;
getRootDocument(_iTwinId: GuidString | undefined): Promise<any>;
/** Returns the tile URL relative to the base URL.
* If the tile path is a relative URL, the base URL is prepended to it.
* For both absolute and relative tile path URLs, the search parameters are checked. If the search params are empty, the base URL's search params are appended to the tile path.
*/
getTileUrl(tilePath: string): string;
/**
* Returns the tile content. The path to the tile is relative to the base url of present reality data whatever the type.
*/
getTileContent(name: string): Promise<ArrayBuffer>;
/**
* Returns the tile content in json format. The path to the tile is relative to the base url of present reality data whatever the type.
*/
getTileJson(name: string): Promise<any>;
getTileContentType(url: string): "tile" | "tileset";
/**
* Gets spatial location and extents of this reality data source
* @returns spatial location and extents
* @internal
*/
getSpatialLocationAndExtents(): Promise<SpatialLocationAndExtents | undefined>;
/**
* Gets information to identify the product and engine that create this reality data
* Will return undefined if cannot be resolved
* @returns information to identify the product and engine that create this reality data
* @alpha
*/
getPublisherProductInfo(): Promise<PublisherProductInfo | undefined>;
}
//# sourceMappingURL=RealityDataSourceGoogle3dTilesImpl.d.ts.map