@openglobus/og 0.18.0 → 0.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (476) hide show
  1. package/README.md +8 -8
  2. package/lib/@openglobus/og.esm.js +2 -0
  3. package/lib/@openglobus/og.esm.js.map +1 -0
  4. package/lib/@openglobus/og.umd.js +2 -0
  5. package/lib/@openglobus/og.umd.js.map +1 -0
  6. package/lib/js/Clock.d.ts +106 -0
  7. package/{src/Clock.ts → lib/js/Clock.js} +31 -126
  8. package/lib/js/Deferred.d.ts +6 -0
  9. package/lib/js/Deferred.js +13 -0
  10. package/lib/js/Events.d.ts +90 -0
  11. package/{src/Events.ts → lib/js/Events.js} +29 -84
  12. package/lib/js/Extent.d.ts +145 -0
  13. package/{src/Extent.ts → lib/js/Extent.js} +74 -120
  14. package/lib/js/Globe.d.ts +132 -0
  15. package/{src/Globe.ts → lib/js/Globe.js} +61 -159
  16. package/lib/js/ImageCanvas.d.ts +128 -0
  17. package/{src/ImageCanvas.ts → lib/js/ImageCanvas.js} +24 -65
  18. package/lib/js/Lock.d.ts +15 -0
  19. package/{src/Lock.ts → lib/js/Lock.js} +7 -21
  20. package/lib/js/LonLat.d.ts +128 -0
  21. package/{src/LonLat.ts → lib/js/LonLat.js} +44 -75
  22. package/lib/js/Object3d.d.ts +49 -0
  23. package/{src/Object3d.ts → lib/js/Object3d.js} +64 -184
  24. package/lib/js/Popup.d.ts +46 -0
  25. package/{src/Popup.ts → lib/js/Popup.js} +42 -110
  26. package/lib/js/QueueArray.d.ts +16 -0
  27. package/{src/QueueArray.ts → lib/js/QueueArray.js} +12 -25
  28. package/lib/js/Rectangle.d.ts +76 -0
  29. package/{src/Rectangle.ts → lib/js/Rectangle.js} +12 -50
  30. package/lib/js/Stack.d.ts +20 -0
  31. package/{src/Stack.ts → lib/js/Stack.js} +13 -29
  32. package/lib/js/astro/astro.d.ts +39 -0
  33. package/{src/astro/astro.ts → lib/js/astro/astro.js} +2 -8
  34. package/lib/js/astro/earth.d.ts +8 -0
  35. package/{src/astro/earth.ts → lib/js/astro/earth.js} +3 -39
  36. package/lib/js/astro/jd.d.ts +234 -0
  37. package/{src/astro/jd.ts → lib/js/astro/jd.js} +55 -134
  38. package/lib/js/astro/orbit.d.ts +5 -0
  39. package/{src/astro/orbit.ts → lib/js/astro/orbit.js} +26 -39
  40. package/lib/js/astro/rotation.d.ts +2 -0
  41. package/{src/astro/rotation.ts → lib/js/astro/rotation.js} +2 -11
  42. package/lib/js/bv/Box.d.ts +32 -0
  43. package/{src/bv/Box.ts → lib/js/bv/Box.js} +7 -35
  44. package/lib/js/bv/Sphere.d.ts +37 -0
  45. package/{src/bv/Sphere.ts → lib/js/bv/Sphere.js} +6 -34
  46. package/{src/bv/index.ts → lib/js/bv/index.d.ts} +0 -1
  47. package/lib/js/bv/index.js +3 -0
  48. package/lib/js/camera/Camera.d.ts +314 -0
  49. package/{src/camera/Camera.ts → lib/js/camera/Camera.js} +77 -326
  50. package/lib/js/camera/Frustum.d.ts +139 -0
  51. package/{src/camera/Frustum.ts → lib/js/camera/Frustum.js} +66 -185
  52. package/lib/js/camera/PlanetCamera.d.ts +234 -0
  53. package/{src/camera/PlanetCamera.ts → lib/js/camera/PlanetCamera.js} +65 -338
  54. package/{src/camera/index.ts → lib/js/camera/index.d.ts} +0 -1
  55. package/lib/js/camera/index.js +3 -0
  56. package/lib/js/cons.d.ts +40 -0
  57. package/{src/cons.ts → lib/js/cons.js} +10 -22
  58. package/lib/js/control/Atmosphere.d.ts +16 -0
  59. package/{src/control/Atmosphere.ts → lib/js/control/Atmosphere.js} +33 -86
  60. package/lib/js/control/CompassButton.d.ts +16 -0
  61. package/{src/control/CompassButton.ts → lib/js/control/CompassButton.js} +18 -43
  62. package/lib/js/control/Control.d.ts +100 -0
  63. package/{src/control/Control.ts → lib/js/control/Control.js} +22 -89
  64. package/lib/js/control/DebugInfo.d.ts +25 -0
  65. package/{src/control/DebugInfo.ts → lib/js/control/DebugInfo.js} +38 -84
  66. package/lib/js/control/DrawingSwitcher.d.ts +13 -0
  67. package/{src/control/DrawingSwitcher.ts → lib/js/control/DrawingSwitcher.js} +13 -30
  68. package/lib/js/control/EarthCoordinates.d.ts +41 -0
  69. package/{src/control/EarthCoordinates.ts → lib/js/control/EarthCoordinates.js} +58 -119
  70. package/lib/js/control/EarthNavigation.d.ts +50 -0
  71. package/{src/control/EarthNavigation.ts → lib/js/control/EarthNavigation.js} +70 -161
  72. package/lib/js/control/GeoImageDragControl.d.ts +22 -0
  73. package/{src/control/GeoImageDragControl.ts → lib/js/control/GeoImageDragControl.js} +26 -49
  74. package/lib/js/control/KeyboardNavigation.d.ts +28 -0
  75. package/{src/control/KeyboardNavigation.ts → lib/js/control/KeyboardNavigation.js} +67 -92
  76. package/lib/js/control/LayerAnimation.d.ts +71 -0
  77. package/{src/control/LayerAnimation.ts → lib/js/control/LayerAnimation.js} +82 -162
  78. package/lib/js/control/LayerSwitcher.d.ts +21 -0
  79. package/{src/control/LayerSwitcher.ts → lib/js/control/LayerSwitcher.js} +16 -41
  80. package/lib/js/control/Lighting.d.ts +49 -0
  81. package/{src/control/Lighting.ts → lib/js/control/Lighting.js} +106 -219
  82. package/lib/js/control/MouseNavigation.d.ts +62 -0
  83. package/{src/control/MouseNavigation.ts → lib/js/control/MouseNavigation.js} +105 -211
  84. package/lib/js/control/MouseWheelZoomControl.d.ts +44 -0
  85. package/lib/js/control/MouseWheelZoomControl.js +181 -0
  86. package/lib/js/control/RulerSwitcher.d.ts +17 -0
  87. package/{src/control/RulerSwitcher.ts → lib/js/control/RulerSwitcher.js} +13 -28
  88. package/lib/js/control/ScaleControl.d.ts +24 -0
  89. package/lib/js/control/ScaleControl.js +91 -0
  90. package/lib/js/control/SegmentBoundVisualization.d.ts +12 -0
  91. package/lib/js/control/SegmentBoundVisualization.js +37 -0
  92. package/lib/js/control/ShowFps.d.ts +9 -0
  93. package/lib/js/control/ShowFps.js +20 -0
  94. package/lib/js/control/SimpleNavigation.d.ts +25 -0
  95. package/{src/control/SimpleNavigation.ts → lib/js/control/SimpleNavigation.js} +29 -51
  96. package/lib/js/control/SimpleSkyBackground.d.ts +15 -0
  97. package/{src/control/SimpleSkyBackground.ts → lib/js/control/SimpleSkyBackground.js} +21 -48
  98. package/lib/js/control/Sun.d.ts +33 -0
  99. package/{src/control/Sun.ts → lib/js/control/Sun.js} +34 -85
  100. package/lib/js/control/ToggleWireframe.d.ts +14 -0
  101. package/lib/js/control/ToggleWireframe.js +28 -0
  102. package/lib/js/control/TouchNavigation.d.ts +52 -0
  103. package/{src/control/TouchNavigation.ts → lib/js/control/TouchNavigation.js} +88 -193
  104. package/lib/js/control/ZoomControl.d.ts +27 -0
  105. package/{src/control/ZoomControl.ts → lib/js/control/ZoomControl.js} +25 -50
  106. package/lib/js/control/drawing/DrawingControl.d.ts +12 -0
  107. package/{src/control/drawing/DrawingControl.ts → lib/js/control/drawing/DrawingControl.js} +10 -20
  108. package/lib/js/control/drawing/LineStringDrawingScene.d.ts +15 -0
  109. package/{src/control/drawing/LineStringDrawingScene.ts → lib/js/control/drawing/LineStringDrawingScene.js} +28 -85
  110. package/lib/js/control/drawing/PolygonDrawingScene.d.ts +98 -0
  111. package/{src/control/drawing/PolygonDrawingScene.ts → lib/js/control/drawing/PolygonDrawingScene.js} +190 -388
  112. package/lib/js/control/elevationProfile/ElevationProfile.d.ts +61 -0
  113. package/{src/control/elevationProfile/ElevationProfile.ts → lib/js/control/elevationProfile/ElevationProfile.js} +56 -148
  114. package/lib/js/control/heightRuler/HeightRuler.d.ts +7 -0
  115. package/{src/control/heightRuler/HeightRuler.ts → lib/js/control/heightRuler/HeightRuler.js} +4 -9
  116. package/lib/js/control/heightRuler/HeightRulerScene.d.ts +35 -0
  117. package/{src/control/heightRuler/HeightRulerScene.ts → lib/js/control/heightRuler/HeightRulerScene.js} +47 -99
  118. package/lib/js/control/heightRuler/HeightRulerSwitcher.d.ts +6 -0
  119. package/{src/control/heightRuler/HeightRulerSwitcher.ts → lib/js/control/heightRuler/HeightRulerSwitcher.js} +2 -4
  120. package/{src/control/index.ts → lib/js/control/index.d.ts} +1 -18
  121. package/lib/js/control/index.js +28 -0
  122. package/lib/js/control/ruler/Ruler.d.ts +13 -0
  123. package/lib/js/control/ruler/Ruler.js +23 -0
  124. package/lib/js/control/ruler/RulerScene.d.ts +88 -0
  125. package/lib/js/control/ruler/RulerScene.js +324 -0
  126. package/lib/js/control/selection/Selection.d.ts +55 -0
  127. package/{src/control/selection/Selection.ts → lib/js/control/selection/Selection.js} +15 -34
  128. package/lib/js/control/selection/SelectionScene.d.ts +44 -0
  129. package/{src/control/selection/SelectionScene.ts → lib/js/control/selection/SelectionScene.js} +26 -113
  130. package/lib/js/control/timeline/TimelineControl.d.ts +18 -0
  131. package/{src/control/timeline/TimelineControl.ts → lib/js/control/timeline/TimelineControl.js} +13 -43
  132. package/lib/js/control/timeline/TimelineModel.d.ts +41 -0
  133. package/{src/control/timeline/TimelineModel.ts → lib/js/control/timeline/TimelineModel.js} +26 -74
  134. package/lib/js/control/timeline/TimelineView.d.ts +85 -0
  135. package/{src/control/timeline/TimelineView.ts → lib/js/control/timeline/TimelineView.js} +133 -281
  136. package/lib/js/control/timeline/timelineUtils.d.ts +12 -0
  137. package/lib/js/control/timeline/timelineUtils.js +112 -0
  138. package/lib/js/control/visibleExtent/Segment.d.ts +277 -0
  139. package/{src → lib/js}/control/visibleExtent/Segment.js +145 -698
  140. package/lib/js/control/visibleExtent/VisibleExtent.d.ts +5 -0
  141. package/{src → lib/js}/control/visibleExtent/VisibleExtent.js +1 -18
  142. package/lib/js/control/visibleExtent/drawnode.d.ts +7 -0
  143. package/{src/control/visibleExtent/drawnode.ts → lib/js/control/visibleExtent/drawnode.js} +1 -28
  144. package/lib/js/ellipsoid/Ellipsoid.d.ts +187 -0
  145. package/{src/ellipsoid/Ellipsoid.ts → lib/js/ellipsoid/Ellipsoid.js} +82 -267
  146. package/lib/js/ellipsoid/index.d.ts +3 -0
  147. package/lib/js/ellipsoid/index.js +3 -0
  148. package/lib/js/ellipsoid/wgs84.d.ts +6 -0
  149. package/{src/ellipsoid/wgs84.ts → lib/js/ellipsoid/wgs84.js} +1 -2
  150. package/lib/js/entity/BaseBillboard.d.ts +222 -0
  151. package/{src/entity/BaseBillboard.ts → lib/js/entity/BaseBillboard.js} +48 -165
  152. package/lib/js/entity/BaseBillboardHandler.d.ts +81 -0
  153. package/{src/entity/BaseBillboardHandler.ts → lib/js/entity/BaseBillboardHandler.js} +139 -365
  154. package/lib/js/entity/Billboard.d.ts +113 -0
  155. package/{src/entity/Billboard.ts → lib/js/entity/Billboard.js} +19 -83
  156. package/lib/js/entity/BillboardHandler.d.ts +15 -0
  157. package/{src/entity/BillboardHandler.ts → lib/js/entity/BillboardHandler.js} +27 -59
  158. package/lib/js/entity/Entity.d.ts +354 -0
  159. package/{src/entity/Entity.ts → lib/js/entity/Entity.js} +101 -373
  160. package/lib/js/entity/EntityCollection.d.ts +364 -0
  161. package/{src/entity/EntityCollection.ts → lib/js/entity/EntityCollection.js} +51 -353
  162. package/lib/js/entity/GeoObject.d.ts +138 -0
  163. package/{src/entity/GeoObject.ts → lib/js/entity/GeoObject.js} +41 -146
  164. package/lib/js/entity/GeoObjectHandler.d.ts +99 -0
  165. package/{src/entity/GeoObjectHandler.ts → lib/js/entity/GeoObjectHandler.js} +162 -423
  166. package/lib/js/entity/Geometry.d.ts +111 -0
  167. package/lib/js/entity/Geometry.js +283 -0
  168. package/lib/js/entity/GeometryHandler.d.ts +84 -0
  169. package/{src/entity/GeometryHandler.ts → lib/js/entity/GeometryHandler.js} +162 -657
  170. package/lib/js/entity/Label.d.ts +207 -0
  171. package/{src/entity/Label.ts → lib/js/entity/Label.js} +62 -164
  172. package/lib/js/entity/LabelHandler.d.ts +65 -0
  173. package/{src/entity/LabelHandler.ts → lib/js/entity/LabelHandler.js} +175 -408
  174. package/lib/js/entity/LabelWorker.d.ts +15 -0
  175. package/{src/entity/LabelWorker.ts → lib/js/entity/LabelWorker.js} +24 -45
  176. package/lib/js/entity/PointCloud.d.ts +179 -0
  177. package/{src/entity/PointCloud.ts → lib/js/entity/PointCloud.js} +65 -265
  178. package/lib/js/entity/PointCloudHandler.d.ts +42 -0
  179. package/{src/entity/PointCloudHandler.ts → lib/js/entity/PointCloudHandler.js} +19 -62
  180. package/lib/js/entity/Polyline.d.ts +337 -0
  181. package/{src/entity/Polyline.ts → lib/js/entity/Polyline.js} +289 -924
  182. package/lib/js/entity/PolylineHandler.d.ts +22 -0
  183. package/{src/entity/PolylineHandler.ts → lib/js/entity/PolylineHandler.js} +12 -37
  184. package/lib/js/entity/Ray.d.ts +133 -0
  185. package/{src/entity/Ray.ts → lib/js/entity/Ray.js} +26 -146
  186. package/lib/js/entity/RayHandler.d.ts +70 -0
  187. package/{src/entity/RayHandler.ts → lib/js/entity/RayHandler.js} +102 -342
  188. package/lib/js/entity/Strip.d.ts +127 -0
  189. package/{src/entity/Strip.ts → lib/js/entity/Strip.js} +102 -372
  190. package/lib/js/entity/StripHandler.d.ts +42 -0
  191. package/{src/entity/StripHandler.ts → lib/js/entity/StripHandler.js} +22 -74
  192. package/{src/entity/index.ts → lib/js/entity/index.d.ts} +1 -2
  193. package/lib/js/entity/index.js +11 -0
  194. package/lib/js/index.d.ts +33 -0
  195. package/lib/js/index.js +33 -0
  196. package/lib/js/input/KeyboardHandler.d.ts +33 -0
  197. package/{src/input/KeyboardHandler.ts → lib/js/input/KeyboardHandler.js} +45 -84
  198. package/lib/js/input/MouseHandler.d.ts +16 -0
  199. package/{src/input/MouseHandler.ts → lib/js/input/MouseHandler.js} +12 -36
  200. package/lib/js/input/TouchHandler.d.ts +11 -0
  201. package/{src/input/TouchHandler.ts → lib/js/input/TouchHandler.js} +11 -23
  202. package/lib/js/input/input.d.ts +3 -0
  203. package/{src/input/input.ts → lib/js/input/input.js} +1 -1
  204. package/lib/js/layer/BaseGeoImage.d.ts +145 -0
  205. package/{src/layer/BaseGeoImage.ts → lib/js/layer/BaseGeoImage.js} +70 -235
  206. package/lib/js/layer/CanvasTiles.d.ts +103 -0
  207. package/{src/layer/CanvasTiles.ts → lib/js/layer/CanvasTiles.js} +54 -146
  208. package/lib/js/layer/GeoImage.d.ts +61 -0
  209. package/{src/layer/GeoImage.ts → lib/js/layer/GeoImage.js} +24 -54
  210. package/lib/js/layer/GeoTexture2d.d.ts +17 -0
  211. package/lib/js/layer/GeoTexture2d.js +37 -0
  212. package/lib/js/layer/GeoVideo.d.ts +68 -0
  213. package/{src/layer/GeoVideo.ts → lib/js/layer/GeoVideo.js} +31 -61
  214. package/lib/js/layer/KML.d.ts +72 -0
  215. package/{src/layer/KML.ts → lib/js/layer/KML.js} +94 -138
  216. package/lib/js/layer/Layer.d.ts +401 -0
  217. package/{src/layer/Layer.ts → lib/js/layer/Layer.js} +92 -443
  218. package/lib/js/layer/Material.d.ts +34 -0
  219. package/{src/layer/Material.ts → lib/js/layer/Material.js} +9 -43
  220. package/lib/js/layer/Vector.d.ts +244 -0
  221. package/{src/layer/Vector.ts → lib/js/layer/Vector.js} +147 -418
  222. package/lib/js/layer/WMS.d.ts +75 -0
  223. package/{src/layer/WMS.ts → lib/js/layer/WMS.js} +18 -100
  224. package/lib/js/layer/XYZ.d.ts +149 -0
  225. package/{src/layer/XYZ.ts → lib/js/layer/XYZ.js} +71 -171
  226. package/lib/js/layer/index.d.ts +11 -0
  227. package/lib/js/layer/index.js +11 -0
  228. package/lib/js/light/LightSource.d.ts +174 -0
  229. package/{src/light/LightSource.ts → lib/js/light/LightSource.js} +22 -131
  230. package/lib/js/math/Line2.d.ts +11 -0
  231. package/{src/math/Line2.ts → lib/js/math/Line2.js} +5 -15
  232. package/lib/js/math/Line3.d.ts +28 -0
  233. package/lib/js/math/Line3.js +85 -0
  234. package/lib/js/math/Mat3.d.ts +77 -0
  235. package/{src/math/Mat3.ts → lib/js/math/Mat3.js} +22 -51
  236. package/lib/js/math/Mat4.d.ts +195 -0
  237. package/{src/math/Mat4.ts → lib/js/math/Mat4.js} +53 -219
  238. package/lib/js/math/Plane.d.ts +20 -0
  239. package/{src/math/Plane.ts → lib/js/math/Plane.js} +26 -40
  240. package/lib/js/math/Quat.d.ts +373 -0
  241. package/{src/math/Quat.ts → lib/js/math/Quat.js} +106 -319
  242. package/lib/js/math/Ray.d.ts +76 -0
  243. package/{src/math/Ray.ts → lib/js/math/Ray.js} +21 -66
  244. package/lib/js/math/Vec2.d.ts +310 -0
  245. package/{src/math/Vec2.ts → lib/js/math/Vec2.js} +55 -121
  246. package/lib/js/math/Vec3.d.ts +472 -0
  247. package/{src/math/Vec3.ts → lib/js/math/Vec3.js} +103 -236
  248. package/lib/js/math/Vec4.d.ts +163 -0
  249. package/{src/math/Vec4.ts → lib/js/math/Vec4.js} +23 -79
  250. package/lib/js/math/coder.d.ts +51 -0
  251. package/{src/math/coder.ts → lib/js/math/coder.js} +14 -20
  252. package/lib/js/math/index.d.ts +11 -0
  253. package/lib/js/math/index.js +11 -0
  254. package/lib/js/math.d.ts +266 -0
  255. package/{src/math.ts → lib/js/math.js} +37 -85
  256. package/lib/js/mercator.d.ts +92 -0
  257. package/{src/mercator.ts → lib/js/mercator.js} +13 -37
  258. package/lib/js/proj/EPSG3857.d.ts +9 -0
  259. package/{src/proj/EPSG3857.ts → lib/js/proj/EPSG3857.js} +0 -2
  260. package/lib/js/proj/EPSG4326.d.ts +9 -0
  261. package/{src/proj/EPSG4326.ts → lib/js/proj/EPSG4326.js} +0 -2
  262. package/lib/js/proj/Proj.d.ts +43 -0
  263. package/{src/proj/Proj.ts → lib/js/proj/Proj.js} +4 -29
  264. package/lib/js/quadTree/EPSG4326QuadTreeStrategy.d.ts +6 -0
  265. package/lib/js/quadTree/EPSG4326QuadTreeStrategy.js +17 -0
  266. package/lib/js/quadTree/EarthQuadTreeStrategy.d.ts +6 -0
  267. package/lib/js/quadTree/EarthQuadTreeStrategy.js +19 -0
  268. package/lib/js/quadTree/EntityCollectionNode.d.ts +54 -0
  269. package/{src/quadTree/EntityCollectionNode.ts → lib/js/quadTree/EntityCollectionNode.js} +83 -150
  270. package/lib/js/quadTree/MarsQuadTreeStrategy.d.ts +6 -0
  271. package/lib/js/quadTree/MarsQuadTreeStrategy.js +17 -0
  272. package/lib/js/quadTree/Node.d.ts +61 -0
  273. package/{src/quadTree/Node.ts → lib/js/quadTree/Node.js} +140 -357
  274. package/lib/js/quadTree/QuadTreeStrategy.d.ts +25 -0
  275. package/{src/quadTree/QuadTreeStrategy.ts → lib/js/quadTree/QuadTreeStrategy.js} +13 -44
  276. package/lib/js/quadTree/Wgs84QuadTreeStrategy.d.ts +6 -0
  277. package/lib/js/quadTree/Wgs84QuadTreeStrategy.js +15 -0
  278. package/lib/js/quadTree/index.d.ts +12 -0
  279. package/lib/js/quadTree/index.js +12 -0
  280. package/lib/js/quadTree/quadTree.d.ts +40 -0
  281. package/{src/quadTree/quadTree.ts → lib/js/quadTree/quadTree.js} +0 -9
  282. package/lib/js/renderer/Renderer.d.ts +311 -0
  283. package/{src/renderer/Renderer.ts → lib/js/renderer/Renderer.js} +169 -611
  284. package/lib/js/renderer/RendererEvents.d.ts +237 -0
  285. package/{src/renderer/RendererEvents.ts → lib/js/renderer/RendererEvents.js} +134 -471
  286. package/lib/js/scene/Axes.d.ts +12 -0
  287. package/lib/js/scene/Axes.js +59 -0
  288. package/lib/js/scene/BaseNode.d.ts +61 -0
  289. package/{src/scene/BaseNode.ts → lib/js/scene/BaseNode.js} +11 -57
  290. package/lib/js/scene/Planet.d.ts +623 -0
  291. package/{src/scene/Planet.ts → lib/js/scene/Planet.js} +251 -935
  292. package/lib/js/scene/RenderNode.d.ts +150 -0
  293. package/{src/scene/RenderNode.ts → lib/js/scene/RenderNode.js} +33 -138
  294. package/lib/js/scene/SkyBox.d.ts +13 -0
  295. package/{src/scene/SkyBox.ts → lib/js/scene/SkyBox.js} +16 -37
  296. package/{src/scene/index.ts → lib/js/scene/index.d.ts} +0 -1
  297. package/lib/js/scene/index.js +5 -0
  298. package/lib/js/segment/Segment.d.ts +278 -0
  299. package/{src/segment/Segment.ts → lib/js/segment/Segment.js} +242 -913
  300. package/lib/js/segment/SegmentLonLat.d.ts +48 -0
  301. package/{src/segment/SegmentLonLat.ts → lib/js/segment/SegmentLonLat.js} +58 -132
  302. package/lib/js/segment/SegmentLonLatWgs84.d.ts +10 -0
  303. package/lib/js/segment/SegmentLonLatWgs84.js +23 -0
  304. package/lib/js/segment/Slice.d.ts +13 -0
  305. package/{src/segment/Slice.ts → lib/js/segment/Slice.js} +4 -22
  306. package/lib/js/segment/segmentHelper.d.ts +18 -0
  307. package/{src/segment/segmentHelper.ts → lib/js/segment/segmentHelper.js} +30 -88
  308. package/lib/js/shaders/atmos.d.ts +4 -0
  309. package/{src/shaders/atmos.ts → lib/js/shaders/atmos.js} +8 -26
  310. package/lib/js/shaders/billboard.d.ts +3 -0
  311. package/{src/shaders/billboard.ts → lib/js/shaders/billboard.js} +9 -18
  312. package/lib/js/shaders/bloom.d.ts +2 -0
  313. package/{src/shaders/bloom.ts → lib/js/shaders/bloom.js} +5 -8
  314. package/lib/js/shaders/blur.d.ts +3 -0
  315. package/{src/shaders/blur.ts → lib/js/shaders/blur.js} +11 -19
  316. package/lib/js/shaders/depth.d.ts +2 -0
  317. package/{src/shaders/depth.ts → lib/js/shaders/depth.js} +3 -6
  318. package/lib/js/shaders/drawnode.d.ts +8 -0
  319. package/{src/shaders/drawnode.ts → lib/js/shaders/drawnode.js} +23 -75
  320. package/lib/js/shaders/geoObject.d.ts +3 -0
  321. package/{src/shaders/geoObject.ts → lib/js/shaders/geoObject.js} +51 -63
  322. package/lib/js/shaders/label.d.ts +4 -0
  323. package/{src/shaders/label.ts → lib/js/shaders/label.js} +12 -25
  324. package/lib/js/shaders/lumFilter.d.ts +2 -0
  325. package/{src/shaders/lumFilter.ts → lib/js/shaders/lumFilter.js} +4 -7
  326. package/lib/js/shaders/pickingMask.d.ts +2 -0
  327. package/{src/shaders/pickingMask.ts → lib/js/shaders/pickingMask.js} +5 -8
  328. package/lib/js/shaders/pointCloud.d.ts +2 -0
  329. package/{src/shaders/pointCloud.ts → lib/js/shaders/pointCloud.js} +4 -7
  330. package/lib/js/shaders/polyline.d.ts +3 -0
  331. package/{src/shaders/polyline.ts → lib/js/shaders/polyline.js} +7 -22
  332. package/lib/js/shaders/ray.d.ts +2 -0
  333. package/{src/shaders/ray.ts → lib/js/shaders/ray.js} +4 -7
  334. package/lib/js/shaders/screenFrame.d.ts +2 -0
  335. package/{src/shaders/screenFrame.ts → lib/js/shaders/screenFrame.js} +5 -8
  336. package/lib/js/shaders/skybox.d.ts +2 -0
  337. package/{src/shaders/skybox.ts → lib/js/shaders/skybox.js} +10 -13
  338. package/lib/js/shaders/toneMapping.d.ts +2 -0
  339. package/{src/shaders/toneMapping.ts → lib/js/shaders/toneMapping.js} +5 -8
  340. package/lib/js/shaders/utils.d.ts +1 -0
  341. package/{src/shaders/utils.ts → lib/js/shaders/utils.js} +1 -1
  342. package/lib/js/terrain/BilTerrain.d.ts +18 -0
  343. package/{src/terrain/BilTerrain.ts → lib/js/terrain/BilTerrain.js} +21 -118
  344. package/lib/js/terrain/EmptyTerrain.d.ts +106 -0
  345. package/{src/terrain/EmptyTerrain.ts → lib/js/terrain/EmptyTerrain.js} +20 -144
  346. package/lib/js/terrain/Geoid.d.ts +33 -0
  347. package/lib/js/terrain/Geoid.js +191 -0
  348. package/lib/js/terrain/GlobusTerrain.d.ts +134 -0
  349. package/{src/terrain/GlobusTerrain.ts → lib/js/terrain/GlobusTerrain.js} +82 -239
  350. package/lib/js/terrain/MapboxTerrain.d.ts +21 -0
  351. package/{src/terrain/MapboxTerrain.ts → lib/js/terrain/MapboxTerrain.js} +46 -215
  352. package/{src/terrain/index.ts → lib/js/terrain/index.d.ts} +0 -1
  353. package/lib/js/terrain/index.js +5 -0
  354. package/lib/js/ui/Button.d.ts +32 -0
  355. package/lib/js/ui/Button.js +78 -0
  356. package/lib/js/ui/ButtonGroup.d.ts +16 -0
  357. package/lib/js/ui/ButtonGroup.js +41 -0
  358. package/lib/js/ui/Dialog.d.ts +55 -0
  359. package/lib/js/ui/Dialog.js +173 -0
  360. package/lib/js/ui/Slider.d.ts +38 -0
  361. package/lib/js/ui/Slider.js +129 -0
  362. package/lib/js/ui/ToggleButton.d.ts +20 -0
  363. package/lib/js/ui/ToggleButton.js +42 -0
  364. package/lib/js/ui/View.d.ts +37 -0
  365. package/{src/ui/View.ts → lib/js/ui/View.js} +31 -77
  366. package/lib/js/ui/icons.d.ts +1 -0
  367. package/{src/ui/icons.ts → lib/js/ui/icons.js} +1 -1
  368. package/lib/js/utils/BaseWorker.d.ts +14 -0
  369. package/{src/utils/BaseWorker.ts → lib/js/utils/BaseWorker.js} +15 -28
  370. package/lib/js/utils/FontAtlas.d.ts +82 -0
  371. package/{src/utils/FontAtlas.ts → lib/js/utils/FontAtlas.js} +45 -181
  372. package/lib/js/utils/GeoImageCreator.d.ts +34 -0
  373. package/{src/utils/GeoImageCreator.ts → lib/js/utils/GeoImageCreator.js} +34 -91
  374. package/lib/js/utils/ImagesCacheManager.d.ts +22 -0
  375. package/{src/utils/ImagesCacheManager.ts → lib/js/utils/ImagesCacheManager.js} +16 -38
  376. package/lib/js/utils/Loader.d.ts +63 -0
  377. package/lib/js/utils/Loader.js +156 -0
  378. package/lib/js/utils/NormalMapCreator.d.ts +52 -0
  379. package/{src/utils/NormalMapCreator.ts → lib/js/utils/NormalMapCreator.js} +64 -195
  380. package/lib/js/utils/PlainSegmentWorker.d.ts +24 -0
  381. package/{src/utils/PlainSegmentWorker.ts → lib/js/utils/PlainSegmentWorker.js} +24 -56
  382. package/lib/js/utils/TerrainWorker.d.ts +28 -0
  383. package/{src/utils/TerrainWorker.ts → lib/js/utils/TerrainWorker.js} +19 -56
  384. package/lib/js/utils/TextureAtlas.d.ts +113 -0
  385. package/{src/utils/TextureAtlas.ts → lib/js/utils/TextureAtlas.js} +40 -131
  386. package/lib/js/utils/VectorTileCreator.d.ts +18 -0
  387. package/{src/utils/VectorTileCreator.ts → lib/js/utils/VectorTileCreator.js} +61 -147
  388. package/lib/js/utils/colorTable.d.ts +3 -0
  389. package/{src/utils/colorTable.ts → lib/js/utils/colorTable.js} +2 -2
  390. package/lib/js/utils/earcut.d.ts +7 -0
  391. package/{src/utils/earcut.ts → lib/js/utils/earcut.js} +95 -223
  392. package/lib/js/utils/objParser.d.ts +24 -0
  393. package/{src/utils/objParser.ts → lib/js/utils/objParser.js} +38 -93
  394. package/lib/js/utils/shared.d.ts +267 -0
  395. package/{src/utils/shared.ts → lib/js/utils/shared.js} +184 -341
  396. package/lib/js/utils/units.d.ts +16 -0
  397. package/lib/js/utils/units.js +61 -0
  398. package/lib/js/webgl/BaseFramebuffer.d.ts +53 -0
  399. package/{src/webgl/BaseFramebuffer.ts → lib/js/webgl/BaseFramebuffer.js} +22 -59
  400. package/lib/js/webgl/Framebuffer.d.ts +69 -0
  401. package/{src/webgl/Framebuffer.ts → lib/js/webgl/Framebuffer.js} +30 -87
  402. package/lib/js/webgl/Handler.d.ts +473 -0
  403. package/{src/webgl/Handler.ts → lib/js/webgl/Handler.js} +175 -586
  404. package/lib/js/webgl/Multisample.d.ts +27 -0
  405. package/lib/js/webgl/Multisample.js +77 -0
  406. package/lib/js/webgl/Program.d.ts +159 -0
  407. package/{src/webgl/Program.ts → lib/js/webgl/Program.js} +73 -210
  408. package/lib/js/webgl/ProgramController.d.ts +86 -0
  409. package/{src/webgl/ProgramController.ts → lib/js/webgl/ProgramController.js} +11 -45
  410. package/{src/webgl/index.ts → lib/js/webgl/index.d.ts} +1 -8
  411. package/lib/js/webgl/index.js +6 -0
  412. package/lib/js/webgl/types.d.ts +9 -0
  413. package/{src/webgl/types.ts → lib/js/webgl/types.js} +5 -8
  414. package/lib/js/webgl/variableHandlers.d.ts +22 -0
  415. package/lib/js/webgl/variableHandlers.js +78 -0
  416. package/package.json +23 -34
  417. package/dist/@openglobus/og.esm.js +0 -2
  418. package/dist/@openglobus/og.esm.js.map +0 -1
  419. package/dist/@openglobus/og.umd.js +0 -2
  420. package/dist/@openglobus/og.umd.js.map +0 -1
  421. package/src/Deferred.ts +0 -17
  422. package/src/control/MouseWheelZoomControl.ts +0 -269
  423. package/src/control/ScaleControl.ts +0 -131
  424. package/src/control/SegmentBoundVisualization.ts +0 -50
  425. package/src/control/ShowFps.ts +0 -28
  426. package/src/control/ToggleWireframe.ts +0 -35
  427. package/src/control/ruler/Ruler.ts +0 -35
  428. package/src/control/ruler/RulerScene.ts +0 -437
  429. package/src/control/timeline/timelineUtils.ts +0 -133
  430. package/src/ellipsoid/index.ts +0 -4
  431. package/src/entity/Geometry.ts +0 -486
  432. package/src/index.ts +0 -173
  433. package/src/layer/GeoTexture2d.ts +0 -56
  434. package/src/layer/index.ts +0 -12
  435. package/src/math/Line3.ts +0 -162
  436. package/src/math/index.ts +0 -26
  437. package/src/quadTree/EPSG4326QuadTreeStrategy.ts +0 -24
  438. package/src/quadTree/EarthQuadTreeStrategy.ts +0 -28
  439. package/src/quadTree/MarsQuadTreeStrategy.ts +0 -25
  440. package/src/quadTree/Wgs84QuadTreeStrategy.ts +0 -22
  441. package/src/quadTree/index.ts +0 -14
  442. package/src/scene/Axes.ts +0 -78
  443. package/src/segment/SegmentLonLatWgs84.ts +0 -33
  444. package/src/terrain/Geoid.ts +0 -273
  445. package/src/ui/Button.ts +0 -121
  446. package/src/ui/ButtonGroup.ts +0 -63
  447. package/src/ui/Dialog.ts +0 -244
  448. package/src/ui/Slider.ts +0 -188
  449. package/src/ui/ToggleButton.ts +0 -68
  450. package/src/utils/Loader.ts +0 -247
  451. package/src/utils/units.ts +0 -78
  452. package/src/webgl/Multisample.ts +0 -153
  453. package/src/webgl/variableHandlers.ts +0 -114
  454. /package/{dist → lib}/@openglobus/og.css +0 -0
  455. /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.json +0 -0
  456. /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.ttf.cfg +0 -0
  457. /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
  458. /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.json +0 -0
  459. /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.ttf.cfg +0 -0
  460. /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
  461. /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.json +0 -0
  462. /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.ttf.cfg +0 -0
  463. /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
  464. /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.json +0 -0
  465. /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +0 -0
  466. /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
  467. /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.json +0 -0
  468. /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +0 -0
  469. /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
  470. /package/{dist → lib}/@openglobus/res/fonts/arial.js +0 -0
  471. /package/{dist → lib}/@openglobus/res/fonts/arial.json +0 -0
  472. /package/{dist → lib}/@openglobus/res/fonts/arial.ttf.cfg +0 -0
  473. /package/{dist → lib}/@openglobus/res/fonts/arial.ttf.png +0 -0
  474. /package/{dist → lib}/@openglobus/res/night-4326.png +0 -0
  475. /package/{dist → lib}/@openglobus/res/night.png +0 -0
  476. /package/{dist → lib}/@openglobus/res/spec.png +0 -0
@@ -1,40 +1,12 @@
1
1
  // import { QueueArray } from '../QueueArray.js';
2
-
3
- import {BaseWorker} from "./BaseWorker";
4
- import {Segment} from "../segment/Segment";
5
- import {NumberArray6} from "../bv/Sphere";
6
-
7
- interface TerrainInfo {
8
- segment: Segment;
9
- elevations: Float32Array;
10
- }
11
-
12
- export interface ITerrainWorkerData {
13
- id: number;
14
- normalMapNormals: Float32Array | null;
15
- normalMapVertices: Float64Array | null;
16
- normalMapVerticesHigh: Float32Array | null;
17
- normalMapVerticesLow: Float32Array | null;
18
- terrainVertices: Float64Array | null;
19
- terrainVerticesHigh: Float32Array | null;
20
- terrainVerticesLow: Float32Array | null;
21
- noDataVertices: Uint8Array | null;
22
- bounds: NumberArray6;
23
- }
24
-
25
- type MessageEventExt = MessageEvent & {
26
- data: ITerrainWorkerData
27
- }
28
-
29
- class TerrainWorker extends BaseWorker<TerrainInfo> {
30
- constructor(numWorkers: number = 2) {
2
+ import { BaseWorker } from "./BaseWorker";
3
+ class TerrainWorker extends BaseWorker {
4
+ constructor(numWorkers = 2) {
31
5
  super(numWorkers, TERRAIN_PROGRAM);
32
6
  }
33
-
34
- protected override _onMessage(e: MessageEventExt) {
35
- this._source.get(e.data.id)!.segment._terrainWorkerCallback(e.data);
7
+ _onMessage(e) {
8
+ this._source.get(e.data.id).segment._terrainWorkerCallback(e.data);
36
9
  this._source.delete(e.data.id);
37
-
38
10
  e.data.normalMapNormals = null;
39
11
  e.data.normalMapVertices = null;
40
12
  e.data.normalMapVerticesHigh = null;
@@ -43,18 +15,12 @@ class TerrainWorker extends BaseWorker<TerrainInfo> {
43
15
  e.data.terrainVerticesHigh = null;
44
16
  e.data.terrainVerticesLow = null;
45
17
  }
46
-
47
- public override make(info: TerrainInfo) {
18
+ make(info) {
48
19
  if (info.segment.plainReady && info.segment.terrainIsLoading) {
49
-
50
20
  if (this._workerQueue.length) {
51
-
52
- const w = this._workerQueue.pop()!;
53
-
21
+ const w = this._workerQueue.pop();
54
22
  this._source.set(this._sourceId, info);
55
-
56
23
  let segment = info.segment;
57
-
58
24
  w.postMessage({
59
25
  'elevations': info.elevations,
60
26
  'this_plainVertices': segment.plainVertices,
@@ -62,30 +28,28 @@ class TerrainWorker extends BaseWorker<TerrainInfo> {
62
28
  'this_normalMapVertices': segment.normalMapVertices,
63
29
  'this_normalMapNormals': segment.normalMapNormals,
64
30
  'heightFactor': segment.planet._heightFactor,
65
- 'gridSize': segment.planet.terrain!.gridSizeByZoom[segment.tileZoom],
66
- 'noDataValues': segment.planet.terrain!.noDataValues,
31
+ 'gridSize': segment.planet.terrain.gridSizeByZoom[segment.tileZoom],
32
+ 'noDataValues': segment.planet.terrain.noDataValues,
67
33
  'id': this._sourceId
68
34
  }, [
69
35
  info.elevations.buffer,
70
- segment.plainVertices!.buffer,
71
- segment.plainNormals!.buffer,
72
- segment.normalMapVertices!.buffer,
73
- segment.normalMapNormals!.buffer
36
+ segment.plainVertices.buffer,
37
+ segment.plainNormals.buffer,
38
+ segment.normalMapVertices.buffer,
39
+ segment.normalMapNormals.buffer
74
40
  ]);
75
-
76
41
  this._sourceId++;
77
-
78
- } else {
42
+ }
43
+ else {
79
44
  this._pendingQueue.push(info);
80
45
  }
81
- } else {
46
+ }
47
+ else {
82
48
  this.check();
83
49
  }
84
50
  }
85
51
  }
86
-
87
- const TERRAIN_PROGRAM =
88
- `'use strict';
52
+ const TERRAIN_PROGRAM = `'use strict';
89
53
  //
90
54
  //Terrain worker
91
55
  //
@@ -584,5 +548,4 @@ const TERRAIN_PROGRAM =
584
548
  noDataVertices.buffer
585
549
  ]);
586
550
  }`;
587
-
588
- export {TerrainWorker};
551
+ export { TerrainWorker };
@@ -0,0 +1,113 @@
1
+ import { ImageCanvas } from "../ImageCanvas";
2
+ import { Rectangle } from "../Rectangle";
3
+ import { ImagesCacheManager, HTMLImageElementExt, ImagesCacheManagerCallback } from "./ImagesCacheManager";
4
+ import { Handler, WebGLTextureExt } from "../webgl/Handler";
5
+ /**
6
+ * Texture atlas stores images in one texture. Each image has its own
7
+ * atlas texture coordinates.
8
+ * @class
9
+ * @param {number} [width=1024] - Texture atlas width, if it hasn't 1024 default.
10
+ * @param {number} [height=1024] - Texture atlas height, if it hasn't 1024 default.
11
+ */
12
+ declare class TextureAtlas {
13
+ /**
14
+ * Atlas nodes where input images store. It can be accessed by image.__nodeIndex.
15
+ * @public
16
+ * @type {Map<number, TextureAtlasNode>}
17
+ */
18
+ nodes: Map<number, TextureAtlasNode>;
19
+ /**
20
+ * Created gl texture.
21
+ * @public
22
+ */
23
+ texture: WebGLTextureExt | null;
24
+ /**
25
+ * Atlas canvas.
26
+ * @public
27
+ * @type {ImageCanvas}
28
+ */
29
+ canvas: ImageCanvas;
30
+ borderSize: number;
31
+ protected _handler: Handler | null;
32
+ protected _images: HTMLImageElementExt[];
33
+ protected _btree: TextureAtlasNode | null;
34
+ protected _imagesCacheManager: ImagesCacheManager;
35
+ constructor(width?: number, height?: number);
36
+ /**
37
+ * Returns atlas javascript image object.
38
+ * @public
39
+ * @returns {HTMLImageElement} -
40
+ */
41
+ getImage(): HTMLImageElement;
42
+ /**
43
+ * Returns canvas object.
44
+ * @public
45
+ * @returns {HTMLCanvasElement} -
46
+ */
47
+ getCanvas(): HTMLCanvasElement;
48
+ /**
49
+ * Clear atlas with black.
50
+ * @public
51
+ */
52
+ clearCanvas(): void;
53
+ /**
54
+ * Sets openglobus gl handler that creates gl texture.
55
+ * @public
56
+ * @param {Handler} handler - WebGL handler.
57
+ */
58
+ assignHandler(handler: Handler): void;
59
+ /**
60
+ * Returns image diagonal size.
61
+ * @param {HTMLImageElementExt} image - Image object.
62
+ * @returns {number} -
63
+ */
64
+ getDiagonal(image: HTMLImageElementExt): number;
65
+ /**
66
+ * Adds image to the atlas and returns created node with texture coordinates of the stored image.
67
+ * @public
68
+ * @param {HTMLImageElementExt} image - Input javascript image object.
69
+ * @param {boolean} [fastInsert] - If it's true atlas doesn't restore all images again
70
+ * and store image in the current atlas scheme.
71
+ * @returns {TextureAtlasNode | undefined} -
72
+ */
73
+ addImage(image: HTMLImageElementExt, fastInsert?: boolean): TextureAtlasNode | undefined;
74
+ protected _completeNode(nodes: Map<number, TextureAtlasNode>, node?: TextureAtlasNode | null): void;
75
+ /**
76
+ * Main atlas making function.
77
+ * @protected
78
+ * @param {boolean} [fastInsert] - If it's true atlas doesn't restore all images again
79
+ * and store image in the current atlas scheme.
80
+ */
81
+ protected _makeAtlas(fastInsert?: boolean): void;
82
+ get(key: number): TextureAtlasNode | undefined;
83
+ set(key: number, value: TextureAtlasNode): void;
84
+ /**
85
+ * Creates atlas gl texture.
86
+ * @public
87
+ */
88
+ createTexture(img?: HTMLImageElement | null, internalFormat?: number): void;
89
+ /**
90
+ * Asynchronous function that loads and creates image to the image cache, and call success callback when it's done.
91
+ * @public
92
+ * @param {string} src - Image object src string.
93
+ * @param {ImagesCacheManagerCallback} success - The callback that handles the image loads done.
94
+ */
95
+ loadImage(src: string, success: ImagesCacheManagerCallback): void;
96
+ getImageTexCoordinates(img: HTMLImageElementExt): number[] | undefined;
97
+ }
98
+ /**
99
+ * Atlas binary tree node.
100
+ * @class
101
+ * @param {Rectangle} rect - Node image rectangle.
102
+ * @param {number[]} texCoords - Node image rectangle.
103
+ */
104
+ declare class TextureAtlasNode {
105
+ childNodes: TextureAtlasNode[] | null;
106
+ image: HTMLImageElementExt | null;
107
+ rect: Rectangle;
108
+ texCoords: number[];
109
+ atlas: TextureAtlas | null;
110
+ constructor(rect?: Rectangle, texCoords?: number[]);
111
+ insert(img: HTMLImageElementExt): TextureAtlasNode | undefined;
112
+ }
113
+ export { TextureAtlas, TextureAtlasNode };
@@ -1,8 +1,6 @@
1
- import {ImageCanvas} from "../ImageCanvas";
2
- import {Rectangle} from "../Rectangle";
3
- import {ImagesCacheManager, HTMLImageElementExt, ImagesCacheManagerCallback} from "./ImagesCacheManager";
4
- import {Handler, WebGLTextureExt} from "../webgl/Handler";
5
-
1
+ import { ImageCanvas } from "../ImageCanvas";
2
+ import { Rectangle } from "../Rectangle";
3
+ import { ImagesCacheManager } from "./ImagesCacheManager";
6
4
  /**
7
5
  * Texture atlas stores images in one texture. Each image has its own
8
6
  * atlas texture coordinates.
@@ -11,101 +9,58 @@ import {Handler, WebGLTextureExt} from "../webgl/Handler";
11
9
  * @param {number} [height=1024] - Texture atlas height, if it hasn't 1024 default.
12
10
  */
13
11
  class TextureAtlas {
14
- /**
15
- * Atlas nodes where input images store. It can be accessed by image.__nodeIndex.
16
- * @public
17
- * @type {Map<number, TextureAtlasNode>}
18
- */
19
- public nodes: Map<number, TextureAtlasNode>;
20
-
21
- /**
22
- * Created gl texture.
23
- * @public
24
- */
25
- public texture: WebGLTextureExt | null;
26
-
27
- /**
28
- * Atlas canvas.
29
- * @public
30
- * @type {ImageCanvas}
31
- */
32
- public canvas: ImageCanvas;
33
-
34
- public borderSize: number;
35
-
36
- protected _handler: Handler | null;
37
- protected _images: HTMLImageElementExt[];
38
- protected _btree: TextureAtlasNode | null;
39
- protected _imagesCacheManager: ImagesCacheManager;
40
-
41
- constructor(width: number = 1024, height: number = 1024) {
42
-
43
- this.nodes = new Map<number, TextureAtlasNode>();
44
-
12
+ constructor(width = 1024, height = 1024) {
13
+ this.nodes = new Map();
45
14
  this.texture = null;
46
-
47
15
  this.canvas = new ImageCanvas(width, height);
48
-
49
16
  this.clearCanvas();
50
-
51
17
  this._handler = null;
52
-
53
18
  this._images = [];
54
-
55
19
  this._btree = null;
56
-
57
20
  this._imagesCacheManager = new ImagesCacheManager();
58
-
59
21
  this.borderSize = 4;
60
22
  }
61
-
62
23
  /**
63
24
  * Returns atlas javascript image object.
64
25
  * @public
65
26
  * @returns {HTMLImageElement} -
66
27
  */
67
- public getImage() {
28
+ getImage() {
68
29
  return this.canvas.getImage();
69
30
  }
70
-
71
31
  /**
72
32
  * Returns canvas object.
73
33
  * @public
74
34
  * @returns {HTMLCanvasElement} -
75
35
  */
76
- public getCanvas(): HTMLCanvasElement {
36
+ getCanvas() {
77
37
  return this.canvas.getCanvas();
78
38
  }
79
-
80
39
  /**
81
40
  * Clear atlas with black.
82
41
  * @public
83
42
  */
84
- public clearCanvas() {
43
+ clearCanvas() {
85
44
  this.canvas.fillEmpty();
86
45
  }
87
-
88
46
  /**
89
47
  * Sets openglobus gl handler that creates gl texture.
90
48
  * @public
91
49
  * @param {Handler} handler - WebGL handler.
92
50
  */
93
- public assignHandler(handler: Handler) {
51
+ assignHandler(handler) {
94
52
  this._handler = handler;
95
53
  this.createTexture();
96
54
  }
97
-
98
55
  /**
99
56
  * Returns image diagonal size.
100
57
  * @param {HTMLImageElementExt} image - Image object.
101
58
  * @returns {number} -
102
59
  */
103
- public getDiagonal(image: HTMLImageElementExt): number {
104
- let w = image.atlasWidth || image.width,
105
- h = image.atlasHeight || image.height;
60
+ getDiagonal(image) {
61
+ let w = image.atlasWidth || image.width, h = image.atlasHeight || image.height;
106
62
  return Math.sqrt(w * w + h * h);
107
63
  }
108
-
109
64
  /**
110
65
  * Adds image to the atlas and returns created node with texture coordinates of the stored image.
111
66
  * @public
@@ -114,83 +69,60 @@ class TextureAtlas {
114
69
  * and store image in the current atlas scheme.
115
70
  * @returns {TextureAtlasNode | undefined} -
116
71
  */
117
- public addImage(image: HTMLImageElementExt, fastInsert: boolean = false): TextureAtlasNode | undefined {
72
+ addImage(image, fastInsert = false) {
118
73
  if (!(image.width && image.height)) {
119
74
  return;
120
75
  }
121
-
122
76
  this._images.push(image);
123
-
124
77
  this._makeAtlas(fastInsert);
125
-
126
78
  if (image.__nodeIndex != undefined) {
127
79
  return this.get(image.__nodeIndex);
128
80
  }
129
81
  }
130
-
131
- protected _completeNode(nodes: Map<number, TextureAtlasNode>, node?: TextureAtlasNode | null) {
82
+ _completeNode(nodes, node) {
132
83
  if (node) {
133
-
134
- let w = this.canvas.getWidth(),
135
- h = this.canvas.getHeight();
136
-
137
- let im = node.image!;
84
+ let w = this.canvas.getWidth(), h = this.canvas.getHeight();
85
+ let im = node.image;
138
86
  let r = node.rect;
139
87
  let bs = Math.round(this.borderSize * 0.5);
140
88
  this.canvas.drawImage(im, r.left + bs, r.top + bs, im.atlasWidth || 0, im.atlasHeight || 0);
141
-
142
89
  let tc = node.texCoords;
143
-
144
90
  tc[0] = (r.left + bs) / w;
145
91
  tc[1] = (r.top + bs) / h;
146
-
147
92
  tc[2] = (r.left + bs) / w;
148
93
  tc[3] = (r.bottom - bs) / h;
149
-
150
94
  tc[4] = (r.right - bs) / w;
151
95
  tc[5] = (r.bottom - bs) / h;
152
-
153
96
  tc[6] = (r.right - bs) / w;
154
97
  tc[7] = (r.bottom - bs) / h;
155
-
156
98
  tc[8] = (r.right - bs) / w;
157
99
  tc[9] = (r.top + bs) / h;
158
-
159
100
  tc[10] = (r.left + bs) / w;
160
101
  tc[11] = (r.top + bs) / h;
161
-
162
- nodes.set(im.__nodeIndex!, node);
102
+ nodes.set(im.__nodeIndex, node);
163
103
  }
164
104
  }
165
-
166
105
  /**
167
106
  * Main atlas making function.
168
107
  * @protected
169
108
  * @param {boolean} [fastInsert] - If it's true atlas doesn't restore all images again
170
109
  * and store image in the current atlas scheme.
171
110
  */
172
- protected _makeAtlas(fastInsert: boolean = false) {
111
+ _makeAtlas(fastInsert = false) {
173
112
  if (fastInsert && this._btree) {
174
113
  let im = this._images[this._images.length - 1];
175
114
  this._completeNode(this.nodes, this._btree.insert(im));
176
- } else {
115
+ }
116
+ else {
177
117
  let im = this._images.slice(0);
178
-
179
- im.sort(function (b: HTMLImageElementExt, a: HTMLImageElementExt) {
180
- return (
181
- (a.atlasWidth || a.width) - (b.atlasWidth || b.width) ||
182
- (a.atlasHeight || a.height) - (b.atlasHeight || b.height)
183
- );
118
+ im.sort(function (b, a) {
119
+ return ((a.atlasWidth || a.width) - (b.atlasWidth || b.width) ||
120
+ (a.atlasHeight || a.height) - (b.atlasHeight || b.height));
184
121
  });
185
-
186
- this._btree = new TextureAtlasNode(
187
- new Rectangle(0, 0, this.canvas.getWidth(), this.canvas.getHeight())
188
- );
122
+ this._btree = new TextureAtlasNode(new Rectangle(0, 0, this.canvas.getWidth(), this.canvas.getHeight()));
189
123
  this._btree.atlas = this;
190
-
191
124
  this.clearCanvas();
192
-
193
- let newNodes = new Map<number, TextureAtlasNode>();
125
+ let newNodes = new Map();
194
126
  for (let i = 0; i < im.length; i++) {
195
127
  this._completeNode(newNodes, this._btree.insert(im[i]));
196
128
  }
@@ -199,41 +131,36 @@ class TextureAtlas {
199
131
  this.nodes = newNodes;
200
132
  }
201
133
  }
202
-
203
- public get(key: number): TextureAtlasNode | undefined {
134
+ get(key) {
204
135
  return this.nodes.get(key);
205
136
  }
206
-
207
- public set(key: number, value: TextureAtlasNode) {
137
+ set(key, value) {
208
138
  this.nodes.set(key, value);
209
139
  }
210
-
211
140
  /**
212
141
  * Creates atlas gl texture.
213
142
  * @public
214
143
  */
215
- public createTexture(img?: HTMLImageElement | null, internalFormat?: number) {
144
+ createTexture(img, internalFormat) {
216
145
  if (this._handler) {
217
- this._handler.gl!.deleteTexture(this.texture!);
146
+ this._handler.gl.deleteTexture(this.texture);
218
147
  if (img) {
219
148
  this.canvas.resize(img.width, img.height);
220
149
  this.canvas.drawImage(img, 0, 0, img.width, img.height);
221
150
  }
222
- this.texture = this._handler.createTexture_l(this.canvas.getCanvas(), internalFormat)!;
151
+ this.texture = this._handler.createTexture_l(this.canvas.getCanvas(), internalFormat);
223
152
  }
224
153
  }
225
-
226
154
  /**
227
155
  * Asynchronous function that loads and creates image to the image cache, and call success callback when it's done.
228
156
  * @public
229
157
  * @param {string} src - Image object src string.
230
158
  * @param {ImagesCacheManagerCallback} success - The callback that handles the image loads done.
231
159
  */
232
- public loadImage(src: string, success: ImagesCacheManagerCallback) {
160
+ loadImage(src, success) {
233
161
  this._imagesCacheManager.load(src, success);
234
162
  }
235
-
236
- public getImageTexCoordinates(img: HTMLImageElementExt): number[] | undefined {
163
+ getImageTexCoordinates(img) {
237
164
  if (img.__nodeIndex != null) {
238
165
  let n = this.get(img.__nodeIndex);
239
166
  if (n) {
@@ -242,7 +169,6 @@ class TextureAtlas {
242
169
  }
243
170
  }
244
171
  }
245
-
246
172
  /**
247
173
  * Atlas binary tree node.
248
174
  * @class
@@ -250,73 +176,56 @@ class TextureAtlas {
250
176
  * @param {number[]} texCoords - Node image rectangle.
251
177
  */
252
178
  class TextureAtlasNode {
253
- public childNodes: TextureAtlasNode[] | null;
254
- public image: HTMLImageElementExt | null;
255
- public rect: Rectangle;
256
- public texCoords: number[];
257
- public atlas: TextureAtlas | null;
258
-
259
- constructor(rect?: Rectangle, texCoords?: number[]) {
179
+ constructor(rect, texCoords) {
260
180
  this.childNodes = null;
261
181
  this.image = null;
262
182
  this.rect = rect || new Rectangle();
263
183
  this.texCoords = texCoords || [];
264
184
  this.atlas = null;
265
185
  }
266
-
267
- public insert(img: HTMLImageElementExt): TextureAtlasNode | undefined {
186
+ insert(img) {
268
187
  if (this.childNodes) {
269
188
  let newNode = this.childNodes[0].insert(img);
270
-
271
189
  if (newNode) {
272
190
  return newNode;
273
191
  }
274
-
275
192
  return this.childNodes[1].insert(img);
276
- } else {
193
+ }
194
+ else {
277
195
  if (this.image != null) {
278
196
  return;
279
197
  }
280
-
281
198
  let rc = this.rect;
282
- const w = (img.atlasWidth || img.width) + this.atlas!.borderSize;
283
- const h = (img.atlasHeight || img.height) + this.atlas!.borderSize;
284
-
199
+ const w = (img.atlasWidth || img.width) + this.atlas.borderSize;
200
+ const h = (img.atlasHeight || img.height) + this.atlas.borderSize;
285
201
  if (w > rc.getWidth() || h > rc.getHeight()) {
286
202
  return;
287
203
  }
288
-
289
204
  if (rc.fit(w, h)) {
290
205
  this.image = img;
291
206
  return this;
292
207
  }
293
-
294
208
  this.childNodes = new Array(2);
295
209
  this.childNodes[0] = new TextureAtlasNode();
296
210
  this.childNodes[0].atlas = this.atlas;
297
211
  this.childNodes[1] = new TextureAtlasNode();
298
212
  this.childNodes[1].atlas = this.atlas;
299
-
300
213
  const dw = rc.getWidth() - w;
301
214
  const dh = rc.getHeight() - h;
302
-
303
215
  if (dw > dh) {
304
216
  // this.childNodes[0].rect = new Rectangle(rc.left, rc.top, rc.left + w, rc.bottom);
305
217
  // this.childNodes[1].rect = new Rectangle(rc.left + w, rc.top, rc.right, rc.bottom);
306
218
  this.childNodes[0].rect.set(rc.left, rc.top, rc.left + w, rc.bottom);
307
219
  this.childNodes[1].rect.set(rc.left + w, rc.top, rc.right, rc.bottom);
308
-
309
- } else {
220
+ }
221
+ else {
310
222
  // this.childNodes[0].rect = new Rectangle(rc.left, rc.top, rc.right, rc.top + h);
311
223
  // this.childNodes[1].rect = new Rectangle(rc.left, rc.top + h, rc.right, rc.bottom);
312
224
  this.childNodes[0].rect.set(rc.left, rc.top, rc.right, rc.top + h);
313
225
  this.childNodes[1].rect.set(rc.left, rc.top + h, rc.right, rc.bottom);
314
-
315
226
  }
316
-
317
227
  return this.childNodes[0].insert(img);
318
228
  }
319
229
  }
320
230
  }
321
-
322
- export {TextureAtlas, TextureAtlasNode};
231
+ export { TextureAtlas, TextureAtlasNode };
@@ -0,0 +1,18 @@
1
+ import { Framebuffer } from '../webgl/Framebuffer';
2
+ import { Handler } from "../webgl/Handler";
3
+ import { Material } from "../layer/Material";
4
+ import { Planet } from "../scene/Planet";
5
+ export declare class VectorTileCreator {
6
+ protected _width: number;
7
+ protected _height: number;
8
+ protected _planet: Planet;
9
+ protected _framebuffer: Framebuffer | null;
10
+ protected _queue: Material[];
11
+ protected _handler: Handler | null;
12
+ constructor(planet: Planet, width?: number, height?: number);
13
+ init(): void;
14
+ frame(): void;
15
+ add(material: Material): void;
16
+ remove(material: Material): void;
17
+ get queueSize(): number;
18
+ }