@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,9 +1,18 @@
1
- "use strict";
1
+ import {LonLat} from "../LonLat";
2
+ import {Quat} from "../math/Quat";
3
+ import {Vec3} from "../math/Vec3";
4
+ import {DEGREES, EPS1, EPS12, EPS15, RADIANS, zeroTwoPI} from "../math";
5
+
6
+ export interface IInverseResult {
7
+ distance: number;
8
+ initialAzimuth: number;
9
+ finalAzimuth: number;
10
+ }
2
11
 
3
- import { LonLat } from "../LonLat.js";
4
- import { DEGREES, EPS1, EPS12, EPS15, RADIANS, zeroTwoPI } from "../math.js";
5
- import { Vec3 } from "../math/Vec3.js";
6
- import { Quat } from "../math/Quat.js";
12
+ export interface IDirectResult {
13
+ destination: LonLat;
14
+ finalAzimuth: number;
15
+ }
7
16
 
8
17
  /**
9
18
  * Class represents a plant ellipsoid.
@@ -12,11 +21,35 @@ import { Quat } from "../math/Quat.js";
12
21
  * @param {number} polarSize - Polar ellipsoid size.
13
22
  */
14
23
  class Ellipsoid {
24
+
15
25
  /**
16
- * @param {number} equatorialSize - Equatorial ellipsoid size.
17
- * @param {number} polarSize - Polar ellipsoid size.
26
+ * Equatorial size
27
+ * @type {number}
28
+ * @protected
18
29
  */
19
- constructor(equatorialSize, polarSize) {
30
+ protected _a: number;
31
+
32
+ /**
33
+ * Polar size
34
+ * @type {number}
35
+ * @protected
36
+ */
37
+ protected _b: number;
38
+ protected _flattening: number;
39
+ protected _f: number;
40
+ protected _a2: number;
41
+ protected _b2: number;
42
+ protected _e: number;
43
+ protected _e2: number;
44
+ protected _e22: number;
45
+ protected _k: number;
46
+ protected _k2: number;
47
+ protected _radii: Vec3;
48
+ protected _radii2: Vec3;
49
+ protected _invRadii: Vec3;
50
+ public _invRadii2: Vec3;
51
+
52
+ constructor(equatorialSize: number = 1, polarSize: number = 1) {
20
53
  this._a = equatorialSize;
21
54
  this._b = polarSize;
22
55
  this._flattening = (equatorialSize - polarSize) / equatorialSize;
@@ -25,7 +58,7 @@ class Ellipsoid {
25
58
  this._a2 = equatorialSize * equatorialSize;
26
59
  this._b2 = polarSize * polarSize;
27
60
 
28
- var qa2b2 = Math.sqrt(this._a2 - this._b2);
61
+ const qa2b2 = Math.sqrt(this._a2 - this._b2);
29
62
 
30
63
  this._e = qa2b2 / equatorialSize;
31
64
  this._e2 = this._e * this._e;
@@ -42,11 +75,11 @@ class Ellipsoid {
42
75
 
43
76
  /**
44
77
  * Returns the distance travelling from ‘this’ point to destination point along a rhumb line.
45
- * @param {LonLat} start coordinates.
46
- * @param {LonLat} end coordinates
78
+ * @param {LonLat} startLonLat coordinates.
79
+ * @param {LonLat} endLonLat coordinates
47
80
  * @returns {number} Distance in m between this point and destination point (same units as radius).
48
81
  */
49
- rhumbDistanceTo(startLonLat, endLonLat) {
82
+ public rhumbDistanceTo(startLonLat: LonLat, endLonLat: LonLat): number {
50
83
  const f1 = startLonLat.lat * RADIANS;
51
84
  const f2 = endLonLat.lat * RADIANS;
52
85
  const df = f2 - f1;
@@ -65,11 +98,9 @@ class Ellipsoid {
65
98
  * @param {number} fraction - Fraction between the two points (0 = source point, 1 = destination point).
66
99
  * @returns {LonLat} Intermediate point between points.
67
100
  */
68
- getIntermediatePointOnGreatCircle(lonLat1, lonLat2, fraction) {
69
-
101
+ public getIntermediatePointOnGreatCircle(lonLat1: LonLat, lonLat2: LonLat, fraction: number): LonLat {
70
102
  if (fraction == 0) return lonLat1.clone();
71
103
  if (fraction == 1) return lonLat2.clone();
72
-
73
104
  const inverse = this.inverse(lonLat1, lonLat2);
74
105
  const dist = inverse.distance;
75
106
  const azimuth = inverse.initialAzimuth;
@@ -82,17 +113,17 @@ class Ellipsoid {
82
113
  * @param lonLat2
83
114
  * @returns {number}
84
115
  */
85
- static getBearing(lonLat1, lonLat2) {
86
- var f1 = lonLat1.lat * RADIANS,
116
+ static getBearing(lonLat1: LonLat, lonLat2: LonLat): number {
117
+ let f1 = lonLat1.lat * RADIANS,
87
118
  l1 = lonLat1.lon * RADIANS;
88
- var f2 = lonLat2.lat * RADIANS,
119
+ let f2 = lonLat2.lat * RADIANS,
89
120
  l2 = lonLat2.lon * RADIANS;
90
- var y = Math.sin(l2 - l1) * Math.cos(f2);
91
- var x = Math.cos(f1) * Math.sin(f2) - Math.sin(f1) * Math.cos(f2) * Math.cos(l2 - l1);
121
+ let y = Math.sin(l2 - l1) * Math.cos(f2);
122
+ let x = Math.cos(f1) * Math.sin(f2) - Math.sin(f1) * Math.cos(f2) * Math.cos(l2 - l1);
92
123
  return Math.atan2(y, x) * DEGREES;
93
124
  }
94
125
 
95
- getFlattening() {
126
+ public getFlattening(): number {
96
127
  return this._flattening;
97
128
  }
98
129
 
@@ -101,26 +132,42 @@ class Ellipsoid {
101
132
  * @public
102
133
  * @returns {number} -
103
134
  */
104
- getEquatorialSize() {
135
+ public getEquatorialSize(): number {
136
+ return this._a;
137
+ }
138
+
139
+ public get equatorialSize(): number {
105
140
  return this._a;
106
141
  }
107
142
 
143
+ public get equatorialSizeSqr(): number {
144
+ return this._a2;
145
+ }
146
+
108
147
  /**
109
148
  * Gets ellipsoid polar size.
110
149
  * @public
111
150
  * @returns {number} -
112
151
  */
113
- getPolarSize() {
152
+ public getPolarSize(): number {
114
153
  return this._b;
115
154
  }
116
155
 
156
+ public get polarSize(): number {
157
+ return this._b;
158
+ }
159
+
160
+ public get polarSizeSqr(): number {
161
+ return this._b2;
162
+ }
163
+
117
164
  /**
118
165
  * Calculate cartesian coordinates by its ECEF geodetic coordinates.
119
166
  * @public
120
167
  * @param {LonLat} lonlat - Geodetic coordinates.
121
168
  * @returns {Vec3} -
122
169
  */
123
- lonLatToCartesian(lonlat) {
170
+ public lonLatToCartesian(lonlat: LonLat): Vec3 {
124
171
  return this.geodeticToCartesian(lonlat.lon, lonlat.lat, lonlat.height);
125
172
  }
126
173
 
@@ -131,7 +178,7 @@ class Ellipsoid {
131
178
  * @param {Vec3} res - Output variable reference.
132
179
  * @returns {Vec3} -
133
180
  */
134
- lonLatToCartesianRes(lonlat, res) {
181
+ public lonLatToCartesianRes(lonlat: LonLat, res: Vec3): Vec3 {
135
182
  return this.geodeticToCartesian(lonlat.lon, lonlat.lat, lonlat.height, res);
136
183
  }
137
184
 
@@ -141,11 +188,10 @@ class Ellipsoid {
141
188
  * @param {Number} lon - Longitude.
142
189
  * @param {Number} lat - Latitude.
143
190
  * @param {Number} height - Height.
191
+ * @param {Vec3} res - Output result variable.
144
192
  * @returns {Vec3} -
145
193
  */
146
- geodeticToCartesian(lon, lat, height = 0, res) {
147
- res = res || new Vec3();
148
-
194
+ public geodeticToCartesian(lon: number, lat: number, height: number = 0, res: Vec3 = new Vec3()): Vec3 {
149
195
  let latrad = RADIANS * lat,
150
196
  lonrad = RADIANS * lon;
151
197
 
@@ -167,7 +213,7 @@ class Ellipsoid {
167
213
  * @param {Vec3} p - Cartesian coordinates.
168
214
  * @returns {LonLat} -
169
215
  */
170
- projToSurface(p) {
216
+ public projToSurface(p: Vec3): Vec3 {
171
217
 
172
218
  let pX = p.x || 0.0,
173
219
  pY = p.y || 0.0,
@@ -226,7 +272,7 @@ class Ellipsoid {
226
272
  * @param {Vec3} cart - Cartesian coordinates
227
273
  * @returns {LonLat} - Geodetic coordinates
228
274
  */
229
- cartesianToLonLat(cart) {
275
+ public cartesianToLonLat(cart: Vec3): LonLat {
230
276
  return this.cartesianToLonLatRes(cart);
231
277
  }
232
278
 
@@ -236,8 +282,7 @@ class Ellipsoid {
236
282
  * @param {LonLat} res - Link geodetic coordinates variable
237
283
  * @returns {LonLat} - Geodetic coordinates
238
284
  */
239
- cartesianToLonLatRes(cart, res) {
240
- res = res || new LonLat();
285
+ public cartesianToLonLatRes(cart: Vec3, res: LonLat = new LonLat()): LonLat {
241
286
  let p = this.projToSurface(cart);
242
287
  let n = this.getSurfaceNormal3v(p),
243
288
  h = cart.sub(p);
@@ -255,7 +300,7 @@ class Ellipsoid {
255
300
  * @param {Vec3} coord - Spatial coordinates.
256
301
  * @return {Vec3} -
257
302
  */
258
- getSurfaceNormal3v(coord) {
303
+ public getSurfaceNormal3v(coord: Vec3): Vec3 {
259
304
  let r2 = this._invRadii2;
260
305
  let nx = coord.x * r2.x,
261
306
  ny = coord.y * r2.y,
@@ -264,7 +309,7 @@ class Ellipsoid {
264
309
  return new Vec3(nx * l, ny * l, nz * l);
265
310
  }
266
311
 
267
- getGreatCircleDistance(lonLat1, lonLat2) {
312
+ public getGreatCircleDistance(lonLat1: LonLat, lonLat2: LonLat): number {
268
313
  return this.inverse(lonLat1, lonLat2).distance;
269
314
  }
270
315
 
@@ -277,11 +322,11 @@ class Ellipsoid {
277
322
  * @param {number} dist - Distance to the destination point coordinates in meters
278
323
  * @returns {LonLat} - Destination point coordinates
279
324
  */
280
- getGreatCircleDestination(lonLat, azimuth, dist) {
325
+ public getGreatCircleDestination(lonLat: LonLat, azimuth: number, dist: number): LonLat {
281
326
  return this.direct(lonLat, azimuth, dist).destination;
282
327
  }
283
328
 
284
- inverse(lonLat1, lonLat2) {
329
+ public inverse(lonLat1: LonLat, lonLat2: LonLat): IInverseResult {
285
330
 
286
331
  let a = this._a, b = this._b, f = this._flattening;
287
332
 
@@ -346,9 +391,11 @@ class Ellipsoid {
346
391
  * @param {number} dist - Distance to the destination point coordinates in meters
347
392
  * @returns {LonLat} - Destination point coordinates
348
393
  */
349
- direct(lonLat, azimuth, dist) {
394
+ public direct(lonLat: LonLat, azimuth: number, dist: number): IDirectResult {
395
+
350
396
  let lon1 = lonLat.lon,
351
397
  lat1 = lonLat.lat;
398
+
352
399
  let a = this._a,
353
400
  b = this._b,
354
401
  f = this._flattening,
@@ -367,19 +414,26 @@ class Ellipsoid {
367
414
  B = (uSq / 1024) * (256 + uSq * (-128 + uSq * (74 - 47 * uSq))),
368
415
  sigma = s / (b * A),
369
416
  sigmaP = 2 * Math.PI;
417
+
418
+ let cos2SigmaM = 0,
419
+ sinSigma = 0,
420
+ cosSigma = 0,
421
+ deltaSigma = 0;
422
+
370
423
  while (Math.abs(sigma - sigmaP) > 1e-12) {
371
- var cos2SigmaM = Math.cos(2 * sigma1 + sigma),
372
- sinSigma = Math.sin(sigma),
373
- cosSigma = Math.cos(sigma),
374
- deltaSigma = B * sinSigma *
375
- (cos2SigmaM + (B / 4) *
376
- (
377
- cosSigma * (-1 + 2 * cos2SigmaM * cos2SigmaM) -
378
- (B / 6) * cos2SigmaM * (-3 + 4 * sinSigma * sinSigma) * (-3 + 4 * cos2SigmaM * cos2SigmaM)
379
- ));
424
+ cos2SigmaM = Math.cos(2 * sigma1 + sigma);
425
+ sinSigma = Math.sin(sigma);
426
+ cosSigma = Math.cos(sigma);
427
+ deltaSigma = B * sinSigma *
428
+ (cos2SigmaM + (B / 4) *
429
+ (
430
+ cosSigma * (-1 + 2 * cos2SigmaM * cos2SigmaM) -
431
+ (B / 6) * cos2SigmaM * (-3 + 4 * sinSigma * sinSigma) * (-3 + 4 * cos2SigmaM * cos2SigmaM)
432
+ ));
380
433
  sigmaP = sigma;
381
434
  sigma = s / (b * A) + deltaSigma;
382
435
  }
436
+
383
437
  let tmp = sinU1 * sinSigma - cosU1 * cosSigma * cosAlpha1,
384
438
  lat2 = Math.atan2(
385
439
  sinU1 * cosSigma + cosU1 * sinSigma * cosAlpha1,
@@ -408,20 +462,20 @@ class Ellipsoid {
408
462
  * @param {Vec3} direction - Ray direction.
409
463
  * @returns {Vec3} -
410
464
  */
411
- hitRay(origin, direction) {
412
- var q = this._invRadii.mul(origin);
413
- var w = this._invRadii.mul(direction);
465
+ public hitRay(origin: Vec3, direction: Vec3): Vec3 | undefined {
466
+ let q = this._invRadii.mul(origin);
467
+ let w = this._invRadii.mul(direction);
414
468
 
415
- var q2 = q.dot(q);
416
- var qw = q.dot(w);
469
+ let q2 = q.dot(q);
470
+ let qw = q.dot(w);
417
471
 
418
- var difference, w2, product, discriminant, temp;
472
+ let difference, w2, product, discriminant, temp;
419
473
 
420
474
  if (q2 > 1.0) {
421
475
  // Outside ellipsoid.
422
476
  if (qw >= 0.0) {
423
477
  // Looking outward or tangent (0 intersections).
424
- return null;
478
+ return undefined;
425
479
  }
426
480
 
427
481
  // qw < 0.0.
@@ -434,7 +488,7 @@ class Ellipsoid {
434
488
 
435
489
  if (eps > EPS15 && qw2 < product) {
436
490
  // Imaginary roots (0 intersections).
437
- return null;
491
+ return undefined;
438
492
  } else if (qw2 > product) {
439
493
  // Distinct roots (2 intersections).
440
494
  discriminant = qw * qw - product;
@@ -470,7 +524,7 @@ class Ellipsoid {
470
524
  }
471
525
  }
472
526
 
473
- getNorthFrameRotation(cartesian) {
527
+ public getNorthFrameRotation(cartesian: Vec3): Quat {
474
528
  let n = this.getSurfaceNormal3v(cartesian);
475
529
  let t = Vec3.proj_b_to_plane(Vec3.NORTH, n);
476
530
  return Quat.getLookRotation(t, n);
@@ -483,7 +537,7 @@ class Ellipsoid {
483
537
  * @param distance
484
538
  * @returns {LonLat}
485
539
  */
486
- getBearingDestination(lonLat1, bearing = 0.0, distance = 0) {
540
+ public getBearingDestination(lonLat1: LonLat, bearing: number = 0.0, distance: number = 0): LonLat {
487
541
  bearing = bearing * RADIANS;
488
542
  var nlon = ((lonLat1.lon + 540) % 360) - 180;
489
543
  var f1 = lonLat1.lat * RADIANS,
@@ -510,7 +564,7 @@ class Ellipsoid {
510
564
  * @param {number} fraction - Fraction between the two points (0 = source point, 1 = destination point).
511
565
  * @returns {LonLat} Intermediate point between points.
512
566
  */
513
- static getIntermediatePointOnGreatCircle(lonLat1, lonLat2, fraction) {
567
+ static getIntermediatePointOnGreatCircle(lonLat1: LonLat, lonLat2: LonLat, fraction: number): LonLat {
514
568
  var f1 = lonLat1.lat * RADIANS,
515
569
  l1 = lonLat1.lon * RADIANS;
516
570
  var f2 = lonLat2.lat * RADIANS,
@@ -545,7 +599,7 @@ class Ellipsoid {
545
599
  return new LonLat(((l3 * DEGREES + 540) % 360) - 180, f3 * DEGREES);
546
600
  }
547
601
 
548
- static getRhumbBearing(lonLat1, lonLat2) {
602
+ static getRhumbBearing(lonLat1: LonLat, lonLat2: LonLat): number {
549
603
  var dLon = (lonLat2.lon - lonLat1.lon) * RADIANS;
550
604
  var dPhi = Math.log(
551
605
  Math.tan((lonLat2.lat * RADIANS) / 2 + Math.PI / 4) /
@@ -562,4 +616,4 @@ class Ellipsoid {
562
616
  }
563
617
  }
564
618
 
565
- export { Ellipsoid };
619
+ export {Ellipsoid};
@@ -0,0 +1,4 @@
1
+ import {Ellipsoid} from './Ellipsoid';
2
+ import {wgs84} from './wgs84';
3
+
4
+ export {Ellipsoid, wgs84};
@@ -1,6 +1,4 @@
1
- "use strict";
2
-
3
- import { Ellipsoid } from "./Ellipsoid.js";
1
+ import {Ellipsoid} from "./Ellipsoid";
4
2
 
5
3
  /**
6
4
  * WGS84 ellipsoid object.