/** @packageDocumentation * @module DisplayStyles */ import { BackgroundMapProps } from "./BackgroundMapSettings"; /** The current set of supported terrain providers. Currently only CesiumWorldTerrain. * @see [[TerrainProps]] * @public */ export declare type TerrainProviderName = "CesiumWorldTerrain"; /** JSON representation of the settings of the terrain applied to background map display by a [[DisplayStyle]]. * @see [[DisplayStyleSettingsProps]] * @see [[BackgroundMapProps]] * @public */ export interface TerrainProps { /** Identifies the provider currently only CesiumWorldTerrain is supported. */ providerName?: string; /** A value greater than one will cause terrain height to be exaggerated/scaled.false (or 1.0) indicate no exaggeration. Default value: 1.0 */ exaggeration?: number; /** Applying lighting can help to visualize subtle terrain variation. Default value: true */ applyLighting?: boolean; /** Origin value - height of the IModel origin at the project center as defined by heightOriginMode. Default value: 0.0 */ heightOrigin?: number; /** Determines how/if the heightOrigin is applied to the terrain height. Default value: Geodetic */ heightOriginMode?: TerrainHeightOriginMode; /** @deprecated use [[BackgroundMapProps.nonLocatable]] */ nonLocatable?: boolean; } /** Correction modes for terrain height * @see [[TerrainProps]] * @public */ export declare enum TerrainHeightOriginMode { /** Height value indicates the geodetic height of the IModel origin (also referred to as ellipsoidal or GPS height) */ Geodetic = 0, /** Height value indicates the geoidal height of the IModel origin (commonly referred to as sea level). */ Geoid = 1, /** Height value indicates the height of the IModel origin relative to ground level at project center. */ Ground = 2 } /** Normalized version of [[TerrainProps]] for which provider has been validated and default values of all members are used. * @public */ export declare class TerrainSettings { /** Identifies the provider currently only CesiumWorldTerrain supported. */ readonly providerName: TerrainProviderName; /** A value greater than one will cause terrain height to be exaggerated/scaled. 1.0 indicates no exaggeration. Default value: 1.0 */ readonly exaggeration: number; /** Applying lighting can help to visualize subtle terrain variations. Default value: false */ readonly applyLighting: boolean; /** Origin value - height of the IModel origin at the project center as defined by heightOriginMode. Default value 0.0 */ readonly heightOrigin: number; /** Determines how/if the heightOrigin is applied to the terrain height. Default value: Geodetic */ readonly heightOriginMode: TerrainHeightOriginMode; /** @deprecated use [[BackgroundMapSettings.locatable]] */ readonly locatable: boolean; constructor(providerName?: TerrainProviderName, exaggeration?: number, applyLighting?: boolean, heightOrigin?: number, heightOriginMode?: TerrainHeightOriginMode, locatable?: boolean); static fromJSON(json?: TerrainProps): TerrainSettings; toJSON(): TerrainProps; equals(other: TerrainSettings): boolean; /** Returns true if these settings are equivalent to the supplied JSON settings. */ equalsJSON(json?: BackgroundMapProps): boolean; /** Create a copy of this TerrainSettings, optionally modifying some of its properties. * @param changedProps JSON representation of the properties to change. * @returns A TerrainSettings with all of its properties set to match those of`this`, except those explicitly defined in `changedProps`. */ clone(changedProps?: TerrainProps): TerrainSettings; } //# sourceMappingURL=TerrainSettings.d.ts.map