@openglobus/og 0.11.6 → 0.12.1

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.
Files changed (213) hide show
  1. package/css/og.css +5 -2
  2. package/package.json +12 -12
  3. package/src/og/Globe.js +25 -10
  4. package/src/og/Popup.js +3 -2
  5. package/src/og/camera/Camera.js +70 -79
  6. package/src/og/camera/PlanetCamera.js +33 -33
  7. package/src/og/control/DebugInfo.js +2 -2
  8. package/src/og/control/EarthNavigation.js +26 -17
  9. package/src/og/control/Lighting.js +74 -64
  10. package/src/og/control/MouseNavigation.js +30 -29
  11. package/src/og/control/MouseWheelZoomControl.js +257 -0
  12. package/src/og/control/Sun.js +3 -3
  13. package/src/og/control/index.js +2 -0
  14. package/src/og/control/visibleExtent/Segment.js +1862 -0
  15. package/src/og/control/visibleExtent/VisibleExtent.js +80 -0
  16. package/src/og/control/visibleExtent/drawnode.js +751 -0
  17. package/src/og/ellipsoid/Ellipsoid.js +1 -1
  18. package/src/og/entity/BaseBillboard.js +67 -76
  19. package/src/og/entity/BillboardHandler.js +15 -8
  20. package/src/og/entity/Entity.js +742 -742
  21. package/src/og/entity/GeoObjectHandler.js +102 -117
  22. package/src/og/entity/Label.js +45 -48
  23. package/src/og/entity/LabelHandler.js +24 -23
  24. package/src/og/entity/LabelWorker.js +21 -16
  25. package/src/og/layer/CanvasTiles.js +8 -12
  26. package/src/og/layer/GeoImage.js +2 -10
  27. package/src/og/layer/GeoTexture2d.js +2 -10
  28. package/src/og/layer/GeoVideo.js +2 -10
  29. package/src/og/layer/Layer.js +23 -32
  30. package/src/og/layer/Material.js +1 -1
  31. package/src/og/layer/WMS.js +0 -2
  32. package/src/og/layer/XYZ.js +31 -33
  33. package/src/og/math/Vec3.js +18 -2
  34. package/src/og/quadTree/Node.js +52 -111
  35. package/src/og/quadTree/quadTree.js +1 -1
  36. package/src/og/renderer/Renderer.js +85 -122
  37. package/src/og/renderer/RendererEvents.js +44 -22
  38. package/src/og/scene/Planet.js +179 -198
  39. package/src/og/segment/Segment.js +99 -268
  40. package/src/og/segment/Slice.js +45 -0
  41. package/src/og/shaders/drawnode.js +174 -360
  42. package/src/og/shaders/toneMapping.js +1 -0
  43. package/src/og/shapes/BaseShape.js +1 -1
  44. package/src/og/terrain/EmptyTerrain.js +3 -2
  45. package/src/og/terrain/GlobusTerrain.js +2 -0
  46. package/src/og/utils/FontAtlas.js +6 -2
  47. package/src/og/utils/GeoImageCreator.js +5 -1
  48. package/src/og/utils/Loader.js +1 -1
  49. package/src/og/utils/PlainSegmentWorker.js +0 -13
  50. package/src/og/utils/TextureAtlas.js +2 -2
  51. package/src/og/utils/VectorTileCreator.js +1 -3
  52. package/src/og/utils/shared.js +1 -1
  53. package/src/og/webgl/Handler.js +156 -118
  54. package/types/Clock.d.ts +0 -94
  55. package/types/Deferred.d.ts +0 -6
  56. package/types/Events.d.ts +0 -77
  57. package/types/Extent.d.ts +0 -166
  58. package/types/Globe.d.ts +0 -82
  59. package/types/ImageCanvas.d.ts +0 -123
  60. package/types/Lock.d.ts +0 -12
  61. package/types/LonLat.d.ts +0 -108
  62. package/types/Popup.d.ts +0 -42
  63. package/types/QueueArray.d.ts +0 -19
  64. package/types/Rectangle.d.ts +0 -80
  65. package/types/Stack.d.ts +0 -19
  66. package/types/ajax.d.ts +0 -24
  67. package/types/arial.d.ts +0 -48
  68. package/types/astro/astro.d.ts +0 -38
  69. package/types/astro/earth.d.ts +0 -7
  70. package/types/astro/jd.d.ts +0 -254
  71. package/types/bv/Box.d.ts +0 -30
  72. package/types/bv/Sphere.d.ts +0 -38
  73. package/types/bv/index.d.ts +0 -3
  74. package/types/camera/Camera.d.ts +0 -312
  75. package/types/camera/Frustum.d.ts +0 -133
  76. package/types/camera/PlanetCamera.d.ts +0 -218
  77. package/types/camera/index.d.ts +0 -3
  78. package/types/cons.d.ts +0 -40
  79. package/types/control/CompassButton.d.ts +0 -17
  80. package/types/control/Control.d.ts +0 -104
  81. package/types/control/DebugInfo.d.ts +0 -15
  82. package/types/control/EarthCoordinates.d.ts +0 -47
  83. package/types/control/EarthNavigation.d.ts +0 -42
  84. package/types/control/GeoImageDragControl.d.ts +0 -6
  85. package/types/control/KeyboardNavigation.d.ts +0 -21
  86. package/types/control/LayerSwitcher.d.ts +0 -21
  87. package/types/control/Lighting.d.ts +0 -16
  88. package/types/control/MouseNavigation.d.ts +0 -47
  89. package/types/control/ScaleControl.d.ts +0 -22
  90. package/types/control/ShowFps.d.ts +0 -11
  91. package/types/control/SimpleNavigation.d.ts +0 -25
  92. package/types/control/Sun.d.ts +0 -50
  93. package/types/control/ToggleWireframe.d.ts +0 -12
  94. package/types/control/TouchNavigation.d.ts +0 -48
  95. package/types/control/ZoomControl.d.ts +0 -27
  96. package/types/control/index.d.ts +0 -17
  97. package/types/ellipsoid/Ellipsoid.d.ts +0 -146
  98. package/types/ellipsoid/index.d.ts +0 -3
  99. package/types/ellipsoid/wgs84.d.ts +0 -6
  100. package/types/entity/BaseBillboard.d.ts +0 -215
  101. package/types/entity/Billboard.d.ts +0 -94
  102. package/types/entity/BillboardHandler.d.ts +0 -78
  103. package/types/entity/Entity.d.ts +0 -348
  104. package/types/entity/EntityCollection.d.ts +0 -317
  105. package/types/entity/GeoObject.d.ts +0 -111
  106. package/types/entity/GeoObjectHandler.d.ts +0 -77
  107. package/types/entity/Geometry.d.ts +0 -74
  108. package/types/entity/GeometryHandler.d.ts +0 -76
  109. package/types/entity/Label.d.ts +0 -189
  110. package/types/entity/LabelHandler.d.ts +0 -31
  111. package/types/entity/LabelWorker.d.ts +0 -9
  112. package/types/entity/PointCloud.d.ts +0 -174
  113. package/types/entity/PointCloudHandler.d.ts +0 -38
  114. package/types/entity/Polyline.d.ts +0 -306
  115. package/types/entity/PolylineHandler.d.ts +0 -18
  116. package/types/entity/Ray.d.ts +0 -124
  117. package/types/entity/RayHandler.d.ts +0 -67
  118. package/types/entity/ShapeHandler.d.ts +0 -22
  119. package/types/entity/Strip.d.ts +0 -119
  120. package/types/entity/StripHandler.d.ts +0 -38
  121. package/types/entity/index.d.ts +0 -8
  122. package/types/index.core.d.ts +0 -65
  123. package/types/index.d.ts +0 -45
  124. package/types/index.webgl.d.ts +0 -7
  125. package/types/input/KeyboardHandler.d.ts +0 -10
  126. package/types/input/MouseHandler.d.ts +0 -5
  127. package/types/input/TouchHandler.d.ts +0 -5
  128. package/types/input/input.d.ts +0 -34
  129. package/types/layer/BaseGeoImage.d.ts +0 -94
  130. package/types/layer/CanvasTiles.d.ts +0 -68
  131. package/types/layer/GeoImage.d.ts +0 -52
  132. package/types/layer/GeoTexture2d.d.ts +0 -8
  133. package/types/layer/GeoVideo.d.ts +0 -55
  134. package/types/layer/KML.d.ts +0 -63
  135. package/types/layer/Layer.d.ts +0 -326
  136. package/types/layer/Material.d.ts +0 -45
  137. package/types/layer/Vector.d.ts +0 -208
  138. package/types/layer/WMS.d.ts +0 -63
  139. package/types/layer/XYZ.d.ts +0 -120
  140. package/types/layer/index.d.ts +0 -10
  141. package/types/light/LightSource.d.ts +0 -178
  142. package/types/math/Line2.d.ts +0 -11
  143. package/types/math/Line3.d.ts +0 -10
  144. package/types/math/Mat3.d.ts +0 -65
  145. package/types/math/Mat4.d.ts +0 -176
  146. package/types/math/Plane.d.ts +0 -18
  147. package/types/math/Quat.d.ts +0 -379
  148. package/types/math/Ray.d.ts +0 -82
  149. package/types/math/Vec2.d.ts +0 -309
  150. package/types/math/Vec3.d.ts +0 -460
  151. package/types/math/Vec4.d.ts +0 -162
  152. package/types/math/coder.d.ts +0 -43
  153. package/types/math/index.d.ts +0 -11
  154. package/types/math.d.ts +0 -261
  155. package/types/mercator.d.ts +0 -92
  156. package/types/proj/EPSG3857.d.ts +0 -6
  157. package/types/proj/EPSG4326.d.ts +0 -6
  158. package/types/proj/Proj.d.ts +0 -42
  159. package/types/quadTree/EntityCollectionNode.d.ts +0 -34
  160. package/types/quadTree/Node.d.ts +0 -61
  161. package/types/quadTree/quadTree.d.ts +0 -40
  162. package/types/renderer/Renderer.d.ts +0 -300
  163. package/types/renderer/RendererEvents.d.ts +0 -233
  164. package/types/res/images.d.ts +0 -3
  165. package/types/scene/Axes.d.ts +0 -11
  166. package/types/scene/BaseNode.d.ts +0 -60
  167. package/types/scene/Planet.d.ts +0 -577
  168. package/types/scene/RenderNode.d.ts +0 -142
  169. package/types/scene/SkyBox.d.ts +0 -10
  170. package/types/scene/index.d.ts +0 -4
  171. package/types/segment/Segment.d.ts +0 -279
  172. package/types/segment/SegmentLonLat.d.ts +0 -16
  173. package/types/segment/segmentHelper.d.ts +0 -13
  174. package/types/shaders/billboard.d.ts +0 -3
  175. package/types/shaders/depth.d.ts +0 -2
  176. package/types/shaders/drawnode.d.ts +0 -7
  177. package/types/shaders/geoObject.d.ts +0 -3
  178. package/types/shaders/label.d.ts +0 -4
  179. package/types/shaders/pointCloud.d.ts +0 -2
  180. package/types/shaders/polyline.d.ts +0 -3
  181. package/types/shaders/ray.d.ts +0 -2
  182. package/types/shaders/screenFrame.d.ts +0 -2
  183. package/types/shaders/shape.d.ts +0 -4
  184. package/types/shaders/skybox.d.ts +0 -2
  185. package/types/shaders/toneMapping.d.ts +0 -2
  186. package/types/shapes/BaseShape.d.ts +0 -250
  187. package/types/shapes/Sphere.d.ts +0 -41
  188. package/types/terrain/BilTerrain.d.ts +0 -7
  189. package/types/terrain/EmptyTerrain.d.ts +0 -72
  190. package/types/terrain/Geoid.d.ts +0 -26
  191. package/types/terrain/GlobusTerrain.d.ts +0 -116
  192. package/types/terrain/MapboxTerrain.d.ts +0 -7
  193. package/types/terrain/index.d.ts +0 -5
  194. package/types/utils/FontAtlas.d.ts +0 -14
  195. package/types/utils/GeoImageCreator.d.ts +0 -30
  196. package/types/utils/ImagesCacheManager.d.ts +0 -10
  197. package/types/utils/Loader.d.ts +0 -25
  198. package/types/utils/NormalMapCreator.d.ts +0 -39
  199. package/types/utils/PlainSegmentWorker.d.ts +0 -10
  200. package/types/utils/TerrainWorker.d.ts +0 -9
  201. package/types/utils/TextureAtlas.d.ts +0 -111
  202. package/types/utils/VectorTileCreator.d.ts +0 -16
  203. package/types/utils/colorTable.d.ts +0 -143
  204. package/types/utils/earcut.d.ts +0 -6
  205. package/types/utils/shared.d.ts +0 -231
  206. package/types/webgl/Framebuffer.d.ts +0 -135
  207. package/types/webgl/Handler.d.ts +0 -397
  208. package/types/webgl/Multisample.d.ts +0 -89
  209. package/types/webgl/Program.d.ts +0 -161
  210. package/types/webgl/ProgramController.d.ts +0 -89
  211. package/types/webgl/callbacks.d.ts +0 -1
  212. package/types/webgl/index.d.ts +0 -6
  213. package/types/webgl/types.d.ts +0 -2
@@ -1,577 +0,0 @@
1
- /**
2
- * Main class for rendering planet
3
- * @class
4
- * @extends {RenderNode}
5
- * @param {string} [options.name="Earth"] - Planet name(Earth by default)
6
- * @param {Ellipsoid} [options.ellipsoid] - Planet ellipsoid(WGS84 by default)
7
- * @param {Number} [options.maxGridSize=128] - Segment maximal grid size
8
- * @param {Number} [options.maxEqualZoomAltitude=850000.0] - Maximal altitude since segments on the screen bacame the same zoom level
9
- * @param {Number} [options.minEqualZoomAltitude=10000.0] - Minimal altitude since segments on the screen bacame the same zoom level
10
- * @param {Number} [options.minEqualZoomCameraSlope=0.8] - Minimal camera slope above te globe where segments on the screen bacame the same zoom level
11
- * @fires og.scene.Planet#draw
12
- * @fires og.scene.Planet#layeradd
13
- * @fires og.scene.Planet#baselayerchange
14
- * @fires og.scene.Planet#layerremove
15
- * @fires og.scene.Planet#layervisibilitychange
16
- * @fires og.scene.Planet#geoimageadd
17
- */
18
- export class Planet extends RenderNode {
19
- static getBearingNorthRotationQuat(cartesian: any): Quat;
20
- constructor(options?: {});
21
- /**
22
- * @public
23
- * @type {Ellipsoid}
24
- */
25
- public ellipsoid: Ellipsoid;
26
- /**
27
- * Squared ellipsoid radius.
28
- * @protected
29
- * @type {number}
30
- */
31
- protected _planetRadius2: number;
32
- /**
33
- * All layers array.
34
- * @public
35
- * @type {Array.<Layer>}
36
- */
37
- public layers: Array<Layer>;
38
- /**
39
- * Current visible imagery tile layers array.
40
- * @public
41
- * @type {Array.<Layer>}
42
- */
43
- public visibleTileLayers: Array<Layer>;
44
- /**
45
- * Current visible vector layers array.
46
- * @protected
47
- * @type {Array.<layer.Vector>}
48
- */
49
- protected visibleVectorLayers: Array<layer.Vector>;
50
- _visibleTileLayerSlices: any[];
51
- /**
52
- * Vector layers visible nodes with collections.
53
- * @protected
54
- * @type {Array.<EntityCollection>}
55
- */
56
- protected _frustumEntityCollections: Array<EntityCollection>;
57
- /**
58
- * There is only one base layer on the globe when layer.isBaseLayer is true.
59
- * @public
60
- * @type {Layer}
61
- */
62
- public baseLayer: Layer;
63
- /**
64
- * Terrain provider.
65
- * @public
66
- * @type {Terrain}
67
- */
68
- public terrain: Terrain;
69
- /**
70
- * Camera is this.renderer.activeCamera pointer.
71
- * @public
72
- * @type {PlanetCamera}
73
- */
74
- public camera: PlanetCamera;
75
- _minAltitude: any;
76
- _maxAltitude: any;
77
- maxEqualZoomAltitude: any;
78
- minEqualZoomAltitude: any;
79
- minEqualZoomCameraSlope: any;
80
- /**
81
- * Screen mouse pointer projected to planet cartesian position.
82
- * @public
83
- * @type {Vec3}
84
- */
85
- public mousePositionOnEarth: Vec3;
86
- emptyTexture: any;
87
- transparentTexture: any;
88
- defaultTexture: any;
89
- /**
90
- * Current visible minimal zoom index planet segment.
91
- * @public
92
- * @type {number}
93
- */
94
- public minCurrZoom: number;
95
- /**
96
- * Current visible maximal zoom index planet segment.
97
- * @public
98
- * @type {number}
99
- */
100
- public maxCurrZoom: number;
101
- _viewExtent: any;
102
- /**
103
- * @protected
104
- */
105
- protected _createdNodesCount: number;
106
- /**
107
- * Planet's segments collected for rendering frame.
108
- * @protected
109
- * @type {quadTree.Node}
110
- */
111
- protected _renderedNodes: quadTree.Node;
112
- _renderedNodesInFrustum: any[];
113
- /**
114
- * Created nodes cache
115
- * @protected
116
- * @type {quadTree.Node}
117
- */
118
- protected _quadTreeNodesCacheMerc: quadTree.Node;
119
- /**
120
- * Current visible mercator segments tree nodes array.
121
- * @protected
122
- * @type {quadTree.Node}
123
- */
124
- protected _visibleNodes: quadTree.Node;
125
- /**
126
- * Current visible north pole nodes tree nodes array.
127
- * @protected
128
- * @type {quadTree.Node}
129
- */
130
- protected _visibleNodesNorth: quadTree.Node;
131
- /**
132
- * Current visible south pole nodes tree nodes array.
133
- * @protected
134
- * @type {quadTree.Node}
135
- */
136
- protected _visibleNodesSouth: quadTree.Node;
137
- /**
138
- * Layers activity lock.
139
- * @public
140
- * @type {idle.Lock}
141
- */
142
- public layerLock: idle.Lock;
143
- /**
144
- * Terrain providers activity lock.
145
- * @public
146
- * @type {idle.Lock}
147
- */
148
- public terrainLock: idle.Lock;
149
- /**
150
- * Layer's transparent colors.
151
- * @protected
152
- */
153
- protected _tcolorArr: any[];
154
- /**
155
- * Height scale factor. 1 - is normal elevation scale.
156
- * @protected
157
- * @type {number}
158
- */
159
- protected _heightFactor: number;
160
- /**
161
- * Precomputed indexes array for differrent grid size segments.
162
- * @protected
163
- * @type {Array.<Array.<number>>}
164
- */
165
- protected _indexesCache: Array<Array<number>>;
166
- _indexesCacheToRemove: any[];
167
- _indexesCacheToRemoveCounter: number;
168
- /**
169
- * Precomputed texture coordinates buffers for differrent grid size segments.
170
- * @protected
171
- * @type {Array.<Array.<number>>}
172
- */
173
- protected _textureCoordsBufferCache: Array<Array<number>>;
174
- /**
175
- * Framebuffer for relief. Is null when WEBGL_draw_buffers extension initialized.
176
- * @protected
177
- * @type {Object}
178
- */
179
- protected _heightPickingFramebuffer: any;
180
- /**
181
- * Mercator grid tree.
182
- * @protected
183
- * @type {quadTree.Node}
184
- */
185
- protected _quadTree: quadTree.Node;
186
- /**
187
- * North grid tree.
188
- * @protected
189
- * @type {quadTree.Node}
190
- */
191
- protected _quadTreeNorth: quadTree.Node;
192
- /**
193
- * South grid tree.
194
- * @protected
195
- * @type {quadTree.Node}
196
- */
197
- protected _quadTreeSouth: quadTree.Node;
198
- /**
199
- * Night glowing gl texture.
200
- * @protected
201
- */
202
- protected _nightTexture: any;
203
- /**
204
- * Specular mask gl texture.
205
- * @protected
206
- */
207
- protected _specularTexture: any;
208
- /**
209
- * True for rendering night glowing texture.
210
- * @protected
211
- * @type {boolean}
212
- */
213
- protected _useNightTexture: boolean;
214
- /**
215
- * True for rendering specular mask texture.
216
- * @protected
217
- * @type {boolean}
218
- */
219
- protected _useSpecularTexture: boolean;
220
- _maxGridSize: any;
221
- /**
222
- * Segment multiple textures size.(4 - convinient value for the most devices)
223
- * @const
224
- * @public
225
- */
226
- public SLICE_SIZE: number;
227
- SLICE_SIZE_4: number;
228
- SLICE_SIZE_3: number;
229
- /**
230
- * Level of the visible segment detalization.
231
- * @public
232
- * @type {number}
233
- */
234
- public _lodRatio: number;
235
- _maxLodRatio: number;
236
- _minLodRatio: number;
237
- _diffuseMaterialArr: Float32Array;
238
- _ambientMaterialArr: Float32Array;
239
- _specularMaterialArr: Float32Array;
240
- _tileOffsetArr: Float32Array;
241
- _visibleExtentOffsetArr: Float32Array;
242
- _transparentColorArr: Float32Array;
243
- _pickingColorArr: Float32Array;
244
- _samplerArr: Int32Array;
245
- _pickingMaskArr: Int32Array;
246
- /**
247
- * GeoImage creator.
248
- * @protected
249
- * @type{utils.GeoImageCreator}
250
- */
251
- protected _geoImageCreator: utils.GeoImageCreator;
252
- _vectorTileCreator: VectorTileCreator;
253
- _normalMapCreator: NormalMapCreator;
254
- _terrainWorker: TerrainWorker;
255
- _plainSegmentWorker: PlainSegmentWorker;
256
- _tileLoader: Loader;
257
- _memKey: Key;
258
- _distBeforeMemClear: number;
259
- _prevCamEye: Vec3;
260
- _initialized: boolean;
261
- always: any[];
262
- _renderCompleted: boolean;
263
- /**
264
- * Add the given control to the renderer of the planet scene.
265
- * @param {control.Control} control - Control.
266
- */
267
- addControl(control: control.Control): void;
268
- setRatioLod(maxLod: any, minLod: any): void;
269
- _renderCompletedActivated: boolean;
270
- /**
271
- * Add the given controls array to the renderer of the planet.
272
- * @param {Array.<control.Control>} cArr - Control array.
273
- */
274
- addControls(cArr: Array<control.Control>): void;
275
- /**
276
- * Return layer by it name
277
- * @param {string} name - Name of the layer. og.Layer.prototype.name
278
- * @public
279
- * @returns {Layer} -
280
- */
281
- public getLayerByName(name: string): Layer;
282
- /**
283
- * Adds the given layer to the planet.
284
- * @param {Layer} layer - Layer object.
285
- * @public
286
- */
287
- public addLayer(layer: Layer): void;
288
- /**
289
- * Dispatch layer visibility changing event.
290
- * @param {Layer} layer - Changed layer.
291
- * @protected
292
- */
293
- protected _onLayerVisibilityChanged(layer: Layer): void;
294
- /**
295
- * Adds the given layers array to the planet.
296
- * @param {Array.<Layer>} layers - Layers array.
297
- * @public
298
- */
299
- public addLayers(layers: Array<Layer>): void;
300
- /**
301
- * Removes the given layer from the planet.
302
- * @param {Layer} layer - Layer to remove.
303
- * @return {Layer|undefined} The removed layer or undefined if the layer was not found.
304
- * @public
305
- */
306
- public removeLayer(layer: Layer): Layer | undefined;
307
- /**
308
- *
309
- * @protected
310
- * @param {Layer} layer - Material layer.
311
- */
312
- protected _clearLayerMaterial(layer: Layer): void;
313
- /**
314
- * Get the collection of layers associated with this planet.
315
- * @return {Array.<Layer>} Layers array.
316
- * @public
317
- */
318
- public getLayers(): Array<Layer>;
319
- /**
320
- * Sets base layer coverage to the planet.
321
- * @param {Layer} layer - Layer object.
322
- * @public
323
- */
324
- public setBaseLayer(layer: Layer): void;
325
- /**
326
- * Sets elevation scale. 1.0 is default.
327
- * @param {number} factor - Elevation scale.
328
- */
329
- setHeightFactor(factor: number): void;
330
- /**
331
- * Gets elevation scale.
332
- * @returns {number} Terrain elevation scale
333
- */
334
- getHeightFactor(): number;
335
- /**
336
- * Sets terrain provider
337
- * @public
338
- * @param {Terrain} terrain - Terrain provider.
339
- */
340
- public setTerrain(terrain: Terrain): void;
341
- /**
342
- * @virtual
343
- * @protected
344
- */
345
- protected _initializeShaders(): void;
346
- /**
347
- * @virtual
348
- * @public
349
- */
350
- public init(): void;
351
- clearIndexesCache(): void;
352
- _preRender(): void;
353
- /**
354
- * Creates default textures first for nirth pole and whole globe and second for south pole.
355
- * @public
356
- * @param{Object} param0 -
357
- * @param{Object} param1 -
358
- */
359
- public createDefaultTextures(param0: any, param1: any): void;
360
- /**
361
- * Updates attribution lists
362
- * @public
363
- */
364
- public updateAttributionsList(): void;
365
- /**
366
- * Updates visible layers.
367
- * @public
368
- */
369
- public updateVisibleLayers(): void;
370
- /**
371
- * Sort visible layer - preparing for rendering.
372
- * @protected
373
- */
374
- protected _sortLayers(): void;
375
- _clearRenderedNodeList(): void;
376
- /**
377
- * Collects visible quad nodes.
378
- * @protected
379
- */
380
- protected _collectRenderNodes(): void;
381
- _nodeCounterError_: number;
382
- _globalPreDraw(): void;
383
- /**
384
- * Render node callback.
385
- * @public
386
- */
387
- public frame(): void;
388
- _checkRendercompleted(): void;
389
- /**
390
- * @protected
391
- */
392
- protected _renderScreenNodesPASS(): void;
393
- _skipPreRender: boolean;
394
- /**
395
- * @protected
396
- */
397
- protected _renderHeightPickingFramebufferPASS(): void;
398
- /**
399
- * @protected
400
- */
401
- protected _renderColorPickingFramebufferPASS(): void;
402
- /**
403
- * @protected
404
- */
405
- protected _renderDepthFramebufferPASS(): void;
406
- _collectVectorLayerCollections(): void;
407
- /**
408
- * Vector layers picking pass.
409
- * @protected
410
- */
411
- protected _frustumEntityCollectionPickingCallback(): void;
412
- /**
413
- * Starts clear memory thread.
414
- * @public
415
- */
416
- public memClear(): void;
417
- /**
418
- * Returns ray vector hit ellipsoid coordinates.
419
- * If the ray doesn't hit ellipsoit returns null.
420
- * @public
421
- * @param {Ray} ray - Ray 3d.
422
- * @returns {Vec3} -
423
- */
424
- public getRayIntersectionEllipsoid(ray: Ray): Vec3;
425
- /**
426
- * Returns 2d screen coordanates projection point to the planet ellipsoid 3d coordinates.
427
- * @public
428
- * @param {math.Pixel} px - 2D sreen coordinates.
429
- * @returns {Vec3} -
430
- */
431
- public getCartesianFromPixelEllipsoid(px: math.Pixel): Vec3;
432
- /**
433
- * Returns 2d screen coordanates projection point to the planet ellipsoid geographical coordinates.
434
- * @public
435
- * @param {math.Pixel} px - 2D screen coordinates.
436
- * @returns {LonLat} -
437
- */
438
- public getLonLatFromPixelEllipsoid(px: math.Pixel): LonLat;
439
- /**
440
- * Returns 3d cartesian coordinates on the relief planet by mouse cursor
441
- * position or null if mouse cursor is outside the planet.
442
- * @public
443
- * @param {Boolean} [force=false] - Force framebuffer rendering.
444
- * @returns {Vec3} -
445
- */
446
- public getCartesianFromMouseTerrain(force?: boolean): Vec3;
447
- /**
448
- * Returns 3d cartesian coordinates on the relief planet by 2d screen coordinates.
449
- * position or null if input coordinates is outside the planet.
450
- * @public
451
- * @param {Vec2} px - Pixel screen 2d coordinates.
452
- * @param {Boolean} [force=false] - Force framebuffer rendering.
453
- * @returns {Vec3} -
454
- */
455
- public getCartesianFromPixelTerrain(px: Vec2, force?: boolean): Vec3;
456
- /**
457
- * Returns geographical coordinates on the relief planet by 2d screen coordinates.
458
- * position or null if input coordinates is outside the planet.
459
- * @public
460
- * @param {Vec2} px - Pixel screen 2d coordinates.
461
- * @param {Boolean} [force=false] - Force framebuffer rendering.
462
- * @returns {LonLat} -
463
- */
464
- public getLonLatFromPixelTerrain(px: Vec2, force?: boolean): LonLat;
465
- /**
466
- * Returns projected 2d screen coordinates by 3d cartesian coordiantes.
467
- * @public
468
- * @param {Vec3} coords - Cartesian coordinates.
469
- * @returns {Vec2} -
470
- */
471
- public getPixelFromCartesian(coords: Vec3): Vec2;
472
- /**
473
- * Returns projected 2d screen coordinates by geographical coordinates.
474
- * @public
475
- * @param {LonLat} lonlat - Geographical coordinates.
476
- * @returns {Vec2} -
477
- */
478
- public getPixelFromLonLat(lonlat: LonLat): Vec2;
479
- /**
480
- * Returns distance from active camera to the the planet ellipsoid
481
- * coordiantes unprojected by 2d screen coordiantes, or null if screen coordinates outside the planet.
482
- * @public
483
- * @param {Vec2} px - Screen coordinates.
484
- * @returns {number} -
485
- */
486
- public getDistanceFromPixelEllipsoid(px: Vec2): number;
487
- /**
488
- * Returns distance from active camera to the the relief planet coordiantes unprojected
489
- * by 2d screen coordiantes, or null if screen coordinates outside the planet.
490
- * If screen coordinates inside the planet but relief is not exists in the
491
- * point than function returns distance to the planet ellipsoid.
492
- * @public
493
- * @param {Vec2} px - Screen coordinates.
494
- * @param {Boolean} [force=false] - Force framebuffer rendering.
495
- * @returns {number} -
496
- */
497
- public getDistanceFromPixel(px: Vec2): number;
498
- /**
499
- * Sets camera to the planet geographical extent.
500
- * @public
501
- * @param {Extent} extent - Geographical extent.
502
- */
503
- public viewExtent(extent: Extent): void;
504
- /**
505
- * Sets camera to the planet geographical extent.
506
- * @public
507
- * @param {Array.<number>} extentArr - Geographical extent array, (exactly 4 entries)
508
- * where index 0 - southwest longitude, 1 - latitude southwest, 2 - longitude northeast, 3 - latitude northeast.
509
- */
510
- public viewExtentArr(extentArr: Array<number>): void;
511
- /**
512
- * Gets current viewing geographical extent.
513
- * @public
514
- * @returns {Extent} -
515
- */
516
- public getViewExtent(): Extent;
517
- /**
518
- * Sets camera to the planet geographical position.
519
- * @public
520
- * @param {LonLat} lonlat - New geographical position.
521
- * @param {Vec3} [up] - Camera UP vector.
522
- */
523
- public viewLonLat(lonlat: LonLat, up?: Vec3): void;
524
- /**
525
- * Fly camera to the planet geographical extent.
526
- * @public
527
- * @param {Extent} extent - Geographical extent.
528
- * @param {Number} [height] - Height on the end of the flight route.
529
- * @param {Vec3} [up] - Camera UP vector on the end of a flying.
530
- * @param {Number} [ampl] - Altitude amplitude factor.
531
- * @param {cameraCallback} [startCallback] - Callback that calls after flying when flying is finished.
532
- * @param {cameraCallback} [completeCallback] - Callback that calls befor the flying begins.
533
- */
534
- public flyExtent(extent: Extent, height?: number, up?: Vec3, ampl?: number, completeCallback?: cameraCallback, startCallback?: cameraCallback): void;
535
- /**
536
- * Fly camera to the new point.
537
- * @public
538
- * @param {Vec3} cartesian - Fly coordiantes.
539
- * @param {Vec3} [look] - Camera "look at" point.
540
- * @param {Vec3} [up] - Camera UP vector on the end of a flying.
541
- * @param {Number} [ampl] - Altitude amplitude factor.
542
- * @param [completeCallback]
543
- * @param [startCallback]
544
- * @param [frameCallback]
545
- */
546
- public flyCartesian(cartesian: Vec3, look?: Vec3, up?: Vec3, ampl?: number, completeCallback?: any, startCallback?: any, frameCallback?: any): void;
547
- /**
548
- * Fly camera to the new geographical position.
549
- * @public
550
- * @param {LonLat} lonlat - Fly geographical coordiantes.
551
- * @param {Vec3} [look] - Camera "look at" point on the end of a flying.
552
- * @param {Vec3} [up] - Camera UP vector on the end of a flying.
553
- * @param {Number} [ampl] - Altitude amplitude factor.
554
- * @param [completeCallback]
555
- * @param [startCallback]
556
- * @param [frameCallback]
557
- */
558
- public flyLonLat(lonlat: LonLat, look?: Vec3, up?: Vec3, ampl?: number, completeCallback?: any, startCallback?: any, frameCallback?: any): void;
559
- /**
560
- * Breaks the flight.
561
- * @public
562
- */
563
- public stopFlying(): void;
564
- getEntityTerrainPoint(entity: any, res: any): any;
565
- }
566
- import { RenderNode } from "./RenderNode.js";
567
- import { PlanetCamera } from "../camera/PlanetCamera.js";
568
- import { Vec3 } from "../math/index.js";
569
- import { VectorTileCreator } from "../utils/VectorTileCreator.js";
570
- import { NormalMapCreator } from "../utils/NormalMapCreator.js";
571
- import { TerrainWorker } from "../utils/TerrainWorker.js";
572
- import { PlainSegmentWorker } from "../utils/PlainSegmentWorker.js";
573
- import { Loader } from "../utils/Loader.js";
574
- import { Key } from "../Lock.js";
575
- import { LonLat } from "../LonLat.js";
576
- import { Extent } from "../Extent.js";
577
- import { Quat } from "../math/index.js";
@@ -1,142 +0,0 @@
1
- /**
2
- * Render node is a logical part of a render mechanism. Represents scene rendering.
3
- * Forexample one scene node for rendering the Earth, another one for rendering the Moon, another node for rendering stars etc.
4
- * Each render node has own model view space defined with matrices(scale, rotation, translation, transformation).
5
- * There are collections of ligh sources, entities and so on in the node.
6
- * Access to the node is renderer.renderNodes["Earth"]
7
- * @class
8
- * @extends {RenderNode}
9
- * @param {string} name - Node name.
10
- */
11
- export class RenderNode {
12
- /**
13
- * Renderer that calls frame() callback.
14
- * @public
15
- * @type {Renderer}
16
- */
17
- public renderer: Renderer;
18
- drawMode: number;
19
- /** Show rendering.
20
- * @public
21
- */
22
- public show: boolean;
23
- _isActive: boolean;
24
- /**
25
- * Lighting calculations.
26
- * @public
27
- * @type {boolean}
28
- */
29
- public lightEnabled: boolean;
30
- /**
31
- * Point light array.
32
- * @private
33
- * @type {Array.<LightSource>}
34
- */
35
- private _lights;
36
- _lightsTransformedPositions: any[];
37
- _lightsParamsv: any[];
38
- _lightsParamsf: any[];
39
- _lightsNames: any[];
40
- /**
41
- * Entity collection array.
42
- * @public
43
- * @type {Array.<EntityCollection>}
44
- */
45
- public entityCollections: Array<EntityCollection>;
46
- _pickingId: number;
47
- events: Events;
48
- /**
49
- * Adds node to the current hierarchy.
50
- * @public
51
- * @type {RenderNode}
52
- */
53
- public addNode(node: any): void;
54
- /**
55
- * Assign render node with renderer.
56
- * @public
57
- * @param {Renderer} renderer - Redner node's renderer.
58
- */
59
- public assign(renderer: Renderer): void;
60
- onremove(): void;
61
- remove(): void;
62
- /**
63
- * Adds entity collection.
64
- * @public
65
- * @param {EntityCollection} entityCollection - Entity collection.
66
- * @param {boolean} [isHidden] - If it's true that this collection has specific rendering.
67
- * @returns {RenderNode} -
68
- */
69
- public addEntityCollection(entityCollection: EntityCollection, isHidden?: boolean): RenderNode;
70
- /**
71
- * Removes entity collection.
72
- * @public
73
- * @param {EntityCollection} entityCollection - Entity collection for remove.
74
- */
75
- public removeEntityCollection(entityCollection: EntityCollection): void;
76
- /**
77
- * Adds point light source.
78
- * @public
79
- * @param {LightSource} light - Light source.
80
- * @returns {RenderNode}
81
- */
82
- public addLight(light: LightSource): RenderNode;
83
- /**
84
- * Gets light object by its name.
85
- * @public
86
- * @param {string} name - Point light name.
87
- * @returns {LightSource}
88
- */
89
- public getLightByName(name: string): LightSource;
90
- /**
91
- * Removes light source.
92
- * @public
93
- * @param {LightSource} light - Light source object.
94
- */
95
- public removeLight(light: LightSource): void;
96
- /**
97
- * Calls render frame node's callback. Used in renderer.
98
- * @public
99
- */
100
- public drawNode(frustum: any, frustumIndex: any): void;
101
- /**
102
- * Gets render node activity.
103
- * @public
104
- * @returns {Boolean} -
105
- */
106
- public isActive(): boolean;
107
- /**
108
- * Rendering activation.
109
- * @public
110
- * @param {boolean} isActive - Activation flag.
111
- */
112
- public setActive(isActive: boolean): void;
113
- /**
114
- * Sets draw mode
115
- * @public
116
- * @param {Number} mode - Draw mode, such as gl.TRIANGLES, gl.TRIANGLE_STRIP, gl.LINES etc.
117
- */
118
- public setDrawMode(mode: number): void;
119
- /**
120
- * IMPORTANT: This function have to be called manualy in each render node frame callback, before drawing scene geometry.
121
- * @public
122
- */
123
- public transformLights(): void;
124
- updateBillboardsTexCoords(): void;
125
- /**
126
- * @private
127
- */
128
- private _drawNodes;
129
- drawEntityCollections(ec: any): void;
130
- /**
131
- * Draw entity collections picking frame.
132
- * @public
133
- * @param {Array<og.EntityCollection>} ec - Entity collection array.
134
- */
135
- public drawPickingEntityCollections(ec: Array<og.EntityCollection>): void;
136
- /**
137
- * Picking entity frame callback
138
- * @private
139
- */
140
- private _entityCollectionPickingCallback;
141
- }
142
- import { Events } from "../Events.js";