@openglobus/og 0.17.1 → 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} +248 -185
  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 -270
  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} +777 -595
  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 -149
  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 -128
  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 -1168
  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 -10
  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 -255
  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 -595
  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,15 +1,21 @@
1
- "use strict";
2
-
3
- import { Extent } from "../Extent.js";
4
- import { LonLat } from "../LonLat.js";
5
- import * as mercator from "../mercator.js";
6
- import { XYZ } from "./XYZ.js";
1
+ import * as mercator from "../mercator";
2
+ import {Extent} from "../Extent";
3
+ import {LonLat} from "../LonLat";
4
+ import {Segment} from "../segment/Segment";
5
+ import {XYZ, IXYZParams} from "./XYZ";
6
+
7
+ interface IWMSParams extends IXYZParams {
8
+ extra?: any;
9
+ layers: string;
10
+ imageWidth?: number;
11
+ imageHeight?: number;
12
+ version?: string;
13
+ }
7
14
 
8
15
  /**
9
16
  * Used to display WMS services as tile layers on the globe.
10
17
  * @class
11
18
  * @extends {XYZ}
12
- * //TODO: WMS version, format, and custom srs cpecification.
13
19
  * @param {string} name - Layer name.
14
20
  * @param {Object} options - Options:
15
21
  * @param {number} [options.opacity=1.0] - Layer opacity.
@@ -23,7 +29,7 @@ import { XYZ } from "./XYZ.js";
23
29
  * @param {number} [options.height=256] - Tile height.
24
30
  * @param {string} options.layers - WMS layers string.
25
31
  * @param {string} [options.version="1.1.1"] - WMS version.
26
- * @param {Object} extra - Extra parameters (by WMS rreference or by WMS service vendors) to pass to WMS service.
32
+ * @param {Object} extra - Extra parameters (by WMS reference or by WMS service vendors) to pass to WMS service.
27
33
  * @example:
28
34
  * new og.layer.WMS("USA States", {
29
35
  * isBaseLayer: false,
@@ -35,30 +41,47 @@ import { XYZ } from "./XYZ.js";
35
41
  * version: "1.1.1",
36
42
  * visibility: false }, {
37
43
  * transparent: true,
38
- * sld: "style.sld"}
44
+ * sld: "style.sld"}
39
45
  * );
40
- *
41
- * @fires og.layer.XYZ#load
42
- * @fires og.layer.XYZ#loadend
43
46
  */
44
47
  class WMS extends XYZ {
45
48
 
49
+ protected _extra: string;
46
50
 
47
- constructor(name, options, extra) {
48
- super(name, options);
51
+ /**
52
+ * WMS layers string.
53
+ * @public
54
+ * @type {string}
55
+ */
56
+ public layers: string;
57
+
58
+ /**
59
+ * WMS tile width.
60
+ * @public
61
+ * @type {number}
62
+ */
63
+ public imageWidth: number;
64
+
65
+ /**
66
+ * WMS tile height.
67
+ * @public
68
+ * @type {number}
69
+ */
70
+ public imageHeight: number;
49
71
 
50
- this._extra = new URLSearchParams(extra).toString();
72
+ protected _getBbox: (extent: Extent) => string;
51
73
 
74
+ protected _version: string;
75
+
76
+ constructor(name: string | null, options: IWMSParams) {
77
+ super(name, options);
78
+
79
+ this._extra = new URLSearchParams(options.extra).toString();
52
80
 
53
81
  if (!options.extent) {
54
82
  this.setExtent(new Extent(new LonLat(-180.0, -90), new LonLat(180.0, 90)));
55
83
  }
56
84
 
57
- /**
58
- * WMS layers string.
59
- * @public
60
- * @type {string}
61
- */
62
85
  this.layers = options.layers;
63
86
 
64
87
  /**
@@ -77,59 +100,43 @@ class WMS extends XYZ {
77
100
 
78
101
  this._getBbox = WMS.get_bbox_v1_1_1;
79
102
 
103
+ this._version = "";
104
+
80
105
  this.setVersion(options.version);
81
106
  }
82
107
 
83
108
  static createRequestUrl(
84
- url,
85
- layers,
86
- format = "image/png",
87
- version = "1.1.1",
88
- request = "GetMap",
89
- srs,
90
- bbox,
91
- width = 256,
92
- height = 256,
93
- extra
94
-
95
- ) {
96
- return `${url}/?LAYERS=${layers}&FORMAT=${format}&SERVICE=WMS&VERSION=${version}&REQUEST=${request}&SRS=${srs}&BBOX=${bbox}&WIDTH=${width}&HEIGHT=${height}` +
97
- (extra ? `&${extra}` : "");
109
+ url: string,
110
+ layers: string,
111
+ format: string = "image/png",
112
+ version: string = "1.1.1",
113
+ request: string = "GetMap",
114
+ srs: string,
115
+ bbox: string,
116
+ width: number = 256,
117
+ height: number = 256,
118
+ extra?: string
119
+ ): string {
120
+ return `${url}/?LAYERS=${layers}&FORMAT=${format}&SERVICE=WMS&VERSION=${version}&REQUEST=${request}&SRS=${srs}&BBOX=${bbox}&WIDTH=${width}&HEIGHT=${height}` + (extra ? `&${extra}` : "");
98
121
  }
99
122
 
100
- static get_bbox_v1_1_1(extent) {
101
- return (
102
- extent.getWest() +
103
- "," +
104
- extent.getSouth() +
105
- "," +
106
- extent.getEast() +
107
- "," +
108
- extent.getNorth()
109
- );
123
+ static get_bbox_v1_1_1(extent: Extent): string {
124
+ return `${extent.getWest()},${extent.getSouth()},${extent.getEast()},${extent.getNorth()}`;
110
125
  }
111
126
 
112
- static get_bbox_v1_3_0(extent) {
113
- return (
114
- extent.getSouth() +
115
- "," +
116
- extent.getWest() +
117
- "," +
118
- extent.getNorth() +
119
- "," +
120
- extent.getEast()
121
- );
127
+ static get_bbox_v1_3_0(extent: Extent): string {
128
+ return `${extent.getSouth()},${extent.getWest()},${extent.getNorth()},${extent.getEast()}`;
122
129
  }
123
130
 
124
- _checkSegment(segment) {
131
+ public override _checkSegment(segment: Segment) {
125
132
  return true;
126
133
  }
127
134
 
128
- get instanceName() {
135
+ public override get instanceName(): string {
129
136
  return "WMS";
130
137
  }
131
138
 
132
- _createUrl(segment) {
139
+ protected override _createUrl(segment: Segment): string {
133
140
  return WMS.createRequestUrl(
134
141
  this.url,
135
142
  this.layers,
@@ -144,7 +151,7 @@ class WMS extends XYZ {
144
151
  );
145
152
  }
146
153
 
147
- setVersion(version) {
154
+ public setVersion(version?: string) {
148
155
  if (version) {
149
156
  this._version = version;
150
157
  } else {
@@ -158,25 +165,30 @@ class WMS extends XYZ {
158
165
  }
159
166
  }
160
167
 
161
- _correctFullExtent() {
162
- var e = this._extent,
163
- em = this._extentMerc;
164
- var ENLARGE_MERCATOR_LON = mercator.POLE + 50000;
165
- var ENLARGE_MERCATOR_LAT = mercator.POLE + 50000;
168
+ public override _correctFullExtent() {
169
+ const e = this._extent;
170
+ const em = this._extentMerc;
171
+
172
+ const ENLARGE_MERCATOR_LON = mercator.POLE + 50000;
173
+ const ENLARGE_MERCATOR_LAT = mercator.POLE + 50000;
174
+
166
175
  if (e.northEast.lat === 90.0) {
167
176
  em.northEast.lat = ENLARGE_MERCATOR_LAT;
168
177
  }
178
+
169
179
  if (e.northEast.lon === 180.0) {
170
180
  em.northEast.lon = ENLARGE_MERCATOR_LON;
171
181
  }
182
+
172
183
  if (e.southWest.lat === -90.0) {
173
184
  em.southWest.lat = -ENLARGE_MERCATOR_LAT;
174
185
  }
186
+
175
187
  if (e.southWest.lon === -180.0) {
176
188
  em.southWest.lon = -ENLARGE_MERCATOR_LON;
177
189
  }
178
190
  }
179
191
  }
180
192
 
181
- export { WMS };
193
+ export {WMS};
182
194
 
@@ -1,16 +1,34 @@
1
- "use strict";
1
+ import * as mercator from "../mercator";
2
+ import {Layer, ILayerParams, LayerEventsList} from "./Layer";
3
+ import {RENDERING} from "../quadTree/quadTree";
4
+ import {Segment} from "../segment/Segment";
5
+ import {stringTemplate} from "../utils/shared";
6
+ import {EventsHandler} from "../Events";
7
+ import {Material} from "./Material";
8
+ import {NumberArray4} from "../math/Vec4";
9
+ import {IResponse} from "../utils/Loader";
10
+
11
+ export interface IXYZParams extends ILayerParams {
12
+ url?: string;
13
+ subdomains?: string[];
14
+ minNativeZoom?: number;
15
+ maxNativeZoom?: number;
16
+ urlRewrite?: Function;
17
+ }
18
+
19
+ type XYZEventsList = [
20
+ "load",
21
+ "loadend"
22
+ ];
2
23
 
3
- import * as mercator from "../mercator.js";
4
- import { RENDERING } from "../quadTree/quadTree.js";
5
- import { stringTemplate } from "../utils/shared.js";
6
- import { Layer } from "./Layer.js";
24
+ type XYZEventsType = EventsHandler<XYZEventsList> & EventsHandler<LayerEventsList>;
7
25
 
8
26
  /**
9
27
  * Represents an imagery tiles source provider.
10
28
  * @class
11
29
  * @extends {Layer}
12
30
  * @param {string} name - Layer name.
13
- * @param {Object} options:
31
+ * @param {IXYZParams} options:
14
32
  * @param {number} [options.opacity=1.0] - Layer opacity.
15
33
  * @param {Array.<string>} [options.subdomains=['a','b','c']] - Subdomains of the tile service.
16
34
  * @param {number} [options.minZoom=0] - Minimal visibility zoom level.
@@ -22,10 +40,11 @@ import { Layer } from "./Layer.js";
22
40
  * @param {boolean} [options.visibility=true] - Layer visibility.
23
41
  * @param {string} [options.crossOrigin=true] - If true, all tiles will have their crossOrigin attribute set to ''.
24
42
  * @param {string} options.url - Tile url source template(see example below).
25
- * @param {string} options.textureFilter - texture gl filter. NEAREST, LINEAR, MIPMAP, ANISOTROPHIC.
26
- * @param {layer.XYZ~_urlRewriteCallback} options.urlRewrite - Url rewrite function.
27
- * @fires og.layer.XYZ#load
28
- * @fires og.layer.XYZ#loadend
43
+ * @param {string} options.textureFilter - texture gl filter. NEAREST, LINEAR, MIPMAP, ANISOTROPIC.
44
+ * @param {Function} options.urlRewrite - Url rewrite function.
45
+ *
46
+ * @fires EventsHandler<XYZEventsList>#load
47
+ * @fires EventsHandler<XYZEventsList>#loadend
29
48
  *
30
49
  * @example <caption>Creates OpenStreetMap base tile layer</caption>
31
50
  * new og.layer.XYZ("OpenStreetMap", {
@@ -36,63 +55,78 @@ import { Layer } from "./Layer.js";
36
55
  * });
37
56
  */
38
57
  class XYZ extends Layer {
58
+
59
+ public override events: XYZEventsType;
60
+
39
61
  /**
40
- * @param {string} name - Layer name.
41
- * @param {*} options
62
+ * Tile url source template.
63
+ * @public
64
+ * @type {string}
65
+ */
66
+ public url: string;
67
+
68
+ /**
69
+ * @protected
70
+ */
71
+ protected _s: string[];
72
+
73
+ /**
74
+ * Minimal native zoom level when tiles are available.
75
+ * @public
76
+ * @type {number}
42
77
  */
43
- constructor(name, options = {}) {
78
+ public minNativeZoom: number;
79
+
80
+ /**
81
+ * Maximal native zoom level when tiles are available.
82
+ * @public
83
+ * @type {number}
84
+ */
85
+ public maxNativeZoom: number;
86
+
87
+ /**
88
+ * Rewrites imagery tile url query.
89
+ * @private
90
+ * @callback og.layer.XYZ~_urlRewriteCallback
91
+ * @param {Segment} segment - Segment to load.
92
+ * @param {string} url - Created url.
93
+ * @returns {string} - Url query string.
94
+ */
95
+ protected _urlRewriteCallback: Function | null;
96
+
97
+ protected _requestsPeerSubdomains: number;
98
+
99
+ protected _requestCount: number;
100
+
101
+ constructor(name: string | null, options: IXYZParams = {}) {
44
102
  super(name, options);
45
103
 
46
- this.events.registerNames(EVENT_NAMES);
104
+ //@ts-ignore
105
+ this.events = this.events.registerNames(XYZ_EVENTS);
47
106
 
48
- /**
49
- * Tile url source template.
50
- * @public
51
- * @type {string}
52
- */
53
107
  this.url = options.url || "";
54
108
 
55
- /**
56
- * @protected
57
- */
58
109
  this._s = options.subdomains || ["a", "b", "c"];
59
110
 
60
- /**
61
- * Minimal native zoom level when tiles are available.
62
- * @public
63
- * @type {number}
64
- */
65
111
  this.minNativeZoom = options.minNativeZoom || 0;
66
112
 
67
- /**
68
- * Maximal native zoom level when tiles are available.
69
- * @public
70
- * @type {number}
71
- */
72
113
  this.maxNativeZoom = options.maxNativeZoom || 19;
73
114
 
74
- /**
75
- * Rewrites imagery tile url query.
76
- * @private
77
- * @callback og.layer.XYZ~_urlRewriteCallback
78
- * @param {Segment} segment - Segment to load.
79
- * @param {string} url - Created url.
80
- * @returns {string} - Url query string.
81
- */
82
115
  this._urlRewriteCallback = options.urlRewrite || null;
83
116
 
84
- this._requestsPeerSubdomian = 4;
117
+ this._requestsPeerSubdomains = 4;
118
+
85
119
  this._requestCount = 0;
86
120
  }
87
121
 
88
122
  /**
89
- * @warning Use XYZ.isIdle in requesAnimationFrame(after setVisibility)
123
+ * @warning Use XYZ.isIdle in requestAnimationFrame(after setVisibility)
90
124
  */
91
- get isIdle() {
92
- return super.isIdle && this._planet._tileLoader.getRequestCounter(this) === 0;
125
+ public override get isIdle(): boolean {
126
+ return super.isIdle && this._planet!._tileLoader.getRequestCounter(this) === 0;
93
127
  }
94
128
 
95
- get instanceName() {
129
+ public override get instanceName(): string {
96
130
  return "XYZ";
97
131
  }
98
132
 
@@ -100,7 +134,7 @@ class XYZ extends Layer {
100
134
  * Abort loading tiles.
101
135
  * @public
102
136
  */
103
- abortLoading() {
137
+ public override abortLoading() {
104
138
  if (this._planet) {
105
139
  this._planet._tileLoader.abort(this);
106
140
  }
@@ -111,7 +145,7 @@ class XYZ extends Layer {
111
145
  * @public
112
146
  * @param {boolean} visibility - Layer visibility.
113
147
  */
114
- setVisibility(visibility) {
148
+ public override setVisibility(visibility: boolean) {
115
149
  if (visibility !== this._visibility) {
116
150
  super.setVisibility(visibility);
117
151
  if (!visibility) {
@@ -120,9 +154,10 @@ class XYZ extends Layer {
120
154
  }
121
155
  }
122
156
 
123
- remove() {
157
+ public override remove(): this {
124
158
  this.abortLoading();
125
159
  super.remove();
160
+ return this;
126
161
  }
127
162
 
128
163
  /**
@@ -131,14 +166,14 @@ class XYZ extends Layer {
131
166
  * @param {string} url - Url template.
132
167
  * @example
133
168
  * http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png
134
- * where {z}, {x} and {y} - replaces by current tile values, {s} - random domen.
169
+ * where {z}, {x} and {y} - replaces by current tile values, {s} - random domain.
135
170
  */
136
- setUrl(url) {
171
+ public setUrl(url: string) {
137
172
  this.url = url;
138
173
  }
139
174
 
140
- _checkSegment(segment) {
141
- return segment._projection.id === this._planet.quadTreeStrategy.projection.id;// EPSG4326.id;// EPSG3857.id;
175
+ public _checkSegment(segment: Segment) {
176
+ return segment._projection.id === this._planet!.quadTreeStrategy.projection.id;// EPSG4326.id;// EPSG3857.id;
142
177
  }
143
178
 
144
179
  /**
@@ -146,8 +181,9 @@ class XYZ extends Layer {
146
181
  * @public
147
182
  * @virtual
148
183
  * @param {Material} material - Loads current material.
184
+ * @param {boolean} [forceLoading=false] -
149
185
  */
150
- loadMaterial(material, forceLoading) {
186
+ public override loadMaterial(material: Material, forceLoading: boolean = false) {
151
187
 
152
188
  let seg = material.segment;
153
189
 
@@ -158,26 +194,24 @@ class XYZ extends Layer {
158
194
  }
159
195
 
160
196
  // Q: Maybe we should change "<2" to material.segment.tileZoom < (material.layer.minZoom + 1)
161
- if (this._planet.layerLock.isFree() || material.segment.tileZoom < 2) {
197
+ if (this._planet!.layerLock.isFree() || material.segment.tileZoom < 2) {
162
198
  material.isReady = false;
163
199
  material.isLoading = true;
164
200
 
165
201
  if (this._checkSegment(seg)) {
166
202
  material.loadingAttempts++;
167
203
 
168
- this._planet._tileLoader.load(
169
- {
204
+ this._planet!._tileLoader.load({
170
205
  sender: this,
171
206
  src: this._getHTTPRequestString(material.segment),
172
207
  type: "imageBitmap",
173
- filter: () =>
174
- (seg.initialized && seg.node.getState() === RENDERING) || forceLoading,
208
+ filter: () => (seg.initialized && seg.node.getState() === RENDERING) || forceLoading,
175
209
  options: {}
176
210
  },
177
- (response) => {
211
+ (response: IResponse) => {
178
212
  if (response.status === "ready") {
179
213
  if (material.isLoading) {
180
- let e = this.events.load;
214
+ let e = this.events.load!;
181
215
  if (e.handlers.length) {
182
216
  this.events.dispatch(e, material);
183
217
  }
@@ -191,8 +225,8 @@ class XYZ extends Layer {
191
225
  material.textureNotExists();
192
226
  }
193
227
  }
194
- },
195
- this._id
228
+ }
229
+ //,this.__id
196
230
  );
197
231
  } else {
198
232
  material.textureNotExists();
@@ -205,9 +239,9 @@ class XYZ extends Layer {
205
239
  * @protected
206
240
  * @virtual
207
241
  * @param {Segment} segment - Creates specific url for current segment.
208
- * @returns {String} - Returns url string.
242
+ * @returns {string} - Returns url string.
209
243
  */
210
- _createUrl(segment) {
244
+ protected _createUrl(segment: Segment): string {
211
245
  return stringTemplate(this.url, {
212
246
  s: this._getSubdomain(),
213
247
  x: segment.tileX.toString(),
@@ -216,10 +250,9 @@ class XYZ extends Layer {
216
250
  });
217
251
  }
218
252
 
219
- _getSubdomain() {
253
+ protected _getSubdomain(): string {
220
254
  this._requestCount++;
221
- return this._s[Math.floor(this._requestCount % (this._requestsPeerSubdomian * this._s.length) / this._requestsPeerSubdomian)];
222
-
255
+ return this._s[Math.floor(this._requestCount % (this._requestsPeerSubdomains * this._s.length) / this._requestsPeerSubdomains)];
223
256
  }
224
257
 
225
258
  /**
@@ -228,22 +261,20 @@ class XYZ extends Layer {
228
261
  * @param {Segment} segment - Segment that loads image data.
229
262
  * @returns {string} - Url string.
230
263
  */
231
- _getHTTPRequestString(segment) {
232
- return this._urlRewriteCallback
233
- ? this._urlRewriteCallback(segment, this.url)
234
- : this._createUrl(segment);
264
+ protected _getHTTPRequestString(segment: Segment) {
265
+ return this._urlRewriteCallback ? this._urlRewriteCallback(segment, this.url) : this._createUrl(segment);
235
266
  }
236
267
 
237
268
  /**
238
- * Sets url rewrite callback, used for custom url rewriting for every tile laoding.
269
+ * Sets url rewrite callback, used for custom url rewriting for every tile loading.
239
270
  * @public
240
- * @param {layer.XYZ~_urlRewriteCallback} ur - The callback that returns tile custom created url.
271
+ * @param {Function} ur - The callback that returns tile custom created url.
241
272
  */
242
- setUrlRewriteCallback(ur) {
273
+ public setUrlRewriteCallback(ur: Function) {
243
274
  this._urlRewriteCallback = ur;
244
275
  }
245
276
 
246
- applyMaterial(material, forceLoading) {
277
+ public override applyMaterial(material: Material, forceLoading: boolean = false): NumberArray4 {
247
278
  if (material.isReady) {
248
279
  return material.texOffset;
249
280
  } else if (material.segment.tileZoom < this.minNativeZoom) {
@@ -254,7 +285,7 @@ class XYZ extends Layer {
254
285
  pn = segment.node,
255
286
  notEmpty = false;
256
287
 
257
- let mId = this._id;
288
+ let mId = this.__id;
258
289
  let psegm = material;
259
290
  while (pn.parentNode) {
260
291
  pn = pn.parentNode;
@@ -266,21 +297,21 @@ class XYZ extends Layer {
266
297
  }
267
298
 
268
299
  if (segment.passReady) {
269
- let maxNativeZoom = material.layer.maxNativeZoom;
300
+ let maxNativeZoom = (material.layer as XYZ).maxNativeZoom;
270
301
  if (pn.segment.tileZoom === maxNativeZoom) {
271
302
  material.textureNotExists();
272
303
  } else if (material.segment.tileZoom <= maxNativeZoom) {
273
304
  !material.isLoading && !material.isReady && this.loadMaterial(material, forceLoading);
274
305
  } else {
275
306
  let pn = segment.node;
276
- while (pn.segment.tileZoom > material.layer.maxNativeZoom) {
277
- pn = pn.parentNode;
307
+ while (pn.segment.tileZoom > (material.layer as XYZ).maxNativeZoom) {
308
+ pn = pn.parentNode!;
278
309
  }
279
- let pnm = pn.segment.materials[material.layer._id];
310
+ let pnm = pn.segment.materials[material.layer.__id];
280
311
  if (pnm) {
281
312
  !pnm.isLoading && !pnm.isReady && this.loadMaterial(pnm, true);
282
313
  } else {
283
- pnm = pn.segment.materials[material.layer._id] = material.layer.createMaterial(
314
+ pnm = pn.segment.materials[material.layer.__id] = material.layer.createMaterial(
284
315
  pn.segment
285
316
  );
286
317
  this.loadMaterial(pnm, true);
@@ -309,16 +340,10 @@ class XYZ extends Layer {
309
340
  return material.texOffset;
310
341
  }
311
342
 
312
- clearMaterial(material) {
343
+ public override clearMaterial(material: Material) {
313
344
  if (material.isReady && material.textureExists) {
314
- !material.texture.default &&
315
- material.segment.handler.gl.deleteTexture(material.texture);
345
+ !material.texture!.default && material.segment.handler.gl!.deleteTexture(material.texture!);
316
346
  material.texture = null;
317
-
318
- if (material.image) {
319
- material.image.src = "";
320
- material.image = null;
321
- }
322
347
  }
323
348
 
324
349
  material.isReady = false;
@@ -329,11 +354,11 @@ class XYZ extends Layer {
329
354
  /**
330
355
  * @protected
331
356
  */
332
- _correctFullExtent() {
333
- var e = this._extent,
357
+ protected override _correctFullExtent() {
358
+ let e = this._extent,
334
359
  em = this._extentMerc;
335
- var ENLARGE_MERCATOR_LON = mercator.POLE + 50000;
336
- var ENLARGE_MERCATOR_LAT = mercator.POLE + 50000;
360
+ let ENLARGE_MERCATOR_LON = mercator.POLE + 50000;
361
+ let ENLARGE_MERCATOR_LAT = mercator.POLE + 50000;
337
362
  if (e.northEast.lat === 90.0) {
338
363
  em.northEast.lat = ENLARGE_MERCATOR_LAT;
339
364
  }
@@ -357,18 +382,18 @@ class XYZ extends Layer {
357
382
  }
358
383
  }
359
384
 
360
- const EVENT_NAMES = [
385
+ const XYZ_EVENTS: XYZEventsList = [
361
386
  /**
362
- * Triggered when current tile image has loaded before rendereing.
363
- * @event og.layer.XYZ#load
387
+ * Triggered when current tile image has loaded before rendering.
388
+ * @event #load
364
389
  */
365
390
  "load",
366
391
 
367
392
  /**
368
393
  * Triggered when all tiles have loaded or loading has stopped.
369
- * @event og.layer.XYZ#loadend
394
+ * @event #loadend
370
395
  */
371
396
  "loadend"
372
397
  ];
373
398
 
374
- export { XYZ };
399
+ export {XYZ};
@@ -0,0 +1,12 @@
1
+ import {CanvasTiles} from './CanvasTiles';
2
+ import {GeoImage} from './GeoImage';
3
+ import {GeoTexture2d} from './GeoTexture2d';
4
+ import {GeoVideo} from './GeoVideo';
5
+ import {KML} from './KML';
6
+ import {Layer} from './Layer';
7
+ import {Vector} from './Vector';
8
+ import {WMS} from './WMS';
9
+ import {XYZ} from './XYZ';
10
+ import {Material} from './Material';
11
+
12
+ export {CanvasTiles, GeoImage, GeoTexture2d, GeoVideo, KML, Layer, Vector, WMS, XYZ, Material};