@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,87 +1,24 @@
1
- import {Deferred} from '../Deferred';
2
- import {Rectangle} from '../Rectangle';
3
- import {TextureAtlas, TextureAtlasNode} from './TextureAtlas';
4
- import {Handler} from "../webgl/Handler";
5
- import {HTMLImageElementExt} from "./ImagesCacheManager";
6
-
1
+ import { Deferred } from '../Deferred';
2
+ import { Rectangle } from '../Rectangle';
3
+ import { TextureAtlas, TextureAtlasNode } from './TextureAtlas';
7
4
  //@todo: get the value from shader module
8
5
  const MAX_SIZE = 11;
9
-
10
- interface IChar {
11
- id: number;
12
- char: string;
13
- width: number;
14
- height: number;
15
- x: number;
16
- y: number;
17
- chnl: number;
18
- index: number;
19
- page: number;
20
- xadvance: number;
21
- xoffset: number;
22
- yoffset: number;
23
- }
24
-
25
- interface IKerning {
26
- first: number;
27
- second: number;
28
- amount: number;
29
- }
30
-
31
- export interface IFontParams {
32
- common: {
33
- scaleH: number;
34
- scaleW: number;
35
- };
36
- info: {
37
- size: number;
38
- };
39
- distanceField: {
40
- distanceRange: number;
41
- }
42
- chars: IChar[];
43
- kernings: IKerning[];
44
- pages: string[];
45
- }
46
-
47
6
  class FontTextureAtlas extends TextureAtlas {
48
- public width: number;
49
- public height: number;
50
- public gliphSize: number;
51
- public distanceRange: number;
52
- public override nodes: Map<number, FontTextureAtlasNode>;
53
- public kernings: Record<number, Record<number, number>>;
54
-
55
- constructor(width?: number, height?: number) {
7
+ constructor(width, height) {
56
8
  super(width, height);
57
9
  this.width = 0;
58
10
  this.height = 0;
59
11
  this.gliphSize = 0;
60
12
  this.distanceRange = 0;
61
- this.nodes = new Map<number, FontTextureAtlasNode>();
13
+ this.nodes = new Map();
62
14
  this.kernings = {};
63
15
  }
64
-
65
- public override get(key: number): FontTextureAtlasNode | undefined {
16
+ get(key) {
66
17
  return this.nodes.get(key);
67
18
  }
68
19
  }
69
-
70
- interface IMetrics extends IChar {
71
- nChar: string;
72
- nCode: number;
73
- nWidth: number;
74
- nHeight: number
75
- nAdvance: number;
76
- nXOffset: number;
77
- nYOffset: number;
78
- }
79
-
80
20
  class FontTextureAtlasNode extends TextureAtlasNode {
81
- public metrics: IMetrics;
82
- public emptySize: number;
83
-
84
- constructor(rect: Rectangle, texCoords: number[]) {
21
+ constructor(rect, texCoords) {
85
22
  super(rect, texCoords);
86
23
  this.emptySize = 1;
87
24
  this.metrics = {
@@ -97,7 +34,6 @@ class FontTextureAtlasNode extends TextureAtlasNode {
97
34
  xadvance: 0,
98
35
  xoffset: 0,
99
36
  yoffset: 0,
100
-
101
37
  nChar: "",
102
38
  nCode: 0,
103
39
  nWidth: 0,
@@ -105,22 +41,11 @@ class FontTextureAtlasNode extends TextureAtlasNode {
105
41
  nAdvance: 0,
106
42
  nXOffset: 0,
107
43
  nYOffset: 0
108
- }
44
+ };
109
45
  }
110
46
  }
111
-
112
47
  class FontAtlas {
113
- public atlasesArr: FontTextureAtlas[];
114
- public samplerArr: Uint32Array;
115
- public sdfParamsArr: Float32Array;
116
- public catalogSrc: string;
117
-
118
- protected atlasIndexes: Record<string, number>;
119
- protected atlasIndexesDeferred: Record<string, Deferred<number>>;
120
- protected tokenImageSize: number;
121
- protected _handler: Handler | null;
122
-
123
- constructor(catalogSrc?: string) {
48
+ constructor(catalogSrc) {
124
49
  this.atlasesArr = [];
125
50
  this.atlasIndexes = {};
126
51
  this.atlasIndexesDeferred = {};
@@ -130,84 +55,58 @@ class FontAtlas {
130
55
  this._handler = null;
131
56
  this.catalogSrc = catalogSrc || "./";
132
57
  }
133
-
134
- public assignHandler(handler: Handler) {
58
+ assignHandler(handler) {
135
59
  this._handler = handler;
136
60
  }
137
-
138
- public getFontIndex(face: string): Promise<number> {
61
+ getFontIndex(face) {
139
62
  let fullName = this.getFullIndex(face);
140
-
141
63
  // Try to load font from the directory
142
64
  if (!this.atlasIndexes[fullName]) {
143
65
  this.loadFont(fullName, this.catalogSrc, `${fullName}.json`);
144
66
  }
145
-
146
67
  if (!this.atlasIndexesDeferred[fullName]) {
147
- this.atlasIndexesDeferred[fullName] = new Deferred<number>();
68
+ this.atlasIndexesDeferred[fullName] = new Deferred();
148
69
  }
149
70
  return this.atlasIndexesDeferred[fullName].promise;
150
71
  }
151
-
152
- public getFullIndex(face: string): string {
72
+ getFullIndex(face) {
153
73
  return face.trim().toLowerCase();
154
74
  }
155
-
156
- protected _applyFontDataToAtlas(atlas: FontTextureAtlas, data: IFontParams, index: number = 0) {
75
+ _applyFontDataToAtlas(atlas, data, index = 0) {
157
76
  let chars = data.chars;
158
-
159
77
  atlas.height = data.common.scaleH;
160
78
  atlas.width = data.common.scaleW;
161
79
  atlas.gliphSize = data.info.size;
162
80
  atlas.distanceRange = data.distanceField.distanceRange;
163
-
164
- let w = atlas.width,
165
- h = atlas.height,
166
- s = atlas.gliphSize;
167
-
81
+ let w = atlas.width, h = atlas.height, s = atlas.gliphSize;
168
82
  this.sdfParamsArr[index * 4] = w;
169
83
  this.sdfParamsArr[index * 4 + 1] = h;
170
84
  this.sdfParamsArr[index * 4 + 2] = s;
171
85
  this.sdfParamsArr[index * 4 + 3] = atlas.distanceRange;
172
-
173
- let idToChar: Record<number, string> = {};
174
-
86
+ let idToChar = {};
175
87
  for (let i = 0; i < chars.length; i++) {
176
88
  let ci = chars[i];
177
89
  let ti = ci.char;
178
-
179
90
  idToChar[ci.id] = ti;
180
-
181
91
  let r = new Rectangle(ci.x, ci.y, ci.x + ci.width, ci.y + ci.height);
182
-
183
92
  let tc = new Array(12);
184
-
185
93
  tc[0] = r.left / w;
186
94
  tc[1] = r.top / h;
187
-
188
95
  tc[2] = r.left / w;
189
96
  tc[3] = r.bottom / h;
190
-
191
97
  tc[4] = r.right / w;
192
98
  tc[5] = r.bottom / h;
193
-
194
99
  tc[6] = r.right / w;
195
100
  tc[7] = r.bottom / h;
196
-
197
101
  tc[8] = r.right / w;
198
102
  tc[9] = r.top / h;
199
-
200
103
  tc[10] = r.left / w;
201
104
  tc[11] = r.top / h;
202
-
203
105
  let taNode = new FontTextureAtlasNode(r, tc);
204
106
  let ciNorm = ci.char.normalize('NFKC');
205
107
  let ciCode = ciNorm.charCodeAt(0);
206
-
207
108
  //taNode.metrics = ci;
208
-
209
109
  let m = taNode.metrics;
210
-
211
110
  m.id = ci.id;
212
111
  m.char = ci.char;
213
112
  m.width = ci.width;
@@ -220,7 +119,6 @@ class FontAtlas {
220
119
  m.xadvance = ci.xadvance;
221
120
  m.xoffset = ci.xoffset;
222
121
  m.yoffset = ci.yoffset;
223
-
224
122
  m.nChar = ciNorm;
225
123
  m.nCode = ciCode;
226
124
  m.nWidth = taNode.metrics.width / s;
@@ -228,65 +126,45 @@ class FontAtlas {
228
126
  m.nAdvance = taNode.metrics.xadvance / s;
229
127
  m.nXOffset = taNode.metrics.xoffset / s;
230
128
  m.nYOffset = 1.0 - taNode.metrics.yoffset / s;
231
-
232
129
  taNode.emptySize = 1;
233
-
234
130
  atlas.nodes.set(ciNorm.charCodeAt(0), taNode);
235
131
  }
236
-
237
132
  atlas.kernings = {};
238
-
239
133
  for (let i = 0; i < data.kernings.length; i++) {
240
134
  let ki = data.kernings[i];
241
-
242
- let first = ki.first,
243
- second = ki.second;
244
-
135
+ let first = ki.first, second = ki.second;
245
136
  //let charFirst = idToChar[first],
246
137
  // charSecond = idToChar[second];
247
-
248
138
  // if (!atlas.kernings[charFirst]) {
249
139
  // atlas.kernings[charFirst] = {};
250
140
  // }
251
141
  //
252
142
  // atlas.kernings[charFirst][charSecond] = ki.amount / s;
253
-
254
143
  if (!atlas.kernings[first]) {
255
144
  atlas.kernings[first] = {};
256
145
  }
257
-
258
146
  atlas.kernings[first][second] = ki.amount / s;
259
147
  }
260
148
  }
261
-
262
- public initFont(faceName: string, dataJson: IFontParams, imageBase64: string) {
149
+ initFont(faceName, dataJson, imageBase64) {
263
150
  let index = this.atlasesArr.length;
264
151
  let fullName = this.getFullIndex(faceName);
265
-
266
152
  this.atlasIndexes[fullName] = index;
267
-
268
153
  let def = this.atlasIndexesDeferred[fullName];
269
154
  if (!def) {
270
- def = this.atlasIndexesDeferred[fullName] = new Deferred<number>();
155
+ def = this.atlasIndexesDeferred[fullName] = new Deferred();
271
156
  }
272
-
273
157
  this.samplerArr[this.atlasesArr.length] = index;
274
-
275
158
  // TODO: FontTextureAtlas();
276
159
  let atlas = new FontTextureAtlas();
277
-
278
160
  atlas.height = 0;
279
161
  atlas.width = 0;
280
162
  atlas.gliphSize = 0;
281
163
  atlas.distanceRange = 0;
282
164
  atlas.kernings = {};
283
-
284
- atlas.assignHandler(this._handler!);
285
-
165
+ atlas.assignHandler(this._handler);
286
166
  this.atlasesArr[index] = atlas;
287
-
288
167
  this._applyFontDataToAtlas(atlas, dataJson, index);
289
-
290
168
  let img = new Image();
291
169
  img.onload = () => {
292
170
  this._createTexture(atlas, img);
@@ -294,63 +172,49 @@ class FontAtlas {
294
172
  };
295
173
  img.src = imageBase64;
296
174
  }
297
-
298
- protected _createTexture(atlas: FontTextureAtlas, img: HTMLImageElementExt) {
175
+ _createTexture(atlas, img) {
299
176
  atlas.createTexture(img);
300
177
  }
301
-
302
- public loadFont(faceName: string, srcDir: string, atlasUrl: string) {
303
-
178
+ loadFont(faceName, srcDir, atlasUrl) {
304
179
  let index = this.atlasesArr.length;
305
180
  let fullName = this.getFullIndex(faceName);
306
-
307
181
  this.atlasIndexes[fullName] = index;
308
-
309
182
  let def = this.atlasIndexesDeferred[fullName];
310
183
  if (!def) {
311
- def = this.atlasIndexesDeferred[fullName] = new Deferred<number>();
184
+ def = this.atlasIndexesDeferred[fullName] = new Deferred();
312
185
  }
313
-
314
186
  this.samplerArr[this.atlasesArr.length] = index;
315
-
316
187
  // TODO: FontTextureAtlas();
317
188
  let atlas = new FontTextureAtlas();
318
-
319
189
  atlas.height = 0;
320
190
  atlas.width = 0;
321
191
  atlas.gliphSize = 0;
322
192
  atlas.distanceRange = 0;
323
193
  atlas.kernings = {};
324
-
325
- atlas.assignHandler(this._handler!);
194
+ atlas.assignHandler(this._handler);
326
195
  this.atlasesArr[index] = atlas;
327
-
328
196
  fetch(`${srcDir}/${atlasUrl}`)
329
- .then((response: Response) => {
330
- if (!response.ok) {
331
- throw Error(`Unable to load "${srcDir}/${atlasUrl}"`);
332
- }
333
- //return response.json(response);
334
- return response.json();
335
- })
336
- .then((data: IFontParams) => {
337
-
338
- this._applyFontDataToAtlas(atlas, data, index);
339
-
340
- let img = new Image();
341
- img.onload = () => {
342
- this._createTexture(atlas, img);
343
- def.resolve(index);
344
- };
345
-
346
- img.src = `${srcDir}/${data.pages[0]}`;
347
- img.crossOrigin = "Anonymous";
348
- })
197
+ .then((response) => {
198
+ if (!response.ok) {
199
+ throw Error(`Unable to load "${srcDir}/${atlasUrl}"`);
200
+ }
201
+ //return response.json(response);
202
+ return response.json();
203
+ })
204
+ .then((data) => {
205
+ this._applyFontDataToAtlas(atlas, data, index);
206
+ let img = new Image();
207
+ img.onload = () => {
208
+ this._createTexture(atlas, img);
209
+ def.resolve(index);
210
+ };
211
+ img.src = `${srcDir}/${data.pages[0]}`;
212
+ img.crossOrigin = "Anonymous";
213
+ })
349
214
  .catch(err => {
350
- def.reject();
351
- return {'status': "error", 'msg': err.toString()};
352
- });
215
+ def.reject();
216
+ return { 'status': "error", 'msg': err.toString() };
217
+ });
353
218
  }
354
219
  }
355
-
356
- export {FontAtlas};
220
+ export { FontAtlas };
@@ -0,0 +1,34 @@
1
+ import { BaseGeoImage } from "../layer/BaseGeoImage";
2
+ import { Framebuffer } from '../webgl/Framebuffer';
3
+ import { LonLat } from '../LonLat';
4
+ import { Planet } from "../scene/Planet";
5
+ import { WebGLBufferExt, WebGLTextureExt } from "../webgl/Handler";
6
+ export declare class GeoImageCreator {
7
+ MAX_FRAMES: number;
8
+ protected _gridSize: number;
9
+ protected _planet: Planet;
10
+ _framebuffer: Framebuffer | null;
11
+ protected _framebufferMercProj: Framebuffer | null;
12
+ _texCoordsBuffer: WebGLBufferExt | null;
13
+ _indexBuffer: WebGLBufferExt | null;
14
+ protected _currentFrame: number;
15
+ protected _queue: BaseGeoImage[];
16
+ protected _animate: BaseGeoImage[];
17
+ protected _quadTexCoordsBuffer: WebGLBufferExt | null;
18
+ protected _quadVertexBuffer: WebGLTextureExt | null;
19
+ constructor(planet: Planet, maxFrames?: number);
20
+ init(): void;
21
+ /**
22
+ * Creates geoImage corners coordinates grid buffer.
23
+ * @public
24
+ * @param{Array.<LonLat>} c - GeoImage corners coordinates.
25
+ * @param{boolean} [toMerc=false] - Transform to web mercator.
26
+ * @return{WebGLBuffer} Grid coordinates buffer.
27
+ */
28
+ createGridBuffer(c: LonLat[], toMerc?: boolean): [WebGLBufferExt, WebGLBufferExt];
29
+ frame(): void;
30
+ add(geoImage: BaseGeoImage): void;
31
+ remove(geoImage: BaseGeoImage): void;
32
+ protected _initBuffers(): void;
33
+ protected _initShaders(): void;
34
+ }
@@ -1,29 +1,10 @@
1
1
  import * as utils from '../utils/shared';
2
- import {BaseGeoImage} from "../layer/BaseGeoImage";
3
- import {Framebuffer} from '../webgl/Framebuffer';
4
- import {LonLat} from '../LonLat';
5
- import {Program} from '../webgl/Program';
6
- import {Planet} from "../scene/Planet";
7
- import {doubleToTwoFloats2} from "../math/coder";
8
- import {WebGLBufferExt, WebGLTextureExt} from "../webgl/Handler";
9
-
2
+ import { Framebuffer } from '../webgl/Framebuffer';
3
+ import { LonLat } from '../LonLat';
4
+ import { Program } from '../webgl/Program';
5
+ import { doubleToTwoFloats2 } from "../math/coder";
10
6
  export class GeoImageCreator {
11
-
12
- public MAX_FRAMES: number;
13
-
14
- protected _gridSize: number;
15
- protected _planet: Planet;
16
- public _framebuffer: Framebuffer | null;
17
- protected _framebufferMercProj: Framebuffer | null;
18
- public _texCoordsBuffer: WebGLBufferExt | null;
19
- public _indexBuffer: WebGLBufferExt | null;
20
- protected _currentFrame: number;
21
- protected _queue: BaseGeoImage[];
22
- protected _animate: BaseGeoImage[];
23
- protected _quadTexCoordsBuffer: WebGLBufferExt | null;
24
- protected _quadVertexBuffer: WebGLTextureExt | null;
25
-
26
- constructor(planet: Planet, maxFrames: number = 5) {
7
+ constructor(planet, maxFrames = 5) {
27
8
  this.MAX_FRAMES = maxFrames;
28
9
  this._gridSize = 64;
29
10
  this._planet = planet;
@@ -37,12 +18,10 @@ export class GeoImageCreator {
37
18
  this._quadTexCoordsBuffer = null;
38
19
  this._quadVertexBuffer = null;
39
20
  }
40
-
41
- public init() {
21
+ init() {
42
22
  this._initShaders();
43
23
  this._initBuffers();
44
24
  }
45
-
46
25
  /**
47
26
  * Creates geoImage corners coordinates grid buffer.
48
27
  * @public
@@ -50,101 +29,77 @@ export class GeoImageCreator {
50
29
  * @param{boolean} [toMerc=false] - Transform to web mercator.
51
30
  * @return{WebGLBuffer} Grid coordinates buffer.
52
31
  */
53
- public createGridBuffer(c: LonLat[], toMerc: boolean = false): [WebGLBufferExt, WebGLBufferExt] {
32
+ createGridBuffer(c, toMerc = false) {
54
33
  let gs = this._gridSize;
55
-
56
- let v03 = new LonLat((c[3].lon - c[0].lon) / gs, (c[3].lat - c[0].lat) / gs),
57
- v12 = new LonLat((c[2].lon - c[1].lon) / gs, (c[2].lat - c[1].lat) / gs),
58
- v01 = new LonLat((c[1].lon - c[0].lon) / gs, (c[1].lat - c[0].lat) / gs),
59
- v32 = new LonLat((c[2].lon - c[3].lon) / gs, (c[2].lat - c[3].lat) / gs);
60
-
61
- const size = (gs + 1) * (gs + 1) * 2,
62
- halfSize = size / 2;
63
-
64
- let gridHigh = new Float32Array(size),
65
- gridLow = new Float32Array(size);
66
-
34
+ let v03 = new LonLat((c[3].lon - c[0].lon) / gs, (c[3].lat - c[0].lat) / gs), v12 = new LonLat((c[2].lon - c[1].lon) / gs, (c[2].lat - c[1].lat) / gs), v01 = new LonLat((c[1].lon - c[0].lon) / gs, (c[1].lat - c[0].lat) / gs), v32 = new LonLat((c[2].lon - c[3].lon) / gs, (c[2].lat - c[3].lat) / gs);
35
+ const size = (gs + 1) * (gs + 1) * 2, halfSize = size / 2;
36
+ let gridHigh = new Float32Array(size), gridLow = new Float32Array(size);
67
37
  let lonLatArr = new Array(halfSize);
68
-
69
- let kh = 0,
70
- kl = 0,
71
- k = 0;
72
-
38
+ let kh = 0, kl = 0, k = 0;
73
39
  let tempArr = new Float32Array(2);
74
-
75
40
  for (let i = 0; i <= gs; i++) {
76
-
77
- let P03i = new LonLat(c[0].lon + i * v03.lon, c[0].lat + i * v03.lat),
78
- P12i = new LonLat(c[1].lon + i * v12.lon, c[1].lat + i * v12.lat);
79
-
41
+ let P03i = new LonLat(c[0].lon + i * v03.lon, c[0].lat + i * v03.lat), P12i = new LonLat(c[1].lon + i * v12.lon, c[1].lat + i * v12.lat);
80
42
  for (let j = 0; j <= gs; j++) {
81
- let P01j = new LonLat(c[0].lon + j * v01.lon, c[0].lat + j * v01.lat),
82
- P32j = new LonLat(c[3].lon + j * v32.lon, c[3].lat + j * v32.lat);
83
- let xx = utils.getLinesIntersectionLonLat(P03i, P12i, P01j, P32j)!;
43
+ let P01j = new LonLat(c[0].lon + j * v01.lon, c[0].lat + j * v01.lat), P32j = new LonLat(c[3].lon + j * v32.lon, c[3].lat + j * v32.lat);
44
+ let xx = utils.getLinesIntersectionLonLat(P03i, P12i, P01j, P32j);
84
45
  doubleToTwoFloats2(xx.lon, tempArr);
85
46
  gridHigh[kh++] = tempArr[0];
86
47
  gridLow[kl++] = tempArr[1];
87
48
  doubleToTwoFloats2(xx.lat, tempArr);
88
49
  gridHigh[kh++] = tempArr[0];
89
50
  gridLow[kl++] = tempArr[1];
90
-
91
51
  lonLatArr[k++] = xx;
92
52
  }
93
53
  }
94
-
95
54
  if (toMerc) {
96
55
  for (let i = 0; i < halfSize; i++) {
97
56
  let c = lonLatArr[i].forwardMercator();
98
57
  doubleToTwoFloats2(c.lon, tempArr);
99
58
  gridHigh[i * 2] = tempArr[0];
100
59
  gridLow[i * 2] = tempArr[1];
101
-
102
60
  doubleToTwoFloats2(c.lat, tempArr);
103
61
  gridHigh[i * 2 + 1] = tempArr[0];
104
62
  gridLow[i * 2 + 1] = tempArr[1];
105
63
  }
106
64
  }
107
-
108
65
  return [
109
- this._planet.renderer!.handler.createArrayBuffer(gridHigh, 2, halfSize),
110
- this._planet.renderer!.handler.createArrayBuffer(gridLow, 2, halfSize)
66
+ this._planet.renderer.handler.createArrayBuffer(gridHigh, 2, halfSize),
67
+ this._planet.renderer.handler.createArrayBuffer(gridLow, 2, halfSize)
111
68
  ];
112
69
  }
113
-
114
- public frame() {
70
+ frame() {
115
71
  let i = this.MAX_FRAMES;
116
72
  while (i-- && this._queue.length) {
117
- const q = this._queue.shift()!;
73
+ const q = this._queue.shift();
118
74
  q._isRendering = false;
119
75
  q.rendering();
120
76
  q.events.dispatch(q.events.loadend);
121
77
  }
122
-
123
78
  i = this._animate.length;
124
79
  while (i--) {
125
80
  this._animate[i].rendering();
126
81
  }
127
82
  }
128
-
129
- public add(geoImage: BaseGeoImage) {
83
+ add(geoImage) {
130
84
  if (!geoImage._isRendering) {
131
85
  geoImage._isRendering = true;
132
86
  if (geoImage._animate) {
133
87
  this._animate.push(geoImage);
134
- } else {
88
+ }
89
+ else {
135
90
  this._queue.push(geoImage);
136
91
  }
137
92
  }
138
93
  }
139
-
140
- public remove(geoImage: BaseGeoImage) {
94
+ remove(geoImage) {
141
95
  if (geoImage._isRendering) {
142
96
  geoImage._creationProceeding = false;
143
97
  geoImage._isRendering = false;
144
- let arr: BaseGeoImage[];
98
+ let arr;
145
99
  if (geoImage._animate) {
146
100
  arr = this._animate;
147
- } else {
101
+ }
102
+ else {
148
103
  arr = this._queue;
149
104
  }
150
105
  for (let i = 0; i < arr.length; i++) {
@@ -155,30 +110,20 @@ export class GeoImageCreator {
155
110
  }
156
111
  }
157
112
  }
158
-
159
- protected _initBuffers() {
160
-
161
- let h = this._planet.renderer!.handler!;
162
-
163
- this._framebuffer = new Framebuffer(h, {width: 2, height: 2, useDepth: false});
113
+ _initBuffers() {
114
+ let h = this._planet.renderer.handler;
115
+ this._framebuffer = new Framebuffer(h, { width: 2, height: 2, useDepth: false });
164
116
  this._framebuffer.init();
165
-
166
- this._framebufferMercProj = new Framebuffer(h, {width: 2, height: 2, useDepth: false});
117
+ this._framebufferMercProj = new Framebuffer(h, { width: 2, height: 2, useDepth: false });
167
118
  this._framebufferMercProj.init();
168
-
169
119
  let gs = Math.log2(this._gridSize);
170
-
171
120
  this._texCoordsBuffer = this._planet._textureCoordsBufferCache[gs];
172
-
173
121
  this._indexBuffer = this._planet._indexesCache[gs][gs][gs][gs][gs].buffer;
174
-
175
122
  this._quadTexCoordsBuffer = h.createArrayBuffer(new Float32Array([0, 1, 1, 1, 0, 0, 1, 0]), 2, 4);
176
123
  this._quadVertexBuffer = h.createArrayBuffer(new Float32Array([-1, 1, 1, 1, -1, -1, 1, -1]), 2, 4);
177
124
  }
178
-
179
- protected _initShaders() {
180
-
181
- this._planet.renderer!.handler.addProgram(new Program("geoImageTransform", {
125
+ _initShaders() {
126
+ this._planet.renderer.handler.addProgram(new Program("geoImageTransform", {
182
127
  uniforms: {
183
128
  sourceTexture: "sampler2d",
184
129
  extentParamsHigh: "vec4",
@@ -190,8 +135,7 @@ export class GeoImageCreator {
190
135
  cornersLow: "vec2",
191
136
  texCoords: "vec2"
192
137
  },
193
- vertexShader:
194
- `attribute vec2 cornersHigh;
138
+ vertexShader: `attribute vec2 cornersHigh;
195
139
  attribute vec2 cornersLow;
196
140
  attribute vec2 texCoords;
197
141
  uniform vec4 extentParamsHigh;
@@ -203,8 +147,7 @@ export class GeoImageCreator {
203
147
  vec2 lowDiff = cornersLow - extentParamsLow.xy;
204
148
  gl_Position = vec4((-1.0 + (highDiff + lowDiff) * extentParamsHigh.zw) * vec2(1.0, -1.0), 0.0, 1.0);
205
149
  }`,
206
- fragmentShader:
207
- `precision highp float;
150
+ fragmentShader: `precision highp float;
208
151
  uniform sampler2D sourceTexture;
209
152
  uniform bool isFullExtent;
210
153
  varying vec2 v_texCoords;
@@ -217,4 +160,4 @@ export class GeoImageCreator {
217
160
  }`
218
161
  }));
219
162
  }
220
- }
163
+ }
@@ -0,0 +1,22 @@
1
+ import { QueueArray } from '../QueueArray';
2
+ export type HTMLImageElementExt = HTMLImageElement & {
3
+ __nodeIndex?: number;
4
+ atlasWidth?: number;
5
+ atlasHeight?: number;
6
+ };
7
+ export type ImagesCacheManagerCallback = (image: HTMLImageElementExt) => void;
8
+ interface IImagesCacheRequest {
9
+ "src": string;
10
+ "success": ImagesCacheManagerCallback;
11
+ }
12
+ declare class ImagesCacheManager {
13
+ imagesCache: Record<string, HTMLImageElementExt>;
14
+ protected _counter: number;
15
+ protected _pendingsQueue: QueueArray<IImagesCacheRequest>;
16
+ protected _imageIndexCounter: number;
17
+ constructor();
18
+ load(src: string, success: ImagesCacheManagerCallback): void;
19
+ protected _exec(req: IImagesCacheRequest): void;
20
+ protected _dequeueRequest(): void;
21
+ }
22
+ export { ImagesCacheManager };