@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,6 +1,5 @@
1
1
  import { Program } from '../webgl/Program';
2
-
3
- export function polyline_screen(): Program {
2
+ export function polyline_screen() {
4
3
  return new Program("polyline_screen", {
5
4
  uniforms: {
6
5
  viewport: "vec2",
@@ -17,18 +16,13 @@ export function polyline_screen(): Program {
17
16
  prevHigh: "vec3",
18
17
  currentHigh: "vec3",
19
18
  nextHigh: "vec3",
20
-
21
19
  prevLow: "vec3",
22
20
  currentLow: "vec3",
23
21
  nextLow: "vec3",
24
-
25
22
  order: "float",
26
-
27
23
  color: "vec4"
28
24
  },
29
-
30
- vertexShader:
31
- `precision highp float;
25
+ vertexShader: `precision highp float;
32
26
 
33
27
  attribute vec3 prevHigh;
34
28
  attribute vec3 currentHigh;
@@ -166,9 +160,7 @@ export function polyline_screen(): Program {
166
160
 
167
161
  gl_Position = vec4((2.0 * m / viewport - 1.0) * dCurrent.w, dCurrent.z + depthOffset, dCurrent.w);
168
162
  }`,
169
-
170
- fragmentShader:
171
- `precision highp float;
163
+ fragmentShader: `precision highp float;
172
164
  uniform vec2 uFloatParams;
173
165
  varying vec3 uCamPos;
174
166
  varying vec4 vColor;
@@ -181,8 +173,7 @@ export function polyline_screen(): Program {
181
173
  }`
182
174
  });
183
175
  }
184
-
185
- export function polyline_picking(): Program {
176
+ export function polyline_picking() {
186
177
  return new Program("polyline_picking", {
187
178
  uniforms: {
188
179
  viewport: "vec2",
@@ -199,16 +190,12 @@ export function polyline_picking(): Program {
199
190
  prevHigh: "vec3",
200
191
  currentHigh: "vec3",
201
192
  nextHigh: "vec3",
202
-
203
193
  prevLow: "vec3",
204
194
  currentLow: "vec3",
205
195
  nextLow: "vec3",
206
-
207
196
  order: "float"
208
197
  },
209
-
210
- vertexShader:
211
- `precision highp float;
198
+ vertexShader: `precision highp float;
212
199
 
213
200
  attribute vec3 prevHigh;
214
201
  attribute vec3 currentHigh;
@@ -343,9 +330,7 @@ export function polyline_picking(): Program {
343
330
  }
344
331
  gl_Position = vec4((2.0 * m / viewport - 1.0) * dCurrent.w, dCurrent.z + depthOffset, dCurrent.w);
345
332
  }`,
346
-
347
- fragmentShader:
348
- `precision highp float;
333
+ fragmentShader: `precision highp float;
349
334
  uniform vec2 uFloatParams;
350
335
  varying vec3 uCamPos;
351
336
  varying vec4 vColor;
@@ -357,4 +342,4 @@ export function polyline_picking(): Program {
357
342
  gl_FragColor = vec4(vColor.rgb, a);
358
343
  }`
359
344
  });
360
- }
345
+ }
@@ -0,0 +1,2 @@
1
+ import { Program } from '../webgl/Program';
2
+ export declare function rayScreen(): Program;
@@ -1,6 +1,5 @@
1
- import {Program} from '../webgl/Program';
2
-
3
- export function rayScreen(): Program {
1
+ import { Program } from '../webgl/Program';
2
+ export function rayScreen() {
4
3
  return new Program("rayScreen", {
5
4
  uniforms: {
6
5
  projectionMatrix: "mat4",
@@ -19,8 +18,7 @@ export function rayScreen(): Program {
19
18
  a_thickness: "float",
20
19
  a_rgba: "vec4"
21
20
  },
22
- vertexShader:
23
- `precision highp float;
21
+ vertexShader: `precision highp float;
24
22
 
25
23
  attribute vec4 a_rgba;
26
24
  attribute vec3 a_startPosHigh;
@@ -69,8 +67,7 @@ export function rayScreen(): Program {
69
67
 
70
68
  gl_Position = projectionMatrix * viewMatrixRTE * vec4(highDiff + vert, 1.0);
71
69
  }`,
72
- fragmentShader:
73
- `precision highp float;
70
+ fragmentShader: `precision highp float;
74
71
  varying vec4 v_rgba;
75
72
  void main () {
76
73
  gl_FragColor = v_rgba;
@@ -0,0 +1,2 @@
1
+ import { Program } from '../webgl/Program';
2
+ export declare function screenFrame(): Program;
@@ -1,6 +1,5 @@
1
- import {Program} from '../webgl/Program';
2
-
3
- export function screenFrame(): Program {
1
+ import { Program } from '../webgl/Program';
2
+ export function screenFrame() {
4
3
  return new Program("screenFrame", {
5
4
  uniforms: {
6
5
  texture: "sampler2d"
@@ -8,16 +7,14 @@ export function screenFrame(): Program {
8
7
  attributes: {
9
8
  corners: "vec3"
10
9
  },
11
- vertexShader:
12
- `attribute vec2 corners;
10
+ vertexShader: `attribute vec2 corners;
13
11
 
14
12
  varying vec2 tc;
15
13
  void main(void) {
16
14
  gl_Position = vec4(corners, 0.0, 1.0);
17
15
  tc = corners * 0.5 + 0.5;
18
16
  }`,
19
- fragmentShader:
20
- `precision highp float;
17
+ fragmentShader: `precision highp float;
21
18
  uniform sampler2D texture;
22
19
 
23
20
  varying vec2 tc;
@@ -26,4 +23,4 @@ export function screenFrame(): Program {
26
23
  gl_FragColor = texture2D( texture, tc );
27
24
  }`
28
25
  });
29
- }
26
+ }
@@ -0,0 +1,2 @@
1
+ import { Program } from '../webgl/Program';
2
+ export declare function skybox(): Program;
@@ -1,18 +1,16 @@
1
- import {Program} from '../webgl/Program';
2
- import {types} from '../webgl/types';
3
-
4
- export function skybox(): Program {
1
+ import { Program } from '../webgl/Program';
2
+ import { types } from '../webgl/types';
3
+ export function skybox() {
5
4
  return new Program("skybox", {
6
5
  uniforms: {
7
- projectionViewMatrix: {type: types.MAT4},
8
- uSampler: {type: types.SAMPLERCUBE},
9
- pos: {type: types.VEC3}
6
+ projectionViewMatrix: { type: types.MAT4 },
7
+ uSampler: { type: types.SAMPLERCUBE },
8
+ pos: { type: types.VEC3 }
10
9
  },
11
10
  attributes: {
12
- aVertexPosition: {type: types.VEC3, enableArray: true}
11
+ aVertexPosition: { type: types.VEC3, enableArray: true }
13
12
  },
14
- vertexShader:
15
- `attribute vec3 aVertexPosition;
13
+ vertexShader: `attribute vec3 aVertexPosition;
16
14
  uniform mat4 projectionViewMatrix;
17
15
  uniform vec3 pos;
18
16
  varying vec3 vTextureCoord;
@@ -20,12 +18,11 @@ export function skybox(): Program {
20
18
  vTextureCoord = aVertexPosition;
21
19
  gl_Position = projectionViewMatrix * vec4(aVertexPosition + pos, 1.0);
22
20
  }`,
23
- fragmentShader:
24
- `precision lowp float;
21
+ fragmentShader: `precision lowp float;
25
22
  varying vec3 vTextureCoord;
26
23
  uniform samplerCube uSampler;
27
24
  void main(void) {
28
25
  gl_FragColor = textureCube(uSampler, vTextureCoord);
29
26
  }`
30
27
  });
31
- }
28
+ }
@@ -0,0 +1,2 @@
1
+ import { Program } from '../webgl/Program';
2
+ export declare function toneMapping(): Program;
@@ -1,6 +1,5 @@
1
- import {Program} from '../webgl/Program';
2
-
3
- export function toneMapping(): Program {
1
+ import { Program } from '../webgl/Program';
2
+ export function toneMapping() {
4
3
  return new Program("toneMapping", {
5
4
  uniforms: {
6
5
  hdrBuffer: "sampler2d",
@@ -11,8 +10,7 @@ export function toneMapping(): Program {
11
10
  attributes: {
12
11
  corners: "vec3"
13
12
  },
14
- vertexShader:
15
- `#version 300 es
13
+ vertexShader: `#version 300 es
16
14
 
17
15
  in vec2 corners;
18
16
 
@@ -22,8 +20,7 @@ export function toneMapping(): Program {
22
20
  gl_Position = vec4(corners, 0.0, 1.0);
23
21
  tc = corners * 0.5 + 0.5;
24
22
  }`,
25
- fragmentShader:
26
- `#version 300 es
23
+ fragmentShader: `#version 300 es
27
24
 
28
25
  precision highp float;
29
26
 
@@ -85,4 +82,4 @@ export function toneMapping(): Program {
85
82
  fragColor = vec4(mapped, hdrColor.a);
86
83
  }`
87
84
  });
88
- }
85
+ }
@@ -0,0 +1 @@
1
+ export declare const UTILS = "\n float getLerpValue(in float min, in float max, in float between)\n {\n return (clamp(between, min, max) - min) / (max - min);\n }\n \n vec3 aces(vec3 color) \n {\n float a = 2.51;\n float b = 0.03;\n float c = 2.43;\n float d = 0.59;\n float e = 0.14;\n return clamp((color * (a * color + b)) / (color * (c * color + d ) + e), 0.0, 1.0);\n }\n \n bool intersectSphere(vec3 rayOrigin, vec3 rayDirection, float radius, inout float t1, inout float t2) \n {\n float b = dot(rayDirection, rayOrigin);\n float c = dot(rayOrigin, rayOrigin) - radius * radius;\n float d = b * b - c;\n if (d < 0.0) {\n return false;\n }\n t1 = -b - sqrt(d);\n t2 = -b + sqrt(d);\n return true;\n }\n \n bool intersectSphere(vec3 rayOrigin, vec3 rayDirection, float radius, inout float t) \n {\n float b = dot(rayDirection, rayOrigin);\n float c = dot(rayOrigin, rayOrigin) - radius * radius;\n float d = b * b - c;\n if (d < 0.0) {\n return false;\n }\n t = -b - sqrt(d);\n return true;\n }\n \n bool intersectEllipsoid( in vec3 ro, in vec3 rd, in vec3 ra, inout float t )\n {\n vec3 ocn = ro/ra;\n vec3 rdn = rd/ra;\n float a = dot( rdn, rdn );\n float b = dot( ocn, rdn );\n float c = dot( ocn, ocn );\n float h = b*b - a*(c-1.0);\n \n if (h < 0.0) \n { \n return false; \n }\n \n t = (-b-sqrt(h))/a;\n \n return true;\n }\n \n bool intersectEllipsoid( in vec3 ro, in vec3 rd, in vec3 ra, inout float t1, inout float t2)\n {\n vec3 ocn = ro/ra;\n vec3 rdn = rd/ra;\n float a = dot( rdn, rdn );\n float b = dot( ocn, rdn );\n float c = dot( ocn, ocn );\n float h = b*b - a*(c-1.0);\n \n if (h < 0.0) \n { \n return false; \n }\n \n h = sqrt(h);\n t1 = (-b-h)/a;\n t2 = (-b+h)/a;\n \n return true;\n }\n \n vec3 normalEllipsoid( in vec3 pos, in vec3 ra )\n {\n return normalize( pos/(ra*ra) );\n }\n";
@@ -83,4 +83,4 @@ export const UTILS = `
83
83
  {
84
84
  return normalize( pos/(ra*ra) );
85
85
  }
86
- `;
86
+ `;
@@ -0,0 +1,18 @@
1
+ import { GlobusTerrain, IGlobusTerrainParams } from "./GlobusTerrain";
2
+ import { Segment } from "../segment/Segment";
3
+ import { Extent } from "../Extent";
4
+ import { TypedArray } from "../utils/shared";
5
+ interface IBilTerrainParams extends IGlobusTerrainParams {
6
+ layers?: string;
7
+ imageSize?: number;
8
+ }
9
+ declare class BilTerrain extends GlobusTerrain {
10
+ protected _format: string;
11
+ protected _layers: string;
12
+ protected _imageSize: number;
13
+ constructor(options?: IBilTerrainParams);
14
+ isBlur(segment: Segment): boolean;
15
+ protected _createUrl(segment: Segment): string;
16
+ protected _createHeights(data: number[], tileIndex: string, tileX: number, tileY: number, tileZoom: number, extent: Extent, preventChildren: boolean): TypedArray | number[];
17
+ }
18
+ export { BilTerrain };
@@ -1,75 +1,33 @@
1
- import {getTileExtent} from "../mercator";
2
- import {GlobusTerrain, IGlobusTerrainParams} from "./GlobusTerrain";
3
- import {Layer} from "../layer/Layer";
4
- import {WMS} from "../layer/WMS";
5
- import {isPowerOfTwo, nextHighestPowerOfTwo} from "../math";
6
- import {Segment} from "../segment/Segment";
7
- import {Extent} from "../Extent";
8
- import {TypedArray} from "../utils/shared";
9
-
10
- interface IBilTerrainParams extends IGlobusTerrainParams {
11
- layers?: string;
12
- imageSize?: number;
13
- }
14
-
1
+ import { getTileExtent } from "../mercator";
2
+ import { GlobusTerrain } from "./GlobusTerrain";
3
+ import { Layer } from "../layer/Layer";
4
+ import { WMS } from "../layer/WMS";
5
+ import { isPowerOfTwo, nextHighestPowerOfTwo } from "../math";
15
6
  class BilTerrain extends GlobusTerrain {
16
-
17
- protected _format: string;
18
-
19
- protected _layers: string;
20
-
21
- protected _imageSize: number;
22
-
23
- constructor(options: IBilTerrainParams = {}) {
7
+ constructor(options = {}) {
24
8
  super("BilTerrain", options);
25
-
26
9
  this.equalizeVertices = true;
27
-
28
10
  this.equalizeNormals = true;
29
-
30
11
  this.minZoom = options.minZoom || 2;
31
-
32
12
  this.maxZoom = options.maxZoom || 14;
33
-
34
13
  this.noDataValues = options.noDataValues || [-9999, 32767];
35
-
36
14
  this.url = options.url || "";
37
-
38
15
  this._format = "application/bil16";
39
-
40
16
  this._layers = options.layers || "";
41
-
42
17
  this._imageSize = options.imageSize || 256;
43
-
44
18
  this.plainGridSize = options.plainGridSize != undefined
45
19
  ? options.plainGridSize
46
20
  : isPowerOfTwo(this._imageSize) ? this._imageSize / 2 : nextHighestPowerOfTwo(this._imageSize) / 2;
47
-
48
21
  this._dataType = "arrayBuffer";
49
22
  }
50
-
51
- public override isBlur(segment: Segment): boolean {
23
+ isBlur(segment) {
52
24
  return segment.tileZoom >= 18;
53
25
  }
54
-
55
- protected override _createUrl(segment: Segment): string {
56
- return WMS.createRequestUrl(
57
- this.url,
58
- this._layers,
59
- this._format,
60
- "1.1.1",
61
- "GetMap",
62
- segment._projection.code,
63
- WMS.get_bbox_v1_1_1(segment.getExtent()),
64
- this._imageSize,
65
- this._imageSize
66
- );
26
+ _createUrl(segment) {
27
+ return WMS.createRequestUrl(this.url, this._layers, this._format, "1.1.1", "GetMap", segment._projection.code, WMS.get_bbox_v1_1_1(segment.getExtent()), this._imageSize, this._imageSize);
67
28
  }
68
-
69
- protected override _createHeights(data: number[], tileIndex: string, tileX: number, tileY: number, tileZoom: number, extent: Extent, preventChildren: boolean): TypedArray | number[] {
70
-
29
+ _createHeights(data, tileIndex, tileX, tileY, tileZoom, extent, preventChildren) {
71
30
  let bil16 = new Int16Array(data);
72
-
73
31
  //
74
32
  //Non-power of two images
75
33
  //
@@ -79,36 +37,25 @@ class BilTerrain extends GlobusTerrain {
79
37
  extractElevationTilesNonPowerOfTwo(bil16, outCurrenElevations);
80
38
  return outCurrenElevations;
81
39
  }
82
-
83
40
  let elevationsSize = (this.plainGridSize + 1) * (this.plainGridSize + 1);
84
-
85
41
  let d = 4;
86
-
87
42
  let outChildrenElevations = new Array(d);
88
-
89
43
  for (let i = 0; i < d; i++) {
90
44
  outChildrenElevations[i] = [];
91
45
  for (let j = 0; j < d; j++) {
92
46
  outChildrenElevations[i][j] = new Float32Array(elevationsSize);
93
47
  }
94
48
  }
95
-
96
49
  let outCurrenElevations = new Float32Array(elevationsSize);
97
-
98
50
  extractElevationTiles(bil16, this.noDataValues, outCurrenElevations, outChildrenElevations);
99
-
100
51
  this._elevationCache[tileIndex] = {
101
52
  heights: outCurrenElevations,
102
53
  extent: extent
103
54
  };
104
-
105
55
  let dd = this._imageSize / this.plainGridSize;
106
-
107
56
  for (let i = 0; i < dd; i++) {
108
57
  for (let j = 0; j < dd; j++) {
109
- let x = tileX * 2 + j,
110
- y = tileY * 2 + i,
111
- z = tileZoom + 1;
58
+ let x = tileX * 2 + j, y = tileY * 2 + i, z = tileZoom + 1;
112
59
  let tileIndex = Layer.getTileIndex(x, y, z);
113
60
  this._elevationCache[tileIndex] = {
114
61
  heights: outChildrenElevations[i][j],
@@ -116,134 +63,90 @@ class BilTerrain extends GlobusTerrain {
116
63
  };
117
64
  }
118
65
  }
119
-
120
66
  return outCurrenElevations;
121
67
  }
122
68
  }
123
-
124
- function extractElevationTilesNonPowerOfTwo(data: number[] | TypedArray, outCurrenElevations: number[] | TypedArray) {
69
+ function extractElevationTilesNonPowerOfTwo(data, outCurrenElevations) {
125
70
  for (let i = 0, len = outCurrenElevations.length; i < len; i++) {
126
71
  outCurrenElevations[i] = data[i];
127
72
  }
128
73
  }
129
-
130
- function extractElevationTiles(data: number[] | TypedArray, noDataValues: number[] | TypedArray, outCurrenElevations: number[] | TypedArray, outChildrenElevations: number[][][] | TypedArray[][]) {
74
+ function extractElevationTiles(data, noDataValues, outCurrenElevations, outChildrenElevations) {
131
75
  let destSize = Math.sqrt(outCurrenElevations.length) - 1;
132
76
  let destSizeOne = destSize + 1;
133
77
  let sourceSize = Math.sqrt(data.length);
134
78
  let dt = sourceSize / destSize;
135
-
136
- let rightHeight = 0,
137
- bottomHeight = 0;
138
-
79
+ let rightHeight = 0, bottomHeight = 0;
139
80
  for (let k = 0, currIndex = 0, sourceDataLength = data.length; k < sourceDataLength; k++) {
140
81
  let height = data[k];
141
-
142
- let isNoDataCurrent = BilTerrain.checkNoDataValue(noDataValues, height),
143
- isNoDataRight = false,
144
- isNoDataBottom = false;
145
-
146
- let i = Math.floor(k / sourceSize),
147
- j = k % sourceSize;
148
-
149
- let tileX = Math.floor(j / destSize),
150
- tileY = Math.floor(i / destSize);
151
-
82
+ let isNoDataCurrent = BilTerrain.checkNoDataValue(noDataValues, height), isNoDataRight = false, isNoDataBottom = false;
83
+ let i = Math.floor(k / sourceSize), j = k % sourceSize;
84
+ let tileX = Math.floor(j / destSize), tileY = Math.floor(i / destSize);
152
85
  let destArr = outChildrenElevations[tileY][tileX];
153
-
154
- let ii = i % destSize,
155
- jj = j % destSize;
156
-
86
+ let ii = i % destSize, jj = j % destSize;
157
87
  let destIndex = (ii + tileY) * destSizeOne + jj + tileX;
158
-
159
88
  destArr[destIndex] = height;
160
-
161
89
  if ((i + tileY) % dt === 0 && (j + tileX) % dt === 0) {
162
90
  outCurrenElevations[currIndex++] = height;
163
91
  }
164
-
165
92
  if ((j + 1) % destSize === 0 && j !== sourceSize - 1) {
166
93
  //current tile
167
94
  rightHeight = data[k];
168
-
169
95
  isNoDataRight = BilTerrain.checkNoDataValue(noDataValues, rightHeight);
170
-
171
96
  let middleHeight = height;
172
97
  if (!(isNoDataCurrent || isNoDataRight)) {
173
98
  middleHeight = (height + rightHeight) * 0.5;
174
99
  }
175
-
176
100
  destIndex = (ii + tileY) * destSizeOne + jj + 1;
177
101
  destArr[destIndex] = middleHeight;
178
-
179
102
  if ((i + tileY) % dt === 0) {
180
103
  outCurrenElevations[currIndex++] = middleHeight;
181
104
  }
182
-
183
105
  //next right tile
184
106
  let rightindex = (ii + tileY) * destSizeOne + ((jj + 1) % destSize);
185
107
  outChildrenElevations[tileY][tileX + 1][rightindex] = middleHeight;
186
108
  }
187
-
188
109
  if ((i + 1) % destSize === 0 && i !== sourceSize - 1) {
189
110
  //current tile
190
111
  bottomHeight = data[k + sourceSize];
191
-
192
112
  isNoDataBottom = BilTerrain.checkNoDataValue(noDataValues, bottomHeight);
193
-
194
113
  let middleHeight = height;
195
-
196
114
  if (!(isNoDataCurrent || isNoDataBottom)) {
197
115
  middleHeight = (height + bottomHeight) * 0.5;
198
116
  }
199
-
200
117
  destIndex = (ii + 1) * destSizeOne + jj + tileX;
201
118
  destArr[destIndex] = middleHeight;
202
-
203
119
  if ((j + tileX) % dt === 0) {
204
120
  outCurrenElevations[currIndex++] = middleHeight;
205
121
  }
206
-
207
122
  //next bottom tile
208
123
  let bottomindex = ((ii + 1) % destSize) * destSizeOne + jj + tileX;
209
124
  outChildrenElevations[tileY + 1][tileX][bottomindex] = middleHeight;
210
125
  }
211
-
212
- if (
213
- (j + 1) % destSize === 0 &&
126
+ if ((j + 1) % destSize === 0 &&
214
127
  j !== sourceSize - 1 &&
215
128
  (i + 1) % destSize === 0 &&
216
- i !== sourceSize - 1
217
- ) {
129
+ i !== sourceSize - 1) {
218
130
  //current tile
219
131
  let rightBottomHeight = data[k + sourceSize + 1];
220
-
221
132
  let isNoDataRightBottom = BilTerrain.checkNoDataValue(noDataValues, rightBottomHeight);
222
-
223
133
  let middleHeight = height;
224
-
225
134
  if (!(isNoDataCurrent || isNoDataRight || isNoDataBottom || isNoDataRightBottom)) {
226
135
  middleHeight = (height + rightHeight + bottomHeight + rightBottomHeight) * 0.25;
227
136
  }
228
-
229
137
  destIndex = (ii + 1) * destSizeOne + (jj + 1);
230
138
  destArr[destIndex] = middleHeight;
231
-
232
139
  outCurrenElevations[currIndex++] = middleHeight;
233
-
234
140
  //next right tile
235
141
  let rightindex = (ii + 1) * destSizeOne;
236
142
  outChildrenElevations[tileY][tileX + 1][rightindex] = middleHeight;
237
-
238
143
  //next bottom tile
239
144
  let bottomindex = destSize;
240
145
  outChildrenElevations[tileY + 1][tileX][bottomindex] = middleHeight;
241
-
242
146
  //next right bottom tile
243
147
  let rightBottomindex = 0;
244
148
  outChildrenElevations[tileY + 1][tileX + 1][rightBottomindex] = middleHeight;
245
149
  }
246
150
  }
247
151
  }
248
-
249
- export {BilTerrain};
152
+ export { BilTerrain };
@@ -0,0 +1,106 @@
1
+ import { TypedArray } from "../utils/shared";
2
+ import { Geoid } from "./Geoid";
3
+ import { LonLat } from "../LonLat";
4
+ import { Planet } from "../scene/Planet";
5
+ import { Segment } from "../segment/Segment";
6
+ export interface IEmptyTerrainParams {
7
+ equalizeVertices?: boolean;
8
+ name?: string;
9
+ minZoom?: number;
10
+ maxZoom?: number;
11
+ maxNativeZoom?: number;
12
+ geoidSrc?: string;
13
+ geoid?: Geoid;
14
+ gridSizeByZoom?: number[];
15
+ }
16
+ /**
17
+ * Class represents terrain provider without elevation data.
18
+ * @param {IEmptyTerrainParams} [options] - Provider options:
19
+ * @param {string} [options.name="empty"] - Provider name.
20
+ * @param {boolean} [options.equalizeVertices] -
21
+ * @param {number} [options.minZoom=2] - Minimal visible zoom index when terrain handler works.
22
+ * @param {number} [options.minZoom=50] - Maximal visible zoom index when terrain handler works.
23
+ * @param {number} [options.maxNativeZoom=19] - Maximal available terrain zoom level.
24
+ * @param {Array.<number>} [options.gridSizeByZoom] - Array of segment triangulation grid sizes where array index agreed to the segment zoom index.
25
+ * @param {Array.<number>} [gridSizeByZoom] - Array of values, where each value corresponds to the size of a tile(or segment) on the globe. Each value must be power of two.
26
+ * @param {Geoid} [options.geoid] -
27
+ * @param {string} [options.geoidSrc] -
28
+ */
29
+ declare class EmptyTerrain {
30
+ static __counter__: number;
31
+ /**
32
+ * Uniq identifier.
33
+ * @public
34
+ * @type {number}
35
+ */
36
+ __id: number;
37
+ equalizeVertices: boolean;
38
+ equalizeNormals: boolean;
39
+ isEmpty: boolean;
40
+ /**
41
+ * Provider name is "empty"
42
+ * @public
43
+ * @type {string}
44
+ */
45
+ name: string;
46
+ /**
47
+ * Minimal z-index value for segment elevation data handling.
48
+ * @public
49
+ * @type {number}
50
+ */
51
+ minZoom: number;
52
+ /**
53
+ * Maximal z-index value for segment elevation data handling.
54
+ * @public
55
+ * @type {number}
56
+ */
57
+ maxZoom: number;
58
+ noDataValues: number[];
59
+ /**
60
+ * Maximal existent available zoom
61
+ * @type {number}
62
+ */
63
+ maxNativeZoom: number;
64
+ /**
65
+ * @public
66
+ * @type {Array.<number>}
67
+ */
68
+ gridSizeByZoom: number[];
69
+ _maxNodeZoom: number;
70
+ /**
71
+ * Elevation grid size. Current is 2x2 is the smallest grid size.
72
+ * @public
73
+ * @type {number}
74
+ */
75
+ plainGridSize: number;
76
+ /**
77
+ * Planet scene.
78
+ * @public
79
+ * @type {Planet}
80
+ */
81
+ _planet: Planet | null;
82
+ _geoid: Geoid;
83
+ _isReady: boolean;
84
+ constructor(options?: IEmptyTerrainParams);
85
+ get isIdle(): boolean;
86
+ isEqual(obj: this): boolean;
87
+ static checkNoDataValue(noDataValues: number[] | TypedArray, value: number): boolean;
88
+ isBlur(segment?: Segment): boolean;
89
+ set maxNodeZoom(val: number);
90
+ get maxNodeZoom(): number;
91
+ set geoid(geoid: Geoid);
92
+ get geoid(): Geoid;
93
+ getGeoid(): Geoid;
94
+ /**
95
+ * Loads or creates segment elevation data.
96
+ * @public
97
+ * @param {Segment} segment - Segment to create elevation data.
98
+ */
99
+ handleSegmentTerrain(segment: Segment): void;
100
+ isReady(): boolean;
101
+ abortLoading(): void;
102
+ clearCache(): void;
103
+ getHeightAsync(lonLat: LonLat, callback: (height: number) => void): boolean;
104
+ loadTerrain(segment: Segment, forceLoading?: boolean): void;
105
+ }
106
+ export { EmptyTerrain };