@openglobus/og 0.11.1 → 0.11.6
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/package.json +18 -20
- package/src/og/Clock.js +11 -11
- package/src/og/Deferred.js +1 -1
- package/src/og/Events.js +9 -7
- package/src/og/Extent.js +117 -72
- package/src/og/Globe.js +35 -22
- package/src/og/ImageCanvas.js +24 -18
- package/src/og/Lock.js +2 -2
- package/src/og/LonLat.js +40 -37
- package/src/og/Popup.js +21 -15
- package/src/og/QueueArray.js +7 -3
- package/src/og/Rectangle.js +11 -6
- package/src/og/Stack.js +8 -5
- package/src/og/ajax.js +21 -33
- package/src/og/astro/astro.js +5 -5
- package/src/og/astro/earth.js +23 -17
- package/src/og/astro/jd.js +44 -39
- package/src/og/astro/orbit.js +20 -18
- package/src/og/astro/rotation.js +17 -8
- package/src/og/bv/Box.js +7 -3
- package/src/og/bv/Sphere.js +17 -9
- package/src/og/camera/Camera.js +137 -86
- package/src/og/camera/Frustum.js +30 -19
- package/src/og/camera/PlanetCamera.js +30 -26
- package/src/og/control/CompassButton.js +8 -2
- package/src/og/control/Control.js +13 -11
- package/src/og/control/DebugInfo.js +4 -1
- package/src/og/control/EarthCoordinates.js +62 -41
- package/src/og/control/EarthNavigation.js +20 -22
- package/src/og/control/GeoImageDragControl.js +1 -1
- package/src/og/control/KeyboardNavigation.js +12 -12
- package/src/og/control/LayerSwitcher.js +24 -23
- package/src/og/control/Lighting.js +1 -1
- package/src/og/control/MouseNavigation.js +1 -1
- package/src/og/control/ScaleControl.js +1 -1
- package/src/og/control/SegmentBoundVisualization.js +8 -9
- package/src/og/control/ShowFps.js +15 -10
- package/src/og/control/SimpleNavigation.js +8 -10
- package/src/og/control/Sun.js +25 -15
- package/src/og/control/ToggleWireframe.js +5 -5
- package/src/og/control/TouchNavigation.js +58 -45
- package/src/og/control/ZoomControl.js +41 -25
- package/src/og/control/index.js +4 -0
- package/src/og/ellipsoid/Ellipsoid.js +181 -85
- package/src/og/ellipsoid/wgs84.js +4 -4
- package/src/og/entity/BaseBillboard.js +97 -44
- package/src/og/entity/Billboard.js +15 -11
- package/src/og/entity/BillboardHandler.js +314 -64
- package/src/og/entity/Entity.js +106 -74
- package/src/og/entity/EntityCollection.js +72 -49
- package/src/og/entity/GeoObject.js +228 -0
- package/src/og/entity/GeoObjectHandler.js +910 -0
- package/src/og/entity/Geometry.js +29 -26
- package/src/og/entity/GeometryHandler.js +598 -126
- package/src/og/entity/Label.js +74 -40
- package/src/og/entity/LabelHandler.js +47 -246
- package/src/og/entity/LabelWorker.js +213 -0
- package/src/og/entity/Object3d.js +504 -0
- package/src/og/entity/PointCloud.js +81 -33
- package/src/og/entity/PointCloudHandler.js +9 -9
- package/src/og/entity/Polyline.js +39 -39
- package/src/og/entity/Ray.js +61 -28
- package/src/og/entity/ShapeHandler.js +1 -1
- package/src/og/entity/Strip.js +77 -48
- package/src/og/entity/StripHandler.js +27 -27
- package/src/og/entity/index.js +8 -16
- package/src/og/input/KeyboardHandler.js +107 -104
- package/src/og/input/MouseHandler.js +81 -78
- package/src/og/input/TouchHandler.js +55 -51
- package/src/og/layer/BaseGeoImage.js +61 -30
- package/src/og/layer/CanvasTiles.js +26 -24
- package/src/og/layer/GeoImage.js +10 -10
- package/src/og/layer/GeoTexture2d.js +1 -1
- package/src/og/layer/GeoVideo.js +3 -3
- package/src/og/layer/KML.js +66 -40
- package/src/og/layer/Layer.js +27 -17
- package/src/og/layer/Material.js +93 -61
- package/src/og/layer/Vector.js +118 -72
- package/src/og/layer/WMS.js +36 -19
- package/src/og/layer/XYZ.js +55 -48
- package/src/og/light/LightSource.js +47 -40
- package/src/og/math/Line2.js +24 -24
- package/src/og/math/Line3.js +103 -102
- package/src/og/math/Mat3.js +134 -121
- package/src/og/math/Mat4.js +603 -459
- package/src/og/math/Plane.js +21 -20
- package/src/og/math/Quat.js +980 -927
- package/src/og/math/Ray.js +195 -187
- package/src/og/math/Vec2.js +127 -117
- package/src/og/math/Vec3.js +206 -176
- package/src/og/math/Vec4.js +49 -53
- package/src/og/math/coder.js +18 -18
- package/src/og/math.js +12 -12
- package/src/og/mercator.js +11 -11
- package/src/og/proj/EPSG3857.js +4 -4
- package/src/og/proj/EPSG4326.js +4 -4
- package/src/og/proj/Proj.js +31 -31
- package/src/og/quadTree/EntityCollectionNode.js +310 -300
- package/src/og/quadTree/Node.js +1008 -993
- package/src/og/renderer/Renderer.js +768 -747
- package/src/og/renderer/RendererEvents.js +9 -6
- package/src/og/scene/Axes.js +1 -1
- package/src/og/scene/BaseNode.js +8 -9
- package/src/og/scene/Planet.js +115 -87
- package/src/og/scene/RenderNode.js +29 -22
- package/src/og/scene/SkyBox.js +1 -1
- package/src/og/segment/Segment.js +1886 -1878
- package/src/og/segment/SegmentLonLat.js +298 -268
- package/src/og/segment/segmentHelper.js +11 -11
- package/src/og/shaders/bloom.js +1 -1
- package/src/og/shaders/blur.js +2 -2
- package/src/og/shaders/depth.js +1 -1
- package/src/og/shaders/geoObject.js +211 -0
- package/src/og/shaders/label.js +1 -1
- package/src/og/shaders/lumFilter.js +1 -1
- package/src/og/shaders/pointCloud.js +42 -42
- package/src/og/shaders/screenFrame.js +1 -1
- package/src/og/shaders/shape.js +15 -21
- package/src/og/shaders/skybox.js +37 -37
- package/src/og/shaders/toneMapping.js +1 -1
- package/src/og/shapes/BaseShape.js +129 -57
- package/src/og/shapes/Icosphere.js +30 -15
- package/src/og/shapes/Sphere.js +13 -16
- package/src/og/terrain/BilTerrain.js +2 -1
- package/src/og/terrain/EmptyTerrain.js +2 -2
- package/src/og/terrain/Geoid.js +2 -2
- package/src/og/terrain/GlobusTerrain.js +10 -10
- package/src/og/terrain/MapboxTerrain.js +1 -1
- package/src/og/utils/GeoImageCreator.js +9 -9
- package/src/og/utils/Loader.js +6 -6
- package/src/og/utils/NormalMapCreator.js +13 -13
- package/src/og/utils/TerrainWorker.js +1 -1
- package/src/og/utils/TextureAtlas.js +20 -22
- package/src/og/utils/VectorTileCreator.js +5 -5
- package/src/og/utils/earcut.js +1 -1
- package/src/og/utils/shared.js +15 -15
- package/src/og/webgl/Framebuffer.js +101 -53
- package/src/og/webgl/Handler.js +125 -85
- package/src/og/webgl/Multisample.js +55 -27
- package/src/og/webgl/Program.js +80 -35
- package/src/og/webgl/ProgramController.js +27 -23
- package/src/og/webgl/callbacks.js +8 -8
- package/types/Clock.d.ts +6 -2
- package/types/Deferred.d.ts +1 -1
- package/types/Events.d.ts +8 -4
- package/types/Extent.d.ts +37 -33
- package/types/Globe.d.ts +15 -13
- package/types/ImageCanvas.d.ts +5 -3
- package/types/LonLat.d.ts +24 -24
- package/types/Popup.d.ts +4 -0
- package/types/QueueArray.d.ts +6 -2
- package/types/Rectangle.d.ts +10 -4
- package/types/Stack.d.ts +4 -0
- package/types/ajax.d.ts +1 -1
- package/types/astro/earth.d.ts +3 -2
- package/types/bv/Box.d.ts +10 -5
- package/types/bv/Sphere.d.ts +13 -7
- package/types/camera/Camera.d.ts +90 -81
- package/types/camera/Frustum.d.ts +26 -22
- package/types/camera/PlanetCamera.d.ts +49 -53
- package/types/control/CompassButton.d.ts +4 -4
- package/types/control/Control.d.ts +7 -4
- package/types/control/DebugInfo.d.ts +3 -4
- package/types/control/EarthCoordinates.d.ts +6 -6
- package/types/control/EarthNavigation.d.ts +42 -0
- package/types/control/KeyboardNavigation.d.ts +3 -4
- package/types/control/LayerSwitcher.d.ts +3 -5
- package/types/control/Lighting.d.ts +3 -3
- package/types/control/MouseNavigation.d.ts +47 -0
- package/types/control/ScaleControl.d.ts +3 -3
- package/types/control/ShowFps.d.ts +3 -4
- package/types/control/SimpleNavigation.d.ts +3 -6
- package/types/control/Sun.d.ts +8 -10
- package/types/control/ToggleWireframe.d.ts +3 -3
- package/types/control/TouchNavigation.d.ts +48 -0
- package/types/control/ZoomControl.d.ts +3 -4
- package/types/control/index.d.ts +3 -1
- package/types/ellipsoid/Ellipsoid.d.ts +47 -43
- package/types/ellipsoid/wgs84.d.ts +3 -2
- package/types/entity/BaseBillboard.d.ts +41 -34
- package/types/entity/Billboard.d.ts +7 -7
- package/types/entity/BillboardHandler.d.ts +4 -0
- package/types/entity/Entity.d.ts +101 -83
- package/types/entity/EntityCollection.d.ts +57 -43
- package/types/entity/GeoObject.d.ts +111 -0
- package/types/entity/GeoObjectHandler.d.ts +77 -0
- package/types/entity/Geometry.d.ts +9 -7
- package/types/entity/GeometryHandler.d.ts +2 -2
- package/types/entity/Label.d.ts +24 -29
- package/types/entity/LabelHandler.d.ts +9 -2
- package/types/entity/LabelWorker.d.ts +9 -0
- package/types/entity/PointCloud.d.ts +8 -8
- package/types/entity/PointCloudHandler.d.ts +3 -3
- package/types/entity/Polyline.d.ts +58 -55
- package/types/entity/Ray.d.ts +19 -18
- package/types/entity/Strip.d.ts +8 -7
- package/types/entity/StripHandler.d.ts +3 -3
- package/types/entity/index.d.ts +7 -7
- package/types/input/KeyboardHandler.d.ts +10 -0
- package/types/input/MouseHandler.d.ts +5 -0
- package/types/input/TouchHandler.d.ts +5 -0
- package/types/layer/BaseGeoImage.d.ts +23 -35
- package/types/layer/CanvasTiles.d.ts +15 -22
- package/types/layer/GeoImage.d.ts +5 -18
- package/types/layer/GeoVideo.d.ts +5 -30
- package/types/layer/KML.d.ts +20 -15
- package/types/layer/Layer.d.ts +326 -0
- package/types/layer/Material.d.ts +45 -0
- package/types/layer/Vector.d.ts +208 -0
- package/types/layer/WMS.d.ts +4 -7
- package/types/layer/XYZ.d.ts +19 -25
- package/types/light/LightSource.d.ts +54 -53
- package/types/math/Line2.d.ts +11 -0
- package/types/math/Line3.d.ts +10 -0
- package/types/math/Mat3.d.ts +30 -18
- package/types/math/Mat4.d.ts +71 -52
- package/types/math/Plane.d.ts +5 -4
- package/types/math/Quat.d.ts +379 -0
- package/types/math/Ray.d.ts +82 -0
- package/types/math/Vec2.d.ts +102 -101
- package/types/math/Vec3.d.ts +143 -142
- package/types/math/Vec4.d.ts +40 -39
- package/types/math/coder.d.ts +12 -11
- package/types/math.d.ts +8 -8
- package/types/mercator.d.ts +3 -3
- package/types/proj/EPSG3857.d.ts +3 -2
- package/types/proj/EPSG4326.d.ts +3 -2
- package/types/proj/Proj.d.ts +42 -0
- package/types/quadTree/EntityCollectionNode.d.ts +34 -0
- package/types/quadTree/Node.d.ts +61 -0
- package/types/renderer/Renderer.d.ts +300 -0
- package/types/renderer/RendererEvents.d.ts +10 -7
- package/types/scene/BaseNode.d.ts +9 -9
- package/types/scene/Planet.d.ts +131 -126
- package/types/scene/RenderNode.d.ts +22 -23
- package/types/segment/Segment.d.ts +279 -0
- package/types/segment/SegmentLonLat.d.ts +16 -0
- package/types/shaders/geoObject.d.ts +3 -0
- package/types/shapes/BaseShape.d.ts +43 -40
- package/types/shapes/Sphere.d.ts +7 -7
- package/types/terrain/BilTerrain.d.ts +0 -1
- package/types/terrain/EmptyTerrain.d.ts +4 -4
- package/types/terrain/GlobusTerrain.d.ts +17 -54
- package/types/terrain/MapboxTerrain.d.ts +0 -1
- package/types/utils/GeoImageCreator.d.ts +3 -2
- package/types/utils/TextureAtlas.d.ts +8 -8
- package/types/utils/shared.d.ts +25 -24
- package/types/webgl/Framebuffer.d.ts +5 -5
- package/types/webgl/Handler.d.ts +68 -43
- package/types/webgl/Multisample.d.ts +5 -5
- package/types/webgl/Program.d.ts +8 -2
- package/types/webgl/ProgramController.d.ts +18 -13
- package/src/og/inherits.js +0 -8
- package/src/og/utils/polylabel.js +0 -176
- package/types/inherits.d.ts +0 -4
package/src/og/scene/Planet.js
CHANGED
|
@@ -89,10 +89,13 @@ const EVENT_NAMES = [
|
|
|
89
89
|
/**
|
|
90
90
|
* Main class for rendering planet
|
|
91
91
|
* @class
|
|
92
|
-
* @extends {
|
|
93
|
-
* @param {string} name - Planet name(Earth by default)
|
|
94
|
-
* @param {
|
|
95
|
-
* @param {Number} [maxGridSize=128] - Segment maximal grid size
|
|
92
|
+
* @extends {RenderNode}
|
|
93
|
+
* @param {string} [options.name="Earth"] - Planet name(Earth by default)
|
|
94
|
+
* @param {Ellipsoid} [options.ellipsoid] - Planet ellipsoid(WGS84 by default)
|
|
95
|
+
* @param {Number} [options.maxGridSize=128] - Segment maximal grid size
|
|
96
|
+
* @param {Number} [options.maxEqualZoomAltitude=850000.0] - Maximal altitude since segments on the screen bacame the same zoom level
|
|
97
|
+
* @param {Number} [options.minEqualZoomAltitude=10000.0] - Minimal altitude since segments on the screen bacame the same zoom level
|
|
98
|
+
* @param {Number} [options.minEqualZoomCameraSlope=0.8] - Minimal camera slope above te globe where segments on the screen bacame the same zoom level
|
|
96
99
|
* @fires og.scene.Planet#draw
|
|
97
100
|
* @fires og.scene.Planet#layeradd
|
|
98
101
|
* @fires og.scene.Planet#baselayerchange
|
|
@@ -106,7 +109,7 @@ export class Planet extends RenderNode {
|
|
|
106
109
|
|
|
107
110
|
/**
|
|
108
111
|
* @public
|
|
109
|
-
* @type {
|
|
112
|
+
* @type {Ellipsoid}
|
|
110
113
|
*/
|
|
111
114
|
this.ellipsoid = options.ellipsoid || wgs84;
|
|
112
115
|
|
|
@@ -126,21 +129,21 @@ export class Planet extends RenderNode {
|
|
|
126
129
|
/**
|
|
127
130
|
* All layers array.
|
|
128
131
|
* @public
|
|
129
|
-
* @type {Array.<
|
|
132
|
+
* @type {Array.<Layer>}
|
|
130
133
|
*/
|
|
131
134
|
this.layers = [];
|
|
132
135
|
|
|
133
136
|
/**
|
|
134
137
|
* Current visible imagery tile layers array.
|
|
135
138
|
* @public
|
|
136
|
-
* @type {Array.<
|
|
139
|
+
* @type {Array.<Layer>}
|
|
137
140
|
*/
|
|
138
141
|
this.visibleTileLayers = [];
|
|
139
142
|
|
|
140
143
|
/**
|
|
141
144
|
* Current visible vector layers array.
|
|
142
145
|
* @protected
|
|
143
|
-
* @type {Array.<
|
|
146
|
+
* @type {Array.<layer.Vector>}
|
|
144
147
|
*/
|
|
145
148
|
this.visibleVectorLayers = [];
|
|
146
149
|
|
|
@@ -149,38 +152,42 @@ export class Planet extends RenderNode {
|
|
|
149
152
|
/**
|
|
150
153
|
* Vector layers visible nodes with collections.
|
|
151
154
|
* @protected
|
|
152
|
-
* @type {Array.<
|
|
155
|
+
* @type {Array.<EntityCollection>}
|
|
153
156
|
*/
|
|
154
157
|
this._frustumEntityCollections = [];
|
|
155
158
|
|
|
156
159
|
/**
|
|
157
160
|
* There is only one base layer on the globe when layer.isBaseLayer is true.
|
|
158
161
|
* @public
|
|
159
|
-
* @type {
|
|
162
|
+
* @type {Layer}
|
|
160
163
|
*/
|
|
161
164
|
this.baseLayer = null;
|
|
162
165
|
|
|
163
166
|
/**
|
|
164
167
|
* Terrain provider.
|
|
165
168
|
* @public
|
|
166
|
-
* @type {
|
|
169
|
+
* @type {Terrain}
|
|
167
170
|
*/
|
|
168
171
|
this.terrain = null;
|
|
169
172
|
|
|
170
173
|
/**
|
|
171
174
|
* Camera is this.renderer.activeCamera pointer.
|
|
172
175
|
* @public
|
|
173
|
-
* @type {
|
|
176
|
+
* @type {PlanetCamera}
|
|
174
177
|
*/
|
|
175
178
|
this.camera = null;
|
|
176
179
|
|
|
177
180
|
this._minAltitude = options.minAltitude;
|
|
178
181
|
this._maxAltitude = options.maxAltitude;
|
|
179
182
|
|
|
183
|
+
this.maxEqualZoomAltitude = options.maxEqualZoomAltitude || 850000.0;
|
|
184
|
+
this.minEqualZoomAltitude = options.minEqualZoomAltitude || 10000.0;
|
|
185
|
+
this.minEqualZoomCameraSlope = options.minEqualZoomCameraSlope || 0.8;
|
|
186
|
+
|
|
180
187
|
/**
|
|
181
188
|
* Screen mouse pointer projected to planet cartesian position.
|
|
182
189
|
* @public
|
|
183
|
-
* @type {
|
|
190
|
+
* @type {Vec3}
|
|
184
191
|
*/
|
|
185
192
|
this.mousePositionOnEarth = new Vec3();
|
|
186
193
|
|
|
@@ -212,7 +219,7 @@ export class Planet extends RenderNode {
|
|
|
212
219
|
/**
|
|
213
220
|
* Planet's segments collected for rendering frame.
|
|
214
221
|
* @protected
|
|
215
|
-
* @type {
|
|
222
|
+
* @type {quadTree.Node}
|
|
216
223
|
*/
|
|
217
224
|
this._renderedNodes = [];
|
|
218
225
|
this._renderedNodesInFrustum = [];
|
|
@@ -220,42 +227,42 @@ export class Planet extends RenderNode {
|
|
|
220
227
|
/**
|
|
221
228
|
* Created nodes cache
|
|
222
229
|
* @protected
|
|
223
|
-
* @type {
|
|
230
|
+
* @type {quadTree.Node}
|
|
224
231
|
*/
|
|
225
232
|
this._quadTreeNodesCacheMerc = {};
|
|
226
233
|
|
|
227
234
|
/**
|
|
228
235
|
* Current visible mercator segments tree nodes array.
|
|
229
236
|
* @protected
|
|
230
|
-
* @type {
|
|
237
|
+
* @type {quadTree.Node}
|
|
231
238
|
*/
|
|
232
239
|
this._visibleNodes = {};
|
|
233
240
|
|
|
234
241
|
/**
|
|
235
242
|
* Current visible north pole nodes tree nodes array.
|
|
236
243
|
* @protected
|
|
237
|
-
* @type {
|
|
244
|
+
* @type {quadTree.Node}
|
|
238
245
|
*/
|
|
239
246
|
this._visibleNodesNorth = {};
|
|
240
247
|
|
|
241
248
|
/**
|
|
242
249
|
* Current visible south pole nodes tree nodes array.
|
|
243
250
|
* @protected
|
|
244
|
-
* @type {
|
|
251
|
+
* @type {quadTree.Node}
|
|
245
252
|
*/
|
|
246
253
|
this._visibleNodesSouth = {};
|
|
247
254
|
|
|
248
255
|
/**
|
|
249
256
|
* Layers activity lock.
|
|
250
257
|
* @public
|
|
251
|
-
* @type {
|
|
258
|
+
* @type {idle.Lock}
|
|
252
259
|
*/
|
|
253
260
|
this.layerLock = new Lock();
|
|
254
261
|
|
|
255
262
|
/**
|
|
256
263
|
* Terrain providers activity lock.
|
|
257
264
|
* @public
|
|
258
|
-
* @type {
|
|
265
|
+
* @type {idle.Lock}
|
|
259
266
|
*/
|
|
260
267
|
this.terrainLock = new Lock();
|
|
261
268
|
|
|
@@ -298,21 +305,21 @@ export class Planet extends RenderNode {
|
|
|
298
305
|
/**
|
|
299
306
|
* Mercator grid tree.
|
|
300
307
|
* @protected
|
|
301
|
-
* @type {
|
|
308
|
+
* @type {quadTree.Node}
|
|
302
309
|
*/
|
|
303
310
|
this._quadTree = null;
|
|
304
311
|
|
|
305
312
|
/**
|
|
306
313
|
* North grid tree.
|
|
307
314
|
* @protected
|
|
308
|
-
* @type {
|
|
315
|
+
* @type {quadTree.Node}
|
|
309
316
|
*/
|
|
310
317
|
this._quadTreeNorth = null;
|
|
311
318
|
|
|
312
319
|
/**
|
|
313
320
|
* South grid tree.
|
|
314
321
|
* @protected
|
|
315
|
-
* @type {
|
|
322
|
+
* @type {quadTree.Node}
|
|
316
323
|
*/
|
|
317
324
|
this._quadTreeSouth = null;
|
|
318
325
|
|
|
@@ -378,7 +385,7 @@ export class Planet extends RenderNode {
|
|
|
378
385
|
/**
|
|
379
386
|
* GeoImage creator.
|
|
380
387
|
* @protected
|
|
381
|
-
* @type{
|
|
388
|
+
* @type{utils.GeoImageCreator}
|
|
382
389
|
*/
|
|
383
390
|
this._geoImageCreator = null;
|
|
384
391
|
|
|
@@ -415,7 +422,7 @@ export class Planet extends RenderNode {
|
|
|
415
422
|
|
|
416
423
|
/**
|
|
417
424
|
* Add the given control to the renderer of the planet scene.
|
|
418
|
-
* @param {
|
|
425
|
+
* @param {control.Control} control - Control.
|
|
419
426
|
*/
|
|
420
427
|
addControl(control) {
|
|
421
428
|
control.planet = this;
|
|
@@ -427,11 +434,12 @@ export class Planet extends RenderNode {
|
|
|
427
434
|
if (minLod) {
|
|
428
435
|
this._minLodRatio = minLod;
|
|
429
436
|
}
|
|
437
|
+
this._renderCompletedActivated = false;
|
|
430
438
|
}
|
|
431
439
|
|
|
432
440
|
/**
|
|
433
441
|
* Add the given controls array to the renderer of the planet.
|
|
434
|
-
* @param {Array.<
|
|
442
|
+
* @param {Array.<control.Control>} cArr - Control array.
|
|
435
443
|
*/
|
|
436
444
|
addControls(cArr) {
|
|
437
445
|
for (var i = 0; i < cArr.length; i++) {
|
|
@@ -443,7 +451,7 @@ export class Planet extends RenderNode {
|
|
|
443
451
|
* Return layer by it name
|
|
444
452
|
* @param {string} name - Name of the layer. og.Layer.prototype.name
|
|
445
453
|
* @public
|
|
446
|
-
* @returns {
|
|
454
|
+
* @returns {Layer} -
|
|
447
455
|
*/
|
|
448
456
|
getLayerByName(name) {
|
|
449
457
|
var i = this.layers.length;
|
|
@@ -456,7 +464,7 @@ export class Planet extends RenderNode {
|
|
|
456
464
|
|
|
457
465
|
/**
|
|
458
466
|
* Adds the given layer to the planet.
|
|
459
|
-
* @param {
|
|
467
|
+
* @param {Layer} layer - Layer object.
|
|
460
468
|
* @public
|
|
461
469
|
*/
|
|
462
470
|
addLayer(layer) {
|
|
@@ -465,7 +473,7 @@ export class Planet extends RenderNode {
|
|
|
465
473
|
|
|
466
474
|
/**
|
|
467
475
|
* Dispatch layer visibility changing event.
|
|
468
|
-
* @param {
|
|
476
|
+
* @param {Layer} layer - Changed layer.
|
|
469
477
|
* @protected
|
|
470
478
|
*/
|
|
471
479
|
_onLayerVisibilityChanged(layer) {
|
|
@@ -474,7 +482,7 @@ export class Planet extends RenderNode {
|
|
|
474
482
|
|
|
475
483
|
/**
|
|
476
484
|
* Adds the given layers array to the planet.
|
|
477
|
-
* @param {Array.<
|
|
485
|
+
* @param {Array.<Layer>} layers - Layers array.
|
|
478
486
|
* @public
|
|
479
487
|
*/
|
|
480
488
|
addLayers(layers) {
|
|
@@ -485,8 +493,8 @@ export class Planet extends RenderNode {
|
|
|
485
493
|
|
|
486
494
|
/**
|
|
487
495
|
* Removes the given layer from the planet.
|
|
488
|
-
* @param {
|
|
489
|
-
* @return {
|
|
496
|
+
* @param {Layer} layer - Layer to remove.
|
|
497
|
+
* @return {Layer|undefined} The removed layer or undefined if the layer was not found.
|
|
490
498
|
* @public
|
|
491
499
|
*/
|
|
492
500
|
removeLayer(layer) {
|
|
@@ -496,7 +504,7 @@ export class Planet extends RenderNode {
|
|
|
496
504
|
/**
|
|
497
505
|
*
|
|
498
506
|
* @protected
|
|
499
|
-
* @param {
|
|
507
|
+
* @param {Layer} layer - Material layer.
|
|
500
508
|
*/
|
|
501
509
|
_clearLayerMaterial(layer) {
|
|
502
510
|
var lid = layer._id;
|
|
@@ -511,7 +519,7 @@ export class Planet extends RenderNode {
|
|
|
511
519
|
|
|
512
520
|
/**
|
|
513
521
|
* Get the collection of layers associated with this planet.
|
|
514
|
-
* @return {Array.<
|
|
522
|
+
* @return {Array.<Layer>} Layers array.
|
|
515
523
|
* @public
|
|
516
524
|
*/
|
|
517
525
|
getLayers() {
|
|
@@ -520,7 +528,7 @@ export class Planet extends RenderNode {
|
|
|
520
528
|
|
|
521
529
|
/**
|
|
522
530
|
* Sets base layer coverage to the planet.
|
|
523
|
-
* @param {
|
|
531
|
+
* @param {Layer} layer - Layer object.
|
|
524
532
|
* @public
|
|
525
533
|
*/
|
|
526
534
|
setBaseLayer(layer) {
|
|
@@ -543,6 +551,8 @@ export class Planet extends RenderNode {
|
|
|
543
551
|
* @param {number} factor - Elevation scale.
|
|
544
552
|
*/
|
|
545
553
|
setHeightFactor(factor) {
|
|
554
|
+
this._renderCompletedActivated = false;
|
|
555
|
+
|
|
546
556
|
if (this._heightFactor !== factor) {
|
|
547
557
|
this._heightFactor = factor;
|
|
548
558
|
this._quadTree.destroyBranches();
|
|
@@ -560,9 +570,11 @@ export class Planet extends RenderNode {
|
|
|
560
570
|
/**
|
|
561
571
|
* Sets terrain provider
|
|
562
572
|
* @public
|
|
563
|
-
* @param {
|
|
573
|
+
* @param {Terrain} terrain - Terrain provider.
|
|
564
574
|
*/
|
|
565
575
|
setTerrain(terrain) {
|
|
576
|
+
this._renderCompletedActivated = false;
|
|
577
|
+
|
|
566
578
|
if (this._initialized) {
|
|
567
579
|
this.memClear();
|
|
568
580
|
}
|
|
@@ -806,10 +818,10 @@ export class Planet extends RenderNode {
|
|
|
806
818
|
_preRender() {
|
|
807
819
|
this._quadTree.createChildrenNodes();
|
|
808
820
|
this._quadTree.segment.createPlainSegment();
|
|
809
|
-
this._quadTree.renderNode();
|
|
821
|
+
this._quadTree.renderNode(true);
|
|
810
822
|
this._normalMapCreator.drawSingle(this._quadTree.segment);
|
|
811
823
|
|
|
812
|
-
for (
|
|
824
|
+
for (let i = 0; i < this._quadTree.nodes.length; i++) {
|
|
813
825
|
this._quadTree.nodes[i].segment.createPlainSegment();
|
|
814
826
|
this._quadTree.nodes[i].renderNode(true);
|
|
815
827
|
this._normalMapCreator.drawSingle(this._quadTree.nodes[i].segment);
|
|
@@ -817,13 +829,25 @@ export class Planet extends RenderNode {
|
|
|
817
829
|
|
|
818
830
|
this._quadTreeNorth.createChildrenNodes();
|
|
819
831
|
this._quadTreeNorth.segment.createPlainSegment();
|
|
820
|
-
this._quadTreeNorth.renderNode();
|
|
832
|
+
this._quadTreeNorth.renderNode(true);
|
|
821
833
|
this._normalMapCreator.drawSingle(this._quadTreeNorth.segment);
|
|
822
834
|
|
|
835
|
+
for (let i = 0; i < this._quadTreeNorth.nodes.length; i++) {
|
|
836
|
+
this._quadTreeNorth.nodes[i].segment.createPlainSegment();
|
|
837
|
+
this._quadTreeNorth.nodes[i].renderNode(true);
|
|
838
|
+
this._normalMapCreator.drawSingle(this._quadTreeNorth.nodes[i].segment);
|
|
839
|
+
}
|
|
840
|
+
|
|
823
841
|
this._quadTreeSouth.createChildrenNodes();
|
|
824
842
|
this._quadTreeSouth.segment.createPlainSegment();
|
|
825
|
-
this._quadTreeSouth.renderNode();
|
|
843
|
+
this._quadTreeSouth.renderNode(true);
|
|
826
844
|
this._normalMapCreator.drawSingle(this._quadTreeSouth.segment);
|
|
845
|
+
|
|
846
|
+
for (let i = 0; i < this._quadTreeSouth.nodes.length; i++) {
|
|
847
|
+
this._quadTreeSouth.nodes[i].segment.createPlainSegment();
|
|
848
|
+
this._quadTreeSouth.nodes[i].renderNode(true);
|
|
849
|
+
this._normalMapCreator.drawSingle(this._quadTreeSouth.nodes[i].segment);
|
|
850
|
+
}
|
|
827
851
|
}
|
|
828
852
|
|
|
829
853
|
/**
|
|
@@ -972,13 +996,15 @@ export class Planet extends RenderNode {
|
|
|
972
996
|
* @protected
|
|
973
997
|
*/
|
|
974
998
|
_collectRenderNodes() {
|
|
999
|
+
let cam = this.camera;
|
|
1000
|
+
|
|
975
1001
|
this._lodRatio = math.lerp(
|
|
976
|
-
|
|
1002
|
+
cam.slope < 0.0 ? 0.0 : cam.slope,
|
|
977
1003
|
this._maxLodRatio,
|
|
978
1004
|
this._minLodRatio
|
|
979
1005
|
);
|
|
980
1006
|
|
|
981
|
-
|
|
1007
|
+
cam._insideSegment = null;
|
|
982
1008
|
|
|
983
1009
|
this._nodeCounterError_ = 0;
|
|
984
1010
|
|
|
@@ -994,12 +1020,12 @@ export class Planet extends RenderNode {
|
|
|
994
1020
|
this.minCurrZoom = math.MAX;
|
|
995
1021
|
this.maxCurrZoom = math.MIN;
|
|
996
1022
|
|
|
997
|
-
this._quadTree.renderTree(
|
|
1023
|
+
this._quadTree.renderTree(cam, 0, null);
|
|
998
1024
|
|
|
999
1025
|
if (
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1026
|
+
cam.slope > this.minEqualZoomCameraSlope &&
|
|
1027
|
+
cam._lonLat.height < this.maxEqualZoomAltitude &&
|
|
1028
|
+
cam._lonLat.height > this.minEqualZoomAltitude
|
|
1003
1029
|
) {
|
|
1004
1030
|
this.minCurrZoom = this.maxCurrZoom;
|
|
1005
1031
|
|
|
@@ -1034,18 +1060,20 @@ export class Planet extends RenderNode {
|
|
|
1034
1060
|
}
|
|
1035
1061
|
|
|
1036
1062
|
for (let i = 0, len = temp2.length; i < len; i++) {
|
|
1037
|
-
temp2[i].renderTree(
|
|
1063
|
+
temp2[i].renderTree(cam, this.maxCurrZoom, null);
|
|
1038
1064
|
}
|
|
1039
1065
|
}
|
|
1040
1066
|
|
|
1041
|
-
this._quadTreeNorth.renderTree(
|
|
1042
|
-
this._quadTreeSouth.renderTree(
|
|
1067
|
+
this._quadTreeNorth.renderTree(cam, 0, null);
|
|
1068
|
+
this._quadTreeSouth.renderTree(cam, 0, null);
|
|
1043
1069
|
}
|
|
1044
1070
|
|
|
1045
1071
|
_globalPreDraw() {
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
this.
|
|
1072
|
+
let cam = this.camera;
|
|
1073
|
+
|
|
1074
|
+
this._distBeforeMemClear += this._prevCamEye.distance(cam.eye);
|
|
1075
|
+
this._prevCamEye.copy(cam.eye);
|
|
1076
|
+
cam.checkFly();
|
|
1049
1077
|
|
|
1050
1078
|
// free memory
|
|
1051
1079
|
if (this._createdNodesCount > MAX_NODES && this._distBeforeMemClear > 1000.0) {
|
|
@@ -1096,9 +1124,10 @@ export class Planet extends RenderNode {
|
|
|
1096
1124
|
gl.disable(gl.POLYGON_OFFSET_FILL);
|
|
1097
1125
|
|
|
1098
1126
|
if (frustumIndex === cam.FARTHEST_FRUSTUM_INDEX) {
|
|
1099
|
-
if (!this._renderCompletedActivated ||
|
|
1127
|
+
if (this._skipPreRender/* && (!this._renderCompletedActivated || cam.isMoved)*/) {
|
|
1100
1128
|
this._collectRenderNodes();
|
|
1101
1129
|
}
|
|
1130
|
+
this._skipPreRender = true;
|
|
1102
1131
|
|
|
1103
1132
|
// Here is the planet node dispatches a draw event before
|
|
1104
1133
|
// rendering begins and we have got render nodes.
|
|
@@ -1119,7 +1148,9 @@ export class Planet extends RenderNode {
|
|
|
1119
1148
|
}
|
|
1120
1149
|
|
|
1121
1150
|
gl.blendEquation(gl.FUNC_ADD);
|
|
1151
|
+
|
|
1122
1152
|
gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);
|
|
1153
|
+
|
|
1123
1154
|
gl.enable(gl.BLEND);
|
|
1124
1155
|
gl.enable(gl.CULL_FACE);
|
|
1125
1156
|
|
|
@@ -1140,7 +1171,7 @@ export class Planet extends RenderNode {
|
|
|
1140
1171
|
gl.TEXTURE_2D,
|
|
1141
1172
|
(this.camera._lonLat.height > 329958.0 &&
|
|
1142
1173
|
(this._nightTexture || this.transparentTexture)) ||
|
|
1143
|
-
|
|
1174
|
+
this.transparentTexture
|
|
1144
1175
|
);
|
|
1145
1176
|
gl.uniform1i(shu.nightTexture, this.SLICE_SIZE);
|
|
1146
1177
|
|
|
@@ -1183,8 +1214,6 @@ export class Planet extends RenderNode {
|
|
|
1183
1214
|
shu = sh.uniforms;
|
|
1184
1215
|
gl.uniformMatrix4fv(shu.viewMatrix, false, cam.getViewMatrix());
|
|
1185
1216
|
gl.uniformMatrix4fv(shu.projectionMatrix, false, cam.getProjectionMatrix());
|
|
1186
|
-
|
|
1187
|
-
//gl.uniformMatrix4fv(sh.uniforms.projectionViewMatrix, false, cam.getProjectionViewMatrix());
|
|
1188
1217
|
}
|
|
1189
1218
|
|
|
1190
1219
|
gl.uniform3fv(shu.eyePositionHigh, cam.eyeHigh);
|
|
@@ -1229,7 +1258,6 @@ export class Planet extends RenderNode {
|
|
|
1229
1258
|
rn[i].segment.screenRendering(sh, sl[j], j, this.transparentTexture, true);
|
|
1230
1259
|
}
|
|
1231
1260
|
}
|
|
1232
|
-
//gl.disable(gl.POLYGON_OFFSET_FILL);
|
|
1233
1261
|
|
|
1234
1262
|
gl.disable(gl.BLEND);
|
|
1235
1263
|
}
|
|
@@ -1445,8 +1473,8 @@ export class Planet extends RenderNode {
|
|
|
1445
1473
|
* Returns ray vector hit ellipsoid coordinates.
|
|
1446
1474
|
* If the ray doesn't hit ellipsoit returns null.
|
|
1447
1475
|
* @public
|
|
1448
|
-
* @param {
|
|
1449
|
-
* @returns {
|
|
1476
|
+
* @param {Ray} ray - Ray 3d.
|
|
1477
|
+
* @returns {Vec3} -
|
|
1450
1478
|
*/
|
|
1451
1479
|
getRayIntersectionEllipsoid(ray) {
|
|
1452
1480
|
return this.ellipsoid.hitRay(ray.origin, ray.direction);
|
|
@@ -1455,8 +1483,8 @@ export class Planet extends RenderNode {
|
|
|
1455
1483
|
/**
|
|
1456
1484
|
* Returns 2d screen coordanates projection point to the planet ellipsoid 3d coordinates.
|
|
1457
1485
|
* @public
|
|
1458
|
-
* @param {
|
|
1459
|
-
* @returns {
|
|
1486
|
+
* @param {math.Pixel} px - 2D sreen coordinates.
|
|
1487
|
+
* @returns {Vec3} -
|
|
1460
1488
|
*/
|
|
1461
1489
|
getCartesianFromPixelEllipsoid(px) {
|
|
1462
1490
|
var cam = this.renderer.activeCamera;
|
|
@@ -1466,8 +1494,8 @@ export class Planet extends RenderNode {
|
|
|
1466
1494
|
/**
|
|
1467
1495
|
* Returns 2d screen coordanates projection point to the planet ellipsoid geographical coordinates.
|
|
1468
1496
|
* @public
|
|
1469
|
-
* @param {
|
|
1470
|
-
* @returns {
|
|
1497
|
+
* @param {math.Pixel} px - 2D screen coordinates.
|
|
1498
|
+
* @returns {LonLat} -
|
|
1471
1499
|
*/
|
|
1472
1500
|
getLonLatFromPixelEllipsoid(px) {
|
|
1473
1501
|
var coords = this.getCartesianFromPixelEllipsoid(px);
|
|
@@ -1482,7 +1510,7 @@ export class Planet extends RenderNode {
|
|
|
1482
1510
|
* position or null if mouse cursor is outside the planet.
|
|
1483
1511
|
* @public
|
|
1484
1512
|
* @param {Boolean} [force=false] - Force framebuffer rendering.
|
|
1485
|
-
* @returns {
|
|
1513
|
+
* @returns {Vec3} -
|
|
1486
1514
|
*/
|
|
1487
1515
|
getCartesianFromMouseTerrain(force) {
|
|
1488
1516
|
var ms = this.renderer.events.mouseState;
|
|
@@ -1497,9 +1525,9 @@ export class Planet extends RenderNode {
|
|
|
1497
1525
|
* Returns 3d cartesian coordinates on the relief planet by 2d screen coordinates.
|
|
1498
1526
|
* position or null if input coordinates is outside the planet.
|
|
1499
1527
|
* @public
|
|
1500
|
-
* @param {
|
|
1528
|
+
* @param {Vec2} px - Pixel screen 2d coordinates.
|
|
1501
1529
|
* @param {Boolean} [force=false] - Force framebuffer rendering.
|
|
1502
|
-
* @returns {
|
|
1530
|
+
* @returns {Vec3} -
|
|
1503
1531
|
*/
|
|
1504
1532
|
getCartesianFromPixelTerrain(px, force) {
|
|
1505
1533
|
var distance = this.getDistanceFromPixel(px, force);
|
|
@@ -1514,9 +1542,9 @@ export class Planet extends RenderNode {
|
|
|
1514
1542
|
* Returns geographical coordinates on the relief planet by 2d screen coordinates.
|
|
1515
1543
|
* position or null if input coordinates is outside the planet.
|
|
1516
1544
|
* @public
|
|
1517
|
-
* @param {
|
|
1545
|
+
* @param {Vec2} px - Pixel screen 2d coordinates.
|
|
1518
1546
|
* @param {Boolean} [force=false] - Force framebuffer rendering.
|
|
1519
|
-
* @returns {
|
|
1547
|
+
* @returns {LonLat} -
|
|
1520
1548
|
*/
|
|
1521
1549
|
getLonLatFromPixelTerrain(px, force) {
|
|
1522
1550
|
var coords = this.getCartesianFromPixelTerrain(px, force);
|
|
@@ -1529,8 +1557,8 @@ export class Planet extends RenderNode {
|
|
|
1529
1557
|
/**
|
|
1530
1558
|
* Returns projected 2d screen coordinates by 3d cartesian coordiantes.
|
|
1531
1559
|
* @public
|
|
1532
|
-
* @param {
|
|
1533
|
-
* @returns {
|
|
1560
|
+
* @param {Vec3} coords - Cartesian coordinates.
|
|
1561
|
+
* @returns {Vec2} -
|
|
1534
1562
|
*/
|
|
1535
1563
|
getPixelFromCartesian(coords) {
|
|
1536
1564
|
return this.renderer.activeCamera.project(coords);
|
|
@@ -1539,8 +1567,8 @@ export class Planet extends RenderNode {
|
|
|
1539
1567
|
/**
|
|
1540
1568
|
* Returns projected 2d screen coordinates by geographical coordinates.
|
|
1541
1569
|
* @public
|
|
1542
|
-
* @param {
|
|
1543
|
-
* @returns {
|
|
1570
|
+
* @param {LonLat} lonlat - Geographical coordinates.
|
|
1571
|
+
* @returns {Vec2} -
|
|
1544
1572
|
*/
|
|
1545
1573
|
getPixelFromLonLat(lonlat) {
|
|
1546
1574
|
var coords = this.ellipsoid.lonLatToCartesian(lonlat);
|
|
@@ -1554,7 +1582,7 @@ export class Planet extends RenderNode {
|
|
|
1554
1582
|
* Returns distance from active camera to the the planet ellipsoid
|
|
1555
1583
|
* coordiantes unprojected by 2d screen coordiantes, or null if screen coordinates outside the planet.
|
|
1556
1584
|
* @public
|
|
1557
|
-
* @param {
|
|
1585
|
+
* @param {Vec2} px - Screen coordinates.
|
|
1558
1586
|
* @returns {number} -
|
|
1559
1587
|
*/
|
|
1560
1588
|
getDistanceFromPixelEllipsoid(px) {
|
|
@@ -1568,7 +1596,7 @@ export class Planet extends RenderNode {
|
|
|
1568
1596
|
* If screen coordinates inside the planet but relief is not exists in the
|
|
1569
1597
|
* point than function returns distance to the planet ellipsoid.
|
|
1570
1598
|
* @public
|
|
1571
|
-
* @param {
|
|
1599
|
+
* @param {Vec2} px - Screen coordinates.
|
|
1572
1600
|
* @param {Boolean} [force=false] - Force framebuffer rendering.
|
|
1573
1601
|
* @returns {number} -
|
|
1574
1602
|
*/
|
|
@@ -1612,7 +1640,7 @@ export class Planet extends RenderNode {
|
|
|
1612
1640
|
/**
|
|
1613
1641
|
* Sets camera to the planet geographical extent.
|
|
1614
1642
|
* @public
|
|
1615
|
-
* @param {
|
|
1643
|
+
* @param {Extent} extent - Geographical extent.
|
|
1616
1644
|
*/
|
|
1617
1645
|
viewExtent(extent) {
|
|
1618
1646
|
this.renderer.activeCamera.viewExtent(extent);
|
|
@@ -1621,7 +1649,7 @@ export class Planet extends RenderNode {
|
|
|
1621
1649
|
/**
|
|
1622
1650
|
* Sets camera to the planet geographical extent.
|
|
1623
1651
|
* @public
|
|
1624
|
-
* @param {Array.<number
|
|
1652
|
+
* @param {Array.<number>} extentArr - Geographical extent array, (exactly 4 entries)
|
|
1625
1653
|
* where index 0 - southwest longitude, 1 - latitude southwest, 2 - longitude northeast, 3 - latitude northeast.
|
|
1626
1654
|
*/
|
|
1627
1655
|
viewExtentArr(extentArr) {
|
|
@@ -1636,7 +1664,7 @@ export class Planet extends RenderNode {
|
|
|
1636
1664
|
/**
|
|
1637
1665
|
* Gets current viewing geographical extent.
|
|
1638
1666
|
* @public
|
|
1639
|
-
* @returns {
|
|
1667
|
+
* @returns {Extent} -
|
|
1640
1668
|
*/
|
|
1641
1669
|
getViewExtent() {
|
|
1642
1670
|
return this._viewExtent;
|
|
@@ -1667,8 +1695,8 @@ export class Planet extends RenderNode {
|
|
|
1667
1695
|
/**
|
|
1668
1696
|
* Sets camera to the planet geographical position.
|
|
1669
1697
|
* @public
|
|
1670
|
-
* @param {
|
|
1671
|
-
* @param {
|
|
1698
|
+
* @param {LonLat} lonlat - New geographical position.
|
|
1699
|
+
* @param {Vec3} [up] - Camera UP vector.
|
|
1672
1700
|
*/
|
|
1673
1701
|
viewLonLat(lonlat, up) {
|
|
1674
1702
|
this.renderer.activeCamera.setLonLat(lonlat, up);
|
|
@@ -1677,9 +1705,9 @@ export class Planet extends RenderNode {
|
|
|
1677
1705
|
/**
|
|
1678
1706
|
* Fly camera to the planet geographical extent.
|
|
1679
1707
|
* @public
|
|
1680
|
-
* @param {
|
|
1708
|
+
* @param {Extent} extent - Geographical extent.
|
|
1681
1709
|
* @param {Number} [height] - Height on the end of the flight route.
|
|
1682
|
-
* @param {
|
|
1710
|
+
* @param {Vec3} [up] - Camera UP vector on the end of a flying.
|
|
1683
1711
|
* @param {Number} [ampl] - Altitude amplitude factor.
|
|
1684
1712
|
* @param {cameraCallback} [startCallback] - Callback that calls after flying when flying is finished.
|
|
1685
1713
|
* @param {cameraCallback} [completeCallback] - Callback that calls befor the flying begins.
|
|
@@ -1698,9 +1726,9 @@ export class Planet extends RenderNode {
|
|
|
1698
1726
|
/**
|
|
1699
1727
|
* Fly camera to the new point.
|
|
1700
1728
|
* @public
|
|
1701
|
-
* @param {
|
|
1702
|
-
* @param {
|
|
1703
|
-
* @param {
|
|
1729
|
+
* @param {Vec3} cartesian - Fly coordiantes.
|
|
1730
|
+
* @param {Vec3} [look] - Camera "look at" point.
|
|
1731
|
+
* @param {Vec3} [up] - Camera UP vector on the end of a flying.
|
|
1704
1732
|
* @param {Number} [ampl] - Altitude amplitude factor.
|
|
1705
1733
|
* @param [completeCallback]
|
|
1706
1734
|
* @param [startCallback]
|
|
@@ -1721,9 +1749,9 @@ export class Planet extends RenderNode {
|
|
|
1721
1749
|
/**
|
|
1722
1750
|
* Fly camera to the new geographical position.
|
|
1723
1751
|
* @public
|
|
1724
|
-
* @param {
|
|
1725
|
-
* @param {
|
|
1726
|
-
* @param {
|
|
1752
|
+
* @param {LonLat} lonlat - Fly geographical coordiantes.
|
|
1753
|
+
* @param {Vec3} [look] - Camera "look at" point on the end of a flying.
|
|
1754
|
+
* @param {Vec3} [up] - Camera UP vector on the end of a flying.
|
|
1727
1755
|
* @param {Number} [ampl] - Altitude amplitude factor.
|
|
1728
1756
|
* @param [completeCallback]
|
|
1729
1757
|
* @param [startCallback]
|