@openglobus/og 0.17.2 → 0.18.0

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 (490) hide show
  1. package/README.md +75 -46
  2. package/dist/@openglobus/og.esm.js +1 -20
  3. package/dist/@openglobus/og.esm.js.map +1 -1
  4. package/dist/@openglobus/og.umd.js +1 -20
  5. package/dist/@openglobus/og.umd.js.map +1 -1
  6. package/dist/@openglobus/res/fonts/Karla-Bold.json +5252 -0
  7. package/dist/@openglobus/res/fonts/Karla-Bold.ttf.cfg +920 -0
  8. package/dist/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
  9. package/dist/@openglobus/res/fonts/Karla-Light.json +5252 -0
  10. package/dist/@openglobus/res/fonts/Karla-Light.ttf.cfg +830 -0
  11. package/dist/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
  12. package/dist/@openglobus/res/fonts/Karla-Medium.json +5252 -0
  13. package/dist/@openglobus/res/fonts/Karla-Medium.ttf.cfg +1196 -0
  14. package/dist/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
  15. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.json +3332 -0
  16. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +1370 -0
  17. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
  18. package/dist/@openglobus/res/fonts/Roboto-Regular.json +37147 -0
  19. package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +1340 -0
  20. package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
  21. package/dist/@openglobus/res/fonts/arial.json +4321 -0
  22. package/dist/@openglobus/res/fonts/arial.ttf.cfg +1570 -0
  23. package/dist/@openglobus/res/fonts/arial.ttf.png +0 -0
  24. package/dist/@openglobus/res/night-4326.png +0 -0
  25. package/dist/@openglobus/res/night.png +0 -0
  26. package/dist/@openglobus/res/spec.png +0 -0
  27. package/package.json +25 -23
  28. package/src/{og/Clock.js → Clock.ts} +100 -78
  29. package/src/Deferred.ts +17 -0
  30. package/src/Events.ts +200 -0
  31. package/src/{og/Extent.js → Extent.ts} +324 -352
  32. package/src/Globe.ts +363 -0
  33. package/src/{og/ImageCanvas.js → ImageCanvas.ts} +244 -236
  34. package/src/Lock.ts +41 -0
  35. package/src/{og/LonLat.js → LonLat.ts} +50 -47
  36. package/src/{og/Object3d.js → Object3d.ts} +89 -55
  37. package/src/Popup.ts +228 -0
  38. package/src/{og/QueueArray.js → QueueArray.ts} +76 -75
  39. package/src/{og/Rectangle.js → Rectangle.ts} +115 -111
  40. package/src/Stack.ts +58 -0
  41. package/src/{og/astro/astro.js → astro/astro.ts} +49 -51
  42. package/src/{og/astro/earth.js → astro/earth.ts} +8 -9
  43. package/src/{og/astro/jd.js → astro/jd.ts} +92 -111
  44. package/src/{og/astro/orbit.js → astro/orbit.ts} +35 -37
  45. package/src/{og/astro/rotation.js → astro/rotation.ts} +4 -6
  46. package/src/{og/bv/Box.js → bv/Box.ts} +21 -17
  47. package/src/{og/bv/Sphere.js → bv/Sphere.ts} +21 -19
  48. package/src/bv/index.ts +4 -0
  49. package/src/{og/camera/Camera.js → camera/Camera.ts} +254 -197
  50. package/src/{og/camera/Frustum.js → camera/Frustum.ts} +137 -111
  51. package/src/{og/camera/PlanetCamera.js → camera/PlanetCamera.ts} +246 -182
  52. package/src/camera/index.ts +4 -0
  53. package/src/{og/cons.js → cons.ts} +14 -18
  54. package/src/{og/control/Atmosphere.js → control/Atmosphere.ts} +50 -50
  55. package/src/{og/control/CompassButton.js → control/CompassButton.ts} +27 -30
  56. package/src/{og/control/Control.js → control/Control.ts} +76 -70
  57. package/src/{og/control/DebugInfo.js → control/DebugInfo.ts} +130 -62
  58. package/src/{og/control/DrawingSwitcher.js → control/DrawingSwitcher.ts} +16 -22
  59. package/src/control/EarthCoordinates.ts +222 -0
  60. package/src/control/EarthNavigation.ts +293 -0
  61. package/src/{og/control/GeoImageDragControl.js → control/GeoImageDragControl.ts} +37 -29
  62. package/src/control/KeyboardNavigation.ts +168 -0
  63. package/src/{og/control/LayerAnimation.js → control/LayerAnimation.ts} +74 -90
  64. package/src/control/LayerSwitcher.ts +76 -0
  65. package/src/{og/control/Lighting.js → control/Lighting.ts} +158 -120
  66. package/src/control/MouseNavigation.ts +468 -0
  67. package/src/control/MouseWheelZoomControl.ts +269 -0
  68. package/src/{og/control/RulerSwitcher.js → control/RulerSwitcher.ts} +18 -20
  69. package/src/control/ScaleControl.ts +131 -0
  70. package/src/control/SegmentBoundVisualization.ts +50 -0
  71. package/src/control/ShowFps.ts +28 -0
  72. package/src/control/SimpleNavigation.ts +118 -0
  73. package/src/{og/control/SimpleSkyBackground.js → control/SimpleSkyBackground.ts} +36 -38
  74. package/src/{og/control/Sun.js → control/Sun.ts} +56 -64
  75. package/src/control/ToggleWireframe.ts +35 -0
  76. package/src/control/TouchNavigation.ts +368 -0
  77. package/src/control/ZoomControl.ts +111 -0
  78. package/src/control/drawing/DrawingControl.ts +45 -0
  79. package/src/{og/control/drawing/LineStringDrawingScene.js → control/drawing/LineStringDrawingScene.ts} +28 -35
  80. package/src/{og/control/drawing/PolygonDrawingScene.js → control/drawing/PolygonDrawingScene.ts} +148 -201
  81. package/src/{og/control/elevationProfile/ElevationProfile.js → control/elevationProfile/ElevationProfile.ts} +70 -36
  82. package/src/control/heightRuler/HeightRuler.ts +16 -0
  83. package/src/{og/control/heightRuler/HeightRulerScene.js → control/heightRuler/HeightRulerScene.ts} +92 -87
  84. package/src/{og/control/heightRuler/HeightRulerSwitcher.js → control/heightRuler/HeightRulerSwitcher.ts} +3 -3
  85. package/src/control/index.ts +45 -0
  86. package/src/control/ruler/Ruler.ts +35 -0
  87. package/src/{og/control/ruler/RulerScene.js → control/ruler/RulerScene.ts} +163 -121
  88. package/src/{og/control/selection/Selection.js → control/selection/Selection.ts} +23 -21
  89. package/src/{og/control/selection/SelectionScene.js → control/selection/SelectionScene.ts} +64 -50
  90. package/src/{og/control/timeline/TimelineControl.js → control/timeline/TimelineControl.ts} +37 -28
  91. package/src/{og/control/timeline/TimelineModel.js → control/timeline/TimelineModel.ts} +50 -35
  92. package/src/{og/control/timeline/TimelineView.js → control/timeline/TimelineView.ts} +162 -113
  93. package/src/{og/control/timeline/timelineUtils.js → control/timeline/timelineUtils.ts} +11 -10
  94. package/src/{og/control → control}/visibleExtent/Segment.js +5 -5
  95. package/src/{og/control → control}/visibleExtent/VisibleExtent.js +8 -15
  96. package/src/{og/control/visibleExtent/drawnode.js → control/visibleExtent/drawnode.ts} +1 -3
  97. package/src/{og/ellipsoid/Ellipsoid.js → ellipsoid/Ellipsoid.ts} +113 -59
  98. package/src/ellipsoid/index.ts +4 -0
  99. package/src/{og/ellipsoid/wgs84.js → ellipsoid/wgs84.ts} +1 -3
  100. package/src/{og/entity/BaseBillboard.js → entity/BaseBillboard.ts} +128 -102
  101. package/src/entity/BaseBillboardHandler.ts +772 -0
  102. package/src/{og/entity/Billboard.js → entity/Billboard.ts} +77 -47
  103. package/src/entity/BillboardHandler.ts +135 -0
  104. package/src/{og/entity/Entity.js → entity/Entity.ts} +285 -226
  105. package/src/{og/entity/EntityCollection.js → entity/EntityCollection.ts} +340 -247
  106. package/src/{og/entity/GeoObject.js → entity/GeoObject.ts} +122 -67
  107. package/src/{og/entity/GeoObjectHandler.js → entity/GeoObjectHandler.ts} +273 -198
  108. package/src/entity/Geometry.ts +486 -0
  109. package/src/{og/entity/GeometryHandler.js → entity/GeometryHandler.ts} +383 -541
  110. package/src/{og/entity/Label.js → entity/Label.ts} +131 -83
  111. package/src/{og/entity/LabelHandler.js → entity/LabelHandler.ts} +289 -255
  112. package/src/{og/entity/LabelWorker.js → entity/LabelWorker.ts} +26 -36
  113. package/src/{og/entity/PointCloud.js → entity/PointCloud.ts} +200 -164
  114. package/src/entity/PointCloudHandler.ts +125 -0
  115. package/src/{og/entity/Polyline.js → entity/Polyline.ts} +517 -539
  116. package/src/{og/entity/PolylineHandler.js → entity/PolylineHandler.ts} +29 -31
  117. package/src/{og/entity/Ray.js → entity/Ray.ts} +89 -60
  118. package/src/{og/entity/RayHandler.js → entity/RayHandler.ts} +201 -306
  119. package/src/{og/entity/Strip.js → entity/Strip.ts} +143 -100
  120. package/src/{og/entity/StripHandler.js → entity/StripHandler.ts} +76 -72
  121. package/src/entity/index.ts +12 -0
  122. package/src/index.ts +173 -0
  123. package/src/input/KeyboardHandler.ts +196 -0
  124. package/src/{og/input/MouseHandler.js → input/MouseHandler.ts} +46 -35
  125. package/src/input/TouchHandler.ts +54 -0
  126. package/src/{og/input/input.js → input/input.ts} +1 -3
  127. package/src/{og/layer/BaseGeoImage.js → layer/BaseGeoImage.ts} +174 -107
  128. package/src/{og/layer/CanvasTiles.js → layer/CanvasTiles.ts} +139 -105
  129. package/src/{og/layer/GeoImage.js → layer/GeoImage.ts} +62 -52
  130. package/src/layer/GeoTexture2d.ts +56 -0
  131. package/src/{og/layer/GeoVideo.js → layer/GeoVideo.ts} +53 -53
  132. package/src/{og/layer/KML.js → layer/KML.ts} +63 -74
  133. package/src/{og/layer/Layer.js → layer/Layer.ts} +399 -223
  134. package/src/{og/layer/Material.js → layer/Material.ts} +40 -35
  135. package/src/{og/layer/Vector.js → layer/Vector.ts} +319 -267
  136. package/src/{og/layer/WMS.js → layer/WMS.ts} +76 -64
  137. package/src/{og/layer/XYZ.js → layer/XYZ.ts} +123 -98
  138. package/src/layer/index.ts +12 -0
  139. package/src/{og/light/LightSource.js → light/LightSource.ts} +132 -93
  140. package/src/{og/math/Line2.js → math/Line2.ts} +11 -8
  141. package/src/{og/math/Line3.js → math/Line3.ts} +49 -27
  142. package/src/{og/math/Mat3.js → math/Mat3.ts} +43 -27
  143. package/src/{og/math/Mat4.js → math/Mat4.ts} +110 -77
  144. package/src/{og/math/Plane.js → math/Plane.ts} +28 -23
  145. package/src/{og/math/Quat.js → math/Quat.ts} +238 -222
  146. package/src/{og/math/Ray.js → math/Ray.ts} +59 -63
  147. package/src/{og/math/Vec2.js → math/Vec2.ts} +85 -76
  148. package/src/{og/math/Vec3.js → math/Vec3.ts} +141 -140
  149. package/src/{og/math/Vec4.js → math/Vec4.ts} +64 -53
  150. package/src/{og/math/coder.js → math/coder.ts} +30 -27
  151. package/src/math/index.ts +26 -0
  152. package/src/{og/math.js → math.ts} +46 -49
  153. package/src/{og/mercator.js → mercator.ts} +143 -149
  154. package/src/{og/proj/EPSG3857.js → proj/EPSG3857.ts} +1 -3
  155. package/src/{og/proj/EPSG4326.js → proj/EPSG4326.ts} +11 -13
  156. package/src/{og/proj/Proj.js → proj/Proj.ts} +27 -23
  157. package/src/{og/quadTree/EPSG4326QuadTreeStrategy.js → quadTree/EPSG4326QuadTreeStrategy.ts} +10 -13
  158. package/src/{og/quadTree/EarthQuadTreeStrategy.js → quadTree/EarthQuadTreeStrategy.ts} +11 -13
  159. package/src/quadTree/EntityCollectionNode.ts +395 -0
  160. package/src/{og/quadTree/MarsQuadTreeStrategy.js → quadTree/MarsQuadTreeStrategy.ts} +10 -13
  161. package/src/{og/quadTree/Node.js → quadTree/Node.ts} +283 -191
  162. package/src/{og/quadTree/QuadTreeStrategy.js → quadTree/QuadTreeStrategy.ts} +35 -29
  163. package/src/quadTree/Wgs84QuadTreeStrategy.ts +22 -0
  164. package/src/quadTree/index.ts +14 -0
  165. package/src/{og/quadTree/quadTree.js → quadTree/quadTree.ts} +75 -77
  166. package/src/{og/renderer/Renderer.js → renderer/Renderer.ts} +454 -298
  167. package/src/{og/renderer/RendererEvents.js → renderer/RendererEvents.ts} +347 -256
  168. package/src/{og/scene/Axes.js → scene/Axes.ts} +26 -22
  169. package/src/{og/scene/BaseNode.js → scene/BaseNode.ts} +53 -47
  170. package/src/{og/scene/Planet.js → scene/Planet.ts} +776 -592
  171. package/src/{og/scene/RenderNode.js → scene/RenderNode.ts} +105 -91
  172. package/src/{og/scene/SkyBox.js → scene/SkyBox.ts} +29 -25
  173. package/src/scene/index.ts +6 -0
  174. package/src/{og/segment/Segment.js → segment/Segment.ts} +497 -371
  175. package/src/{og/segment/SegmentLonLat.js → segment/SegmentLonLat.ts} +81 -87
  176. package/src/{og/segment/SegmentLonLatWgs84.js → segment/SegmentLonLatWgs84.ts} +9 -16
  177. package/src/{og/segment/Slice.js → segment/Slice.ts} +15 -9
  178. package/src/{og/segment/segmentHelper.js → segment/segmentHelper.ts} +57 -49
  179. package/src/{og/shaders/atmos.js → shaders/atmos.ts} +4 -6
  180. package/src/{og/shaders/billboard.js → shaders/billboard.ts} +3 -5
  181. package/src/{og/shaders/bloom.js → shaders/bloom.ts} +2 -4
  182. package/src/{og/shaders/blur.js → shaders/blur.ts} +4 -7
  183. package/src/{og/shaders/depth.js → shaders/depth.ts} +1 -3
  184. package/src/{og/shaders/drawnode.js → shaders/drawnode.ts} +19 -21
  185. package/src/{og/shaders/geoObject.js → shaders/geoObject.ts} +17 -19
  186. package/src/{og/shaders/label.js → shaders/label.ts} +4 -6
  187. package/src/{og/shaders/lumFilter.js → shaders/lumFilter.ts} +2 -4
  188. package/src/{og/shaders/pickingMask.js → shaders/pickingMask.ts} +2 -4
  189. package/src/{og/shaders/pointCloud.js → shaders/pointCloud.ts} +7 -10
  190. package/src/{og/shaders/polyline.js → shaders/polyline.ts} +3 -200
  191. package/src/{og/shaders/ray.js → shaders/ray.ts} +2 -4
  192. package/src/{og/shaders/screenFrame.js → shaders/screenFrame.ts} +2 -4
  193. package/src/{og/shaders/skybox.js → shaders/skybox.ts} +7 -9
  194. package/src/{og/shaders/toneMapping.js → shaders/toneMapping.ts} +2 -4
  195. package/src/{og/shaders/utils.js → shaders/utils.ts} +0 -2
  196. package/src/{og/terrain/BilTerrain.js → terrain/BilTerrain.ts} +38 -32
  197. package/src/terrain/EmptyTerrain.ts +230 -0
  198. package/src/{og/terrain/Geoid.js → terrain/Geoid.ts} +67 -41
  199. package/src/{og/terrain/GlobusTerrain.js → terrain/GlobusTerrain.ts} +159 -153
  200. package/src/{og/terrain/MapboxTerrain.js → terrain/MapboxTerrain.ts} +58 -61
  201. package/src/terrain/index.ts +6 -0
  202. package/src/ui/Button.ts +121 -0
  203. package/src/ui/ButtonGroup.ts +63 -0
  204. package/src/ui/Dialog.ts +244 -0
  205. package/src/ui/Slider.ts +188 -0
  206. package/src/ui/ToggleButton.ts +68 -0
  207. package/src/{og/ui/View.js → ui/View.ts} +66 -59
  208. package/src/utils/BaseWorker.ts +60 -0
  209. package/src/utils/FontAtlas.ts +356 -0
  210. package/src/{og/utils/GeoImageCreator.js → utils/GeoImageCreator.ts} +45 -29
  211. package/src/{og/utils/ImagesCacheManager.js → utils/ImagesCacheManager.ts} +85 -70
  212. package/src/utils/Loader.ts +247 -0
  213. package/src/{og/utils/NormalMapCreator.js → utils/NormalMapCreator.ts} +114 -77
  214. package/src/{og/utils/PlainSegmentWorker.js → utils/PlainSegmentWorker.ts} +41 -24
  215. package/src/{og/utils/TerrainWorker.js → utils/TerrainWorker.ts} +51 -36
  216. package/src/utils/TextureAtlas.ts +322 -0
  217. package/src/{og/utils/VectorTileCreator.js → utils/VectorTileCreator.ts} +67 -52
  218. package/src/{og/utils/colorTable.js → utils/colorTable.ts} +142 -144
  219. package/src/{og/utils/earcut.js → utils/earcut.ts} +664 -661
  220. package/src/{og/utils/objParser.js → utils/objParser.ts} +66 -37
  221. package/src/{og/utils/shared.js → utils/shared.ts} +267 -206
  222. package/src/utils/units.ts +78 -0
  223. package/src/webgl/BaseFramebuffer.ts +125 -0
  224. package/src/webgl/Framebuffer.ts +206 -0
  225. package/src/webgl/Handler.ts +1414 -0
  226. package/src/webgl/Multisample.ts +153 -0
  227. package/src/webgl/Program.ts +451 -0
  228. package/src/{og/webgl/ProgramController.js → webgl/ProgramController.ts} +44 -43
  229. package/src/webgl/index.ts +13 -0
  230. package/src/{og/webgl/types.js → webgl/types.ts} +29 -31
  231. package/src/webgl/variableHandlers.ts +114 -0
  232. package/src/og/Deferred.js +0 -11
  233. package/src/og/Events.js +0 -185
  234. package/src/og/Globe.js +0 -342
  235. package/src/og/Lock.js +0 -44
  236. package/src/og/Popup.js +0 -187
  237. package/src/og/Stack.js +0 -49
  238. package/src/og/bv/index.js +0 -4
  239. package/src/og/camera/index.js +0 -4
  240. package/src/og/control/EarthCoordinates.js +0 -214
  241. package/src/og/control/EarthNavigation.js +0 -258
  242. package/src/og/control/KeyboardNavigation.js +0 -172
  243. package/src/og/control/LayerSwitcher.js +0 -424
  244. package/src/og/control/MouseNavigation.js +0 -436
  245. package/src/og/control/MouseWheelZoomControl.js +0 -253
  246. package/src/og/control/ScaleControl.js +0 -119
  247. package/src/og/control/SegmentBoundVisualization.js +0 -54
  248. package/src/og/control/ShowFps.js +0 -40
  249. package/src/og/control/SimpleNavigation.js +0 -123
  250. package/src/og/control/ToggleWireframe.js +0 -35
  251. package/src/og/control/TouchNavigation.js +0 -350
  252. package/src/og/control/ZoomControl.js +0 -115
  253. package/src/og/control/drawing/DrawingControl.js +0 -51
  254. package/src/og/control/heightRuler/HeightRuler.js +0 -12
  255. package/src/og/control/index.js +0 -56
  256. package/src/og/control/ruler/Ruler.js +0 -39
  257. package/src/og/ellipsoid/index.js +0 -4
  258. package/src/og/entity/BillboardHandler.js +0 -883
  259. package/src/og/entity/Geometry.js +0 -320
  260. package/src/og/entity/PointCloudHandler.js +0 -122
  261. package/src/og/entity/index.js +0 -9
  262. package/src/og/index.js +0 -112
  263. package/src/og/input/KeyboardHandler.js +0 -195
  264. package/src/og/input/TouchHandler.js +0 -59
  265. package/src/og/layer/GeoTexture2d.js +0 -50
  266. package/src/og/layer/index.js +0 -11
  267. package/src/og/math/index.js +0 -23
  268. package/src/og/quadTree/EntityCollectionNode.js +0 -391
  269. package/src/og/quadTree/Wgs84QuadTreeStrategy.js +0 -27
  270. package/src/og/quadTree/index.js +0 -14
  271. package/src/og/res/images.js +0 -8
  272. package/src/og/scene/index.js +0 -5
  273. package/src/og/terrain/EmptyTerrain.js +0 -174
  274. package/src/og/terrain/index.js +0 -6
  275. package/src/og/ui/Button.js +0 -107
  276. package/src/og/ui/ButtonGroup.js +0 -57
  277. package/src/og/ui/Dialog.js +0 -239
  278. package/src/og/ui/Slider.js +0 -170
  279. package/src/og/ui/ToggleButton.js +0 -51
  280. package/src/og/ui/UIhelpers.js +0 -155
  281. package/src/og/utils/BaseWorker.js +0 -46
  282. package/src/og/utils/FontAtlas.js +0 -218
  283. package/src/og/utils/Loader.js +0 -188
  284. package/src/og/utils/TextureAtlas.js +0 -291
  285. package/src/og/utils/functionComposition.js +0 -13
  286. package/src/og/utils/units.js +0 -78
  287. package/src/og/webgl/Framebuffer.js +0 -311
  288. package/src/og/webgl/Handler.js +0 -1170
  289. package/src/og/webgl/Multisample.js +0 -275
  290. package/src/og/webgl/Program.js +0 -407
  291. package/src/og/webgl/callbacks.js +0 -98
  292. package/src/og/webgl/index.js +0 -13
  293. package/src/og.jsdoc +0 -3
  294. package/types/Clock.d.ts +0 -99
  295. package/types/Deferred.d.ts +0 -6
  296. package/types/Events.d.ts +0 -78
  297. package/types/Extent.d.ts +0 -166
  298. package/types/Globe.d.ts +0 -108
  299. package/types/ImageCanvas.d.ts +0 -128
  300. package/types/Lock.d.ts +0 -12
  301. package/types/LonLat.d.ts +0 -127
  302. package/types/Object3d.d.ts +0 -35
  303. package/types/Popup.d.ts +0 -29
  304. package/types/QueueArray.d.ts +0 -19
  305. package/types/Rectangle.d.ts +0 -80
  306. package/types/Stack.d.ts +0 -19
  307. package/types/arial.d.ts +0 -49
  308. package/types/astro/astro.d.ts +0 -38
  309. package/types/astro/earth.d.ts +0 -7
  310. package/types/astro/jd.d.ts +0 -254
  311. package/types/bv/Box.d.ts +0 -30
  312. package/types/bv/Sphere.d.ts +0 -38
  313. package/types/bv/index.d.ts +0 -3
  314. package/types/camera/Camera.d.ts +0 -314
  315. package/types/camera/Frustum.d.ts +0 -133
  316. package/types/camera/PlanetCamera.d.ts +0 -219
  317. package/types/camera/index.d.ts +0 -3
  318. package/types/cons.d.ts +0 -40
  319. package/types/control/Atmosphere.d.ts +0 -15
  320. package/types/control/CompassButton.d.ts +0 -16
  321. package/types/control/Control.d.ts +0 -104
  322. package/types/control/DebugInfo.d.ts +0 -19
  323. package/types/control/DrawingSwitcher.d.ts +0 -13
  324. package/types/control/EarthCoordinates.d.ts +0 -44
  325. package/types/control/EarthNavigation.d.ts +0 -43
  326. package/types/control/GeoImageDragControl.d.ts +0 -14
  327. package/types/control/KeyboardNavigation.d.ts +0 -24
  328. package/types/control/LayerAnimation.d.ts +0 -73
  329. package/types/control/LayerSwitcher.d.ts +0 -64
  330. package/types/control/Lighting.d.ts +0 -41
  331. package/types/control/MouseNavigation.d.ts +0 -49
  332. package/types/control/MouseWheelZoomControl.d.ts +0 -46
  333. package/types/control/ScaleControl.d.ts +0 -23
  334. package/types/control/ShowFps.d.ts +0 -11
  335. package/types/control/SimpleNavigation.d.ts +0 -26
  336. package/types/control/SimpleSkyBackground.d.ts +0 -15
  337. package/types/control/Sun.d.ts +0 -53
  338. package/types/control/ToggleWireframe.d.ts +0 -12
  339. package/types/control/TouchNavigation.d.ts +0 -54
  340. package/types/control/ZoomControl.d.ts +0 -26
  341. package/types/control/drawing/DrawingControl.d.ts +0 -14
  342. package/types/control/drawing/LineStringDrawingScene.d.ts +0 -5
  343. package/types/control/drawing/PolygonDrawingScene.d.ts +0 -99
  344. package/types/control/heightRuler/HeightRuler.d.ts +0 -6
  345. package/types/control/heightRuler/HeightRulerScene.d.ts +0 -23
  346. package/types/control/index.d.ts +0 -27
  347. package/types/control/ruler/Ruler.d.ts +0 -13
  348. package/types/control/ruler/RulerScene.d.ts +0 -51
  349. package/types/control/selection/Selection.d.ts +0 -49
  350. package/types/control/selection/SelectionScene.d.ts +0 -32
  351. package/types/control/timeline/TimelineControl.d.ts +0 -10
  352. package/types/control/timeline/TimelineModel.d.ts +0 -33
  353. package/types/control/timeline/TimelineView.d.ts +0 -57
  354. package/types/control/timeline/timelineUtils.d.ts +0 -9
  355. package/types/ellipsoid/Ellipsoid.d.ts +0 -170
  356. package/types/ellipsoid/index.d.ts +0 -3
  357. package/types/ellipsoid/wgs84.d.ts +0 -6
  358. package/types/entity/BaseBillboard.d.ts +0 -215
  359. package/types/entity/Billboard.d.ts +0 -94
  360. package/types/entity/BillboardHandler.d.ts +0 -75
  361. package/types/entity/Entity.d.ts +0 -340
  362. package/types/entity/EntityCollection.d.ts +0 -303
  363. package/types/entity/GeoObject.d.ts +0 -117
  364. package/types/entity/GeoObjectHandler.d.ts +0 -41
  365. package/types/entity/Geometry.d.ts +0 -79
  366. package/types/entity/GeometryHandler.d.ts +0 -76
  367. package/types/entity/Label.d.ts +0 -190
  368. package/types/entity/LabelHandler.d.ts +0 -31
  369. package/types/entity/LabelWorker.d.ts +0 -9
  370. package/types/entity/PointCloud.d.ts +0 -174
  371. package/types/entity/PointCloudHandler.d.ts +0 -38
  372. package/types/entity/Polyline.d.ts +0 -307
  373. package/types/entity/PolylineHandler.d.ts +0 -18
  374. package/types/entity/Ray.d.ts +0 -122
  375. package/types/entity/RayHandler.d.ts +0 -63
  376. package/types/entity/Strip.d.ts +0 -119
  377. package/types/entity/StripHandler.d.ts +0 -38
  378. package/types/entity/index.d.ts +0 -8
  379. package/types/index.d.ts +0 -53
  380. package/types/input/KeyboardHandler.d.ts +0 -17
  381. package/types/input/MouseHandler.d.ts +0 -5
  382. package/types/input/TouchHandler.d.ts +0 -5
  383. package/types/input/input.d.ts +0 -42
  384. package/types/layer/BaseGeoImage.d.ts +0 -116
  385. package/types/layer/CanvasTiles.d.ts +0 -73
  386. package/types/layer/GeoImage.d.ts +0 -51
  387. package/types/layer/GeoTexture2d.d.ts +0 -7
  388. package/types/layer/GeoVideo.d.ts +0 -47
  389. package/types/layer/KML.d.ts +0 -93
  390. package/types/layer/Layer.d.ts +0 -320
  391. package/types/layer/Material.d.ts +0 -45
  392. package/types/layer/Vector.d.ts +0 -211
  393. package/types/layer/WMS.d.ts +0 -66
  394. package/types/layer/XYZ.d.ts +0 -122
  395. package/types/layer/index.d.ts +0 -10
  396. package/types/light/LightSource.d.ts +0 -178
  397. package/types/math/Line2.d.ts +0 -11
  398. package/types/math/Line3.d.ts +0 -10
  399. package/types/math/Mat3.d.ts +0 -65
  400. package/types/math/Mat4.d.ts +0 -176
  401. package/types/math/Plane.d.ts +0 -18
  402. package/types/math/Quat.d.ts +0 -379
  403. package/types/math/Ray.d.ts +0 -82
  404. package/types/math/Vec2.d.ts +0 -309
  405. package/types/math/Vec3.d.ts +0 -472
  406. package/types/math/Vec4.d.ts +0 -161
  407. package/types/math/coder.d.ts +0 -43
  408. package/types/math/index.d.ts +0 -11
  409. package/types/math.d.ts +0 -268
  410. package/types/mercator.d.ts +0 -92
  411. package/types/proj/EPSG3857.d.ts +0 -6
  412. package/types/proj/EPSG4326.d.ts +0 -6
  413. package/types/proj/Proj.d.ts +0 -42
  414. package/types/quadTree/EPSG4326QuadTreeStrategy.d.ts +0 -3
  415. package/types/quadTree/EarthQuadTreeStrategy.d.ts +0 -3
  416. package/types/quadTree/EntityCollectionNode.d.ts +0 -41
  417. package/types/quadTree/MarsQuadTreeStrategy.d.ts +0 -3
  418. package/types/quadTree/Node.d.ts +0 -58
  419. package/types/quadTree/QuadTreeStrategy.d.ts +0 -21
  420. package/types/quadTree/Wgs84QuadTreeStrategy.d.ts +0 -3
  421. package/types/quadTree/index.d.ts +0 -12
  422. package/types/quadTree/quadTree.d.ts +0 -40
  423. package/types/renderer/Renderer.d.ts +0 -291
  424. package/types/renderer/RendererEvents.d.ts +0 -241
  425. package/types/res/images.d.ts +0 -2
  426. package/types/scene/Axes.d.ts +0 -10
  427. package/types/scene/BaseNode.d.ts +0 -60
  428. package/types/scene/Planet.d.ts +0 -594
  429. package/types/scene/RenderNode.d.ts +0 -152
  430. package/types/scene/SkyBox.d.ts +0 -9
  431. package/types/scene/index.d.ts +0 -4
  432. package/types/segment/Segment.d.ts +0 -273
  433. package/types/segment/SegmentLonLat.d.ts +0 -22
  434. package/types/segment/SegmentLonLatWgs84.d.ts +0 -4
  435. package/types/segment/Slice.d.ts +0 -10
  436. package/types/segment/segmentHelper.d.ts +0 -13
  437. package/types/shaders/atmos.d.ts +0 -4
  438. package/types/shaders/billboard.d.ts +0 -3
  439. package/types/shaders/depth.d.ts +0 -2
  440. package/types/shaders/drawnode.d.ts +0 -8
  441. package/types/shaders/geoObject.d.ts +0 -3
  442. package/types/shaders/label.d.ts +0 -4
  443. package/types/shaders/pickingMask.d.ts +0 -2
  444. package/types/shaders/pointCloud.d.ts +0 -2
  445. package/types/shaders/polyline.d.ts +0 -3
  446. package/types/shaders/ray.d.ts +0 -2
  447. package/types/shaders/screenFrame.d.ts +0 -2
  448. package/types/shaders/skybox.d.ts +0 -2
  449. package/types/shaders/toneMapping.d.ts +0 -2
  450. package/types/shaders/utils.d.ts +0 -1
  451. package/types/terrain/BilTerrain.d.ts +0 -14
  452. package/types/terrain/EmptyTerrain.d.ts +0 -87
  453. package/types/terrain/Geoid.d.ts +0 -17
  454. package/types/terrain/GlobusTerrain.d.ts +0 -122
  455. package/types/terrain/MapboxTerrain.d.ts +0 -14
  456. package/types/terrain/index.d.ts +0 -5
  457. package/types/ui/Button.d.ts +0 -21
  458. package/types/ui/ButtonGroup.d.ts +0 -12
  459. package/types/ui/Dialog.d.ts +0 -41
  460. package/types/ui/Slider.d.ts +0 -33
  461. package/types/ui/ToggleButton.d.ts +0 -10
  462. package/types/ui/UIhelpers.d.ts +0 -13
  463. package/types/ui/View.d.ts +0 -33
  464. package/types/ui/icons.d.ts +0 -1
  465. package/types/utils/BaseWorker.d.ts +0 -14
  466. package/types/utils/FontAtlas.d.ts +0 -16
  467. package/types/utils/GeoImageCreator.d.ts +0 -30
  468. package/types/utils/ImagesCacheManager.d.ts +0 -10
  469. package/types/utils/Loader.d.ts +0 -31
  470. package/types/utils/NormalMapCreator.d.ts +0 -39
  471. package/types/utils/PlainSegmentWorker.d.ts +0 -8
  472. package/types/utils/TerrainWorker.d.ts +0 -7
  473. package/types/utils/TextureAtlas.d.ts +0 -113
  474. package/types/utils/VectorTileCreator.d.ts +0 -14
  475. package/types/utils/colorTable.d.ts +0 -143
  476. package/types/utils/earcut.d.ts +0 -6
  477. package/types/utils/functionComposition.d.ts +0 -5
  478. package/types/utils/objParser.d.ts +0 -8
  479. package/types/utils/shared.d.ts +0 -241
  480. package/types/utils/units.d.ts +0 -20
  481. package/types/webgl/Framebuffer.d.ts +0 -134
  482. package/types/webgl/Handler.d.ts +0 -403
  483. package/types/webgl/Multisample.d.ts +0 -91
  484. package/types/webgl/Program.d.ts +0 -163
  485. package/types/webgl/ProgramController.d.ts +0 -89
  486. package/types/webgl/callbacks.d.ts +0 -1
  487. package/types/webgl/index.d.ts +0 -6
  488. package/types/webgl/types.d.ts +0 -2
  489. /package/{src/og → dist/@openglobus/res/fonts}/arial.js +0 -0
  490. /package/src/{og/ui/icons.js → ui/icons.ts} +0 -0
@@ -1,10 +1,15 @@
1
- "use strict";
1
+ import {Control, IControlParams} from "./Control";
2
+ import {Dialog} from '../ui/Dialog';
3
+ import {Layer} from "../layer/Layer";
4
+ import {Slider} from "../ui/Slider";
5
+ import {Sun} from "./Sun";
6
+ import {ToggleButton} from "../ui/ToggleButton";
7
+ import {View} from '../ui/View';
8
+ import {Atmosphere} from "./Atmosphere";
2
9
 
3
- import { Dialog } from '../ui/Dialog.js';
4
- import { Slider } from "../ui/Slider.js";
5
- import { ToggleButton } from "../ui/ToggleButton.js";
6
- import { View } from '../ui/View.js';
7
- import { Control } from "./Control.js";
10
+ interface ILightingParams extends IControlParams {
11
+
12
+ }
8
13
 
9
14
  const SUN_STOP_SVG_ICON = `<?xml version="1.0" encoding="utf-8"?><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.88 70.41" style="enable-background:new 0 0 122.88 70.41" xml:space="preserve"><g><path d="M60.91,19.12c6.95,0,13.24,2.95,17.8,7.72c4.55,4.77,7.37,11.37,7.37,18.64c0,1.94-0.2,3.83-0.58,5.65h31.61 c2.1,0,2.62,1.16,2.62,2.59c0,1.43-0.52,2.59-2.62,2.59H7.09c-2.1,0-2.62-1.16-2.62-2.59c0-1.43,0.52-2.59,2.62-2.59h29.23 c-0.38-1.82-0.58-3.71-0.58-5.65c0-7.28,2.82-13.87,7.37-18.64C47.67,22.08,53.96,19.12,60.91,19.12L60.91,19.12L60.91,19.12z M63.4,70.41c-2.1,0-2.62-1.16-2.62-2.59s0.52-2.59,2.62-2.59h56.86c2.1,0,2.62,1.16,2.62,2.59s-0.52,2.59-2.62,2.59H63.4 L63.4,70.41z M2.62,70.41c-2.1,0-2.62-1.16-2.62-2.59s0.52-2.59,2.62-2.59h29.51c2.1,0,2.62,1.16,2.62,2.59s-0.52,2.59-2.62,2.59 H2.62L2.62,70.41z M38.39,9.46c-0.78-1.35-0.32-3.07,1.03-3.85c1.35-0.78,3.07-0.32,3.85,1.03l3.62,6.27 c0.78,1.35,0.32,3.07-1.03,3.85c-1.35,0.78-3.07,0.32-3.85-1.03L38.39,9.46L38.39,9.46L38.39,9.46z M58.67,2.83 c0-1.56,1.27-2.83,2.83-2.83c1.56,0,2.83,1.27,2.83,2.83v7.24c0,1.56-1.27,2.83-2.83,2.83c-1.56,0-2.83-1.26-2.83-2.83V2.83 L58.67,2.83L58.67,2.83z M79.56,7.23c0.77-1.35,2.49-1.81,3.84-1.04c1.35,0.77,1.81,2.49,1.04,3.84l-3.62,6.27 c-0.77,1.35-2.49,1.81-3.84,1.04c-1.35-0.77-1.81-2.49-1.04-3.84L79.56,7.23L79.56,7.23L79.56,7.23z M95.45,21.48 c1.35-0.78,3.07-0.32,3.85,1.03c0.78,1.35,0.32,3.07-1.03,3.85L92,29.98c-1.35,0.78-3.07,0.32-3.85-1.03 c-0.78-1.35-0.32-3.07,1.03-3.85L95.45,21.48L95.45,21.48L95.45,21.48z M102.08,41.76c1.56,0,2.83,1.27,2.83,2.83 c0,1.56-1.27,2.83-2.83,2.83h-7.24c-1.56,0-2.83-1.26-2.83-2.83s1.26-2.83,2.83-2.83H102.08L102.08,41.76L102.08,41.76z M19.74,46.25c-1.56,0-2.83-1.27-2.83-2.83c0-1.56,1.27-2.83,2.83-2.83h7.24c1.56,0,2.83,1.26,2.83,2.83s-1.27,2.83-2.83,2.83 H19.74L19.74,46.25L19.74,46.25z M24.14,25.35c-1.35-0.77-1.81-2.49-1.04-3.84c0.77-1.35,2.49-1.81,3.84-1.04l6.27,3.62 c1.35,0.77,1.81,2.49,1.04,3.84c-0.77,1.35-2.49,1.81-3.84,1.04L24.14,25.35L24.14,25.35L24.14,25.35z"/></g></svg>`;
10
15
  const SUN_ACTIVE_SVG_ICON = `<?xml version="1.0"?>
@@ -75,13 +80,6 @@ const TEMPLATE =
75
80
 
76
81
  </div>`;
77
82
 
78
- /**
79
- * Helps to setup lighting.
80
- * @class
81
- * @extends {Control}
82
- * @param {Object} [options] -
83
- */
84
-
85
83
  const ICON_BUTTON_SVG = `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="256" height="256" viewBox="0 0 256 256" xml:space="preserve">
86
84
 
87
85
  <defs>
@@ -101,8 +99,43 @@ const ICON_BUTTON_SVG = `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="ht
101
99
 
102
100
  const MAX_COLOR = 5;
103
101
 
104
- class Lighting extends Control {
105
- constructor(options = {}) {
102
+ /**
103
+ * Helps to set up lighting.
104
+ */
105
+ export class Lighting extends Control {
106
+ protected _selectedLayer: Layer | null;
107
+ protected _toggleBtn: ToggleButton;
108
+ protected _dialog: Dialog<null>;
109
+ protected _panel: View<null>;
110
+
111
+ protected _atmosphereMaxOpacity: Slider;
112
+ protected _atmosphereMinOpacity: Slider;
113
+ protected _gamma: Slider;
114
+ protected _exposure: Slider;
115
+ protected _night: Slider;
116
+ protected _opacity: Slider;
117
+ protected _diffuse_r: Slider;
118
+ protected _diffuse_g: Slider;
119
+ protected _diffuse_b: Slider;
120
+ protected _ambient_r: Slider;
121
+ protected _ambient_g: Slider;
122
+ protected _ambient_b: Slider;
123
+ protected _specular_r: Slider;
124
+ protected _specular_g: Slider;
125
+ protected _specular_b: Slider;
126
+ protected _shininess: Slider;
127
+
128
+ public $gamma: HTMLElement | null;
129
+ public $exposure: HTMLElement | null;
130
+ public $night: HTMLElement | null;
131
+ public $opacity: HTMLElement | null;
132
+ public $diffuse: HTMLElement | null;
133
+ public $ambient: HTMLElement | null;
134
+ public $specular: HTMLElement | null;
135
+ public $atmosphereOpacity: HTMLElement | null;
136
+
137
+
138
+ constructor(options: ILightingParams = {}) {
106
139
  super(options);
107
140
 
108
141
  this._selectedLayer = null;
@@ -121,7 +154,7 @@ class Lighting extends Control {
121
154
  width: 600
122
155
  });
123
156
 
124
- this._dialog.on("visibility", (v) => {
157
+ this._dialog.events.on("visibility", (v: boolean) => {
125
158
  this._toggleBtn.setActive(v);
126
159
  });
127
160
 
@@ -129,13 +162,14 @@ class Lighting extends Control {
129
162
  template: TEMPLATE
130
163
  });
131
164
 
132
- this.$gamma;
133
- this.$exposure;
134
- this.$night;
135
- this.$opacity;
136
- this.$diffuse;
137
- this.$ambient;
138
- this.$specular;
165
+ this.$gamma = null;
166
+ this.$exposure = null;
167
+ this.$night = null;
168
+ this.$opacity = null;
169
+ this.$diffuse = null;
170
+ this.$ambient = null;
171
+ this.$specular = null;
172
+ this.$atmosphereOpacity = null;
139
173
 
140
174
  this._atmosphereMaxOpacity = new Slider({
141
175
  label: "Max.opacity",
@@ -227,32 +261,34 @@ class Lighting extends Control {
227
261
  });
228
262
  }
229
263
 
230
- bindLayer(layer) {
264
+ public bindLayer(layer: Layer) {
231
265
  this._selectedLayer = layer;
232
266
  this._opacity.value = layer.opacity;
233
267
  this._update();
234
268
  }
235
269
 
236
- oninit() {
237
-
238
- this._toggleBtn.appendTo(this.renderer.div);
239
- this._dialog.appendTo(this.renderer.div);
240
- this._panel.appendTo(this._dialog.container);
241
-
242
- this.$atmosphereOpacity = this._panel.el.querySelector(".og-atmosphere-opacity");
243
- this.$gamma = this._panel.el.querySelector(".og-option.og-gamma");
244
- this.$exposure = this._panel.el.querySelector(".og-option.og-exposure");
245
- this.$opacity = this._panel.el.querySelector(".og-option.og-opacity");
246
- this.$diffuse = this._panel.el.querySelector(".og-option.og-diffuse");
247
- this.$ambient = this._panel.el.querySelector(".og-option.og-ambient");
248
- this.$specular = this._panel.el.querySelector(".og-option.og-specular");
249
- this.$night = this._panel.el.querySelector(".og-option.og-night");
270
+ public override oninit() {
271
+
272
+ this._toggleBtn.appendTo(this.renderer!.div!);
273
+ this._dialog.appendTo(this.renderer!.div!);
274
+ this._panel.appendTo(this._dialog.container!);
275
+
276
+ if (this._panel.el) {
277
+ this.$atmosphereOpacity = this._panel.el.querySelector(".og-atmosphere-opacity");
278
+ this.$gamma = this._panel.el.querySelector(".og-option.og-gamma");
279
+ this.$exposure = this._panel.el.querySelector(".og-option.og-exposure");
280
+ this.$opacity = this._panel.el.querySelector(".og-option.og-opacity");
281
+ this.$diffuse = this._panel.el.querySelector(".og-option.og-diffuse");
282
+ this.$ambient = this._panel.el.querySelector(".og-option.og-ambient");
283
+ this.$specular = this._panel.el.querySelector(".og-option.og-specular");
284
+ this.$night = this._panel.el.querySelector(".og-option.og-night");
285
+ }
250
286
 
251
- this._toggleBtn.on("change", (isActive) => {
287
+ this._toggleBtn.events.on("change", (isActive: boolean) => {
252
288
  this._dialog.setVisibility(isActive);
253
289
  });
254
290
 
255
- let $suncontrol = this._dialog.select(".og-suncontrol");
291
+ let $suncontrol = this._dialog.select(".og-suncontrol")!;
256
292
 
257
293
  let sunStopBtn = new ToggleButton({
258
294
  classList: ["og-suncontrol-button"],
@@ -270,200 +306,204 @@ class Lighting extends Control {
270
306
  });
271
307
  sunActiveBtn.appendTo($suncontrol);
272
308
 
273
- sunStopBtn.on("change", (isActive) => {
309
+ sunStopBtn.events.on("change", (isActive: boolean) => {
310
+ const sun = this.planet!.renderer!.controls.sun as Sun;
274
311
  if (isActive) {
275
- this.planet.renderer.controls.sun.start();
312
+ sun.start();
276
313
  } else {
277
- this.planet.renderer.controls.sun.stop();
314
+ sun.stop();
278
315
  }
279
316
  });
280
317
 
281
- sunActiveBtn.on("change", (isActive) => {
318
+ sunActiveBtn.events.on("change", (isActive: boolean) => {
319
+ const sun = this.planet!.renderer!.controls.sun;
282
320
  if (isActive) {
283
- this.planet.renderer.controls.sun.activate();
321
+ sun.activate();
284
322
  } else {
285
- this.planet.renderer.controls.sun.deactivate();
323
+ sun.deactivate();
286
324
  }
287
325
  });
288
326
 
289
327
  let lightingEnabledBtn = new ToggleButton({
290
328
  classList: ["og-suncontrol-button"],
291
- isActive: this.planet.lightEnabled,
329
+ isActive: this.planet!.lightEnabled,
292
330
  icon: LIGHTING_ENABLED_SVG_ICON,
293
331
  title: "Enable/disable planet lighting"
294
332
  });
295
333
  lightingEnabledBtn.appendTo($suncontrol);
296
334
 
297
- lightingEnabledBtn.on("change", (isActive) => {
298
- this.planet.lightEnabled = isActive;
335
+ lightingEnabledBtn.events.on("change", (isActive: boolean) => {
336
+ this.planet!.lightEnabled = isActive;
299
337
  });
300
338
 
301
339
  let atmosphereEnabledBtn = new ToggleButton({
302
340
  classList: ["og-suncontrol-button"],
303
- isActive: this.planet.atmosphereEnabled,
341
+ isActive: this.planet!.atmosphereEnabled,
304
342
  icon: ATMOSPHERE_SVG_ICON,
305
343
  title: "Enable/disable atmosphere scattering"
306
344
  });
307
345
  atmosphereEnabledBtn.appendTo($suncontrol);
308
346
 
309
- if (this.planet.atmosphereEnabled) {
310
- this.$atmosphereOpacity.style.display = "block";
347
+ if (this.planet!.atmosphereEnabled) {
348
+ this.$atmosphereOpacity!.style.display = "block";
311
349
  } else {
312
- this.$atmosphereOpacity.style.display = "none";
350
+ this.$atmosphereOpacity!.style.display = "none";
313
351
  }
314
- atmosphereEnabledBtn.on("change", (isActive) => {
315
- this.planet.atmosphereEnabled = isActive;
316
- if (this.planet.atmosphereEnabled) {
317
- this.$atmosphereOpacity.style.display = "block";
352
+ atmosphereEnabledBtn.events.on("change", (isActive: boolean) => {
353
+ this.planet!.atmosphereEnabled = isActive;
354
+ if (this.planet!.atmosphereEnabled) {
355
+ this.$atmosphereOpacity!.style.display = "block";
318
356
  } else {
319
- this.$atmosphereOpacity.style.display = "none";
357
+ this.$atmosphereOpacity!.style.display = "none";
320
358
  }
321
359
  });
322
360
 
323
- this._atmosphereMaxOpacity.appendTo(this.$atmosphereOpacity);
324
- this._atmosphereMinOpacity.appendTo(this.$atmosphereOpacity);
361
+ this._atmosphereMaxOpacity.appendTo(this.$atmosphereOpacity!);
362
+ this._atmosphereMinOpacity.appendTo(this.$atmosphereOpacity!);
325
363
 
326
- this._gamma.appendTo(this.$gamma);
327
- this._exposure.appendTo(this.$exposure);
364
+ this._gamma.appendTo(this.$gamma!);
365
+ this._exposure.appendTo(this.$exposure!);
328
366
 
329
- this._night.appendTo(this.$night);
330
- this._opacity.appendTo(this.$opacity);
367
+ this._night.appendTo(this.$night!);
368
+ this._opacity.appendTo(this.$opacity!);
331
369
 
332
- this._diffuse_r.appendTo(this.$diffuse);
333
- this._diffuse_g.appendTo(this.$diffuse);
334
- this._diffuse_b.appendTo(this.$diffuse);
370
+ this._diffuse_r.appendTo(this.$diffuse!);
371
+ this._diffuse_g.appendTo(this.$diffuse!);
372
+ this._diffuse_b.appendTo(this.$diffuse!);
335
373
 
336
- this._ambient_r.appendTo(this.$ambient);
337
- this._ambient_g.appendTo(this.$ambient);
338
- this._ambient_b.appendTo(this.$ambient);
374
+ this._ambient_r.appendTo(this.$ambient!);
375
+ this._ambient_g.appendTo(this.$ambient!);
376
+ this._ambient_b.appendTo(this.$ambient!);
339
377
 
340
- this._specular_r.appendTo(this.$specular);
341
- this._specular_g.appendTo(this.$specular);
342
- this._specular_b.appendTo(this.$specular);
343
- this._shininess.appendTo(this.$specular);
378
+ this._specular_r.appendTo(this.$specular!);
379
+ this._specular_g.appendTo(this.$specular!);
380
+ this._specular_b.appendTo(this.$specular!);
381
+ this._shininess.appendTo(this.$specular!);
344
382
 
345
- this._atmosphereMinOpacity.value = this.planet.atmosphereMinOpacity;
346
- this._atmosphereMinOpacity.on("change", (val) => {
347
- this.planet.atmosphereMinOpacity = val;
383
+ this._atmosphereMinOpacity.value = this.planet!.atmosphereMinOpacity;
384
+ this._atmosphereMinOpacity.events.on("change", (val: number) => {
385
+ this.planet!.atmosphereMinOpacity = val;
348
386
  });
349
387
 
350
- this._gamma.value = this.planet.renderer.gamma;
351
- this._gamma.on("change", (val) => {
352
- this.planet.renderer.gamma = val;
388
+ this._gamma.value = this.planet!.renderer!.gamma;
389
+ this._gamma.events.on("change", (val: number) => {
390
+ this.planet!.renderer!.gamma = val;
353
391
  });
354
392
 
355
-
356
- this._panel.el.querySelector("#layers").addEventListener("change", (e) => {
357
- this.bindLayer(this.planet.getLayerByName(e.target.value));
393
+ this._panel.el!.querySelector<HTMLSelectElement>("#layers")!.addEventListener("change", (e: Event) => {
394
+ const l = this.planet!.getLayerByName((e.target as HTMLSelectElement).value);
395
+ if (l) {
396
+ this.bindLayer(l);
397
+ }
358
398
  });
359
399
 
360
- this._atmosphereMaxOpacity.value = this.planet.atmosphereMaxOpacity;
361
- this._atmosphereMaxOpacity.on("change", (val) => {
362
- this.planet.atmosphereMaxOpacity = val;
363
- this.planet.renderer.controls.Atmosphere.opacity = val;
400
+ this._atmosphereMaxOpacity.value = this.planet!.atmosphereMaxOpacity;
401
+ this._atmosphereMaxOpacity.events.on("change", (val: number) => {
402
+ this.planet!.atmosphereMaxOpacity = val;
403
+ let atmos = this.planet!.renderer!.controls.Atmosphere as Atmosphere;
404
+ atmos.opacity = val;
364
405
  });
365
406
 
366
- this._exposure.value = this.planet.renderer.exposure;
367
- this._exposure.on("change", (val) => {
368
- this.planet.renderer.exposure = val;
407
+ this._exposure.value = this.planet!.renderer!.exposure;
408
+ this._exposure.events.on("change", (val: number) => {
409
+ this.planet!.renderer!.exposure = val;
369
410
  });
370
411
 
371
- this._night.on("change", (val) => {
372
- if (this._selectedLayer)
412
+ this._night.events.on("change", (val: number) => {
413
+ if (this._selectedLayer) {
373
414
  this._selectedLayer.nightTextureCoefficient = val;
415
+ }
374
416
  });
375
417
 
376
- this._opacity.on("change", (val) => {
418
+ this._opacity.events.on("change", (val: number) => {
377
419
  if (this._selectedLayer)
378
420
  this._selectedLayer.opacity = val;
379
421
  });
380
422
 
381
- this._ambient_r.on("change", (val) => {
423
+ this._ambient_r.events.on("change", (val: number) => {
382
424
  if (this._selectedLayer && this._selectedLayer._ambient)
383
425
  this._selectedLayer._ambient[0] = val
384
426
  });
385
427
 
386
- this._ambient_g.on("change", (val) => {
428
+ this._ambient_g.events.on("change", (val: number) => {
387
429
  if (this._selectedLayer && this._selectedLayer._ambient)
388
430
  this._selectedLayer._ambient[1] = val
389
431
  });
390
432
 
391
- this._ambient_b.on("change", (val) => {
433
+ this._ambient_b.events.on("change", (val: number) => {
392
434
  if (this._selectedLayer && this._selectedLayer._ambient)
393
435
  this._selectedLayer._ambient[2] = val
394
436
  });
395
437
 
396
- this._diffuse_r.on("change", (val) => {
438
+ this._diffuse_r.events.on("change", (val: number) => {
397
439
  if (this._selectedLayer && this._selectedLayer._diffuse)
398
440
  this._selectedLayer._diffuse[0] = val
399
441
  });
400
442
 
401
- this._diffuse_g.on("change", (val) => {
443
+ this._diffuse_g.events.on("change", (val: number) => {
402
444
  if (this._selectedLayer && this._selectedLayer._diffuse)
403
445
  this._selectedLayer._diffuse[1] = val
404
446
  });
405
447
 
406
- this._diffuse_b.on("change", (val) => {
448
+ this._diffuse_b.events.on("change", (val: number) => {
407
449
  if (this._selectedLayer && this._selectedLayer._diffuse)
408
450
  this._selectedLayer._diffuse[2] = val
409
451
  });
410
452
 
411
- this._specular_r.on("change", (val) => {
453
+ this._specular_r.events.on("change", (val: number) => {
412
454
  if (this._selectedLayer && this._selectedLayer._specular)
413
455
  this._selectedLayer._specular[0] = val
414
456
  });
415
457
 
416
- this._specular_g.on("change", (val) => {
458
+ this._specular_g.events.on("change", (val: number) => {
417
459
  if (this._selectedLayer && this._selectedLayer._specular)
418
460
  this._selectedLayer._specular[1] = val
419
461
  });
420
462
 
421
- this._specular_b.on("change", (val) => {
463
+ this._specular_b.events.on("change", (val: number) => {
422
464
  if (this._selectedLayer && this._selectedLayer._specular)
423
465
  this._selectedLayer._specular[2] = val
424
466
  });
425
467
 
426
- this._shininess.on("change", (val) => {
468
+ this._shininess.events.on("change", (val: number) => {
427
469
  if (this._selectedLayer && this._selectedLayer._specular)
428
470
  this._selectedLayer._specular[3] = val
429
471
  });
430
472
 
431
473
 
432
474
  if (this.planet) {
433
- this.planet.events.on("layeradd", this._onLayerAdd, this);
434
- this.planet.events.on("layerremove", this._onLayerRemove, this);
475
+ this.planet!.events.on("layeradd", this._onLayerAdd, this);
476
+ this.planet!.events.on("layerremove", this._onLayerRemove, this);
435
477
  }
436
478
 
437
479
  this._fetchLayers();
438
480
  }
439
481
 
440
- _update() {
482
+ protected _update() {
441
483
  let l = this._selectedLayer;
442
484
 
443
- let o = l && l.opacity ? l.opacity : 0.0;
444
- this._opacity.value = o;
485
+ this._opacity.value = l && l.opacity ? l.opacity : 0.0;
445
486
 
446
- let n = l && l.nightTextureCoefficient ? l.nightTextureCoefficient : this.planet.nightTextureCoefficient;
447
- this._night.value = n;
487
+ this._night.value = l && l.nightTextureCoefficient ? l.nightTextureCoefficient : this.planet!.nightTextureCoefficient;
448
488
 
449
- let a = l && l._ambient ? l._ambient : this.planet._ambient;
489
+ let a = l && l._ambient ? l._ambient : this.planet!._ambient;
450
490
  this._ambient_r.value = a[0];
451
491
  this._ambient_g.value = a[1];
452
492
  this._ambient_b.value = a[2];
453
493
 
454
- let d = l && l._diffuse ? l._diffuse : this.planet._diffuse;
494
+ let d = l && l._diffuse ? l._diffuse : this.planet!._diffuse;
455
495
  this._diffuse_r.value = d[0];
456
496
  this._diffuse_g.value = d[1];
457
497
  this._diffuse_b.value = d[2];
458
498
 
459
- let s = l && l._specular ? l._specular : this.planet._specular;
499
+ let s = l && l._specular ? l._specular : this.planet!._specular;
460
500
  this._specular_r.value = s[0];
461
501
  this._specular_g.value = s[1];
462
502
  this._specular_b.value = s[2];
463
503
  this._shininess.value = s[3];
464
504
  }
465
505
 
466
- _fetchLayers() {
506
+ protected _fetchLayers() {
467
507
  if (this.planet) {
468
508
  for (let i = 0; i < this.planet.layers.length; i++) {
469
509
  this._onLayerAdd(this.planet.layers[i]);
@@ -471,17 +511,15 @@ class Lighting extends Control {
471
511
  }
472
512
  }
473
513
 
474
- _onLayerAdd(e) {
514
+ protected _onLayerAdd(e: Layer) {
475
515
  this.bindLayer(e);
476
516
  let opt = document.createElement("option");
477
517
  opt.value = e.name;
478
518
  opt.innerText = e.name;
479
- this._panel.el.querySelector("#layers").appendChild(opt);
480
- this._panel.el.querySelector("#layers").value = e.name;
519
+ this._panel.el!.querySelector("#layers")!.appendChild(opt);
520
+ this._panel.el!.querySelector<HTMLSelectElement>("#layers")!.value = e.name;
481
521
  }
482
522
 
483
- _onLayerRemove(e) {
523
+ protected _onLayerRemove(e: Layer) {
484
524
  }
485
525
  }
486
-
487
- export { Lighting };