@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,44 +1,12 @@
1
1
  import * as quadTree from "../quadTree/quadTree";
2
- import {Framebuffer} from "../webgl/Framebuffer";
3
- import {Lock, Key} from "../Lock";
4
- import {Planet} from "../scene/Planet";
5
- import {Program} from "../webgl/Program";
6
- import {QueueArray} from "../QueueArray";
7
- import {Segment} from "../segment/Segment";
8
- import {WebGLBufferExt, WebGLTextureExt, Handler} from "../webgl/Handler";
9
-
10
- interface INormalMapCreatorParams {
11
- minTableSize?: number;
12
- maxTableSize?: number;
13
- width?: number;
14
- height?: number;
15
- }
16
-
2
+ import { Framebuffer } from "../webgl/Framebuffer";
3
+ import { Lock } from "../Lock";
4
+ import { Program } from "../webgl/Program";
5
+ import { QueueArray } from "../QueueArray";
17
6
  export class NormalMapCreator {
18
-
19
- protected _minTabelSize: number;
20
- protected _maxTableSize: number;
21
-
22
- protected _planet: Planet;
23
- protected _handler: Handler | null;
24
- protected _verticesBufferArray: WebGLBufferExt[];
25
- protected _indexBufferArray: WebGLBufferExt[];
26
- protected _positionBuffer: WebGLBufferExt | null;
27
- protected _framebuffer: Framebuffer | null;
28
- protected _normalMapVerticesTexture: WebGLTextureExt | null;
29
-
30
- protected _width: number;
31
- protected _height: number;
32
-
33
- protected _queue: QueueArray<Segment>;
34
-
35
- protected _lock: Lock;
36
-
37
- constructor(planet: Planet, options: INormalMapCreatorParams = {}) {
38
-
7
+ constructor(planet, options = {}) {
39
8
  this._minTabelSize = options.minTableSize || 1;
40
9
  this._maxTableSize = options.maxTableSize || 8;
41
-
42
10
  this._planet = planet;
43
11
  this._handler = null;
44
12
  this._verticesBufferArray = [];
@@ -46,31 +14,21 @@ export class NormalMapCreator {
46
14
  this._positionBuffer = null;
47
15
  this._framebuffer = null;
48
16
  this._normalMapVerticesTexture = null;
49
-
50
17
  this._width = options.width || 128;
51
18
  this._height = options.height || 128;
52
-
53
19
  this._queue = new QueueArray(1024);
54
-
55
20
  this._lock = new Lock();
56
21
  }
57
-
58
- public get width(): number {
22
+ get width() {
59
23
  return this._width;
60
24
  }
61
-
62
- public get height(): number {
25
+ get height() {
63
26
  return this._height;
64
27
  }
65
-
66
- public init() {
67
-
28
+ init() {
68
29
  this._maxTableSize = this._planet.maxGridSize || 8;
69
-
70
- this._handler = this._planet.renderer!.handler;
71
-
30
+ this._handler = this._planet.renderer.handler;
72
31
  let isWebkit = false; //('WebkitAppearance' in document.documentElement.style) && !/^((?!chrome).)*safari/i.test(navigator.userAgent);
73
-
74
32
  /*==================================================================================
75
33
  * http://www.sunsetlakesoftware.com/2013/10/21/optimizing-gaussian-blurs-mobile-gpu
76
34
  *=================================================================================*/
@@ -81,8 +39,7 @@ export class NormalMapCreator {
81
39
  uniforms: {
82
40
  s_texture: "sampler2d"
83
41
  },
84
- vertexShader:
85
- `attribute vec2 a_position;
42
+ vertexShader: `attribute vec2 a_position;
86
43
  attribute vec2 a_texCoord;
87
44
 
88
45
  varying vec2 blurCoordinates[5];
@@ -116,7 +73,6 @@ export class NormalMapCreator {
116
73
  gl_FragColor = sum;
117
74
  }`
118
75
  });
119
-
120
76
  const normalMap = new Program("normalMap", {
121
77
  attributes: {
122
78
  a_position: "vec2",
@@ -140,29 +96,21 @@ export class NormalMapCreator {
140
96
  gl_FragColor = vec4(v_color, 1.0);
141
97
  }`
142
98
  });
143
-
144
99
  this._handler.addProgram(normalMapBlur);
145
100
  this._handler.addProgram(normalMap);
146
-
147
101
  //create hidden handler buffer
148
102
  this._framebuffer = new Framebuffer(this._handler, {
149
103
  width: this._width,
150
104
  height: this._height,
151
105
  useDepth: false
152
106
  });
153
-
154
107
  this._framebuffer.init();
155
-
156
108
  this._normalMapVerticesTexture = this._handler.createEmptyTexture_l(this._width, this._height);
157
-
158
109
  //create vertices hasharray for different grid size segments from 2^4(16) to 2^7(128)
159
110
  for (let p = this._minTabelSize; p <= this._maxTableSize; p++) {
160
-
161
111
  const gs = Math.pow(2, p);
162
112
  const gs2 = gs / 2;
163
-
164
113
  let vertices = new Float32Array((gs + 1) * (gs + 1) * 2);
165
-
166
114
  for (let i = 0; i <= gs; i++) {
167
115
  for (let j = 0; j <= gs; j++) {
168
116
  let ind = (i * (gs + 1) + j) * 2;
@@ -170,182 +118,121 @@ export class NormalMapCreator {
170
118
  vertices[ind + 1] = -1 + i / gs2;
171
119
  }
172
120
  }
173
-
174
- this._verticesBufferArray[gs] = this._handler.createArrayBuffer(
175
- vertices,
176
- 2,
177
- vertices.length / 2
178
- );
179
-
121
+ this._verticesBufferArray[gs] = this._handler.createArrayBuffer(vertices, 2, vertices.length / 2);
180
122
  this._indexBufferArray[gs] =
181
- this._planet._indexesCache[Math.log2(gs)][Math.log2(gs)][Math.log2(gs)][Math.log2(gs)][Math.log2(gs)].buffer!;
123
+ this._planet._indexesCache[Math.log2(gs)][Math.log2(gs)][Math.log2(gs)][Math.log2(gs)][Math.log2(gs)].buffer;
182
124
  }
183
-
184
125
  //create 2d screen square buffer
185
126
  const positions = new Float32Array([-1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0]);
186
-
187
127
  this._positionBuffer = this._handler.createArrayBuffer(positions, 2, positions.length / 2);
188
128
  }
189
-
190
- protected _drawNormalMapBlur(segment: Segment): boolean {
129
+ _drawNormalMapBlur(segment) {
191
130
  let normals = segment.normalMapNormals;
192
- if (
193
- segment.node &&
131
+ if (segment.node &&
194
132
  segment.node.getState() !== quadTree.NOTRENDERING &&
195
133
  normals &&
196
- normals.length
197
- ) {
134
+ normals.length) {
198
135
  const size = normals.length / 3;
199
136
  const gridSize = Math.sqrt(size) - 1;
200
-
201
137
  let indBuf = this._verticesBufferArray[gridSize];
202
-
203
138
  if (indBuf) {
204
- if (segment.planet.terrain!.equalizeNormals) {
139
+ if (segment.planet.terrain.equalizeNormals) {
205
140
  segment._normalMapEdgeEqualize(quadTree.N);
206
141
  segment._normalMapEdgeEqualize(quadTree.S);
207
142
  segment._normalMapEdgeEqualize(quadTree.W);
208
143
  segment._normalMapEdgeEqualize(quadTree.E);
209
144
  }
210
-
211
145
  let outTexture = segment.normalMapTexturePtr;
212
-
213
- const h = this._handler!;
214
- const gl = h.gl!;
215
-
146
+ const h = this._handler;
147
+ const gl = h.gl;
216
148
  let _normalsBuffer = h.createArrayBuffer(normals, 3, size, gl.DYNAMIC_DRAW);
217
-
218
- const f = this._framebuffer!;
149
+ const f = this._framebuffer;
219
150
  let p = h.programs.normalMap;
220
151
  let sha = p._program.attributes;
221
-
222
- f.bindOutputTexture(this._normalMapVerticesTexture!);
223
-
152
+ f.bindOutputTexture(this._normalMapVerticesTexture);
224
153
  p.activate();
225
-
226
154
  gl.bindBuffer(gl.ARRAY_BUFFER, indBuf);
227
155
  gl.vertexAttribPointer(sha.a_position, indBuf.itemSize, gl.FLOAT, false, 0, 0);
228
-
229
156
  gl.bindBuffer(gl.ARRAY_BUFFER, _normalsBuffer);
230
157
  gl.vertexAttribPointer(sha.a_normal, _normalsBuffer.itemSize, gl.FLOAT, false, 0, 0);
231
-
232
158
  gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this._indexBufferArray[gridSize]);
233
- gl.drawElements(
234
- gl.TRIANGLE_STRIP,
235
- this._indexBufferArray[gridSize].numItems,
236
- gl.UNSIGNED_INT,
237
- 0
238
- );
239
-
159
+ gl.drawElements(gl.TRIANGLE_STRIP, this._indexBufferArray[gridSize].numItems, gl.UNSIGNED_INT, 0);
240
160
  gl.deleteBuffer(_normalsBuffer);
241
-
242
161
  //
243
162
  // blur pass
244
163
  //
245
- f.bindOutputTexture(outTexture!);
246
-
164
+ f.bindOutputTexture(outTexture);
247
165
  p = h.programs.normalMapBlur;
248
-
249
166
  p.activate();
250
- gl.bindBuffer(gl.ARRAY_BUFFER, this._positionBuffer!);
251
- gl.vertexAttribPointer(
252
- p._program.attributes.a_position,
253
- this._positionBuffer!.itemSize,
254
- gl.FLOAT,
255
- false,
256
- 0,
257
- 0
258
- );
167
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._positionBuffer);
168
+ gl.vertexAttribPointer(p._program.attributes.a_position, this._positionBuffer.itemSize, gl.FLOAT, false, 0, 0);
259
169
  gl.activeTexture(gl.TEXTURE0);
260
- gl.bindTexture(gl.TEXTURE_2D, this._normalMapVerticesTexture!);
170
+ gl.bindTexture(gl.TEXTURE_2D, this._normalMapVerticesTexture);
261
171
  gl.uniform1i(p._program.uniforms.s_texture, 0);
262
- gl.drawArrays(gl.TRIANGLE_STRIP, 0, this._positionBuffer!.numItems);
172
+ gl.drawArrays(gl.TRIANGLE_STRIP, 0, this._positionBuffer.numItems);
263
173
  return true;
264
- } else {
174
+ }
175
+ else {
265
176
  return true;
266
177
  }
267
178
  }
268
179
  return false;
269
180
  }
270
-
271
- protected _drawNormalMapNoBlur(segment: Segment): boolean {
181
+ _drawNormalMapNoBlur(segment) {
272
182
  let normals = segment.normalMapNormals;
273
- if (
274
- segment.node &&
183
+ if (segment.node &&
275
184
  segment.node.getState() !== quadTree.NOTRENDERING &&
276
185
  normals &&
277
- normals.length
278
- ) {
186
+ normals.length) {
279
187
  const size = normals.length / 3;
280
188
  const gridSize = Math.sqrt(size) - 1;
281
-
282
189
  let indBuf = this._verticesBufferArray[gridSize];
283
-
284
190
  if (indBuf) {
285
- if (segment.planet.terrain!.equalizeNormals) {
191
+ if (segment.planet.terrain.equalizeNormals) {
286
192
  segment._normalMapEdgeEqualize(quadTree.N);
287
193
  segment._normalMapEdgeEqualize(quadTree.S);
288
194
  segment._normalMapEdgeEqualize(quadTree.W);
289
195
  segment._normalMapEdgeEqualize(quadTree.E);
290
196
  }
291
-
292
197
  let outTexture = segment.normalMapTexturePtr;
293
-
294
- const h = this._handler!;
295
- const gl = h.gl!;
296
-
198
+ const h = this._handler;
199
+ const gl = h.gl;
297
200
  let _normalsBuffer = h.createArrayBuffer(normals, 3, size, gl.DYNAMIC_DRAW);
298
-
299
- const f = this._framebuffer!;
201
+ const f = this._framebuffer;
300
202
  const p = h.programs.normalMap;
301
203
  const sha = p._program.attributes;
302
-
303
- f.bindOutputTexture(outTexture!);
304
-
204
+ f.bindOutputTexture(outTexture);
305
205
  p.activate();
306
-
307
206
  gl.bindBuffer(gl.ARRAY_BUFFER, indBuf);
308
207
  gl.vertexAttribPointer(sha.a_position, indBuf.itemSize, gl.FLOAT, false, 0, 0);
309
-
310
208
  gl.bindBuffer(gl.ARRAY_BUFFER, _normalsBuffer);
311
209
  gl.vertexAttribPointer(sha.a_normal, _normalsBuffer.itemSize, gl.FLOAT, false, 0, 0);
312
-
313
210
  gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this._indexBufferArray[gridSize]);
314
- gl.drawElements(
315
- gl.TRIANGLE_STRIP,
316
- this._indexBufferArray[gridSize].numItems,
317
- gl.UNSIGNED_INT,
318
- 0
319
- );
320
-
211
+ gl.drawElements(gl.TRIANGLE_STRIP, this._indexBufferArray[gridSize].numItems, gl.UNSIGNED_INT, 0);
321
212
  gl.deleteBuffer(_normalsBuffer);
322
-
323
213
  return true;
324
- } else {
214
+ }
215
+ else {
325
216
  return true;
326
217
  }
327
218
  }
328
219
  return false;
329
220
  }
330
-
331
- protected _drawNormalMap(segment: Segment) {
332
- if (segment.planet.terrain!.isBlur(segment)) {
221
+ _drawNormalMap(segment) {
222
+ if (segment.planet.terrain.isBlur(segment)) {
333
223
  return this._drawNormalMapBlur(segment);
334
- } else {
224
+ }
225
+ else {
335
226
  return this._drawNormalMapNoBlur(segment);
336
227
  }
337
228
  }
338
-
339
- public drawSingle(segment: Segment) {
340
- const h = this._handler!;
341
- const gl = h.gl!;
342
-
343
- this._framebuffer!.activate();
344
-
229
+ drawSingle(segment) {
230
+ const h = this._handler;
231
+ const gl = h.gl;
232
+ this._framebuffer.activate();
345
233
  gl.disable(gl.CULL_FACE);
346
234
  gl.disable(gl.DEPTH_TEST);
347
235
  gl.disable(gl.BLEND);
348
-
349
236
  if (segment.terrainReady && this._drawNormalMap(segment)) {
350
237
  segment.normalMapReady = true;
351
238
  segment.normalMapTexture = segment.normalMapTexturePtr;
@@ -354,30 +241,22 @@ export class NormalMapCreator {
354
241
  segment.normalMapTextureBias[2] = 1;
355
242
  }
356
243
  segment._inTheQueue = false;
357
-
358
244
  gl.enable(gl.DEPTH_TEST);
359
245
  gl.enable(gl.CULL_FACE);
360
246
  gl.enable(gl.BLEND);
361
-
362
- this._framebuffer!.deactivate();
247
+ this._framebuffer.deactivate();
363
248
  }
364
-
365
- public frame() {
249
+ frame() {
366
250
  if (this._queue.length) {
367
- const h = this._handler!;
368
- const gl = h.gl!;
369
-
370
- this._framebuffer!.activate();
371
-
251
+ const h = this._handler;
252
+ const gl = h.gl;
253
+ this._framebuffer.activate();
372
254
  gl.disable(gl.CULL_FACE);
373
255
  gl.disable(gl.DEPTH_TEST);
374
256
  gl.disable(gl.BLEND);
375
-
376
- let deltaTime = 0,
377
- startTime = window.performance.now();
378
-
257
+ let deltaTime = 0, startTime = window.performance.now();
379
258
  while (this._lock.isFree() && this._queue.length && deltaTime < 0.25) {
380
- const segment = this._queue.shift()!;
259
+ const segment = this._queue.shift();
381
260
  if (segment.terrainReady && this._drawNormalMap(segment)) {
382
261
  segment.normalMapReady = true;
383
262
  segment.normalMapTexture = segment.normalMapTexturePtr;
@@ -388,54 +267,44 @@ export class NormalMapCreator {
388
267
  segment._inTheQueue = false;
389
268
  deltaTime = window.performance.now() - startTime;
390
269
  }
391
-
392
270
  gl.enable(gl.BLEND);
393
271
  gl.enable(gl.DEPTH_TEST);
394
272
  gl.enable(gl.CULL_FACE);
395
-
396
- this._framebuffer!.deactivate();
273
+ this._framebuffer.deactivate();
397
274
  }
398
275
  }
399
-
400
- public get queueSize(): number {
276
+ get queueSize() {
401
277
  return this._queue.length;
402
278
  }
403
-
404
- public queue(segment: Segment) {
279
+ queue(segment) {
405
280
  segment._inTheQueue = true;
406
281
  this._queue.push(segment);
407
282
  }
408
-
409
- public unshift(segment: Segment) {
283
+ unshift(segment) {
410
284
  segment._inTheQueue = true;
411
285
  this._queue.unshift(segment);
412
286
  }
413
-
414
- public remove(segment: Segment) {
287
+ remove(segment) {
415
288
  //...
416
289
  }
417
-
418
- public clear() {
290
+ clear() {
419
291
  while (this._queue.length) {
420
- let s = this._queue.pop()!;
292
+ let s = this._queue.pop();
421
293
  s._inTheQueue = false;
422
294
  }
423
295
  }
424
-
425
296
  /**
426
297
  * Set activity off
427
298
  * @public
428
299
  */
429
- public lock(key: Key) {
300
+ lock(key) {
430
301
  this._lock.lock(key);
431
302
  }
432
-
433
303
  /**
434
304
  * Set activity on
435
305
  * @public
436
306
  */
437
- public free(key: Key) {
307
+ free(key) {
438
308
  this._lock.free(key);
439
309
  }
440
-
441
- }
310
+ }
@@ -0,0 +1,24 @@
1
+ import { BaseWorker } from "./BaseWorker";
2
+ import { Segment } from "../segment/Segment";
3
+ import { Geoid } from "../terrain/Geoid";
4
+ export interface IPlainSegmentWorkerData {
5
+ plainVertices: Float64Array | null;
6
+ plainVerticesHigh: Float32Array | null;
7
+ plainVerticesLow: Float32Array | null;
8
+ plainNormals: Float32Array | null;
9
+ plainRadius: number;
10
+ normalMapNormals: Float32Array | null;
11
+ normalMapVertices: Float64Array | null;
12
+ normalMapVerticesHigh: Float32Array | null;
13
+ normalMapVerticesLow: Float32Array | null;
14
+ }
15
+ type MessageEventExt = MessageEvent & {
16
+ data: IPlainSegmentWorkerData;
17
+ };
18
+ declare class PlainSegmentWorker extends BaseWorker<Segment> {
19
+ constructor(numWorkers?: number);
20
+ protected _onMessage(e: MessageEventExt): void;
21
+ setGeoid(geoid: Geoid): void;
22
+ make(segment: Segment): void;
23
+ }
24
+ export { PlainSegmentWorker };
@@ -1,34 +1,12 @@
1
1
  // import { QueueArray } from '../QueueArray.js';
2
- import {EPSG4326} from "../proj/EPSG4326";
3
- import {BaseWorker} from "./BaseWorker";
4
- import {Segment} from "../segment/Segment";
5
- import {Geoid} from "../terrain/Geoid";
6
-
7
- export interface IPlainSegmentWorkerData {
8
- plainVertices: Float64Array | null;
9
- plainVerticesHigh: Float32Array | null;
10
- plainVerticesLow: Float32Array | null;
11
- plainNormals: Float32Array | null;
12
- plainRadius: number;
13
-
14
- normalMapNormals: Float32Array | null;
15
- normalMapVertices: Float64Array | null;
16
- normalMapVerticesHigh: Float32Array | null;
17
- normalMapVerticesLow: Float32Array | null;
18
- }
19
-
20
- type MessageEventExt = MessageEvent & {
21
- data: IPlainSegmentWorkerData
22
- }
23
-
24
- class PlainSegmentWorker extends BaseWorker<Segment> {
25
- constructor(numWorkers: number = 2) {
2
+ import { EPSG4326 } from "../proj/EPSG4326";
3
+ import { BaseWorker } from "./BaseWorker";
4
+ class PlainSegmentWorker extends BaseWorker {
5
+ constructor(numWorkers = 2) {
26
6
  super(numWorkers, PLAIN_SEGMENT_PROGRAM);
27
7
  }
28
-
29
- protected override _onMessage(e: MessageEventExt) {
30
- this._source.get(e.data.id)!._plainSegmentWorkerCallback(e.data);
31
-
8
+ _onMessage(e) {
9
+ this._source.get(e.data.id)._plainSegmentWorkerCallback(e.data);
32
10
  e.data.plainVertices = null;
33
11
  e.data.plainVerticesHigh = null;
34
12
  e.data.plainVerticesLow = null;
@@ -37,12 +15,9 @@ class PlainSegmentWorker extends BaseWorker<Segment> {
37
15
  e.data.normalMapVertices = null;
38
16
  e.data.normalMapVerticesHigh = null;
39
17
  e.data.normalMapVerticesLow = null;
40
-
41
- this._source.delete(e.data.id)
18
+ this._source.delete(e.data.id);
42
19
  }
43
-
44
- public setGeoid(geoid: Geoid) {
45
-
20
+ setGeoid(geoid) {
46
21
  if (geoid.model) {
47
22
  let m = geoid.model;
48
23
  let model = {
@@ -54,20 +29,18 @@ class PlainSegmentWorker extends BaseWorker<Segment> {
54
29
  rlatres: m.rlatres,
55
30
  i: m.i
56
31
  };
57
-
58
32
  this._workerQueue.forEach((w) => {
59
33
  let rawfile = new Uint8Array(m.rawfile.length);
60
34
  rawfile.set(m.rawfile);
61
-
62
35
  w.postMessage({
63
- model: model,
64
- rawfile: rawfile
65
- }, [
66
- rawfile.buffer
67
- ]
68
- );
36
+ model: model,
37
+ rawfile: rawfile
38
+ }, [
39
+ rawfile.buffer
40
+ ]);
69
41
  });
70
- } else {
42
+ }
43
+ else {
71
44
  this._workerQueue.forEach((w) => {
72
45
  w.postMessage({
73
46
  model: null
@@ -75,19 +48,16 @@ class PlainSegmentWorker extends BaseWorker<Segment> {
75
48
  });
76
49
  }
77
50
  }
78
-
79
- public override make(segment: Segment) {
51
+ make(segment) {
80
52
  if (segment.initialized) {
81
53
  if (this._workerQueue.length) {
82
- let w = this._workerQueue.pop()!;
83
-
54
+ let w = this._workerQueue.pop();
84
55
  this._source.set(this._sourceId, segment);
85
-
86
56
  let params = new Float64Array([
87
57
  this._sourceId,
88
58
  segment._projection.id === EPSG4326.id ? 1.0 : 0.0,
89
- segment.planet.terrain!.gridSizeByZoom[segment.tileZoom],
90
- segment.planet.terrain!.plainGridSize,
59
+ segment.planet.terrain.gridSizeByZoom[segment.tileZoom],
60
+ segment.planet.terrain.plainGridSize,
91
61
  segment._extent.southWest.lon,
92
62
  segment._extent.southWest.lat,
93
63
  segment._extent.northEast.lon,
@@ -100,23 +70,22 @@ class PlainSegmentWorker extends BaseWorker<Segment> {
100
70
  segment.planet.ellipsoid._invRadii2.z,
101
71
  segment.planet._heightFactor
102
72
  ]);
103
-
104
73
  this._sourceId++;
105
-
106
74
  w.postMessage({
107
75
  params: params
108
76
  }, [
109
77
  params.buffer
110
78
  ]);
111
- } else {
79
+ }
80
+ else {
112
81
  this._pendingQueue.push(segment);
113
82
  }
114
- } else {
83
+ }
84
+ else {
115
85
  this.check();
116
86
  }
117
87
  }
118
88
  }
119
-
120
89
  const PLAIN_SEGMENT_PROGRAM = `
121
90
  'use strict';
122
91
 
@@ -411,5 +380,4 @@ const PLAIN_SEGMENT_PROGRAM = `
411
380
  ]);
412
381
  }
413
382
  }`;
414
-
415
- export {PlainSegmentWorker};
383
+ export { PlainSegmentWorker };
@@ -0,0 +1,28 @@
1
+ import { BaseWorker } from "./BaseWorker";
2
+ import { Segment } from "../segment/Segment";
3
+ import { NumberArray6 } from "../bv/Sphere";
4
+ interface TerrainInfo {
5
+ segment: Segment;
6
+ elevations: Float32Array;
7
+ }
8
+ export interface ITerrainWorkerData {
9
+ id: number;
10
+ normalMapNormals: Float32Array | null;
11
+ normalMapVertices: Float64Array | null;
12
+ normalMapVerticesHigh: Float32Array | null;
13
+ normalMapVerticesLow: Float32Array | null;
14
+ terrainVertices: Float64Array | null;
15
+ terrainVerticesHigh: Float32Array | null;
16
+ terrainVerticesLow: Float32Array | null;
17
+ noDataVertices: Uint8Array | null;
18
+ bounds: NumberArray6;
19
+ }
20
+ type MessageEventExt = MessageEvent & {
21
+ data: ITerrainWorkerData;
22
+ };
23
+ declare class TerrainWorker extends BaseWorker<TerrainInfo> {
24
+ constructor(numWorkers?: number);
25
+ protected _onMessage(e: MessageEventExt): void;
26
+ make(info: TerrainInfo): void;
27
+ }
28
+ export { TerrainWorker };