@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
TypeScript
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.
*
* 
*
* 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