@openglobus/og 0.18.0 → 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 (476) hide show
  1. package/README.md +8 -8
  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/js/Clock.d.ts +106 -0
  7. package/{src/Clock.ts → lib/js/Clock.js} +31 -126
  8. package/lib/js/Deferred.d.ts +6 -0
  9. package/lib/js/Deferred.js +13 -0
  10. package/lib/js/Events.d.ts +90 -0
  11. package/{src/Events.ts → lib/js/Events.js} +29 -84
  12. package/lib/js/Extent.d.ts +145 -0
  13. package/{src/Extent.ts → lib/js/Extent.js} +74 -120
  14. package/lib/js/Globe.d.ts +132 -0
  15. package/{src/Globe.ts → lib/js/Globe.js} +61 -159
  16. package/lib/js/ImageCanvas.d.ts +128 -0
  17. package/{src/ImageCanvas.ts → lib/js/ImageCanvas.js} +24 -65
  18. package/lib/js/Lock.d.ts +15 -0
  19. package/{src/Lock.ts → lib/js/Lock.js} +7 -21
  20. package/lib/js/LonLat.d.ts +128 -0
  21. package/{src/LonLat.ts → lib/js/LonLat.js} +44 -75
  22. package/lib/js/Object3d.d.ts +49 -0
  23. package/{src/Object3d.ts → lib/js/Object3d.js} +64 -184
  24. package/lib/js/Popup.d.ts +46 -0
  25. package/{src/Popup.ts → lib/js/Popup.js} +42 -110
  26. package/lib/js/QueueArray.d.ts +16 -0
  27. package/{src/QueueArray.ts → lib/js/QueueArray.js} +12 -25
  28. package/lib/js/Rectangle.d.ts +76 -0
  29. package/{src/Rectangle.ts → lib/js/Rectangle.js} +12 -50
  30. package/lib/js/Stack.d.ts +20 -0
  31. package/{src/Stack.ts → lib/js/Stack.js} +13 -29
  32. package/lib/js/astro/astro.d.ts +39 -0
  33. package/{src/astro/astro.ts → lib/js/astro/astro.js} +2 -8
  34. package/lib/js/astro/earth.d.ts +8 -0
  35. package/{src/astro/earth.ts → lib/js/astro/earth.js} +3 -39
  36. package/lib/js/astro/jd.d.ts +234 -0
  37. package/{src/astro/jd.ts → lib/js/astro/jd.js} +55 -134
  38. package/lib/js/astro/orbit.d.ts +5 -0
  39. package/{src/astro/orbit.ts → lib/js/astro/orbit.js} +26 -39
  40. package/lib/js/astro/rotation.d.ts +2 -0
  41. package/{src/astro/rotation.ts → lib/js/astro/rotation.js} +2 -11
  42. package/lib/js/bv/Box.d.ts +32 -0
  43. package/{src/bv/Box.ts → lib/js/bv/Box.js} +7 -35
  44. package/lib/js/bv/Sphere.d.ts +37 -0
  45. package/{src/bv/Sphere.ts → lib/js/bv/Sphere.js} +6 -34
  46. package/{src/bv/index.ts → lib/js/bv/index.d.ts} +0 -1
  47. package/lib/js/bv/index.js +3 -0
  48. package/lib/js/camera/Camera.d.ts +314 -0
  49. package/{src/camera/Camera.ts → lib/js/camera/Camera.js} +77 -326
  50. package/lib/js/camera/Frustum.d.ts +139 -0
  51. package/{src/camera/Frustum.ts → lib/js/camera/Frustum.js} +66 -185
  52. package/lib/js/camera/PlanetCamera.d.ts +234 -0
  53. package/{src/camera/PlanetCamera.ts → lib/js/camera/PlanetCamera.js} +65 -338
  54. package/{src/camera/index.ts → lib/js/camera/index.d.ts} +0 -1
  55. package/lib/js/camera/index.js +3 -0
  56. package/lib/js/cons.d.ts +40 -0
  57. package/{src/cons.ts → lib/js/cons.js} +10 -22
  58. package/lib/js/control/Atmosphere.d.ts +16 -0
  59. package/{src/control/Atmosphere.ts → lib/js/control/Atmosphere.js} +33 -86
  60. package/lib/js/control/CompassButton.d.ts +16 -0
  61. package/{src/control/CompassButton.ts → lib/js/control/CompassButton.js} +18 -43
  62. package/lib/js/control/Control.d.ts +100 -0
  63. package/{src/control/Control.ts → lib/js/control/Control.js} +22 -89
  64. package/lib/js/control/DebugInfo.d.ts +25 -0
  65. package/{src/control/DebugInfo.ts → lib/js/control/DebugInfo.js} +38 -84
  66. package/lib/js/control/DrawingSwitcher.d.ts +13 -0
  67. package/{src/control/DrawingSwitcher.ts → lib/js/control/DrawingSwitcher.js} +13 -30
  68. package/lib/js/control/EarthCoordinates.d.ts +41 -0
  69. package/{src/control/EarthCoordinates.ts → lib/js/control/EarthCoordinates.js} +58 -119
  70. package/lib/js/control/EarthNavigation.d.ts +50 -0
  71. package/{src/control/EarthNavigation.ts → lib/js/control/EarthNavigation.js} +70 -161
  72. package/lib/js/control/GeoImageDragControl.d.ts +22 -0
  73. package/{src/control/GeoImageDragControl.ts → lib/js/control/GeoImageDragControl.js} +26 -49
  74. package/lib/js/control/KeyboardNavigation.d.ts +28 -0
  75. package/{src/control/KeyboardNavigation.ts → lib/js/control/KeyboardNavigation.js} +67 -92
  76. package/lib/js/control/LayerAnimation.d.ts +71 -0
  77. package/{src/control/LayerAnimation.ts → lib/js/control/LayerAnimation.js} +82 -162
  78. package/lib/js/control/LayerSwitcher.d.ts +21 -0
  79. package/{src/control/LayerSwitcher.ts → lib/js/control/LayerSwitcher.js} +16 -41
  80. package/lib/js/control/Lighting.d.ts +49 -0
  81. package/{src/control/Lighting.ts → lib/js/control/Lighting.js} +106 -219
  82. package/lib/js/control/MouseNavigation.d.ts +62 -0
  83. package/{src/control/MouseNavigation.ts → lib/js/control/MouseNavigation.js} +105 -211
  84. package/lib/js/control/MouseWheelZoomControl.d.ts +44 -0
  85. package/lib/js/control/MouseWheelZoomControl.js +181 -0
  86. package/lib/js/control/RulerSwitcher.d.ts +17 -0
  87. package/{src/control/RulerSwitcher.ts → lib/js/control/RulerSwitcher.js} +13 -28
  88. package/lib/js/control/ScaleControl.d.ts +24 -0
  89. package/lib/js/control/ScaleControl.js +91 -0
  90. package/lib/js/control/SegmentBoundVisualization.d.ts +12 -0
  91. package/lib/js/control/SegmentBoundVisualization.js +37 -0
  92. package/lib/js/control/ShowFps.d.ts +9 -0
  93. package/lib/js/control/ShowFps.js +20 -0
  94. package/lib/js/control/SimpleNavigation.d.ts +25 -0
  95. package/{src/control/SimpleNavigation.ts → lib/js/control/SimpleNavigation.js} +29 -51
  96. package/lib/js/control/SimpleSkyBackground.d.ts +15 -0
  97. package/{src/control/SimpleSkyBackground.ts → lib/js/control/SimpleSkyBackground.js} +21 -48
  98. package/lib/js/control/Sun.d.ts +33 -0
  99. package/{src/control/Sun.ts → lib/js/control/Sun.js} +34 -85
  100. package/lib/js/control/ToggleWireframe.d.ts +14 -0
  101. package/lib/js/control/ToggleWireframe.js +28 -0
  102. package/lib/js/control/TouchNavigation.d.ts +52 -0
  103. package/{src/control/TouchNavigation.ts → lib/js/control/TouchNavigation.js} +88 -193
  104. package/lib/js/control/ZoomControl.d.ts +27 -0
  105. package/{src/control/ZoomControl.ts → lib/js/control/ZoomControl.js} +25 -50
  106. package/lib/js/control/drawing/DrawingControl.d.ts +12 -0
  107. package/{src/control/drawing/DrawingControl.ts → lib/js/control/drawing/DrawingControl.js} +10 -20
  108. package/lib/js/control/drawing/LineStringDrawingScene.d.ts +15 -0
  109. package/{src/control/drawing/LineStringDrawingScene.ts → lib/js/control/drawing/LineStringDrawingScene.js} +28 -85
  110. package/lib/js/control/drawing/PolygonDrawingScene.d.ts +98 -0
  111. package/{src/control/drawing/PolygonDrawingScene.ts → lib/js/control/drawing/PolygonDrawingScene.js} +190 -388
  112. package/lib/js/control/elevationProfile/ElevationProfile.d.ts +61 -0
  113. package/{src/control/elevationProfile/ElevationProfile.ts → lib/js/control/elevationProfile/ElevationProfile.js} +56 -148
  114. package/lib/js/control/heightRuler/HeightRuler.d.ts +7 -0
  115. package/{src/control/heightRuler/HeightRuler.ts → lib/js/control/heightRuler/HeightRuler.js} +4 -9
  116. package/lib/js/control/heightRuler/HeightRulerScene.d.ts +35 -0
  117. package/{src/control/heightRuler/HeightRulerScene.ts → lib/js/control/heightRuler/HeightRulerScene.js} +47 -99
  118. package/lib/js/control/heightRuler/HeightRulerSwitcher.d.ts +6 -0
  119. package/{src/control/heightRuler/HeightRulerSwitcher.ts → lib/js/control/heightRuler/HeightRulerSwitcher.js} +2 -4
  120. package/{src/control/index.ts → lib/js/control/index.d.ts} +1 -18
  121. package/lib/js/control/index.js +28 -0
  122. package/lib/js/control/ruler/Ruler.d.ts +13 -0
  123. package/lib/js/control/ruler/Ruler.js +23 -0
  124. package/lib/js/control/ruler/RulerScene.d.ts +88 -0
  125. package/lib/js/control/ruler/RulerScene.js +324 -0
  126. package/lib/js/control/selection/Selection.d.ts +55 -0
  127. package/{src/control/selection/Selection.ts → lib/js/control/selection/Selection.js} +15 -34
  128. package/lib/js/control/selection/SelectionScene.d.ts +44 -0
  129. package/{src/control/selection/SelectionScene.ts → lib/js/control/selection/SelectionScene.js} +26 -113
  130. package/lib/js/control/timeline/TimelineControl.d.ts +18 -0
  131. package/{src/control/timeline/TimelineControl.ts → lib/js/control/timeline/TimelineControl.js} +13 -43
  132. package/lib/js/control/timeline/TimelineModel.d.ts +41 -0
  133. package/{src/control/timeline/TimelineModel.ts → lib/js/control/timeline/TimelineModel.js} +26 -74
  134. package/lib/js/control/timeline/TimelineView.d.ts +85 -0
  135. package/{src/control/timeline/TimelineView.ts → lib/js/control/timeline/TimelineView.js} +133 -281
  136. package/lib/js/control/timeline/timelineUtils.d.ts +12 -0
  137. package/lib/js/control/timeline/timelineUtils.js +112 -0
  138. package/lib/js/control/visibleExtent/Segment.d.ts +277 -0
  139. package/{src → lib/js}/control/visibleExtent/Segment.js +145 -698
  140. package/lib/js/control/visibleExtent/VisibleExtent.d.ts +5 -0
  141. package/{src → lib/js}/control/visibleExtent/VisibleExtent.js +1 -18
  142. package/lib/js/control/visibleExtent/drawnode.d.ts +7 -0
  143. package/{src/control/visibleExtent/drawnode.ts → lib/js/control/visibleExtent/drawnode.js} +1 -28
  144. package/lib/js/ellipsoid/Ellipsoid.d.ts +187 -0
  145. package/{src/ellipsoid/Ellipsoid.ts → lib/js/ellipsoid/Ellipsoid.js} +82 -267
  146. package/lib/js/ellipsoid/index.d.ts +3 -0
  147. package/lib/js/ellipsoid/index.js +3 -0
  148. package/lib/js/ellipsoid/wgs84.d.ts +6 -0
  149. package/{src/ellipsoid/wgs84.ts → lib/js/ellipsoid/wgs84.js} +1 -2
  150. package/lib/js/entity/BaseBillboard.d.ts +222 -0
  151. package/{src/entity/BaseBillboard.ts → lib/js/entity/BaseBillboard.js} +48 -165
  152. package/lib/js/entity/BaseBillboardHandler.d.ts +81 -0
  153. package/{src/entity/BaseBillboardHandler.ts → lib/js/entity/BaseBillboardHandler.js} +139 -365
  154. package/lib/js/entity/Billboard.d.ts +113 -0
  155. package/{src/entity/Billboard.ts → lib/js/entity/Billboard.js} +19 -83
  156. package/lib/js/entity/BillboardHandler.d.ts +15 -0
  157. package/{src/entity/BillboardHandler.ts → lib/js/entity/BillboardHandler.js} +27 -59
  158. package/lib/js/entity/Entity.d.ts +354 -0
  159. package/{src/entity/Entity.ts → lib/js/entity/Entity.js} +101 -373
  160. package/lib/js/entity/EntityCollection.d.ts +364 -0
  161. package/{src/entity/EntityCollection.ts → lib/js/entity/EntityCollection.js} +51 -353
  162. package/lib/js/entity/GeoObject.d.ts +138 -0
  163. package/{src/entity/GeoObject.ts → lib/js/entity/GeoObject.js} +41 -146
  164. package/lib/js/entity/GeoObjectHandler.d.ts +99 -0
  165. package/{src/entity/GeoObjectHandler.ts → lib/js/entity/GeoObjectHandler.js} +162 -423
  166. package/lib/js/entity/Geometry.d.ts +111 -0
  167. package/lib/js/entity/Geometry.js +283 -0
  168. package/lib/js/entity/GeometryHandler.d.ts +84 -0
  169. package/{src/entity/GeometryHandler.ts → lib/js/entity/GeometryHandler.js} +162 -657
  170. package/lib/js/entity/Label.d.ts +207 -0
  171. package/{src/entity/Label.ts → lib/js/entity/Label.js} +62 -164
  172. package/lib/js/entity/LabelHandler.d.ts +65 -0
  173. package/{src/entity/LabelHandler.ts → lib/js/entity/LabelHandler.js} +175 -408
  174. package/lib/js/entity/LabelWorker.d.ts +15 -0
  175. package/{src/entity/LabelWorker.ts → lib/js/entity/LabelWorker.js} +24 -45
  176. package/lib/js/entity/PointCloud.d.ts +179 -0
  177. package/{src/entity/PointCloud.ts → lib/js/entity/PointCloud.js} +65 -265
  178. package/lib/js/entity/PointCloudHandler.d.ts +42 -0
  179. package/{src/entity/PointCloudHandler.ts → lib/js/entity/PointCloudHandler.js} +19 -62
  180. package/lib/js/entity/Polyline.d.ts +337 -0
  181. package/{src/entity/Polyline.ts → lib/js/entity/Polyline.js} +289 -924
  182. package/lib/js/entity/PolylineHandler.d.ts +22 -0
  183. package/{src/entity/PolylineHandler.ts → lib/js/entity/PolylineHandler.js} +12 -37
  184. package/lib/js/entity/Ray.d.ts +133 -0
  185. package/{src/entity/Ray.ts → lib/js/entity/Ray.js} +26 -146
  186. package/lib/js/entity/RayHandler.d.ts +70 -0
  187. package/{src/entity/RayHandler.ts → lib/js/entity/RayHandler.js} +102 -342
  188. package/lib/js/entity/Strip.d.ts +127 -0
  189. package/{src/entity/Strip.ts → lib/js/entity/Strip.js} +102 -372
  190. package/lib/js/entity/StripHandler.d.ts +42 -0
  191. package/{src/entity/StripHandler.ts → lib/js/entity/StripHandler.js} +22 -74
  192. package/{src/entity/index.ts → lib/js/entity/index.d.ts} +1 -2
  193. package/lib/js/entity/index.js +11 -0
  194. package/lib/js/index.d.ts +33 -0
  195. package/lib/js/index.js +33 -0
  196. package/lib/js/input/KeyboardHandler.d.ts +33 -0
  197. package/{src/input/KeyboardHandler.ts → lib/js/input/KeyboardHandler.js} +45 -84
  198. package/lib/js/input/MouseHandler.d.ts +16 -0
  199. package/{src/input/MouseHandler.ts → lib/js/input/MouseHandler.js} +12 -36
  200. package/lib/js/input/TouchHandler.d.ts +11 -0
  201. package/{src/input/TouchHandler.ts → lib/js/input/TouchHandler.js} +11 -23
  202. package/lib/js/input/input.d.ts +3 -0
  203. package/{src/input/input.ts → lib/js/input/input.js} +1 -1
  204. package/lib/js/layer/BaseGeoImage.d.ts +145 -0
  205. package/{src/layer/BaseGeoImage.ts → lib/js/layer/BaseGeoImage.js} +70 -235
  206. package/lib/js/layer/CanvasTiles.d.ts +103 -0
  207. package/{src/layer/CanvasTiles.ts → lib/js/layer/CanvasTiles.js} +54 -146
  208. package/lib/js/layer/GeoImage.d.ts +61 -0
  209. package/{src/layer/GeoImage.ts → lib/js/layer/GeoImage.js} +24 -54
  210. package/lib/js/layer/GeoTexture2d.d.ts +17 -0
  211. package/lib/js/layer/GeoTexture2d.js +37 -0
  212. package/lib/js/layer/GeoVideo.d.ts +68 -0
  213. package/{src/layer/GeoVideo.ts → lib/js/layer/GeoVideo.js} +31 -61
  214. package/lib/js/layer/KML.d.ts +72 -0
  215. package/{src/layer/KML.ts → lib/js/layer/KML.js} +94 -138
  216. package/lib/js/layer/Layer.d.ts +401 -0
  217. package/{src/layer/Layer.ts → lib/js/layer/Layer.js} +92 -443
  218. package/lib/js/layer/Material.d.ts +34 -0
  219. package/{src/layer/Material.ts → lib/js/layer/Material.js} +9 -43
  220. package/lib/js/layer/Vector.d.ts +244 -0
  221. package/{src/layer/Vector.ts → lib/js/layer/Vector.js} +147 -418
  222. package/lib/js/layer/WMS.d.ts +75 -0
  223. package/{src/layer/WMS.ts → lib/js/layer/WMS.js} +18 -100
  224. package/lib/js/layer/XYZ.d.ts +149 -0
  225. package/{src/layer/XYZ.ts → lib/js/layer/XYZ.js} +71 -171
  226. package/lib/js/layer/index.d.ts +11 -0
  227. package/lib/js/layer/index.js +11 -0
  228. package/lib/js/light/LightSource.d.ts +174 -0
  229. package/{src/light/LightSource.ts → lib/js/light/LightSource.js} +22 -131
  230. package/lib/js/math/Line2.d.ts +11 -0
  231. package/{src/math/Line2.ts → lib/js/math/Line2.js} +5 -15
  232. package/lib/js/math/Line3.d.ts +28 -0
  233. package/lib/js/math/Line3.js +85 -0
  234. package/lib/js/math/Mat3.d.ts +77 -0
  235. package/{src/math/Mat3.ts → lib/js/math/Mat3.js} +22 -51
  236. package/lib/js/math/Mat4.d.ts +195 -0
  237. package/{src/math/Mat4.ts → lib/js/math/Mat4.js} +53 -219
  238. package/lib/js/math/Plane.d.ts +20 -0
  239. package/{src/math/Plane.ts → lib/js/math/Plane.js} +26 -40
  240. package/lib/js/math/Quat.d.ts +373 -0
  241. package/{src/math/Quat.ts → lib/js/math/Quat.js} +106 -319
  242. package/lib/js/math/Ray.d.ts +76 -0
  243. package/{src/math/Ray.ts → lib/js/math/Ray.js} +21 -66
  244. package/lib/js/math/Vec2.d.ts +310 -0
  245. package/{src/math/Vec2.ts → lib/js/math/Vec2.js} +55 -121
  246. package/lib/js/math/Vec3.d.ts +472 -0
  247. package/{src/math/Vec3.ts → lib/js/math/Vec3.js} +103 -236
  248. package/lib/js/math/Vec4.d.ts +163 -0
  249. package/{src/math/Vec4.ts → lib/js/math/Vec4.js} +23 -79
  250. package/lib/js/math/coder.d.ts +51 -0
  251. package/{src/math/coder.ts → lib/js/math/coder.js} +14 -20
  252. package/lib/js/math/index.d.ts +11 -0
  253. package/lib/js/math/index.js +11 -0
  254. package/lib/js/math.d.ts +266 -0
  255. package/{src/math.ts → lib/js/math.js} +37 -85
  256. package/lib/js/mercator.d.ts +92 -0
  257. package/{src/mercator.ts → lib/js/mercator.js} +13 -37
  258. package/lib/js/proj/EPSG3857.d.ts +9 -0
  259. package/{src/proj/EPSG3857.ts → lib/js/proj/EPSG3857.js} +0 -2
  260. package/lib/js/proj/EPSG4326.d.ts +9 -0
  261. package/{src/proj/EPSG4326.ts → lib/js/proj/EPSG4326.js} +0 -2
  262. package/lib/js/proj/Proj.d.ts +43 -0
  263. package/{src/proj/Proj.ts → lib/js/proj/Proj.js} +4 -29
  264. package/lib/js/quadTree/EPSG4326QuadTreeStrategy.d.ts +6 -0
  265. package/lib/js/quadTree/EPSG4326QuadTreeStrategy.js +17 -0
  266. package/lib/js/quadTree/EarthQuadTreeStrategy.d.ts +6 -0
  267. package/lib/js/quadTree/EarthQuadTreeStrategy.js +19 -0
  268. package/lib/js/quadTree/EntityCollectionNode.d.ts +54 -0
  269. package/{src/quadTree/EntityCollectionNode.ts → lib/js/quadTree/EntityCollectionNode.js} +83 -150
  270. package/lib/js/quadTree/MarsQuadTreeStrategy.d.ts +6 -0
  271. package/lib/js/quadTree/MarsQuadTreeStrategy.js +17 -0
  272. package/lib/js/quadTree/Node.d.ts +61 -0
  273. package/{src/quadTree/Node.ts → lib/js/quadTree/Node.js} +140 -357
  274. package/lib/js/quadTree/QuadTreeStrategy.d.ts +25 -0
  275. package/{src/quadTree/QuadTreeStrategy.ts → lib/js/quadTree/QuadTreeStrategy.js} +13 -44
  276. package/lib/js/quadTree/Wgs84QuadTreeStrategy.d.ts +6 -0
  277. package/lib/js/quadTree/Wgs84QuadTreeStrategy.js +15 -0
  278. package/lib/js/quadTree/index.d.ts +12 -0
  279. package/lib/js/quadTree/index.js +12 -0
  280. package/lib/js/quadTree/quadTree.d.ts +40 -0
  281. package/{src/quadTree/quadTree.ts → lib/js/quadTree/quadTree.js} +0 -9
  282. package/lib/js/renderer/Renderer.d.ts +311 -0
  283. package/{src/renderer/Renderer.ts → lib/js/renderer/Renderer.js} +169 -611
  284. package/lib/js/renderer/RendererEvents.d.ts +237 -0
  285. package/{src/renderer/RendererEvents.ts → lib/js/renderer/RendererEvents.js} +134 -471
  286. package/lib/js/scene/Axes.d.ts +12 -0
  287. package/lib/js/scene/Axes.js +59 -0
  288. package/lib/js/scene/BaseNode.d.ts +61 -0
  289. package/{src/scene/BaseNode.ts → lib/js/scene/BaseNode.js} +11 -57
  290. package/lib/js/scene/Planet.d.ts +623 -0
  291. package/{src/scene/Planet.ts → lib/js/scene/Planet.js} +251 -935
  292. package/lib/js/scene/RenderNode.d.ts +150 -0
  293. package/{src/scene/RenderNode.ts → lib/js/scene/RenderNode.js} +33 -138
  294. package/lib/js/scene/SkyBox.d.ts +13 -0
  295. package/{src/scene/SkyBox.ts → lib/js/scene/SkyBox.js} +16 -37
  296. package/{src/scene/index.ts → lib/js/scene/index.d.ts} +0 -1
  297. package/lib/js/scene/index.js +5 -0
  298. package/lib/js/segment/Segment.d.ts +278 -0
  299. package/{src/segment/Segment.ts → lib/js/segment/Segment.js} +242 -913
  300. package/lib/js/segment/SegmentLonLat.d.ts +48 -0
  301. package/{src/segment/SegmentLonLat.ts → lib/js/segment/SegmentLonLat.js} +58 -132
  302. package/lib/js/segment/SegmentLonLatWgs84.d.ts +10 -0
  303. package/lib/js/segment/SegmentLonLatWgs84.js +23 -0
  304. package/lib/js/segment/Slice.d.ts +13 -0
  305. package/{src/segment/Slice.ts → lib/js/segment/Slice.js} +4 -22
  306. package/lib/js/segment/segmentHelper.d.ts +18 -0
  307. package/{src/segment/segmentHelper.ts → lib/js/segment/segmentHelper.js} +30 -88
  308. package/lib/js/shaders/atmos.d.ts +4 -0
  309. package/{src/shaders/atmos.ts → lib/js/shaders/atmos.js} +8 -26
  310. package/lib/js/shaders/billboard.d.ts +3 -0
  311. package/{src/shaders/billboard.ts → lib/js/shaders/billboard.js} +9 -18
  312. package/lib/js/shaders/bloom.d.ts +2 -0
  313. package/{src/shaders/bloom.ts → lib/js/shaders/bloom.js} +5 -8
  314. package/lib/js/shaders/blur.d.ts +3 -0
  315. package/{src/shaders/blur.ts → lib/js/shaders/blur.js} +11 -19
  316. package/lib/js/shaders/depth.d.ts +2 -0
  317. package/{src/shaders/depth.ts → lib/js/shaders/depth.js} +3 -6
  318. package/lib/js/shaders/drawnode.d.ts +8 -0
  319. package/{src/shaders/drawnode.ts → lib/js/shaders/drawnode.js} +23 -75
  320. package/lib/js/shaders/geoObject.d.ts +3 -0
  321. package/{src/shaders/geoObject.ts → lib/js/shaders/geoObject.js} +51 -63
  322. package/lib/js/shaders/label.d.ts +4 -0
  323. package/{src/shaders/label.ts → lib/js/shaders/label.js} +12 -25
  324. package/lib/js/shaders/lumFilter.d.ts +2 -0
  325. package/{src/shaders/lumFilter.ts → lib/js/shaders/lumFilter.js} +4 -7
  326. package/lib/js/shaders/pickingMask.d.ts +2 -0
  327. package/{src/shaders/pickingMask.ts → lib/js/shaders/pickingMask.js} +5 -8
  328. package/lib/js/shaders/pointCloud.d.ts +2 -0
  329. package/{src/shaders/pointCloud.ts → lib/js/shaders/pointCloud.js} +4 -7
  330. package/lib/js/shaders/polyline.d.ts +3 -0
  331. package/{src/shaders/polyline.ts → lib/js/shaders/polyline.js} +7 -22
  332. package/lib/js/shaders/ray.d.ts +2 -0
  333. package/{src/shaders/ray.ts → lib/js/shaders/ray.js} +4 -7
  334. package/lib/js/shaders/screenFrame.d.ts +2 -0
  335. package/{src/shaders/screenFrame.ts → lib/js/shaders/screenFrame.js} +5 -8
  336. package/lib/js/shaders/skybox.d.ts +2 -0
  337. package/{src/shaders/skybox.ts → lib/js/shaders/skybox.js} +10 -13
  338. package/lib/js/shaders/toneMapping.d.ts +2 -0
  339. package/{src/shaders/toneMapping.ts → lib/js/shaders/toneMapping.js} +5 -8
  340. package/lib/js/shaders/utils.d.ts +1 -0
  341. package/{src/shaders/utils.ts → lib/js/shaders/utils.js} +1 -1
  342. package/lib/js/terrain/BilTerrain.d.ts +18 -0
  343. package/{src/terrain/BilTerrain.ts → lib/js/terrain/BilTerrain.js} +21 -118
  344. package/lib/js/terrain/EmptyTerrain.d.ts +106 -0
  345. package/{src/terrain/EmptyTerrain.ts → lib/js/terrain/EmptyTerrain.js} +20 -144
  346. package/lib/js/terrain/Geoid.d.ts +33 -0
  347. package/lib/js/terrain/Geoid.js +191 -0
  348. package/lib/js/terrain/GlobusTerrain.d.ts +134 -0
  349. package/{src/terrain/GlobusTerrain.ts → lib/js/terrain/GlobusTerrain.js} +82 -239
  350. package/lib/js/terrain/MapboxTerrain.d.ts +21 -0
  351. package/{src/terrain/MapboxTerrain.ts → lib/js/terrain/MapboxTerrain.js} +46 -215
  352. package/{src/terrain/index.ts → lib/js/terrain/index.d.ts} +0 -1
  353. package/lib/js/terrain/index.js +5 -0
  354. package/lib/js/ui/Button.d.ts +32 -0
  355. package/lib/js/ui/Button.js +78 -0
  356. package/lib/js/ui/ButtonGroup.d.ts +16 -0
  357. package/lib/js/ui/ButtonGroup.js +41 -0
  358. package/lib/js/ui/Dialog.d.ts +55 -0
  359. package/lib/js/ui/Dialog.js +173 -0
  360. package/lib/js/ui/Slider.d.ts +38 -0
  361. package/lib/js/ui/Slider.js +129 -0
  362. package/lib/js/ui/ToggleButton.d.ts +20 -0
  363. package/lib/js/ui/ToggleButton.js +42 -0
  364. package/lib/js/ui/View.d.ts +37 -0
  365. package/{src/ui/View.ts → lib/js/ui/View.js} +31 -77
  366. package/lib/js/ui/icons.d.ts +1 -0
  367. package/{src/ui/icons.ts → lib/js/ui/icons.js} +1 -1
  368. package/lib/js/utils/BaseWorker.d.ts +14 -0
  369. package/{src/utils/BaseWorker.ts → lib/js/utils/BaseWorker.js} +15 -28
  370. package/lib/js/utils/FontAtlas.d.ts +82 -0
  371. package/{src/utils/FontAtlas.ts → lib/js/utils/FontAtlas.js} +45 -181
  372. package/lib/js/utils/GeoImageCreator.d.ts +34 -0
  373. package/{src/utils/GeoImageCreator.ts → lib/js/utils/GeoImageCreator.js} +34 -91
  374. package/lib/js/utils/ImagesCacheManager.d.ts +22 -0
  375. package/{src/utils/ImagesCacheManager.ts → lib/js/utils/ImagesCacheManager.js} +16 -38
  376. package/lib/js/utils/Loader.d.ts +63 -0
  377. package/lib/js/utils/Loader.js +156 -0
  378. package/lib/js/utils/NormalMapCreator.d.ts +52 -0
  379. package/{src/utils/NormalMapCreator.ts → lib/js/utils/NormalMapCreator.js} +64 -195
  380. package/lib/js/utils/PlainSegmentWorker.d.ts +24 -0
  381. package/{src/utils/PlainSegmentWorker.ts → lib/js/utils/PlainSegmentWorker.js} +24 -56
  382. package/lib/js/utils/TerrainWorker.d.ts +28 -0
  383. package/{src/utils/TerrainWorker.ts → lib/js/utils/TerrainWorker.js} +19 -56
  384. package/lib/js/utils/TextureAtlas.d.ts +113 -0
  385. package/{src/utils/TextureAtlas.ts → lib/js/utils/TextureAtlas.js} +40 -131
  386. package/lib/js/utils/VectorTileCreator.d.ts +18 -0
  387. package/{src/utils/VectorTileCreator.ts → lib/js/utils/VectorTileCreator.js} +61 -147
  388. package/lib/js/utils/colorTable.d.ts +3 -0
  389. package/{src/utils/colorTable.ts → lib/js/utils/colorTable.js} +2 -2
  390. package/lib/js/utils/earcut.d.ts +7 -0
  391. package/{src/utils/earcut.ts → lib/js/utils/earcut.js} +95 -223
  392. package/lib/js/utils/objParser.d.ts +24 -0
  393. package/{src/utils/objParser.ts → lib/js/utils/objParser.js} +38 -93
  394. package/lib/js/utils/shared.d.ts +267 -0
  395. package/{src/utils/shared.ts → lib/js/utils/shared.js} +184 -341
  396. package/lib/js/utils/units.d.ts +16 -0
  397. package/lib/js/utils/units.js +61 -0
  398. package/lib/js/webgl/BaseFramebuffer.d.ts +53 -0
  399. package/{src/webgl/BaseFramebuffer.ts → lib/js/webgl/BaseFramebuffer.js} +22 -59
  400. package/lib/js/webgl/Framebuffer.d.ts +69 -0
  401. package/{src/webgl/Framebuffer.ts → lib/js/webgl/Framebuffer.js} +30 -87
  402. package/lib/js/webgl/Handler.d.ts +473 -0
  403. package/{src/webgl/Handler.ts → lib/js/webgl/Handler.js} +175 -586
  404. package/lib/js/webgl/Multisample.d.ts +27 -0
  405. package/lib/js/webgl/Multisample.js +77 -0
  406. package/lib/js/webgl/Program.d.ts +159 -0
  407. package/{src/webgl/Program.ts → lib/js/webgl/Program.js} +73 -210
  408. package/lib/js/webgl/ProgramController.d.ts +86 -0
  409. package/{src/webgl/ProgramController.ts → lib/js/webgl/ProgramController.js} +11 -45
  410. package/{src/webgl/index.ts → lib/js/webgl/index.d.ts} +1 -8
  411. package/lib/js/webgl/index.js +6 -0
  412. package/lib/js/webgl/types.d.ts +9 -0
  413. package/{src/webgl/types.ts → lib/js/webgl/types.js} +5 -8
  414. package/lib/js/webgl/variableHandlers.d.ts +22 -0
  415. package/lib/js/webgl/variableHandlers.js +78 -0
  416. package/package.json +23 -34
  417. package/dist/@openglobus/og.esm.js +0 -2
  418. package/dist/@openglobus/og.esm.js.map +0 -1
  419. package/dist/@openglobus/og.umd.js +0 -2
  420. package/dist/@openglobus/og.umd.js.map +0 -1
  421. package/src/Deferred.ts +0 -17
  422. package/src/control/MouseWheelZoomControl.ts +0 -269
  423. package/src/control/ScaleControl.ts +0 -131
  424. package/src/control/SegmentBoundVisualization.ts +0 -50
  425. package/src/control/ShowFps.ts +0 -28
  426. package/src/control/ToggleWireframe.ts +0 -35
  427. package/src/control/ruler/Ruler.ts +0 -35
  428. package/src/control/ruler/RulerScene.ts +0 -437
  429. package/src/control/timeline/timelineUtils.ts +0 -133
  430. package/src/ellipsoid/index.ts +0 -4
  431. package/src/entity/Geometry.ts +0 -486
  432. package/src/index.ts +0 -173
  433. package/src/layer/GeoTexture2d.ts +0 -56
  434. package/src/layer/index.ts +0 -12
  435. package/src/math/Line3.ts +0 -162
  436. package/src/math/index.ts +0 -26
  437. package/src/quadTree/EPSG4326QuadTreeStrategy.ts +0 -24
  438. package/src/quadTree/EarthQuadTreeStrategy.ts +0 -28
  439. package/src/quadTree/MarsQuadTreeStrategy.ts +0 -25
  440. package/src/quadTree/Wgs84QuadTreeStrategy.ts +0 -22
  441. package/src/quadTree/index.ts +0 -14
  442. package/src/scene/Axes.ts +0 -78
  443. package/src/segment/SegmentLonLatWgs84.ts +0 -33
  444. package/src/terrain/Geoid.ts +0 -273
  445. package/src/ui/Button.ts +0 -121
  446. package/src/ui/ButtonGroup.ts +0 -63
  447. package/src/ui/Dialog.ts +0 -244
  448. package/src/ui/Slider.ts +0 -188
  449. package/src/ui/ToggleButton.ts +0 -68
  450. package/src/utils/Loader.ts +0 -247
  451. package/src/utils/units.ts +0 -78
  452. package/src/webgl/Multisample.ts +0 -153
  453. package/src/webgl/variableHandlers.ts +0 -114
  454. /package/{dist → lib}/@openglobus/og.css +0 -0
  455. /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.json +0 -0
  456. /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.ttf.cfg +0 -0
  457. /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
  458. /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.json +0 -0
  459. /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.ttf.cfg +0 -0
  460. /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
  461. /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.json +0 -0
  462. /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.ttf.cfg +0 -0
  463. /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
  464. /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.json +0 -0
  465. /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +0 -0
  466. /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
  467. /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.json +0 -0
  468. /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +0 -0
  469. /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
  470. /package/{dist → lib}/@openglobus/res/fonts/arial.js +0 -0
  471. /package/{dist → lib}/@openglobus/res/fonts/arial.json +0 -0
  472. /package/{dist → lib}/@openglobus/res/fonts/arial.ttf.cfg +0 -0
  473. /package/{dist → lib}/@openglobus/res/fonts/arial.ttf.png +0 -0
  474. /package/{dist → lib}/@openglobus/res/night-4326.png +0 -0
  475. /package/{dist → lib}/@openglobus/res/night.png +0 -0
  476. /package/{dist → lib}/@openglobus/res/spec.png +0 -0
@@ -1,34 +1,16 @@
1
1
  import * as mercator from "../mercator";
2
- import {createEvents, EventsHandler} from "../Events";
3
- import {createExtent, stringTemplate, TypedArray} from "../utils/shared";
4
- import {EPSG3857} from "../proj/EPSG3857";
5
- import {EmptyTerrain, IEmptyTerrainParams} from "./EmptyTerrain";
6
- import {Extent} from "../Extent";
7
- import {Layer} from "../layer/Layer";
8
- import {IResponse, Loader} from "../utils/Loader";
9
- import {LonLat} from "../LonLat";
10
- import {NOTRENDERING} from "../quadTree/quadTree";
11
- import {Segment} from "../segment/Segment";
2
+ import { createEvents } from "../Events";
3
+ import { createExtent, stringTemplate } from "../utils/shared";
4
+ import { EPSG3857 } from "../proj/EPSG3857";
5
+ import { EmptyTerrain } from "./EmptyTerrain";
6
+ import { Extent } from "../Extent";
7
+ import { Layer } from "../layer/Layer";
8
+ import { Loader } from "../utils/Loader";
9
+ import { LonLat } from "../LonLat";
10
+ import { NOTRENDERING } from "../quadTree/quadTree";
12
11
  // import { QueueArray } from '../QueueArray';
13
- import {Ray} from "../math/Ray";
14
- import {Vec3} from "../math/Vec3";
15
-
16
- export interface IGlobusTerrainParams extends IEmptyTerrainParams {
17
- subdomains?: string[];
18
- url?: string;
19
- extent?: Extent | [[number, number], [number, number]];
20
- urlRewrite?: UrlRewriteFunc;
21
- noDataValues?: number[];
22
- plainGridSize?: number;
23
- }
24
-
25
- type TileData = {
26
- heights: number[] | TypedArray | null,
27
- extent: Extent | null
28
- }
29
-
30
- type UrlRewriteFunc = (segment: Segment, url: string) => string;
31
-
12
+ import { Ray } from "../math/Ray";
13
+ import { Vec3 } from "../math/Vec3";
32
14
  /**
33
15
  * Class that loads segment elevation data, converts it to the array and passes it to the planet segment.
34
16
  * @class
@@ -49,92 +31,37 @@ type UrlRewriteFunc = (segment: Segment, url: string) => string;
49
31
  * @fires GlobusTerrainEvents#loadend
50
32
  */
51
33
  class GlobusTerrain extends EmptyTerrain {
52
-
53
- public events: GlobusTerrainEvents;
54
-
55
- protected _s: string[];
56
-
57
- protected _requestCount: number;
58
-
59
- protected _requestsPeerSubdomain: number;
60
-
61
- /**
62
- * Terrain source path url template.
63
- * @protected
64
- * @type {string}
65
- */
66
- protected url: string;
67
-
68
- protected _extent: Extent;
69
-
70
- protected _dataType: string;
71
-
72
- protected _elevationCache: Record<string, TileData>;
73
-
74
- protected _fetchCache: Record<string, Promise<any>>;
75
-
76
- protected _loader: Loader<GlobusTerrain>;
77
-
78
- /**
79
- * Rewrites elevation storage url query.
80
- * @protected
81
- * @type {Function} -
82
- */
83
- protected _urlRewriteCallback: UrlRewriteFunc | null;
84
-
85
-
86
- constructor(name: string | null, options: IGlobusTerrainParams = {}) {
87
-
34
+ constructor(name = "", options = {}) {
88
35
  super({
89
36
  geoidSrc: "//openglobus.org/geoid/egm84-30.pgm",
90
37
  maxNativeZoom: options.maxNativeZoom || 14,
91
38
  ...options
92
39
  });
93
-
94
40
  this._s = options.subdomains || ["a", "b", "c"];
95
-
96
41
  this.events = createEvents(GLOBUSTERRAIN_EVENTS, this);
97
-
98
42
  this._requestCount = 0;
99
-
100
43
  this._requestsPeerSubdomain = 4;
101
-
102
44
  this.isEmpty = false;
103
-
104
45
  this.equalizeNormals = true;
105
-
106
46
  this.name = name || "openglobus";
107
-
108
47
  this.url = options.url || "//{s}.srtm3.openglobus.org/{z}/{y}/{x}.ddm";
109
-
110
48
  this.gridSizeByZoom = options.gridSizeByZoom || [
111
49
  64, 32, 32, 16, 16, 8, 8, 8, 8, 16, 16, 16, 16, 32, 32, 16, 8, 4, 2, 2, 2, 2, 2, 2
112
50
  ];
113
-
114
51
  this.noDataValues = options.noDataValues || [];
115
-
116
52
  this.plainGridSize = options.plainGridSize || 32;
117
-
118
53
  this._extent = createExtent(options.extent, new Extent(new LonLat(-180.0, -90.0), new LonLat(180.0, 90.0)));
119
-
120
54
  this._dataType = "arrayBuffer";
121
-
122
55
  this._maxNodeZoom = this.gridSizeByZoom.length - 1;
123
-
124
56
  this._elevationCache = {};
125
-
126
57
  this._fetchCache = {};
127
-
128
- this._loader = new Loader<GlobusTerrain>();
129
-
58
+ this._loader = new Loader();
130
59
  this._urlRewriteCallback = options.urlRewrite || null;
131
60
  }
132
-
133
- public get loader(): Loader<GlobusTerrain> {
61
+ get loader() {
134
62
  return this._loader;
135
63
  }
136
-
137
- public override clearCache() {
64
+ clearCache() {
138
65
  for (let c in this._elevationCache) {
139
66
  this._elevationCache[c].heights = null;
140
67
  this._elevationCache[c].extent = null;
@@ -143,7 +70,6 @@ class GlobusTerrain extends EmptyTerrain {
143
70
  //@ts-ignore
144
71
  this._elevationCache = null;
145
72
  this._elevationCache = {};
146
-
147
73
  for (let c in this._fetchCache) {
148
74
  //@ts-ignore
149
75
  this._fetchCache[c] = null;
@@ -153,38 +79,28 @@ class GlobusTerrain extends EmptyTerrain {
153
79
  this._fetchCache = null;
154
80
  this._fetchCache = {};
155
81
  }
156
-
157
- public override isBlur(segment: Segment): boolean {
82
+ isBlur(segment) {
158
83
  return segment.tileZoom >= 6;
159
84
  }
160
-
161
- public override getHeightAsync(lonLat: LonLat, callback: (h: number) => void, zoom?: number, firstAttempt?: boolean): boolean {
85
+ getHeightAsync(lonLat, callback, zoom, firstAttempt) {
162
86
  if (!lonLat || lonLat.lat > mercator.MAX_LAT || lonLat.lat < mercator.MIN_LAT) {
163
87
  callback(0);
164
88
  return true;
165
89
  }
166
-
167
90
  firstAttempt = firstAttempt != undefined ? firstAttempt : true;
168
-
169
- let z = zoom || this.maxZoom,
170
- z2 = Math.pow(2, z),
171
- size = mercator.POLE2 / z2,
172
- merc = mercator.forward(lonLat),
173
- x = Math.floor((mercator.POLE + merc.lon) / size),
174
- y = Math.floor((mercator.POLE - merc.lat) / size);
175
-
91
+ let z = zoom || this.maxZoom, z2 = Math.pow(2, z), size = mercator.POLE2 / z2, merc = mercator.forward(lonLat), x = Math.floor((mercator.POLE + merc.lon) / size), y = Math.floor((mercator.POLE - merc.lat) / size);
176
92
  let tileIndex = Layer.getTileIndex(x, y, z);
177
-
178
93
  let cache = this._elevationCache[tileIndex];
179
-
180
94
  if (cache) {
181
95
  if (!cache.heights) {
182
96
  callback(0);
183
- } else {
97
+ }
98
+ else {
184
99
  callback(this._getGroundHeightMerc(merc, cache));
185
100
  }
186
101
  return true;
187
- } else {
102
+ }
103
+ else {
188
104
  if (!this._fetchCache[tileIndex]) {
189
105
  let url = this._buildURL(x, y, z);
190
106
  this._fetchCache[tileIndex] = this._loader.fetch({
@@ -192,70 +108,51 @@ class GlobusTerrain extends EmptyTerrain {
192
108
  type: this._dataType
193
109
  });
194
110
  }
195
-
196
- this._fetchCache[tileIndex].then((response: IResponse) => {
197
-
111
+ this._fetchCache[tileIndex].then((response) => {
198
112
  let extent = mercator.getTileExtent(x, y, z);
199
-
200
113
  if (response.status === "ready") {
201
- let cache: TileData = {
114
+ let cache = {
202
115
  heights: this._createHeights(response.data, tileIndex, x, y, z, extent),
203
116
  extent: extent
204
117
  };
205
118
  this._elevationCache[tileIndex] = cache;
206
119
  callback(this._getGroundHeightMerc(merc, cache));
207
-
208
- } else if (response.status === "error") {
120
+ }
121
+ else if (response.status === "error") {
209
122
  if (firstAttempt && z > this.maxNativeZoom) {
210
123
  firstAttempt = false;
211
124
  this.getHeightAsync(lonLat, callback, this.maxNativeZoom, false);
212
125
  return;
213
126
  }
214
-
215
127
  this._elevationCache[tileIndex] = {
216
128
  heights: null,
217
129
  extent: extent
218
130
  };
219
-
220
131
  callback(0);
221
-
222
- } else {
132
+ }
133
+ else {
223
134
  // @ts-ignore
224
135
  this._fetchCache[tileIndex] = null;
225
136
  delete this._fetchCache[tileIndex];
226
137
  }
227
138
  });
228
139
  }
229
-
230
140
  return false;
231
141
  }
232
-
233
- public getTileCache(lonLat: LonLat, z: number): TileData | undefined {
142
+ getTileCache(lonLat, z) {
234
143
  if (!lonLat || lonLat.lat > mercator.MAX_LAT || lonLat.lat < mercator.MIN_LAT) {
235
144
  return;
236
145
  }
237
-
238
- let z2 = Math.pow(2, z),
239
- size = mercator.POLE2 / z2,
240
- merc = mercator.forward(lonLat),
241
- x = Math.floor((mercator.POLE + merc.lon) / size),
242
- y = Math.floor((mercator.POLE - merc.lat) / size);
243
-
146
+ let z2 = Math.pow(2, z), size = mercator.POLE2 / z2, merc = mercator.forward(lonLat), x = Math.floor((mercator.POLE + merc.lon) / size), y = Math.floor((mercator.POLE - merc.lat) / size);
244
147
  let tileIndex = Layer.getTileIndex(x, y, z);
245
-
246
148
  return this._elevationCache[tileIndex];
247
149
  }
248
-
249
- protected _getGroundHeightMerc(merc: LonLat, tileData: TileData): number {
150
+ _getGroundHeightMerc(merc, tileData) {
250
151
  if (!(tileData.extent && tileData.heights)) {
251
152
  return 0;
252
153
  }
253
-
254
- let w = tileData.extent.getWidth(),
255
- gs = Math.sqrt(tileData.heights.length);
256
-
154
+ let w = tileData.extent.getWidth(), gs = Math.sqrt(tileData.heights.length);
257
155
  let size = w / (gs - 1);
258
-
259
156
  /*
260
157
  v2-----------v3
261
158
  | |
@@ -263,51 +160,29 @@ class GlobusTerrain extends EmptyTerrain {
263
160
  | |
264
161
  v0-----------v1
265
162
  */
266
-
267
- let i = gs - Math.ceil((merc.lat - tileData.extent.southWest.lat) / size) - 1,
268
- j = Math.floor((merc.lon - tileData.extent.southWest.lon) / size);
269
-
270
- let v0Ind = (i + 1) * gs + j,
271
- v1Ind = v0Ind + 1,
272
- v2Ind = i * gs + j,
273
- v3Ind = v2Ind + 1;
274
-
275
- let h0 = tileData.heights[v0Ind],
276
- h1 = tileData.heights[v1Ind],
277
- h2 = tileData.heights[v2Ind],
278
- h3 = tileData.heights[v3Ind];
279
-
280
- let v0 = new Vec3(tileData.extent.southWest.lon + size * j, h0, tileData.extent.northEast.lat - size * i - size),
281
- v1 = new Vec3(v0.x + size, h1, v0.z),
282
- v2 = new Vec3(v0.x, h2, v0.z + size),
283
- v3 = new Vec3(v0.x + size, h3, v0.z + size);
284
-
285
- let xyz = new Vec3(merc.lon, 100000.0, merc.lat),
286
- ray = new Ray(xyz, new Vec3(0, -1, 0));
287
-
163
+ let i = gs - Math.ceil((merc.lat - tileData.extent.southWest.lat) / size) - 1, j = Math.floor((merc.lon - tileData.extent.southWest.lon) / size);
164
+ let v0Ind = (i + 1) * gs + j, v1Ind = v0Ind + 1, v2Ind = i * gs + j, v3Ind = v2Ind + 1;
165
+ let h0 = tileData.heights[v0Ind], h1 = tileData.heights[v1Ind], h2 = tileData.heights[v2Ind], h3 = tileData.heights[v3Ind];
166
+ let v0 = new Vec3(tileData.extent.southWest.lon + size * j, h0, tileData.extent.northEast.lat - size * i - size), v1 = new Vec3(v0.x + size, h1, v0.z), v2 = new Vec3(v0.x, h2, v0.z + size), v3 = new Vec3(v0.x + size, h3, v0.z + size);
167
+ let xyz = new Vec3(merc.lon, 100000.0, merc.lat), ray = new Ray(xyz, new Vec3(0, -1, 0));
288
168
  let res = new Vec3();
289
169
  let d = ray.hitTriangle(v0, v1, v2, res);
290
-
291
170
  if (d === Ray.INSIDE) {
292
171
  return res.y;
293
172
  }
294
-
295
173
  d = ray.hitTriangle(v1, v3, v2, res);
296
174
  if (d === Ray.INSIDE) {
297
175
  return res.y;
298
176
  }
299
-
300
177
  return 0;
301
178
  }
302
-
303
179
  /**
304
180
  * Stop loading.
305
181
  * @public
306
182
  */
307
- public override abortLoading() {
183
+ abortLoading() {
308
184
  this._loader.abortAll();
309
185
  }
310
-
311
186
  /**
312
187
  * Sets terrain data url template.
313
188
  * @public
@@ -315,92 +190,76 @@ class GlobusTerrain extends EmptyTerrain {
315
190
  * @example <caption>Default openglobus url template:</caption>:
316
191
  * "http://earth3.openglobus.org/{z}/{y}/{x}.ddm"
317
192
  */
318
- public setUrl(url: string) {
193
+ setUrl(url) {
319
194
  this.url = url;
320
195
  }
321
-
322
196
  /**
323
197
  * Sets provider name.
324
198
  * @public
325
199
  * @param {string} name - Name.
326
200
  */
327
- public setName(name: string) {
201
+ setName(name) {
328
202
  this.name = name;
329
203
  }
330
-
331
- public isReadyToLoad(segment: Segment): boolean {
204
+ isReadyToLoad(segment) {
332
205
  return segment._projection.equal(EPSG3857) && this._extent.overlaps(segment.getExtentLonLat());
333
206
  }
334
-
335
207
  /**
336
208
  * Starts to load segment elevation data.
337
209
  * @public
338
210
  * @param {Segment} segment - Segment that wants a terrain data.
339
211
  * @param {boolean} [forceLoading] -
340
212
  */
341
- public override loadTerrain(segment: Segment, forceLoading: boolean = false) {
342
-
343
- if (this._planet!.terrainLock.isFree()) {
344
-
213
+ loadTerrain(segment, forceLoading = false) {
214
+ if (this._planet.terrainLock.isFree()) {
345
215
  segment.terrainReady = false;
346
216
  segment.terrainIsLoading = true;
347
-
348
217
  if (this.isReadyToLoad(segment)) {
349
-
350
218
  let cache = this._elevationCache[segment.tileIndex];
351
-
352
219
  if (cache) {
353
220
  this._applyElevationsData(segment, cache.heights);
354
- } else {
221
+ }
222
+ else {
355
223
  this._loader.load({
356
- sender: this,
357
- src: this._getHTTPRequestString(segment),
358
- segment: segment,
359
- type: this._dataType,
360
- filter: () => (segment.plainReady && segment.node.getState() !== NOTRENDERING) || forceLoading
361
- }, (response: IResponse) => {
362
-
363
- if (response.status === "ready") {
364
-
365
- let heights = this._createHeights(
366
- response.data,
367
- segment.tileIndex,
368
- segment.tileX, segment.tileY, segment.tileZoom,
369
- segment.getExtent(),
370
- segment.tileZoom === this.maxZoom
371
- );
372
-
373
- this._elevationCache[segment.tileIndex] = {
374
- heights: heights,
375
- extent: segment.getExtent()
376
- };
377
-
378
- this._applyElevationsData(segment, heights);
379
-
380
- } else if (response.status === "abort") {
381
- segment.terrainIsLoading = false;
382
- } else if (response.status === "error") {
383
- this._applyElevationsData(segment, null);
384
- } else {
385
- segment.terrainIsLoading = false;
386
- }
224
+ sender: this,
225
+ src: this._getHTTPRequestString(segment),
226
+ segment: segment,
227
+ type: this._dataType,
228
+ filter: () => (segment.plainReady && segment.node.getState() !== NOTRENDERING) || forceLoading
229
+ }, (response) => {
230
+ if (response.status === "ready") {
231
+ let heights = this._createHeights(response.data, segment.tileIndex, segment.tileX, segment.tileY, segment.tileZoom, segment.getExtent(), segment.tileZoom === this.maxZoom);
232
+ this._elevationCache[segment.tileIndex] = {
233
+ heights: heights,
234
+ extent: segment.getExtent()
235
+ };
236
+ this._applyElevationsData(segment, heights);
237
+ }
238
+ else if (response.status === "abort") {
239
+ segment.terrainIsLoading = false;
240
+ }
241
+ else if (response.status === "error") {
242
+ this._applyElevationsData(segment, null);
243
+ }
244
+ else {
245
+ segment.terrainIsLoading = false;
387
246
  }
388
- );
247
+ });
389
248
  }
390
- } else {
249
+ }
250
+ else {
391
251
  segment.elevationsNotExists();
392
252
  }
393
- } else {
253
+ }
254
+ else {
394
255
  segment.terrainIsLoading = false;
395
256
  }
396
257
  }
397
-
398
- protected _getSubdomain(): string {
258
+ _getSubdomain() {
399
259
  this._requestCount++;
400
260
  return this._s[Math.floor(this._requestCount % (this._requestsPeerSubdomain * this._s.length) / this._requestsPeerSubdomain)];
401
261
  }
402
-
403
- public _buildURL(x: number, y: number, z: number): string {
262
+ _buildURL(x, y, z) {
404
263
  return stringTemplate(this.url, {
405
264
  s: this._getSubdomain(),
406
265
  x: x.toString(),
@@ -408,51 +267,46 @@ class GlobusTerrain extends EmptyTerrain {
408
267
  z: z.toString()
409
268
  });
410
269
  }
411
-
412
270
  /**
413
271
  * Creates default query url string.
414
272
  * @protected
415
273
  * @param {Segment} segment -
416
274
  * @returns {string} -
417
275
  */
418
- protected _createUrl(segment: Segment): string {
276
+ _createUrl(segment) {
419
277
  return this._buildURL(segment.tileX, segment.tileY, segment.tileZoom);
420
278
  }
421
-
422
279
  /**
423
280
  * Returns actual url query string.
424
281
  * @protected
425
282
  * @param {Segment} segment - Segment that loads image data.
426
283
  * @returns {string} - Url string.
427
284
  */
428
- protected _getHTTPRequestString(segment: Segment): string {
285
+ _getHTTPRequestString(segment) {
429
286
  return this._urlRewriteCallback ? this._urlRewriteCallback(segment, this.url) : this._createUrl(segment);
430
287
  }
431
-
432
288
  /**
433
289
  * Sets url rewrite callback, used for custom url rewriting for every tile loading.
434
290
  * @public
435
291
  * @param {UrlRewriteFunc} ur - The callback that returns tile custom created url.
436
292
  */
437
- public setUrlRewriteCallback(ur: UrlRewriteFunc) {
293
+ setUrlRewriteCallback(ur) {
438
294
  this._urlRewriteCallback = ur;
439
295
  }
440
-
441
296
  /**
442
297
  * Converts loaded data to segment elevation data type(column major elevation data array in meters)
443
298
  * @public
444
299
  * @returns {Array.<number>} -
445
300
  */
446
- protected _createHeights(data: any, tileIndex?: string, x?: number, y?: number, z?: number, extent?: Extent, isMaxZoom?: boolean): TypedArray | number[] {
301
+ _createHeights(data, tileIndex, x, y, z, extent, isMaxZoom) {
447
302
  return new Float32Array(data);
448
303
  }
449
-
450
304
  /**
451
305
  * @protected
452
306
  */
453
- protected _applyElevationsData(segment: Segment, elevations: number[] | TypedArray | null) {
307
+ _applyElevationsData(segment, elevations) {
454
308
  if (segment) {
455
- let e = this.events.load!;
309
+ let e = this.events.load;
456
310
  if (e.handlers.length) {
457
311
  this.events.dispatch(e, {
458
312
  elevations: elevations,
@@ -463,27 +317,16 @@ class GlobusTerrain extends EmptyTerrain {
463
317
  }
464
318
  }
465
319
  }
466
-
467
- type GlobusTerrainEventsList = [
468
- "load",
469
- "loadend"
470
- ];
471
-
472
- type GlobusTerrainEvents = EventsHandler<GlobusTerrainEventsList>;
473
-
474
- const GLOBUSTERRAIN_EVENTS: GlobusTerrainEventsList = [
320
+ const GLOBUSTERRAIN_EVENTS = [
475
321
  /**
476
322
  * Triggered when current elevation tile has loaded but before rendering.
477
323
  * @event og.terrain.GlobusTerrain#load
478
324
  */
479
325
  "load",
480
-
481
326
  /**
482
327
  * Triggered when all elevation tiles have loaded or loading has stopped.
483
328
  * @event og.terrain.GlobusTerrain#loadend
484
329
  */
485
330
  "loadend"
486
331
  ];
487
-
488
-
489
- export {GlobusTerrain};
332
+ export { GlobusTerrain };
@@ -0,0 +1,21 @@
1
+ import { Extent } from "../Extent";
2
+ import { GlobusTerrain, IGlobusTerrainParams } from "./GlobusTerrain";
3
+ import { LonLat } from "../LonLat";
4
+ import { Segment } from "../segment/Segment";
5
+ import { TypedArray } from "../utils/shared";
6
+ interface IMapboxTerrainParams extends IGlobusTerrainParams {
7
+ equalizeNormals?: boolean;
8
+ key?: string;
9
+ imageSize?: number;
10
+ }
11
+ declare class MapboxTerrain extends GlobusTerrain {
12
+ protected _imageSize: number;
13
+ protected _ctx: CanvasRenderingContext2D;
14
+ protected _imageDataCache: Record<string, Uint8ClampedArray>;
15
+ constructor(name: string | null, options?: IMapboxTerrainParams);
16
+ isBlur(segment: Segment): boolean;
17
+ protected _createTemporalCanvas(size: number): CanvasRenderingContext2D;
18
+ protected _createHeights(data: HTMLImageElement | ImageBitmap, tileIndex: string, tileX: number, tileY: number, tileZoom: number, extent: Extent, preventChildren: boolean): TypedArray | number[];
19
+ getHeightAsync(lonLat: LonLat, callback: (h: number) => void, zoom?: number): boolean;
20
+ }
21
+ export { MapboxTerrain };