@openglobus/og 0.17.2 → 0.18.0

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 (490) hide show
  1. package/README.md +75 -46
  2. package/dist/@openglobus/og.esm.js +1 -20
  3. package/dist/@openglobus/og.esm.js.map +1 -1
  4. package/dist/@openglobus/og.umd.js +1 -20
  5. package/dist/@openglobus/og.umd.js.map +1 -1
  6. package/dist/@openglobus/res/fonts/Karla-Bold.json +5252 -0
  7. package/dist/@openglobus/res/fonts/Karla-Bold.ttf.cfg +920 -0
  8. package/dist/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
  9. package/dist/@openglobus/res/fonts/Karla-Light.json +5252 -0
  10. package/dist/@openglobus/res/fonts/Karla-Light.ttf.cfg +830 -0
  11. package/dist/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
  12. package/dist/@openglobus/res/fonts/Karla-Medium.json +5252 -0
  13. package/dist/@openglobus/res/fonts/Karla-Medium.ttf.cfg +1196 -0
  14. package/dist/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
  15. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.json +3332 -0
  16. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +1370 -0
  17. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
  18. package/dist/@openglobus/res/fonts/Roboto-Regular.json +37147 -0
  19. package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +1340 -0
  20. package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
  21. package/dist/@openglobus/res/fonts/arial.json +4321 -0
  22. package/dist/@openglobus/res/fonts/arial.ttf.cfg +1570 -0
  23. package/dist/@openglobus/res/fonts/arial.ttf.png +0 -0
  24. package/dist/@openglobus/res/night-4326.png +0 -0
  25. package/dist/@openglobus/res/night.png +0 -0
  26. package/dist/@openglobus/res/spec.png +0 -0
  27. package/package.json +25 -23
  28. package/src/{og/Clock.js → Clock.ts} +100 -78
  29. package/src/Deferred.ts +17 -0
  30. package/src/Events.ts +200 -0
  31. package/src/{og/Extent.js → Extent.ts} +324 -352
  32. package/src/Globe.ts +363 -0
  33. package/src/{og/ImageCanvas.js → ImageCanvas.ts} +244 -236
  34. package/src/Lock.ts +41 -0
  35. package/src/{og/LonLat.js → LonLat.ts} +50 -47
  36. package/src/{og/Object3d.js → Object3d.ts} +89 -55
  37. package/src/Popup.ts +228 -0
  38. package/src/{og/QueueArray.js → QueueArray.ts} +76 -75
  39. package/src/{og/Rectangle.js → Rectangle.ts} +115 -111
  40. package/src/Stack.ts +58 -0
  41. package/src/{og/astro/astro.js → astro/astro.ts} +49 -51
  42. package/src/{og/astro/earth.js → astro/earth.ts} +8 -9
  43. package/src/{og/astro/jd.js → astro/jd.ts} +92 -111
  44. package/src/{og/astro/orbit.js → astro/orbit.ts} +35 -37
  45. package/src/{og/astro/rotation.js → astro/rotation.ts} +4 -6
  46. package/src/{og/bv/Box.js → bv/Box.ts} +21 -17
  47. package/src/{og/bv/Sphere.js → bv/Sphere.ts} +21 -19
  48. package/src/bv/index.ts +4 -0
  49. package/src/{og/camera/Camera.js → camera/Camera.ts} +254 -197
  50. package/src/{og/camera/Frustum.js → camera/Frustum.ts} +137 -111
  51. package/src/{og/camera/PlanetCamera.js → camera/PlanetCamera.ts} +246 -182
  52. package/src/camera/index.ts +4 -0
  53. package/src/{og/cons.js → cons.ts} +14 -18
  54. package/src/{og/control/Atmosphere.js → control/Atmosphere.ts} +50 -50
  55. package/src/{og/control/CompassButton.js → control/CompassButton.ts} +27 -30
  56. package/src/{og/control/Control.js → control/Control.ts} +76 -70
  57. package/src/{og/control/DebugInfo.js → control/DebugInfo.ts} +130 -62
  58. package/src/{og/control/DrawingSwitcher.js → control/DrawingSwitcher.ts} +16 -22
  59. package/src/control/EarthCoordinates.ts +222 -0
  60. package/src/control/EarthNavigation.ts +293 -0
  61. package/src/{og/control/GeoImageDragControl.js → control/GeoImageDragControl.ts} +37 -29
  62. package/src/control/KeyboardNavigation.ts +168 -0
  63. package/src/{og/control/LayerAnimation.js → control/LayerAnimation.ts} +74 -90
  64. package/src/control/LayerSwitcher.ts +76 -0
  65. package/src/{og/control/Lighting.js → control/Lighting.ts} +158 -120
  66. package/src/control/MouseNavigation.ts +468 -0
  67. package/src/control/MouseWheelZoomControl.ts +269 -0
  68. package/src/{og/control/RulerSwitcher.js → control/RulerSwitcher.ts} +18 -20
  69. package/src/control/ScaleControl.ts +131 -0
  70. package/src/control/SegmentBoundVisualization.ts +50 -0
  71. package/src/control/ShowFps.ts +28 -0
  72. package/src/control/SimpleNavigation.ts +118 -0
  73. package/src/{og/control/SimpleSkyBackground.js → control/SimpleSkyBackground.ts} +36 -38
  74. package/src/{og/control/Sun.js → control/Sun.ts} +56 -64
  75. package/src/control/ToggleWireframe.ts +35 -0
  76. package/src/control/TouchNavigation.ts +368 -0
  77. package/src/control/ZoomControl.ts +111 -0
  78. package/src/control/drawing/DrawingControl.ts +45 -0
  79. package/src/{og/control/drawing/LineStringDrawingScene.js → control/drawing/LineStringDrawingScene.ts} +28 -35
  80. package/src/{og/control/drawing/PolygonDrawingScene.js → control/drawing/PolygonDrawingScene.ts} +148 -201
  81. package/src/{og/control/elevationProfile/ElevationProfile.js → control/elevationProfile/ElevationProfile.ts} +70 -36
  82. package/src/control/heightRuler/HeightRuler.ts +16 -0
  83. package/src/{og/control/heightRuler/HeightRulerScene.js → control/heightRuler/HeightRulerScene.ts} +92 -87
  84. package/src/{og/control/heightRuler/HeightRulerSwitcher.js → control/heightRuler/HeightRulerSwitcher.ts} +3 -3
  85. package/src/control/index.ts +45 -0
  86. package/src/control/ruler/Ruler.ts +35 -0
  87. package/src/{og/control/ruler/RulerScene.js → control/ruler/RulerScene.ts} +163 -121
  88. package/src/{og/control/selection/Selection.js → control/selection/Selection.ts} +23 -21
  89. package/src/{og/control/selection/SelectionScene.js → control/selection/SelectionScene.ts} +64 -50
  90. package/src/{og/control/timeline/TimelineControl.js → control/timeline/TimelineControl.ts} +37 -28
  91. package/src/{og/control/timeline/TimelineModel.js → control/timeline/TimelineModel.ts} +50 -35
  92. package/src/{og/control/timeline/TimelineView.js → control/timeline/TimelineView.ts} +162 -113
  93. package/src/{og/control/timeline/timelineUtils.js → control/timeline/timelineUtils.ts} +11 -10
  94. package/src/{og/control → control}/visibleExtent/Segment.js +5 -5
  95. package/src/{og/control → control}/visibleExtent/VisibleExtent.js +8 -15
  96. package/src/{og/control/visibleExtent/drawnode.js → control/visibleExtent/drawnode.ts} +1 -3
  97. package/src/{og/ellipsoid/Ellipsoid.js → ellipsoid/Ellipsoid.ts} +113 -59
  98. package/src/ellipsoid/index.ts +4 -0
  99. package/src/{og/ellipsoid/wgs84.js → ellipsoid/wgs84.ts} +1 -3
  100. package/src/{og/entity/BaseBillboard.js → entity/BaseBillboard.ts} +128 -102
  101. package/src/entity/BaseBillboardHandler.ts +772 -0
  102. package/src/{og/entity/Billboard.js → entity/Billboard.ts} +77 -47
  103. package/src/entity/BillboardHandler.ts +135 -0
  104. package/src/{og/entity/Entity.js → entity/Entity.ts} +285 -226
  105. package/src/{og/entity/EntityCollection.js → entity/EntityCollection.ts} +340 -247
  106. package/src/{og/entity/GeoObject.js → entity/GeoObject.ts} +122 -67
  107. package/src/{og/entity/GeoObjectHandler.js → entity/GeoObjectHandler.ts} +273 -198
  108. package/src/entity/Geometry.ts +486 -0
  109. package/src/{og/entity/GeometryHandler.js → entity/GeometryHandler.ts} +383 -541
  110. package/src/{og/entity/Label.js → entity/Label.ts} +131 -83
  111. package/src/{og/entity/LabelHandler.js → entity/LabelHandler.ts} +289 -255
  112. package/src/{og/entity/LabelWorker.js → entity/LabelWorker.ts} +26 -36
  113. package/src/{og/entity/PointCloud.js → entity/PointCloud.ts} +200 -164
  114. package/src/entity/PointCloudHandler.ts +125 -0
  115. package/src/{og/entity/Polyline.js → entity/Polyline.ts} +517 -539
  116. package/src/{og/entity/PolylineHandler.js → entity/PolylineHandler.ts} +29 -31
  117. package/src/{og/entity/Ray.js → entity/Ray.ts} +89 -60
  118. package/src/{og/entity/RayHandler.js → entity/RayHandler.ts} +201 -306
  119. package/src/{og/entity/Strip.js → entity/Strip.ts} +143 -100
  120. package/src/{og/entity/StripHandler.js → entity/StripHandler.ts} +76 -72
  121. package/src/entity/index.ts +12 -0
  122. package/src/index.ts +173 -0
  123. package/src/input/KeyboardHandler.ts +196 -0
  124. package/src/{og/input/MouseHandler.js → input/MouseHandler.ts} +46 -35
  125. package/src/input/TouchHandler.ts +54 -0
  126. package/src/{og/input/input.js → input/input.ts} +1 -3
  127. package/src/{og/layer/BaseGeoImage.js → layer/BaseGeoImage.ts} +174 -107
  128. package/src/{og/layer/CanvasTiles.js → layer/CanvasTiles.ts} +139 -105
  129. package/src/{og/layer/GeoImage.js → layer/GeoImage.ts} +62 -52
  130. package/src/layer/GeoTexture2d.ts +56 -0
  131. package/src/{og/layer/GeoVideo.js → layer/GeoVideo.ts} +53 -53
  132. package/src/{og/layer/KML.js → layer/KML.ts} +63 -74
  133. package/src/{og/layer/Layer.js → layer/Layer.ts} +399 -223
  134. package/src/{og/layer/Material.js → layer/Material.ts} +40 -35
  135. package/src/{og/layer/Vector.js → layer/Vector.ts} +319 -267
  136. package/src/{og/layer/WMS.js → layer/WMS.ts} +76 -64
  137. package/src/{og/layer/XYZ.js → layer/XYZ.ts} +123 -98
  138. package/src/layer/index.ts +12 -0
  139. package/src/{og/light/LightSource.js → light/LightSource.ts} +132 -93
  140. package/src/{og/math/Line2.js → math/Line2.ts} +11 -8
  141. package/src/{og/math/Line3.js → math/Line3.ts} +49 -27
  142. package/src/{og/math/Mat3.js → math/Mat3.ts} +43 -27
  143. package/src/{og/math/Mat4.js → math/Mat4.ts} +110 -77
  144. package/src/{og/math/Plane.js → math/Plane.ts} +28 -23
  145. package/src/{og/math/Quat.js → math/Quat.ts} +238 -222
  146. package/src/{og/math/Ray.js → math/Ray.ts} +59 -63
  147. package/src/{og/math/Vec2.js → math/Vec2.ts} +85 -76
  148. package/src/{og/math/Vec3.js → math/Vec3.ts} +141 -140
  149. package/src/{og/math/Vec4.js → math/Vec4.ts} +64 -53
  150. package/src/{og/math/coder.js → math/coder.ts} +30 -27
  151. package/src/math/index.ts +26 -0
  152. package/src/{og/math.js → math.ts} +46 -49
  153. package/src/{og/mercator.js → mercator.ts} +143 -149
  154. package/src/{og/proj/EPSG3857.js → proj/EPSG3857.ts} +1 -3
  155. package/src/{og/proj/EPSG4326.js → proj/EPSG4326.ts} +11 -13
  156. package/src/{og/proj/Proj.js → proj/Proj.ts} +27 -23
  157. package/src/{og/quadTree/EPSG4326QuadTreeStrategy.js → quadTree/EPSG4326QuadTreeStrategy.ts} +10 -13
  158. package/src/{og/quadTree/EarthQuadTreeStrategy.js → quadTree/EarthQuadTreeStrategy.ts} +11 -13
  159. package/src/quadTree/EntityCollectionNode.ts +395 -0
  160. package/src/{og/quadTree/MarsQuadTreeStrategy.js → quadTree/MarsQuadTreeStrategy.ts} +10 -13
  161. package/src/{og/quadTree/Node.js → quadTree/Node.ts} +283 -191
  162. package/src/{og/quadTree/QuadTreeStrategy.js → quadTree/QuadTreeStrategy.ts} +35 -29
  163. package/src/quadTree/Wgs84QuadTreeStrategy.ts +22 -0
  164. package/src/quadTree/index.ts +14 -0
  165. package/src/{og/quadTree/quadTree.js → quadTree/quadTree.ts} +75 -77
  166. package/src/{og/renderer/Renderer.js → renderer/Renderer.ts} +454 -298
  167. package/src/{og/renderer/RendererEvents.js → renderer/RendererEvents.ts} +347 -256
  168. package/src/{og/scene/Axes.js → scene/Axes.ts} +26 -22
  169. package/src/{og/scene/BaseNode.js → scene/BaseNode.ts} +53 -47
  170. package/src/{og/scene/Planet.js → scene/Planet.ts} +776 -592
  171. package/src/{og/scene/RenderNode.js → scene/RenderNode.ts} +105 -91
  172. package/src/{og/scene/SkyBox.js → scene/SkyBox.ts} +29 -25
  173. package/src/scene/index.ts +6 -0
  174. package/src/{og/segment/Segment.js → segment/Segment.ts} +497 -371
  175. package/src/{og/segment/SegmentLonLat.js → segment/SegmentLonLat.ts} +81 -87
  176. package/src/{og/segment/SegmentLonLatWgs84.js → segment/SegmentLonLatWgs84.ts} +9 -16
  177. package/src/{og/segment/Slice.js → segment/Slice.ts} +15 -9
  178. package/src/{og/segment/segmentHelper.js → segment/segmentHelper.ts} +57 -49
  179. package/src/{og/shaders/atmos.js → shaders/atmos.ts} +4 -6
  180. package/src/{og/shaders/billboard.js → shaders/billboard.ts} +3 -5
  181. package/src/{og/shaders/bloom.js → shaders/bloom.ts} +2 -4
  182. package/src/{og/shaders/blur.js → shaders/blur.ts} +4 -7
  183. package/src/{og/shaders/depth.js → shaders/depth.ts} +1 -3
  184. package/src/{og/shaders/drawnode.js → shaders/drawnode.ts} +19 -21
  185. package/src/{og/shaders/geoObject.js → shaders/geoObject.ts} +17 -19
  186. package/src/{og/shaders/label.js → shaders/label.ts} +4 -6
  187. package/src/{og/shaders/lumFilter.js → shaders/lumFilter.ts} +2 -4
  188. package/src/{og/shaders/pickingMask.js → shaders/pickingMask.ts} +2 -4
  189. package/src/{og/shaders/pointCloud.js → shaders/pointCloud.ts} +7 -10
  190. package/src/{og/shaders/polyline.js → shaders/polyline.ts} +3 -200
  191. package/src/{og/shaders/ray.js → shaders/ray.ts} +2 -4
  192. package/src/{og/shaders/screenFrame.js → shaders/screenFrame.ts} +2 -4
  193. package/src/{og/shaders/skybox.js → shaders/skybox.ts} +7 -9
  194. package/src/{og/shaders/toneMapping.js → shaders/toneMapping.ts} +2 -4
  195. package/src/{og/shaders/utils.js → shaders/utils.ts} +0 -2
  196. package/src/{og/terrain/BilTerrain.js → terrain/BilTerrain.ts} +38 -32
  197. package/src/terrain/EmptyTerrain.ts +230 -0
  198. package/src/{og/terrain/Geoid.js → terrain/Geoid.ts} +67 -41
  199. package/src/{og/terrain/GlobusTerrain.js → terrain/GlobusTerrain.ts} +159 -153
  200. package/src/{og/terrain/MapboxTerrain.js → terrain/MapboxTerrain.ts} +58 -61
  201. package/src/terrain/index.ts +6 -0
  202. package/src/ui/Button.ts +121 -0
  203. package/src/ui/ButtonGroup.ts +63 -0
  204. package/src/ui/Dialog.ts +244 -0
  205. package/src/ui/Slider.ts +188 -0
  206. package/src/ui/ToggleButton.ts +68 -0
  207. package/src/{og/ui/View.js → ui/View.ts} +66 -59
  208. package/src/utils/BaseWorker.ts +60 -0
  209. package/src/utils/FontAtlas.ts +356 -0
  210. package/src/{og/utils/GeoImageCreator.js → utils/GeoImageCreator.ts} +45 -29
  211. package/src/{og/utils/ImagesCacheManager.js → utils/ImagesCacheManager.ts} +85 -70
  212. package/src/utils/Loader.ts +247 -0
  213. package/src/{og/utils/NormalMapCreator.js → utils/NormalMapCreator.ts} +114 -77
  214. package/src/{og/utils/PlainSegmentWorker.js → utils/PlainSegmentWorker.ts} +41 -24
  215. package/src/{og/utils/TerrainWorker.js → utils/TerrainWorker.ts} +51 -36
  216. package/src/utils/TextureAtlas.ts +322 -0
  217. package/src/{og/utils/VectorTileCreator.js → utils/VectorTileCreator.ts} +67 -52
  218. package/src/{og/utils/colorTable.js → utils/colorTable.ts} +142 -144
  219. package/src/{og/utils/earcut.js → utils/earcut.ts} +664 -661
  220. package/src/{og/utils/objParser.js → utils/objParser.ts} +66 -37
  221. package/src/{og/utils/shared.js → utils/shared.ts} +267 -206
  222. package/src/utils/units.ts +78 -0
  223. package/src/webgl/BaseFramebuffer.ts +125 -0
  224. package/src/webgl/Framebuffer.ts +206 -0
  225. package/src/webgl/Handler.ts +1414 -0
  226. package/src/webgl/Multisample.ts +153 -0
  227. package/src/webgl/Program.ts +451 -0
  228. package/src/{og/webgl/ProgramController.js → webgl/ProgramController.ts} +44 -43
  229. package/src/webgl/index.ts +13 -0
  230. package/src/{og/webgl/types.js → webgl/types.ts} +29 -31
  231. package/src/webgl/variableHandlers.ts +114 -0
  232. package/src/og/Deferred.js +0 -11
  233. package/src/og/Events.js +0 -185
  234. package/src/og/Globe.js +0 -342
  235. package/src/og/Lock.js +0 -44
  236. package/src/og/Popup.js +0 -187
  237. package/src/og/Stack.js +0 -49
  238. package/src/og/bv/index.js +0 -4
  239. package/src/og/camera/index.js +0 -4
  240. package/src/og/control/EarthCoordinates.js +0 -214
  241. package/src/og/control/EarthNavigation.js +0 -258
  242. package/src/og/control/KeyboardNavigation.js +0 -172
  243. package/src/og/control/LayerSwitcher.js +0 -424
  244. package/src/og/control/MouseNavigation.js +0 -436
  245. package/src/og/control/MouseWheelZoomControl.js +0 -253
  246. package/src/og/control/ScaleControl.js +0 -119
  247. package/src/og/control/SegmentBoundVisualization.js +0 -54
  248. package/src/og/control/ShowFps.js +0 -40
  249. package/src/og/control/SimpleNavigation.js +0 -123
  250. package/src/og/control/ToggleWireframe.js +0 -35
  251. package/src/og/control/TouchNavigation.js +0 -350
  252. package/src/og/control/ZoomControl.js +0 -115
  253. package/src/og/control/drawing/DrawingControl.js +0 -51
  254. package/src/og/control/heightRuler/HeightRuler.js +0 -12
  255. package/src/og/control/index.js +0 -56
  256. package/src/og/control/ruler/Ruler.js +0 -39
  257. package/src/og/ellipsoid/index.js +0 -4
  258. package/src/og/entity/BillboardHandler.js +0 -883
  259. package/src/og/entity/Geometry.js +0 -320
  260. package/src/og/entity/PointCloudHandler.js +0 -122
  261. package/src/og/entity/index.js +0 -9
  262. package/src/og/index.js +0 -112
  263. package/src/og/input/KeyboardHandler.js +0 -195
  264. package/src/og/input/TouchHandler.js +0 -59
  265. package/src/og/layer/GeoTexture2d.js +0 -50
  266. package/src/og/layer/index.js +0 -11
  267. package/src/og/math/index.js +0 -23
  268. package/src/og/quadTree/EntityCollectionNode.js +0 -391
  269. package/src/og/quadTree/Wgs84QuadTreeStrategy.js +0 -27
  270. package/src/og/quadTree/index.js +0 -14
  271. package/src/og/res/images.js +0 -8
  272. package/src/og/scene/index.js +0 -5
  273. package/src/og/terrain/EmptyTerrain.js +0 -174
  274. package/src/og/terrain/index.js +0 -6
  275. package/src/og/ui/Button.js +0 -107
  276. package/src/og/ui/ButtonGroup.js +0 -57
  277. package/src/og/ui/Dialog.js +0 -239
  278. package/src/og/ui/Slider.js +0 -170
  279. package/src/og/ui/ToggleButton.js +0 -51
  280. package/src/og/ui/UIhelpers.js +0 -155
  281. package/src/og/utils/BaseWorker.js +0 -46
  282. package/src/og/utils/FontAtlas.js +0 -218
  283. package/src/og/utils/Loader.js +0 -188
  284. package/src/og/utils/TextureAtlas.js +0 -291
  285. package/src/og/utils/functionComposition.js +0 -13
  286. package/src/og/utils/units.js +0 -78
  287. package/src/og/webgl/Framebuffer.js +0 -311
  288. package/src/og/webgl/Handler.js +0 -1170
  289. package/src/og/webgl/Multisample.js +0 -275
  290. package/src/og/webgl/Program.js +0 -407
  291. package/src/og/webgl/callbacks.js +0 -98
  292. package/src/og/webgl/index.js +0 -13
  293. package/src/og.jsdoc +0 -3
  294. package/types/Clock.d.ts +0 -99
  295. package/types/Deferred.d.ts +0 -6
  296. package/types/Events.d.ts +0 -78
  297. package/types/Extent.d.ts +0 -166
  298. package/types/Globe.d.ts +0 -108
  299. package/types/ImageCanvas.d.ts +0 -128
  300. package/types/Lock.d.ts +0 -12
  301. package/types/LonLat.d.ts +0 -127
  302. package/types/Object3d.d.ts +0 -35
  303. package/types/Popup.d.ts +0 -29
  304. package/types/QueueArray.d.ts +0 -19
  305. package/types/Rectangle.d.ts +0 -80
  306. package/types/Stack.d.ts +0 -19
  307. package/types/arial.d.ts +0 -49
  308. package/types/astro/astro.d.ts +0 -38
  309. package/types/astro/earth.d.ts +0 -7
  310. package/types/astro/jd.d.ts +0 -254
  311. package/types/bv/Box.d.ts +0 -30
  312. package/types/bv/Sphere.d.ts +0 -38
  313. package/types/bv/index.d.ts +0 -3
  314. package/types/camera/Camera.d.ts +0 -314
  315. package/types/camera/Frustum.d.ts +0 -133
  316. package/types/camera/PlanetCamera.d.ts +0 -219
  317. package/types/camera/index.d.ts +0 -3
  318. package/types/cons.d.ts +0 -40
  319. package/types/control/Atmosphere.d.ts +0 -15
  320. package/types/control/CompassButton.d.ts +0 -16
  321. package/types/control/Control.d.ts +0 -104
  322. package/types/control/DebugInfo.d.ts +0 -19
  323. package/types/control/DrawingSwitcher.d.ts +0 -13
  324. package/types/control/EarthCoordinates.d.ts +0 -44
  325. package/types/control/EarthNavigation.d.ts +0 -43
  326. package/types/control/GeoImageDragControl.d.ts +0 -14
  327. package/types/control/KeyboardNavigation.d.ts +0 -24
  328. package/types/control/LayerAnimation.d.ts +0 -73
  329. package/types/control/LayerSwitcher.d.ts +0 -64
  330. package/types/control/Lighting.d.ts +0 -41
  331. package/types/control/MouseNavigation.d.ts +0 -49
  332. package/types/control/MouseWheelZoomControl.d.ts +0 -46
  333. package/types/control/ScaleControl.d.ts +0 -23
  334. package/types/control/ShowFps.d.ts +0 -11
  335. package/types/control/SimpleNavigation.d.ts +0 -26
  336. package/types/control/SimpleSkyBackground.d.ts +0 -15
  337. package/types/control/Sun.d.ts +0 -53
  338. package/types/control/ToggleWireframe.d.ts +0 -12
  339. package/types/control/TouchNavigation.d.ts +0 -54
  340. package/types/control/ZoomControl.d.ts +0 -26
  341. package/types/control/drawing/DrawingControl.d.ts +0 -14
  342. package/types/control/drawing/LineStringDrawingScene.d.ts +0 -5
  343. package/types/control/drawing/PolygonDrawingScene.d.ts +0 -99
  344. package/types/control/heightRuler/HeightRuler.d.ts +0 -6
  345. package/types/control/heightRuler/HeightRulerScene.d.ts +0 -23
  346. package/types/control/index.d.ts +0 -27
  347. package/types/control/ruler/Ruler.d.ts +0 -13
  348. package/types/control/ruler/RulerScene.d.ts +0 -51
  349. package/types/control/selection/Selection.d.ts +0 -49
  350. package/types/control/selection/SelectionScene.d.ts +0 -32
  351. package/types/control/timeline/TimelineControl.d.ts +0 -10
  352. package/types/control/timeline/TimelineModel.d.ts +0 -33
  353. package/types/control/timeline/TimelineView.d.ts +0 -57
  354. package/types/control/timeline/timelineUtils.d.ts +0 -9
  355. package/types/ellipsoid/Ellipsoid.d.ts +0 -170
  356. package/types/ellipsoid/index.d.ts +0 -3
  357. package/types/ellipsoid/wgs84.d.ts +0 -6
  358. package/types/entity/BaseBillboard.d.ts +0 -215
  359. package/types/entity/Billboard.d.ts +0 -94
  360. package/types/entity/BillboardHandler.d.ts +0 -75
  361. package/types/entity/Entity.d.ts +0 -340
  362. package/types/entity/EntityCollection.d.ts +0 -303
  363. package/types/entity/GeoObject.d.ts +0 -117
  364. package/types/entity/GeoObjectHandler.d.ts +0 -41
  365. package/types/entity/Geometry.d.ts +0 -79
  366. package/types/entity/GeometryHandler.d.ts +0 -76
  367. package/types/entity/Label.d.ts +0 -190
  368. package/types/entity/LabelHandler.d.ts +0 -31
  369. package/types/entity/LabelWorker.d.ts +0 -9
  370. package/types/entity/PointCloud.d.ts +0 -174
  371. package/types/entity/PointCloudHandler.d.ts +0 -38
  372. package/types/entity/Polyline.d.ts +0 -307
  373. package/types/entity/PolylineHandler.d.ts +0 -18
  374. package/types/entity/Ray.d.ts +0 -122
  375. package/types/entity/RayHandler.d.ts +0 -63
  376. package/types/entity/Strip.d.ts +0 -119
  377. package/types/entity/StripHandler.d.ts +0 -38
  378. package/types/entity/index.d.ts +0 -8
  379. package/types/index.d.ts +0 -53
  380. package/types/input/KeyboardHandler.d.ts +0 -17
  381. package/types/input/MouseHandler.d.ts +0 -5
  382. package/types/input/TouchHandler.d.ts +0 -5
  383. package/types/input/input.d.ts +0 -42
  384. package/types/layer/BaseGeoImage.d.ts +0 -116
  385. package/types/layer/CanvasTiles.d.ts +0 -73
  386. package/types/layer/GeoImage.d.ts +0 -51
  387. package/types/layer/GeoTexture2d.d.ts +0 -7
  388. package/types/layer/GeoVideo.d.ts +0 -47
  389. package/types/layer/KML.d.ts +0 -93
  390. package/types/layer/Layer.d.ts +0 -320
  391. package/types/layer/Material.d.ts +0 -45
  392. package/types/layer/Vector.d.ts +0 -211
  393. package/types/layer/WMS.d.ts +0 -66
  394. package/types/layer/XYZ.d.ts +0 -122
  395. package/types/layer/index.d.ts +0 -10
  396. package/types/light/LightSource.d.ts +0 -178
  397. package/types/math/Line2.d.ts +0 -11
  398. package/types/math/Line3.d.ts +0 -10
  399. package/types/math/Mat3.d.ts +0 -65
  400. package/types/math/Mat4.d.ts +0 -176
  401. package/types/math/Plane.d.ts +0 -18
  402. package/types/math/Quat.d.ts +0 -379
  403. package/types/math/Ray.d.ts +0 -82
  404. package/types/math/Vec2.d.ts +0 -309
  405. package/types/math/Vec3.d.ts +0 -472
  406. package/types/math/Vec4.d.ts +0 -161
  407. package/types/math/coder.d.ts +0 -43
  408. package/types/math/index.d.ts +0 -11
  409. package/types/math.d.ts +0 -268
  410. package/types/mercator.d.ts +0 -92
  411. package/types/proj/EPSG3857.d.ts +0 -6
  412. package/types/proj/EPSG4326.d.ts +0 -6
  413. package/types/proj/Proj.d.ts +0 -42
  414. package/types/quadTree/EPSG4326QuadTreeStrategy.d.ts +0 -3
  415. package/types/quadTree/EarthQuadTreeStrategy.d.ts +0 -3
  416. package/types/quadTree/EntityCollectionNode.d.ts +0 -41
  417. package/types/quadTree/MarsQuadTreeStrategy.d.ts +0 -3
  418. package/types/quadTree/Node.d.ts +0 -58
  419. package/types/quadTree/QuadTreeStrategy.d.ts +0 -21
  420. package/types/quadTree/Wgs84QuadTreeStrategy.d.ts +0 -3
  421. package/types/quadTree/index.d.ts +0 -12
  422. package/types/quadTree/quadTree.d.ts +0 -40
  423. package/types/renderer/Renderer.d.ts +0 -291
  424. package/types/renderer/RendererEvents.d.ts +0 -241
  425. package/types/res/images.d.ts +0 -2
  426. package/types/scene/Axes.d.ts +0 -10
  427. package/types/scene/BaseNode.d.ts +0 -60
  428. package/types/scene/Planet.d.ts +0 -594
  429. package/types/scene/RenderNode.d.ts +0 -152
  430. package/types/scene/SkyBox.d.ts +0 -9
  431. package/types/scene/index.d.ts +0 -4
  432. package/types/segment/Segment.d.ts +0 -273
  433. package/types/segment/SegmentLonLat.d.ts +0 -22
  434. package/types/segment/SegmentLonLatWgs84.d.ts +0 -4
  435. package/types/segment/Slice.d.ts +0 -10
  436. package/types/segment/segmentHelper.d.ts +0 -13
  437. package/types/shaders/atmos.d.ts +0 -4
  438. package/types/shaders/billboard.d.ts +0 -3
  439. package/types/shaders/depth.d.ts +0 -2
  440. package/types/shaders/drawnode.d.ts +0 -8
  441. package/types/shaders/geoObject.d.ts +0 -3
  442. package/types/shaders/label.d.ts +0 -4
  443. package/types/shaders/pickingMask.d.ts +0 -2
  444. package/types/shaders/pointCloud.d.ts +0 -2
  445. package/types/shaders/polyline.d.ts +0 -3
  446. package/types/shaders/ray.d.ts +0 -2
  447. package/types/shaders/screenFrame.d.ts +0 -2
  448. package/types/shaders/skybox.d.ts +0 -2
  449. package/types/shaders/toneMapping.d.ts +0 -2
  450. package/types/shaders/utils.d.ts +0 -1
  451. package/types/terrain/BilTerrain.d.ts +0 -14
  452. package/types/terrain/EmptyTerrain.d.ts +0 -87
  453. package/types/terrain/Geoid.d.ts +0 -17
  454. package/types/terrain/GlobusTerrain.d.ts +0 -122
  455. package/types/terrain/MapboxTerrain.d.ts +0 -14
  456. package/types/terrain/index.d.ts +0 -5
  457. package/types/ui/Button.d.ts +0 -21
  458. package/types/ui/ButtonGroup.d.ts +0 -12
  459. package/types/ui/Dialog.d.ts +0 -41
  460. package/types/ui/Slider.d.ts +0 -33
  461. package/types/ui/ToggleButton.d.ts +0 -10
  462. package/types/ui/UIhelpers.d.ts +0 -13
  463. package/types/ui/View.d.ts +0 -33
  464. package/types/ui/icons.d.ts +0 -1
  465. package/types/utils/BaseWorker.d.ts +0 -14
  466. package/types/utils/FontAtlas.d.ts +0 -16
  467. package/types/utils/GeoImageCreator.d.ts +0 -30
  468. package/types/utils/ImagesCacheManager.d.ts +0 -10
  469. package/types/utils/Loader.d.ts +0 -31
  470. package/types/utils/NormalMapCreator.d.ts +0 -39
  471. package/types/utils/PlainSegmentWorker.d.ts +0 -8
  472. package/types/utils/TerrainWorker.d.ts +0 -7
  473. package/types/utils/TextureAtlas.d.ts +0 -113
  474. package/types/utils/VectorTileCreator.d.ts +0 -14
  475. package/types/utils/colorTable.d.ts +0 -143
  476. package/types/utils/earcut.d.ts +0 -6
  477. package/types/utils/functionComposition.d.ts +0 -5
  478. package/types/utils/objParser.d.ts +0 -8
  479. package/types/utils/shared.d.ts +0 -241
  480. package/types/utils/units.d.ts +0 -20
  481. package/types/webgl/Framebuffer.d.ts +0 -134
  482. package/types/webgl/Handler.d.ts +0 -403
  483. package/types/webgl/Multisample.d.ts +0 -91
  484. package/types/webgl/Program.d.ts +0 -163
  485. package/types/webgl/ProgramController.d.ts +0 -89
  486. package/types/webgl/callbacks.d.ts +0 -1
  487. package/types/webgl/index.d.ts +0 -6
  488. package/types/webgl/types.d.ts +0 -2
  489. /package/{src/og → dist/@openglobus/res/fonts}/arial.js +0 -0
  490. /package/src/{og/ui/icons.js → ui/icons.ts} +0 -0
@@ -1,13 +1,16 @@
1
- "use strict";
2
-
3
- import { Extent } from "../Extent.js";
4
- import { Layer } from "../layer/Layer.js";
5
- import { LonLat } from "../LonLat.js";
6
- import { Vec3 } from "../math/Vec3.js";
7
- import * as mercator from "../mercator.js";
8
- import { EPSG4326 } from "../proj/EPSG4326.js";
9
- import * as quadTree from "../quadTree/quadTree.js";
10
- import { Segment, TILEGROUP_NORTH, TILEGROUP_SOUTH } from "./Segment.js";
1
+ import * as mercator from "../mercator";
2
+ import * as quadTree from "../quadTree/quadTree";
3
+ import {EPSG4326} from "../proj/EPSG4326";
4
+ import {Extent} from "../Extent";
5
+ import {Layer} from "../layer/Layer";
6
+ import {Node} from "../quadTree/Node";
7
+ import {Planet} from "../scene/Planet";
8
+ import {Segment, TILEGROUP_NORTH, TILEGROUP_SOUTH} from "./Segment";
9
+ import {LonLat} from "../LonLat";
10
+ import {Vec3} from "../math/Vec3";
11
+ import {Entity} from "../entity/Entity";
12
+ import {PlanetCamera} from "../camera/PlanetCamera";
13
+ import {WebGLTextureExt} from "../webgl/Handler";
11
14
 
12
15
  const MAX_POLE_ZOOM = 7;
13
16
  export const POLE_PIECE_SIZE = (90.0 - mercator.MAX_LAT) / Math.pow(2, MAX_POLE_ZOOM);
@@ -19,50 +22,38 @@ let _tempHigh = new Vec3(),
19
22
  * Planet segment Web Mercator tile class that stored and rendered with quad tree.
20
23
  * @class
21
24
  * @extends {Segment}
22
- * @param {quadNode.Node} node - Quad tree segment node.
23
- * @param {Planet} planet - Scene planet.
24
- * @param {Number} tileZoom - Segment tile zoom index.
25
- * @param {Extent} extent - Segment WGS84 extent.
26
25
  */
27
26
  class SegmentLonLat extends Segment {
28
- /**
29
- * @param {quadTree.Node} node - Segment node.
30
- * @param {Planet} planet - Current planet scene.
31
- * @param {number} tileZoom - Zoom index.
32
- * @param {Extent} extent - Segment extent.
33
- */
34
- constructor(node, planet, tileZoom, extent) {
27
+ constructor(node: Node, planet: Planet, tileZoom: number, extent: Extent) {
35
28
  super(node, planet, tileZoom, extent);
36
29
 
37
30
  this._projection = EPSG4326;
38
31
 
32
+ this._extentLonLat = this._extent;
33
+
39
34
  this._extentMerc = new Extent(
40
35
  extent.southWest.forwardMercatorEPS01(),
41
36
  extent.northEast.forwardMercatorEPS01()
42
37
  );
43
38
 
44
- if (this._extent.northEast.lat > 0) {
45
- this._isNorth = true;
46
- } else {
47
- this._isNorth = false;
48
- }
39
+ this._isNorth = this._extent.northEast.lat > 0;
49
40
 
50
41
  this.isPole = true;
51
42
  }
52
43
 
53
- _setExtentLonLat() {
44
+ public override _setExtentLonLat() {
54
45
  this._extentLonLat = this._extent;
55
46
  }
56
47
 
57
- projectNative(coords) {
48
+ public override projectNative(coords: LonLat): LonLat {
58
49
  return coords;
59
50
  }
60
51
 
61
- getInsideLonLat(obj) {
52
+ public override getInsideLonLat(obj: Entity | PlanetCamera): LonLat {
62
53
  return obj._lonLat;
63
54
  }
64
55
 
65
- _getMaxZoom() {
56
+ protected _getMaxZoom() {
66
57
  let maxPoleZoom = 0;
67
58
  if (this._isNorth) {
68
59
  //north pole limits
@@ -76,17 +67,17 @@ class SegmentLonLat extends Segment {
76
67
  return maxPoleZoom;
77
68
  }
78
69
 
79
- checkZoom() {
70
+ public override checkZoom() {
80
71
  return super.checkZoom() && this.tileZoom <= this._getMaxZoom();
81
72
  }
82
73
 
83
- _assignTileIndexes() {
74
+ protected override _assignTileIndexes() {
84
75
  this._assignTileXIndexes(this._extent);
85
76
  this._assignTileYIndexes(this._extent);
86
77
  this.tileIndex = Layer.getTileIndex(this.tileX, this.tileY, this.tileZoom);
87
78
  }
88
79
 
89
- _assignTileXIndexes(extent) {
80
+ protected _assignTileXIndexes(extent: Extent) {
90
81
  this.tileX = Math.round(
91
82
  Math.abs(-180.0 - extent.southWest.lon) / (extent.northEast.lon - extent.southWest.lon)
92
83
  );
@@ -96,8 +87,8 @@ class SegmentLonLat extends Segment {
96
87
  this.tileXW = (p2 + this.tileX - 1) % p2;
97
88
  }
98
89
 
99
- _assignTileYIndexes(extent) {
100
- var lat = extent.northEast.lat;
90
+ protected _assignTileYIndexes(extent: Extent) {
91
+ const lat = extent.northEast.lat;
101
92
  if (lat > 0) {
102
93
  this._tileGroup = TILEGROUP_NORTH;
103
94
  this.tileY = Math.round((90.0 - lat) / (extent.northEast.lat - extent.southWest.lat));
@@ -112,25 +103,27 @@ class SegmentLonLat extends Segment {
112
103
  }
113
104
 
114
105
 
115
- _createPlainVertices() {
116
- var gridSize = this.planet.terrain.gridSizeByZoom[this.tileZoom];
117
-
118
- var e = this._extent,
119
- fgs = this.planet.terrain.plainGridSize;
120
- var lonSize = e.getWidth();
121
- var latSize = e.getHeight();
122
- var llStep = lonSize / Math.max(fgs, gridSize);
123
- var ltStep = latSize / gridSize;
124
- var esw_lon = e.southWest.lon,
125
- ene_lat = e.northEast.lat;
126
- var dg = Math.max(fgs / gridSize, 1),
127
- gs = Math.max(fgs, gridSize) + 1;
128
- var r2 = this.planet.ellipsoid._invRadii2;
129
- var ind = 0,
106
+ protected override _createPlainVertices() {
107
+ const gridSize = this.planet.terrain!.gridSizeByZoom[this.tileZoom];
108
+
109
+ const e = this._extent;
110
+ const fgs = this.planet.terrain!.plainGridSize;
111
+ const lonSize = e.getWidth();
112
+ const latSize = e.getHeight();
113
+ const llStep = lonSize / Math.max(fgs, gridSize);
114
+ const ltStep = latSize / gridSize;
115
+ const esw_lon = e.southWest.lon;
116
+ const ene_lat = e.northEast.lat;
117
+ const dg = Math.max(fgs / gridSize, 1);
118
+ const gs = Math.max(fgs, gridSize) + 1;
119
+ const r2 = this.planet.ellipsoid._invRadii2;
120
+
121
+ let ind = 0,
130
122
  nmInd = 0;
123
+
131
124
  const gsgs = gs * gs;
132
125
 
133
- var gridSize3 = (gridSize + 1) * (gridSize + 1) * 3;
126
+ const gridSize3 = (gridSize + 1) * (gridSize + 1) * 3;
134
127
 
135
128
  this.plainNormals = new Float32Array(gridSize3);
136
129
  this.plainVertices = new Float64Array(gridSize3);
@@ -149,7 +142,7 @@ class SegmentLonLat extends Segment {
149
142
  zmin = 549755748352.0,
150
143
  zmax = -549755748352.0;
151
144
 
152
- var verts = this.plainVertices,
145
+ let verts = this.plainVertices,
153
146
  vertsHigh = this.plainVerticesHigh,
154
147
  vertsLow = this.plainVerticesLow,
155
148
  norms = this.plainNormals,
@@ -159,17 +152,17 @@ class SegmentLonLat extends Segment {
159
152
  nmNorms = this.normalMapNormals;
160
153
 
161
154
  for (let k = 0; k < gsgs; k++) {
162
- var j = k % gs,
155
+ let j = k % gs,
163
156
  i = ~~(k / gs);
164
157
 
165
- var v = this.planet.ellipsoid.lonLatToCartesian(
158
+ const v = this.planet.ellipsoid.lonLatToCartesian(
166
159
  new LonLat(esw_lon + j * llStep, ene_lat - i * ltStep)
167
160
  );
168
- var nx = v.x * r2.x,
161
+ let nx = v.x * r2.x,
169
162
  ny = v.y * r2.y,
170
163
  nz = v.z * r2.z;
171
- var l = 1.0 / Math.sqrt(nx * nx + ny * ny + nz * nz);
172
- var nxl = nx * l,
164
+ let l = 1.0 / Math.sqrt(nx * nx + ny * ny + nz * nz);
165
+ let nxl = nx * l,
173
166
  nyl = ny * l,
174
167
  nzl = nz * l;
175
168
 
@@ -219,10 +212,6 @@ class SegmentLonLat extends Segment {
219
212
  this.terrainVerticesHigh = vertsHigh;
220
213
  this.terrainVerticesLow = vertsLow;
221
214
 
222
- //store raw normals
223
- this.normalMapNormalsRaw = new Float32Array(nmNorms.length);
224
- this.normalMapNormalsRaw.set(nmNorms);
225
-
226
215
  let x = (xmax - xmin) * 0.5,
227
216
  y = (ymax - ymin) * 0.5,
228
217
  z = (zmax - zmin) * 0.5;
@@ -232,15 +221,18 @@ class SegmentLonLat extends Segment {
232
221
  this.plainReady = true;
233
222
  }
234
223
 
235
- _assignGlobalTextureCoordinates() {
236
- var e = this._extent;
224
+ protected override _assignGlobalTextureCoordinates() {
225
+ const e = this._extent;
237
226
  this._globalTextureCoordinates[0] = (e.southWest.lon + 180.0) / 360.0;
238
227
  this._globalTextureCoordinates[1] = (90 - e.northEast.lat) / 180.0;
239
228
  this._globalTextureCoordinates[2] = (e.northEast.lon + 180.0) / 360.0;
240
229
  this._globalTextureCoordinates[3] = (90 - e.southWest.lat) / 180.0;
241
230
  }
242
231
 
243
- _collectVisibleNodes() {
232
+ /**
233
+ * @todo: replace to the strategy
234
+ */
235
+ public override _collectVisibleNodes() {
244
236
  if (this._isNorth) {
245
237
  this.planet._visibleNodesNorth[this.node.nodeId] = this.node;
246
238
  } else {
@@ -248,36 +240,42 @@ class SegmentLonLat extends Segment {
248
240
  }
249
241
  }
250
242
 
251
- _getLayerExtentOffset(layer) {
252
- var v0s = layer._extent;
253
- var v0t = this._extent;
254
- var sSize_x = v0s.northEast.lon - v0s.southWest.lon;
255
- var sSize_y = v0s.northEast.lat - v0s.southWest.lat;
256
- var dV0s_x = (v0t.southWest.lon - v0s.southWest.lon) / sSize_x;
257
- var dV0s_y = (v0s.northEast.lat - v0t.northEast.lat) / sSize_y;
258
- var dSize_x = (v0t.northEast.lon - v0t.southWest.lon) / sSize_x;
259
- var dSize_y = (v0t.northEast.lat - v0t.southWest.lat) / sSize_y;
243
+ /**
244
+ * @param layer
245
+ * @protected
246
+ *
247
+ * @todo simplify layer._extentMerc in layer.getNativeExtent(this)
248
+ *
249
+ */
250
+ protected override _getLayerExtentOffset(layer: Layer): [number, number, number, number] {
251
+ const v0s = layer._extent;
252
+ const v0t = this._extent;
253
+ const sSize_x = v0s.northEast.lon - v0s.southWest.lon;
254
+ const sSize_y = v0s.northEast.lat - v0s.southWest.lat;
255
+ const dV0s_x = (v0t.southWest.lon - v0s.southWest.lon) / sSize_x;
256
+ const dV0s_y = (v0s.northEast.lat - v0t.northEast.lat) / sSize_y;
257
+ const dSize_x = (v0t.northEast.lon - v0t.southWest.lon) / sSize_x;
258
+ const dSize_y = (v0t.northEast.lat - v0t.southWest.lat) / sSize_y;
260
259
  return [dV0s_x, dV0s_y, dSize_x, dSize_y];
261
260
  }
262
261
 
263
- layerOverlap(layer) {
262
+ public override layerOverlap(layer: Layer): boolean {
264
263
  return this._extent.overlaps(layer._extent);
265
264
  }
266
265
 
267
- getDefaultTexture() {
266
+ public override getDefaultTexture(): WebGLTextureExt | null {
268
267
  return this._isNorth ? this.planet.solidTextureOne : this.planet.solidTextureTwo;
269
268
  }
270
269
 
271
- getExtentLonLat() {
270
+ public override getExtentLonLat(): Extent {
272
271
  return this._extent;
273
272
  }
274
273
 
275
- getExtentMerc() {
276
- return this._extentMerc;
277
- }
278
-
279
- getNodeState() {
280
- var vn;
274
+ /**
275
+ * @todo: replace to the strategy
276
+ */
277
+ public override getNodeState(): number {
278
+ let vn;
281
279
  if (this._isNorth) {
282
280
  vn = this.planet._visibleNodesNorth[this.node.nodeId];
283
281
  } else {
@@ -285,10 +283,6 @@ class SegmentLonLat extends Segment {
285
283
  }
286
284
  return (vn && vn.state) || quadTree.NOTRENDERING;
287
285
  }
288
-
289
- _freeCache() {
290
- //empty for a time
291
- }
292
286
  }
293
287
 
294
- export { SegmentLonLat };
288
+ export {SegmentLonLat};
@@ -1,34 +1,27 @@
1
- "use strict";
2
-
3
- import { TILEGROUP_COMMON } from "./Segment.js";
4
- import { SegmentLonLat } from "./SegmentLonLat.js";
1
+ import {Extent} from "../Extent";
2
+ import {Node} from "../quadTree/Node";
3
+ import {Planet} from "../scene/Planet";
4
+ import {SegmentLonLat} from "./SegmentLonLat";
5
+ import {TILEGROUP_COMMON} from "./Segment";
5
6
 
6
7
  export class SegmentLonLatWgs84 extends SegmentLonLat {
7
- constructor(node, planet, tileZoom, extent) {
8
+ constructor(node: Node, planet: Planet, tileZoom: number, extent: Extent) {
8
9
  super(node, planet, tileZoom, extent);
9
10
  this.isPole = false;
10
11
  this._tileGroup = TILEGROUP_COMMON;
11
12
  }
12
13
 
13
- _getMaxZoom() {
14
+ protected override _getMaxZoom(): number {
14
15
  return 150;
15
- // let lat = 0;
16
- // if (this._isNorth) {
17
- // lat = this._extent.northEast.lat;
18
- // } else {
19
- // lat = Math.abs(this._extent.southWest.lat);
20
- // }
21
- // let Yz = Math.floor((90 - lat) / POLE_PIECE_SIZE);
22
- // return Math.floor(Yz / 16) + 7;
23
16
  }
24
17
 
25
- _assignTileYIndexes(extent) {
18
+ protected override _assignTileYIndexes(extent: Extent) {
26
19
  this.tileY = Math.round((90.0 - extent.northEast.lat) / (extent.northEast.lat - extent.southWest.lat));
27
20
  this.tileYN = this.tileY - 1;
28
21
  this.tileYS = this.tileY + 1;
29
22
  }
30
23
 
31
- _assignTileXIndexes(extent) {
24
+ protected override _assignTileXIndexes(extent: Extent) {
32
25
  this.tileX = Math.round(
33
26
  Math.abs(-180.0 - extent.southWest.lon) / (extent.northEast.lon - extent.southWest.lon)
34
27
  );
@@ -1,24 +1,30 @@
1
- 'use strict';
1
+ import {Layer} from "../layer/Layer";
2
+ import {Segment} from "./Segment";
3
+ import {Material} from "../layer/Material";
2
4
 
3
5
  class Slice {
4
- constructor(segment) {
6
+ public segment: Segment;
7
+ public layers: Layer[];
8
+ public tileOffsetArr: Float32Array;
9
+ public layerOpacityArr: Float32Array;
10
+
11
+ constructor(segment: Segment) {
5
12
  this.segment = segment;
6
13
  this.layers = [];
7
14
  this.tileOffsetArr = new Float32Array(segment.planet.SLICE_SIZE_4);
8
15
  this.layerOpacityArr = new Float32Array(segment.planet.SLICE_SIZE);
9
- this.init();
10
16
  }
11
17
 
12
- init() {}
13
-
14
- clear() {
18
+ public clear() {
19
+ // @ts-ignore
15
20
  this.layers = null;
21
+ // @ts-ignore
16
22
  this.tileOffsetArr = null;
23
+ // @ts-ignore
17
24
  this.layerOpacityArr = null;
18
- //this.visibleExtentOffsetArr = null;
19
25
  }
20
26
 
21
- append(layer, material) {
27
+ public append(layer: Layer, material: Material) {
22
28
  let n = this.layers.length;
23
29
 
24
30
  this.layers.push(layer);
@@ -42,4 +48,4 @@ class Slice {
42
48
  }
43
49
  }
44
50
 
45
- export { Slice }
51
+ export {Slice}
@@ -2,25 +2,31 @@
2
2
  * @module og/segment/SegmentHelper
3
3
  */
4
4
 
5
- 'use strict';
5
+ import {N, W, S, E} from '../quadTree/quadTree';
6
6
 
7
- import { N, W, S, E } from '../quadTree/quadTree.js';
7
+ type IndexTypeArray = Uint32Array;
8
+ type IndexesTable = [IndexTypeArray[][], IndexTypeArray[][], IndexTypeArray[][], IndexTypeArray[][]];
8
9
 
9
- function NewIndexesTypedArray(arr) {
10
+
11
+ function NewIndexesTypedArray(arr: number[]): IndexTypeArray {
10
12
  return new Uint32Array(arr);
11
13
  }
12
14
 
13
- function createCenterBodyIndexes(size) {
15
+ function NewIndexesTypedArrayEmpty(size: number): IndexTypeArray {
16
+ return new Uint32Array(size);
17
+ }
18
+
19
+ function createCenterBodyIndexes(size: number): IndexTypeArray {
14
20
 
15
21
  let indexes = [];
16
22
 
17
- var i0 = 1,
23
+ let i0 = 1,
18
24
  j0 = 1;
19
25
 
20
- var i1 = 1,
26
+ let i1 = 1,
21
27
  j1 = 1;
22
28
 
23
- var ind1, ind2, nr;
29
+ let ind1 = 0, ind2 = 0, nr = 0;
24
30
  for (let i = i0; i < size - 1 - i1; i++) {
25
31
  for (let j = j0; j < size - j1; j++) {
26
32
  ind1 = i * size + j;
@@ -35,16 +41,16 @@ function createCenterBodyIndexes(size) {
35
41
  return NewIndexesTypedArray(indexes);
36
42
  }
37
43
 
38
- function createWestNeighborSkirt(size, deltaGr) {
44
+ function createWestNeighborSkirt(size: number, deltaGr: number): IndexTypeArray {
39
45
  let indexes = [];
40
- var grCount = (size - 1) / deltaGr;
41
- var b = size * size - size;
42
- var k = 0;
46
+ const grCount = (size - 1) / deltaGr;
47
+ const b = size * size - size;
48
+ let k = 0;
43
49
  for (let i = 0; i < size - 2; i++) {
44
50
  if (i % grCount === 0) {
45
51
  k = i;
46
52
  }
47
- var rind = b - size * i - size + 1,
53
+ let rind = b - size * i - size + 1,
48
54
  lind = b - size * k;
49
55
  indexes.push(lind, rind);
50
56
  }
@@ -57,15 +63,15 @@ function createWestNeighborSkirt(size, deltaGr) {
57
63
  return NewIndexesTypedArray(indexes);
58
64
  }
59
65
 
60
- function createNorthNeighborSkirt(size, deltaGr) {
66
+ function createNorthNeighborSkirt(size: number, deltaGr: number): IndexTypeArray {
61
67
  let indexes = [];
62
- var grCount = (size - 1) / deltaGr;
63
- var k = 0;
68
+ const grCount = (size - 1) / deltaGr;
69
+ let k = 0;
64
70
  for (let i = 0; i < size - 2; i++) {
65
71
  if (i % grCount === 0) {
66
72
  k = i;
67
73
  }
68
- var rind = size + i + 1,
74
+ let rind = size + i + 1,
69
75
  lind = k;
70
76
  indexes.push(lind, rind);
71
77
  }
@@ -78,15 +84,15 @@ function createNorthNeighborSkirt(size, deltaGr) {
78
84
  return NewIndexesTypedArray(indexes);
79
85
  }
80
86
 
81
- function createEastNeighborSkirt(size, deltaGr) {
87
+ function createEastNeighborSkirt(size: number, deltaGr: number): IndexTypeArray {
82
88
  let indexes = [];
83
- var grCount = (size - 1) / deltaGr;
84
- var k = 0;
89
+ const grCount = (size - 1) / deltaGr;
90
+ let k = 0;
85
91
  for (let i = 0; i < size - 2; i++) {
86
92
  if (i % grCount === 0) {
87
93
  k = i;
88
94
  }
89
- var rind = size * (i + 1) + size - 2,
95
+ let rind = size * (i + 1) + size - 2,
90
96
  lind = size + size * k - 1;
91
97
  indexes.push(lind, rind);
92
98
  }
@@ -99,17 +105,17 @@ function createEastNeighborSkirt(size, deltaGr) {
99
105
  return NewIndexesTypedArray(indexes);
100
106
  }
101
107
 
102
- function createSouthNeighborSkirt(size, deltaGr) {
108
+ function createSouthNeighborSkirt(size: number, deltaGr: number): IndexTypeArray {
103
109
  let indexes = [];
104
- var grCount = (size - 1) / deltaGr;
105
- var k = 0;
106
- var rb = size * (size - 1) - 2;
107
- var lb = size * size - 1;
110
+ const grCount = (size - 1) / deltaGr;
111
+ let k = 0;
112
+ const rb = size * (size - 1) - 2;
113
+ const lb = size * size - 1;
108
114
  for (let i = 0; i < size - 2; i++) {
109
115
  if (i % grCount === 0) {
110
116
  k = i;
111
117
  }
112
- var rind = rb - i,
118
+ let rind = rb - i,
113
119
  lind = lb - k;
114
120
  indexes.push(lind, rind);
115
121
  }
@@ -122,16 +128,11 @@ function createSouthNeighborSkirt(size, deltaGr) {
122
128
  return NewIndexesTypedArray(indexes);
123
129
  }
124
130
 
125
- function initIndexesBodySkirts(pow) {
126
- var table = [];
127
-
128
- table[N] = [];
129
- table[W] = [];
130
- table[S] = [];
131
- table[E] = [];
131
+ function initIndexesBodySkirts(pow: number): IndexesTable {
132
+ let table: IndexesTable = [[], [], [], []];
132
133
 
133
134
  for (let i = 0; i <= pow; i++) {
134
- var d = Math.pow(2, i),
135
+ let d = Math.pow(2, i),
135
136
  d1 = d + 1;
136
137
 
137
138
  table[N][i] = [];
@@ -140,7 +141,7 @@ function initIndexesBodySkirts(pow) {
140
141
  table[E][i] = [];
141
142
 
142
143
  for (let j = 0; j <= pow; j++) {
143
- var dd = Math.pow(2, j);
144
+ let dd = Math.pow(2, j);
144
145
  table[W][i][j] = createWestNeighborSkirt(d1, dd);
145
146
  table[N][i][j] = createNorthNeighborSkirt(d1, dd);
146
147
  table[E][i][j] = createEastNeighborSkirt(d1, dd);
@@ -151,17 +152,17 @@ function initIndexesBodySkirts(pow) {
151
152
  return table;
152
153
  }
153
154
 
154
- function initIndexBodiesTable(pow) {
155
- var table = [];
155
+ function initIndexBodiesTable(pow: number): IndexTypeArray[] {
156
+ let table = [];
156
157
  for (let i = 0; i <= pow; i++) {
157
- var d = Math.pow(2, i);
158
+ const d = Math.pow(2, i);
158
159
  table[i] = createCenterBodyIndexes(d + 1);
159
160
  }
160
161
  return table;
161
162
  }
162
163
 
163
- function createTextureCoords(size) {
164
- var texCoords = new Uint16Array((size + 1) * (size + 1) * 2);
164
+ function createTextureCoords(size: number): Uint16Array {
165
+ let texCoords = new Uint16Array((size + 1) * (size + 1) * 2);
165
166
  let k = 0;
166
167
  for (let i = 0; i <= size; i++) {
167
168
  for (let j = 0; j <= size; j++) {
@@ -173,25 +174,32 @@ function createTextureCoords(size) {
173
174
  }
174
175
 
175
176
  class SegmentHelper {
176
- constructor(maxGridSize = 0) {
177
+
178
+ protected _maxGridSize: number;
179
+ public centerIndexesTable: IndexTypeArray[];
180
+ public skirtsIndexesTable: IndexesTable;
181
+
182
+ constructor(maxGridSize: number = 0) {
177
183
  this._maxGridSize = maxGridSize;
184
+ this.centerIndexesTable = initIndexBodiesTable(this._maxGridSize)
185
+ this.skirtsIndexesTable = initIndexesBodySkirts(this._maxGridSize);
178
186
  }
179
187
 
180
- get maxGridSize() {
188
+ public get maxGridSize(): number {
181
189
  return this._maxGridSize;
182
190
  }
183
191
 
184
- init() {
192
+ public init() {
185
193
  this.centerIndexesTable = initIndexBodiesTable(this._maxGridSize);
186
194
  this.skirtsIndexesTable = initIndexesBodySkirts(this._maxGridSize);
187
195
  }
188
196
 
189
- setMaxGridSize(gridSize) {
197
+ public setMaxGridSize(gridSize: number) {
190
198
  this._maxGridSize = gridSize;
191
199
  this.init();
192
200
  }
193
201
 
194
- createSegmentIndexes(size, sidesSizes) {
202
+ public createSegmentIndexes(size: number, sidesSizes: [number, number, number, number]) {
195
203
  if (size) {
196
204
  let c = this.centerIndexesTable[size],
197
205
  w = this.skirtsIndexesTable[W][size][sidesSizes[W]],
@@ -199,7 +207,7 @@ class SegmentHelper {
199
207
  e = this.skirtsIndexesTable[E][size][sidesSizes[E]],
200
208
  s = this.skirtsIndexesTable[S][size][sidesSizes[S]];
201
209
 
202
- let indexes = NewIndexesTypedArray(c.length + w.length + n.length + e.length + s.length);
210
+ let indexes = NewIndexesTypedArrayEmpty(c.length + w.length + n.length + e.length + s.length);
203
211
 
204
212
  indexes.set(c, 0);
205
213
  indexes.set(w, c.length);
@@ -213,10 +221,10 @@ class SegmentHelper {
213
221
  }
214
222
  }
215
223
 
216
- initTextureCoordsTable(pow) {
217
- var table = [];
224
+ public initTextureCoordsTable(pow: number): Uint16Array[] {
225
+ let table = [];
218
226
  for (let i = 0; i <= pow; i++) {
219
- var d = Math.pow(2, i);
227
+ const d = Math.pow(2, i);
220
228
  table[i] = createTextureCoords(d);
221
229
  }
222
230
  return table;
@@ -1,7 +1,5 @@
1
- 'use strict';
2
-
3
- import { Program } from '../webgl/Program.js';
4
- import { UTILS } from './utils.js';
1
+ import { Program } from '../webgl/Program';
2
+ import { UTILS } from './utils';
5
3
 
6
4
  export const COMMON =
7
5
  `
@@ -93,7 +91,7 @@ export const COMMON =
93
91
  return exp(-(rayleighScatteringCoefficient * opticalDepth.x + mieExtinctionCoefficient * opticalDepth.y + ozoneAbsorptionCoefficient * opticalDepth.z));
94
92
  }`;
95
93
 
96
- export function transmittance() {
94
+ export function transmittance(): Program {
97
95
  return new Program("transmittance", {
98
96
  uniforms: {
99
97
  iResolution: "vec2"
@@ -129,7 +127,7 @@ export function transmittance() {
129
127
  });
130
128
  }
131
129
 
132
- export function scattering() {
130
+ export function scattering(): Program {
133
131
  return new Program("scattering", {
134
132
  uniforms: {
135
133
  iResolution: "vec2",
@@ -1,6 +1,4 @@
1
- 'use strict';
2
-
3
- import { Program } from '../webgl/Program.js';
1
+ import {Program} from '../webgl/Program';
4
2
 
5
3
  const PROJECT = `vec2 project(vec4 p) {
6
4
  return (0.5 * p.xyz / p.w + 0.5).xy * viewport;
@@ -12,7 +10,7 @@ const ROTATE2D =
12
10
  sin(angle), cos(angle));
13
11
  }`;
14
12
 
15
- export function billboardPicking() {
13
+ export function billboardPicking(): Program {
16
14
  return new Program("billboardPicking", {
17
15
  uniforms: {
18
16
  viewport: "vec2",
@@ -113,7 +111,7 @@ export function billboardPicking() {
113
111
  });
114
112
  }
115
113
 
116
- export function billboard_screen() {
114
+ export function billboard_screen(): Program {
117
115
  return new Program("billboard", {
118
116
  uniforms: {
119
117
  viewport: "vec2",