@openglobus/og 0.18.0 → 0.18.2

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} +85 -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} +102 -374
  160. package/lib/js/entity/EntityCollection.d.ts +363 -0
  161. package/{src/entity/EntityCollection.ts → lib/js/entity/EntityCollection.js} +57 -359
  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} +63 -165
  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 +243 -0
  221. package/{src/layer/Vector.ts → lib/js/layer/Vector.js} +155 -426
  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 +320 -0
  283. package/{src/renderer/Renderer.ts → lib/js/renderer/Renderer.js} +265 -622
  284. package/lib/js/renderer/RendererEvents.d.ts +239 -0
  285. package/{src/renderer/RendererEvents.ts → lib/js/renderer/RendererEvents.js} +158 -472
  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} +257 -937
  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} +84 -241
  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} +46 -182
  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} +185 -342
  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,88 +1,52 @@
1
1
  import * as mercator from "../mercator";
2
- import {Extent} from "../Extent";
3
- import {getTileExtent} from "../mercator";
4
- import {GlobusTerrain, IGlobusTerrainParams} from "./GlobusTerrain";
5
- import {isPowerOfTwo} from "../math";
6
- import {Layer} from "../layer/Layer";
7
- import {LonLat} from "../LonLat";
8
- import {Segment} from "../segment/Segment";
9
- import {TypedArray} from "../utils/shared";
10
- import {IResponse} from "../utils/Loader";
11
-
12
- interface IMapboxTerrainParams extends IGlobusTerrainParams {
13
- equalizeNormals?: boolean;
14
- key?: string;
15
- imageSize?: number;
16
- }
17
-
2
+ import { getTileExtent } from "../mercator";
3
+ import { GlobusTerrain } from "./GlobusTerrain";
4
+ import { isPowerOfTwo } from "../math";
5
+ import { Layer } from "../layer/Layer";
18
6
  /**
19
7
  * The key doesn't work; just an example!
20
8
  */
21
9
  const KEY = "pk.eyJ1IjoiZm94bXVsZGVyODMiLCJhIjoiY2pqYmR3dG5oM2Z1bzNrczJqYm5pODhuNSJ9.Y4DRmEPhb-XSlCR9CAXACQ";
22
-
23
- const rgb2Height = (r: number, g: number, b: number): number => {
10
+ const rgb2Height = (r, g, b) => {
24
11
  return -10000 + 0.1 * (r * 256 * 256 + g * 256 + b);
25
12
  };
26
-
27
13
  class MapboxTerrain extends GlobusTerrain {
28
-
29
- protected _imageSize: number;
30
-
31
- protected _ctx: CanvasRenderingContext2D;
32
-
33
- protected _imageDataCache: Record<string, Uint8ClampedArray>;
34
-
35
- constructor(name: string | null, options: IMapboxTerrainParams = {}) {
14
+ constructor(name, options = {}) {
36
15
  super(name || "MapboxTerrain", {
37
16
  equalizeVertices: options.equalizeVertices != undefined ? options.equalizeVertices : true,
38
17
  maxZoom: options.maxZoom || 17,
39
18
  ...options
40
19
  });
41
-
42
20
  this.equalizeNormals = options.equalizeNormals || false;
43
-
44
21
  this.gridSizeByZoom = options.gridSizeByZoom || [
45
22
  64, 32, 16, 8, 8, 8, 8, 16, 16, 16, 16, 16, 32, 16, 32, 16, 32, 16, 32, 16, 8, 4
46
23
  ];
47
-
48
24
  this.url = options.url != undefined
49
25
  ? options.url
50
26
  : `//api.mapbox.com/v4/mapbox.terrain-rgb/{z}/{x}/{y}.pngraw?access_token=${options.key || KEY}`;
51
-
52
27
  this.noDataValues = options.noDataValues || [-65537, -10000];
53
-
54
28
  this.plainGridSize = options.plainGridSize || 128;
55
-
56
29
  this._dataType = "imageBitmap";
57
-
58
30
  this._imageSize = options.imageSize || 256;
59
-
60
31
  this._ctx = this._createTemporalCanvas(this._imageSize);
61
-
62
32
  this._imageDataCache = {};
63
33
  }
64
-
65
- public override isBlur(segment: Segment): boolean {
34
+ isBlur(segment) {
66
35
  return segment.tileZoom >= 16;
67
36
  }
68
-
69
- protected _createTemporalCanvas(size: number): CanvasRenderingContext2D {
37
+ _createTemporalCanvas(size) {
70
38
  let canvas = document.createElement("canvas");
71
39
  canvas.width = size;
72
40
  canvas.height = size;
73
41
  return canvas.getContext("2d", {
74
42
  willReadFrequently: true
75
- })!;
43
+ });
76
44
  }
77
-
78
- protected override _createHeights(data: HTMLImageElement | ImageBitmap, tileIndex: string, tileX: number, tileY: number, tileZoom: number, extent: Extent, preventChildren: boolean): TypedArray | number[] {
79
-
45
+ _createHeights(data, tileIndex, tileX, tileY, tileZoom, extent, preventChildren) {
80
46
  this._ctx.clearRect(0, 0, this._imageSize, this._imageSize);
81
47
  this._ctx.drawImage(data, 0, 0);
82
48
  let rgbaData = this._ctx.getImageData(0, 0, this._imageSize, this._imageSize).data;
83
-
84
49
  const SIZE = data.width;
85
-
86
50
  //
87
51
  //Non-power of two images
88
52
  //
@@ -91,77 +55,58 @@ class MapboxTerrain extends GlobusTerrain {
91
55
  extractElevationTilesMapboxNonPowerOfTwo(rgbaData, outCurrenElevations);
92
56
  return outCurrenElevations;
93
57
  }
94
-
95
58
  if (this._imageSize === this.plainGridSize) {
96
59
  let elevationsSize = (this.plainGridSize + 1) * (this.plainGridSize + 1);
97
60
  let outCurrenElevations = new Float32Array(elevationsSize);
98
61
  for (let k = 0, len = this._imageSize * this._imageSize; k < len; k++) {
99
- let j = k % this._imageSize,
100
- i = Math.floor(k / this._imageSize);
62
+ let j = k % this._imageSize, i = Math.floor(k / this._imageSize);
101
63
  let fromInd4 = k * 4;
102
64
  let h = rgb2Height(rgbaData[fromInd4], rgbaData[fromInd4 + 1], rgbaData[fromInd4 + 2]);
103
65
  outCurrenElevations[i * (this._imageSize + 1) + j] = h;
104
66
  }
105
-
106
67
  for (let i = 0, len = this._imageSize; i < len; i++) {
107
68
  let j = this._imageSize - 1;
108
69
  let fromInd4 = (i * this._imageSize + j) * 4;
109
70
  let h = rgb2Height(rgbaData[fromInd4], rgbaData[fromInd4 + 1], rgbaData[fromInd4 + 2]);
110
71
  outCurrenElevations[i * (this._imageSize + 1) + this._imageSize] = h;
111
72
  }
112
-
113
73
  for (let j = 0, len = this._imageSize; j < len; j++) {
114
74
  let i = this._imageSize - 1;
115
75
  let fromInd4 = (i * this._imageSize + j) * 4;
116
76
  let h = rgb2Height(rgbaData[fromInd4], rgbaData[fromInd4 + 1], rgbaData[fromInd4 + 2]);
117
77
  outCurrenElevations[this._imageSize * (this._imageSize + 1) + j] = h;
118
78
  }
119
-
120
79
  let h = rgb2Height(rgbaData[rgbaData.length - 4], rgbaData[rgbaData.length - 3], rgbaData[rgbaData.length - 2]);
121
80
  outCurrenElevations[outCurrenElevations.length - 1] = h;
122
-
123
81
  return outCurrenElevations;
124
82
  }
125
-
126
83
  //
127
84
  // Power of two images
128
85
  //
129
86
  let elevationsSize = (this.plainGridSize + 1) * (this.plainGridSize + 1);
130
-
131
87
  let d = SIZE / this.plainGridSize;
132
-
133
88
  let outCurrenElevations = new Float32Array(elevationsSize);
134
89
  let outChildrenElevations = new Array(d);
135
-
136
90
  for (let i = 0; i < d; i++) {
137
91
  outChildrenElevations[i] = [];
138
92
  for (let j = 0; j < d; j++) {
139
93
  outChildrenElevations[i][j] = new Float32Array(elevationsSize);
140
94
  }
141
95
  }
142
-
143
96
  if (preventChildren) {
144
97
  extractElevationTilesMapboxNoChildren(rgbaData, this.noDataValues, outCurrenElevations);
145
- } else {
146
- extractElevationTilesMapbox(
147
- rgbaData,
148
- this.noDataValues,
149
- outCurrenElevations,
150
- outChildrenElevations
151
- );
152
98
  }
153
-
99
+ else {
100
+ extractElevationTilesMapbox(rgbaData, this.noDataValues, outCurrenElevations, outChildrenElevations);
101
+ }
154
102
  this._elevationCache[tileIndex] = {
155
103
  heights: outCurrenElevations,
156
- extent: extent//segment.getExtent()
104
+ extent: extent //segment.getExtent()
157
105
  };
158
-
159
106
  if (!preventChildren) {
160
107
  for (let i = 0; i < d; i++) {
161
108
  for (let j = 0; j < d; j++) {
162
- let x = tileX * 2 + j,
163
- y = tileY * 2 + i,
164
- z = tileZoom + 1;
109
+ let x = tileX * 2 + j, y = tileY * 2 + i, z = tileZoom + 1;
165
110
  let tileIndex = Layer.getTileIndex(x, y, z);
166
111
  this._elevationCache[tileIndex] = {
167
112
  heights: outChildrenElevations[i][j],
@@ -170,38 +115,23 @@ class MapboxTerrain extends GlobusTerrain {
170
115
  }
171
116
  }
172
117
  }
173
-
174
118
  return outCurrenElevations;
175
119
  }
176
-
177
- public override getHeightAsync(lonLat: LonLat, callback: (h: number) => void, zoom?: number): boolean {
120
+ getHeightAsync(lonLat, callback, zoom) {
178
121
  if (!lonLat || lonLat.lat > mercator.MAX_LAT || lonLat.lat < mercator.MIN_LAT) {
179
122
  callback(0);
180
123
  return true;
181
124
  }
182
-
183
- let z = zoom || this.maxZoom,
184
- size = mercator.POLE2 / Math.pow(2, z),
185
- merc = mercator.forward(lonLat),
186
- x = Math.floor((mercator.POLE + merc.lon) / size),
187
- y = Math.floor((mercator.POLE - merc.lat) / size);
188
-
189
- let tileIndex = Layer.getTileIndex(x, y, z),
190
- extent = mercator.getTileExtent(x, y, z);
191
-
192
- let sizeImgW = extent.getWidth() / (this._imageSize - 1),
193
- sizeImgH = extent.getHeight() / (this._imageSize - 1);
194
-
195
- let i = this._imageSize - Math.ceil((merc.lat - extent.southWest.lat) / sizeImgH) - 1,
196
- j = Math.floor((merc.lon - extent.southWest.lon) / sizeImgW);
125
+ let z = zoom || this.maxZoom, size = mercator.POLE2 / Math.pow(2, z), merc = mercator.forward(lonLat), x = Math.floor((mercator.POLE + merc.lon) / size), y = Math.floor((mercator.POLE - merc.lat) / size);
126
+ let tileIndex = Layer.getTileIndex(x, y, z), extent = mercator.getTileExtent(x, y, z);
127
+ let sizeImgW = extent.getWidth() / (this._imageSize - 1), sizeImgH = extent.getHeight() / (this._imageSize - 1);
128
+ let i = this._imageSize - Math.ceil((merc.lat - extent.southWest.lat) / sizeImgH) - 1, j = Math.floor((merc.lon - extent.southWest.lon) / sizeImgW);
197
129
  let index = (i * this._imageSize + j) * 4;
198
-
199
130
  if (this._imageDataCache[tileIndex]) {
200
131
  let data = this._imageDataCache[tileIndex];
201
132
  callback(rgb2Height(data[index], data[index + 1], data[index + 2]));
202
133
  return true;
203
134
  }
204
-
205
135
  if (!this._fetchCache[tileIndex]) {
206
136
  let url = this._buildURL(x, y, z);
207
137
  this._fetchCache[tileIndex] = this._loader.fetch({
@@ -209,259 +139,160 @@ class MapboxTerrain extends GlobusTerrain {
209
139
  type: this._dataType
210
140
  });
211
141
  }
212
-
213
- this._fetchCache[tileIndex].then((response: IResponse) => {
142
+ this._fetchCache[tileIndex].then((response) => {
214
143
  if (response.status === "ready") {
215
144
  this._ctx.clearRect(0, 0, this._imageSize, this._imageSize);
216
145
  this._ctx.drawImage(response.data, 0, 0);
217
146
  let data = this._ctx.getImageData(0, 0, 256, 256).data;
218
147
  this._imageDataCache[tileIndex] = data;
219
148
  callback(rgb2Height(data[index], data[index + 1], data[index + 2]));
220
- } else if (response.status === "error") {
149
+ }
150
+ else if (response.status === "error") {
221
151
  callback(0);
222
- } else {
152
+ }
153
+ else {
223
154
  //@ts-ignore
224
155
  this._fetchCache[tileIndex] = null;
225
156
  delete this._fetchCache[tileIndex];
226
157
  }
227
158
  });
228
-
229
159
  return false;
230
160
  }
231
161
  }
232
-
233
- function extractElevationTilesMapboxNonPowerOfTwo(rgbaData: number[] | TypedArray, outCurrenElevations: number[] | TypedArray) {
162
+ function extractElevationTilesMapboxNonPowerOfTwo(rgbaData, outCurrenElevations) {
234
163
  for (let i = 0, len = outCurrenElevations.length; i < len; i++) {
235
164
  let i4 = i * 4;
236
165
  outCurrenElevations[i] = rgb2Height(rgbaData[i4], rgbaData[i4 + 1], rgbaData[i4 + 2]);
237
166
  }
238
167
  }
239
-
240
- function extractElevationTilesMapbox(
241
- rgbaData: number[] | TypedArray,
242
- noDataValues: number[] | TypedArray,
243
- outCurrenElevations: number[] | TypedArray,
244
- outChildrenElevations: number[][][] | TypedArray[][]
245
- ) {
168
+ function extractElevationTilesMapbox(rgbaData, noDataValues, outCurrenElevations, outChildrenElevations) {
246
169
  let destSize = Math.sqrt(outCurrenElevations.length) - 1;
247
170
  let destSizeOne = destSize + 1;
248
171
  let sourceSize = Math.sqrt(rgbaData.length / 4);
249
172
  let dt = sourceSize / destSize;
250
-
251
- let rightHeight = 0,
252
- bottomHeight = 0,
253
- sourceSize4 = 0;
254
-
255
- for (
256
- let k = 0, currIndex = 0, sourceDataLength = rgbaData.length / 4;
257
- k < sourceDataLength;
258
- k++
259
- ) {
173
+ let rightHeight = 0, bottomHeight = 0, sourceSize4 = 0;
174
+ for (let k = 0, currIndex = 0, sourceDataLength = rgbaData.length / 4; k < sourceDataLength; k++) {
260
175
  let k4 = k * 4;
261
-
262
176
  let height = rgb2Height(rgbaData[k4], rgbaData[k4 + 1], rgbaData[k4 + 2]);
263
-
264
- let isNoDataCurrent = MapboxTerrain.checkNoDataValue(noDataValues, height),
265
- isNoDataRight = false,
266
- isNoDataBottom = false;
267
-
268
- let i = Math.floor(k / sourceSize),
269
- j = k % sourceSize;
270
-
271
- let tileX = Math.floor(j / destSize),
272
- tileY = Math.floor(i / destSize);
273
-
177
+ let isNoDataCurrent = MapboxTerrain.checkNoDataValue(noDataValues, height), isNoDataRight = false, isNoDataBottom = false;
178
+ let i = Math.floor(k / sourceSize), j = k % sourceSize;
179
+ let tileX = Math.floor(j / destSize), tileY = Math.floor(i / destSize);
274
180
  let destArr = outChildrenElevations[tileY][tileX];
275
-
276
- let ii = i % destSize,
277
- jj = j % destSize;
278
-
181
+ let ii = i % destSize, jj = j % destSize;
279
182
  let destIndex = (ii + tileY) * destSizeOne + jj + tileX;
280
-
281
183
  destArr[destIndex] = height;
282
-
283
184
  if ((i + tileY) % dt === 0 && (j + tileX) % dt === 0) {
284
185
  outCurrenElevations[currIndex++] = height;
285
186
  }
286
-
287
187
  if ((j + 1) % destSize === 0 && j !== sourceSize - 1) {
288
188
  //current tile
289
189
  rightHeight = rgb2Height(rgbaData[k4 + 4], rgbaData[k4 + 5], rgbaData[k4 + 6]);
290
-
291
190
  isNoDataRight = MapboxTerrain.checkNoDataValue(noDataValues, rightHeight);
292
-
293
191
  let middleHeight = height;
294
-
295
192
  if (!(isNoDataCurrent || isNoDataRight)) {
296
193
  middleHeight = (height + rightHeight) * 0.5;
297
194
  }
298
-
299
195
  destIndex = (ii + tileY) * destSizeOne + jj + 1;
300
196
  destArr[destIndex] = middleHeight;
301
-
302
197
  if ((i + tileY) % dt === 0) {
303
198
  outCurrenElevations[currIndex++] = middleHeight;
304
199
  }
305
-
306
200
  //next right tile
307
201
  let rightindex = (ii + tileY) * destSizeOne + ((jj + 1) % destSize);
308
202
  outChildrenElevations[tileY][tileX + 1][rightindex] = middleHeight;
309
203
  }
310
-
311
204
  if ((i + 1) % destSize === 0 && i !== sourceSize - 1) {
312
205
  //current tile
313
206
  sourceSize4 = sourceSize * 4;
314
-
315
207
  bottomHeight = rgb2Height(rgbaData[k4 + sourceSize4], rgbaData[k4 + sourceSize4 + 1], rgbaData[k4 + sourceSize4 + 2]);
316
-
317
208
  isNoDataBottom = MapboxTerrain.checkNoDataValue(noDataValues, bottomHeight);
318
-
319
209
  let middleHeight = (height + bottomHeight) * 0.5;
320
-
321
210
  if (!(isNoDataCurrent || isNoDataBottom)) {
322
211
  middleHeight = (height + bottomHeight) * 0.5;
323
212
  }
324
-
325
213
  destIndex = (ii + 1) * destSizeOne + jj + tileX;
326
214
  destArr[destIndex] = middleHeight;
327
-
328
215
  if ((j + tileX) % dt === 0) {
329
216
  outCurrenElevations[currIndex++] = middleHeight;
330
217
  }
331
-
332
218
  //next bottom tile
333
219
  let bottomindex = ((ii + 1) % destSize) * destSizeOne + jj + tileX;
334
220
  outChildrenElevations[tileY + 1][tileX][bottomindex] = middleHeight;
335
221
  }
336
-
337
- if (
338
- (j + 1) % destSize === 0 && j !== sourceSize - 1 &&
339
- (i + 1) % destSize === 0 && i !== sourceSize - 1
340
- ) {
222
+ if ((j + 1) % destSize === 0 && j !== sourceSize - 1 &&
223
+ (i + 1) % destSize === 0 && i !== sourceSize - 1) {
341
224
  //current tile
342
225
  let rightBottomHeight = rgb2Height(rgbaData[k4 + sourceSize4 + 4], rgbaData[k4 + sourceSize4 + 5], rgbaData[k4 + sourceSize4 + 6]);
343
-
344
226
  let isNoDataRightBottom = MapboxTerrain.checkNoDataValue(noDataValues, rightBottomHeight);
345
-
346
227
  let middleHeight = height;
347
-
348
228
  if (!(isNoDataCurrent || isNoDataRight || isNoDataBottom || isNoDataRightBottom)) {
349
229
  middleHeight = (height + rightHeight + bottomHeight + rightBottomHeight) * 0.25;
350
230
  }
351
-
352
231
  destIndex = (ii + 1) * destSizeOne + (jj + 1);
353
232
  destArr[destIndex] = middleHeight;
354
-
355
233
  outCurrenElevations[currIndex++] = middleHeight;
356
-
357
234
  //next right tile
358
235
  let rightindex = (ii + 1) * destSizeOne;
359
236
  outChildrenElevations[tileY][tileX + 1][rightindex] = middleHeight;
360
-
361
237
  //next bottom tile
362
238
  let bottomindex = destSize;
363
239
  outChildrenElevations[tileY + 1][tileX][bottomindex] = middleHeight;
364
-
365
240
  //next right bottom tile
366
241
  let rightBottomindex = 0;
367
242
  outChildrenElevations[tileY + 1][tileX + 1][rightBottomindex] = middleHeight;
368
243
  }
369
244
  }
370
245
  }
371
-
372
- function extractElevationTilesMapboxNoChildren(
373
- rgbaData: number[] | TypedArray,
374
- noDataValues: number[] | TypedArray,
375
- outCurrenElevations: number[] | TypedArray
376
- ) {
246
+ function extractElevationTilesMapboxNoChildren(rgbaData, noDataValues, outCurrenElevations) {
377
247
  let destSize = Math.sqrt(outCurrenElevations.length) - 1;
378
248
  let sourceSize = Math.sqrt(rgbaData.length / 4);
379
249
  let dt = sourceSize / destSize;
380
-
381
- let rightHeight = 0,
382
- bottomHeight = 0,
383
- sourceSize4 = 0;
384
-
385
- for (
386
- let k = 0, currIndex = 0, sourceDataLength = rgbaData.length / 4;
387
- k < sourceDataLength;
388
- k++
389
- ) {
250
+ let rightHeight = 0, bottomHeight = 0, sourceSize4 = 0;
251
+ for (let k = 0, currIndex = 0, sourceDataLength = rgbaData.length / 4; k < sourceDataLength; k++) {
390
252
  let k4 = k * 4;
391
-
392
253
  let height = rgb2Height(rgbaData[k4], rgbaData[k4 + 1], rgbaData[k4 + 2]);
393
-
394
- let isNoDataCurrent = MapboxTerrain.checkNoDataValue(noDataValues, height),
395
- isNoDataRight = false,
396
- isNoDataBottom = false;
397
-
398
- let i = Math.floor(k / sourceSize),
399
- j = k % sourceSize;
400
-
401
- let tileX = Math.floor(j / destSize),
402
- tileY = Math.floor(i / destSize);
403
-
254
+ let isNoDataCurrent = MapboxTerrain.checkNoDataValue(noDataValues, height), isNoDataRight = false, isNoDataBottom = false;
255
+ let i = Math.floor(k / sourceSize), j = k % sourceSize;
256
+ let tileX = Math.floor(j / destSize), tileY = Math.floor(i / destSize);
404
257
  if ((i + tileY) % dt === 0 && (j + tileX) % dt === 0) {
405
258
  outCurrenElevations[currIndex++] = height;
406
259
  }
407
-
408
260
  if ((j + 1) % destSize === 0 && j !== sourceSize - 1) {
409
261
  //current tile
410
262
  rightHeight = rgb2Height(rgbaData[k4 + 4], rgbaData[k4 + 5], rgbaData[k4 + 6]);
411
-
412
263
  isNoDataRight = MapboxTerrain.checkNoDataValue(noDataValues, rightHeight);
413
-
414
264
  let middleHeight = height;
415
-
416
265
  if (!(isNoDataCurrent || isNoDataRight)) {
417
266
  middleHeight = (height + rightHeight) * 0.5;
418
267
  }
419
-
420
268
  if ((i + tileY) % dt === 0) {
421
269
  outCurrenElevations[currIndex++] = middleHeight;
422
270
  }
423
271
  }
424
-
425
272
  if ((i + 1) % destSize === 0 && i !== sourceSize - 1) {
426
273
  //current tile
427
274
  sourceSize4 = sourceSize * 4;
428
-
429
275
  bottomHeight = rgb2Height(rgbaData[k4 + sourceSize4], rgbaData[k4 + sourceSize4 + 1], rgbaData[k4 + sourceSize4 + 2]);
430
-
431
276
  isNoDataBottom = MapboxTerrain.checkNoDataValue(noDataValues, bottomHeight);
432
-
433
277
  let middleHeight = (height + bottomHeight) * 0.5;
434
-
435
278
  if (!(isNoDataCurrent || isNoDataBottom)) {
436
279
  middleHeight = (height + bottomHeight) * 0.5;
437
280
  }
438
-
439
281
  if ((j + tileX) % dt === 0) {
440
282
  outCurrenElevations[currIndex++] = middleHeight;
441
283
  }
442
284
  }
443
-
444
- if (
445
- (j + 1) % destSize === 0 && j !== sourceSize - 1 &&
446
- (i + 1) % destSize === 0 && i !== sourceSize - 1
447
- ) {
285
+ if ((j + 1) % destSize === 0 && j !== sourceSize - 1 &&
286
+ (i + 1) % destSize === 0 && i !== sourceSize - 1) {
448
287
  //current tile
449
288
  let rightBottomHeight = rgb2Height(rgbaData[k4 + sourceSize4 + 4], rgbaData[k4 + sourceSize4 + 5], rgbaData[k4 + sourceSize4 + 6]);
450
-
451
- let isNoDataRightBottom = MapboxTerrain.checkNoDataValue(
452
- noDataValues,
453
- rightBottomHeight
454
- );
455
-
289
+ let isNoDataRightBottom = MapboxTerrain.checkNoDataValue(noDataValues, rightBottomHeight);
456
290
  let middleHeight = height;
457
-
458
291
  if (!(isNoDataCurrent || isNoDataRight || isNoDataBottom || isNoDataRightBottom)) {
459
292
  middleHeight = (height + rightHeight + bottomHeight + rightBottomHeight) * 0.25;
460
293
  }
461
-
462
294
  outCurrenElevations[currIndex++] = middleHeight;
463
295
  }
464
296
  }
465
297
  }
466
-
467
- export {MapboxTerrain};
298
+ export { MapboxTerrain };
@@ -2,5 +2,4 @@ import { BilTerrain } from './BilTerrain';
2
2
  import { EmptyTerrain } from './EmptyTerrain';
3
3
  import { GlobusTerrain } from './GlobusTerrain';
4
4
  import { MapboxTerrain } from './MapboxTerrain';
5
-
6
5
  export { EmptyTerrain, GlobusTerrain, MapboxTerrain, BilTerrain };
@@ -0,0 +1,5 @@
1
+ import { BilTerrain } from './BilTerrain';
2
+ import { EmptyTerrain } from './EmptyTerrain';
3
+ import { GlobusTerrain } from './GlobusTerrain';
4
+ import { MapboxTerrain } from './MapboxTerrain';
5
+ export { EmptyTerrain, GlobusTerrain, MapboxTerrain, BilTerrain };
@@ -0,0 +1,32 @@
1
+ import { IViewParams, View, ViewEventsList } from './View';
2
+ import { EventsHandler } from "../Events";
3
+ interface HTMLElementExt extends HTMLElement {
4
+ __og_button__: Button;
5
+ }
6
+ export type ButtonEventsList = ["click", "mousedown", "mouseup", "touchstart", "touchend", "touchcancel"];
7
+ export interface IButtonParams extends IViewParams {
8
+ icon?: string;
9
+ text?: string;
10
+ title?: string;
11
+ name?: string;
12
+ }
13
+ declare class Button extends View<null> {
14
+ events: EventsHandler<ButtonEventsList> & EventsHandler<ViewEventsList>;
15
+ el: HTMLElementExt | null;
16
+ name: string;
17
+ $icon: HTMLElement | null;
18
+ $text: HTMLElement | null;
19
+ constructor(options?: IButtonParams);
20
+ render(params: any): this;
21
+ protected _initEvents(): void;
22
+ protected _onMouseDown: (e: MouseEvent) => void;
23
+ protected _onMouseUp: (e: MouseEvent) => void;
24
+ protected _onTouchStart: (e: TouchEvent) => void;
25
+ protected _onTouchEnd: (e: TouchEvent) => void;
26
+ protected _onTouchCancel: (e: TouchEvent) => void;
27
+ protected _mouseClickHandler(e: MouseEvent): void;
28
+ protected _onMouseClick: (e: MouseEvent) => void;
29
+ remove(): void;
30
+ protected _clearEvents(): void;
31
+ }
32
+ export { Button };
@@ -0,0 +1,78 @@
1
+ import { stringTemplate } from '../utils/shared';
2
+ import { View } from './View';
3
+ const TEMPLATE = `<div class="og-button" title="{title}">
4
+ <div class="og-button-icon">{icon}</div>
5
+ <div class="og-button-text">{text}</div>
6
+ </div>`;
7
+ const BUTTON_EVENTS = ["click", "mousedown", "mouseup", "touchstart", "touchend", "touchcancel"];
8
+ class Button extends View {
9
+ constructor(options = {}) {
10
+ super({
11
+ template: stringTemplate(TEMPLATE, {
12
+ icon: options.icon || "",
13
+ text: options.text || "",
14
+ title: options.title || ""
15
+ }),
16
+ ...options
17
+ });
18
+ this._onMouseDown = (e) => {
19
+ e.preventDefault();
20
+ this.events.dispatch(this.events.mousedown, this, e);
21
+ };
22
+ this._onMouseUp = (e) => {
23
+ e.preventDefault();
24
+ this.events.dispatch(this.events.mouseup, this, e);
25
+ };
26
+ this._onTouchStart = (e) => {
27
+ e.preventDefault();
28
+ this.events.dispatch(this.events.touchstart, this, e);
29
+ };
30
+ this._onTouchEnd = (e) => {
31
+ e.preventDefault();
32
+ this.events.dispatch(this.events.touchend, this, e);
33
+ };
34
+ this._onTouchCancel = (e) => {
35
+ e.preventDefault();
36
+ this.events.dispatch(this.events.touchcancel, this, e);
37
+ };
38
+ this._onMouseClick = (e) => {
39
+ this._mouseClickHandler(e);
40
+ };
41
+ //@ts-ignore
42
+ this.events = this.events.registerNames(BUTTON_EVENTS);
43
+ this.el = null;
44
+ this.name = options.name || "";
45
+ this.$icon = null;
46
+ this.$text = null;
47
+ }
48
+ render(params) {
49
+ super.render(params);
50
+ this.$icon = this.select(".og-button-icon");
51
+ this.$text = this.select(".og-button-text");
52
+ this.el.__og_button__ = this;
53
+ this._initEvents();
54
+ return this;
55
+ }
56
+ _initEvents() {
57
+ if (this.el) {
58
+ this.el.addEventListener("click", this._onMouseClick);
59
+ this.el.addEventListener("mousedown", this._onMouseDown);
60
+ this.el.addEventListener("mouseup", this._onMouseUp);
61
+ this.el.addEventListener("touchstart", this._onTouchStart);
62
+ this.el.addEventListener("touchend", this._onTouchEnd);
63
+ this.el.addEventListener("touchcancel", this._onTouchCancel);
64
+ }
65
+ }
66
+ _mouseClickHandler(e) {
67
+ e.preventDefault();
68
+ this.events.dispatch(this.events.click, this, e);
69
+ }
70
+ remove() {
71
+ this._clearEvents();
72
+ super.remove();
73
+ }
74
+ _clearEvents() {
75
+ this.el && this.el.removeEventListener("click", this._onMouseClick);
76
+ }
77
+ }
78
+ export { Button };
@@ -0,0 +1,16 @@
1
+ import { ToggleButton } from "./ToggleButton";
2
+ import { EventsHandler } from '../Events';
3
+ interface IButtonGroupParams {
4
+ buttons?: ToggleButton[];
5
+ }
6
+ type ButtonGroupEventsList = ["change"];
7
+ declare class ButtonGroup {
8
+ events: EventsHandler<ButtonGroupEventsList>;
9
+ protected _buttons: ToggleButton[];
10
+ constructor(options?: IButtonGroupParams);
11
+ protected _bindButton(button: ToggleButton): void;
12
+ add(button: ToggleButton): void;
13
+ protected _onChange: (isActive: boolean, btn: ToggleButton) => void;
14
+ remove(button: ToggleButton): void;
15
+ }
16
+ export { ButtonGroup };