UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

70 lines (68 loc) 2.17 kB
import type { JSONSupport } from "../../../core/JSONSupport.js"; export interface SnowyWeatherProperties extends Partial<Pick<SnowyWeather, "cloudCover" | "precipitation" | "snowCover">> {} /** * The SnowyWeather class allows you to change the weather conditions in the scene to snowy weather. * * ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/references/core/views/scene-weather-snowy.png) * * Example: * ```js * let view = new SceneView({ * container: "viewDiv", * * map: new Map({ * basemap: "satellite", * ground: "world-elevation" * }), * environment: { * weather: { * type: "snowy", * cloudCover: 0.8, * precipitation: 0.3, * snowCover: "enabled" // autocasts as new SnowyWeather({ cloudCover: 0.8, precipitation: 0.3, snowCover: "enabled" }) * } * } * }); * ``` * The weather visualization updates as soon as the property changes: * ``` * view.environment.weather = { * type: "snowy", * cloudCover: 0.4, * precipitation: 0.3 // autocasts as new SnowyWeather({ cloudCover: 0.4, precipitation: 0.3, snowCover: "disabled" }) * } * ``` * * @since 4.24 * @see [Sample - Weather visualization](https://developers.arcgis.com/javascript/latest/sample-code/scene-weather/) * @see [Sample - Weather component](https://developers.arcgis.com/javascript/latest/sample-code/weather/) */ export default class SnowyWeather extends JSONSupport { constructor(properties?: SnowyWeatherProperties); /** * Specifies the amount of cloud cover in the sky for a certain weather type. * * @default 0.5 */ accessor cloudCover: number; /** * Specifies the amount of falling snow. * * @default 0.5 */ accessor precipitation: number; /** * Display surfaces covered with snow. The snow cover does not display on draped or tiled layers. * * @default "disabled" */ accessor snowCover: "enabled" | "disabled"; /** The type of Weather */ get type(): "snowy"; /** * Creates a deep clone of this object. * * @returns Creates a new clone of the instance calling this method. */ clone(): SnowyWeather; }