@openglobus/og 0.28.7 → 1.0.0-rc2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +218 -4
- package/README.md +31 -18
- package/lib/Deferred.d.ts +2 -2
- package/lib/Events.d.ts +1 -1
- package/lib/Globe.d.ts +8 -5
- package/lib/Object3d.d.ts +17 -14
- package/lib/Popup.d.ts +2 -2
- package/lib/assets/LabelWorker.worker-DYd7xn3M.js.map +1 -0
- package/lib/assets/PlainSegmentWorker.worker-JsKldq-e.js.map +1 -0
- package/lib/assets/TerrainWorker.worker-CqUJvMOv.js.map +1 -0
- package/lib/bv/index.d.ts +2 -2
- package/lib/camera/Camera.d.ts +280 -27
- package/lib/camera/Frustum.d.ts +100 -15
- package/lib/camera/PlanetCamera.d.ts +93 -8
- package/lib/camera/index.d.ts +2 -2
- package/lib/control/CameraFrameComposer.d.ts +2 -2
- package/lib/control/CameraFrameHandler.d.ts +1 -1
- package/lib/control/CompassButton.d.ts +2 -2
- package/lib/control/EarthCoordinates.d.ts +5 -2
- package/lib/control/FramebufferPreview.d.ts +3 -3
- package/lib/control/GeoImageDragControl.d.ts +1 -1
- package/lib/control/LayerAnimation.d.ts +2 -2
- package/lib/control/LayerSwitcher.d.ts +3 -0
- package/lib/control/Lighting.d.ts +4 -2
- package/lib/control/Navigation.d.ts +15 -11
- package/lib/control/OrthoSwitcher.d.ts +18 -0
- package/lib/control/SimpleTouchNavigation.d.ts +44 -0
- package/lib/control/Sun.d.ts +4 -2
- package/lib/control/TouchNavigation.d.ts +4 -8
- package/lib/control/atmosphere/Atmosphere.d.ts +2 -0
- package/lib/control/atmosphere/AtmosphereConfig.d.ts +2 -6
- package/lib/control/cameraDepthHandler/CameraDepthHandler.d.ts +17 -3
- package/lib/control/cameraDepthHandler/camera_depth.d.ts +2 -2
- package/lib/control/drawing/LineStringDrawingScene.d.ts +1 -0
- package/lib/control/drawing/PolygonDrawingScene.d.ts +14 -14
- package/lib/control/elevationProfile/ElevationProfile.d.ts +1 -1
- package/lib/control/elevationProfile/ElevationProfileLegend.d.ts +1 -1
- package/lib/control/elevationProfile/ElevationProfileScene.d.ts +9 -12
- package/lib/control/elevationProfile/ElevationProfileView.d.ts +16 -5
- package/lib/control/entityEditor/EntityEditor.d.ts +19 -0
- package/lib/control/{geoObjectEditor/GeoObjectEditorDialog.d.ts → entityEditor/EntityEditorDialog.d.ts} +9 -8
- package/lib/control/{geoObjectEditor/GeoObjectEditorScene.d.ts → entityEditor/EntityEditorScene.d.ts} +12 -12
- package/lib/control/{geoObjectEditor → entityEditor}/colors.d.ts +2 -2
- package/lib/control/entityTree/EntityTree.d.ts +46 -0
- package/lib/control/entityTree/EntityTreeView.d.ts +24 -0
- package/lib/control/heightRuler/HeightRulerScene.d.ts +3 -2
- package/lib/control/index.d.ts +5 -3
- package/lib/control/ruler/RulerScene.d.ts +8 -8
- package/lib/control/selection/SelectionScene.d.ts +6 -6
- package/lib/control/timeline/TimelineControl.d.ts +2 -2
- package/lib/control/timeline/TimelineModel.d.ts +1 -1
- package/lib/control/timeline/TimelineView.d.ts +52 -13
- package/lib/control/visibleExtent/segment.d.ts +7 -0
- package/lib/ellipsoid/index.d.ts +4 -4
- package/lib/entity/Entity.d.ts +114 -100
- package/lib/entity/EntityCollection.d.ts +95 -70
- package/lib/entity/{BaseBillboard.d.ts → billboard/BaseBillboard.d.ts} +16 -17
- package/lib/entity/{BaseBillboardHandler.d.ts → billboard/BaseBillboardHandler.d.ts} +24 -9
- package/lib/entity/{Billboard.d.ts → billboard/Billboard.d.ts} +11 -7
- package/lib/entity/{BillboardHandler.d.ts → billboard/BillboardHandler.d.ts} +1 -1
- package/lib/entity/{GeoObject.d.ts → geoObject/GeoObject.d.ts} +7 -6
- package/lib/entity/{GeoObjectHandler.d.ts → geoObject/GeoObjectHandler.d.ts} +29 -11
- package/lib/entity/{InstanceData.d.ts → geoObject/InstanceData.d.ts} +18 -13
- package/lib/entity/{Geometry.d.ts → geometry/Geometry.d.ts} +10 -10
- package/lib/entity/{GeometryHandler.d.ts → geometry/GeometryHandler.d.ts} +7 -7
- package/lib/entity/index.d.ts +8 -8
- package/lib/entity/{Label.d.ts → label/Label.d.ts} +12 -13
- package/lib/entity/{LabelHandler.d.ts → label/LabelHandler.d.ts} +31 -7
- package/lib/entity/{LabelWorker.d.ts → label/LabelWorker.d.ts} +3 -3
- package/lib/entity/{PointCloud.d.ts → pointCloud/PointCloud.d.ts} +18 -12
- package/lib/entity/{PointCloudHandler.d.ts → pointCloud/PointCloudHandler.d.ts} +4 -4
- package/lib/entity/polyline/Polyline.d.ts +242 -0
- package/lib/entity/polyline/PolylineBatchRenderer.d.ts +443 -0
- package/lib/entity/{PolylineHandler.d.ts → polyline/PolylineHandler.d.ts} +19 -7
- package/lib/entity/{Ray.d.ts → ray/Ray.d.ts} +27 -9
- package/lib/entity/{RayHandler.d.ts → ray/RayHandler.d.ts} +18 -8
- package/lib/entity/{Strip.d.ts → strip/Strip.d.ts} +21 -17
- package/lib/entity/{StripHandler.d.ts → strip/StripHandler.d.ts} +11 -6
- package/lib/index.d.ts +47 -42
- package/lib/layer/BaseGeoImage.d.ts +20 -17
- package/lib/layer/CanvasTiles.d.ts +14 -12
- package/lib/layer/GeoImage.d.ts +1 -1
- package/lib/layer/GeoTexture2d.d.ts +2 -2
- package/lib/layer/KML.d.ts +19 -18
- package/lib/layer/Layer.d.ts +72 -53
- package/lib/layer/Vector.d.ts +47 -30
- package/lib/layer/WMS.d.ts +1 -1
- package/lib/layer/XYZ.d.ts +11 -12
- package/lib/layer/index.d.ts +12 -12
- package/lib/math/Line2.d.ts +1 -1
- package/lib/math/Line3.d.ts +1 -1
- package/lib/math/Mat3.d.ts +3 -13
- package/lib/math/Mat4.d.ts +16 -10
- package/lib/math/Plane.d.ts +1 -1
- package/lib/math/Quat.d.ts +14 -12
- package/lib/math/Ray.d.ts +4 -3
- package/lib/math/Vec2.d.ts +25 -17
- package/lib/math/Vec3.d.ts +33 -31
- package/lib/math/Vec4.d.ts +1 -1
- package/lib/math/coder.d.ts +1 -1
- package/lib/math/index.d.ts +13 -14
- package/lib/mercator.d.ts +4 -4
- package/lib/og.css +1 -1
- package/lib/og.es.js +1 -1
- package/lib/og.es.js.map +1 -1
- package/lib/quadTree/EntityCollectionNode.d.ts +10 -10
- package/lib/quadTree/EntityCollectionsTreeStrategy.d.ts +5 -5
- package/lib/quadTree/QuadTreeStrategy.d.ts +3 -4
- package/lib/quadTree/earth/EarthEntityCollectionNodeLonLat.d.ts +4 -4
- package/lib/quadTree/earth/EarthEntityCollectionsTreeStrategy.d.ts +4 -4
- package/lib/renderer/AtmosphereDeferredShading.d.ts +12 -0
- package/lib/renderer/IDeferredShadingPass.d.ts +8 -0
- package/lib/renderer/ITransparencyPass.d.ts +8 -0
- package/lib/renderer/PhongDeferredShading.d.ts +16 -0
- package/lib/renderer/Renderer.d.ts +166 -99
- package/lib/renderer/RendererEvents.d.ts +15 -5
- package/lib/renderer/WOITPass.d.ts +14 -0
- package/lib/res/fonts/Ephesis-Regular.json +1 -0
- package/lib/res/fonts/Ephesis-Regular.png +0 -0
- package/lib/res/fonts/Karla-Bold.json +1 -0
- package/lib/res/fonts/Karla-Bold.png +0 -0
- package/lib/res/fonts/Karla-Italic.json +1 -0
- package/lib/res/fonts/Karla-Italic.png +0 -0
- package/lib/res/fonts/Karla-Light.json +1 -0
- package/lib/res/fonts/Karla-Light.png +0 -0
- package/lib/res/fonts/Karla-Medium.json +1 -0
- package/lib/res/fonts/Karla-Medium.png +0 -0
- package/lib/res/fonts/Roboto-Regular.json +1 -37147
- package/lib/res/fonts/Roboto-Regular.png +0 -0
- package/lib/res/fonts/arial.json +1 -4321
- package/lib/res/fonts/arial.png +0 -0
- package/lib/res/night-4326.png +0 -0
- package/lib/res/night.png +0 -0
- package/lib/scene/AltitudeNearPlaneStrategy.d.ts +17 -0
- package/lib/scene/Axes.d.ts +4 -3
- package/lib/scene/Planet.d.ts +244 -69
- package/lib/scene/{RenderNode.d.ts → Scene.d.ts} +49 -46
- package/lib/scene/SkyBox.d.ts +5 -3
- package/lib/scene/index.d.ts +2 -2
- package/lib/segment/Segment.d.ts +29 -15
- package/lib/segment/SegmentLonLat.d.ts +0 -1
- package/lib/shadeModeConstants.d.ts +7 -0
- package/lib/shaders/applyDeferredDepth.d.ts +2 -0
- package/lib/shaders/atmos/atmos.d.ts +3 -3
- package/lib/shaders/billboard/billboard.d.ts +4 -3
- package/lib/shaders/deferredShading/deferredShading.d.ts +2 -0
- package/lib/shaders/deferredShading/deferredShadingAtmos.d.ts +3 -0
- package/lib/shaders/depth.d.ts +2 -2
- package/lib/shaders/geo_object/geo_object.d.ts +8 -4
- package/lib/shaders/label/label.d.ts +4 -4
- package/lib/shaders/pointCloud.d.ts +2 -2
- package/lib/shaders/polyline/polyline.d.ts +7 -3
- package/lib/shaders/ray/ray.d.ts +3 -2
- package/lib/shaders/screenFrame.d.ts +2 -2
- package/lib/shaders/segment/segment.d.ts +7 -0
- package/lib/shaders/skybox.d.ts +2 -2
- package/lib/shaders/strip/strip.d.ts +3 -0
- package/lib/shaders/tone_mapping/toneMapping.d.ts +2 -2
- package/lib/shaders/weightedOITResolve.d.ts +2 -0
- package/lib/terrain/BilTerrain.d.ts +1 -1
- package/lib/terrain/EmptyTerrain.d.ts +5 -6
- package/lib/terrain/GlobusTerrain.d.ts +18 -23
- package/lib/terrain/RgbTerrain.d.ts +8 -8
- package/lib/terrain/index.d.ts +5 -5
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/ui/Button.d.ts +7 -5
- package/lib/ui/ButtonGroup.d.ts +1 -1
- package/lib/ui/Checkbox.d.ts +2 -2
- package/lib/ui/Color.d.ts +2 -2
- package/lib/ui/Dialog.d.ts +30 -3
- package/lib/ui/Input.d.ts +7 -2
- package/lib/ui/Slider.d.ts +5 -2
- package/lib/ui/ToggleButton.d.ts +2 -2
- package/lib/ui/View.d.ts +1 -1
- package/lib/ui/icons.d.ts +1 -1
- package/lib/ui/index.d.ts +9 -9
- package/lib/utils/FontAtlas.d.ts +57 -8
- package/lib/utils/GeoImageCreator.d.ts +2 -2
- package/lib/utils/ImagesCacheManager.d.ts +3 -3
- package/lib/utils/Loader.d.ts +2 -2
- package/lib/utils/PlainSegmentWorker.d.ts +2 -2
- package/lib/utils/TerrainWorker.d.ts +2 -2
- package/lib/utils/TextureAtlas.d.ts +7 -2
- package/lib/utils/TextureResourceManager.d.ts +162 -0
- package/lib/utils/VectorTileCreator.d.ts +1 -1
- package/lib/utils/colorSpace.d.ts +9 -0
- package/lib/utils/gltf/gltfParser.d.ts +9 -2
- package/lib/utils/gltf/types.d.ts +20 -2
- package/lib/utils/shared.d.ts +11 -5
- package/lib/utils/textureResourceMeta.d.ts +9 -0
- package/lib/webgl/BaseFramebuffer.d.ts +7 -0
- package/lib/webgl/Framebuffer.d.ts +9 -6
- package/lib/webgl/Handler.d.ts +81 -99
- package/lib/webgl/ShaderProgram.d.ts +190 -0
- package/lib/webgl/index.d.ts +2 -2
- package/lib/webgl/variableHandlers.d.ts +2 -1
- package/package.json +77 -76
- package/lib/assets/LabelWorker.worker-BT1uJgYn.js.map +0 -1
- package/lib/assets/PlainSegmentWorker.worker-CT1cj8jj.js.map +0 -1
- package/lib/assets/TerrainWorker.worker-DmikdfB2.js.map +0 -1
- package/lib/control/OldMouseNavigation.d.ts +0 -65
- package/lib/control/ZoomControl.d.ts +0 -28
- package/lib/control/geoObjectEditor/GeoObjectEditor.d.ts +0 -13
- package/lib/control/visibleExtent/drawnode.d.ts +0 -7
- package/lib/entity/Polyline.d.ts +0 -417
- package/lib/light/LightSource.d.ts +0 -36
- package/lib/res/fonts/Roboto-Regular.ttf.cfg +0 -1340
- package/lib/res/fonts/Roboto-Regular.ttf.png +0 -0
- package/lib/res/fonts/arial.ttf.cfg +0 -1570
- package/lib/res/fonts/arial.ttf.png +0 -0
- package/lib/scene/BaseNode.d.ts +0 -61
- package/lib/shaders/drawnode/drawnode.d.ts +0 -8
- package/lib/webgl/Program.d.ts +0 -161
- package/lib/webgl/ProgramController.d.ts +0 -87
- /package/lib/control/{geoObjectEditor → entityEditor}/ArrowEntity.d.ts +0 -0
- /package/lib/control/{geoObjectEditor → entityEditor}/AxisTrackEntity.d.ts +0 -0
- /package/lib/control/{geoObjectEditor → entityEditor}/MoveAxisEntity.d.ts +0 -0
- /package/lib/control/{geoObjectEditor → entityEditor}/MovePlaneEntity.d.ts +0 -0
- /package/lib/control/{geoObjectEditor → entityEditor}/RotateEntity.d.ts +0 -0
- /package/lib/entity/{LabelWorker.worker.d.ts → label/LabelWorker.worker.d.ts} +0 -0
|
Binary file
|
package/lib/res/night-4326.png
CHANGED
|
Binary file
|
package/lib/res/night.png
CHANGED
|
Binary file
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { PlanetCamera } from "../camera/PlanetCamera";
|
|
2
|
+
export interface INearPlaneStrategy {
|
|
3
|
+
applyNear(camera: PlanetCamera): void;
|
|
4
|
+
}
|
|
5
|
+
export interface IAltitudeNearPlaneRule {
|
|
6
|
+
maxAltitude: number;
|
|
7
|
+
near: number;
|
|
8
|
+
}
|
|
9
|
+
export interface IAltitudeNearPlaneStrategyParams {
|
|
10
|
+
rules?: IAltitudeNearPlaneRule[];
|
|
11
|
+
}
|
|
12
|
+
export declare class AltitudeNearPlaneStrategy implements INearPlaneStrategy {
|
|
13
|
+
protected readonly _rules: IAltitudeNearPlaneRule[];
|
|
14
|
+
constructor(params?: IAltitudeNearPlaneStrategyParams);
|
|
15
|
+
applyNear(camera: PlanetCamera): void;
|
|
16
|
+
protected _resolveNear(altitude: number): number;
|
|
17
|
+
}
|
package/lib/scene/Axes.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Scene } from "./Scene";
|
|
2
2
|
import type { WebGLBufferExt } from "../webgl/Handler";
|
|
3
|
-
declare class Axes extends
|
|
3
|
+
declare class Axes extends Scene {
|
|
4
4
|
size: number;
|
|
5
5
|
axesBuffer: WebGLBufferExt | null;
|
|
6
6
|
axesColorBuffer: WebGLBufferExt | null;
|
|
7
7
|
constructor(size?: number);
|
|
8
8
|
init(): void;
|
|
9
|
-
|
|
9
|
+
onremove(): void;
|
|
10
|
+
forward: () => void;
|
|
10
11
|
createAxesBuffer(gridSize: number): void;
|
|
11
12
|
}
|
|
12
13
|
export { Axes };
|
package/lib/scene/Planet.d.ts
CHANGED
|
@@ -20,17 +20,19 @@ import { IPlanetFlyCartesianParams, PlanetCamera } from "../camera/PlanetCamera"
|
|
|
20
20
|
import { Quat } from "../math/Quat";
|
|
21
21
|
import { QuadTreeStrategy } from "../quadTree/QuadTreeStrategy";
|
|
22
22
|
import { Ray } from "../math/Ray";
|
|
23
|
-
import {
|
|
23
|
+
import { type INearPlaneStrategy } from "./AltitudeNearPlaneStrategy";
|
|
24
|
+
import { Scene } from "./Scene";
|
|
24
25
|
import { Sun } from "../control/Sun";
|
|
25
26
|
import { TerrainWorker } from "../utils/TerrainWorker";
|
|
26
27
|
import { Vec2, Vec3 } from "../math/index";
|
|
27
|
-
import type { NumberArray2,
|
|
28
|
+
import type { NumberArray2, NumberArray4 } from "../math/index";
|
|
28
29
|
import { Vector } from "../layer/Vector";
|
|
29
30
|
import { VectorTileCreator } from "../utils/VectorTileCreator";
|
|
30
31
|
import type { WebGLBufferExt, WebGLTextureExt, IDefaultTextureParams } from "../webgl/Handler";
|
|
31
|
-
import {
|
|
32
|
+
import { ShaderProgram } from "../webgl/ShaderProgram";
|
|
32
33
|
import { Segment } from "../segment/Segment";
|
|
33
34
|
import type { AtmosphereParameters } from "../shaders/atmos/atmos";
|
|
35
|
+
import { type ShadeMode, type ShadeModeInput } from "../shadeModeConstants";
|
|
34
36
|
export interface IPlanetParams {
|
|
35
37
|
name?: string;
|
|
36
38
|
ellipsoid?: Ellipsoid;
|
|
@@ -41,10 +43,6 @@ export interface IPlanetParams {
|
|
|
41
43
|
minEqualZoomAltitude?: number;
|
|
42
44
|
minEqualZoomCameraSlope?: number;
|
|
43
45
|
quadTreeStrategyPrototype?: typeof QuadTreeStrategy;
|
|
44
|
-
ambient?: string | NumberArray3 | Vec3;
|
|
45
|
-
diffuse?: string | NumberArray3 | Vec3;
|
|
46
|
-
specular?: string | NumberArray3 | Vec3;
|
|
47
|
-
shininess?: number;
|
|
48
46
|
nightTextureSrc?: string | null;
|
|
49
47
|
specularTextureSrc?: string | null;
|
|
50
48
|
maxGridSize?: number;
|
|
@@ -56,6 +54,9 @@ export interface IPlanetParams {
|
|
|
56
54
|
vectorTileSize?: number;
|
|
57
55
|
maxNodesCount?: number;
|
|
58
56
|
transparentBackground?: boolean;
|
|
57
|
+
nearPlaneStrategy?: INearPlaneStrategy;
|
|
58
|
+
shadeMode?: ShadeModeInput;
|
|
59
|
+
reverseDepth?: boolean;
|
|
59
60
|
}
|
|
60
61
|
export type PlanetEventsList = [
|
|
61
62
|
"draw",
|
|
@@ -71,24 +72,44 @@ type IndexBufferCacheData = {
|
|
|
71
72
|
buffer: WebGLBufferExt | null;
|
|
72
73
|
};
|
|
73
74
|
/**
|
|
74
|
-
* Main class for rendering planet
|
|
75
|
+
* Main class for rendering a planet.
|
|
75
76
|
* @class
|
|
76
|
-
* @extends {
|
|
77
|
-
* @param {
|
|
78
|
-
* @param {
|
|
79
|
-
* @param {
|
|
80
|
-
* @param {
|
|
81
|
-
* @param {
|
|
82
|
-
* @param {
|
|
77
|
+
* @extends {Scene}
|
|
78
|
+
* @param {IPlanetParams} [options={}] - Planet configuration parameters.
|
|
79
|
+
* @param {string} [options.name] - Planet name.
|
|
80
|
+
* @param {Ellipsoid} [options.ellipsoid=wgs84] - Planet ellipsoid.
|
|
81
|
+
* @param {number} [options.minAltitude] - Minimum camera altitude above terrain.
|
|
82
|
+
* @param {number} [options.maxAltitude] - Maximum camera altitude above terrain.
|
|
83
|
+
* @param {Array.<Array.<number>>} [options.frustums] - Planet camera frustum configuration.
|
|
84
|
+
* @param {number} [options.maxGridSize=256] - Maximum terrain segment grid size.
|
|
85
|
+
* @param {number} [options.maxLoadingRequests=12] - Maximum concurrent tile loading requests.
|
|
86
|
+
* @param {number} [options.maxNodesCount=400] - Maximum number of created quadtree nodes.
|
|
87
|
+
* @param {number} [options.maxEqualZoomAltitude=15000000.0] - Max altitude where visible segments keep the same zoom.
|
|
88
|
+
* @param {number} [options.minEqualZoomAltitude=10000.0] - Min altitude where visible segments keep the same zoom.
|
|
89
|
+
* @param {number} [options.minEqualZoomCameraSlope=0.8] - Min camera slope for equal-zoom segment strategy.
|
|
90
|
+
* @param {Function} [options.quadTreeStrategyPrototype=EarthQuadTreeStrategy] - Quadtree strategy class.
|
|
91
|
+
* @param {string|null} [options.nightTextureSrc] - Night lights texture URL (`null` disables texture loading).
|
|
92
|
+
* @param {string|null} [options.specularTextureSrc] - Water/specular mask texture URL (`null` disables texture loading).
|
|
93
|
+
* @param {boolean} [options.atmosphereEnabled=false] - Enables atmosphere rendering.
|
|
94
|
+
* @param {boolean} [options.transitionOpacityEnabled] - Enables terrain transition opacity blending.
|
|
95
|
+
* @param {IAtmosphereParams} [options.atmosphereParameters] - Atmosphere model parameters.
|
|
96
|
+
* @param {number} [options.minDistanceBeforeMemClear] - Camera travel distance threshold before automatic memory cleanup.
|
|
97
|
+
* @param {number} [options.vectorTileSize] - Vector tile texture size for vector layer baking.
|
|
98
|
+
* @param {boolean} [options.transparentBackground=false] - Enables transparent renderer background.
|
|
99
|
+
* @param {INearPlaneStrategy} [options.nearPlaneStrategy] - Near-plane strategy implementation.
|
|
100
|
+
* @param {number|string} [options.shadeMode=0.5] - Terrain shading mode: `0|none|unlit`, `0.5|phong`, `1|pbr`.
|
|
101
|
+
* @param {boolean} [options.reverseDepth=true] - Enables reverse-Z depth for the default planet camera in perspective mode.
|
|
83
102
|
*
|
|
84
|
-
* @fires
|
|
85
|
-
* @fires
|
|
86
|
-
* @fires
|
|
87
|
-
* @fires
|
|
88
|
-
* @fires
|
|
89
|
-
* @fires
|
|
103
|
+
* @fires draw - Triggered before globe frame begins to render.
|
|
104
|
+
* @fires layeradd - Triggered when a layer is added to the planet.
|
|
105
|
+
* @fires baselayerchange - Triggered when the base layer changes.
|
|
106
|
+
* @fires layerremove - Triggered when a layer is removed from the planet.
|
|
107
|
+
* @fires layervisibilitychange - Triggered when layer visibility changes.
|
|
108
|
+
* @fires rendercompleted - Triggered when all data is loaded.
|
|
109
|
+
* @fires terraincompleted - Triggered when terrain data is loaded.
|
|
110
|
+
* @fires layerloadend - Triggered when layer data finishes loading.
|
|
90
111
|
*/
|
|
91
|
-
export declare class Planet extends
|
|
112
|
+
export declare class Planet extends Scene {
|
|
92
113
|
events: EventsHandler<PlanetEventsList>;
|
|
93
114
|
_createdNodesCount: number;
|
|
94
115
|
/**
|
|
@@ -96,12 +117,6 @@ export declare class Planet extends RenderNode {
|
|
|
96
117
|
* @type {Ellipsoid}
|
|
97
118
|
*/
|
|
98
119
|
ellipsoid: Ellipsoid;
|
|
99
|
-
/**
|
|
100
|
-
* @public
|
|
101
|
-
* @override
|
|
102
|
-
* @type {Boolean}
|
|
103
|
-
*/
|
|
104
|
-
lightEnabled: boolean;
|
|
105
120
|
/**
|
|
106
121
|
* Squared ellipsoid radius.
|
|
107
122
|
* @public
|
|
@@ -158,12 +173,7 @@ export declare class Planet extends RenderNode {
|
|
|
158
173
|
* @type {PlanetCamera}
|
|
159
174
|
*/
|
|
160
175
|
camera: PlanetCamera;
|
|
161
|
-
|
|
162
|
-
* Screen mouse pointer projected to planet cartesian position.
|
|
163
|
-
* @public
|
|
164
|
-
* @type {Vec3}
|
|
165
|
-
*/
|
|
166
|
-
mousePositionOnEarth: Vec3;
|
|
176
|
+
nearPlaneStrategy: INearPlaneStrategy;
|
|
167
177
|
emptyTexture: WebGLTextureExt | null;
|
|
168
178
|
transparentTexture: WebGLTextureExt | null;
|
|
169
179
|
defaultTexture: WebGLTextureExt | null;
|
|
@@ -212,9 +222,6 @@ export declare class Planet extends RenderNode {
|
|
|
212
222
|
* @protected
|
|
213
223
|
*/
|
|
214
224
|
protected _specularTexture: WebGLTextureExt | null;
|
|
215
|
-
_ambient: Float32Array;
|
|
216
|
-
_diffuse: Float32Array;
|
|
217
|
-
_specular: Float32Array;
|
|
218
225
|
protected _maxGridSize: number;
|
|
219
226
|
/**
|
|
220
227
|
* Segment multiple textures size.(4 - convenient value for the most devices)
|
|
@@ -258,10 +265,15 @@ export declare class Planet extends RenderNode {
|
|
|
258
265
|
* @type {number}
|
|
259
266
|
*/
|
|
260
267
|
nightTextureCoefficient: number;
|
|
261
|
-
|
|
262
|
-
|
|
268
|
+
/**
|
|
269
|
+
* Global terrain shading for segment (forward + deferred): 0 unlit, 0.5 Phong, 1 PBR.
|
|
270
|
+
* @public
|
|
271
|
+
*/
|
|
272
|
+
protected _shadeMode: ShadeMode;
|
|
263
273
|
protected _atmosphereEnabled: boolean;
|
|
264
274
|
protected _atmosphereMaxMinOpacity: Float32Array;
|
|
275
|
+
atmosphereFadeDist: Float32Array;
|
|
276
|
+
protected _atmosphereBottomRadius: number;
|
|
265
277
|
solidTextureOne: WebGLTextureExt | null;
|
|
266
278
|
solidTextureTwo: WebGLTextureExt | null;
|
|
267
279
|
protected _nightTextureSrc: string | null;
|
|
@@ -273,41 +285,126 @@ export declare class Planet extends RenderNode {
|
|
|
273
285
|
protected _transparentBackground: boolean;
|
|
274
286
|
constructor(options?: IPlanetParams);
|
|
275
287
|
/**
|
|
276
|
-
* Returns true if current terrain data set is loaded
|
|
288
|
+
* Returns true if the current terrain data set is loaded
|
|
289
|
+
* @public
|
|
277
290
|
*/
|
|
278
291
|
get terrainReady(): boolean;
|
|
292
|
+
/**
|
|
293
|
+
* Returns max segment grid size used by the quadtree.
|
|
294
|
+
* @public
|
|
295
|
+
* @returns {number} - Max grid size.
|
|
296
|
+
*/
|
|
279
297
|
get maxGridSize(): number;
|
|
298
|
+
/**
|
|
299
|
+
* Returns local north frame rotation for a cartesian point.
|
|
300
|
+
* @public
|
|
301
|
+
* @param {Vec3} cartesian - Cartesian point.
|
|
302
|
+
* @returns {Quat} - Rotation from world frame to local north frame.
|
|
303
|
+
*/
|
|
280
304
|
getNorthFrameRotation(cartesian: Vec3): Quat;
|
|
305
|
+
/**
|
|
306
|
+
* Returns local frame rotation for a cartesian point.
|
|
307
|
+
* @public
|
|
308
|
+
* @param {Vec3} cartesian - Cartesian point.
|
|
309
|
+
* @returns {Quat} - Rotation from world frame to local frame.
|
|
310
|
+
*/
|
|
281
311
|
getFrameRotation(cartesian: Vec3): Quat;
|
|
312
|
+
/**
|
|
313
|
+
* Sets maximum atmosphere opacity.
|
|
314
|
+
* @public
|
|
315
|
+
* @param {number} opacity - Opacity value in range `[0..1]`.
|
|
316
|
+
*/
|
|
282
317
|
set atmosphereMaxOpacity(opacity: number);
|
|
318
|
+
/**
|
|
319
|
+
* Gets maximum atmosphere opacity.
|
|
320
|
+
* @public
|
|
321
|
+
* @returns {number} - Max opacity.
|
|
322
|
+
*/
|
|
283
323
|
get atmosphereMaxOpacity(): number;
|
|
324
|
+
/**
|
|
325
|
+
* Sets minimum atmosphere opacity.
|
|
326
|
+
* @public
|
|
327
|
+
* @param {number} opacity - Opacity value in range `[0..1]`.
|
|
328
|
+
*/
|
|
284
329
|
set atmosphereMinOpacity(opacity: number);
|
|
330
|
+
/**
|
|
331
|
+
* Gets minimum atmosphere opacity.
|
|
332
|
+
* @public
|
|
333
|
+
* @returns {number} - Min opacity.
|
|
334
|
+
*/
|
|
285
335
|
get atmosphereMinOpacity(): number;
|
|
336
|
+
/**
|
|
337
|
+
* Gets atmosphere opacity range `[max, min]`.
|
|
338
|
+
* @public
|
|
339
|
+
* @returns {Float32Array} - Opacity range.
|
|
340
|
+
*/
|
|
341
|
+
get atmosphereMaxMinOpacity(): Float32Array;
|
|
342
|
+
protected _calcAtmosphereFadeDist(): void;
|
|
343
|
+
/**
|
|
344
|
+
* Enables or disables atmosphere rendering and related programs.
|
|
345
|
+
* @public
|
|
346
|
+
* @param {boolean} enabled - Atmosphere activity flag.
|
|
347
|
+
*/
|
|
286
348
|
set atmosphereEnabled(enabled: boolean);
|
|
349
|
+
/**
|
|
350
|
+
* Returns atmosphere activity flag.
|
|
351
|
+
* @public
|
|
352
|
+
* @returns {boolean} - `true` when atmosphere is enabled.
|
|
353
|
+
*/
|
|
287
354
|
get atmosphereEnabled(): boolean;
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
355
|
+
/**
|
|
356
|
+
* Returns active terrain shade mode.
|
|
357
|
+
* @public
|
|
358
|
+
* @returns {number} - Shade mode id.
|
|
359
|
+
*/
|
|
360
|
+
get shadeMode(): ShadeMode;
|
|
361
|
+
/**
|
|
362
|
+
* Sets terrain shade mode.
|
|
363
|
+
* @public
|
|
364
|
+
* @param {number|string} m - Shade mode id (`0|0.5|1` or `none|phong|pbr`).
|
|
365
|
+
*/
|
|
366
|
+
set shadeMode(m: ShadeModeInput);
|
|
367
|
+
/**
|
|
368
|
+
* Returns normal-map generator used by the planet.
|
|
369
|
+
* @public
|
|
370
|
+
* @returns {NormalMapCreator} - Normal map creator.
|
|
371
|
+
*/
|
|
292
372
|
get normalMapCreator(): NormalMapCreator;
|
|
373
|
+
/**
|
|
374
|
+
* Returns current layers snapshot.
|
|
375
|
+
* @public
|
|
376
|
+
* @returns {Layer[]} - Layer array copy.
|
|
377
|
+
*/
|
|
293
378
|
get layers(): Layer[];
|
|
379
|
+
/**
|
|
380
|
+
* Returns Sun control instance if attached to the renderer.
|
|
381
|
+
* @public
|
|
382
|
+
* @returns {Sun | undefined} - Sun control.
|
|
383
|
+
*/
|
|
294
384
|
get sun(): Sun | undefined;
|
|
385
|
+
/**
|
|
386
|
+
* Returns current sun world position.
|
|
387
|
+
* @public
|
|
388
|
+
* @returns {Vec3} - Sun position.
|
|
389
|
+
*/
|
|
295
390
|
get sunPos(): Vec3;
|
|
296
391
|
/**
|
|
297
392
|
* Add the given control to the renderer of the planet scene.
|
|
393
|
+
* @public
|
|
298
394
|
* @param {Control} control - Control.
|
|
299
395
|
*/
|
|
300
396
|
addControl(control: Control): void;
|
|
301
397
|
/**
|
|
302
398
|
* Add the given controls array to the renderer of the planet.
|
|
399
|
+
* @public
|
|
303
400
|
* @param {Array.<Control>} cArr - Control array.
|
|
304
401
|
*/
|
|
305
402
|
addControls(cArr: Control[]): void;
|
|
306
403
|
/**
|
|
307
|
-
*
|
|
308
|
-
* @param {string} name -
|
|
404
|
+
* Returns a layer by name.
|
|
405
|
+
* @param {string} name - Layer name.
|
|
309
406
|
* @public
|
|
310
|
-
* @returns {Layer} -
|
|
407
|
+
* @returns {Layer | undefined} -
|
|
311
408
|
*/
|
|
312
409
|
getLayerByName(name: string): Layer | undefined;
|
|
313
410
|
/**
|
|
@@ -335,7 +432,7 @@ export declare class Planet extends RenderNode {
|
|
|
335
432
|
*/
|
|
336
433
|
removeLayer(layer: Layer): void;
|
|
337
434
|
/**
|
|
338
|
-
*
|
|
435
|
+
* Clears material resources related to a layer in quadtree segments.
|
|
339
436
|
* @public
|
|
340
437
|
* @param {Layer} layer - Material layer.
|
|
341
438
|
*/
|
|
@@ -346,35 +443,67 @@ export declare class Planet extends RenderNode {
|
|
|
346
443
|
* @public
|
|
347
444
|
*/
|
|
348
445
|
setBaseLayer(layer: Layer): void;
|
|
446
|
+
protected _applyBaseLayerLighting(layer: Layer): void;
|
|
349
447
|
/**
|
|
350
448
|
* Sets elevation scale. 1.0 is default.
|
|
449
|
+
* @public
|
|
351
450
|
* @param {number} factor - Elevation scale.
|
|
352
451
|
*/
|
|
353
452
|
setHeightFactor(factor: number): void;
|
|
354
453
|
/**
|
|
355
454
|
* Gets elevation scale.
|
|
455
|
+
* @public
|
|
356
456
|
* @returns {number} Terrain elevation scale
|
|
357
457
|
*/
|
|
358
458
|
getHeightFactor(): number;
|
|
459
|
+
/**
|
|
460
|
+
* Sets LOD thresholds for quadtree terrain rendering.
|
|
461
|
+
* Proxy to {@link QuadTreeStrategy.setLodSize}.
|
|
462
|
+
* @public
|
|
463
|
+
* @param {number} currentLodSize - Current LOD size target.
|
|
464
|
+
* @param {number} [minLodSize] - Minimum LOD size.
|
|
465
|
+
* @param {number} [maxLodSize] - Maximum LOD size.
|
|
466
|
+
*/
|
|
467
|
+
setLodSize(currentLodSize: number, minLodSize?: number, maxLodSize?: number): void;
|
|
359
468
|
/**
|
|
360
469
|
* Sets terrain provider
|
|
361
470
|
* @public
|
|
362
471
|
* @param {EmptyTerrain} terrain - Terrain provider.
|
|
363
472
|
*/
|
|
364
473
|
setTerrain(terrain: EmptyTerrain): void;
|
|
474
|
+
/**
|
|
475
|
+
* Reinitializes terrain forward/deferred shaders for atmosphere mode.
|
|
476
|
+
* @public
|
|
477
|
+
* @param {AtmosphereParameters} [atmosParams] - Optional atmosphere shader parameters.
|
|
478
|
+
*/
|
|
365
479
|
initAtmosphereShader(atmosParams?: AtmosphereParameters): void;
|
|
480
|
+
/**
|
|
481
|
+
* Returns atmosphere control instance bound to the planet.
|
|
482
|
+
* @public
|
|
483
|
+
* @returns {Atmosphere} - Atmosphere control.
|
|
484
|
+
*/
|
|
366
485
|
get atmosphereControl(): Atmosphere;
|
|
367
486
|
protected _initializeAtmosphere(): void;
|
|
487
|
+
protected _swapDeferredShadingPass(atmosParams?: AtmosphereParameters): void;
|
|
488
|
+
protected _restoreDefaultDeferredShadingPass(): void;
|
|
368
489
|
protected _initializeShaders(): void;
|
|
369
490
|
protected _onLayerLoadend(layer: Layer): void;
|
|
491
|
+
/**
|
|
492
|
+
* Initializes render resources, workers, shaders, and layer state.
|
|
493
|
+
* @public
|
|
494
|
+
*/
|
|
370
495
|
init(): void;
|
|
496
|
+
/**
|
|
497
|
+
* Reattaches already registered layers to apply initialization logic.
|
|
498
|
+
* @public
|
|
499
|
+
*/
|
|
371
500
|
initLayers(): void;
|
|
372
501
|
protected _clearIndexesCache(): void;
|
|
373
502
|
/**
|
|
374
503
|
* Creates default textures first for the North Pole and whole globe and second for the South Pole.
|
|
375
504
|
* @public
|
|
376
|
-
* @param{IDefaultTextureParams} param0 -
|
|
377
|
-
* @param{IDefaultTextureParams} param1 -
|
|
505
|
+
* @param {IDefaultTextureParams} param0 - Default texture params for the first texture.
|
|
506
|
+
* @param {IDefaultTextureParams} param1 - Default texture params for the second texture.
|
|
378
507
|
*/
|
|
379
508
|
createDefaultTextures(param0: IDefaultTextureParams, param1: IDefaultTextureParams): void;
|
|
380
509
|
protected _getLayerAttributionHTML(layer: Layer): string;
|
|
@@ -383,6 +512,10 @@ export declare class Planet extends RenderNode {
|
|
|
383
512
|
* @public
|
|
384
513
|
*/
|
|
385
514
|
updateAttributionsList(): void;
|
|
515
|
+
/**
|
|
516
|
+
* Schedules visible layers list refresh for the next frame.
|
|
517
|
+
* @public
|
|
518
|
+
*/
|
|
386
519
|
updateVisibleLayers(): void;
|
|
387
520
|
protected _updateVisibleLayers(): void;
|
|
388
521
|
/**
|
|
@@ -395,9 +528,10 @@ export declare class Planet extends RenderNode {
|
|
|
395
528
|
* @protected
|
|
396
529
|
*/
|
|
397
530
|
protected _sortLayers(): void;
|
|
398
|
-
protected
|
|
399
|
-
protected
|
|
531
|
+
protected _renderOpaqueScreenNodesDeferredPASS(): void;
|
|
532
|
+
protected _renderTransparentScreenNodesPASSNoAtmos(): void;
|
|
400
533
|
protected _renderScreenNodesWithHeightPASSNoAtmos(): void;
|
|
534
|
+
protected _renderTransparentScreenNodesPASSAtmos(): void;
|
|
401
535
|
protected _renderScreenNodesWithHeightPASSAtmos(): void;
|
|
402
536
|
protected _globalPreDraw(): void;
|
|
403
537
|
/**
|
|
@@ -406,35 +540,44 @@ export declare class Planet extends RenderNode {
|
|
|
406
540
|
*/
|
|
407
541
|
preFrame(): void;
|
|
408
542
|
/**
|
|
409
|
-
*
|
|
410
|
-
* Frame function is called for each renderer activrCamera frustum.
|
|
543
|
+
* Pauses quadtree render-node collection and disables camera terrain collision checks.
|
|
411
544
|
* @public
|
|
412
|
-
* @override
|
|
413
545
|
*/
|
|
414
|
-
frame(): void;
|
|
415
546
|
lockQuadTree(): void;
|
|
547
|
+
applyNear(camera?: PlanetCamera): void;
|
|
548
|
+
/**
|
|
549
|
+
* Resumes quadtree render-node collection and enables camera terrain collision checks.
|
|
550
|
+
* @public
|
|
551
|
+
*/
|
|
416
552
|
unlockQuadTree(): void;
|
|
417
|
-
protected
|
|
418
|
-
protected
|
|
419
|
-
protected
|
|
420
|
-
protected
|
|
553
|
+
protected _setUniformsDeferred(cam: PlanetCamera, program: ShaderProgram): ShaderProgram;
|
|
554
|
+
protected _setUniformsNoAtmos(cam: PlanetCamera, program: ShaderProgram, disableBlend: boolean): ShaderProgram;
|
|
555
|
+
protected _setUniformsAtmos(cam: PlanetCamera, program: ShaderProgram, disableBlend: boolean): ShaderProgram;
|
|
556
|
+
protected _renderingFadingNodes: (camera: PlanetCamera, quadTreeStrategy: QuadTreeStrategy, nodes: Map<number, boolean>, sh: ShaderProgram, currentNode: Node, sl: Layer[], sliceIndex: number, outTransparentSegments?: Segment[], outOpaqueSegments?: Segment[]) => void;
|
|
421
557
|
protected static __refreshLayersFadingOpacity__(layersRef: Layer[], minCurrZoom: number, maxCurrZoom: number): void;
|
|
422
558
|
/**
|
|
423
559
|
* Drawing nodes
|
|
424
560
|
*/
|
|
425
|
-
protected
|
|
426
|
-
protected
|
|
561
|
+
protected _renderingOpaqueScreenNodes(cam: PlanetCamera, quadTreeStrategy: QuadTreeStrategy, sh: ShaderProgram, renderedNodes: Node[]): void;
|
|
562
|
+
protected _renderingTransparentScreenNodes(camera: PlanetCamera, quadTreeStrategy: QuadTreeStrategy, sh: ShaderProgram): void;
|
|
563
|
+
protected _renderingScreenNodesWithHeight(camera: PlanetCamera, quadTreeStrategy: QuadTreeStrategy, sh: ShaderProgram, renderedNodes: Node[]): void;
|
|
427
564
|
protected _renderColorPickingFramebufferPASS(): void;
|
|
565
|
+
/**
|
|
566
|
+
* Renders terrain depth and frustum id into the depth framebuffer.
|
|
567
|
+
* @public
|
|
568
|
+
* @param {PlanetCamera} cam - Camera used for rendering.
|
|
569
|
+
* @param {QuadTreeStrategy} quadTreeStrategy - Quadtree strategy with rendered node lists.
|
|
570
|
+
*/
|
|
428
571
|
renderDepthFramebuffer(cam: PlanetCamera, quadTreeStrategy: QuadTreeStrategy): void;
|
|
429
572
|
protected _collectVectorLayerCollections(): void;
|
|
430
573
|
/**
|
|
431
|
-
* Starts clear memory thread.
|
|
574
|
+
* Starts a clear memory thread.
|
|
432
575
|
* @public
|
|
433
576
|
*/
|
|
434
577
|
memClear(): void;
|
|
435
578
|
/**
|
|
436
579
|
* Returns ray vector hit ellipsoid coordinates.
|
|
437
|
-
* If the ray doesn't hit ellipsoid it returns 'undefined'.
|
|
580
|
+
* If the ray doesn't hit ellipsoid, it returns 'undefined'.
|
|
438
581
|
* @public
|
|
439
582
|
* @param {Ray} ray - Ray.
|
|
440
583
|
* @returns {Vec3 | undefined} -
|
|
@@ -450,7 +593,7 @@ export declare class Planet extends RenderNode {
|
|
|
450
593
|
/**
|
|
451
594
|
* Project screen coordinates to the planet ellipsoid.
|
|
452
595
|
* @public
|
|
453
|
-
* @param {Vec2
|
|
596
|
+
* @param {Vec2} px - Screen coordinates.
|
|
454
597
|
* @returns {LonLat | undefined} - Geodetic coordinates.
|
|
455
598
|
*/
|
|
456
599
|
getLonLatFromPixelEllipsoid(px: Vec2): LonLat | undefined;
|
|
@@ -464,7 +607,7 @@ export declare class Planet extends RenderNode {
|
|
|
464
607
|
* Returns screen coordinates cartesian coordinates on the current terrain.
|
|
465
608
|
* position or null if input coordinates is outside the planet.
|
|
466
609
|
* @public
|
|
467
|
-
* @param {Vec2} px - Pixel screen 2d coordinates.
|
|
610
|
+
* @param {Vec2 | IBaseInputState} px - Pixel screen 2d coordinates.
|
|
468
611
|
* @returns {Vec3 | undefined} -
|
|
469
612
|
*/
|
|
470
613
|
getCartesianFromPixelTerrain(px: Vec2 | IBaseInputState): Vec3 | undefined;
|
|
@@ -493,15 +636,15 @@ export declare class Planet extends RenderNode {
|
|
|
493
636
|
/**
|
|
494
637
|
* Returns distance from an active (screen) camera to the planet ellipsoid.
|
|
495
638
|
* @public
|
|
496
|
-
* @param {Vec2} px - Screen coordinates.
|
|
497
|
-
* @returns {number} -
|
|
639
|
+
* @param {Vec2 | IBaseInputState} px - Screen coordinates.
|
|
640
|
+
* @returns {number | undefined} -
|
|
498
641
|
*/
|
|
499
642
|
getDistanceFromPixelEllipsoid(px: Vec2 | IBaseInputState): number | undefined;
|
|
500
643
|
/**
|
|
501
644
|
* Returns distance from active (screen) camera to the planet terrain by screen coordinates.
|
|
502
645
|
* @public
|
|
503
646
|
* @param {Vec2 | IBaseInputState} px - Screen coordinates.
|
|
504
|
-
* @returns {number
|
|
647
|
+
* @returns {number} -
|
|
505
648
|
*/
|
|
506
649
|
getDistanceFromPixel(px: Vec2 | IBaseInputState): number;
|
|
507
650
|
/**
|
|
@@ -523,6 +666,11 @@ export declare class Planet extends RenderNode {
|
|
|
523
666
|
* @returns {Extent} -
|
|
524
667
|
*/
|
|
525
668
|
getExtent(): Extent;
|
|
669
|
+
/**
|
|
670
|
+
* Returns currently cached quadtree view extent.
|
|
671
|
+
* @public
|
|
672
|
+
* @returns {Extent} - Cached view extent.
|
|
673
|
+
*/
|
|
526
674
|
getViewExtent(): Extent;
|
|
527
675
|
/**
|
|
528
676
|
* Sets camera to the planet geographical position.
|
|
@@ -559,10 +707,37 @@ export declare class Planet extends RenderNode {
|
|
|
559
707
|
* @public
|
|
560
708
|
*/
|
|
561
709
|
stopFlying(): void;
|
|
710
|
+
/**
|
|
711
|
+
* Refreshes billboard texture coordinates for all visible entity collections.
|
|
712
|
+
* @public
|
|
713
|
+
*/
|
|
562
714
|
updateBillboardsTexCoords(): void;
|
|
715
|
+
/**
|
|
716
|
+
* Finds terrain point under an entity in currently rendered segments.
|
|
717
|
+
* @public
|
|
718
|
+
* @param {Entity} entity - Entity to test.
|
|
719
|
+
* @param {Vec3} res - Output vector for terrain point.
|
|
720
|
+
* @returns {Vec3 | undefined} - Terrain point if found.
|
|
721
|
+
*/
|
|
563
722
|
getEntityTerrainPoint(entity: Entity, res: Vec3): number | undefined;
|
|
723
|
+
/**
|
|
724
|
+
* Returns terrain height at the given coordinates in default terrain datum.
|
|
725
|
+
* @public
|
|
726
|
+
* @param {LonLat} lonLat - Geodetic coordinates.
|
|
727
|
+
* @returns {Promise<number>} - Height value.
|
|
728
|
+
*/
|
|
564
729
|
getHeightDefault(lonLat: LonLat): Promise<number>;
|
|
730
|
+
/**
|
|
731
|
+
* Returns terrain height above ellipsoid at the given coordinates.
|
|
732
|
+
* @public
|
|
733
|
+
* @param {LonLat} lonLat - Geodetic coordinates.
|
|
734
|
+
* @returns {Promise<number>} - Height above ellipsoid.
|
|
735
|
+
*/
|
|
565
736
|
getHeightAboveELL(lonLat: LonLat): Promise<number>;
|
|
737
|
+
/**
|
|
738
|
+
* Handles node detachment and frees runtime terrain data.
|
|
739
|
+
* @public
|
|
740
|
+
*/
|
|
566
741
|
onremove(): void;
|
|
567
742
|
/**
|
|
568
743
|
* Destroy planet.
|