UNPKG

@arcgis/core

Version:

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

69 lines (67 loc) 2.61 kB
import type WebSceneSunLighting from "../../../webscene/SunLighting.js"; import type { EventedMixin } from "../../../core/Evented.js"; import type { SunLightingProperties as WebSceneSunLightingProperties } from "../../../webscene/SunLighting.js"; export interface SunLightingProperties extends WebSceneSunLightingProperties, Partial<Pick<SunLighting, "cameraTrackingEnabled">> { /** * The current date and time of the simulated sun. When setting the date, specifying the time zone is important, * otherwise the time zone of the browser will be used. This might lead to different lighting for users in different * time zones. * * @default new Date("March 15, 2022 12:00:00 UTC") */ date?: (Date | number | string); } /** * The SunLighting class allows you to change the lighting in the scene to sunlight. The position of the light is set to the sun's location. * * ![scene-lightings](https://developers.arcgis.com/javascript/latest/assets/references/core/views/virtualLightCombined.png) * * Example: * ```js * let view = new SceneView({ * container: "viewDiv", * * map: new Map({ * basemap: "satellite", * ground: "world-elevation" * }), * environment: { * lighting: { * type: "sun" // autocasts as new SunLighting() * } * } * }); * ``` * The lighting visualization updates as soon as the type property changes: * ``` * view.environment.lighting = { * type: "sun", * directShadowsEnabled: true // autocasts as new SunLighting({ directShadowsEnabled: true }) * } * ``` * * @since 4.23 * @see [Sample - Daylight component](https://developers.arcgis.com/javascript/latest/sample-code/daylight/) */ export default class SunLighting extends SunLightingSuperclass { constructor(properties?: SunLightingProperties); /** * Indicates whether the date and time of the simulated sun is automatically updated to maintain the current time of * day while the camera changes. * * @default true */ accessor cameraTrackingEnabled: boolean; /** * The current date and time of the simulated sun. When setting the date, specifying the time zone is important, * otherwise the time zone of the browser will be used. This might lead to different lighting for users in different * time zones. * * @default new Date("March 15, 2022 12:00:00 UTC") */ get date(): Date; set date(value: (Date | number | string)); /** Indicates that the light source is simulated position of the sun. */ get type(): "sun"; } declare const SunLightingSuperclass: typeof WebSceneSunLighting & typeof EventedMixin