@openglobus/og 0.17.1 → 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} +248 -185
  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 -270
  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} +777 -595
  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 -149
  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 -128
  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 -1168
  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 -10
  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 -255
  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 -595
  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,51 +1,49 @@
1
- "use strict";
2
-
3
- import * as jd from "./jd.js";
4
-
5
- /**
6
- * Angle between J2000 mean equator and the ecliptic plane.
7
- * 23 deg 26' 21".448 (Seidelmann, _Explanatory Supplement to the
8
- * Astronomical Almanac_ (1992), eqn 3.222-1.
9
- * @const
10
- * @type{Number}
11
- */
12
- export const J2000_OBLIQUITY = 23.4392911;
13
-
14
- /**
15
- * IAU 1976 value
16
- * @const
17
- * @type{Number}
18
- */
19
- export const AU_TO_METERS = 1.4959787e11;
20
-
21
- /**
22
- * Terestrial and atomic time difference.
23
- * @const
24
- * @type{Number}
25
- */
26
- export const TDT_TAI = 32.184;
27
-
28
- /**
29
- * Earth gravitational parameter product of gravitational constant G and the mass M of the Earth.
30
- * @const
31
- * @type{Number}
32
- */
33
- export const EARTH_GRAVITATIONAL_PARAMETER = 3.98600435e14;
34
-
35
- /**
36
- * Sun gravitational parameter product of gravitational constant G and the mass M of the Sun.
37
- * @const
38
- * @type{Number}
39
- */
40
- export const SUN_GRAVITATIONAL_PARAMETER = 1.32712440018e20;
41
-
42
- /**
43
- * Converts atomic time to barycentric dynamical time.
44
- * @param {Number} tai - Atomic time.
45
- * @returns {Number} - returns barycentric dynamical time.
46
- */
47
- export function TAItoTDB(tai) {
48
- tai += TDT_TAI * jd.ONE_BY_SECONDS_PER_DAY;
49
- var g = 6.239996 + 0.0172019696544 * (tai - jd.J2000);
50
- return tai + 0.001658 * Math.sin(g + 1.671e-2 * Math.sin(g)) * jd.ONE_BY_SECONDS_PER_DAY;
51
- }
1
+ import {JulianDate, ONE_BY_SECONDS_PER_DAY, J2000} from "./jd";
2
+
3
+ /**
4
+ * Angle between J2000 mean equator and the ecliptic plane.
5
+ * 23 deg 26' 21".448 (Seidelmann, _Explanatory Supplement to the
6
+ * Astronomical Almanac_ (1992), eqn 3.222-1.
7
+ * @const
8
+ * @type{number}
9
+ */
10
+ export const J2000_OBLIQUITY = 23.4392911;
11
+
12
+ /**
13
+ * IAU 1976 value
14
+ * @const
15
+ * @type{number}
16
+ */
17
+ export const AU_TO_METERS = 1.4959787e11;
18
+
19
+ /**
20
+ * Terrestrial and atomic time difference.
21
+ * @const
22
+ * @type{number}
23
+ */
24
+ export const TDT_TAI = 32.184;
25
+
26
+ /**
27
+ * Earth gravitational parameter product of gravitational constant G and the mass M of the Earth.
28
+ * @const
29
+ * @type{number}
30
+ */
31
+ export const EARTH_GRAVITATIONAL_PARAMETER = 3.98600435e14;
32
+
33
+ /**
34
+ * Sun gravitational parameter product of gravitational constant G and the mass M of the Sun.
35
+ * @const
36
+ * @type{number}
37
+ */
38
+ export const SUN_GRAVITATIONAL_PARAMETER = 1.32712440018e20;
39
+
40
+ /**
41
+ * Converts atomic time to barycentric dynamical time.
42
+ * @param {JulianDate} tai - Atomic time.
43
+ * @returns {JulianDate} - returns barycentric dynamical time.
44
+ */
45
+ export function TAItoTDB(tai: JulianDate): JulianDate {
46
+ tai += TDT_TAI * ONE_BY_SECONDS_PER_DAY;
47
+ const g = 6.239996 + 0.0172019696544 * (tai - J2000);
48
+ return tai + 0.001658 * Math.sin(g + 1.671e-2 * Math.sin(g)) * ONE_BY_SECONDS_PER_DAY;
49
+ }
@@ -1,17 +1,16 @@
1
- "use strict";
2
-
3
- import * as math from "../math.js";
4
- import { Quat } from "../math/Quat.js";
5
- import { Vec3 } from "../math/Vec3.js";
6
- import * as astro from "./astro.js";
7
- import * as jd from "./jd.js";
1
+ import * as math from "../math";
2
+ import { Quat } from "../math/Quat";
3
+ import { Vec3 } from "../math/Vec3";
4
+ import * as astro from "./astro";
5
+ import * as jd from "./jd";
6
+ import {JulianDate} from "./jd";
8
7
 
9
8
  /**
10
9
  * Returns Sun position in the geocentric coordinate system by the time.
11
- * @param {Number} jDate - Julian date time.
10
+ * @param {JulianDate} jDate - Julian date time.
12
11
  * @returns {Vec3} - Sun geocentric coordinates.
13
12
  */
14
- export function getSunPosition(jDate) {
13
+ export function getSunPosition(jDate: JulianDate): Vec3 {
15
14
  // http://stjarnhimlen.se/comp/tutorial.html
16
15
  // a Mean distance, or semi-major axis
17
16
  // e Eccentricity
@@ -1,160 +1,139 @@
1
- "use strict";
1
+ import {binarySearch} from "../utils/shared";
2
2
 
3
- import { binarySearch } from "../utils/shared.js";
3
+ export type JulianDate = number;
4
4
 
5
5
  /**
6
6
  * Seconds in millisecond.
7
7
  * @const
8
- * @default
9
8
  */
10
9
  export const SECONDS_PER_MILLISECOND = 0.001;
11
10
 
12
11
  /**
13
12
  * Milliseconds in second.
14
13
  * @const
15
- * @default
16
14
  */
17
15
  export const MILLISECONDS_PER_SECOND = 1000.0;
18
16
 
19
17
  /**
20
18
  * Seconds in minute.
21
19
  * @const
22
- * @default
23
20
  */
24
21
  export const SECONDS_PER_MINUTE = 60.0;
25
22
 
26
23
  /**
27
24
  * One by seconds in minute.
28
25
  * @const
29
- * @default
30
26
  */
31
27
  export const ONE_BY_SECONDS_PER_MINUTE = 1.0 / SECONDS_PER_MINUTE;
32
28
 
33
29
  /**
34
30
  * Minutes in hour.
35
31
  * @const
36
- * @default
37
32
  */
38
33
  export const MINUTES_PER_HOUR = 60.0;
39
34
 
40
35
  /**
41
36
  * Hours in day.
42
37
  * @const
43
- * @default
44
38
  */
45
39
  export const HOURS_PER_DAY = 24.0;
46
40
 
47
41
  /**
48
42
  * One by hours in day.
49
43
  * @const
50
- * @default
51
44
  */
52
45
  export const ONE_BY_HOURS_PER_DAY = 1.0 / HOURS_PER_DAY;
53
46
 
54
47
  /**
55
48
  * Seconds in hour.
56
49
  * @const
57
- * @default
58
50
  */
59
51
  export const SECONDS_PER_HOUR = 3600.0;
60
52
 
61
53
  /**
62
54
  * One by seconds in hour.
63
55
  * @const
64
- * @default
65
56
  */
66
57
  export const ONE_BY_SECONDS_PER_HOUR = 1.0 / SECONDS_PER_HOUR;
67
58
 
68
59
  /**
69
60
  * Seconds in 12 hours.
70
61
  * @const
71
- * @default
72
62
  */
73
63
  export const SECONDS_PER_12_HOURS = 12.0 * SECONDS_PER_HOUR;
74
64
 
75
65
  /**
76
66
  * Minutes in day.
77
67
  * @const
78
- * @default
79
68
  */
80
69
  export const MINUTES_PER_DAY = 1440.0;
81
70
 
82
71
  /**
83
72
  * One by minutes in day.
84
73
  * @const
85
- * @default
86
74
  */
87
75
  export const ONE_BY_MINUTES_PER_DAY = 1.0 / MINUTES_PER_DAY;
88
76
 
89
77
  /**
90
78
  * Seconds in day.
91
79
  * @const
92
- * @default
93
80
  */
94
81
  export const SECONDS_PER_DAY = 86400.0;
95
82
 
96
83
  /**
97
84
  * Milliseconds in day.
98
85
  * @const
99
- * @default
100
86
  */
101
87
  export const MILLISECONDS_PER_DAY = 86400000.0;
102
88
 
103
89
  /**
104
90
  * One by milliseconds in day.
105
91
  * @const
106
- * @default
107
92
  */
108
93
  export const ONE_BY_MILLISECONDS_PER_DAY = 1.0 / MILLISECONDS_PER_DAY;
109
94
 
110
95
  /**
111
96
  * One by seconds in day.
112
97
  * @const
113
- * @default
114
98
  */
115
99
  export const ONE_BY_SECONDS_PER_DAY = 1.0 / SECONDS_PER_DAY;
116
100
 
117
101
  /**
118
102
  * Days in julian century.
119
103
  * @const
120
- * @default
121
104
  */
122
105
  export const DAYS_PER_JULIAN_CENTURY = 36525.0;
123
106
 
124
107
  /**
125
108
  * Days in julian year.
126
109
  * @const
127
- * @default
128
110
  */
129
111
  export const DAYS_PER_JULIAN_YEAR = 365.25;
130
112
 
131
113
  /**
132
- * Seconds in picosecond.
114
+ * Seconds in picoseconds.
133
115
  * @const
134
- * @default
135
116
  */
136
117
  export const PICOSECOND = 0.000000001;
137
118
 
138
119
  /**
139
120
  * Modified julian date difference.
140
121
  * @const
141
- * @default
142
122
  */
143
123
  export const MODIFIED_JULIAN_DATE_DIFFERENCE = 2400000.5;
144
124
 
145
125
  /**
146
126
  * Julian date of 2000 year. Epoch.
147
127
  * @const
148
- * @default
149
128
  */
150
129
  export const J2000 = 2451545.0;
151
130
 
152
131
  /**
153
132
  * Returns julian days from Epoch.
154
- * @param {number} jd - Julian date.
133
+ * @param {JulianDate} jd - Julian date.
155
134
  * @returns {number} Days from epoch
156
135
  */
157
- export function T(jd) {
136
+ export function T(jd: JulianDate): number {
158
137
  return (jd - J2000) / DAYS_PER_JULIAN_CENTURY;
159
138
  }
160
139
 
@@ -163,11 +142,11 @@ export function T(jd) {
163
142
  * @param {number} year - Year.
164
143
  * @param {number} month - Month.
165
144
  * @param {number} day - Day.
166
- * @returns {Number} Day number
145
+ * @returns {number} Day number
167
146
  */
168
- export function getDayNumber(year, month, day) {
169
- var a = ((month - 14) / 12) | 0;
170
- var b = year + 4800 + a;
147
+ export function getDayNumber(year: number, month: number, day: number): number {
148
+ let a = ((month - 14) / 12) | 0;
149
+ let b = year + 4800 + a;
171
150
  return (
172
151
  (((1461 * b) / 4) | 0) +
173
152
  (((367 * (month - 2 - 12 * a)) / 12) | 0) -
@@ -180,17 +159,17 @@ export function getDayNumber(year, month, day) {
180
159
  /**
181
160
  * Converts javascript date to the universal(UTC) julian date.
182
161
  * @param {Date} date - Date.
183
- * @returns {number} UTC julian date
162
+ * @returns {JulianDate} UTC julian date
184
163
  */
185
- export function DateToUTC(date) {
186
- var dayNumber = getDayNumber(date.getUTCFullYear(), date.getUTCMonth() + 1, date.getUTCDate());
164
+ export function DateToUTC(date: Date): JulianDate {
165
+ let dayNumber = getDayNumber(date.getUTCFullYear(), date.getUTCMonth() + 1, date.getUTCDate());
187
166
 
188
- var hour = date.getUTCHours() - 12;
167
+ let hour = date.getUTCHours() - 12;
189
168
  if (hour < 0) {
190
169
  hour += 24;
191
170
  }
192
171
 
193
- var secondsOfDay =
172
+ let secondsOfDay =
194
173
  date.getUTCSeconds() +
195
174
  hour * SECONDS_PER_HOUR +
196
175
  date.getUTCMinutes() * SECONDS_PER_MINUTE +
@@ -200,7 +179,7 @@ export function DateToUTC(date) {
200
179
  dayNumber--;
201
180
  }
202
181
 
203
- var extraDays = (secondsOfDay * ONE_BY_SECONDS_PER_DAY) | 0;
182
+ let extraDays = (secondsOfDay * ONE_BY_SECONDS_PER_DAY) | 0;
204
183
  dayNumber += extraDays;
205
184
  secondsOfDay -= SECONDS_PER_DAY * extraDays;
206
185
 
@@ -215,21 +194,21 @@ export function DateToUTC(date) {
215
194
  /**
216
195
  * Converts javascript date to the atomic(TAI) julian date.
217
196
  * @param {Date} date - Date.
218
- * @returns {number} TAI julian date
197
+ * @returns {JulianDate} TAI julian date
219
198
  */
220
- export function DateToTAI(date) {
199
+ export function DateToTAI(date: Date): JulianDate {
221
200
  return UTCtoTAI(DateToUTC(date));
222
201
  }
223
202
 
224
203
  /**
225
204
  * Converts coordinated universal(UTC) julian date to atomic(TAI) julian date.
226
- * @param {number} jd - UTC julian date.
227
- * @returns {number} TAI julian date
205
+ * @param {JulianDate} jd - UTC julian date.
206
+ * @returns {JulianDate} TAI julian date
228
207
  */
229
- export function UTCtoTAI(jd) {
230
- var leapSeconds = leapSecondsTable;
208
+ export function UTCtoTAI(jd: JulianDate): JulianDate {
209
+ let leapSeconds = leapSecondsTable;
231
210
 
232
- var index = binarySearch(leapSeconds, jd, function (a, b) {
211
+ let index = binarySearch(leapSeconds, jd, function (a: number, b: LeapSeconds) {
233
212
  return a - b.jd;
234
213
  });
235
214
 
@@ -241,7 +220,7 @@ export function UTCtoTAI(jd) {
241
220
  index = leapSeconds.length - 1;
242
221
  }
243
222
 
244
- var offset = leapSeconds[index].leapSeconds;
223
+ let offset = leapSeconds[index].leapSeconds;
245
224
 
246
225
  if (index !== 0) {
247
226
  if ((leapSeconds[index].jd - jd) * SECONDS_PER_DAY > offset) {
@@ -254,12 +233,12 @@ export function UTCtoTAI(jd) {
254
233
 
255
234
  /**
256
235
  * Converts atomic julian date(TAI) to the coordinated universal(UTC) julian date.
257
- * @param {number} tai - TAI julian date.
258
- * @returns {number} UTC julian date
236
+ * @param {JulianDate} tai - TAI julian date.
237
+ * @returns {JulianDate | undefined} UTC julian date
259
238
  */
260
- export function TAItoUTC(tai) {
261
- var leapSeconds = leapSecondsTable;
262
- var index = binarySearch(leapSeconds, tai, function (a, b) {
239
+ export function TAItoUTC(tai: JulianDate): JulianDate | undefined {
240
+ let leapSeconds = leapSecondsTable;
241
+ let index = binarySearch(leapSeconds, tai, function (a: JulianDate, b: LeapSeconds) {
263
242
  return a - b.jd;
264
243
  });
265
244
 
@@ -275,14 +254,14 @@ export function TAItoUTC(tai) {
275
254
  return tai - leapSeconds[0].leapSeconds * ONE_BY_SECONDS_PER_DAY;
276
255
  }
277
256
 
278
- var diff = (leapSeconds[index].jd - tai) * SECONDS_PER_DAY;
257
+ let diff = (leapSeconds[index].jd - tai) * SECONDS_PER_DAY;
279
258
 
280
259
  if (diff === 0) {
281
260
  return tai - leapSeconds[index].leapSeconds * ONE_BY_SECONDS_PER_DAY;
282
261
  }
283
262
 
284
263
  if (diff <= 1.0) {
285
- return null;
264
+ return;
286
265
  }
287
266
 
288
267
  return tai - leapSeconds[index - 1].leapSeconds * ONE_BY_SECONDS_PER_DAY;
@@ -290,34 +269,34 @@ export function TAItoUTC(tai) {
290
269
 
291
270
  /**
292
271
  * Converts UTC julian date to the javascript date object.
293
- * @param {number} utc - UTC julian date.
272
+ * @param {JulianDate} utc - UTC julian date.
294
273
  * @returns {Date} JavaScript Date object
295
274
  */
296
- export function UTCtoDate(utc) {
297
- var julianDayNumber = utc | 0;
298
- var secondsOfDay = (utc - julianDayNumber) * SECONDS_PER_DAY;
275
+ export function UTCtoDate(utc: JulianDate): Date {
276
+ let julianDayNumber = utc | 0;
277
+ let secondsOfDay = (utc - julianDayNumber) * SECONDS_PER_DAY;
299
278
 
300
279
  if (secondsOfDay >= SECONDS_PER_12_HOURS) {
301
280
  julianDayNumber++;
302
281
  }
303
282
 
304
- var L = (julianDayNumber + 68569) | 0;
305
- var N = ((4 * L) / 146097) | 0;
283
+ let L = (julianDayNumber + 68569) | 0;
284
+ let N = ((4 * L) / 146097) | 0;
306
285
  L = (L - (((146097 * N + 3) / 4) | 0)) | 0;
307
- var I = ((4000 * (L + 1)) / 1461001) | 0;
286
+ let I = ((4000 * (L + 1)) / 1461001) | 0;
308
287
  L = (L - (((1461 * I) / 4) | 0) + 31) | 0;
309
- var J = ((80 * L) / 2447) | 0;
310
- var day = (L - (((2447 * J) / 80) | 0)) | 0;
288
+ let J = ((80 * L) / 2447) | 0;
289
+ let day = (L - (((2447 * J) / 80) | 0)) | 0;
311
290
  L = (J / 11) | 0;
312
- var month = (J + 2 - 12 * L) | 0;
313
- var year = (100 * (N - 49) + I + L) | 0;
291
+ let month = (J + 2 - 12 * L) | 0;
292
+ let year = (100 * (N - 49) + I + L) | 0;
314
293
 
315
- var hour = (secondsOfDay * ONE_BY_SECONDS_PER_HOUR) | 0;
316
- var remainingSeconds = secondsOfDay - hour * SECONDS_PER_HOUR;
317
- var minute = (remainingSeconds * ONE_BY_SECONDS_PER_MINUTE) | 0;
294
+ let hour = (secondsOfDay * ONE_BY_SECONDS_PER_HOUR) | 0;
295
+ let remainingSeconds = secondsOfDay - hour * SECONDS_PER_HOUR;
296
+ let minute = (remainingSeconds * ONE_BY_SECONDS_PER_MINUTE) | 0;
318
297
  remainingSeconds = remainingSeconds - minute * SECONDS_PER_MINUTE;
319
- var second = remainingSeconds | 0;
320
- var millisecond = ((remainingSeconds - second) * MILLISECONDS_PER_SECOND) | 0;
298
+ let second = remainingSeconds | 0;
299
+ let millisecond = ((remainingSeconds - second) * MILLISECONDS_PER_SECOND) | 0;
321
300
 
322
301
  hour += 12;
323
302
  if (hour > 23) {
@@ -329,14 +308,14 @@ export function UTCtoDate(utc) {
329
308
 
330
309
  /**
331
310
  * Converts TAI julian date to the javascript date object.
332
- * @param {number} tai - TAI julian date.
311
+ * @param {JulianDate} tai - TAI julian date.
333
312
  * @returns {Date} JavaScript Date object
334
313
  */
335
- export function TAItoDate(tai) {
336
- var utc = TAItoUTC(tai);
314
+ export function TAItoDate(tai: JulianDate): Date {
315
+ let utc = TAItoUTC(tai);
337
316
  if (!utc) {
338
- utc = TAItoUTC(addSeconds(tai, -1));
339
- console.warn("TAItoDate:336 - can't conv utc.");
317
+ utc = TAItoUTC(addSeconds(tai, -1))!;
318
+ console.trace(`TAItoDate - can't convert ${tai.toString()} to utc.`);
340
319
  }
341
320
 
342
321
  return UTCtoDate(utc);
@@ -344,90 +323,90 @@ export function TAItoDate(tai) {
344
323
 
345
324
  /**
346
325
  * Adds milliseconds to the julian date.
347
- * @param {number} jd - Julian date.
326
+ * @param {JulianDate} jd - Julian date.
348
327
  * @param {number} milliseconds - Milliseconds to add.
349
- * @returns {number} Julian date
328
+ * @returns {JulianDate} Julian date
350
329
  */
351
- export function addMilliseconds(jd, milliseconds) {
330
+ export function addMilliseconds(jd: JulianDate, milliseconds: number): JulianDate {
352
331
  return jd + milliseconds * ONE_BY_MILLISECONDS_PER_DAY;
353
332
  }
354
333
 
355
334
  /**
356
335
  * Adds seconds to the julian date.
357
- * @param {number} jd - Julian date.
336
+ * @param {JulianDate} jd - Julian date.
358
337
  * @param {number} seconds - Seconds to add.
359
- * @returns {number} Julian date
338
+ * @returns {JulianDate} Julian date
360
339
  */
361
- export function addSeconds(jd, seconds) {
340
+ export function addSeconds(jd: JulianDate, seconds: number): JulianDate {
362
341
  return jd + seconds * ONE_BY_SECONDS_PER_DAY;
363
342
  }
364
343
 
365
344
  /**
366
345
  * Adds hours to the julian date.
367
- * @param {number} jd - Julian date.
346
+ * @param {JulianDate} jd - Julian date.
368
347
  * @param {number} hours - Hours to add.
369
- * @returns {number} Julian date
348
+ * @returns {JulianDate} Julian date
370
349
  */
371
- export function addHours(jd, hours) {
350
+ export function addHours(jd: JulianDate, hours: number): JulianDate {
372
351
  return jd + hours * ONE_BY_HOURS_PER_DAY;
373
352
  }
374
353
 
375
354
  /**
376
355
  * Adds minutes to the julian date.
377
- * @param {number} jd - Julian date.
356
+ * @param {JulianDate} jd - Julian date.
378
357
  * @param {number} minutes - Minutes to add.
379
- * @returns {number} Julian date
358
+ * @returns {JulianDate} Julian date
380
359
  */
381
- export function addMinutes(jd, minutes) {
360
+ export function addMinutes(jd: JulianDate, minutes: number): JulianDate {
382
361
  return jd + minutes * MINUTES_PER_DAY;
383
362
  }
384
363
 
385
364
  /**
386
365
  * Adds days to the julian date.
387
- * @param {number} jd - Julian date.
366
+ * @param {JulianDate} jd - Julian date.
388
367
  * @param {number} days - Days to add.
389
- * @returns {number} Julian date
368
+ * @returns {JulianDate} Julian date
390
369
  */
391
- export function addDays(jd, days) {
370
+ export function addDays(jd: JulianDate, days: number): JulianDate {
392
371
  return jd + days;
393
372
  }
394
373
 
395
374
  /**
396
375
  * Gets milliseconds of a julian date.
397
- * @param {number} js - julian date.
376
+ * @param {JulianDate} jd - julian date.
398
377
  * @returns {number} Milliseconds
399
378
  */
400
- export function getMilliseconds(jd) {
401
- var s = jd - (jd | 0);
379
+ export function getMilliseconds(jd: JulianDate): number {
380
+ let s = jd - (jd | 0);
402
381
  s *= SECONDS_PER_DAY;
403
382
  return ((s - (s | 0)) * MILLISECONDS_PER_SECOND) | 0;
404
383
  }
405
384
 
406
385
  /**
407
386
  * Gets seconds of a julian date.
408
- * @param {number} js - julian date.
387
+ * @param {JulianDate} jd - julian date.
409
388
  * @returns {number} Seconds
410
389
  */
411
- export function getSeconds(jd) {
412
- var s = jd - (jd | 0);
390
+ export function getSeconds(jd: JulianDate): number {
391
+ let s = jd - (jd | 0);
413
392
  return s * SECONDS_PER_DAY;
414
393
  }
415
394
 
416
395
  /**
417
396
  * Gets hours of a julian date.
418
- * @param {number} js - julian date.
397
+ * @param {JulianDate} jd - julian date.
419
398
  * @returns {number} Hours
420
399
  */
421
- export function getHours(jd) {
422
- var julianDayNumber = jd | 0;
423
- var secondsOfDay = (jd - julianDayNumber) * SECONDS_PER_DAY;
400
+ export function getHours(jd: JulianDate): number {
401
+ let julianDayNumber = jd | 0;
402
+ let secondsOfDay = (jd - julianDayNumber) * SECONDS_PER_DAY;
424
403
 
425
- var hour = (secondsOfDay * ONE_BY_SECONDS_PER_HOUR) | 0;
426
- var remainingSeconds = secondsOfDay - hour * SECONDS_PER_HOUR;
427
- var minute = (remainingSeconds * ONE_BY_SECONDS_PER_MINUTE) | 0;
404
+ let hour = (secondsOfDay * ONE_BY_SECONDS_PER_HOUR) | 0;
405
+ let remainingSeconds = secondsOfDay - hour * SECONDS_PER_HOUR;
406
+ let minute = (remainingSeconds * ONE_BY_SECONDS_PER_MINUTE) | 0;
428
407
  remainingSeconds = remainingSeconds - minute * SECONDS_PER_MINUTE;
429
- var second = remainingSeconds | 0;
430
- var millisecond = ((remainingSeconds - second) * MILLISECONDS_PER_SECOND) | 0;
408
+ let second = remainingSeconds | 0;
409
+ let millisecond = ((remainingSeconds - second) * MILLISECONDS_PER_SECOND) | 0;
431
410
 
432
411
  hour += 12 + minute / 60 + second / 3600 + millisecond / 1000;
433
412
  if (hour > 23) {
@@ -439,20 +418,20 @@ export function getHours(jd) {
439
418
 
440
419
  /**
441
420
  * Gets minutes of a julian date.
442
- * @param {number} js - julian date.
421
+ * @param {JulianDate} jd - julian date.
443
422
  * @returns {number} Minutes
444
423
  */
445
- export function getMinutes(jd) {
446
- var s = jd - (jd | 0);
424
+ export function getMinutes(jd: JulianDate): number {
425
+ let s = jd - (jd | 0);
447
426
  return (s * MINUTES_PER_DAY) | 0;
448
427
  }
449
428
 
450
429
  /**
451
430
  * Gets days of a julian date.
452
- * @param {number} js - julian date.
431
+ * @param {JulianDate} jd - julian date.
453
432
  * @returns {number} Days
454
433
  */
455
- export function getDays(jd) {
434
+ export function getDays(jd: JulianDate): number {
456
435
  return jd | 0;
457
436
  }
458
437
 
@@ -461,7 +440,7 @@ export function getDays(jd) {
461
440
  * @param {number} s - Seconds.
462
441
  * @returns {number} Days
463
442
  */
464
- export function secondsToDays(s) {
443
+ export function secondsToDays(s: number): number {
465
444
  return s * ONE_BY_SECONDS_PER_DAY;
466
445
  }
467
446
 
@@ -470,18 +449,20 @@ export function secondsToDays(s) {
470
449
  * @param {number} d - Days.
471
450
  * @returns {number} Seconds
472
451
  */
473
- export function daysToSeconds(d) {
452
+ export function daysToSeconds(d: number): number {
474
453
  return d * SECONDS_PER_DAY;
475
454
  }
476
455
 
477
- function __ls(jd, leapSeconds) {
456
+ type LeapSeconds = { jd: JulianDate, leapSeconds: number };
457
+
458
+ function __ls(jd: JulianDate, leapSeconds: number): LeapSeconds {
478
459
  return {
479
460
  jd: jd,
480
461
  leapSeconds: leapSeconds
481
462
  };
482
463
  }
483
464
 
484
- const leapSecondsTable = [
465
+ const leapSecondsTable: LeapSeconds[] = [
485
466
  __ls(2441317.5, 10.0), // 1972-01-01T00:00:00.000Z
486
467
  __ls(2441499.5, 11.0), // 1972-07-01T00:00:00.000Z
487
468
  __ls(2441683.5, 12.0), // 1973-01-01T00:00:00.000Z