@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,8 +1,4 @@
1
- /**
2
- * @module og/math
3
- */
4
-
5
- "use strict";
1
+ import {Vec3} from "./math/Vec3";
6
2
 
7
3
  /** @const */
8
4
  export const TWO_PI = 2.0 * Math.PI;
@@ -81,7 +77,7 @@ export const EPS20 = 1e-20;
81
77
  * log(64, 2)
82
78
  * //returns 6
83
79
  */
84
- export function log(n, base) {
80
+ export function log(n: number, base: number): number {
85
81
  return Math.log(n) / Math.log(base);
86
82
  }
87
83
 
@@ -96,7 +92,7 @@ export function log(n, base) {
96
92
  * clamp(12, 1, 5)
97
93
  * //returns 5
98
94
  */
99
- export function clamp(number, min, max) {
95
+ export function clamp(number: number, min: number, max: number): number {
100
96
  return Math.max(min, Math.min(number, max));
101
97
  }
102
98
 
@@ -106,7 +102,7 @@ export function clamp(number, min, max) {
106
102
  * @param {number} degrees - Degree value.
107
103
  * @returns {number} -
108
104
  */
109
- export function DEG2RAD(degrees) {
105
+ export function DEG2RAD(degrees: number): number {
110
106
  return degrees * RADIANS;
111
107
  }
112
108
 
@@ -116,7 +112,7 @@ export function DEG2RAD(degrees) {
116
112
  * @param {number} angle - Degree value.
117
113
  * @returns {number} -
118
114
  */
119
- export function RAD2DEG(angle) {
115
+ export function RAD2DEG(angle: number): number {
120
116
  return angle * DEGREES;
121
117
  }
122
118
 
@@ -126,7 +122,7 @@ export function RAD2DEG(angle) {
126
122
  * @param {number} x - Input value.
127
123
  * @returns {boolean} -
128
124
  */
129
- export function isPowerOfTwo(x) {
125
+ export function isPowerOfTwo(x: number): boolean {
130
126
  return (x & (x - 1)) === 0;
131
127
  }
132
128
 
@@ -134,9 +130,10 @@ export function isPowerOfTwo(x) {
134
130
  * Returns next value that is power of two.
135
131
  * @function
136
132
  * @param {number} x - Input value.
133
+ * @param {number} [maxValue=4096] - Maximal value.
137
134
  * @returns {number} -
138
135
  */
139
- export function nextHighestPowerOfTwo(x, maxValue = 4096) {
136
+ export function nextHighestPowerOfTwo(x: number, maxValue: number = 4096): number {
140
137
  --x;
141
138
  for (let i = 1; i < 32; i <<= 1) {
142
139
  x = x | (x >> i);
@@ -151,7 +148,7 @@ export function nextHighestPowerOfTwo(x, maxValue = 4096) {
151
148
  * @param {number} max - Maximal bound.
152
149
  * @returns {number} -
153
150
  */
154
- export function randomi(min = 0, max = 1) {
151
+ export function randomi(min: number = 0, max: number = 1): number {
155
152
  return Math.floor(Math.random() * (max - min)) + min;
156
153
  }
157
154
 
@@ -162,7 +159,7 @@ export function randomi(min = 0, max = 1) {
162
159
  * @param {number} [max=1] - Maximal bound.
163
160
  * @returns {number} -
164
161
  */
165
- export function random(min = 0, max = 1) {
162
+ export function random(min: number = 0, max: number = 1): number {
166
163
  return Math.random() * (max - min) + min;
167
164
  }
168
165
 
@@ -175,7 +172,7 @@ export function random(min = 0, max = 1) {
175
172
  * @param {boolean} [p] - Positive flag. False - default.
176
173
  * @returns {number} -
177
174
  **/
178
- export function degToDec(d, m, s, p) {
175
+ export function degToDec(d: number, m: number, s: number, p: number): number {
179
176
  if (p) {
180
177
  return d + m / 60.0 + s / 3600.0;
181
178
  } else {
@@ -190,7 +187,7 @@ export function degToDec(d, m, s, p) {
190
187
  * @param {number} n - The divisor.
191
188
  * @returns {number} The remainder.
192
189
  */
193
- export function mod(m, n) {
190
+ export function mod(m: number, n: number): number {
194
191
  return ((m % n) + n) % n;
195
192
  }
196
193
 
@@ -200,7 +197,7 @@ export function mod(m, n) {
200
197
  * @param {number} a - Angle in radians
201
198
  * @returns {number} -
202
199
  */
203
- export function zeroTwoPI(a) {
200
+ export function zeroTwoPI(a: number): number {
204
201
  const res = mod(a, TWO_PI);
205
202
  if (Math.abs(res) < EPS14 && Math.abs(a) > EPS14) {
206
203
  return TWO_PI;
@@ -215,17 +212,17 @@ export function zeroTwoPI(a) {
215
212
  * @param {number} x - Value to edge.
216
213
  * @returns {number} -
217
214
  */
218
- export function step(edge, x) {
215
+ export function step(edge: number, x: number): number {
219
216
  return x < edge ? 0.0 : 1.0;
220
217
  }
221
218
 
222
219
  /**
223
- * The fract function returns the fractional part of x, i.e. x minus floor(x).
220
+ * The frac function returns the fractional part of x, i.e. x minus floor(x).
224
221
  * @function
225
222
  * @param {number} x - Input value.
226
223
  * @returns {number} -
227
224
  */
228
- export function frac(x) {
225
+ export function frac(x: number): number {
229
226
  const mx = Math.abs(x)
230
227
  return mx - Math.floor(mx);
231
228
  }
@@ -236,7 +233,7 @@ export function frac(x) {
236
233
  * @param {number} x - Input value.
237
234
  * @returns {number} -
238
235
  */
239
- export function log2(x) {
236
+ export function log2(x: number): number {
240
237
  return Math.log(x) / LOG2;
241
238
  }
242
239
 
@@ -246,7 +243,7 @@ export function log2(x) {
246
243
  * @param {number} n - Power value.
247
244
  * @returns {number} -
248
245
  */
249
- export function exp2(n) {
246
+ export function exp2(n: number): number {
250
247
  return Math.pow(2, n);
251
248
  }
252
249
 
@@ -256,7 +253,7 @@ export function exp2(n) {
256
253
  * @param {number} n - Integer power value.
257
254
  * @returns {number} -
258
255
  */
259
- export function pow2i(n) {
256
+ export function pow2i(n: number): number {
260
257
  return 2 << (n - 1);
261
258
  }
262
259
 
@@ -267,7 +264,7 @@ export function pow2i(n) {
267
264
  * @param {number} h0 - Start value.
268
265
  * @returns {number} -
269
266
  */
270
- export function slice(t, h1, h0) {
267
+ export function slice(t: number, h1: number, h0: number): number {
271
268
  return t * (h1 - h0);
272
269
  }
273
270
 
@@ -279,19 +276,19 @@ export function slice(t, h1, h0) {
279
276
  * @param {number} h0 - Start value.
280
277
  * @returns {number} -
281
278
  */
282
- export function lerp(t, h1, h0) {
279
+ export function lerp(t: number, h1: number, h0: number): number {
283
280
  return h0 + t * (h1 - h0);
284
281
  }
285
282
 
286
- export function cube(f) {
283
+ export function cube(f: number): number {
287
284
  return f * f * f;
288
285
  }
289
286
 
290
- export function square(f) {
287
+ export function square(f: number): number {
291
288
  return f * f;
292
289
  }
293
290
 
294
- export function bezier1v(t, p0, p1, p2, p3) {
291
+ export function bezier1v(t: number, p0: number, p1: number, p2: number, p3: number): number {
295
292
  return (
296
293
  cube(1 - t) * p0 + 3 * square(1 - t) * t * p1 + 3 * (1 - t) * square(t) * p2 + cube(t) * p3
297
294
  );
@@ -307,15 +304,15 @@ export function bezier1v(t, p0, p1, p2, p3) {
307
304
  * @param {Vec3} p3 - Fourth control point.
308
305
  * @returns {Vec3} -
309
306
  */
310
- export function bezier3v(t, p0, p1, p2, p3) {
311
- var u = 1 - t;
312
- var tt = t * t;
313
- var uu = u * u;
314
- var uuu = uu * u;
315
- var ttt = tt * t;
316
-
317
- return p0
318
- .scaleTo(uuu)
307
+ export function bezier3v(t: number, p0: Vec3, p1: Vec3, p2: Vec3, p3: Vec3): Vec3 {
308
+
309
+ let u = 1 - t;
310
+ let tt = t * t;
311
+ let uu = u * u;
312
+ let uuu = uu * u;
313
+ let ttt = tt * t;
314
+
315
+ return p0.scaleTo(uuu)
319
316
  .addA(p1.scaleTo(3 * uu * t))
320
317
  .addA(p2.scaleTo(3 * u * tt))
321
318
  .addA(p3.scaleTo(ttt));
@@ -327,7 +324,7 @@ export function bezier3v(t, p0, p1, p2, p3) {
327
324
  * @param {number} x - Input angle.
328
325
  * @returns {number} -
329
326
  */
330
- export function rev(x) {
327
+ export function rev(x: number): number {
331
328
  return x - Math.floor(x / 360.0) * 360.0;
332
329
  }
333
330
 
@@ -337,7 +334,7 @@ export function rev(x) {
337
334
  * @param {number} lon - Longitude.
338
335
  * @returns {number} -
339
336
  */
340
- export function norm_lon(lon) {
337
+ export function norm_lon(lon: number): number {
341
338
  return lon > 180 ? ((lon + 180) % 360) - 180 : lon < -180 ? ((lon - 180) % 360) + 180 : lon;
342
339
  }
343
340
 
@@ -347,21 +344,21 @@ export function norm_lon(lon) {
347
344
  * @param {number} a - Angle in radians.
348
345
  * @returns {number} -
349
346
  */
350
- export function negativePItoPI(a) {
347
+ export function negativePItoPI(a: number): number {
351
348
  return zeroTwoPI(a + Math.PI) - Math.PI;
352
349
  }
353
350
 
354
351
  /**
355
352
  * Solve using iteration method and a fixed number of steps.
356
353
  * @function
357
- * @param {equationCallback} f - Equation. Used in Euler's equation(see og.orbit) solving.
354
+ * @param {Function} f - Equation. Used in Euler's equation(see og.orbit) solving.
358
355
  * @param {number} x0 - First approximation.
359
356
  * @param {number} maxIter - Maximum iterations.
360
357
  * @returns {number} -
361
358
  */
362
- export function solve_iteration_fixed(f, x0, maxIter) {
363
- var x = 0;
364
- var x2 = x0;
359
+ export function solve_iteration_fixed(f: (x: number) => number, x0: number, maxIter: number): number {
360
+ let x = 0;
361
+ let x2 = x0;
365
362
  for (let i = 0; i < maxIter; i++) {
366
363
  x = x2;
367
364
  x2 = f(x);
@@ -373,15 +370,15 @@ export function solve_iteration_fixed(f, x0, maxIter) {
373
370
  * Solve using iteration; terminate when error is below err or the maximum
374
371
  * number of iterations is reached. Used in Euler's equation(see og.orbit) solving.
375
372
  * @function
376
- * @param {equationCallback} f - Equation.
373
+ * @param {(x: number) => number} f - Equation.
377
374
  * @param {number} x0 - First approximation.
378
375
  * @param {number} err - Maximal accepted error value.
379
376
  * @param {number} maxIter - Maximum iterations.
380
377
  * @returns {number} -
381
378
  */
382
- export function solve_iteration(f, x0, err, maxIter = 50) {
383
- var x = 0;
384
- var x2 = x0;
379
+ export function solve_iteration(f: (x: number) => number, x0: number, err: number, maxIter: number = 50): number {
380
+ let x = 0;
381
+ let x2 = x0;
385
382
  for (let i = 0; i < maxIter; i++) {
386
383
  x = x2;
387
384
  x2 = f(x);
@@ -404,7 +401,7 @@ export function solve_iteration(f, x0, err, maxIter = 50) {
404
401
  * @param b - Second bearing angle
405
402
  * @returns {number}
406
403
  */
407
- function getAngleDirection(a, b) {
404
+ function getAngleDirection(a: number, b: number): number {
408
405
  let a_y = Math.cos(a),
409
406
  a_x = Math.sin(a),
410
407
  b_y = Math.cos(b),
@@ -423,7 +420,7 @@ function getAngleDirection(a, b) {
423
420
  * @param {number} b - Second azimuth angle
424
421
  * @returns {number}
425
422
  */
426
- export function getAngleBetweenAzimuths(a, b) {
423
+ export function getAngleBetweenAzimuths(a: number, b: number): number {
427
424
  a = zeroTwoPI(a);
428
425
  b = zeroTwoPI(b);
429
426
  return ((((a - b) % 360) + 360 + 180) % 360) - 180;
@@ -1,149 +1,143 @@
1
- /**
2
- * @module og/mercator
3
- */
4
-
5
- 'use strict';
6
-
7
- import { Extent } from "./Extent.js";
8
- import { LonLat } from './LonLat.js';
9
-
10
- /**
11
- * Mercator size.
12
- * @const
13
- * @type {number}
14
- */
15
- export const POLE = 20037508.34;
16
-
17
- export const POLE2 = POLE * 2.0;
18
-
19
- export const PI_BY_POLE = Math.PI / POLE;
20
-
21
- export const POLE_BY_PI = POLE / Math.PI;
22
-
23
- const HALF_PI = Math.PI * 0.5;
24
-
25
- export const POLE_BY_180 = POLE / 180.0;
26
-
27
- export const INV_POLE_BY_180 = 180.0 / POLE;
28
-
29
- const PI_BY_360 = Math.PI / 360.0;
30
-
31
- const PI_BY_180 = Math.PI / 180.0;
32
-
33
- const INV_PI_BY_180 = 180.0 / Math.PI;
34
-
35
- /**
36
- * Double mercator size.
37
- * @const
38
- * @type {number}
39
- */
40
- export const POLE_DOUBLE = 2.0 * POLE;
41
-
42
- /**
43
- * One by mercator double size.
44
- * @const
45
- * @type {number}
46
- */
47
- export const ONE_BY_POLE_DOUBLE = 1.0 / POLE_DOUBLE;
48
-
49
- export function forward(lonLat) {
50
- return new LonLat(lonLat.lon * POLE / 180.0, Math.log(Math.tan((90.0 + lonLat.lat) * PI_BY_360)) * POLE_BY_PI, lonLat.height);
51
- }
52
-
53
- /**
54
- * Converts degrees longitude to mercator coordinate.
55
- * @function
56
- * @param {number} lon - Degrees geodetic longitude.
57
- * @returns {number} -
58
- */
59
- export function forward_lon(lon) {
60
- return lon * POLE / 180.0;
61
- }
62
-
63
- /**
64
- * Converts degrees latitude to mercator coordinate.
65
- * @function
66
- * @param {number} lat - Degrees geodetic latitude.
67
- * @returns {number} -
68
- */
69
- export function forward_lat(lat) {
70
- return Math.log(Math.tan((90.0 + lat) * PI_BY_360)) * POLE_BY_PI;
71
- }
72
-
73
- /**
74
- * Converts mercator longitude to degrees coordinate.
75
- * @function
76
- * @param {number} lon - Mercator longitude.
77
- * @returns {number} -
78
- */
79
- export function inverse_lon(lon) {
80
- return 180 * lon / POLE;
81
- }
82
-
83
- /**
84
- * Converts mercator latitude to degrees coordinate.
85
- * @function
86
- * @param {number} lon - Mercator latitude.
87
- * @returns {number} -
88
- */
89
- export function inverse_lat(lat) {
90
- return INV_PI_BY_180 * (2.0 * Math.atan(Math.exp(lat * PI_BY_POLE)) - HALF_PI);
91
- }
92
-
93
- /**
94
- * Returns mercator map tile grid horizontal coordinate index by geodetic
95
- * longitude and zoom level. Where top left corner of the grid is 0 coordinate index.
96
- * @function
97
- * @param {number} lon - Geodetic degrees longitude.
98
- * @param {number} zoom - Zoom level.
99
- * @returns {number}
100
- */
101
- export function getTileX(lon, zoom) {
102
- return Math.floor((lon + 180) / 360.0 * Math.pow(2, zoom));
103
- }
104
-
105
- /**
106
- * Returns mercator map tile grid vertical coordinate index by geodetic
107
- * latitude and zoom level. Where top left corner of the grid is 0 coordinate index.
108
- * @function
109
- * @param {number} lat - Geodetic degrees latitude.
110
- * @param {number} zoom - Zoom level.
111
- * @returns {number}
112
- */
113
- export function getTileY(lat, zoom) {
114
- return Math.floor((1.0 - Math.log(Math.tan(lat * PI_BY_180) + 1.0 / Math.cos(lat * PI_BY_180)) / Math.PI) * 0.5 * Math.pow(2, zoom));
115
- }
116
-
117
- /**
118
- * Converts geodetic coordinate array to mercator coordinate array.
119
- * @function
120
- * @param {Array.<LonLat>} lonLatArr - LonLat array to convert.
121
- * @returns {Array.<LonLat>}
122
- */
123
- export function forwardArray(lonlatArr) {
124
- var res = [];
125
- for (let i = 0; i < lonlatArr.length; i++) {
126
- res.push(lonlatArr[i].forwardMercator());
127
- }
128
- return res;
129
- }
130
-
131
- export function getTileExtent(x, y, z) {
132
- let size = POLE2 / Math.pow(2, z),
133
- sw = new LonLat(-POLE + x * size, POLE - y * size - size);
134
- return new Extent(sw, new LonLat(sw.lon + size, sw.lat + size));
135
- }
136
-
137
- /**
138
- * Max mercator latitude.
139
- * @const
140
- * @type {number}
141
- */
142
- export const MAX_LAT = inverse_lat(POLE);
143
-
144
- /**
145
- * Min mercator latitude.
146
- * @const
147
- * @type {number}
148
- */
149
- export const MIN_LAT = -MAX_LAT;
1
+ import { Extent } from "./Extent";
2
+ import { LonLat } from './LonLat';
3
+
4
+ /**
5
+ * Mercator size.
6
+ * @const
7
+ * @type {number}
8
+ */
9
+ export const POLE = 20037508.34;
10
+
11
+ export const POLE2 = POLE * 2.0;
12
+
13
+ export const PI_BY_POLE = Math.PI / POLE;
14
+
15
+ export const POLE_BY_PI = POLE / Math.PI;
16
+
17
+ const HALF_PI = Math.PI * 0.5;
18
+
19
+ export const POLE_BY_180 = POLE / 180.0;
20
+
21
+ export const INV_POLE_BY_180 = 180.0 / POLE;
22
+
23
+ const PI_BY_360 = Math.PI / 360.0;
24
+
25
+ const PI_BY_180 = Math.PI / 180.0;
26
+
27
+ const INV_PI_BY_180 = 180.0 / Math.PI;
28
+
29
+ /**
30
+ * Double mercator size.
31
+ * @const
32
+ * @type {number}
33
+ */
34
+ export const POLE_DOUBLE = 2.0 * POLE;
35
+
36
+ /**
37
+ * One by mercator double size.
38
+ * @const
39
+ * @type {number}
40
+ */
41
+ export const ONE_BY_POLE_DOUBLE = 1.0 / POLE_DOUBLE;
42
+
43
+ export function forward(lonLat: LonLat): LonLat {
44
+ return new LonLat(lonLat.lon * POLE / 180.0, Math.log(Math.tan((90.0 + lonLat.lat) * PI_BY_360)) * POLE_BY_PI, lonLat.height);
45
+ }
46
+
47
+ /**
48
+ * Converts degrees longitude to mercator coordinate.
49
+ * @function
50
+ * @param {number} lon - Degrees geodetic longitude.
51
+ * @returns {number} -
52
+ */
53
+ export function forward_lon(lon: number): number {
54
+ return lon * POLE / 180.0;
55
+ }
56
+
57
+ /**
58
+ * Converts degrees latitude to mercator coordinate.
59
+ * @function
60
+ * @param {number} lat - Degrees geodetic latitude.
61
+ * @returns {number} -
62
+ */
63
+ export function forward_lat(lat: number): number {
64
+ return Math.log(Math.tan((90.0 + lat) * PI_BY_360)) * POLE_BY_PI;
65
+ }
66
+
67
+ /**
68
+ * Converts mercator longitude to degrees coordinate.
69
+ * @function
70
+ * @param {number} lon - Mercator longitude.
71
+ * @returns {number} -
72
+ */
73
+ export function inverse_lon(lon: number): number {
74
+ return 180 * lon / POLE;
75
+ }
76
+
77
+ /**
78
+ * Converts mercator latitude to degrees coordinate.
79
+ * @function
80
+ * @param {number} lon - Mercator latitude.
81
+ * @returns {number} -
82
+ */
83
+ export function inverse_lat(lat: number): number {
84
+ return INV_PI_BY_180 * (2.0 * Math.atan(Math.exp(lat * PI_BY_POLE)) - HALF_PI);
85
+ }
86
+
87
+ /**
88
+ * Returns mercator map tile grid horizontal coordinate index by geodetic
89
+ * longitude and zoom level. Where top left corner of the grid is 0 coordinate index.
90
+ * @function
91
+ * @param {number} lon - Geodetic degrees longitude.
92
+ * @param {number} zoom - Zoom level.
93
+ * @returns {number}
94
+ */
95
+ export function getTileX(lon: number, zoom: number): number {
96
+ return Math.floor((lon + 180) / 360.0 * Math.pow(2, zoom));
97
+ }
98
+
99
+ /**
100
+ * Returns mercator map tile grid vertical coordinate index by geodetic
101
+ * latitude and zoom level. Where top left corner of the grid is 0 coordinate index.
102
+ * @function
103
+ * @param {number} lat - Geodetic degrees latitude.
104
+ * @param {number} zoom - Zoom level.
105
+ * @returns {number}
106
+ */
107
+ export function getTileY(lat: number, zoom: number): number {
108
+ return Math.floor((1.0 - Math.log(Math.tan(lat * PI_BY_180) + 1.0 / Math.cos(lat * PI_BY_180)) / Math.PI) * 0.5 * Math.pow(2, zoom));
109
+ }
110
+
111
+ /**
112
+ * Converts geodetic coordinate array to mercator coordinate array.
113
+ * @function
114
+ * @param {Array.<LonLat>} lonLatArr - LonLat array to convert.
115
+ * @returns {Array.<LonLat>}
116
+ */
117
+ export function forwardArray(lonlatArr: LonLat[]): LonLat[] {
118
+ let res: LonLat[] = [];
119
+ for (let i = 0; i < lonlatArr.length; i++) {
120
+ res.push(lonlatArr[i].forwardMercator());
121
+ }
122
+ return res;
123
+ }
124
+
125
+ export function getTileExtent(x: number, y: number, z: number): Extent {
126
+ let size = POLE2 / Math.pow(2, z),
127
+ sw = new LonLat(-POLE + x * size, POLE - y * size - size);
128
+ return new Extent(sw, new LonLat(sw.lon + size, sw.lat + size));
129
+ }
130
+
131
+ /**
132
+ * Max mercator latitude.
133
+ * @const
134
+ * @type {number}
135
+ */
136
+ export const MAX_LAT = inverse_lat(POLE);
137
+
138
+ /**
139
+ * Min mercator latitude.
140
+ * @const
141
+ * @type {number}
142
+ */
143
+ export const MIN_LAT = -MAX_LAT;
@@ -2,9 +2,7 @@
2
2
  * @module og/proj/EPSG3857
3
3
  */
4
4
 
5
- "use strict";
6
-
7
- import { Proj, Units } from "./Proj.js";
5
+ import { Proj, Units } from "./Proj";
8
6
 
9
7
  /**
10
8
  * EPSG:3857 projection object.
@@ -1,13 +1,11 @@
1
- /**
2
- * @module og/proj/EPSG4326
3
- */
4
-
5
- "use strict";
6
-
7
- import { Proj, Units } from "./Proj.js";
8
-
9
- /**
10
- * EPSG:4326 projection object.
11
- * @type {Proj}
12
- */
13
- export const EPSG4326 = new Proj({ code: "epsg:4326", units: Units.DEGREES });
1
+ /**
2
+ * @module og/proj/EPSG4326
3
+ */
4
+
5
+ import { Proj, Units } from "./Proj";
6
+
7
+ /**
8
+ * EPSG:4326 projection object.
9
+ * @type {Proj}
10
+ */
11
+ export const EPSG4326 = new Proj({ code: "epsg:4326", units: Units.DEGREES });