@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
@@ -0,0 +1,103 @@
1
+ import { EventCallback, EventsHandler } from "../Events";
2
+ import { ILayerParams, Layer, LayerEventsList } from "./Layer";
3
+ import { Material } from "../layer/Material";
4
+ import { NumberArray4 } from "../math/Vec4";
5
+ import { Planet } from "../scene/Planet";
6
+ type ApplyImageFunc = (material: HTMLCanvasElement | ImageBitmap | HTMLImageElement) => void;
7
+ type DrawTileCallback = (material: Material, applyImage: ApplyImageFunc) => void;
8
+ export interface ICanvasTilesParams extends ILayerParams {
9
+ drawTile: DrawTileCallback;
10
+ animated?: boolean;
11
+ minNativeZoom?: number;
12
+ maxNativeZoom?: number;
13
+ }
14
+ type CanvasTilesEventsList = [
15
+ "load",
16
+ "loadend"
17
+ ];
18
+ type CanvasTilesEventsType = EventsHandler<CanvasTilesEventsList> & EventsHandler<LayerEventsList>;
19
+ /**
20
+ * Layer used to rendering each tile as a separate canvas object.
21
+ * @class
22
+ * @extends {Layer}
23
+ * @param {String} [name="noname"] - Layer name.
24
+ * @param {ICanvasTilesParams} options:
25
+ * @param {number} [options.opacity=1.0] - Layer opacity.
26
+ * @param {number} [options.minZoom=0] - Minimal visibility zoom level.
27
+ * @param {number} [options.maxZoom=0] - Maximal visibility zoom level.
28
+ * @param {string} [options.attribution] - Layer attribution that displayed in the attribution area on the screen.
29
+ * @param {boolean} [options.isBaseLayer=false] - Base layer flag.
30
+ * @param {boolean} [options.visibility=true] - Layer visibility.
31
+ * @param {DrawTileCallback} options.drawTile - Draw tile callback.
32
+ * @fires EventsHandler<CanvasTilesEventsList>#load
33
+ * @fires EventsHandler<CanvasTilesEventsList>#loadend
34
+ */
35
+ declare class CanvasTiles extends Layer {
36
+ static MAX_REQUESTS: number;
37
+ static __requestsCounter: number;
38
+ events: CanvasTilesEventsType;
39
+ animated: boolean;
40
+ minNativeZoom: number;
41
+ maxNativeZoom: number;
42
+ /**
43
+ * Current creating tiles counter.
44
+ * @protected
45
+ * @type {number}
46
+ */
47
+ protected _counter: number;
48
+ /**
49
+ * Tile pending queue that waiting for create.
50
+ * @protected
51
+ * @type {Material[]}
52
+ */
53
+ protected _pendingsQueue: Material[];
54
+ /**
55
+ * Draw tile callback.
56
+ * @type {DrawTileCallback}
57
+ * @public
58
+ */
59
+ drawTile: DrawTileCallback;
60
+ protected _onLoadend_: EventCallback | null;
61
+ constructor(name: string | null, options: ICanvasTilesParams);
62
+ addTo(planet: Planet): void;
63
+ remove(): this;
64
+ _onLoadend(): void;
65
+ get instanceName(): string;
66
+ get isIdle(): boolean;
67
+ /**
68
+ * Abort loading tiles.
69
+ * @public
70
+ */
71
+ abortLoading(): void;
72
+ /**
73
+ * Sets layer visibility.
74
+ * @public
75
+ * @param {boolean} visibility - Layer visibility.
76
+ */
77
+ setVisibility(visibility: boolean): void;
78
+ /**
79
+ * Start to load tile material.
80
+ * @public
81
+ * @virtual
82
+ * @param {Material} material -
83
+ */
84
+ loadMaterial(material: Material): void;
85
+ /**
86
+ * Loads material image and apply it to the planet segment.
87
+ * @protected
88
+ * @param {Material} material - Loads material image.
89
+ */
90
+ protected _exec(material: Material): void;
91
+ protected _correctCounter(): void;
92
+ /**
93
+ * Abort exact material loading.
94
+ * @public
95
+ * @param {Material} material - Segment material.
96
+ */
97
+ abortMaterialLoading(material: Material): void;
98
+ protected _dequeueRequest(): void;
99
+ protected _whilePendings(): Material | null;
100
+ applyMaterial(material: Material): NumberArray4;
101
+ clearMaterial(material: Material): void;
102
+ }
103
+ export { CanvasTiles };
@@ -1,41 +1,17 @@
1
1
  import * as quadTree from "../quadTree/quadTree";
2
- import {EventCallback, EventsHandler} from "../Events";
3
- import {ILayerParams, Layer, LayerEventsList} from "./Layer";
4
- import {Material} from "../layer/Material";
5
- import {NumberArray4} from "../math/Vec4";
6
- import {Planet} from "../scene/Planet";
7
-
8
- type ApplyImageFunc = (material: HTMLCanvasElement | ImageBitmap | HTMLImageElement) => void;
9
- type DrawTileCallback = (material: Material, applyImage: ApplyImageFunc) => void;
10
-
11
- export interface ICanvasTilesParams extends ILayerParams {
12
- drawTile: DrawTileCallback;
13
- animated?: boolean;
14
- minNativeZoom?: number;
15
- maxNativeZoom?: number;
16
- }
17
-
18
- type CanvasTilesEventsList = [
19
- "load",
20
- "loadend"
21
- ];
22
-
23
- type CanvasTilesEventsType = EventsHandler<CanvasTilesEventsList> & EventsHandler<LayerEventsList>;
24
-
25
- const CANVASTILES_EVENTS: CanvasTilesEventsList = [
2
+ import { Layer } from "./Layer";
3
+ const CANVASTILES_EVENTS = [
26
4
  /**
27
5
  * Triggered when current tile image has loaded before rendering.
28
6
  * @event og.layer.CanvasTiles#load
29
7
  */
30
8
  "load",
31
-
32
9
  /**
33
10
  * Triggered when all tiles have loaded or loading has stopped.
34
11
  * @event og.layer.CanvasTiles#loadend
35
12
  */
36
13
  "loadend"
37
14
  ];
38
-
39
15
  /**
40
16
  * Layer used to rendering each tile as a separate canvas object.
41
17
  * @class
@@ -53,92 +29,44 @@ const CANVASTILES_EVENTS: CanvasTilesEventsList = [
53
29
  * @fires EventsHandler<CanvasTilesEventsList>#loadend
54
30
  */
55
31
  class CanvasTiles extends Layer {
56
-
57
- static MAX_REQUESTS: number = 20;
58
- static __requestsCounter: number = 0
59
-
60
- public override events: CanvasTilesEventsType;
61
-
62
- public animated: boolean;
63
-
64
- public minNativeZoom: number;
65
- public maxNativeZoom: number;
66
-
67
- /**
68
- * Current creating tiles counter.
69
- * @protected
70
- * @type {number}
71
- */
72
- protected _counter: number;
73
-
74
- /**
75
- * Tile pending queue that waiting for create.
76
- * @protected
77
- * @type {Material[]}
78
- */
79
- protected _pendingsQueue: Material[]; // new og.QueueArray();
80
-
81
- /**
82
- * Draw tile callback.
83
- * @type {DrawTileCallback}
84
- * @public
85
- */
86
- public drawTile: DrawTileCallback;
87
-
88
- protected _onLoadend_: EventCallback | null;
89
-
90
-
91
- constructor(name: string | null, options: ICanvasTilesParams) {
32
+ constructor(name, options) {
92
33
  super(name, options);
93
-
94
34
  //@ts-ignore
95
35
  this.events = this.events.registerNames(CANVASTILES_EVENTS);
96
-
97
36
  this.animated = options.animated || false;
98
-
99
37
  this.minNativeZoom = options.minNativeZoom || 0;
100
38
  this.maxNativeZoom = options.maxNativeZoom || 100;
101
-
102
39
  this._counter = 0;
103
-
104
40
  this._pendingsQueue = []; // new og.QueueArray();
105
-
106
41
  this.drawTile = options.drawTile;
107
-
108
42
  this._onLoadend_ = null;
109
43
  }
110
-
111
- public override addTo(planet: Planet) {
44
+ addTo(planet) {
112
45
  this._onLoadend_ = this._onLoadend.bind(this);
113
- this.events.on("loadend", this._onLoadend_!, this);
46
+ this.events.on("loadend", this._onLoadend_, this);
114
47
  return super.addTo(planet);
115
48
  }
116
-
117
- public override remove() {
49
+ remove() {
118
50
  this.events.off("loadend", this._onLoadend_);
119
51
  this._onLoadend_ = null;
120
52
  return super.remove();
121
53
  }
122
-
123
- public _onLoadend() {
54
+ _onLoadend() {
124
55
  if (this._planet && this._planet._terrainCompletedActivated) {
125
56
  this._planet.events.dispatch(this._planet.events.layerloadend, this);
126
57
  }
127
58
  }
128
-
129
- public override get instanceName(): string {
59
+ get instanceName() {
130
60
  return "CanvasTiles";
131
61
  }
132
-
133
- public override get isIdle() {
62
+ get isIdle() {
134
63
  return super.isIdle && this._counter === 0;
135
64
  }
136
-
137
65
  /**
138
66
  * Abort loading tiles.
139
67
  * @public
140
68
  */
141
- public override abortLoading() {
69
+ abortLoading() {
142
70
  //const q = this._pendingsQueue;
143
71
  // for (let i = q._shiftIndex + 1; i < q._popIndex + 1; i++) {
144
72
  // if (q._array[i]) {
@@ -149,67 +77,63 @@ class CanvasTiles extends Layer {
149
77
  // for (let i = 0; i < q.length; i++) {
150
78
  // this.abortMaterialLoading(q[i]);
151
79
  // }
152
- this._pendingsQueue.forEach((qi: Material) => {
80
+ this._pendingsQueue.forEach((qi) => {
153
81
  this.abortMaterialLoading(qi);
154
- })
82
+ });
155
83
  this._pendingsQueue = [];
156
84
  }
157
-
158
85
  /**
159
86
  * Sets layer visibility.
160
87
  * @public
161
88
  * @param {boolean} visibility - Layer visibility.
162
89
  */
163
- public override setVisibility(visibility: boolean) {
90
+ setVisibility(visibility) {
164
91
  if (visibility !== this._visibility) {
165
92
  super.setVisibility(visibility);
166
-
167
93
  if (!visibility) {
168
94
  this.abortLoading();
169
95
  }
170
96
  }
171
97
  }
172
-
173
98
  /**
174
99
  * Start to load tile material.
175
100
  * @public
176
101
  * @virtual
177
102
  * @param {Material} material -
178
103
  */
179
- public override loadMaterial(material: Material) {
104
+ loadMaterial(material) {
180
105
  let seg = material.segment;
181
-
182
106
  if (this._isBaseLayer) {
183
107
  material.texture = seg._isNorth ? seg.planet.solidTextureOne : seg.planet.solidTextureTwo;
184
- } else {
108
+ }
109
+ else {
185
110
  material.texture = seg.planet.transparentTexture;
186
111
  }
187
-
188
- if (this._planet!.layerLock.isFree() || material.segment.tileZoom < 2) {
112
+ if (this._planet.layerLock.isFree() || material.segment.tileZoom < 2) {
189
113
  material.isReady = false;
190
114
  material.isLoading = true;
191
115
  if (CanvasTiles.__requestsCounter >= CanvasTiles.MAX_REQUESTS && this._counter) {
192
116
  this._pendingsQueue.push(material);
193
- } else {
117
+ }
118
+ else {
194
119
  this._exec(material);
195
120
  }
196
121
  }
197
122
  }
198
-
199
123
  /**
200
124
  * Loads material image and apply it to the planet segment.
201
125
  * @protected
202
126
  * @param {Material} material - Loads material image.
203
127
  */
204
- protected _exec(material: Material) {
128
+ _exec(material) {
205
129
  CanvasTiles.__requestsCounter++;
206
130
  this._counter++;
207
- const e = this.events.load!;
131
+ const e = this.events.load;
208
132
  if (e.handlers.length) {
209
133
  this.events.dispatch(e, material);
210
134
  }
211
135
  requestAnimationFrame(() => {
212
- this.drawTile(material, (canvas: HTMLCanvasElement | ImageBitmap | HTMLImageElement) => {
136
+ this.drawTile(material, (canvas) => {
213
137
  this._counter--;
214
138
  CanvasTiles.__requestsCounter--;
215
139
  this._correctCounter();
@@ -220,18 +144,18 @@ class CanvasTiles extends Layer {
220
144
  });
221
145
  });
222
146
  }
223
-
224
- protected _correctCounter() {
225
- if (this._counter < 0) this._counter = 0;
226
- if (CanvasTiles.__requestsCounter < 0) CanvasTiles.__requestsCounter = 0;
147
+ _correctCounter() {
148
+ if (this._counter < 0)
149
+ this._counter = 0;
150
+ if (CanvasTiles.__requestsCounter < 0)
151
+ CanvasTiles.__requestsCounter = 0;
227
152
  }
228
-
229
153
  /**
230
154
  * Abort exact material loading.
231
155
  * @public
232
156
  * @param {Material} material - Segment material.
233
157
  */
234
- public override abortMaterialLoading(material: Material) {
158
+ abortMaterialLoading(material) {
235
159
  if (material.isLoading) {
236
160
  this._counter--;
237
161
  CanvasTiles.__requestsCounter--;
@@ -241,8 +165,7 @@ class CanvasTiles extends Layer {
241
165
  material.isLoading = false;
242
166
  material.isReady = false;
243
167
  }
244
-
245
- protected _dequeueRequest() {
168
+ _dequeueRequest() {
246
169
  if (this._pendingsQueue.length) {
247
170
  if (CanvasTiles.__requestsCounter < CanvasTiles.MAX_REQUESTS) {
248
171
  const pmat = this._whilePendings();
@@ -250,12 +173,12 @@ class CanvasTiles extends Layer {
250
173
  this._exec(pmat);
251
174
  }
252
175
  }
253
- } else if (this._counter === 0 && this._planet && this._planet._terrainCompletedActivated) {
176
+ }
177
+ else if (this._counter === 0 && this._planet && this._planet._terrainCompletedActivated) {
254
178
  this.events.dispatch(this.events.loadend);
255
179
  }
256
180
  }
257
-
258
- protected _whilePendings(): Material | null {
181
+ _whilePendings() {
259
182
  while (this._pendingsQueue.length) {
260
183
  const pmat = this._pendingsQueue.pop();
261
184
  if (pmat && pmat.segment && pmat.segment.node) {
@@ -267,38 +190,32 @@ class CanvasTiles extends Layer {
267
190
  }
268
191
  return null;
269
192
  }
270
-
271
- public override applyMaterial(material: Material): NumberArray4 {
193
+ applyMaterial(material) {
272
194
  if (material.isReady) {
273
-
274
195
  // IMPORTANT!
275
196
  // Animated doesn't work withMaxNativeZoom
276
197
  // It could be fixed with call drawTile method only for parent
277
198
  // material (which is rendered on the current segment material),
278
199
  // just for one renderer frame
279
- if ((material.layer as CanvasTiles).animated) {
200
+ if (material.layer.animated) {
280
201
  requestAnimationFrame(() => {
281
202
  this.drawTile(material, function (canvas) {
282
203
  material.applyImage(canvas);
283
204
  });
284
205
  });
285
206
  }
286
-
287
207
  return material.texOffset;
288
-
289
- } else if (material.segment.tileZoom < this.minNativeZoom) {
208
+ }
209
+ else if (material.segment.tileZoom < this.minNativeZoom) {
290
210
  material.textureNotExists();
291
- } else {
292
-
211
+ }
212
+ else {
293
213
  let segment = material.segment;
294
- let pn = segment.node,
295
- parentTextureExists = false;
296
- let maxNativeZoom = (material.layer as CanvasTiles).maxNativeZoom;
297
-
214
+ let pn = segment.node, parentTextureExists = false;
215
+ let maxNativeZoom = material.layer.maxNativeZoom;
298
216
  if (segment.passReady && !material.isLoading && segment.tileZoom <= maxNativeZoom) {
299
217
  this.loadMaterial(material);
300
218
  }
301
-
302
219
  let mId = this._id;
303
220
  let psegm = material;
304
221
  while (pn.parentNode) {
@@ -309,44 +226,38 @@ class CanvasTiles extends Layer {
309
226
  break;
310
227
  }
311
228
  }
312
-
313
229
  if (segment.passReady) {
314
230
  if (pn.segment.tileZoom === maxNativeZoom) {
315
231
  if (segment.tileZoom > maxNativeZoom) {
316
232
  material.textureNotExists();
317
233
  }
318
- } else if (pn.segment.tileZoom < maxNativeZoom) {
319
-
234
+ }
235
+ else if (pn.segment.tileZoom < maxNativeZoom) {
320
236
  let pn = segment.node;
321
237
  while (pn.segment.tileZoom > maxNativeZoom) {
322
- pn = pn.parentNode!;
238
+ pn = pn.parentNode;
323
239
  }
324
-
325
240
  let pnm = pn.segment.materials[mId];
326
241
  if (pnm) {
327
242
  !pnm.isLoading && !pnm.isReady && this.loadMaterial(pnm);
328
- } else {
329
- pnm = pn.segment.materials[material.layer._id] = material.layer.createMaterial(
330
- pn.segment
331
- );
243
+ }
244
+ else {
245
+ pnm = pn.segment.materials[material.layer._id] = material.layer.createMaterial(pn.segment);
332
246
  this.loadMaterial(pnm);
333
247
  }
334
248
  }
335
249
  }
336
-
337
250
  if (parentTextureExists) {
338
-
339
251
  //
340
252
  // Animated doesn't work withMaxNativeZoom
341
253
  //
342
- if ((material.layer as CanvasTiles).animated) {
254
+ if (material.layer.animated) {
343
255
  requestAnimationFrame(() => {
344
256
  this.drawTile(material, function (canvas) {
345
257
  material.applyImage(canvas);
346
258
  });
347
259
  });
348
260
  }
349
-
350
261
  material.appliedNodeId = pn.nodeId;
351
262
  material.texture = psegm.texture;
352
263
  let dZ2 = 1.0 / (2 << (segment.tileZoom - pn.segment.tileZoom - 1));
@@ -354,7 +265,8 @@ class CanvasTiles extends Layer {
354
265
  material.texOffset[1] = segment.tileY * dZ2 - pn.segment.tileY;
355
266
  material.texOffset[2] = dZ2;
356
267
  material.texOffset[3] = dZ2;
357
- } else {
268
+ }
269
+ else {
358
270
  material.texture = segment.planet.transparentTexture;
359
271
  material.texOffset[0] = 0.0;
360
272
  material.texOffset[1] = 0.0;
@@ -362,33 +274,29 @@ class CanvasTiles extends Layer {
362
274
  material.texOffset[3] = 1.0;
363
275
  }
364
276
  }
365
-
366
277
  return material.texOffset;
367
278
  }
368
-
369
- public override clearMaterial(material: Material) {
279
+ clearMaterial(material) {
370
280
  if (material.isReady) {
371
281
  material.isReady = false;
372
282
  if (material.textureExists && material.texture && !material.texture.default) {
373
- material.segment.handler.gl!.deleteTexture(material.texture);
283
+ material.segment.handler.gl.deleteTexture(material.texture);
374
284
  material.texture = null;
375
285
  }
376
286
  }
377
-
378
287
  this.abortMaterialLoading(material);
379
288
  material.isLoading = false;
380
289
  material.textureExists = false;
381
-
382
290
  //@ts-ignore
383
291
  material.layer = null;
384
292
  //@ts-ignore
385
293
  material.segment = null;
386
-
387
294
  // if (material.image) {
388
295
  // material.image.src = "";
389
296
  // material.image = null;
390
297
  // }
391
298
  }
392
299
  }
393
-
394
- export {CanvasTiles};
300
+ CanvasTiles.MAX_REQUESTS = 20;
301
+ CanvasTiles.__requestsCounter = 0;
302
+ export { CanvasTiles };
@@ -0,0 +1,61 @@
1
+ import { BaseGeoImage, IBaseGeoImageParams } from "./BaseGeoImage";
2
+ import { Material } from "./Material";
3
+ interface IGeoImageParams extends IBaseGeoImageParams {
4
+ image?: HTMLImageElement | HTMLCanvasElement | ImageBitmap;
5
+ src?: string;
6
+ }
7
+ /**
8
+ * Used to load and display a single image over specific corner coordinates on the globe.
9
+ * @class
10
+ * @extends {BaseGeoImage}
11
+ */
12
+ declare class GeoImage extends BaseGeoImage {
13
+ /**
14
+ * Image object.
15
+ * @protected
16
+ * @type {HTMLImageElement | HTMLCanvasElement | ImageBitmap}
17
+ */
18
+ protected _image: HTMLImageElement | HTMLCanvasElement | ImageBitmap | null;
19
+ /**
20
+ * Image source url path.
21
+ * @protected
22
+ * @type {string}
23
+ */
24
+ protected _src: string | null;
25
+ protected _onLoad_: ((this: HTMLImageElement, ev: Event) => void) | null;
26
+ constructor(name: string | null, options?: IGeoImageParams);
27
+ get instanceName(): string;
28
+ abortLoading(): void;
29
+ /**
30
+ * Sets image source url path.
31
+ * @public
32
+ * @param {string} srs - Image url path.
33
+ */
34
+ setSrc(src: string): void;
35
+ /**
36
+ * Sets image object.
37
+ * @public
38
+ * @param {Image} image - Image object.
39
+ */
40
+ setImage(image: HTMLImageElement): void;
41
+ /**
42
+ * Creates source gl texture.
43
+ * @virtual
44
+ * @protected
45
+ */
46
+ protected _createSourceTexture(): void;
47
+ protected _onLoad(ev: Event): void;
48
+ protected _applyImage(img: HTMLImageElement | HTMLCanvasElement | ImageBitmap | null): void;
49
+ /**
50
+ * Loads planet segment material. In this case - GeoImage source image.
51
+ * @public
52
+ * @param {Material} material - GeoImage planet material.
53
+ */
54
+ loadMaterial(material: Material): void;
55
+ /**
56
+ * @public
57
+ * @param {Material} material - GeoImage material.
58
+ */
59
+ abortMaterialLoading(material: Material): void;
60
+ }
61
+ export { GeoImage };