UNPKG

@giro3d/giro3d

Version:

A JS/WebGL framework for 3D geospatial data visualization

59 lines 2.11 kB
import { Mesh, ShaderMaterial, SphereGeometry, Vector3 } from 'three'; import type Context from '../core/Context'; import type PickResult from '../core/picking/PickResult'; import Ellipsoid from '../core/geographic/Ellipsoid'; import Entity3D from './Entity3D'; /** * Displays an atmosphere around an ellipsoid. * * The entity is made of two components: * - `.inner`, which represents the atmosphere inside the ring and acts as a "veil", * - `.outer`, which represents the visible halo on the edge of the ring */ export default class Atmosphere extends Entity3D { readonly isAtmosphere: true; readonly type: "Atmosphere"; private readonly _ellipsoid; private readonly _sphere; private readonly _inner; private readonly _outer; private readonly _sphereUniforms; private readonly _wavelengths; private _disposed; get ellipsoid(): Ellipsoid; get redWavelength(): number; set redWavelength(v: number); get greenWavelength(): number; set greenWavelength(v: number); get blueWavelength(): number; set blueWavelength(v: number); get outer(): Mesh<SphereGeometry, ShaderMaterial, import("three").Object3DEventMap>; get inner(): Mesh<SphereGeometry, ShaderMaterial, import("three").Object3DEventMap>; constructor(options?: { /** * The ellipsoid to use. * @defaultValue {@link Ellipsoid.WGS84} */ ellipsoid?: Ellipsoid; /** * The thickness of the atmosphere * @defaultValue 300km (earth atmosphere) */ thickness?: number; /** * Red, green, blue wavelength, in normalized values (i;e in the [0, 1] range) * @defaultValue [0.65, 0.57, 0.475] */ wavelengths?: [number, number, number]; }); updateOpacity(): void; private updateMinMaxDistance; postUpdate(context: Context, _changeSources: Set<unknown>): void; pick(): PickResult[]; /** * Sets the position of the sun. */ setSunPosition(position: Vector3): void; dispose(): void; } //# sourceMappingURL=Atmosphere.d.ts.map