@openglobus/og 0.17.2 → 0.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (845) hide show
  1. package/README.md +76 -47
  2. package/lib/@openglobus/og.esm.js +2 -0
  3. package/lib/@openglobus/og.esm.js.map +1 -0
  4. package/lib/@openglobus/og.umd.js +2 -0
  5. package/lib/@openglobus/og.umd.js.map +1 -0
  6. package/lib/@openglobus/res/fonts/Karla-Bold.json +5252 -0
  7. package/lib/@openglobus/res/fonts/Karla-Bold.ttf.cfg +920 -0
  8. package/lib/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
  9. package/lib/@openglobus/res/fonts/Karla-Light.json +5252 -0
  10. package/lib/@openglobus/res/fonts/Karla-Light.ttf.cfg +830 -0
  11. package/lib/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
  12. package/lib/@openglobus/res/fonts/Karla-Medium.json +5252 -0
  13. package/lib/@openglobus/res/fonts/Karla-Medium.ttf.cfg +1196 -0
  14. package/lib/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
  15. package/lib/@openglobus/res/fonts/NotoSansArabic-Regular.json +3332 -0
  16. package/lib/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +1370 -0
  17. package/lib/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
  18. package/lib/@openglobus/res/fonts/Roboto-Regular.json +37147 -0
  19. package/lib/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +1340 -0
  20. package/lib/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
  21. package/lib/@openglobus/res/fonts/arial.json +4321 -0
  22. package/lib/@openglobus/res/fonts/arial.ttf.cfg +1570 -0
  23. package/lib/@openglobus/res/fonts/arial.ttf.png +0 -0
  24. package/lib/@openglobus/res/night-4326.png +0 -0
  25. package/lib/@openglobus/res/night.png +0 -0
  26. package/lib/@openglobus/res/spec.png +0 -0
  27. package/lib/js/Clock.d.ts +106 -0
  28. package/lib/js/Clock.js +141 -0
  29. package/lib/js/Deferred.d.ts +6 -0
  30. package/lib/js/Deferred.js +13 -0
  31. package/lib/js/Events.d.ts +90 -0
  32. package/lib/js/Events.js +145 -0
  33. package/lib/js/Extent.d.ts +145 -0
  34. package/lib/js/Extent.js +278 -0
  35. package/lib/js/Globe.d.ts +132 -0
  36. package/lib/js/Globe.js +265 -0
  37. package/lib/js/ImageCanvas.d.ts +128 -0
  38. package/lib/js/ImageCanvas.js +203 -0
  39. package/lib/js/Lock.d.ts +15 -0
  40. package/lib/js/Lock.js +27 -0
  41. package/lib/js/LonLat.d.ts +128 -0
  42. package/lib/js/LonLat.js +192 -0
  43. package/lib/js/Object3d.d.ts +49 -0
  44. package/lib/js/Object3d.js +309 -0
  45. package/lib/js/Popup.d.ts +46 -0
  46. package/lib/js/Popup.js +160 -0
  47. package/lib/js/QueueArray.d.ts +16 -0
  48. package/lib/js/QueueArray.js +63 -0
  49. package/lib/js/Rectangle.d.ts +76 -0
  50. package/lib/js/Rectangle.js +77 -0
  51. package/lib/js/Stack.d.ts +20 -0
  52. package/lib/js/Stack.js +42 -0
  53. package/lib/js/astro/astro.d.ts +39 -0
  54. package/lib/js/astro/astro.js +43 -0
  55. package/lib/js/astro/earth.d.ts +8 -0
  56. package/lib/js/astro/earth.js +75 -0
  57. package/lib/js/astro/jd.d.ts +234 -0
  58. package/lib/js/astro/jd.js +416 -0
  59. package/lib/js/astro/orbit.d.ts +5 -0
  60. package/lib/js/astro/orbit.js +104 -0
  61. package/lib/js/astro/rotation.d.ts +2 -0
  62. package/lib/js/astro/rotation.js +25 -0
  63. package/lib/js/bv/Box.d.ts +32 -0
  64. package/lib/js/bv/Box.js +53 -0
  65. package/lib/js/bv/Sphere.d.ts +37 -0
  66. package/lib/js/bv/Sphere.js +31 -0
  67. package/lib/js/bv/index.d.ts +3 -0
  68. package/lib/js/bv/index.js +3 -0
  69. package/lib/js/camera/Camera.d.ts +314 -0
  70. package/lib/js/camera/Camera.js +453 -0
  71. package/lib/js/camera/Frustum.d.ts +139 -0
  72. package/lib/js/camera/Frustum.js +238 -0
  73. package/lib/js/camera/PlanetCamera.d.ts +234 -0
  74. package/lib/js/camera/PlanetCamera.js +465 -0
  75. package/lib/js/camera/index.d.ts +3 -0
  76. package/lib/js/camera/index.js +3 -0
  77. package/lib/js/cons.d.ts +40 -0
  78. package/lib/js/cons.js +92 -0
  79. package/lib/js/control/Atmosphere.d.ts +16 -0
  80. package/lib/js/control/Atmosphere.js +334 -0
  81. package/lib/js/control/CompassButton.d.ts +16 -0
  82. package/lib/js/control/CompassButton.js +118 -0
  83. package/lib/js/control/Control.d.ts +100 -0
  84. package/lib/js/control/Control.js +137 -0
  85. package/lib/js/control/DebugInfo.d.ts +25 -0
  86. package/lib/js/control/DebugInfo.js +281 -0
  87. package/lib/js/control/DrawingSwitcher.d.ts +13 -0
  88. package/lib/js/control/DrawingSwitcher.js +94 -0
  89. package/lib/js/control/EarthCoordinates.d.ts +41 -0
  90. package/lib/js/control/EarthCoordinates.js +161 -0
  91. package/lib/js/control/EarthNavigation.d.ts +50 -0
  92. package/lib/js/control/EarthNavigation.js +202 -0
  93. package/lib/js/control/GeoImageDragControl.d.ts +22 -0
  94. package/lib/js/control/GeoImageDragControl.js +102 -0
  95. package/lib/js/control/KeyboardNavigation.d.ts +28 -0
  96. package/lib/js/control/KeyboardNavigation.js +143 -0
  97. package/lib/js/control/LayerAnimation.d.ts +71 -0
  98. package/lib/js/control/LayerAnimation.js +283 -0
  99. package/lib/js/control/LayerSwitcher.d.ts +21 -0
  100. package/lib/js/control/LayerSwitcher.js +51 -0
  101. package/lib/js/control/Lighting.d.ts +49 -0
  102. package/lib/js/control/Lighting.js +412 -0
  103. package/lib/js/control/MouseNavigation.d.ts +62 -0
  104. package/lib/js/control/MouseNavigation.js +362 -0
  105. package/lib/js/control/MouseWheelZoomControl.d.ts +44 -0
  106. package/lib/js/control/MouseWheelZoomControl.js +181 -0
  107. package/lib/js/control/RulerSwitcher.d.ts +17 -0
  108. package/lib/js/control/RulerSwitcher.js +57 -0
  109. package/lib/js/control/ScaleControl.d.ts +24 -0
  110. package/lib/js/control/ScaleControl.js +91 -0
  111. package/lib/js/control/SegmentBoundVisualization.d.ts +12 -0
  112. package/lib/js/control/SegmentBoundVisualization.js +37 -0
  113. package/lib/js/control/ShowFps.d.ts +9 -0
  114. package/lib/js/control/ShowFps.js +20 -0
  115. package/lib/js/control/SimpleNavigation.d.ts +25 -0
  116. package/lib/js/control/SimpleNavigation.js +96 -0
  117. package/lib/js/control/SimpleSkyBackground.d.ts +15 -0
  118. package/lib/js/control/SimpleSkyBackground.js +177 -0
  119. package/lib/js/control/Sun.d.ts +33 -0
  120. package/lib/js/control/Sun.js +117 -0
  121. package/lib/js/control/ToggleWireframe.d.ts +14 -0
  122. package/lib/js/control/ToggleWireframe.js +28 -0
  123. package/lib/js/control/TouchNavigation.d.ts +52 -0
  124. package/lib/js/control/TouchNavigation.js +263 -0
  125. package/lib/js/control/ZoomControl.d.ts +27 -0
  126. package/lib/js/control/ZoomControl.js +86 -0
  127. package/lib/js/control/drawing/DrawingControl.d.ts +12 -0
  128. package/lib/js/control/drawing/DrawingControl.js +35 -0
  129. package/lib/js/control/drawing/LineStringDrawingScene.d.ts +15 -0
  130. package/lib/js/control/drawing/LineStringDrawingScene.js +139 -0
  131. package/lib/js/control/drawing/PolygonDrawingScene.d.ts +98 -0
  132. package/lib/js/control/drawing/PolygonDrawingScene.js +534 -0
  133. package/lib/js/control/elevationProfile/ElevationProfile.d.ts +61 -0
  134. package/lib/js/control/elevationProfile/ElevationProfile.js +217 -0
  135. package/lib/js/control/heightRuler/HeightRuler.d.ts +7 -0
  136. package/lib/js/control/heightRuler/HeightRuler.js +11 -0
  137. package/lib/js/control/heightRuler/HeightRulerScene.d.ts +35 -0
  138. package/lib/js/control/heightRuler/HeightRulerScene.js +181 -0
  139. package/lib/js/control/heightRuler/HeightRulerSwitcher.d.ts +6 -0
  140. package/lib/js/control/heightRuler/HeightRulerSwitcher.js +13 -0
  141. package/lib/js/control/index.d.ts +28 -0
  142. package/lib/js/control/index.js +28 -0
  143. package/lib/js/control/ruler/Ruler.d.ts +13 -0
  144. package/lib/js/control/ruler/Ruler.js +23 -0
  145. package/lib/js/control/ruler/RulerScene.d.ts +88 -0
  146. package/lib/js/control/ruler/RulerScene.js +324 -0
  147. package/lib/js/control/selection/Selection.d.ts +55 -0
  148. package/lib/js/control/selection/Selection.js +78 -0
  149. package/lib/js/control/selection/SelectionScene.d.ts +44 -0
  150. package/lib/js/control/selection/SelectionScene.js +272 -0
  151. package/lib/js/control/timeline/TimelineControl.d.ts +18 -0
  152. package/lib/js/control/timeline/TimelineControl.js +79 -0
  153. package/lib/js/control/timeline/TimelineModel.d.ts +41 -0
  154. package/lib/js/control/timeline/TimelineModel.js +104 -0
  155. package/lib/js/control/timeline/TimelineView.d.ts +85 -0
  156. package/lib/js/control/timeline/TimelineView.js +363 -0
  157. package/lib/js/control/timeline/timelineUtils.d.ts +12 -0
  158. package/lib/js/control/timeline/timelineUtils.js +112 -0
  159. package/lib/js/control/visibleExtent/Segment.d.ts +277 -0
  160. package/lib/js/control/visibleExtent/Segment.js +1301 -0
  161. package/lib/js/control/visibleExtent/VisibleExtent.d.ts +5 -0
  162. package/lib/js/control/visibleExtent/VisibleExtent.js +56 -0
  163. package/lib/js/control/visibleExtent/drawnode.d.ts +7 -0
  164. package/lib/js/control/visibleExtent/drawnode.js +718 -0
  165. package/lib/js/ellipsoid/Ellipsoid.d.ts +187 -0
  166. package/lib/js/ellipsoid/Ellipsoid.js +434 -0
  167. package/lib/js/ellipsoid/index.d.ts +3 -0
  168. package/lib/js/ellipsoid/index.js +3 -0
  169. package/lib/js/ellipsoid/wgs84.d.ts +6 -0
  170. package/lib/js/ellipsoid/wgs84.js +6 -0
  171. package/lib/js/entity/BaseBillboard.d.ts +222 -0
  172. package/lib/js/entity/BaseBillboard.js +284 -0
  173. package/lib/js/entity/BaseBillboardHandler.d.ts +81 -0
  174. package/lib/js/entity/BaseBillboardHandler.js +546 -0
  175. package/lib/js/entity/Billboard.d.ts +113 -0
  176. package/lib/js/entity/Billboard.js +127 -0
  177. package/lib/js/entity/BillboardHandler.d.ts +15 -0
  178. package/lib/js/entity/BillboardHandler.js +103 -0
  179. package/lib/js/entity/Entity.d.ts +354 -0
  180. package/lib/js/entity/Entity.js +515 -0
  181. package/lib/js/entity/EntityCollection.d.ts +364 -0
  182. package/lib/js/entity/EntityCollection.js +621 -0
  183. package/lib/js/entity/GeoObject.d.ts +138 -0
  184. package/lib/js/entity/GeoObject.js +194 -0
  185. package/lib/js/entity/GeoObjectHandler.d.ts +99 -0
  186. package/lib/js/entity/GeoObjectHandler.js +558 -0
  187. package/lib/js/entity/Geometry.d.ts +111 -0
  188. package/lib/js/entity/Geometry.js +283 -0
  189. package/lib/js/entity/GeometryHandler.d.ts +84 -0
  190. package/lib/js/entity/GeometryHandler.js +687 -0
  191. package/lib/js/entity/Label.d.ts +207 -0
  192. package/lib/js/entity/Label.js +291 -0
  193. package/lib/js/entity/LabelHandler.d.ts +65 -0
  194. package/lib/js/entity/LabelHandler.js +696 -0
  195. package/lib/js/entity/LabelWorker.d.ts +15 -0
  196. package/lib/js/entity/LabelWorker.js +163 -0
  197. package/lib/js/entity/PointCloud.d.ts +179 -0
  198. package/lib/js/entity/PointCloud.js +327 -0
  199. package/lib/js/entity/PointCloudHandler.d.ts +42 -0
  200. package/lib/js/entity/PointCloudHandler.js +82 -0
  201. package/lib/js/entity/Polyline.d.ts +337 -0
  202. package/lib/js/entity/Polyline.js +1546 -0
  203. package/lib/js/entity/PolylineHandler.d.ts +22 -0
  204. package/lib/js/entity/PolylineHandler.js +78 -0
  205. package/lib/js/entity/Ray.d.ts +133 -0
  206. package/lib/js/entity/Ray.js +171 -0
  207. package/lib/js/entity/RayHandler.d.ts +70 -0
  208. package/lib/js/entity/RayHandler.js +496 -0
  209. package/lib/js/entity/Strip.d.ts +127 -0
  210. package/lib/js/entity/Strip.js +401 -0
  211. package/lib/js/entity/StripHandler.d.ts +42 -0
  212. package/lib/js/entity/StripHandler.js +110 -0
  213. package/lib/js/entity/index.d.ts +11 -0
  214. package/lib/js/entity/index.js +11 -0
  215. package/lib/js/index.d.ts +33 -0
  216. package/lib/js/index.js +33 -0
  217. package/lib/js/input/KeyboardHandler.d.ts +33 -0
  218. package/lib/js/input/KeyboardHandler.js +157 -0
  219. package/lib/js/input/MouseHandler.d.ts +16 -0
  220. package/lib/js/input/MouseHandler.js +81 -0
  221. package/lib/js/input/TouchHandler.d.ts +11 -0
  222. package/lib/js/input/TouchHandler.js +42 -0
  223. package/lib/js/input/input.d.ts +3 -0
  224. package/lib/js/input/input.js +42 -0
  225. package/lib/js/layer/BaseGeoImage.d.ts +145 -0
  226. package/lib/js/layer/BaseGeoImage.js +382 -0
  227. package/lib/js/layer/CanvasTiles.d.ts +103 -0
  228. package/lib/js/layer/CanvasTiles.js +302 -0
  229. package/lib/js/layer/GeoImage.d.ts +61 -0
  230. package/lib/js/layer/GeoImage.js +130 -0
  231. package/lib/js/layer/GeoTexture2d.d.ts +17 -0
  232. package/lib/js/layer/GeoTexture2d.js +37 -0
  233. package/lib/js/layer/GeoVideo.d.ts +68 -0
  234. package/lib/js/layer/GeoVideo.js +157 -0
  235. package/lib/js/layer/KML.d.ts +72 -0
  236. package/lib/js/layer/KML.js +303 -0
  237. package/lib/js/layer/Layer.d.ts +401 -0
  238. package/lib/js/layer/Layer.js +732 -0
  239. package/lib/js/layer/Material.d.ts +34 -0
  240. package/lib/js/layer/Material.js +69 -0
  241. package/lib/js/layer/Vector.d.ts +244 -0
  242. package/lib/js/layer/Vector.js +849 -0
  243. package/lib/js/layer/WMS.d.ts +75 -0
  244. package/lib/js/layer/WMS.js +112 -0
  245. package/lib/js/layer/XYZ.d.ts +149 -0
  246. package/lib/js/layer/XYZ.js +299 -0
  247. package/lib/js/layer/index.d.ts +11 -0
  248. package/lib/js/layer/index.js +11 -0
  249. package/lib/js/light/LightSource.d.ts +174 -0
  250. package/lib/js/light/LightSource.js +292 -0
  251. package/lib/js/math/Line2.d.ts +11 -0
  252. package/lib/js/math/Line2.js +21 -0
  253. package/lib/js/math/Line3.d.ts +28 -0
  254. package/lib/js/math/Line3.js +85 -0
  255. package/lib/js/math/Mat3.d.ts +77 -0
  256. package/lib/js/math/Mat3.js +139 -0
  257. package/lib/js/math/Mat4.d.ts +195 -0
  258. package/lib/js/math/Mat4.js +470 -0
  259. package/lib/js/math/Plane.d.ts +20 -0
  260. package/lib/js/math/Plane.js +108 -0
  261. package/lib/js/math/Quat.d.ts +373 -0
  262. package/lib/js/math/Quat.js +783 -0
  263. package/lib/js/math/Ray.d.ts +76 -0
  264. package/lib/js/math/Ray.js +188 -0
  265. package/lib/js/math/Vec2.d.ts +310 -0
  266. package/lib/js/math/Vec2.js +463 -0
  267. package/lib/js/math/Vec3.d.ts +472 -0
  268. package/lib/js/math/Vec3.js +799 -0
  269. package/lib/js/math/Vec4.d.ts +163 -0
  270. package/lib/js/math/Vec4.js +211 -0
  271. package/lib/js/math/coder.d.ts +51 -0
  272. package/lib/js/math/coder.js +101 -0
  273. package/lib/js/math/index.d.ts +11 -0
  274. package/lib/js/math/index.js +11 -0
  275. package/lib/js/math.d.ts +266 -0
  276. package/lib/js/math.js +379 -0
  277. package/lib/js/mercator.d.ts +92 -0
  278. package/lib/js/mercator.js +119 -0
  279. package/lib/js/proj/EPSG3857.d.ts +9 -0
  280. package/lib/js/proj/EPSG3857.js +9 -0
  281. package/lib/js/proj/EPSG4326.d.ts +9 -0
  282. package/lib/js/proj/EPSG4326.js +9 -0
  283. package/lib/js/proj/Proj.d.ts +43 -0
  284. package/lib/js/proj/Proj.js +38 -0
  285. package/lib/js/quadTree/EPSG4326QuadTreeStrategy.d.ts +6 -0
  286. package/lib/js/quadTree/EPSG4326QuadTreeStrategy.js +17 -0
  287. package/lib/js/quadTree/EarthQuadTreeStrategy.d.ts +6 -0
  288. package/lib/js/quadTree/EarthQuadTreeStrategy.js +19 -0
  289. package/lib/js/quadTree/EntityCollectionNode.d.ts +54 -0
  290. package/lib/js/quadTree/EntityCollectionNode.js +328 -0
  291. package/lib/js/quadTree/MarsQuadTreeStrategy.d.ts +6 -0
  292. package/lib/js/quadTree/MarsQuadTreeStrategy.js +17 -0
  293. package/lib/js/quadTree/Node.d.ts +61 -0
  294. package/lib/js/quadTree/Node.js +660 -0
  295. package/lib/js/quadTree/QuadTreeStrategy.d.ts +25 -0
  296. package/lib/js/quadTree/QuadTreeStrategy.js +69 -0
  297. package/lib/js/quadTree/Wgs84QuadTreeStrategy.d.ts +6 -0
  298. package/lib/js/quadTree/Wgs84QuadTreeStrategy.js +15 -0
  299. package/lib/js/quadTree/index.d.ts +12 -0
  300. package/lib/js/quadTree/index.js +12 -0
  301. package/lib/js/quadTree/quadTree.d.ts +40 -0
  302. package/lib/js/quadTree/quadTree.js +66 -0
  303. package/lib/js/renderer/Renderer.d.ts +311 -0
  304. package/lib/js/renderer/Renderer.js +899 -0
  305. package/lib/js/renderer/RendererEvents.d.ts +237 -0
  306. package/lib/js/renderer/RendererEvents.js +848 -0
  307. package/lib/js/scene/Axes.d.ts +12 -0
  308. package/lib/js/scene/Axes.js +59 -0
  309. package/lib/js/scene/BaseNode.d.ts +61 -0
  310. package/lib/js/scene/BaseNode.js +69 -0
  311. package/lib/js/scene/Planet.d.ts +623 -0
  312. package/lib/js/scene/Planet.js +1431 -0
  313. package/lib/js/scene/RenderNode.d.ts +150 -0
  314. package/lib/js/scene/RenderNode.js +301 -0
  315. package/lib/js/scene/SkyBox.d.ts +13 -0
  316. package/lib/js/scene/SkyBox.js +87 -0
  317. package/lib/js/scene/index.d.ts +5 -0
  318. package/lib/js/scene/index.js +5 -0
  319. package/lib/js/segment/Segment.d.ts +278 -0
  320. package/lib/js/segment/Segment.js +1142 -0
  321. package/lib/js/segment/SegmentLonLat.d.ts +48 -0
  322. package/lib/js/segment/SegmentLonLat.js +214 -0
  323. package/lib/js/segment/SegmentLonLatWgs84.d.ts +10 -0
  324. package/lib/js/segment/SegmentLonLatWgs84.js +23 -0
  325. package/lib/js/segment/Slice.d.ts +13 -0
  326. package/lib/js/segment/Slice.js +33 -0
  327. package/lib/js/segment/segmentHelper.d.ts +18 -0
  328. package/lib/js/segment/segmentHelper.js +180 -0
  329. package/lib/js/shaders/atmos.d.ts +4 -0
  330. package/lib/js/shaders/atmos.js +312 -0
  331. package/lib/js/shaders/billboard.d.ts +3 -0
  332. package/lib/js/shaders/billboard.js +214 -0
  333. package/lib/js/shaders/bloom.d.ts +2 -0
  334. package/lib/js/shaders/bloom.js +32 -0
  335. package/lib/js/shaders/blur.d.ts +3 -0
  336. package/lib/js/shaders/blur.js +68 -0
  337. package/lib/js/shaders/depth.d.ts +2 -0
  338. package/lib/js/shaders/depth.js +43 -0
  339. package/lib/js/shaders/drawnode.d.ts +8 -0
  340. package/lib/js/shaders/drawnode.js +986 -0
  341. package/lib/js/shaders/geoObject.d.ts +3 -0
  342. package/lib/js/shaders/geoObject.js +256 -0
  343. package/lib/js/shaders/label.d.ts +4 -0
  344. package/lib/js/shaders/label.js +589 -0
  345. package/lib/js/shaders/lumFilter.d.ts +2 -0
  346. package/lib/js/shaders/lumFilter.js +36 -0
  347. package/lib/js/shaders/pickingMask.d.ts +2 -0
  348. package/lib/js/shaders/pickingMask.js +22 -0
  349. package/lib/js/shaders/pointCloud.d.ts +2 -0
  350. package/lib/js/shaders/pointCloud.js +32 -0
  351. package/lib/js/shaders/polyline.d.ts +3 -0
  352. package/lib/js/shaders/polyline.js +345 -0
  353. package/lib/js/shaders/ray.d.ts +2 -0
  354. package/lib/js/shaders/ray.js +76 -0
  355. package/lib/js/shaders/screenFrame.d.ts +2 -0
  356. package/lib/js/shaders/screenFrame.js +26 -0
  357. package/lib/js/shaders/skybox.d.ts +2 -0
  358. package/lib/js/shaders/skybox.js +28 -0
  359. package/lib/js/shaders/toneMapping.d.ts +2 -0
  360. package/lib/js/shaders/toneMapping.js +85 -0
  361. package/lib/js/shaders/utils.d.ts +1 -0
  362. package/lib/js/shaders/utils.js +86 -0
  363. package/lib/js/terrain/BilTerrain.d.ts +18 -0
  364. package/lib/js/terrain/BilTerrain.js +152 -0
  365. package/lib/js/terrain/EmptyTerrain.d.ts +106 -0
  366. package/lib/js/terrain/EmptyTerrain.js +106 -0
  367. package/lib/js/terrain/Geoid.d.ts +33 -0
  368. package/lib/js/terrain/Geoid.js +191 -0
  369. package/lib/js/terrain/GlobusTerrain.d.ts +134 -0
  370. package/lib/js/terrain/GlobusTerrain.js +332 -0
  371. package/lib/js/terrain/MapboxTerrain.d.ts +21 -0
  372. package/lib/js/terrain/MapboxTerrain.js +298 -0
  373. package/lib/js/terrain/index.d.ts +5 -0
  374. package/lib/js/terrain/index.js +5 -0
  375. package/lib/js/ui/Button.d.ts +32 -0
  376. package/lib/js/ui/Button.js +78 -0
  377. package/lib/js/ui/ButtonGroup.d.ts +16 -0
  378. package/lib/js/ui/ButtonGroup.js +41 -0
  379. package/lib/js/ui/Dialog.d.ts +55 -0
  380. package/lib/js/ui/Dialog.js +173 -0
  381. package/lib/js/ui/Slider.d.ts +38 -0
  382. package/lib/js/ui/Slider.js +129 -0
  383. package/lib/js/ui/ToggleButton.d.ts +20 -0
  384. package/lib/js/ui/ToggleButton.js +42 -0
  385. package/lib/js/ui/View.d.ts +37 -0
  386. package/lib/js/ui/View.js +151 -0
  387. package/lib/js/ui/icons.d.ts +1 -0
  388. package/lib/js/ui/icons.js +3 -0
  389. package/lib/js/utils/BaseWorker.d.ts +14 -0
  390. package/lib/js/utils/BaseWorker.js +47 -0
  391. package/lib/js/utils/FontAtlas.d.ts +82 -0
  392. package/lib/js/utils/FontAtlas.js +220 -0
  393. package/lib/js/utils/GeoImageCreator.d.ts +34 -0
  394. package/lib/js/utils/GeoImageCreator.js +163 -0
  395. package/lib/js/utils/ImagesCacheManager.d.ts +22 -0
  396. package/lib/js/utils/ImagesCacheManager.js +63 -0
  397. package/lib/js/utils/Loader.d.ts +63 -0
  398. package/lib/js/utils/Loader.js +156 -0
  399. package/lib/js/utils/NormalMapCreator.d.ts +52 -0
  400. package/lib/js/utils/NormalMapCreator.js +310 -0
  401. package/lib/js/utils/PlainSegmentWorker.d.ts +24 -0
  402. package/lib/js/utils/PlainSegmentWorker.js +383 -0
  403. package/lib/js/utils/TerrainWorker.d.ts +28 -0
  404. package/lib/js/utils/TerrainWorker.js +551 -0
  405. package/lib/js/utils/TextureAtlas.d.ts +113 -0
  406. package/lib/js/utils/TextureAtlas.js +231 -0
  407. package/lib/js/utils/VectorTileCreator.d.ts +18 -0
  408. package/lib/js/utils/VectorTileCreator.js +320 -0
  409. package/lib/js/utils/colorTable.d.ts +3 -0
  410. package/lib/js/utils/colorTable.js +143 -0
  411. package/lib/js/utils/earcut.d.ts +7 -0
  412. package/lib/js/utils/earcut.js +536 -0
  413. package/lib/js/utils/objParser.d.ts +24 -0
  414. package/lib/js/utils/objParser.js +201 -0
  415. package/lib/js/utils/shared.d.ts +267 -0
  416. package/lib/js/utils/shared.js +893 -0
  417. package/lib/js/utils/units.d.ts +16 -0
  418. package/lib/js/utils/units.js +61 -0
  419. package/lib/js/webgl/BaseFramebuffer.d.ts +53 -0
  420. package/lib/js/webgl/BaseFramebuffer.js +88 -0
  421. package/lib/js/webgl/Framebuffer.d.ts +69 -0
  422. package/lib/js/webgl/Framebuffer.js +149 -0
  423. package/lib/js/webgl/Handler.d.ts +473 -0
  424. package/lib/js/webgl/Handler.js +1003 -0
  425. package/lib/js/webgl/Multisample.d.ts +27 -0
  426. package/lib/js/webgl/Multisample.js +77 -0
  427. package/lib/js/webgl/Program.d.ts +159 -0
  428. package/lib/js/webgl/Program.js +314 -0
  429. package/lib/js/webgl/ProgramController.d.ts +86 -0
  430. package/lib/js/webgl/ProgramController.js +110 -0
  431. package/lib/js/webgl/index.d.ts +6 -0
  432. package/lib/js/webgl/index.js +6 -0
  433. package/lib/js/webgl/types.d.ts +9 -0
  434. package/lib/js/webgl/types.js +26 -0
  435. package/lib/js/webgl/variableHandlers.d.ts +22 -0
  436. package/lib/js/webgl/variableHandlers.js +78 -0
  437. package/package.json +29 -38
  438. package/dist/@openglobus/og.esm.js +0 -21
  439. package/dist/@openglobus/og.esm.js.map +0 -1
  440. package/dist/@openglobus/og.umd.js +0 -21
  441. package/dist/@openglobus/og.umd.js.map +0 -1
  442. package/src/og/Clock.js +0 -214
  443. package/src/og/Deferred.js +0 -11
  444. package/src/og/Events.js +0 -185
  445. package/src/og/Extent.js +0 -352
  446. package/src/og/Globe.js +0 -342
  447. package/src/og/ImageCanvas.js +0 -236
  448. package/src/og/Lock.js +0 -44
  449. package/src/og/LonLat.js +0 -220
  450. package/src/og/Object3d.js +0 -395
  451. package/src/og/Popup.js +0 -187
  452. package/src/og/QueueArray.js +0 -75
  453. package/src/og/Rectangle.js +0 -111
  454. package/src/og/Stack.js +0 -49
  455. package/src/og/astro/astro.js +0 -51
  456. package/src/og/astro/earth.js +0 -112
  457. package/src/og/astro/jd.js +0 -514
  458. package/src/og/astro/orbit.js +0 -119
  459. package/src/og/astro/rotation.js +0 -36
  460. package/src/og/bv/Box.js +0 -77
  461. package/src/og/bv/Sphere.js +0 -57
  462. package/src/og/bv/index.js +0 -4
  463. package/src/og/camera/Camera.js +0 -645
  464. package/src/og/camera/Frustum.js +0 -331
  465. package/src/og/camera/PlanetCamera.js +0 -674
  466. package/src/og/camera/index.js +0 -4
  467. package/src/og/cons.js +0 -108
  468. package/src/og/control/Atmosphere.js +0 -387
  469. package/src/og/control/CompassButton.js +0 -146
  470. package/src/og/control/Control.js +0 -198
  471. package/src/og/control/DebugInfo.js +0 -259
  472. package/src/og/control/DrawingSwitcher.js +0 -117
  473. package/src/og/control/EarthCoordinates.js +0 -214
  474. package/src/og/control/EarthNavigation.js +0 -258
  475. package/src/og/control/GeoImageDragControl.js +0 -117
  476. package/src/og/control/KeyboardNavigation.js +0 -172
  477. package/src/og/control/LayerAnimation.js +0 -379
  478. package/src/og/control/LayerSwitcher.js +0 -424
  479. package/src/og/control/Lighting.js +0 -487
  480. package/src/og/control/MouseNavigation.js +0 -436
  481. package/src/og/control/MouseWheelZoomControl.js +0 -253
  482. package/src/og/control/RulerSwitcher.js +0 -74
  483. package/src/og/control/ScaleControl.js +0 -119
  484. package/src/og/control/SegmentBoundVisualization.js +0 -54
  485. package/src/og/control/ShowFps.js +0 -40
  486. package/src/og/control/SimpleNavigation.js +0 -123
  487. package/src/og/control/SimpleSkyBackground.js +0 -206
  488. package/src/og/control/Sun.js +0 -176
  489. package/src/og/control/ToggleWireframe.js +0 -35
  490. package/src/og/control/TouchNavigation.js +0 -350
  491. package/src/og/control/ZoomControl.js +0 -115
  492. package/src/og/control/drawing/DrawingControl.js +0 -51
  493. package/src/og/control/drawing/LineStringDrawingScene.js +0 -203
  494. package/src/og/control/drawing/PolygonDrawingScene.js +0 -785
  495. package/src/og/control/elevationProfile/ElevationProfile.js +0 -275
  496. package/src/og/control/heightRuler/HeightRuler.js +0 -12
  497. package/src/og/control/heightRuler/HeightRulerScene.js +0 -228
  498. package/src/og/control/heightRuler/HeightRulerSwitcher.js +0 -15
  499. package/src/og/control/index.js +0 -56
  500. package/src/og/control/ruler/Ruler.js +0 -39
  501. package/src/og/control/ruler/RulerScene.js +0 -395
  502. package/src/og/control/selection/Selection.js +0 -95
  503. package/src/og/control/selection/SelectionScene.js +0 -345
  504. package/src/og/control/timeline/TimelineControl.js +0 -100
  505. package/src/og/control/timeline/TimelineModel.js +0 -137
  506. package/src/og/control/timeline/TimelineView.js +0 -462
  507. package/src/og/control/timeline/timelineUtils.js +0 -132
  508. package/src/og/control/visibleExtent/Segment.js +0 -1854
  509. package/src/og/control/visibleExtent/VisibleExtent.js +0 -80
  510. package/src/og/control/visibleExtent/drawnode.js +0 -747
  511. package/src/og/ellipsoid/Ellipsoid.js +0 -565
  512. package/src/og/ellipsoid/index.js +0 -4
  513. package/src/og/ellipsoid/wgs84.js +0 -9
  514. package/src/og/entity/BaseBillboard.js +0 -375
  515. package/src/og/entity/Billboard.js +0 -161
  516. package/src/og/entity/BillboardHandler.js +0 -883
  517. package/src/og/entity/Entity.js +0 -728
  518. package/src/og/entity/EntityCollection.js +0 -830
  519. package/src/og/entity/GeoObject.js +0 -244
  520. package/src/og/entity/GeoObjectHandler.js +0 -744
  521. package/src/og/entity/Geometry.js +0 -320
  522. package/src/og/entity/GeometryHandler.js +0 -1340
  523. package/src/og/entity/Label.js +0 -345
  524. package/src/og/entity/LabelHandler.js +0 -895
  525. package/src/og/entity/LabelWorker.js +0 -194
  526. package/src/og/entity/PointCloud.js +0 -491
  527. package/src/og/entity/PointCloudHandler.js +0 -122
  528. package/src/og/entity/Polyline.js +0 -2203
  529. package/src/og/entity/PolylineHandler.js +0 -105
  530. package/src/og/entity/Ray.js +0 -262
  531. package/src/og/entity/RayHandler.js +0 -841
  532. package/src/og/entity/Strip.js +0 -628
  533. package/src/og/entity/StripHandler.js +0 -158
  534. package/src/og/entity/index.js +0 -9
  535. package/src/og/index.js +0 -112
  536. package/src/og/input/KeyboardHandler.js +0 -195
  537. package/src/og/input/MouseHandler.js +0 -94
  538. package/src/og/input/TouchHandler.js +0 -59
  539. package/src/og/input/input.js +0 -44
  540. package/src/og/layer/BaseGeoImage.js +0 -480
  541. package/src/og/layer/CanvasTiles.js +0 -360
  542. package/src/og/layer/GeoImage.js +0 -150
  543. package/src/og/layer/GeoTexture2d.js +0 -50
  544. package/src/og/layer/GeoVideo.js +0 -187
  545. package/src/og/layer/KML.js +0 -358
  546. package/src/og/layer/Layer.js +0 -907
  547. package/src/og/layer/Material.js +0 -98
  548. package/src/og/layer/Vector.js +0 -1068
  549. package/src/og/layer/WMS.js +0 -182
  550. package/src/og/layer/XYZ.js +0 -374
  551. package/src/og/layer/index.js +0 -11
  552. package/src/og/light/LightSource.js +0 -362
  553. package/src/og/math/Line2.js +0 -28
  554. package/src/og/math/Line3.js +0 -140
  555. package/src/og/math/Mat3.js +0 -152
  556. package/src/og/math/Mat4.js +0 -603
  557. package/src/og/math/Plane.js +0 -117
  558. package/src/og/math/Quat.js +0 -980
  559. package/src/og/math/Ray.js +0 -237
  560. package/src/og/math/Vec2.js +0 -520
  561. package/src/og/math/Vec3.js +0 -931
  562. package/src/og/math/Vec4.js +0 -256
  563. package/src/og/math/coder.js +0 -104
  564. package/src/og/math/index.js +0 -23
  565. package/src/og/math.js +0 -430
  566. package/src/og/mercator.js +0 -149
  567. package/src/og/proj/EPSG3857.js +0 -13
  568. package/src/og/proj/EPSG4326.js +0 -13
  569. package/src/og/proj/Proj.js +0 -59
  570. package/src/og/quadTree/EPSG4326QuadTreeStrategy.js +0 -27
  571. package/src/og/quadTree/EarthQuadTreeStrategy.js +0 -30
  572. package/src/og/quadTree/EntityCollectionNode.js +0 -391
  573. package/src/og/quadTree/MarsQuadTreeStrategy.js +0 -28
  574. package/src/og/quadTree/Node.js +0 -785
  575. package/src/og/quadTree/QuadTreeStrategy.js +0 -94
  576. package/src/og/quadTree/Wgs84QuadTreeStrategy.js +0 -27
  577. package/src/og/quadTree/index.js +0 -14
  578. package/src/og/quadTree/quadTree.js +0 -77
  579. package/src/og/renderer/Renderer.js +0 -1185
  580. package/src/og/renderer/RendererEvents.js +0 -1094
  581. package/src/og/res/images.js +0 -8
  582. package/src/og/scene/Axes.js +0 -74
  583. package/src/og/scene/BaseNode.js +0 -109
  584. package/src/og/scene/Planet.js +0 -1931
  585. package/src/og/scene/RenderNode.js +0 -392
  586. package/src/og/scene/SkyBox.js +0 -104
  587. package/src/og/scene/index.js +0 -5
  588. package/src/og/segment/Segment.js +0 -1687
  589. package/src/og/segment/SegmentLonLat.js +0 -294
  590. package/src/og/segment/SegmentLonLatWgs84.js +0 -40
  591. package/src/og/segment/Slice.js +0 -45
  592. package/src/og/segment/segmentHelper.js +0 -230
  593. package/src/og/shaders/atmos.js +0 -332
  594. package/src/og/shaders/billboard.js +0 -225
  595. package/src/og/shaders/bloom.js +0 -37
  596. package/src/og/shaders/blur.js +0 -79
  597. package/src/og/shaders/depth.js +0 -48
  598. package/src/og/shaders/drawnode.js +0 -1040
  599. package/src/og/shaders/geoObject.js +0 -270
  600. package/src/og/shaders/label.js +0 -604
  601. package/src/og/shaders/lumFilter.js +0 -41
  602. package/src/og/shaders/pickingMask.js +0 -27
  603. package/src/og/shaders/pointCloud.js +0 -38
  604. package/src/og/shaders/polyline.js +0 -557
  605. package/src/og/shaders/ray.js +0 -81
  606. package/src/og/shaders/screenFrame.js +0 -31
  607. package/src/og/shaders/skybox.js +0 -33
  608. package/src/og/shaders/toneMapping.js +0 -90
  609. package/src/og/shaders/utils.js +0 -88
  610. package/src/og/terrain/BilTerrain.js +0 -243
  611. package/src/og/terrain/EmptyTerrain.js +0 -174
  612. package/src/og/terrain/Geoid.js +0 -247
  613. package/src/og/terrain/GlobusTerrain.js +0 -483
  614. package/src/og/terrain/MapboxTerrain.js +0 -470
  615. package/src/og/terrain/index.js +0 -6
  616. package/src/og/ui/Button.js +0 -107
  617. package/src/og/ui/ButtonGroup.js +0 -57
  618. package/src/og/ui/Dialog.js +0 -239
  619. package/src/og/ui/Slider.js +0 -170
  620. package/src/og/ui/ToggleButton.js +0 -51
  621. package/src/og/ui/UIhelpers.js +0 -155
  622. package/src/og/ui/View.js +0 -190
  623. package/src/og/ui/icons.js +0 -3
  624. package/src/og/utils/BaseWorker.js +0 -46
  625. package/src/og/utils/FontAtlas.js +0 -218
  626. package/src/og/utils/GeoImageCreator.js +0 -204
  627. package/src/og/utils/ImagesCacheManager.js +0 -70
  628. package/src/og/utils/Loader.js +0 -188
  629. package/src/og/utils/NormalMapCreator.js +0 -404
  630. package/src/og/utils/PlainSegmentWorker.js +0 -398
  631. package/src/og/utils/TerrainWorker.js +0 -573
  632. package/src/og/utils/TextureAtlas.js +0 -291
  633. package/src/og/utils/VectorTileCreator.js +0 -391
  634. package/src/og/utils/colorTable.js +0 -145
  635. package/src/og/utils/earcut.js +0 -661
  636. package/src/og/utils/functionComposition.js +0 -13
  637. package/src/og/utils/objParser.js +0 -227
  638. package/src/og/utils/shared.js +0 -989
  639. package/src/og/utils/units.js +0 -78
  640. package/src/og/webgl/Framebuffer.js +0 -311
  641. package/src/og/webgl/Handler.js +0 -1170
  642. package/src/og/webgl/Multisample.js +0 -275
  643. package/src/og/webgl/Program.js +0 -407
  644. package/src/og/webgl/ProgramController.js +0 -143
  645. package/src/og/webgl/callbacks.js +0 -98
  646. package/src/og/webgl/index.js +0 -13
  647. package/src/og/webgl/types.js +0 -31
  648. package/src/og.jsdoc +0 -3
  649. package/types/Clock.d.ts +0 -99
  650. package/types/Deferred.d.ts +0 -6
  651. package/types/Events.d.ts +0 -78
  652. package/types/Extent.d.ts +0 -166
  653. package/types/Globe.d.ts +0 -108
  654. package/types/ImageCanvas.d.ts +0 -128
  655. package/types/Lock.d.ts +0 -12
  656. package/types/LonLat.d.ts +0 -127
  657. package/types/Object3d.d.ts +0 -35
  658. package/types/Popup.d.ts +0 -29
  659. package/types/QueueArray.d.ts +0 -19
  660. package/types/Rectangle.d.ts +0 -80
  661. package/types/Stack.d.ts +0 -19
  662. package/types/arial.d.ts +0 -49
  663. package/types/astro/astro.d.ts +0 -38
  664. package/types/astro/earth.d.ts +0 -7
  665. package/types/astro/jd.d.ts +0 -254
  666. package/types/bv/Box.d.ts +0 -30
  667. package/types/bv/Sphere.d.ts +0 -38
  668. package/types/bv/index.d.ts +0 -3
  669. package/types/camera/Camera.d.ts +0 -314
  670. package/types/camera/Frustum.d.ts +0 -133
  671. package/types/camera/PlanetCamera.d.ts +0 -219
  672. package/types/camera/index.d.ts +0 -3
  673. package/types/cons.d.ts +0 -40
  674. package/types/control/Atmosphere.d.ts +0 -15
  675. package/types/control/CompassButton.d.ts +0 -16
  676. package/types/control/Control.d.ts +0 -104
  677. package/types/control/DebugInfo.d.ts +0 -19
  678. package/types/control/DrawingSwitcher.d.ts +0 -13
  679. package/types/control/EarthCoordinates.d.ts +0 -44
  680. package/types/control/EarthNavigation.d.ts +0 -43
  681. package/types/control/GeoImageDragControl.d.ts +0 -14
  682. package/types/control/KeyboardNavigation.d.ts +0 -24
  683. package/types/control/LayerAnimation.d.ts +0 -73
  684. package/types/control/LayerSwitcher.d.ts +0 -64
  685. package/types/control/Lighting.d.ts +0 -41
  686. package/types/control/MouseNavigation.d.ts +0 -49
  687. package/types/control/MouseWheelZoomControl.d.ts +0 -46
  688. package/types/control/ScaleControl.d.ts +0 -23
  689. package/types/control/ShowFps.d.ts +0 -11
  690. package/types/control/SimpleNavigation.d.ts +0 -26
  691. package/types/control/SimpleSkyBackground.d.ts +0 -15
  692. package/types/control/Sun.d.ts +0 -53
  693. package/types/control/ToggleWireframe.d.ts +0 -12
  694. package/types/control/TouchNavigation.d.ts +0 -54
  695. package/types/control/ZoomControl.d.ts +0 -26
  696. package/types/control/drawing/DrawingControl.d.ts +0 -14
  697. package/types/control/drawing/LineStringDrawingScene.d.ts +0 -5
  698. package/types/control/drawing/PolygonDrawingScene.d.ts +0 -99
  699. package/types/control/heightRuler/HeightRuler.d.ts +0 -6
  700. package/types/control/heightRuler/HeightRulerScene.d.ts +0 -23
  701. package/types/control/index.d.ts +0 -27
  702. package/types/control/ruler/Ruler.d.ts +0 -13
  703. package/types/control/ruler/RulerScene.d.ts +0 -51
  704. package/types/control/selection/Selection.d.ts +0 -49
  705. package/types/control/selection/SelectionScene.d.ts +0 -32
  706. package/types/control/timeline/TimelineControl.d.ts +0 -10
  707. package/types/control/timeline/TimelineModel.d.ts +0 -33
  708. package/types/control/timeline/TimelineView.d.ts +0 -57
  709. package/types/control/timeline/timelineUtils.d.ts +0 -9
  710. package/types/ellipsoid/Ellipsoid.d.ts +0 -170
  711. package/types/ellipsoid/index.d.ts +0 -3
  712. package/types/ellipsoid/wgs84.d.ts +0 -6
  713. package/types/entity/BaseBillboard.d.ts +0 -215
  714. package/types/entity/Billboard.d.ts +0 -94
  715. package/types/entity/BillboardHandler.d.ts +0 -75
  716. package/types/entity/Entity.d.ts +0 -340
  717. package/types/entity/EntityCollection.d.ts +0 -303
  718. package/types/entity/GeoObject.d.ts +0 -117
  719. package/types/entity/GeoObjectHandler.d.ts +0 -41
  720. package/types/entity/Geometry.d.ts +0 -79
  721. package/types/entity/GeometryHandler.d.ts +0 -76
  722. package/types/entity/Label.d.ts +0 -190
  723. package/types/entity/LabelHandler.d.ts +0 -31
  724. package/types/entity/LabelWorker.d.ts +0 -9
  725. package/types/entity/PointCloud.d.ts +0 -174
  726. package/types/entity/PointCloudHandler.d.ts +0 -38
  727. package/types/entity/Polyline.d.ts +0 -307
  728. package/types/entity/PolylineHandler.d.ts +0 -18
  729. package/types/entity/Ray.d.ts +0 -122
  730. package/types/entity/RayHandler.d.ts +0 -63
  731. package/types/entity/Strip.d.ts +0 -119
  732. package/types/entity/StripHandler.d.ts +0 -38
  733. package/types/entity/index.d.ts +0 -8
  734. package/types/index.d.ts +0 -53
  735. package/types/input/KeyboardHandler.d.ts +0 -17
  736. package/types/input/MouseHandler.d.ts +0 -5
  737. package/types/input/TouchHandler.d.ts +0 -5
  738. package/types/input/input.d.ts +0 -42
  739. package/types/layer/BaseGeoImage.d.ts +0 -116
  740. package/types/layer/CanvasTiles.d.ts +0 -73
  741. package/types/layer/GeoImage.d.ts +0 -51
  742. package/types/layer/GeoTexture2d.d.ts +0 -7
  743. package/types/layer/GeoVideo.d.ts +0 -47
  744. package/types/layer/KML.d.ts +0 -93
  745. package/types/layer/Layer.d.ts +0 -320
  746. package/types/layer/Material.d.ts +0 -45
  747. package/types/layer/Vector.d.ts +0 -211
  748. package/types/layer/WMS.d.ts +0 -66
  749. package/types/layer/XYZ.d.ts +0 -122
  750. package/types/layer/index.d.ts +0 -10
  751. package/types/light/LightSource.d.ts +0 -178
  752. package/types/math/Line2.d.ts +0 -11
  753. package/types/math/Line3.d.ts +0 -10
  754. package/types/math/Mat3.d.ts +0 -65
  755. package/types/math/Mat4.d.ts +0 -176
  756. package/types/math/Plane.d.ts +0 -18
  757. package/types/math/Quat.d.ts +0 -379
  758. package/types/math/Ray.d.ts +0 -82
  759. package/types/math/Vec2.d.ts +0 -309
  760. package/types/math/Vec3.d.ts +0 -472
  761. package/types/math/Vec4.d.ts +0 -161
  762. package/types/math/coder.d.ts +0 -43
  763. package/types/math/index.d.ts +0 -11
  764. package/types/math.d.ts +0 -268
  765. package/types/mercator.d.ts +0 -92
  766. package/types/proj/EPSG3857.d.ts +0 -6
  767. package/types/proj/EPSG4326.d.ts +0 -6
  768. package/types/proj/Proj.d.ts +0 -42
  769. package/types/quadTree/EPSG4326QuadTreeStrategy.d.ts +0 -3
  770. package/types/quadTree/EarthQuadTreeStrategy.d.ts +0 -3
  771. package/types/quadTree/EntityCollectionNode.d.ts +0 -41
  772. package/types/quadTree/MarsQuadTreeStrategy.d.ts +0 -3
  773. package/types/quadTree/Node.d.ts +0 -58
  774. package/types/quadTree/QuadTreeStrategy.d.ts +0 -21
  775. package/types/quadTree/Wgs84QuadTreeStrategy.d.ts +0 -3
  776. package/types/quadTree/index.d.ts +0 -12
  777. package/types/quadTree/quadTree.d.ts +0 -40
  778. package/types/renderer/Renderer.d.ts +0 -291
  779. package/types/renderer/RendererEvents.d.ts +0 -241
  780. package/types/res/images.d.ts +0 -2
  781. package/types/scene/Axes.d.ts +0 -10
  782. package/types/scene/BaseNode.d.ts +0 -60
  783. package/types/scene/Planet.d.ts +0 -594
  784. package/types/scene/RenderNode.d.ts +0 -152
  785. package/types/scene/SkyBox.d.ts +0 -9
  786. package/types/scene/index.d.ts +0 -4
  787. package/types/segment/Segment.d.ts +0 -273
  788. package/types/segment/SegmentLonLat.d.ts +0 -22
  789. package/types/segment/SegmentLonLatWgs84.d.ts +0 -4
  790. package/types/segment/Slice.d.ts +0 -10
  791. package/types/segment/segmentHelper.d.ts +0 -13
  792. package/types/shaders/atmos.d.ts +0 -4
  793. package/types/shaders/billboard.d.ts +0 -3
  794. package/types/shaders/depth.d.ts +0 -2
  795. package/types/shaders/drawnode.d.ts +0 -8
  796. package/types/shaders/geoObject.d.ts +0 -3
  797. package/types/shaders/label.d.ts +0 -4
  798. package/types/shaders/pickingMask.d.ts +0 -2
  799. package/types/shaders/pointCloud.d.ts +0 -2
  800. package/types/shaders/polyline.d.ts +0 -3
  801. package/types/shaders/ray.d.ts +0 -2
  802. package/types/shaders/screenFrame.d.ts +0 -2
  803. package/types/shaders/skybox.d.ts +0 -2
  804. package/types/shaders/toneMapping.d.ts +0 -2
  805. package/types/shaders/utils.d.ts +0 -1
  806. package/types/terrain/BilTerrain.d.ts +0 -14
  807. package/types/terrain/EmptyTerrain.d.ts +0 -87
  808. package/types/terrain/Geoid.d.ts +0 -17
  809. package/types/terrain/GlobusTerrain.d.ts +0 -122
  810. package/types/terrain/MapboxTerrain.d.ts +0 -14
  811. package/types/terrain/index.d.ts +0 -5
  812. package/types/ui/Button.d.ts +0 -21
  813. package/types/ui/ButtonGroup.d.ts +0 -12
  814. package/types/ui/Dialog.d.ts +0 -41
  815. package/types/ui/Slider.d.ts +0 -33
  816. package/types/ui/ToggleButton.d.ts +0 -10
  817. package/types/ui/UIhelpers.d.ts +0 -13
  818. package/types/ui/View.d.ts +0 -33
  819. package/types/ui/icons.d.ts +0 -1
  820. package/types/utils/BaseWorker.d.ts +0 -14
  821. package/types/utils/FontAtlas.d.ts +0 -16
  822. package/types/utils/GeoImageCreator.d.ts +0 -30
  823. package/types/utils/ImagesCacheManager.d.ts +0 -10
  824. package/types/utils/Loader.d.ts +0 -31
  825. package/types/utils/NormalMapCreator.d.ts +0 -39
  826. package/types/utils/PlainSegmentWorker.d.ts +0 -8
  827. package/types/utils/TerrainWorker.d.ts +0 -7
  828. package/types/utils/TextureAtlas.d.ts +0 -113
  829. package/types/utils/VectorTileCreator.d.ts +0 -14
  830. package/types/utils/colorTable.d.ts +0 -143
  831. package/types/utils/earcut.d.ts +0 -6
  832. package/types/utils/functionComposition.d.ts +0 -5
  833. package/types/utils/objParser.d.ts +0 -8
  834. package/types/utils/shared.d.ts +0 -241
  835. package/types/utils/units.d.ts +0 -20
  836. package/types/webgl/Framebuffer.d.ts +0 -134
  837. package/types/webgl/Handler.d.ts +0 -403
  838. package/types/webgl/Multisample.d.ts +0 -91
  839. package/types/webgl/Program.d.ts +0 -163
  840. package/types/webgl/ProgramController.d.ts +0 -89
  841. package/types/webgl/callbacks.d.ts +0 -1
  842. package/types/webgl/index.d.ts +0 -6
  843. package/types/webgl/types.d.ts +0 -2
  844. /package/{dist → lib}/@openglobus/og.css +0 -0
  845. /package/{src/og → lib/@openglobus/res/fonts}/arial.js +0 -0
@@ -0,0 +1,187 @@
1
+ import { LonLat } from "../LonLat";
2
+ import { Quat } from "../math/Quat";
3
+ import { Vec3 } from "../math/Vec3";
4
+ export interface IInverseResult {
5
+ distance: number;
6
+ initialAzimuth: number;
7
+ finalAzimuth: number;
8
+ }
9
+ export interface IDirectResult {
10
+ destination: LonLat;
11
+ finalAzimuth: number;
12
+ }
13
+ /**
14
+ * Class represents a plant ellipsoid.
15
+ * @class
16
+ * @param {number} equatorialSize - Equatorial ellipsoid size.
17
+ * @param {number} polarSize - Polar ellipsoid size.
18
+ */
19
+ declare class Ellipsoid {
20
+ /**
21
+ * Equatorial size
22
+ * @type {number}
23
+ * @protected
24
+ */
25
+ protected _a: number;
26
+ /**
27
+ * Polar size
28
+ * @type {number}
29
+ * @protected
30
+ */
31
+ protected _b: number;
32
+ protected _flattening: number;
33
+ protected _f: number;
34
+ protected _a2: number;
35
+ protected _b2: number;
36
+ protected _e: number;
37
+ protected _e2: number;
38
+ protected _e22: number;
39
+ protected _k: number;
40
+ protected _k2: number;
41
+ protected _radii: Vec3;
42
+ protected _radii2: Vec3;
43
+ protected _invRadii: Vec3;
44
+ _invRadii2: Vec3;
45
+ constructor(equatorialSize?: number, polarSize?: number);
46
+ /**
47
+ * Returns the distance travelling from ‘this’ point to destination point along a rhumb line.
48
+ * @param {LonLat} startLonLat coordinates.
49
+ * @param {LonLat} endLonLat coordinates
50
+ * @returns {number} Distance in m between this point and destination point (same units as radius).
51
+ */
52
+ rhumbDistanceTo(startLonLat: LonLat, endLonLat: LonLat): number;
53
+ /**
54
+ * Returns the point at given fraction between two points on the great circle.
55
+ * @param {LonLat} lonLat1 - Longitude/Latitude of source point.
56
+ * @param {LonLat} lonLat2 - Longitude/Latitude of destination point.
57
+ * @param {number} fraction - Fraction between the two points (0 = source point, 1 = destination point).
58
+ * @returns {LonLat} Intermediate point between points.
59
+ */
60
+ getIntermediatePointOnGreatCircle(lonLat1: LonLat, lonLat2: LonLat, fraction: number): LonLat;
61
+ /**
62
+ * REMOVE ASAP after
63
+ * @param lonLat1
64
+ * @param lonLat2
65
+ * @returns {number}
66
+ */
67
+ static getBearing(lonLat1: LonLat, lonLat2: LonLat): number;
68
+ getFlattening(): number;
69
+ /**
70
+ * Gets ellipsoid equatorial size.
71
+ * @public
72
+ * @returns {number} -
73
+ */
74
+ getEquatorialSize(): number;
75
+ get equatorialSize(): number;
76
+ get equatorialSizeSqr(): number;
77
+ /**
78
+ * Gets ellipsoid polar size.
79
+ * @public
80
+ * @returns {number} -
81
+ */
82
+ getPolarSize(): number;
83
+ get polarSize(): number;
84
+ get polarSizeSqr(): number;
85
+ /**
86
+ * Calculate cartesian coordinates by its ECEF geodetic coordinates.
87
+ * @public
88
+ * @param {LonLat} lonlat - Geodetic coordinates.
89
+ * @returns {Vec3} -
90
+ */
91
+ lonLatToCartesian(lonlat: LonLat): Vec3;
92
+ /**
93
+ * Calculate cartesian coordinates by its ECEF geodetic coordinates.
94
+ * @public
95
+ * @param {LonLat} lonlat - Geodetic coordinates.
96
+ * @param {Vec3} res - Output variable reference.
97
+ * @returns {Vec3} -
98
+ */
99
+ lonLatToCartesianRes(lonlat: LonLat, res: Vec3): Vec3;
100
+ /**
101
+ * Gets cartesian ECEF from Wgs84 geodetic coordinates.
102
+ * @public
103
+ * @param {Number} lon - Longitude.
104
+ * @param {Number} lat - Latitude.
105
+ * @param {Number} height - Height.
106
+ * @param {Vec3} res - Output result variable.
107
+ * @returns {Vec3} -
108
+ */
109
+ geodeticToCartesian(lon: number, lat: number, height?: number, res?: Vec3): Vec3;
110
+ /**
111
+ * Gets Wgs84 geodetic coordinates from cartesian ECEF.
112
+ * @public
113
+ * @param {Vec3} p - Cartesian coordinates.
114
+ * @returns {LonLat} -
115
+ */
116
+ projToSurface(p: Vec3): Vec3;
117
+ /**
118
+ * Converts 3d cartesian coordinates to geodetic
119
+ * @param {Vec3} cart - Cartesian coordinates
120
+ * @returns {LonLat} - Geodetic coordinates
121
+ */
122
+ cartesianToLonLat(cart: Vec3): LonLat;
123
+ /**
124
+ * Converts 3d cartesian coordinates to geodetic
125
+ * @param {Vec3} cart - Cartesian coordinates
126
+ * @param {LonLat} res - Link geodetic coordinates variable
127
+ * @returns {LonLat} - Geodetic coordinates
128
+ */
129
+ cartesianToLonLatRes(cart: Vec3, res?: LonLat): LonLat;
130
+ /**
131
+ * Gets ellipsoid surface normal.
132
+ * @public
133
+ * @param {Vec3} coord - Spatial coordinates.
134
+ * @return {Vec3} -
135
+ */
136
+ getSurfaceNormal3v(coord: Vec3): Vec3;
137
+ getGreatCircleDistance(lonLat1: LonLat, lonLat2: LonLat): number;
138
+ /**
139
+ * Calculates the destination point given start point lat / lon, azimuth(deg) and distance (m).
140
+ * Source: http://movable-type.co.uk/scripts/latlong-vincenty-direct.html and optimized / cleaned up by Mathias Bynens <http://mathiasbynens.be/>
141
+ * Based on the Vincenty direct formula by T. Vincenty, “Direct and Inverse Solutions of Geodesics on the Ellipsoid with application of nested equations”, Survey Review, vol XXII no 176, 1975 <http://www.ngs.noaa.gov/PUBS_LIB/inverse.pdf>
142
+ * @param {LonLat} lonLat - Origin coordinates
143
+ * @param {number} azimuth - View azimuth in degrees
144
+ * @param {number} dist - Distance to the destination point coordinates in meters
145
+ * @returns {LonLat} - Destination point coordinates
146
+ */
147
+ getGreatCircleDestination(lonLat: LonLat, azimuth: number, dist: number): LonLat;
148
+ inverse(lonLat1: LonLat, lonLat2: LonLat): IInverseResult;
149
+ /**
150
+ * Calculates the destination point given start point lat / lon, azimuth(deg) and distance (m).
151
+ * Source: http://movable-type.co.uk/scripts/latlong-vincenty-direct.html and optimized / cleaned up by Mathias Bynens <http://mathiasbynens.be/>
152
+ * Based on the Vincenty direct formula by T. Vincenty, “Direct and Inverse Solutions of Geodesics on the Ellipsoid with application of nested equations”, Survey Review, vol XXII no 176, 1975 <http://www.ngs.noaa.gov/PUBS_LIB/inverse.pdf>
153
+ * @param {LonLat} lonLat - Origin coordinates
154
+ * @param {number} azimuth - View azimuth in degrees
155
+ * @param {number} dist - Distance to the destination point coordinates in meters
156
+ * @returns {LonLat} - Destination point coordinates
157
+ */
158
+ direct(lonLat: LonLat, azimuth: number, dist: number): IDirectResult;
159
+ /**
160
+ * Returns cartesian coordinates of the intersection of a ray and an ellipsoid.
161
+ * If the ray doesn't hit ellipsoid returns null.
162
+ * @public
163
+ * @param {Vec3} origin - Ray origin point.
164
+ * @param {Vec3} direction - Ray direction.
165
+ * @returns {Vec3} -
166
+ */
167
+ hitRay(origin: Vec3, direction: Vec3): Vec3 | undefined;
168
+ getNorthFrameRotation(cartesian: Vec3): Quat;
169
+ /**
170
+ * @todo this is not precise function, needs to be replaced or removed
171
+ * @param lonLat1
172
+ * @param bearing
173
+ * @param distance
174
+ * @returns {LonLat}
175
+ */
176
+ getBearingDestination(lonLat1: LonLat, bearing?: number, distance?: number): LonLat;
177
+ /**
178
+ * Returns the point at given fraction between two points on the great circle.
179
+ * @param {LonLat} lonLat1 - Longitude/Latitude of source point.
180
+ * @param {LonLat} lonLat2 - Longitude/Latitude of destination point.
181
+ * @param {number} fraction - Fraction between the two points (0 = source point, 1 = destination point).
182
+ * @returns {LonLat} Intermediate point between points.
183
+ */
184
+ static getIntermediatePointOnGreatCircle(lonLat1: LonLat, lonLat2: LonLat, fraction: number): LonLat;
185
+ static getRhumbBearing(lonLat1: LonLat, lonLat2: LonLat): number;
186
+ }
187
+ export { Ellipsoid };
@@ -0,0 +1,434 @@
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
+ * Class represents a plant ellipsoid.
7
+ * @class
8
+ * @param {number} equatorialSize - Equatorial ellipsoid size.
9
+ * @param {number} polarSize - Polar ellipsoid size.
10
+ */
11
+ class Ellipsoid {
12
+ constructor(equatorialSize = 1, polarSize = 1) {
13
+ this._a = equatorialSize;
14
+ this._b = polarSize;
15
+ this._flattening = (equatorialSize - polarSize) / equatorialSize;
16
+ this._f = 1 / this._flattening;
17
+ this._a2 = equatorialSize * equatorialSize;
18
+ this._b2 = polarSize * polarSize;
19
+ const qa2b2 = Math.sqrt(this._a2 - this._b2);
20
+ this._e = qa2b2 / equatorialSize;
21
+ this._e2 = this._e * this._e;
22
+ this._e22 = this._e2 * this._e2;
23
+ this._k = qa2b2 / polarSize;
24
+ this._k2 = this._k * this._k;
25
+ this._radii = new Vec3(equatorialSize, equatorialSize, polarSize);
26
+ this._radii2 = new Vec3(this._a2, this._a2, this._b2);
27
+ this._invRadii = new Vec3(1.0 / equatorialSize, 1.0 / equatorialSize, 1.0 / polarSize);
28
+ this._invRadii2 = new Vec3(1.0 / this._a2, 1.0 / this._a2, 1.0 / this._b2);
29
+ }
30
+ /**
31
+ * Returns the distance travelling from ‘this’ point to destination point along a rhumb line.
32
+ * @param {LonLat} startLonLat coordinates.
33
+ * @param {LonLat} endLonLat coordinates
34
+ * @returns {number} Distance in m between this point and destination point (same units as radius).
35
+ */
36
+ rhumbDistanceTo(startLonLat, endLonLat) {
37
+ const f1 = startLonLat.lat * RADIANS;
38
+ const f2 = endLonLat.lat * RADIANS;
39
+ const df = f2 - f1;
40
+ let d = Math.abs(endLonLat.lon - startLonLat.lon) * RADIANS;
41
+ if (Math.abs(d) > Math.PI)
42
+ d = d > 0 ? -(2 * Math.PI - d) : (2 * Math.PI + d);
43
+ const dd = Math.log(Math.tan(f2 / 2 + Math.PI / 4) / Math.tan(f1 / 2 + Math.PI / 4));
44
+ const q = Math.abs(dd) > 10e-12 ? df / dd : Math.cos(f1);
45
+ const t = Math.sqrt(df * df + q * q * d * d); // angular distance in radians
46
+ return t * this._a;
47
+ }
48
+ /**
49
+ * Returns the point at given fraction between two points on the great circle.
50
+ * @param {LonLat} lonLat1 - Longitude/Latitude of source point.
51
+ * @param {LonLat} lonLat2 - Longitude/Latitude of destination point.
52
+ * @param {number} fraction - Fraction between the two points (0 = source point, 1 = destination point).
53
+ * @returns {LonLat} Intermediate point between points.
54
+ */
55
+ getIntermediatePointOnGreatCircle(lonLat1, lonLat2, fraction) {
56
+ if (fraction == 0)
57
+ return lonLat1.clone();
58
+ if (fraction == 1)
59
+ return lonLat2.clone();
60
+ const inverse = this.inverse(lonLat1, lonLat2);
61
+ const dist = inverse.distance;
62
+ const azimuth = inverse.initialAzimuth;
63
+ return isNaN(azimuth) ? lonLat1 : this.getGreatCircleDestination(lonLat1, azimuth, dist * fraction);
64
+ }
65
+ /**
66
+ * REMOVE ASAP after
67
+ * @param lonLat1
68
+ * @param lonLat2
69
+ * @returns {number}
70
+ */
71
+ static getBearing(lonLat1, lonLat2) {
72
+ let f1 = lonLat1.lat * RADIANS, l1 = lonLat1.lon * RADIANS;
73
+ let f2 = lonLat2.lat * RADIANS, l2 = lonLat2.lon * RADIANS;
74
+ let y = Math.sin(l2 - l1) * Math.cos(f2);
75
+ let x = Math.cos(f1) * Math.sin(f2) - Math.sin(f1) * Math.cos(f2) * Math.cos(l2 - l1);
76
+ return Math.atan2(y, x) * DEGREES;
77
+ }
78
+ getFlattening() {
79
+ return this._flattening;
80
+ }
81
+ /**
82
+ * Gets ellipsoid equatorial size.
83
+ * @public
84
+ * @returns {number} -
85
+ */
86
+ getEquatorialSize() {
87
+ return this._a;
88
+ }
89
+ get equatorialSize() {
90
+ return this._a;
91
+ }
92
+ get equatorialSizeSqr() {
93
+ return this._a2;
94
+ }
95
+ /**
96
+ * Gets ellipsoid polar size.
97
+ * @public
98
+ * @returns {number} -
99
+ */
100
+ getPolarSize() {
101
+ return this._b;
102
+ }
103
+ get polarSize() {
104
+ return this._b;
105
+ }
106
+ get polarSizeSqr() {
107
+ return this._b2;
108
+ }
109
+ /**
110
+ * Calculate cartesian coordinates by its ECEF geodetic coordinates.
111
+ * @public
112
+ * @param {LonLat} lonlat - Geodetic coordinates.
113
+ * @returns {Vec3} -
114
+ */
115
+ lonLatToCartesian(lonlat) {
116
+ return this.geodeticToCartesian(lonlat.lon, lonlat.lat, lonlat.height);
117
+ }
118
+ /**
119
+ * Calculate cartesian coordinates by its ECEF geodetic coordinates.
120
+ * @public
121
+ * @param {LonLat} lonlat - Geodetic coordinates.
122
+ * @param {Vec3} res - Output variable reference.
123
+ * @returns {Vec3} -
124
+ */
125
+ lonLatToCartesianRes(lonlat, res) {
126
+ return this.geodeticToCartesian(lonlat.lon, lonlat.lat, lonlat.height, res);
127
+ }
128
+ /**
129
+ * Gets cartesian ECEF from Wgs84 geodetic coordinates.
130
+ * @public
131
+ * @param {Number} lon - Longitude.
132
+ * @param {Number} lat - Latitude.
133
+ * @param {Number} height - Height.
134
+ * @param {Vec3} res - Output result variable.
135
+ * @returns {Vec3} -
136
+ */
137
+ geodeticToCartesian(lon, lat, height = 0, res = new Vec3()) {
138
+ let latrad = RADIANS * lat, lonrad = RADIANS * lon;
139
+ let slt = Math.sin(latrad);
140
+ let N = this._a / Math.sqrt(1 - this._e2 * slt * slt);
141
+ let nc = (N + height) * Math.cos(latrad);
142
+ res.x = nc * Math.cos(lonrad);
143
+ res.y = nc * Math.sin(lonrad);
144
+ res.z = (N * (1 - this._e2) + height) * slt;
145
+ return res;
146
+ }
147
+ /**
148
+ * Gets Wgs84 geodetic coordinates from cartesian ECEF.
149
+ * @public
150
+ * @param {Vec3} p - Cartesian coordinates.
151
+ * @returns {LonLat} -
152
+ */
153
+ projToSurface(p) {
154
+ let pX = p.x || 0.0, pY = p.y || 0.0, pZ = p.z || 0.0;
155
+ let length = Math.sqrt(pX * pX + pY * pY + pZ * pZ);
156
+ let invRadii2X = this._invRadii2.x, invRadii2Y = this._invRadii2.y, invRadii2Z = this._invRadii2.z;
157
+ let x2 = pX * pX * invRadii2X, y2 = pY * pY * invRadii2Y, z2 = pZ * pZ * invRadii2Z;
158
+ let norm = x2 + y2 + z2;
159
+ let ratio = Math.sqrt(1.0 / norm);
160
+ let first = p.scaleTo(ratio);
161
+ if (norm < EPS1) {
162
+ return !Number.isFinite(ratio) ? new Vec3() : first;
163
+ }
164
+ let lambda = ((1.0 - ratio) * length) / first.mulA(this._invRadii2).length();
165
+ let m_X = 0.0, m_Y = 0.0, m_Z = 0.0;
166
+ do {
167
+ m_X = 1.0 / (1.0 + lambda * invRadii2X);
168
+ m_Y = 1.0 / (1.0 + lambda * invRadii2Y);
169
+ m_Z = 1.0 / (1.0 + lambda * invRadii2Z);
170
+ let m_X2 = m_X * m_X, m_Y2 = m_Y * m_Y, m_Z2 = m_Z * m_Z;
171
+ let func = x2 * m_X2 + y2 * m_Y2 + z2 * m_Z2 - 1.0;
172
+ if (Math.abs(func) < EPS12) {
173
+ break;
174
+ }
175
+ let m_X3 = m_X2 * m_X, m_Y3 = m_Y2 * m_Y, m_Z3 = m_Z2 * m_Z;
176
+ lambda += 0.5 * func / (x2 * m_X3 * invRadii2X + y2 * m_Y3 * invRadii2Y + z2 * m_Z3 * invRadii2Z);
177
+ } while (true); // eslint-disable-line
178
+ return new Vec3(pX * m_X, pY * m_Y, pZ * m_Z);
179
+ }
180
+ /**
181
+ * Converts 3d cartesian coordinates to geodetic
182
+ * @param {Vec3} cart - Cartesian coordinates
183
+ * @returns {LonLat} - Geodetic coordinates
184
+ */
185
+ cartesianToLonLat(cart) {
186
+ return this.cartesianToLonLatRes(cart);
187
+ }
188
+ /**
189
+ * Converts 3d cartesian coordinates to geodetic
190
+ * @param {Vec3} cart - Cartesian coordinates
191
+ * @param {LonLat} res - Link geodetic coordinates variable
192
+ * @returns {LonLat} - Geodetic coordinates
193
+ */
194
+ cartesianToLonLatRes(cart, res = new LonLat()) {
195
+ let p = this.projToSurface(cart);
196
+ let n = this.getSurfaceNormal3v(p), h = cart.sub(p);
197
+ res.lon = Math.atan2(n.y, n.x) * DEGREES;
198
+ res.lat = Math.asin(n.z) * DEGREES;
199
+ res.height = Math.sign(h.dot(cart)) * h.length();
200
+ return res;
201
+ }
202
+ /**
203
+ * Gets ellipsoid surface normal.
204
+ * @public
205
+ * @param {Vec3} coord - Spatial coordinates.
206
+ * @return {Vec3} -
207
+ */
208
+ getSurfaceNormal3v(coord) {
209
+ let r2 = this._invRadii2;
210
+ let nx = coord.x * r2.x, ny = coord.y * r2.y, nz = coord.z * r2.z;
211
+ let l = 1.0 / Math.sqrt(nx * nx + ny * ny + nz * nz);
212
+ return new Vec3(nx * l, ny * l, nz * l);
213
+ }
214
+ getGreatCircleDistance(lonLat1, lonLat2) {
215
+ return this.inverse(lonLat1, lonLat2).distance;
216
+ }
217
+ /**
218
+ * Calculates the destination point given start point lat / lon, azimuth(deg) and distance (m).
219
+ * Source: http://movable-type.co.uk/scripts/latlong-vincenty-direct.html and optimized / cleaned up by Mathias Bynens <http://mathiasbynens.be/>
220
+ * Based on the Vincenty direct formula by T. Vincenty, “Direct and Inverse Solutions of Geodesics on the Ellipsoid with application of nested equations”, Survey Review, vol XXII no 176, 1975 <http://www.ngs.noaa.gov/PUBS_LIB/inverse.pdf>
221
+ * @param {LonLat} lonLat - Origin coordinates
222
+ * @param {number} azimuth - View azimuth in degrees
223
+ * @param {number} dist - Distance to the destination point coordinates in meters
224
+ * @returns {LonLat} - Destination point coordinates
225
+ */
226
+ getGreatCircleDestination(lonLat, azimuth, dist) {
227
+ return this.direct(lonLat, azimuth, dist).destination;
228
+ }
229
+ inverse(lonLat1, lonLat2) {
230
+ let a = this._a, b = this._b, f = this._flattening;
231
+ const fi1 = lonLat1.lat * RADIANS, lambda1 = lonLat1.lon * RADIANS;
232
+ const fi2 = lonLat2.lat * RADIANS, lambda2 = lonLat2.lon * RADIANS;
233
+ const L = lambda2 - lambda1; // L = difference in longitude, U = reduced latitude, defined by tan U = (1-f)·tanφ.
234
+ const tanU1 = (1 - f) * Math.tan(fi1), cosU1 = 1 / Math.sqrt((1 + tanU1 * tanU1)), sinU1 = tanU1 * cosU1;
235
+ const tanU2 = (1 - f) * Math.tan(fi2), cosU2 = 1 / Math.sqrt((1 + tanU2 * tanU2)), sinU2 = tanU2 * cosU2;
236
+ const antipodal = Math.abs(L) > Math.PI / 2 || Math.abs(fi2 - fi1) > Math.PI / 2;
237
+ let lmb = L, sinLmb = null, cosLmb = null; // lmb - difference in longitude on an auxiliary sphere
238
+ let s = antipodal ? Math.PI : 0, sin_s = 0, cos_s = antipodal ? -1 : 1, sinSqs = null; // s - angular distance lonLat1 lonLat2 on the sphere
239
+ let cos2sm = 1; // sm - angular distance on the sphere from the equator to the midpoint of the line
240
+ let cosSqa = 1; // a - azimuth of the geodesic at the equator
241
+ let lmb_ = null, iterations = 0;
242
+ do {
243
+ sinLmb = Math.sin(lmb);
244
+ cosLmb = Math.cos(lmb);
245
+ sinSqs = (cosU2 * sinLmb) ** 2 + (cosU1 * sinU2 - sinU1 * cosU2 * cosLmb) ** 2;
246
+ if (Math.abs(sinSqs) < 1e-24)
247
+ break; // co-incident/antipodal points (σ < ≈0.006mm)
248
+ sin_s = Math.sqrt(sinSqs);
249
+ cos_s = sinU1 * sinU2 + cosU1 * cosU2 * cosLmb;
250
+ s = Math.atan2(sin_s, cos_s);
251
+ const sin_a = cosU1 * cosU2 * sinLmb / sin_s;
252
+ cosSqa = 1 - sin_a * sin_a;
253
+ cos2sm = (cosSqa != 0) ? (cos_s - 2 * sinU1 * sinU2 / cosSqa) : 0; // on equatorial line cos²α = 0 (§6)
254
+ const C = f / 16 * cosSqa * (4 + f * (4 - 3 * cosSqa));
255
+ lmb_ = lmb;
256
+ lmb = L + (1 - C) * f * sin_a * (s + C * sin_s * (cos2sm + C * cos_s * (-1 + 2 * cos2sm * cos2sm)));
257
+ } while (Math.abs(lmb - lmb_) > EPS12 && ++iterations < 1000);
258
+ const uSq = cosSqa * (a * a - b * b) / (b * b);
259
+ const A = 1 + uSq / 16384 * (4096 + uSq * (-768 + uSq * (320 - 175 * uSq)));
260
+ const B = uSq / 1024 * (256 + uSq * (-128 + uSq * (74 - 47 * uSq)));
261
+ const ds = B * sin_s * (cos2sm + B / 4 * (cos_s * (-1 + 2 * cos2sm * cos2sm) - B / 6 * cos2sm * (-3 + 4 * sin_s * sin_s) * (-3 + 4 * cos2sm * cos2sm)));
262
+ const dist = b * A * (s - ds); // s = length of the geodesic
263
+ // note special handling of exactly antipodal points where sin²σ = 0 (due to discontinuity
264
+ // atan2(0, 0) = 0 but atan2(ε, 0) = π/2 / 90°) - in which case bearing is always meridional,
265
+ // due north (or due south!)
266
+ // α = azimuths of the geodesic; α2 the direction P₁ P₂ produced
267
+ const a1 = Math.abs(sinSqs) < Number.EPSILON ? 0 : Math.atan2(cosU2 * sinLmb, cosU1 * sinU2 - sinU1 * cosU2 * cosLmb);
268
+ const a2 = Math.abs(sinSqs) < Number.EPSILON ? Math.PI : Math.atan2(cosU1 * sinLmb, -sinU1 * cosU2 + cosU1 * sinU2 * cosLmb);
269
+ return {
270
+ distance: dist,
271
+ initialAzimuth: Math.abs(dist) < Number.EPSILON ? NaN : zeroTwoPI(a1) * DEGREES,
272
+ finalAzimuth: Math.abs(dist) < Number.EPSILON ? NaN : zeroTwoPI(a2) * DEGREES
273
+ };
274
+ }
275
+ /**
276
+ * Calculates the destination point given start point lat / lon, azimuth(deg) and distance (m).
277
+ * Source: http://movable-type.co.uk/scripts/latlong-vincenty-direct.html and optimized / cleaned up by Mathias Bynens <http://mathiasbynens.be/>
278
+ * Based on the Vincenty direct formula by T. Vincenty, “Direct and Inverse Solutions of Geodesics on the Ellipsoid with application of nested equations”, Survey Review, vol XXII no 176, 1975 <http://www.ngs.noaa.gov/PUBS_LIB/inverse.pdf>
279
+ * @param {LonLat} lonLat - Origin coordinates
280
+ * @param {number} azimuth - View azimuth in degrees
281
+ * @param {number} dist - Distance to the destination point coordinates in meters
282
+ * @returns {LonLat} - Destination point coordinates
283
+ */
284
+ direct(lonLat, azimuth, dist) {
285
+ let lon1 = lonLat.lon, lat1 = lonLat.lat;
286
+ let a = this._a, b = this._b, f = this._flattening, s = dist, alpha1 = azimuth * RADIANS, sinAlpha1 = Math.sin(alpha1), cosAlpha1 = Math.cos(alpha1), tanU1 = (1 - f) * Math.tan(lat1 * RADIANS), cosU1 = 1 / Math.sqrt(1 + tanU1 * tanU1), sinU1 = tanU1 * cosU1, sigma1 = Math.atan2(tanU1, cosAlpha1), sinAlpha = cosU1 * sinAlpha1, cosSqAlpha = 1 - sinAlpha * sinAlpha, uSq = (cosSqAlpha * (a * a - b * b)) / (b * b), A = 1 + (uSq / 16384) * (4096 + uSq * (-768 + uSq * (320 - 175 * uSq))), B = (uSq / 1024) * (256 + uSq * (-128 + uSq * (74 - 47 * uSq))), sigma = s / (b * A), sigmaP = 2 * Math.PI;
287
+ let cos2SigmaM = 0, sinSigma = 0, cosSigma = 0, deltaSigma = 0;
288
+ while (Math.abs(sigma - sigmaP) > 1e-12) {
289
+ cos2SigmaM = Math.cos(2 * sigma1 + sigma);
290
+ sinSigma = Math.sin(sigma);
291
+ cosSigma = Math.cos(sigma);
292
+ deltaSigma = B * sinSigma *
293
+ (cos2SigmaM + (B / 4) *
294
+ (cosSigma * (-1 + 2 * cos2SigmaM * cos2SigmaM) -
295
+ (B / 6) * cos2SigmaM * (-3 + 4 * sinSigma * sinSigma) * (-3 + 4 * cos2SigmaM * cos2SigmaM)));
296
+ sigmaP = sigma;
297
+ sigma = s / (b * A) + deltaSigma;
298
+ }
299
+ let tmp = sinU1 * sinSigma - cosU1 * cosSigma * cosAlpha1, lat2 = Math.atan2(sinU1 * cosSigma + cosU1 * sinSigma * cosAlpha1, (1 - f) * Math.sqrt(sinAlpha * sinAlpha + tmp * tmp)), lambda = Math.atan2(sinSigma * sinAlpha1, cosU1 * cosSigma - sinU1 * sinSigma * cosAlpha1), C = (f / 16.0) * cosSqAlpha * (4.0 + f * (4.0 - 3.0 * cosSqAlpha)), L = lambda - (1.0 - C) * f * sinAlpha * (sigma + C * sinSigma * (cos2SigmaM + C * cosSigma * (-1.0 + 2.0 * cos2SigmaM * cos2SigmaM))), revAz = Math.atan2(sinAlpha, -tmp);
300
+ return {
301
+ destination: new LonLat(lon1 + L * DEGREES, lat2 * DEGREES),
302
+ finalAzimuth: revAz * DEGREES
303
+ };
304
+ }
305
+ /**
306
+ * Returns cartesian coordinates of the intersection of a ray and an ellipsoid.
307
+ * If the ray doesn't hit ellipsoid returns null.
308
+ * @public
309
+ * @param {Vec3} origin - Ray origin point.
310
+ * @param {Vec3} direction - Ray direction.
311
+ * @returns {Vec3} -
312
+ */
313
+ hitRay(origin, direction) {
314
+ let q = this._invRadii.mul(origin);
315
+ let w = this._invRadii.mul(direction);
316
+ let q2 = q.dot(q);
317
+ let qw = q.dot(w);
318
+ let difference, w2, product, discriminant, temp;
319
+ if (q2 > 1.0) {
320
+ // Outside ellipsoid.
321
+ if (qw >= 0.0) {
322
+ // Looking outward or tangent (0 intersections).
323
+ return undefined;
324
+ }
325
+ // qw < 0.0.
326
+ var qw2 = qw * qw;
327
+ difference = q2 - 1.0; // Positively valued.
328
+ w2 = w.dot(w);
329
+ product = w2 * difference;
330
+ let eps = Math.abs(qw2 - product);
331
+ if (eps > EPS15 && qw2 < product) {
332
+ // Imaginary roots (0 intersections).
333
+ return undefined;
334
+ }
335
+ else if (qw2 > product) {
336
+ // Distinct roots (2 intersections).
337
+ discriminant = qw * qw - product;
338
+ temp = -qw + Math.sqrt(discriminant); // Avoid cancellation.
339
+ var root0 = temp / w2;
340
+ var root1 = difference / temp;
341
+ if (root0 < root1) {
342
+ return origin.add(direction.scaleTo(root0));
343
+ }
344
+ return origin.add(direction.scaleTo(root1));
345
+ }
346
+ else {
347
+ // qw2 == product. Repeated roots (2 intersections).
348
+ var root = Math.sqrt(difference / w2);
349
+ return origin.add(direction.scaleTo(root));
350
+ }
351
+ }
352
+ else if (q2 < 1.0) {
353
+ // Inside ellipsoid (2 intersections).
354
+ difference = q2 - 1.0; // Negatively valued.
355
+ w2 = w.dot(w);
356
+ product = w2 * difference; // Negatively valued.
357
+ discriminant = qw * qw - product;
358
+ temp = -qw + Math.sqrt(discriminant); // Positively valued.
359
+ return origin.add(direction.scaleTo(temp / w2));
360
+ }
361
+ else {
362
+ // q2 == 1.0. On ellipsoid.
363
+ if (qw < 0.0) {
364
+ // Looking inward.
365
+ w2 = w.dot(w);
366
+ return origin.add(direction.scaleTo(-qw / w2));
367
+ }
368
+ // qw >= 0.0. Looking outward or tangent.
369
+ // return undefined
370
+ }
371
+ }
372
+ getNorthFrameRotation(cartesian) {
373
+ let n = this.getSurfaceNormal3v(cartesian);
374
+ let t = Vec3.proj_b_to_plane(Vec3.NORTH, n);
375
+ return Quat.getLookRotation(t, n);
376
+ }
377
+ /**
378
+ * @todo this is not precise function, needs to be replaced or removed
379
+ * @param lonLat1
380
+ * @param bearing
381
+ * @param distance
382
+ * @returns {LonLat}
383
+ */
384
+ getBearingDestination(lonLat1, bearing = 0.0, distance = 0) {
385
+ bearing = bearing * RADIANS;
386
+ var nlon = ((lonLat1.lon + 540) % 360) - 180;
387
+ var f1 = lonLat1.lat * RADIANS, l1 = nlon * RADIANS;
388
+ var dR = distance / this._a;
389
+ var f2 = Math.asin(Math.sin(f1) * Math.cos(dR) + Math.cos(f1) * Math.sin(dR) * Math.cos(bearing));
390
+ return new LonLat((l1 +
391
+ Math.atan2(Math.sin(bearing) * Math.sin(dR) * Math.cos(f1), Math.cos(dR) - Math.sin(f1) * Math.sin(f2))) *
392
+ DEGREES, f2 * DEGREES);
393
+ }
394
+ /**
395
+ * Returns the point at given fraction between two points on the great circle.
396
+ * @param {LonLat} lonLat1 - Longitude/Latitude of source point.
397
+ * @param {LonLat} lonLat2 - Longitude/Latitude of destination point.
398
+ * @param {number} fraction - Fraction between the two points (0 = source point, 1 = destination point).
399
+ * @returns {LonLat} Intermediate point between points.
400
+ */
401
+ static getIntermediatePointOnGreatCircle(lonLat1, lonLat2, fraction) {
402
+ var f1 = lonLat1.lat * RADIANS, l1 = lonLat1.lon * RADIANS;
403
+ var f2 = lonLat2.lat * RADIANS, l2 = lonLat2.lon * RADIANS;
404
+ var sinf1 = Math.sin(f1), cosf1 = Math.cos(f1), sinl1 = Math.sin(l1), cosl1 = Math.cos(l1);
405
+ var sinf2 = Math.sin(f2), cosf2 = Math.cos(f2), sinl2 = Math.sin(l2), cosl2 = Math.cos(l2);
406
+ var df = f2 - f1, dl = l2 - l1;
407
+ var a = Math.sin(df / 2) * Math.sin(df / 2) +
408
+ Math.cos(f1) * Math.cos(f2) * Math.sin(dl / 2) * Math.sin(dl / 2);
409
+ var d = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
410
+ var A = Math.sin((1 - fraction) * d) / Math.sin(d);
411
+ var B = Math.sin(fraction * d) / Math.sin(d);
412
+ var x = A * cosf1 * cosl1 + B * cosf2 * cosl2;
413
+ var y = A * cosf1 * sinl1 + B * cosf2 * sinl2;
414
+ var z = A * sinf1 + B * sinf2;
415
+ var f3 = Math.atan2(z, Math.sqrt(x * x + y * y));
416
+ var l3 = Math.atan2(y, x);
417
+ return new LonLat(((l3 * DEGREES + 540) % 360) - 180, f3 * DEGREES);
418
+ }
419
+ static getRhumbBearing(lonLat1, lonLat2) {
420
+ var dLon = (lonLat2.lon - lonLat1.lon) * RADIANS;
421
+ var dPhi = Math.log(Math.tan((lonLat2.lat * RADIANS) / 2 + Math.PI / 4) /
422
+ Math.tan((lonLat1.lat * RADIANS) / 2 + Math.PI / 4));
423
+ if (Math.abs(dLon) > Math.PI) {
424
+ if (dLon > 0) {
425
+ dLon = (2 * Math.PI - dLon) * -1;
426
+ }
427
+ else {
428
+ dLon = 2 * Math.PI + dLon;
429
+ }
430
+ }
431
+ return (Math.atan2(dLon, dPhi) * DEGREES + 360) % 360;
432
+ }
433
+ }
434
+ export { Ellipsoid };
@@ -0,0 +1,3 @@
1
+ import { Ellipsoid } from './Ellipsoid';
2
+ import { wgs84 } from './wgs84';
3
+ export { Ellipsoid, wgs84 };
@@ -0,0 +1,3 @@
1
+ import { Ellipsoid } from './Ellipsoid';
2
+ import { wgs84 } from './wgs84';
3
+ export { Ellipsoid, wgs84 };
@@ -0,0 +1,6 @@
1
+ import { Ellipsoid } from "./Ellipsoid";
2
+ /**
3
+ * WGS84 ellipsoid object.
4
+ * @type {Ellipsoid}
5
+ */
6
+ export declare const wgs84: Ellipsoid;
@@ -0,0 +1,6 @@
1
+ import { Ellipsoid } from "./Ellipsoid";
2
+ /**
3
+ * WGS84 ellipsoid object.
4
+ * @type {Ellipsoid}
5
+ */
6
+ export const wgs84 = new Ellipsoid(6378137.0, 6356752.3142451793); // Equitorial Radius (m), Polar Radius (m)