@openglobus/og 0.19.4 → 0.20.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 (308) hide show
  1. package/README.md +3 -3
  2. package/css/og.css +18 -4
  3. package/lib/@openglobus/js/Clock.d.ts +106 -0
  4. package/lib/@openglobus/js/Deferred.d.ts +6 -0
  5. package/lib/@openglobus/js/Events.d.ts +90 -0
  6. package/lib/@openglobus/js/Extent.d.ts +145 -0
  7. package/lib/@openglobus/js/Globe.d.ts +134 -0
  8. package/lib/@openglobus/js/ImageCanvas.d.ts +128 -0
  9. package/lib/@openglobus/js/Lock.d.ts +15 -0
  10. package/lib/@openglobus/js/LonLat.d.ts +128 -0
  11. package/lib/@openglobus/js/Object3d.d.ts +64 -0
  12. package/lib/@openglobus/js/Popup.d.ts +46 -0
  13. package/lib/@openglobus/js/QueueArray.d.ts +16 -0
  14. package/lib/@openglobus/js/Rectangle.d.ts +76 -0
  15. package/lib/@openglobus/js/Stack.d.ts +20 -0
  16. package/lib/@openglobus/js/astro/astro.d.ts +39 -0
  17. package/lib/@openglobus/js/astro/earth.d.ts +8 -0
  18. package/lib/@openglobus/js/astro/jd.d.ts +234 -0
  19. package/lib/@openglobus/js/astro/orbit.d.ts +5 -0
  20. package/lib/@openglobus/js/astro/rotation.d.ts +2 -0
  21. package/lib/@openglobus/js/bv/Box.d.ts +32 -0
  22. package/lib/@openglobus/js/bv/Sphere.d.ts +37 -0
  23. package/lib/@openglobus/js/bv/index.d.ts +3 -0
  24. package/lib/@openglobus/js/camera/Camera.d.ts +314 -0
  25. package/lib/@openglobus/js/camera/Frustum.d.ts +139 -0
  26. package/lib/@openglobus/js/camera/PlanetCamera.d.ts +234 -0
  27. package/lib/@openglobus/js/camera/index.d.ts +3 -0
  28. package/lib/@openglobus/js/cons.d.ts +40 -0
  29. package/lib/@openglobus/js/control/Atmosphere.d.ts +16 -0
  30. package/lib/@openglobus/js/control/CompassButton.d.ts +16 -0
  31. package/lib/@openglobus/js/control/Control.d.ts +100 -0
  32. package/lib/@openglobus/js/control/DebugInfo.d.ts +25 -0
  33. package/lib/@openglobus/js/control/DrawingSwitcher.d.ts +13 -0
  34. package/lib/@openglobus/js/control/EarthCoordinates.d.ts +41 -0
  35. package/lib/@openglobus/js/control/EarthNavigation.d.ts +50 -0
  36. package/lib/@openglobus/js/control/GeoImageDragControl.d.ts +22 -0
  37. package/lib/@openglobus/js/control/KeyboardNavigation.d.ts +28 -0
  38. package/lib/@openglobus/js/control/LayerAnimation.d.ts +71 -0
  39. package/lib/@openglobus/js/control/LayerSwitcher.d.ts +36 -0
  40. package/lib/@openglobus/js/control/Lighting.d.ts +53 -0
  41. package/lib/@openglobus/js/control/MouseNavigation.d.ts +64 -0
  42. package/lib/@openglobus/js/control/MouseWheelZoomControl.d.ts +44 -0
  43. package/lib/@openglobus/js/control/RulerSwitcher.d.ts +17 -0
  44. package/lib/@openglobus/js/control/ScaleControl.d.ts +24 -0
  45. package/lib/@openglobus/js/control/SegmentBoundVisualization.d.ts +12 -0
  46. package/lib/@openglobus/js/control/ShowFps.d.ts +9 -0
  47. package/lib/@openglobus/js/control/SimpleNavigation.d.ts +25 -0
  48. package/lib/@openglobus/js/control/SimpleSkyBackground.d.ts +17 -0
  49. package/lib/@openglobus/js/control/Sun.d.ts +33 -0
  50. package/lib/@openglobus/js/control/ToggleWireframe.d.ts +14 -0
  51. package/lib/@openglobus/js/control/TouchNavigation.d.ts +52 -0
  52. package/lib/@openglobus/js/control/ZoomControl.d.ts +27 -0
  53. package/lib/@openglobus/js/control/drawing/DrawingControl.d.ts +12 -0
  54. package/lib/@openglobus/js/control/drawing/LineStringDrawingScene.d.ts +15 -0
  55. package/lib/@openglobus/js/control/drawing/PolygonDrawingScene.d.ts +98 -0
  56. package/lib/@openglobus/js/control/elevationProfile/ElevationProfile.d.ts +77 -0
  57. package/lib/@openglobus/js/control/elevationProfile/ElevationProfileButtonsView.d.ts +14 -0
  58. package/lib/@openglobus/js/control/elevationProfile/ElevationProfileControl.d.ts +33 -0
  59. package/lib/@openglobus/js/control/elevationProfile/ElevationProfileLegend.d.ts +20 -0
  60. package/lib/@openglobus/js/control/elevationProfile/ElevationProfileScene.d.ts +80 -0
  61. package/lib/@openglobus/js/control/elevationProfile/ElevationProfileView.d.ts +63 -0
  62. package/lib/@openglobus/js/control/elevationProfile/PointListDialog.d.ts +12 -0
  63. package/lib/@openglobus/js/control/heightRuler/HeightRuler.d.ts +7 -0
  64. package/lib/@openglobus/js/control/heightRuler/HeightRulerScene.d.ts +35 -0
  65. package/lib/@openglobus/js/control/heightRuler/HeightRulerSwitcher.d.ts +6 -0
  66. package/lib/@openglobus/js/control/index.d.ts +29 -0
  67. package/lib/@openglobus/js/control/ruler/Ruler.d.ts +13 -0
  68. package/lib/@openglobus/js/control/ruler/RulerScene.d.ts +88 -0
  69. package/lib/@openglobus/js/control/selection/Selection.d.ts +55 -0
  70. package/lib/@openglobus/js/control/selection/SelectionScene.d.ts +44 -0
  71. package/lib/@openglobus/js/control/timeline/TimelineControl.d.ts +18 -0
  72. package/lib/@openglobus/js/control/timeline/TimelineModel.d.ts +41 -0
  73. package/lib/@openglobus/js/control/timeline/TimelineView.d.ts +85 -0
  74. package/lib/@openglobus/js/control/timeline/timelineUtils.d.ts +12 -0
  75. package/lib/@openglobus/js/control/visibleExtent/drawnode.d.ts +7 -0
  76. package/lib/@openglobus/js/ellipsoid/Ellipsoid.d.ts +193 -0
  77. package/lib/@openglobus/js/ellipsoid/index.d.ts +3 -0
  78. package/lib/@openglobus/js/ellipsoid/wgs84.d.ts +6 -0
  79. package/lib/@openglobus/js/entity/BaseBillboard.d.ts +222 -0
  80. package/lib/@openglobus/js/entity/BaseBillboardHandler.d.ts +81 -0
  81. package/lib/@openglobus/js/entity/Billboard.d.ts +113 -0
  82. package/lib/@openglobus/js/entity/BillboardHandler.d.ts +15 -0
  83. package/lib/@openglobus/js/entity/Entity.d.ts +354 -0
  84. package/lib/@openglobus/js/entity/EntityCollection.d.ts +363 -0
  85. package/lib/@openglobus/js/entity/GeoObject.d.ts +152 -0
  86. package/lib/@openglobus/js/entity/GeoObjectHandler.d.ts +104 -0
  87. package/lib/@openglobus/js/entity/Geometry.d.ts +124 -0
  88. package/lib/@openglobus/js/entity/GeometryHandler.d.ts +84 -0
  89. package/lib/@openglobus/js/entity/Label.d.ts +214 -0
  90. package/lib/@openglobus/js/entity/LabelHandler.d.ts +65 -0
  91. package/lib/@openglobus/js/entity/LabelWorker.d.ts +15 -0
  92. package/lib/@openglobus/js/entity/PointCloud.d.ts +179 -0
  93. package/lib/@openglobus/js/entity/PointCloudHandler.d.ts +42 -0
  94. package/lib/@openglobus/js/entity/Polyline.d.ts +345 -0
  95. package/lib/@openglobus/js/entity/PolylineHandler.d.ts +22 -0
  96. package/lib/@openglobus/js/entity/Ray.d.ts +133 -0
  97. package/lib/@openglobus/js/entity/RayHandler.d.ts +70 -0
  98. package/lib/@openglobus/js/entity/Strip.d.ts +139 -0
  99. package/lib/@openglobus/js/entity/StripHandler.d.ts +42 -0
  100. package/lib/@openglobus/js/entity/index.d.ts +10 -0
  101. package/lib/@openglobus/js/index.d.ts +33 -0
  102. package/lib/@openglobus/js/input/KeyboardHandler.d.ts +33 -0
  103. package/lib/@openglobus/js/input/MouseHandler.d.ts +16 -0
  104. package/lib/@openglobus/js/input/TouchHandler.d.ts +11 -0
  105. package/lib/@openglobus/js/input/input.d.ts +3 -0
  106. package/lib/@openglobus/js/layer/BaseGeoImage.d.ts +145 -0
  107. package/lib/@openglobus/js/layer/Bing.d.ts +4 -0
  108. package/lib/@openglobus/js/layer/CanvasTiles.d.ts +103 -0
  109. package/lib/@openglobus/js/layer/GeoImage.d.ts +61 -0
  110. package/lib/@openglobus/js/layer/GeoTexture2d.d.ts +17 -0
  111. package/lib/@openglobus/js/layer/GeoVideo.d.ts +68 -0
  112. package/lib/@openglobus/js/layer/KML.d.ts +72 -0
  113. package/lib/@openglobus/js/layer/Layer.d.ts +415 -0
  114. package/lib/@openglobus/js/layer/Material.d.ts +34 -0
  115. package/lib/@openglobus/js/layer/OpenStreetMap.d.ts +4 -0
  116. package/lib/@openglobus/js/layer/Vector.d.ts +246 -0
  117. package/lib/@openglobus/js/layer/WMS.d.ts +75 -0
  118. package/lib/@openglobus/js/layer/XYZ.d.ts +148 -0
  119. package/lib/@openglobus/js/layer/index.d.ts +12 -0
  120. package/lib/@openglobus/js/light/LightSource.d.ts +174 -0
  121. package/lib/@openglobus/js/math/Line2.d.ts +11 -0
  122. package/lib/@openglobus/js/math/Line3.d.ts +28 -0
  123. package/lib/@openglobus/js/math/Mat3.d.ts +77 -0
  124. package/lib/@openglobus/js/math/Mat4.d.ts +195 -0
  125. package/lib/@openglobus/js/math/Plane.d.ts +20 -0
  126. package/lib/@openglobus/js/math/Quat.d.ts +373 -0
  127. package/lib/@openglobus/js/math/Ray.d.ts +76 -0
  128. package/lib/@openglobus/js/math/Vec2.d.ts +310 -0
  129. package/lib/@openglobus/js/math/Vec3.d.ts +472 -0
  130. package/lib/@openglobus/js/math/Vec4.d.ts +163 -0
  131. package/lib/@openglobus/js/math/coder.d.ts +51 -0
  132. package/lib/@openglobus/js/math/index.d.ts +11 -0
  133. package/lib/@openglobus/js/math.d.ts +266 -0
  134. package/lib/@openglobus/js/mercator.d.ts +92 -0
  135. package/lib/@openglobus/js/proj/EPSG3857.d.ts +9 -0
  136. package/lib/@openglobus/js/proj/EPSG4326.d.ts +9 -0
  137. package/lib/@openglobus/js/proj/Proj.d.ts +43 -0
  138. package/lib/@openglobus/js/quadTree/EPSG4326QuadTreeStrategy.d.ts +6 -0
  139. package/lib/@openglobus/js/quadTree/EarthQuadTreeStrategy.d.ts +9 -0
  140. package/lib/@openglobus/js/quadTree/EntityCollectionNode.d.ts +54 -0
  141. package/lib/@openglobus/js/quadTree/MarsQuadTreeStrategy.d.ts +11 -0
  142. package/lib/@openglobus/js/quadTree/Node.d.ts +80 -0
  143. package/lib/@openglobus/js/quadTree/QuadTreeStrategy.d.ts +28 -0
  144. package/lib/@openglobus/js/quadTree/Wgs84QuadTreeStrategy.d.ts +6 -0
  145. package/lib/@openglobus/js/quadTree/index.d.ts +12 -0
  146. package/lib/@openglobus/js/quadTree/quadTree.d.ts +40 -0
  147. package/lib/@openglobus/js/renderer/Renderer.d.ts +319 -0
  148. package/lib/@openglobus/js/renderer/RendererEvents.d.ts +240 -0
  149. package/lib/@openglobus/js/scene/Axes.d.ts +12 -0
  150. package/lib/@openglobus/js/scene/BaseNode.d.ts +61 -0
  151. package/lib/@openglobus/js/scene/Planet.d.ts +652 -0
  152. package/lib/@openglobus/js/scene/RenderNode.d.ts +150 -0
  153. package/lib/@openglobus/js/scene/SkyBox.d.ts +13 -0
  154. package/lib/@openglobus/js/scene/index.d.ts +5 -0
  155. package/lib/@openglobus/js/segment/Segment.d.ts +288 -0
  156. package/lib/@openglobus/js/segment/SegmentLonLat.d.ts +44 -0
  157. package/lib/@openglobus/js/segment/SegmentLonLatWgs84.d.ts +10 -0
  158. package/lib/@openglobus/js/segment/Slice.d.ts +13 -0
  159. package/lib/@openglobus/js/segment/segmentHelper.d.ts +18 -0
  160. package/lib/@openglobus/js/shaders/atmos.d.ts +4 -0
  161. package/lib/@openglobus/js/shaders/billboard.d.ts +3 -0
  162. package/lib/@openglobus/js/shaders/bloom.d.ts +2 -0
  163. package/lib/@openglobus/js/shaders/blur.d.ts +3 -0
  164. package/lib/@openglobus/js/shaders/depth.d.ts +2 -0
  165. package/lib/@openglobus/js/shaders/drawnode.d.ts +8 -0
  166. package/lib/@openglobus/js/shaders/geoObject.d.ts +3 -0
  167. package/lib/@openglobus/js/shaders/label.d.ts +4 -0
  168. package/lib/@openglobus/js/shaders/lumFilter.d.ts +2 -0
  169. package/lib/@openglobus/js/shaders/pointCloud.d.ts +2 -0
  170. package/lib/@openglobus/js/shaders/polyline.d.ts +3 -0
  171. package/lib/@openglobus/js/shaders/ray.d.ts +2 -0
  172. package/lib/@openglobus/js/shaders/screenFrame.d.ts +2 -0
  173. package/lib/@openglobus/js/shaders/skybox.d.ts +2 -0
  174. package/lib/@openglobus/js/shaders/toneMapping.d.ts +2 -0
  175. package/lib/@openglobus/js/shaders/utils.d.ts +1 -0
  176. package/lib/@openglobus/js/terrain/BilTerrain.d.ts +18 -0
  177. package/lib/@openglobus/js/terrain/EmptyTerrain.d.ts +113 -0
  178. package/lib/@openglobus/js/terrain/Geoid.d.ts +33 -0
  179. package/lib/@openglobus/js/terrain/GlobusRgbTerrain.d.ts +6 -0
  180. package/lib/@openglobus/js/terrain/GlobusTerrain.d.ts +137 -0
  181. package/lib/{js/terrain/MapboxTerrain.d.ts → @openglobus/js/terrain/RgbTerrain.d.ts} +5 -5
  182. package/lib/@openglobus/js/terrain/index.d.ts +6 -0
  183. package/lib/@openglobus/js/ui/Button.d.ts +32 -0
  184. package/lib/@openglobus/js/ui/ButtonGroup.d.ts +16 -0
  185. package/lib/@openglobus/js/ui/Color.d.ts +22 -0
  186. package/lib/@openglobus/js/ui/Dialog.d.ts +55 -0
  187. package/lib/@openglobus/js/ui/Slider.d.ts +38 -0
  188. package/lib/@openglobus/js/ui/ToggleButton.d.ts +20 -0
  189. package/lib/@openglobus/js/ui/View.d.ts +37 -0
  190. package/lib/@openglobus/js/ui/icons.d.ts +1 -0
  191. package/lib/@openglobus/js/utils/BaseWorker.d.ts +14 -0
  192. package/lib/@openglobus/js/utils/FontAtlas.d.ts +82 -0
  193. package/lib/@openglobus/js/utils/GeoImageCreator.d.ts +34 -0
  194. package/lib/@openglobus/js/utils/ImagesCacheManager.d.ts +22 -0
  195. package/lib/@openglobus/js/utils/Loader.d.ts +63 -0
  196. package/lib/@openglobus/js/utils/NormalMapCreator.d.ts +52 -0
  197. package/lib/@openglobus/js/utils/PlainSegmentWorker.d.ts +24 -0
  198. package/lib/@openglobus/js/utils/TerrainWorker.d.ts +28 -0
  199. package/lib/@openglobus/js/utils/TextureAtlas.d.ts +113 -0
  200. package/lib/@openglobus/js/utils/VectorTileCreator.d.ts +18 -0
  201. package/lib/@openglobus/js/utils/colorTable.d.ts +3 -0
  202. package/lib/@openglobus/js/utils/earcut.d.ts +7 -0
  203. package/lib/@openglobus/js/utils/objParser.d.ts +24 -0
  204. package/lib/@openglobus/js/utils/shared.d.ts +263 -0
  205. package/lib/@openglobus/js/utils/units.d.ts +16 -0
  206. package/lib/@openglobus/js/webgl/BaseFramebuffer.d.ts +53 -0
  207. package/lib/@openglobus/js/webgl/Framebuffer.d.ts +69 -0
  208. package/lib/@openglobus/js/webgl/Handler.d.ts +473 -0
  209. package/lib/@openglobus/js/webgl/Multisample.d.ts +27 -0
  210. package/lib/@openglobus/js/webgl/Program.d.ts +159 -0
  211. package/lib/@openglobus/js/webgl/ProgramController.d.ts +86 -0
  212. package/lib/@openglobus/js/webgl/index.d.ts +6 -0
  213. package/lib/@openglobus/js/webgl/types.d.ts +9 -0
  214. package/lib/@openglobus/js/webgl/variableHandlers.d.ts +22 -0
  215. package/lib/@openglobus/og.css +1 -1
  216. package/lib/@openglobus/og.esm.js +1 -1
  217. package/lib/@openglobus/og.esm.js.map +1 -1
  218. package/lib/@openglobus/og.umd.js +1 -1
  219. package/lib/@openglobus/og.umd.js.map +1 -1
  220. package/lib/js/Extent.js +2 -2
  221. package/lib/js/Globe.d.ts +1 -1
  222. package/lib/js/Object3d.d.ts +8 -1
  223. package/lib/js/Object3d.js +12 -2
  224. package/lib/js/camera/Frustum.d.ts +1 -1
  225. package/lib/js/camera/Frustum.js +3 -2
  226. package/lib/js/control/DebugInfo.js +19 -18
  227. package/lib/js/control/Lighting.d.ts +4 -0
  228. package/lib/js/control/Lighting.js +51 -12
  229. package/lib/js/control/SimpleSkyBackground.d.ts +2 -0
  230. package/lib/js/control/SimpleSkyBackground.js +13 -3
  231. package/lib/js/control/drawing/PolygonDrawingScene.js +2 -2
  232. package/lib/js/control/visibleExtent/drawnode.js +1 -1
  233. package/lib/js/entity/GeoObject.d.ts +12 -3
  234. package/lib/js/entity/GeoObject.js +34 -2
  235. package/lib/js/entity/GeoObjectHandler.d.ts +5 -0
  236. package/lib/js/entity/GeoObjectHandler.js +47 -0
  237. package/lib/js/entity/Geometry.d.ts +24 -11
  238. package/lib/js/entity/Geometry.js +17 -9
  239. package/lib/js/entity/GeometryHandler.js +5 -5
  240. package/lib/js/entity/Label.d.ts +7 -0
  241. package/lib/js/entity/Label.js +11 -0
  242. package/lib/js/entity/Polyline.d.ts +15 -7
  243. package/lib/js/entity/Polyline.js +54 -6
  244. package/lib/js/entity/Strip.d.ts +12 -0
  245. package/lib/js/entity/Strip.js +16 -0
  246. package/lib/js/entity/StripHandler.js +1 -1
  247. package/lib/js/entity/index.d.ts +10 -11
  248. package/lib/js/entity/index.js +10 -11
  249. package/lib/js/index.d.ts +5 -5
  250. package/lib/js/index.js +5 -5
  251. package/lib/js/layer/Bing.d.ts +4 -0
  252. package/lib/js/layer/Bing.js +40 -0
  253. package/lib/js/layer/GeoImage.d.ts +1 -1
  254. package/lib/js/layer/GeoVideo.d.ts +1 -1
  255. package/lib/js/layer/Layer.d.ts +1 -1
  256. package/lib/js/layer/Layer.js +2 -2
  257. package/lib/js/layer/OpenStreetMap.d.ts +4 -0
  258. package/lib/js/layer/OpenStreetMap.js +19 -0
  259. package/lib/js/layer/Vector.d.ts +3 -0
  260. package/lib/js/layer/Vector.js +3 -3
  261. package/lib/js/layer/index.d.ts +12 -11
  262. package/lib/js/layer/index.js +12 -11
  263. package/lib/js/math/Mat4.js +18 -17
  264. package/lib/js/mercator.js +2 -1
  265. package/lib/js/quadTree/EPSG4326QuadTreeStrategy.js +4 -5
  266. package/lib/js/quadTree/EarthQuadTreeStrategy.d.ts +3 -0
  267. package/lib/js/quadTree/EarthQuadTreeStrategy.js +40 -5
  268. package/lib/js/quadTree/EntityCollectionNode.d.ts +2 -2
  269. package/lib/js/quadTree/EntityCollectionNode.js +13 -14
  270. package/lib/js/quadTree/MarsQuadTreeStrategy.d.ts +5 -0
  271. package/lib/js/quadTree/MarsQuadTreeStrategy.js +31 -5
  272. package/lib/js/quadTree/Node.d.ts +2 -1
  273. package/lib/js/quadTree/Node.js +38 -28
  274. package/lib/js/quadTree/QuadTreeStrategy.d.ts +3 -0
  275. package/lib/js/quadTree/QuadTreeStrategy.js +17 -0
  276. package/lib/js/quadTree/Wgs84QuadTreeStrategy.js +3 -3
  277. package/lib/js/renderer/Renderer.js +1 -0
  278. package/lib/js/scene/Planet.js +6 -4
  279. package/lib/js/segment/Segment.d.ts +12 -9
  280. package/lib/js/segment/Segment.js +47 -24
  281. package/lib/js/segment/SegmentLonLat.d.ts +1 -5
  282. package/lib/js/segment/SegmentLonLat.js +8 -100
  283. package/lib/js/segment/SegmentLonLatWgs84.js +5 -3
  284. package/lib/js/shaders/billboard.js +4 -4
  285. package/lib/js/shaders/drawnode.js +16 -19
  286. package/lib/js/shaders/geoObject.js +4 -5
  287. package/lib/js/shaders/ray.js +7 -3
  288. package/lib/js/terrain/BilTerrain.d.ts +1 -1
  289. package/lib/js/terrain/BilTerrain.js +7 -6
  290. package/lib/js/terrain/EmptyTerrain.d.ts +7 -0
  291. package/lib/js/terrain/EmptyTerrain.js +7 -0
  292. package/lib/js/terrain/GlobusRgbTerrain.d.ts +6 -0
  293. package/lib/js/terrain/GlobusRgbTerrain.js +25 -0
  294. package/lib/js/terrain/GlobusTerrain.d.ts +5 -5
  295. package/lib/js/terrain/GlobusTerrain.js +35 -30
  296. package/lib/js/terrain/RgbTerrain.d.ts +22 -0
  297. package/lib/js/terrain/RgbTerrain.js +415 -0
  298. package/lib/js/terrain/index.d.ts +3 -2
  299. package/lib/js/terrain/index.js +3 -2
  300. package/lib/js/ui/Color.d.ts +22 -0
  301. package/lib/js/ui/Color.js +58 -0
  302. package/lib/js/utils/GeoImageCreator.js +1 -1
  303. package/lib/js/utils/NormalMapCreator.js +1 -1
  304. package/lib/js/utils/VectorTileCreator.js +3 -3
  305. package/lib/js/utils/shared.d.ts +1 -8
  306. package/lib/js/utils/shared.js +17 -8
  307. package/package.json +2 -1
  308. package/lib/js/terrain/MapboxTerrain.js +0 -305
@@ -0,0 +1,652 @@
1
+ import { Control } from "../control/Control";
2
+ import { EventsHandler } from "../Events";
3
+ import { EmptyTerrain } from "../terrain/EmptyTerrain";
4
+ import { Extent } from "../Extent";
5
+ import { Entity } from "../entity/Entity";
6
+ import { Ellipsoid } from "../ellipsoid/Ellipsoid";
7
+ import { EntityCollection } from "../entity/EntityCollection";
8
+ import { GeoImageCreator } from "../utils/GeoImageCreator";
9
+ import { IBaseInputState } from "../renderer/RendererEvents";
10
+ import { Key, Lock } from "../Lock";
11
+ import { Layer } from "../layer/Layer";
12
+ import { Loader } from "../utils/Loader";
13
+ import { LonLat } from "../LonLat";
14
+ import { Node } from "../quadTree/Node";
15
+ import { NormalMapCreator } from "../utils/NormalMapCreator";
16
+ import { PlainSegmentWorker } from "../utils/PlainSegmentWorker";
17
+ import { PlanetCamera } from "../camera/PlanetCamera";
18
+ import { Quat } from "../math/Quat";
19
+ import { QuadTreeStrategy } from "../quadTree/QuadTreeStrategy";
20
+ import { Ray } from "../math/Ray";
21
+ import { RenderNode } from "./RenderNode";
22
+ import { TerrainWorker } from "../utils/TerrainWorker";
23
+ import { Vec2, Vec3, NumberArray2, NumberArray3, NumberArray4 } from "../math/index";
24
+ import { VectorTileCreator } from "../utils/VectorTileCreator";
25
+ import { WebGLBufferExt, WebGLTextureExt, IDefaultTextureParams } from "../webgl/Handler";
26
+ import { Program } from "../webgl/Program";
27
+ import { Segment } from "../segment/Segment";
28
+ export interface IPlanetParams {
29
+ name?: string;
30
+ ellipsoid?: Ellipsoid;
31
+ minAltitude?: number;
32
+ maxAltitude?: number;
33
+ frustums?: NumberArray2[];
34
+ maxEqualZoomAltitude?: number;
35
+ minEqualZoomAltitude?: number;
36
+ minEqualZoomCameraSlope?: number;
37
+ quadTreeStrategyPrototype?: typeof QuadTreeStrategy;
38
+ ambient?: string | NumberArray3 | Vec3;
39
+ diffuse?: string | NumberArray3 | Vec3;
40
+ specular?: string | NumberArray3 | Vec3;
41
+ shininess?: number;
42
+ nightTextureSrc?: string | null;
43
+ specularTextureSrc?: string | null;
44
+ maxGridSize?: number;
45
+ maxLoadingRequests?: number;
46
+ atmosphereEnabled?: boolean;
47
+ transitionOpacityEnabled?: boolean;
48
+ }
49
+ export type PlanetEventsList = [
50
+ "draw",
51
+ "layeradd",
52
+ "baselayerchange",
53
+ "layerremove",
54
+ "layervisibilitychange",
55
+ "rendercompleted",
56
+ "terraincompleted",
57
+ "layerloadend"
58
+ ];
59
+ type IndexBufferCacheData = {
60
+ buffer: WebGLBufferExt | null;
61
+ };
62
+ /**
63
+ * Main class for rendering planet
64
+ * @class
65
+ * @extends {RenderNode}
66
+ * @param {string} [options.name="Earth"] - Planet name(Earth by default)
67
+ * @param {Ellipsoid} [options.ellipsoid] - Planet ellipsoid(WGS84 by default)
68
+ * @param {Number} [options.maxGridSize=128] - Segment maximal grid size
69
+ * @param {Number} [options.maxEqualZoomAltitude=15000000.0] - Maximal altitude since segments on the screen become the same zoom level
70
+ * @param {Number} [options.minEqualZoomAltitude=10000.0] - Minimal altitude since segments on the screen become the same zoom level
71
+ * @param {Number} [options.minEqualZoomCameraSlope=0.8] - Minimal camera slope above te globe where segments on the screen become the same zoom level
72
+ *
73
+ * @fires EventsHandler<PlanetEventList>#draw
74
+ * @fires EventsHandler<PlanetEventList>#layeradd
75
+ * @fires EventsHandler<PlanetEventList>#baselayerchange
76
+ * @fires EventsHandler<PlanetEventList>#layerremove
77
+ * @fires EventsHandler<PlanetEventList>#layervisibilitychange
78
+ * @fires EventsHandler<PlanetEventList>#geoimageadd
79
+ */
80
+ export declare class Planet extends RenderNode {
81
+ events: EventsHandler<PlanetEventsList>;
82
+ /**
83
+ * @public
84
+ * @type {Ellipsoid}
85
+ */
86
+ ellipsoid: Ellipsoid;
87
+ /**
88
+ * @public
89
+ * @override
90
+ * @type {Boolean}
91
+ */
92
+ lightEnabled: boolean;
93
+ /**
94
+ * Squared ellipsoid radius.
95
+ * @public
96
+ * @type {number}
97
+ */
98
+ _planetRadius2: number;
99
+ /**
100
+ * Layers array.
101
+ * @public
102
+ * @type {Array.<Layer>}
103
+ */
104
+ _layers: Layer[];
105
+ /**
106
+ * Flag to trigger layer update in a next frame
107
+ * @type {boolean}
108
+ * @protected
109
+ */
110
+ protected _updateLayer: boolean;
111
+ /**
112
+ * Current visible imagery tile layers array.
113
+ * @public
114
+ * @type {Array.<Layer>}
115
+ */
116
+ visibleTileLayers: Layer[];
117
+ /**
118
+ * Current visible vector layers array.
119
+ * @protected
120
+ * @type {Array.<Layer>}
121
+ */
122
+ protected visibleVectorLayers: Layer[];
123
+ protected _visibleTileLayerSlices: Layer[][];
124
+ /**
125
+ * Vector layers visible nodes with collections.
126
+ * @protected
127
+ * @type {Array.<EntityCollection>}
128
+ */
129
+ protected _frustumEntityCollections: EntityCollection[];
130
+ /**
131
+ * There is only one base layer on the globe when layer.isBaseLayer is true.
132
+ * @public
133
+ * @type {Layer}
134
+ */
135
+ baseLayer: Layer | null;
136
+ /**
137
+ * Terrain provider.
138
+ * @public
139
+ * @type {EmptyTerrain}
140
+ */
141
+ terrain: EmptyTerrain | null;
142
+ /**
143
+ * Camera is this.renderer.activeCamera pointer.
144
+ * @public
145
+ * @type {PlanetCamera}
146
+ */
147
+ camera: PlanetCamera;
148
+ maxEqualZoomAltitude: number;
149
+ minEqualZoomAltitude: number;
150
+ minEqualZoomCameraSlope: number;
151
+ /**
152
+ * Screen mouse pointer projected to planet cartesian position.
153
+ * @public
154
+ * @type {Vec3}
155
+ */
156
+ mousePositionOnEarth: Vec3;
157
+ emptyTexture: WebGLTextureExt | null;
158
+ transparentTexture: WebGLTextureExt | null;
159
+ defaultTexture: WebGLTextureExt | null;
160
+ /**
161
+ * Current visible minimal zoom index planet segment.
162
+ * @public
163
+ * @type {number}
164
+ */
165
+ minCurrZoom: number;
166
+ /**
167
+ * Current visible maximal zoom index planet segment.
168
+ * @public
169
+ * @type {number}
170
+ */
171
+ maxCurrZoom: number;
172
+ _viewExtent: Extent;
173
+ protected _initialViewExtent: Extent | null;
174
+ _createdNodesCount: number;
175
+ /**
176
+ * Planet's segments collected for rendering frame.
177
+ * @public
178
+ * @type {Node}
179
+ */
180
+ _renderedNodes: Node[];
181
+ _renderedNodesInFrustum: Node[][];
182
+ _fadingNodes: Map<number, Node>;
183
+ _fadingNodesInFrustum: Node[][];
184
+ /**
185
+ * Current visible mercator segments tree nodes array.
186
+ * @public
187
+ * @type {Node}
188
+ *
189
+ * @todo
190
+ * _visibleNodes, _visibleNodesNorth and _visibleNodesSouth should
191
+ * be replaced to strategy and Vector layer reworked in collecting methods.
192
+ * _visibleNodes, and _visibleNodesNorth and South are used in Vector
193
+ * layer only, for entity terrain collision
194
+ *
195
+ */
196
+ _visibleNodes: Record<number, Node>;
197
+ /**
198
+ * Current visible north pole nodes tree nodes array.
199
+ * @public
200
+ * @type {Node}
201
+ * @todo
202
+ */
203
+ _visibleNodesNorth: Record<number, Node>;
204
+ /**
205
+ * Current visible south pole nodes tree nodes array.
206
+ * @public
207
+ * @type {Node}
208
+ * @todo
209
+ */
210
+ _visibleNodesSouth: Record<number, Node>;
211
+ /**
212
+ * Layers activity lock.
213
+ * @public
214
+ * @type {Lock}
215
+ */
216
+ layerLock: Lock;
217
+ /**
218
+ * Terrain providers activity lock.
219
+ * @public
220
+ * @type {Lock}
221
+ */
222
+ terrainLock: Lock;
223
+ /**
224
+ * Height scale factor. 1 - is normal elevation scale.
225
+ * @public
226
+ * @type {number}
227
+ */
228
+ _heightFactor: number;
229
+ /**
230
+ * Precomputed indexes array for different grid size segments.
231
+ * @protected
232
+ * @type {Array.<Array.<number>>}
233
+ */
234
+ _indexesCache: IndexBufferCacheData[][][][][];
235
+ protected _indexesCacheToRemove: IndexBufferCacheData[];
236
+ _indexesCacheToRemoveCounter: number;
237
+ /**
238
+ * Precomputed texture coordinates buffers for different grid size segments.
239
+ * @public
240
+ * @type {Array.<Array.<number>>}
241
+ */
242
+ _textureCoordsBufferCache: WebGLBufferExt[];
243
+ quadTreeStrategy: QuadTreeStrategy;
244
+ /**
245
+ * Night glowing gl texture.
246
+ * @protected
247
+ */
248
+ protected _nightTexture: WebGLTextureExt | null;
249
+ /**
250
+ * Specular mask gl texture.
251
+ * @protected
252
+ */
253
+ protected _specularTexture: WebGLTextureExt | null;
254
+ _ambient: Float32Array;
255
+ _diffuse: Float32Array;
256
+ _specular: Float32Array;
257
+ protected _maxGridSize: number;
258
+ /**
259
+ * Segment multiple textures size.(4 - convenient value for the most devices)
260
+ * @const
261
+ * @public
262
+ */
263
+ SLICE_SIZE: number;
264
+ SLICE_SIZE_4: number;
265
+ SLICE_SIZE_3: number;
266
+ /**
267
+ * Level of details of visible segments.
268
+ * @protected
269
+ * @type {number}
270
+ */
271
+ protected _lodSize: number;
272
+ protected _curLodSize: number;
273
+ protected _minLodSize: number;
274
+ _maxLodSize: number;
275
+ _pickingColorArr: Float32Array;
276
+ _samplerArr: Int32Array;
277
+ _pickingMaskArr: Int32Array;
278
+ /**
279
+ * GeoImage creator.
280
+ * @public
281
+ * @type{GeoImageCreator}
282
+ */
283
+ _geoImageCreator: GeoImageCreator;
284
+ /**
285
+ * VectorTileCreator creator.
286
+ * @public
287
+ * @type{VectorTileCreator}
288
+ */
289
+ _vectorTileCreator: VectorTileCreator;
290
+ /**
291
+ * NormalMapCreator creator.
292
+ * @public
293
+ * @type{NormalMapCreator}
294
+ */
295
+ _normalMapCreator: NormalMapCreator;
296
+ _terrainWorker: TerrainWorker;
297
+ _plainSegmentWorker: PlainSegmentWorker;
298
+ _tileLoader: Loader<Layer>;
299
+ protected _memKey: Key;
300
+ _distBeforeMemClear: number;
301
+ protected _prevCamEye: Vec3;
302
+ protected _initialized: boolean;
303
+ protected always: any[];
304
+ _renderCompleted: boolean;
305
+ _renderCompletedActivated: boolean;
306
+ _terrainCompleted: boolean;
307
+ _terrainCompletedActivated: boolean;
308
+ protected _collectRenderNodesIsActive: boolean;
309
+ /**
310
+ * Night texture brightness coefficient
311
+ * @type {number}
312
+ */
313
+ nightTextureCoefficient: number;
314
+ protected _renderScreenNodesPASS: () => void;
315
+ protected _renderScreenNodesWithHeightPASS: () => void;
316
+ protected _atmosphereEnabled: boolean;
317
+ protected _atmosphereMaxMinOpacity: Float32Array;
318
+ solidTextureOne: WebGLTextureExt | null;
319
+ solidTextureTwo: WebGLTextureExt | null;
320
+ protected _skipPreRender: boolean;
321
+ protected _nightTextureSrc: string | null;
322
+ protected _specularTextureSrc: string | null;
323
+ transitionTime: number;
324
+ _prevNodes: Map<number, Node>;
325
+ _currNodes: Map<number, Node>;
326
+ protected _transitionOpacityEnabled: boolean;
327
+ constructor(options?: IPlanetParams);
328
+ /**
329
+ * Returns true if current terrain data set is loaded
330
+ */
331
+ get terrainReady(): boolean;
332
+ get maxGridSize(): number;
333
+ getNorthFrameRotation(cartesian: Vec3): Quat;
334
+ set atmosphereMaxOpacity(opacity: number);
335
+ get atmosphereMaxOpacity(): number;
336
+ set atmosphereMinOpacity(opacity: number);
337
+ get atmosphereMinOpacity(): number;
338
+ set atmosphereEnabled(enabled: boolean);
339
+ get atmosphereEnabled(): boolean;
340
+ set diffuse(rgb: string | NumberArray3 | Vec3);
341
+ set ambient(rgb: string | NumberArray3 | Vec3);
342
+ set specular(rgb: string | NumberArray3 | Vec3);
343
+ set shininess(v: number);
344
+ get normalMapCreator(): NormalMapCreator;
345
+ get layers(): Layer[];
346
+ /**
347
+ * @todo: remove after tests
348
+ * Get the collection of layers associated with this planet.
349
+ * @return {Array.<Layer>} Layers array.
350
+ * @public
351
+ */
352
+ getLayers(): Layer[];
353
+ get sunPos(): Vec3;
354
+ /**
355
+ * Add the given control to the renderer of the planet scene.
356
+ * @param {Control} control - Control.
357
+ */
358
+ addControl(control: Control): void;
359
+ get lodSize(): number;
360
+ setLodSize(currentLodSize: number, minLodSize?: number, maxLodSize?: number): void;
361
+ /**
362
+ * Add the given controls array to the renderer of the planet.
363
+ * @param {Array.<Control>} cArr - Control array.
364
+ */
365
+ addControls(cArr: Control[]): void;
366
+ /**
367
+ * Return layer by it name
368
+ * @param {string} name - Name of the layer. og.Layer.prototype.name
369
+ * @public
370
+ * @returns {Layer} -
371
+ */
372
+ getLayerByName(name: string): Layer | undefined;
373
+ /**
374
+ * Adds layer to the planet.
375
+ * @param {Layer} layer - Layer object.
376
+ * @public
377
+ */
378
+ addLayer(layer: Layer): void;
379
+ /**
380
+ * Dispatch layer visibility changing event.
381
+ * @param {Layer} layer - Changed layer.
382
+ * @public
383
+ */
384
+ _onLayerVisibilityChanged(layer: Layer): void;
385
+ /**
386
+ * Adds the given layers array to the planet.
387
+ * @param {Array.<Layer>} layers - Layers array.
388
+ * @public
389
+ */
390
+ addLayers(layers: Layer[]): void;
391
+ /**
392
+ * Removes the given layer from the planet.
393
+ * @param {Layer} layer - Layer to remove.
394
+ * @public
395
+ */
396
+ removeLayer(layer: Layer): void;
397
+ /**
398
+ *
399
+ * @public
400
+ * @param {Layer} layer - Material layer.
401
+ */
402
+ _clearLayerMaterial(layer: Layer): void;
403
+ /**
404
+ * Sets base layer coverage to the planet.
405
+ * @param {Layer} layer - Layer object.
406
+ * @public
407
+ */
408
+ setBaseLayer(layer: Layer): void;
409
+ /**
410
+ * Sets elevation scale. 1.0 is default.
411
+ * @param {number} factor - Elevation scale.
412
+ */
413
+ setHeightFactor(factor: number): void;
414
+ /**
415
+ * Gets elevation scale.
416
+ * @returns {number} Terrain elevation scale
417
+ */
418
+ getHeightFactor(): number;
419
+ /**
420
+ * Sets terrain provider
421
+ * @public
422
+ * @param {EmptyTerrain} terrain - Terrain provider.
423
+ */
424
+ setTerrain(terrain: EmptyTerrain): void;
425
+ protected _initializeAtmosphere(): void;
426
+ protected _initializeShaders(): void;
427
+ protected _onLayerLoadend(layer: Layer): void;
428
+ init(): void;
429
+ initLayers(): void;
430
+ protected _clearIndexesCache(): void;
431
+ protected _preRender(): void;
432
+ protected _preLoad(): void;
433
+ /**
434
+ * Creates default textures first for the North Pole and whole globe and second for the South Pole.
435
+ * @public
436
+ * @param{IDefaultTextureParams} param0 -
437
+ * @param{IDefaultTextureParams} param1 -
438
+ */
439
+ createDefaultTextures(param0: IDefaultTextureParams, param1: IDefaultTextureParams): void;
440
+ protected _getLayerAttributionHTML(layer: Layer): string;
441
+ /**
442
+ * Updates attribution lists
443
+ * @public
444
+ */
445
+ updateAttributionsList(): void;
446
+ updateVisibleLayers(): void;
447
+ protected _updateVisibleLayers(): void;
448
+ /**
449
+ * Apply to render list of layer attributions
450
+ * @protected
451
+ */
452
+ protected _applyAttribution(html: string): void;
453
+ /**
454
+ * Sort visible layer - preparing for rendering.
455
+ * @protected
456
+ */
457
+ protected _sortLayers(): void;
458
+ protected _clearRenderedNodeList(): void;
459
+ protected _clearRenderNodesInFrustum(): void;
460
+ protected _collectRenderedNodesMaxZoom(cam: PlanetCamera): void;
461
+ set transitionOpacityEnabled(isEnabled: boolean);
462
+ get transitionOpacityEnabled(): boolean;
463
+ /**
464
+ * Collects visible quad nodes.
465
+ * @protected
466
+ */
467
+ protected _collectRenderNodes(cam: PlanetCamera): void;
468
+ protected _renderScreenNodesPASSNoAtmos(): void;
469
+ protected _renderScreenNodesPASSAtmos(): void;
470
+ protected _renderScreenNodesWithHeightPASSNoAtmos(): void;
471
+ protected _renderScreenNodesWithHeightPASSAtmos(): void;
472
+ protected _globalPreDraw(): void;
473
+ /**
474
+ * Render node callback.
475
+ * @public
476
+ */
477
+ preFrame(): void;
478
+ /**
479
+ * Render node callback.
480
+ * Frame function is called for each renderer activrCamera frustum.
481
+ * @public
482
+ * @override
483
+ */
484
+ frame(): void;
485
+ protected _checkRendercompleted(): void;
486
+ lockQuadTree(): void;
487
+ unlockQuadTree(): void;
488
+ protected _setUniformsNoAtmos(cam: PlanetCamera): Program;
489
+ protected _setUniformsAtmos(cam: PlanetCamera): Program;
490
+ protected _renderingFadingNodes: (nodes: Map<number, boolean>, sh: Program, currentNode: Node, sl: Layer[], sliceIndex: number, outTransparentSegments?: Segment[]) => void;
491
+ protected _renderingFadingNodesNoDepth: (nodes: Map<number, boolean>, sh: Program, currentNode: Node, sl: Layer[], sliceIndex: number) => void;
492
+ /**
493
+ * Drawing nodes
494
+ */
495
+ protected _renderingScreenNodes(sh: Program, cam: PlanetCamera, renderedNodes: Node[]): void;
496
+ protected _renderingScreenNodesWithHeight(sh: Program, cam: PlanetCamera, renderedNodes: Node[]): void;
497
+ protected _renderDistanceFramebufferPASS(): void;
498
+ protected _renderColorPickingFramebufferPASS(): void;
499
+ protected _renderDepthFramebufferPASS(): void;
500
+ protected _collectVectorLayerCollections(): void;
501
+ protected _frustumEntityCollectionPickingCallback(): void;
502
+ /**
503
+ * Starts clear memory thread.
504
+ * @public
505
+ */
506
+ memClear(): void;
507
+ /**
508
+ * Returns ray vector hit ellipsoid coordinates.
509
+ * If the ray doesn't hit ellipsoid it returns 'undefined'.
510
+ * @public
511
+ * @param {Ray} ray - Ray.
512
+ * @returns {Vec3 | undefined} -
513
+ */
514
+ getRayIntersectionEllipsoid(ray: Ray): Vec3 | undefined;
515
+ /**
516
+ * Project screen coordinates to the planet ellipsoid.
517
+ * @public
518
+ * @param {Vec2 | IBaseInputState } px - Screen coordinates.
519
+ * @returns {Vec3 | undefined} - Cartesian coordinates.
520
+ */
521
+ getCartesianFromPixelEllipsoid(px: Vec2 | IBaseInputState): Vec3 | undefined;
522
+ /**
523
+ * Project screen coordinates to the planet ellipsoid.
524
+ * @public
525
+ * @param {Vec2 | IBaseInputState} px - Screen coordinates.
526
+ * @returns {LonLat | undefined} - Geodetic coordinates.
527
+ */
528
+ getLonLatFromPixelEllipsoid(px: Vec2): LonLat | undefined;
529
+ /**
530
+ * Returns mouse position cartesian coordinates on the current terrain.
531
+ * @public
532
+ * @returns {Vec3 | undefined} -
533
+ */
534
+ getCartesianFromMouseTerrain(): Vec3 | undefined;
535
+ /**
536
+ * Returns screen coordinates cartesian coordinates on the current terrain.
537
+ * position or null if input coordinates is outside the planet.
538
+ * @public
539
+ * @param {Vec2} px - Pixel screen 2d coordinates.
540
+ * @returns {Vec3 | undefined} -
541
+ */
542
+ getCartesianFromPixelTerrain(px: Vec2 | IBaseInputState): Vec3 | undefined;
543
+ /**
544
+ * Returns geodetic coordinates on the current terrain planet by its screen coordinates.
545
+ * position or null if input coordinates is outside the planet.
546
+ * @public
547
+ * @param {Vec2 | IBaseInputState} px - Pixel screen 2d coordinates.
548
+ * @returns {LonLat | undefined} -
549
+ */
550
+ getLonLatFromPixelTerrain(px: Vec2 | IBaseInputState): LonLat | undefined;
551
+ /**
552
+ * Project cartesian coordinates to screen space.
553
+ * @public
554
+ * @param {Vec3} coords - Cartesian coordinates.
555
+ * @returns {Vec2} - Screen coordinates.
556
+ */
557
+ getPixelFromCartesian(coords: Vec3): Vec2;
558
+ /**
559
+ * Project geodetic coordinates to screen space.
560
+ * @public
561
+ * @param {LonLat} lonlat - Geodetic coordinates.
562
+ * @returns {Vec2 | undefined} - Screen coordinates.
563
+ */
564
+ getPixelFromLonLat(lonlat: LonLat): Vec2 | undefined;
565
+ /**
566
+ * Returns distance from an active (screen) camera to the planet ellipsoid.
567
+ * @public
568
+ * @param {Vec2} px - Screen coordinates.
569
+ * @returns {number} -
570
+ */
571
+ getDistanceFromPixelEllipsoid(px: Vec2 | IBaseInputState): number | undefined;
572
+ /**
573
+ * Returns distance from active (screen) camera to the planet terrain by screen coordinates.
574
+ * @public
575
+ * @param {Vec2 | IBaseInputState} px - Screen coordinates.
576
+ * @returns {number | undefined} -
577
+ */
578
+ getDistanceFromPixel(px: Vec2 | IBaseInputState): number;
579
+ /**
580
+ * Sets camera to the planet geographical extent.
581
+ * @public
582
+ * @param {Extent} extent - Geographical extent.
583
+ */
584
+ viewExtent(extent: Extent): void;
585
+ /**
586
+ * Fits camera position for the view extent.
587
+ * @public
588
+ * @param {Array.<number>} extentArr - Geographical extent array, (exactly 4 entries)
589
+ * where index 0 - southwest longitude, 1 - latitude southwest, 2 - longitude northeast, 3 - latitude northeast.
590
+ */
591
+ viewExtentArr(extentArr: NumberArray4): void;
592
+ /**
593
+ * Gets current camera view extent.
594
+ * @public
595
+ * @returns {Extent} -
596
+ */
597
+ getViewExtent(): Extent;
598
+ /**
599
+ * Sets camera to the planet geographical position.
600
+ * @public
601
+ * @param {LonLat} lonlat - Camera position.
602
+ * @param {LonLat} [lookLonLat] - Viewpoint.
603
+ * @param {Vec3} [up] - Camera up vector.
604
+ */
605
+ viewLonLat(lonlat: LonLat, lookLonLat?: LonLat, up?: Vec3): void;
606
+ /**
607
+ * Fly active camera to the view extent.
608
+ * @public
609
+ * @param {Extent} extent - Geographical extent.
610
+ * @param {Number} [height] - Height on the end of the flight route.
611
+ * @param {Vec3} [up] - Camera UP vector on the end of a flying.
612
+ * @param {Number} [ampl] - Altitude amplitude factor.
613
+ * @param {Function} [startCallback] - Callback that calls before the flying begins.
614
+ * @param {Function} [completeCallback] - Callback that calls after flying when flying is finished.
615
+ */
616
+ flyExtent(extent: Extent, height?: number, up?: Vec3, ampl?: number, completeCallback?: Function, startCallback?: Function): void;
617
+ /**
618
+ * Fly camera to the point.
619
+ * @public
620
+ * @param {Vec3} cartesian - Point coordinates.
621
+ * @param {Vec3} [look] - Camera "look at" point.
622
+ * @param {Vec3} [up] - Camera UP vector on the end of a flying.
623
+ * @param {Number} [ampl] - Altitude amplitude factor.
624
+ * @param {Function} [completeCallback] - Call the function in the end of flight
625
+ * @param {Function} [startCallback] - Call the function in the beginning
626
+ * @param {Function} [frameCallback] - Each frame callback
627
+ */
628
+ flyCartesian(cartesian: Vec3, look?: Vec3 | null, up?: Vec3 | null, ampl?: number, completeCallback?: Function | null, startCallback?: Function | null, frameCallback?: Function | null): void;
629
+ /**
630
+ * Fly camera to the geodetic position.
631
+ * @public
632
+ * @param {LonLat} lonlat - Fly geographical coordinates.
633
+ * @param {Vec3 | LonLat} [look] - Camera viewpoint in the end of the flight.
634
+ * @param {Vec3} [up] - Camera UP vector on the end of a flying.
635
+ * @param {Number} [ampl] - Altitude amplitude factor.
636
+ * @param [completeCallback]
637
+ * @param [startCallback]
638
+ * @param [frameCallback]
639
+ */
640
+ flyLonLat(lonlat: LonLat, look?: Vec3 | LonLat, up?: Vec3, ampl?: number, completeCallback?: Function, startCallback?: Function, frameCallback?: Function): void;
641
+ /**
642
+ * Stop current flight.
643
+ * @public
644
+ */
645
+ stopFlying(): void;
646
+ updateBillboardsTexCoords(): void;
647
+ getEntityTerrainPoint(entity: Entity, res: Vec3): number | undefined;
648
+ getHeightDefault(lonLat: LonLat): Promise<number>;
649
+ getHeightAboveELL(lonLat: LonLat): Promise<number>;
650
+ onremove(): void;
651
+ }
652
+ export {};