@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,27 +1,91 @@
1
- "use strict";
1
+ import * as mercator from "../mercator";
2
+ import {doubleToTwoFloats2} from "../math/coder";
3
+ import {Extent} from "../Extent";
4
+ import {EventCallback, EventsHandler} from "../Events";
5
+ import {Layer, LayerEventsList, ILayerParams} from "./Layer";
6
+ import {LonLat} from "../LonLat";
7
+ import {Material} from "./Material";
8
+ import {NumberArray2} from "../math/Vec2";
9
+ import {NumberArray4} from "../math/Vec4";
10
+ import {Planet} from "../scene/Planet";
11
+ import {WebGLBufferExt, WebGLTextureExt} from "../webgl/Handler";
12
+
13
+ export interface IBaseGeoImageParams extends ILayerParams {
14
+ fullExtent?: boolean;
15
+ corners?: NumberArray2[];
16
+ }
2
17
 
3
- import { Extent } from "../Extent.js";
4
- import { LonLat } from "../LonLat.js";
5
- import * as mercator from "../mercator.js";
6
- import { Layer } from "./Layer.js";
7
- import { doubleToTwoFloats2 } from "../math/coder.js";
18
+ type BaseGeoImageEventsList = [
19
+ "loadend"
20
+ ];
8
21
 
9
- const EVENT_NAMES = [
22
+ const BASEGEOIMAGE_EVENTS: BaseGeoImageEventsList = [
10
23
  /**
11
24
  * Triggered when image data is loaded
12
- * @event og.layer.BaseGeoImage#loadend
25
+ * @event EventsHandler<BaseGeoImageEventsList>#loadend
13
26
  */
14
27
  "loadend"
15
28
  ];
16
29
 
30
+ export type BaseGeoImageEventsType = EventsHandler<BaseGeoImageEventsList> & EventsHandler<LayerEventsList>;
31
+
17
32
  /**
18
- * BaseGeoImage layer represents square imagery layer that could be an static image, or animated video or webgl buffer object displayed on the globe.
33
+ * BaseGeoImage layer represents square imagery layer that
34
+ * could be a static image, or animated video or webgl buffer
35
+ * object displayed on the globe.
19
36
  * @class
20
37
  * @extends {Layer}
21
38
  */
22
39
  class BaseGeoImage extends Layer {
23
- constructor(name, options) {
24
- super(name, { ...options, events: EVENT_NAMES });
40
+
41
+ public override events: BaseGeoImageEventsType;
42
+
43
+ protected _projType: number;
44
+
45
+ protected _frameWidth: number;
46
+ protected _frameHeight: number;
47
+
48
+ protected _sourceReady: boolean;
49
+ protected _sourceTexture: WebGLTextureExt | null;
50
+ protected _materialTexture: WebGLTextureExt | null;
51
+
52
+ protected _gridBufferLow: WebGLBufferExt | null;
53
+ protected _gridBufferHigh: WebGLBufferExt | null;
54
+
55
+ protected _extentWgs84ParamsHigh: Float32Array;
56
+ protected _extentWgs84ParamsLow: Float32Array;
57
+
58
+ protected _extentMercParamsHigh: Float32Array;
59
+ protected _extentMercParamsLow: Float32Array;
60
+
61
+ protected _refreshFrame: boolean;
62
+ protected _frameCreated: boolean;
63
+ protected _sourceCreated: boolean;
64
+
65
+ public _animate: boolean;
66
+ protected _ready: boolean;
67
+ public _creationProceeding: boolean;
68
+ public _isRendering: boolean;
69
+
70
+ protected _extentWgs84: Extent;
71
+ protected _cornersWgs84: LonLat[];
72
+ protected _cornersMerc: LonLat[];
73
+
74
+ protected _isFullExtent: number;
75
+
76
+ /**
77
+ * rendering function pointer
78
+ * @type {Function}
79
+ */
80
+ public rendering: Function;
81
+
82
+ protected _onLoadend_: EventCallback | null;
83
+
84
+ constructor(name: string | null, options: IBaseGeoImageParams = {}) {
85
+ super(name, options);
86
+
87
+ // @ts-ignore
88
+ this.events = this.events.registerNames(BASEGEOIMAGE_EVENTS);
25
89
 
26
90
  this._projType = 0;
27
91
 
@@ -32,12 +96,12 @@ class BaseGeoImage extends Layer {
32
96
  this._sourceTexture = null;
33
97
  this._materialTexture = null;
34
98
 
35
- this._gridBuffer = null;
36
- this._extentWgs84Params = null;
99
+ this._gridBufferLow = null;
100
+ this._gridBufferHigh = null;
101
+
37
102
  this._extentWgs84ParamsHigh = new Float32Array(4);
38
103
  this._extentWgs84ParamsLow = new Float32Array(4);
39
104
 
40
- this._extentMercParams = null;
41
105
  this._extentMercParamsHigh = new Float32Array(4);
42
106
  this._extentMercParamsLow = new Float32Array(4);
43
107
 
@@ -51,41 +115,44 @@ class BaseGeoImage extends Layer {
51
115
  this._isRendering = false;
52
116
 
53
117
  this._extentWgs84 = new Extent();
54
- this._cornersWgs84 = null;
118
+ this._cornersWgs84 = [];
119
+ this._cornersMerc = [];
55
120
 
56
- this._isFullExtent = options.fullExtent || false;
121
+ this._isFullExtent = options.fullExtent ? 1 : 0;
57
122
 
58
123
  /**
59
124
  * rendering function pointer
60
125
  */
61
- this.rendering = null;
126
+ this.rendering = this._renderingProjType0.bind(this);
127
+
128
+ this._onLoadend_ = null;
62
129
 
63
130
  options.corners && this.setCorners(options.corners);
64
131
  }
65
132
 
66
- get isIdle() {
133
+ public override get isIdle(): boolean {
67
134
  return super.isIdle && this._ready;
68
135
  }
69
136
 
70
- addTo(planet) {
137
+ public override addTo(planet: Planet) {
71
138
  this._onLoadend_ = this._onLoadend.bind(this);
72
139
  this.events.on("loadend", this._onLoadend_, this);
73
140
  return super.addTo(planet);
74
141
  }
75
142
 
76
- _onLoadend() {
143
+ protected _onLoadend() {
77
144
  if (this._planet) {
78
145
  this._planet.events.dispatch(this._planet.events.layerloadend, this);
79
146
  }
80
147
  }
81
148
 
82
- remove() {
149
+ public override remove() {
83
150
  this.events.off("loadend", this._onLoadend_);
84
151
  this._onLoadend_ = null;
85
152
  return super.remove();
86
153
  }
87
154
 
88
- get instanceName() {
155
+ public override get instanceName(): string {
89
156
  return "BaseGeoImage";
90
157
  }
91
158
 
@@ -94,8 +161,8 @@ class BaseGeoImage extends Layer {
94
161
  * @public
95
162
  * @return {Array.<LonLat>} - (exactly 4 entries)
96
163
  */
97
- getCornersLonLat() {
98
- var c = this._cornersWgs84;
164
+ public getCornersLonLat(): LonLat[] {
165
+ let c = this._cornersWgs84;
99
166
  return [
100
167
  new LonLat(c[0].lon, c[0].lat),
101
168
  new LonLat(c[1].lon, c[1].lat),
@@ -109,8 +176,8 @@ class BaseGeoImage extends Layer {
109
176
  * @public
110
177
  * @return {Array.<Array<number>>} - (exactly 3 entries)
111
178
  */
112
- getCorners() {
113
- var c = this._cornersWgs84;
179
+ public getCorners(): NumberArray2[] {
180
+ let c = this._cornersWgs84;
114
181
  return [
115
182
  [c[0].lon, c[0].lat],
116
183
  [c[1].lon, c[1].lat],
@@ -126,7 +193,7 @@ class BaseGeoImage extends Layer {
126
193
  * coincedents to the left top image corner, secont to the right top image corner, third to the right bottom
127
194
  * and fourth - left bottom image corner.
128
195
  */
129
- setCorners(corners) {
196
+ public setCorners(corners: NumberArray2[]) {
130
197
  this.setCornersLonLat(LonLat.join(corners));
131
198
  }
132
199
 
@@ -137,14 +204,14 @@ class BaseGeoImage extends Layer {
137
204
  * coincedents to the left top image corner, secont to the right top image corner, third to the right bottom
138
205
  * and fourth - left bottom image corner. (exactly 4 entries)
139
206
  */
140
- setCornersLonLat(corners) {
207
+ public setCornersLonLat(corners: LonLat[]) {
141
208
  this._refreshFrame = true;
142
209
  this._cornersWgs84 = [
143
210
  corners[0].clone(),
144
211
  corners[1].clone(),
145
212
  corners[2].clone(),
146
213
  corners[3].clone()
147
- ] || [0, 0, 0, 0];
214
+ ];
148
215
 
149
216
  for (let i = 0; i < this._cornersWgs84.length; i++) {
150
217
  if (this._cornersWgs84[i].lat >= 89.9) {
@@ -156,7 +223,7 @@ class BaseGeoImage extends Layer {
156
223
  }
157
224
  this._extent.setByCoordinates(this._cornersWgs84);
158
225
 
159
- var me = this._extent;
226
+ let me = this._extent;
160
227
  if (me.southWest.lat > mercator.MAX_LAT || me.northEast.lat < mercator.MIN_LAT) {
161
228
  this._projType = 0;
162
229
  this.rendering = this._renderingProjType0;
@@ -166,7 +233,7 @@ class BaseGeoImage extends Layer {
166
233
  }
167
234
 
168
235
  if (this._ready && !this._creationProceeding) {
169
- this._planet._geoImageCreator.add(this);
236
+ this._planet!._geoImageCreator.add(this);
170
237
  }
171
238
  }
172
239
 
@@ -174,7 +241,7 @@ class BaseGeoImage extends Layer {
174
241
  * Creates geoImage frame.
175
242
  * @protected
176
243
  */
177
- _createFrame() {
244
+ protected _createFrame() {
178
245
  this._extentWgs84 = this._extent.clone();
179
246
 
180
247
  this._cornersMerc = [
@@ -220,17 +287,14 @@ class BaseGeoImage extends Layer {
220
287
 
221
288
  // creates material frame textures
222
289
  if (this._planet) {
223
- var p = this._planet,
224
- h = p.renderer.handler,
225
- gl = h.gl;
290
+ let p = this._planet,
291
+ h = p.renderer!.handler,
292
+ gl = h.gl!;
226
293
 
227
- gl.deleteTexture(this._materialTexture);
294
+ gl.deleteTexture(this._materialTexture as WebGLTexture);
228
295
  this._materialTexture = h.createEmptyTexture_l(this._frameWidth, this._frameHeight);
229
296
 
230
- let gridBufferArr = this._planet._geoImageCreator.createGridBuffer(
231
- this._cornersWgs84,
232
- this._projType
233
- );
297
+ let gridBufferArr = this._planet._geoImageCreator.createGridBuffer(this._cornersWgs84, this._projType === 1);
234
298
 
235
299
  this._gridBufferHigh = gridBufferArr[0];
236
300
  this._gridBufferLow = gridBufferArr[1];
@@ -240,10 +304,11 @@ class BaseGeoImage extends Layer {
240
304
  }
241
305
 
242
306
  /**
243
- * @virtual
307
+ * @public
308
+ * @override
244
309
  * @param {Material} material - GeoImage material.
245
310
  */
246
- abortMaterialLoading(material) {
311
+ public override abortMaterialLoading(material: Material) {
247
312
  this._creationProceeding = false;
248
313
  material.isLoading = false;
249
314
  material.isReady = false;
@@ -251,19 +316,21 @@ class BaseGeoImage extends Layer {
251
316
 
252
317
  /**
253
318
  * Clear layer material.
254
- * @virtual
319
+ * @public
320
+ * @override
255
321
  */
256
- clear() {
322
+ public override clear() {
257
323
  let p = this._planet;
258
324
 
259
325
  if (p) {
260
- let gl = p.renderer.handler.gl;
326
+ let gl = p.renderer!.handler.gl;
261
327
  this._creationProceeding && p._geoImageCreator.remove(this);
262
328
  p._clearLayerMaterial(this);
263
329
 
264
330
  if (gl) {
265
- gl.deleteBuffer(this._gridBuffer);
266
- gl.deleteTexture(this._sourceTexture);
331
+ gl.deleteBuffer(this._gridBufferHigh as WebGLBuffer);
332
+ gl.deleteBuffer(this._gridBufferLow as WebGLBuffer);
333
+ gl.deleteTexture(this._sourceTexture as WebGLTexture);
267
334
  this._materialTexture && !this._materialTexture.default && gl.deleteTexture(this._materialTexture);
268
335
  }
269
336
  }
@@ -271,7 +338,8 @@ class BaseGeoImage extends Layer {
271
338
  this._sourceTexture = null;
272
339
  this._materialTexture = null;
273
340
 
274
- this._gridBuffer = null;
341
+ this._gridBufferHigh = null;
342
+ this._gridBufferLow = null;
275
343
 
276
344
  this._refreshFrame = true;
277
345
  this._sourceCreated = false;
@@ -283,47 +351,46 @@ class BaseGeoImage extends Layer {
283
351
  /**
284
352
  * Sets layer visibility.
285
353
  * @public
286
- * @virtual
354
+ * @override
287
355
  * @param {boolean} visibility - GeoImage visibility.
288
356
  */
289
- setVisibility(visibility) {
357
+ public override setVisibility(visibility: boolean) {
290
358
  if (visibility !== this._visibility) {
291
359
  super.setVisibility(visibility);
292
360
 
293
361
  // remove from creator
294
- if (visibility) {
295
- this._sourceReady && this._planet._geoImageCreator.add(this);
296
- } else {
297
- this._sourceReady && this._planet._geoImageCreator.remove(this);
362
+ if (this._planet && this._sourceReady) {
363
+ if (visibility) {
364
+ this._planet._geoImageCreator.add(this);
365
+ } else {
366
+ this._planet._geoImageCreator.remove(this);
367
+ }
298
368
  }
299
369
  }
300
370
  }
301
371
 
302
372
  /**
303
- * @virtual
304
- * @protected
373
+ * @public
305
374
  * @param {Material} material - GeoImage material.
306
375
  */
307
- clearMaterial(material) {
308
- material.image = null;
376
+ public override clearMaterial(material: Material) {
309
377
  material.texture = null;
310
378
  material.isLoading = false;
311
379
  material.isReady = false;
312
380
  }
313
381
 
314
382
  /**
315
- * @virtual
316
- * @protected
317
- * @param {Material} material - GeoImage segment material.
318
- * @returns {Array<number> } -
383
+ * @public
384
+ * @override
385
+ * @returns {Array<number>} -
319
386
  */
320
- applyMaterial(material) {
321
- var segment = material.segment;
387
+ public override applyMaterial(material: Material): NumberArray4 {
388
+ let segment = material.segment;
322
389
 
323
390
  if (this._ready) {
324
391
  material.applyTexture(this._materialTexture);
325
392
  } else {
326
- material.texture = this._planet.transparentTexture;
393
+ material.texture = this._planet!.transparentTexture;
327
394
  !this._creationProceeding && this.loadMaterial(material);
328
395
  }
329
396
 
@@ -336,12 +403,13 @@ class BaseGeoImage extends Layer {
336
403
  v0t = segment.getExtentMerc();
337
404
  }
338
405
 
339
- var sSize_x = v0s.northEast.lon - v0s.southWest.lon;
340
- var sSize_y = v0s.northEast.lat - v0s.southWest.lat;
341
- var dV0s_x = (v0t.southWest.lon - v0s.southWest.lon) / sSize_x;
342
- var dV0s_y = (v0s.northEast.lat - v0t.northEast.lat) / sSize_y;
343
- var dSize_x = (v0t.northEast.lon - v0t.southWest.lon) / sSize_x;
344
- var dSize_y = (v0t.northEast.lat - v0t.southWest.lat) / sSize_y;
406
+ let sSize_x = v0s.northEast.lon - v0s.southWest.lon;
407
+ let sSize_y = v0s.northEast.lat - v0s.southWest.lat;
408
+ let dV0s_x = (v0t.southWest.lon - v0s.southWest.lon) / sSize_x;
409
+ let dV0s_y = (v0s.northEast.lat - v0t.northEast.lat) / sSize_y;
410
+ let dSize_x = (v0t.northEast.lon - v0t.southWest.lon) / sSize_x;
411
+ let dSize_y = (v0t.northEast.lat - v0t.southWest.lat) / sSize_y;
412
+
345
413
  return [dV0s_x, dV0s_y, dSize_x, dSize_y];
346
414
  }
347
415
 
@@ -350,7 +418,7 @@ class BaseGeoImage extends Layer {
350
418
  * @public
351
419
  * @returns {Number} Frame width.
352
420
  */
353
- get getFrameWidth() {
421
+ public get getFrameWidth(): number {
354
422
  return this._frameWidth;
355
423
  }
356
424
 
@@ -359,63 +427,62 @@ class BaseGeoImage extends Layer {
359
427
  * @public
360
428
  * @returns {Number} Frame height.
361
429
  */
362
- get getFrameHeight() {
430
+ public get getFrameHeight(): number {
363
431
  return this._frameHeight;
364
432
  }
365
433
 
366
434
  /**
367
435
  * Method depends on GeoImage instance
368
- * @virtual
369
- * @private
436
+ * @protected
370
437
  */
371
- _createSourceTexture() {
438
+ protected _createSourceTexture() {
372
439
  //empty
373
440
  }
374
441
 
375
- _renderingProjType1() {
376
- let p = this._planet,
377
- h = p.renderer.handler,
378
- gl = h.gl,
442
+ public _renderingProjType1() {
443
+ let p = this._planet!,
444
+ h = p.renderer!.handler,
445
+ gl = h.gl!,
379
446
  creator = p._geoImageCreator;
380
447
 
381
448
  this._refreshFrame && this._createFrame();
382
449
  this._createSourceTexture();
383
450
 
384
- let f = creator._framebuffer;
451
+ let f = creator._framebuffer!;
385
452
  f.setSize(this._frameWidth, this._frameHeight);
386
453
  f.activate();
387
454
 
388
455
  h.programs.geoImageTransform.activate();
389
- var sh = h.programs.geoImageTransform._program;
390
- var sha = sh.attributes,
456
+ let sh = h.programs.geoImageTransform._program;
457
+ let sha = sh.attributes,
391
458
  shu = sh.uniforms;
392
459
 
393
460
  gl.disable(gl.CULL_FACE);
394
461
 
395
- f.bindOutputTexture(this._materialTexture);
462
+ f.bindOutputTexture(this._materialTexture as WebGLTexture);
396
463
  gl.clearColor(0.0, 0.0, 0.0, 0.0);
397
464
  gl.clear(gl.COLOR_BUFFER_BIT);
398
465
 
399
466
  gl.uniform1i(shu.isFullExtent, this._isFullExtent);
400
467
 
401
- gl.bindBuffer(gl.ARRAY_BUFFER, creator._texCoordsBuffer);
468
+ gl.bindBuffer(gl.ARRAY_BUFFER, creator._texCoordsBuffer as WebGLBuffer);
402
469
 
403
470
  gl.vertexAttribPointer(sha.texCoords, 2, gl.UNSIGNED_SHORT, true, 0, 0);
404
471
 
405
- gl.bindBuffer(gl.ARRAY_BUFFER, this._gridBufferHigh);
406
- gl.vertexAttribPointer(sha.cornersHigh, this._gridBufferHigh.itemSize, gl.FLOAT, false, 0, 0);
472
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._gridBufferHigh as WebGLBuffer);
473
+ gl.vertexAttribPointer(sha.cornersHigh, this._gridBufferHigh!.itemSize, gl.FLOAT, false, 0, 0);
407
474
 
408
- gl.bindBuffer(gl.ARRAY_BUFFER, this._gridBufferLow);
409
- gl.vertexAttribPointer(sha.cornersLow, this._gridBufferLow.itemSize, gl.FLOAT, false, 0, 0);
475
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._gridBufferLow as WebGLBuffer);
476
+ gl.vertexAttribPointer(sha.cornersLow, this._gridBufferLow!.itemSize, gl.FLOAT, false, 0, 0);
410
477
 
411
478
  gl.uniform4fv(shu.extentParamsHigh, this._extentMercParamsHigh);
412
479
  gl.uniform4fv(shu.extentParamsLow, this._extentMercParamsLow);
413
480
 
414
481
  gl.activeTexture(gl.TEXTURE0);
415
- gl.bindTexture(gl.TEXTURE_2D, this._sourceTexture);
482
+ gl.bindTexture(gl.TEXTURE_2D, this._sourceTexture as WebGLTexture);
416
483
  gl.uniform1i(shu.sourceTexture, 0);
417
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, creator._indexBuffer);
418
- gl.drawElements(gl.TRIANGLE_STRIP, creator._indexBuffer.numItems, gl.UNSIGNED_INT, 0);
484
+ gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, creator._indexBuffer as WebGLBuffer);
485
+ gl.drawElements(gl.TRIANGLE_STRIP, creator._indexBuffer!.numItems, gl.UNSIGNED_INT, 0);
419
486
  f.deactivate();
420
487
 
421
488
  gl.enable(gl.CULL_FACE);
@@ -425,16 +492,16 @@ class BaseGeoImage extends Layer {
425
492
  this._creationProceeding = false;
426
493
  }
427
494
 
428
- _renderingProjType0() {
429
- let p = this._planet,
430
- h = p.renderer.handler,
431
- gl = h.gl,
495
+ protected _renderingProjType0() {
496
+ let p = this._planet!,
497
+ h = p.renderer!.handler,
498
+ gl = h.gl!,
432
499
  creator = p._geoImageCreator;
433
500
 
434
501
  this._refreshFrame && this._createFrame();
435
502
  this._createSourceTexture();
436
503
 
437
- let f = creator._framebuffer;
504
+ let f = creator._framebuffer!;
438
505
  f.setSize(this._frameWidth, this._frameHeight);
439
506
  f.activate();
440
507
 
@@ -445,28 +512,28 @@ class BaseGeoImage extends Layer {
445
512
 
446
513
  gl.disable(gl.CULL_FACE);
447
514
 
448
- f.bindOutputTexture(this._materialTexture);
515
+ f.bindOutputTexture(this._materialTexture as WebGLTexture);
449
516
  gl.clearColor(0.0, 0.0, 0.0, 0.0);
450
517
  gl.clear(gl.COLOR_BUFFER_BIT);
451
- gl.bindBuffer(gl.ARRAY_BUFFER, creator._texCoordsBuffer);
518
+ gl.bindBuffer(gl.ARRAY_BUFFER, creator._texCoordsBuffer as WebGLBuffer);
452
519
 
453
520
  gl.vertexAttribPointer(sha.texCoords, 2, gl.UNSIGNED_SHORT, true, 0, 0);
454
521
 
455
- gl.bindBuffer(gl.ARRAY_BUFFER, this._gridBufferHigh);
456
- gl.vertexAttribPointer(sha.cornersHigh, this._gridBufferHigh.itemSize, gl.FLOAT, false, 0, 0);
522
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._gridBufferHigh as WebGLBuffer);
523
+ gl.vertexAttribPointer(sha.cornersHigh, this._gridBufferHigh!.itemSize, gl.FLOAT, false, 0, 0);
457
524
 
458
- gl.bindBuffer(gl.ARRAY_BUFFER, this._gridBufferLow);
459
- gl.vertexAttribPointer(sha.cornersLow, this._gridBufferLow.itemSize, gl.FLOAT, false, 0, 0);
525
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._gridBufferLow as WebGLBuffer);
526
+ gl.vertexAttribPointer(sha.cornersLow, this._gridBufferLow!.itemSize, gl.FLOAT, false, 0, 0);
460
527
 
461
528
  gl.uniform4fv(shu.extentParamsHigh, this._extentWgs84ParamsHigh);
462
529
  gl.uniform4fv(shu.extentParamsLow, this._extentWgs84ParamsLow);
463
530
 
464
531
  gl.activeTexture(gl.TEXTURE0);
465
- gl.bindTexture(gl.TEXTURE_2D, this._sourceTexture);
532
+ gl.bindTexture(gl.TEXTURE_2D, this._sourceTexture as WebGLTexture);
466
533
  gl.uniform1i(shu.sourceTexture, 0);
467
534
 
468
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, creator._indexBuffer);
469
- gl.drawElements(gl.TRIANGLE_STRIP, creator._indexBuffer.numItems, gl.UNSIGNED_INT, 0);
535
+ gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, creator._indexBuffer as WebGLBuffer);
536
+ gl.drawElements(gl.TRIANGLE_STRIP, creator._indexBuffer!.numItems, gl.UNSIGNED_INT, 0);
470
537
  f.deactivate();
471
538
 
472
539
  gl.enable(gl.CULL_FACE);
@@ -477,4 +544,4 @@ class BaseGeoImage extends Layer {
477
544
  }
478
545
  }
479
546
 
480
- export { BaseGeoImage };
547
+ export {BaseGeoImage};