@openglobus/og 0.17.2 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (490) hide show
  1. package/README.md +75 -46
  2. package/dist/@openglobus/og.esm.js +1 -20
  3. package/dist/@openglobus/og.esm.js.map +1 -1
  4. package/dist/@openglobus/og.umd.js +1 -20
  5. package/dist/@openglobus/og.umd.js.map +1 -1
  6. package/dist/@openglobus/res/fonts/Karla-Bold.json +5252 -0
  7. package/dist/@openglobus/res/fonts/Karla-Bold.ttf.cfg +920 -0
  8. package/dist/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
  9. package/dist/@openglobus/res/fonts/Karla-Light.json +5252 -0
  10. package/dist/@openglobus/res/fonts/Karla-Light.ttf.cfg +830 -0
  11. package/dist/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
  12. package/dist/@openglobus/res/fonts/Karla-Medium.json +5252 -0
  13. package/dist/@openglobus/res/fonts/Karla-Medium.ttf.cfg +1196 -0
  14. package/dist/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
  15. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.json +3332 -0
  16. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +1370 -0
  17. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
  18. package/dist/@openglobus/res/fonts/Roboto-Regular.json +37147 -0
  19. package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +1340 -0
  20. package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
  21. package/dist/@openglobus/res/fonts/arial.json +4321 -0
  22. package/dist/@openglobus/res/fonts/arial.ttf.cfg +1570 -0
  23. package/dist/@openglobus/res/fonts/arial.ttf.png +0 -0
  24. package/dist/@openglobus/res/night-4326.png +0 -0
  25. package/dist/@openglobus/res/night.png +0 -0
  26. package/dist/@openglobus/res/spec.png +0 -0
  27. package/package.json +25 -23
  28. package/src/{og/Clock.js → Clock.ts} +100 -78
  29. package/src/Deferred.ts +17 -0
  30. package/src/Events.ts +200 -0
  31. package/src/{og/Extent.js → Extent.ts} +324 -352
  32. package/src/Globe.ts +363 -0
  33. package/src/{og/ImageCanvas.js → ImageCanvas.ts} +244 -236
  34. package/src/Lock.ts +41 -0
  35. package/src/{og/LonLat.js → LonLat.ts} +50 -47
  36. package/src/{og/Object3d.js → Object3d.ts} +89 -55
  37. package/src/Popup.ts +228 -0
  38. package/src/{og/QueueArray.js → QueueArray.ts} +76 -75
  39. package/src/{og/Rectangle.js → Rectangle.ts} +115 -111
  40. package/src/Stack.ts +58 -0
  41. package/src/{og/astro/astro.js → astro/astro.ts} +49 -51
  42. package/src/{og/astro/earth.js → astro/earth.ts} +8 -9
  43. package/src/{og/astro/jd.js → astro/jd.ts} +92 -111
  44. package/src/{og/astro/orbit.js → astro/orbit.ts} +35 -37
  45. package/src/{og/astro/rotation.js → astro/rotation.ts} +4 -6
  46. package/src/{og/bv/Box.js → bv/Box.ts} +21 -17
  47. package/src/{og/bv/Sphere.js → bv/Sphere.ts} +21 -19
  48. package/src/bv/index.ts +4 -0
  49. package/src/{og/camera/Camera.js → camera/Camera.ts} +254 -197
  50. package/src/{og/camera/Frustum.js → camera/Frustum.ts} +137 -111
  51. package/src/{og/camera/PlanetCamera.js → camera/PlanetCamera.ts} +246 -182
  52. package/src/camera/index.ts +4 -0
  53. package/src/{og/cons.js → cons.ts} +14 -18
  54. package/src/{og/control/Atmosphere.js → control/Atmosphere.ts} +50 -50
  55. package/src/{og/control/CompassButton.js → control/CompassButton.ts} +27 -30
  56. package/src/{og/control/Control.js → control/Control.ts} +76 -70
  57. package/src/{og/control/DebugInfo.js → control/DebugInfo.ts} +130 -62
  58. package/src/{og/control/DrawingSwitcher.js → control/DrawingSwitcher.ts} +16 -22
  59. package/src/control/EarthCoordinates.ts +222 -0
  60. package/src/control/EarthNavigation.ts +293 -0
  61. package/src/{og/control/GeoImageDragControl.js → control/GeoImageDragControl.ts} +37 -29
  62. package/src/control/KeyboardNavigation.ts +168 -0
  63. package/src/{og/control/LayerAnimation.js → control/LayerAnimation.ts} +74 -90
  64. package/src/control/LayerSwitcher.ts +76 -0
  65. package/src/{og/control/Lighting.js → control/Lighting.ts} +158 -120
  66. package/src/control/MouseNavigation.ts +468 -0
  67. package/src/control/MouseWheelZoomControl.ts +269 -0
  68. package/src/{og/control/RulerSwitcher.js → control/RulerSwitcher.ts} +18 -20
  69. package/src/control/ScaleControl.ts +131 -0
  70. package/src/control/SegmentBoundVisualization.ts +50 -0
  71. package/src/control/ShowFps.ts +28 -0
  72. package/src/control/SimpleNavigation.ts +118 -0
  73. package/src/{og/control/SimpleSkyBackground.js → control/SimpleSkyBackground.ts} +36 -38
  74. package/src/{og/control/Sun.js → control/Sun.ts} +56 -64
  75. package/src/control/ToggleWireframe.ts +35 -0
  76. package/src/control/TouchNavigation.ts +368 -0
  77. package/src/control/ZoomControl.ts +111 -0
  78. package/src/control/drawing/DrawingControl.ts +45 -0
  79. package/src/{og/control/drawing/LineStringDrawingScene.js → control/drawing/LineStringDrawingScene.ts} +28 -35
  80. package/src/{og/control/drawing/PolygonDrawingScene.js → control/drawing/PolygonDrawingScene.ts} +148 -201
  81. package/src/{og/control/elevationProfile/ElevationProfile.js → control/elevationProfile/ElevationProfile.ts} +70 -36
  82. package/src/control/heightRuler/HeightRuler.ts +16 -0
  83. package/src/{og/control/heightRuler/HeightRulerScene.js → control/heightRuler/HeightRulerScene.ts} +92 -87
  84. package/src/{og/control/heightRuler/HeightRulerSwitcher.js → control/heightRuler/HeightRulerSwitcher.ts} +3 -3
  85. package/src/control/index.ts +45 -0
  86. package/src/control/ruler/Ruler.ts +35 -0
  87. package/src/{og/control/ruler/RulerScene.js → control/ruler/RulerScene.ts} +163 -121
  88. package/src/{og/control/selection/Selection.js → control/selection/Selection.ts} +23 -21
  89. package/src/{og/control/selection/SelectionScene.js → control/selection/SelectionScene.ts} +64 -50
  90. package/src/{og/control/timeline/TimelineControl.js → control/timeline/TimelineControl.ts} +37 -28
  91. package/src/{og/control/timeline/TimelineModel.js → control/timeline/TimelineModel.ts} +50 -35
  92. package/src/{og/control/timeline/TimelineView.js → control/timeline/TimelineView.ts} +162 -113
  93. package/src/{og/control/timeline/timelineUtils.js → control/timeline/timelineUtils.ts} +11 -10
  94. package/src/{og/control → control}/visibleExtent/Segment.js +5 -5
  95. package/src/{og/control → control}/visibleExtent/VisibleExtent.js +8 -15
  96. package/src/{og/control/visibleExtent/drawnode.js → control/visibleExtent/drawnode.ts} +1 -3
  97. package/src/{og/ellipsoid/Ellipsoid.js → ellipsoid/Ellipsoid.ts} +113 -59
  98. package/src/ellipsoid/index.ts +4 -0
  99. package/src/{og/ellipsoid/wgs84.js → ellipsoid/wgs84.ts} +1 -3
  100. package/src/{og/entity/BaseBillboard.js → entity/BaseBillboard.ts} +128 -102
  101. package/src/entity/BaseBillboardHandler.ts +772 -0
  102. package/src/{og/entity/Billboard.js → entity/Billboard.ts} +77 -47
  103. package/src/entity/BillboardHandler.ts +135 -0
  104. package/src/{og/entity/Entity.js → entity/Entity.ts} +285 -226
  105. package/src/{og/entity/EntityCollection.js → entity/EntityCollection.ts} +340 -247
  106. package/src/{og/entity/GeoObject.js → entity/GeoObject.ts} +122 -67
  107. package/src/{og/entity/GeoObjectHandler.js → entity/GeoObjectHandler.ts} +273 -198
  108. package/src/entity/Geometry.ts +486 -0
  109. package/src/{og/entity/GeometryHandler.js → entity/GeometryHandler.ts} +383 -541
  110. package/src/{og/entity/Label.js → entity/Label.ts} +131 -83
  111. package/src/{og/entity/LabelHandler.js → entity/LabelHandler.ts} +289 -255
  112. package/src/{og/entity/LabelWorker.js → entity/LabelWorker.ts} +26 -36
  113. package/src/{og/entity/PointCloud.js → entity/PointCloud.ts} +200 -164
  114. package/src/entity/PointCloudHandler.ts +125 -0
  115. package/src/{og/entity/Polyline.js → entity/Polyline.ts} +517 -539
  116. package/src/{og/entity/PolylineHandler.js → entity/PolylineHandler.ts} +29 -31
  117. package/src/{og/entity/Ray.js → entity/Ray.ts} +89 -60
  118. package/src/{og/entity/RayHandler.js → entity/RayHandler.ts} +201 -306
  119. package/src/{og/entity/Strip.js → entity/Strip.ts} +143 -100
  120. package/src/{og/entity/StripHandler.js → entity/StripHandler.ts} +76 -72
  121. package/src/entity/index.ts +12 -0
  122. package/src/index.ts +173 -0
  123. package/src/input/KeyboardHandler.ts +196 -0
  124. package/src/{og/input/MouseHandler.js → input/MouseHandler.ts} +46 -35
  125. package/src/input/TouchHandler.ts +54 -0
  126. package/src/{og/input/input.js → input/input.ts} +1 -3
  127. package/src/{og/layer/BaseGeoImage.js → layer/BaseGeoImage.ts} +174 -107
  128. package/src/{og/layer/CanvasTiles.js → layer/CanvasTiles.ts} +139 -105
  129. package/src/{og/layer/GeoImage.js → layer/GeoImage.ts} +62 -52
  130. package/src/layer/GeoTexture2d.ts +56 -0
  131. package/src/{og/layer/GeoVideo.js → layer/GeoVideo.ts} +53 -53
  132. package/src/{og/layer/KML.js → layer/KML.ts} +63 -74
  133. package/src/{og/layer/Layer.js → layer/Layer.ts} +399 -223
  134. package/src/{og/layer/Material.js → layer/Material.ts} +40 -35
  135. package/src/{og/layer/Vector.js → layer/Vector.ts} +319 -267
  136. package/src/{og/layer/WMS.js → layer/WMS.ts} +76 -64
  137. package/src/{og/layer/XYZ.js → layer/XYZ.ts} +123 -98
  138. package/src/layer/index.ts +12 -0
  139. package/src/{og/light/LightSource.js → light/LightSource.ts} +132 -93
  140. package/src/{og/math/Line2.js → math/Line2.ts} +11 -8
  141. package/src/{og/math/Line3.js → math/Line3.ts} +49 -27
  142. package/src/{og/math/Mat3.js → math/Mat3.ts} +43 -27
  143. package/src/{og/math/Mat4.js → math/Mat4.ts} +110 -77
  144. package/src/{og/math/Plane.js → math/Plane.ts} +28 -23
  145. package/src/{og/math/Quat.js → math/Quat.ts} +238 -222
  146. package/src/{og/math/Ray.js → math/Ray.ts} +59 -63
  147. package/src/{og/math/Vec2.js → math/Vec2.ts} +85 -76
  148. package/src/{og/math/Vec3.js → math/Vec3.ts} +141 -140
  149. package/src/{og/math/Vec4.js → math/Vec4.ts} +64 -53
  150. package/src/{og/math/coder.js → math/coder.ts} +30 -27
  151. package/src/math/index.ts +26 -0
  152. package/src/{og/math.js → math.ts} +46 -49
  153. package/src/{og/mercator.js → mercator.ts} +143 -149
  154. package/src/{og/proj/EPSG3857.js → proj/EPSG3857.ts} +1 -3
  155. package/src/{og/proj/EPSG4326.js → proj/EPSG4326.ts} +11 -13
  156. package/src/{og/proj/Proj.js → proj/Proj.ts} +27 -23
  157. package/src/{og/quadTree/EPSG4326QuadTreeStrategy.js → quadTree/EPSG4326QuadTreeStrategy.ts} +10 -13
  158. package/src/{og/quadTree/EarthQuadTreeStrategy.js → quadTree/EarthQuadTreeStrategy.ts} +11 -13
  159. package/src/quadTree/EntityCollectionNode.ts +395 -0
  160. package/src/{og/quadTree/MarsQuadTreeStrategy.js → quadTree/MarsQuadTreeStrategy.ts} +10 -13
  161. package/src/{og/quadTree/Node.js → quadTree/Node.ts} +283 -191
  162. package/src/{og/quadTree/QuadTreeStrategy.js → quadTree/QuadTreeStrategy.ts} +35 -29
  163. package/src/quadTree/Wgs84QuadTreeStrategy.ts +22 -0
  164. package/src/quadTree/index.ts +14 -0
  165. package/src/{og/quadTree/quadTree.js → quadTree/quadTree.ts} +75 -77
  166. package/src/{og/renderer/Renderer.js → renderer/Renderer.ts} +454 -298
  167. package/src/{og/renderer/RendererEvents.js → renderer/RendererEvents.ts} +347 -256
  168. package/src/{og/scene/Axes.js → scene/Axes.ts} +26 -22
  169. package/src/{og/scene/BaseNode.js → scene/BaseNode.ts} +53 -47
  170. package/src/{og/scene/Planet.js → scene/Planet.ts} +776 -592
  171. package/src/{og/scene/RenderNode.js → scene/RenderNode.ts} +105 -91
  172. package/src/{og/scene/SkyBox.js → scene/SkyBox.ts} +29 -25
  173. package/src/scene/index.ts +6 -0
  174. package/src/{og/segment/Segment.js → segment/Segment.ts} +497 -371
  175. package/src/{og/segment/SegmentLonLat.js → segment/SegmentLonLat.ts} +81 -87
  176. package/src/{og/segment/SegmentLonLatWgs84.js → segment/SegmentLonLatWgs84.ts} +9 -16
  177. package/src/{og/segment/Slice.js → segment/Slice.ts} +15 -9
  178. package/src/{og/segment/segmentHelper.js → segment/segmentHelper.ts} +57 -49
  179. package/src/{og/shaders/atmos.js → shaders/atmos.ts} +4 -6
  180. package/src/{og/shaders/billboard.js → shaders/billboard.ts} +3 -5
  181. package/src/{og/shaders/bloom.js → shaders/bloom.ts} +2 -4
  182. package/src/{og/shaders/blur.js → shaders/blur.ts} +4 -7
  183. package/src/{og/shaders/depth.js → shaders/depth.ts} +1 -3
  184. package/src/{og/shaders/drawnode.js → shaders/drawnode.ts} +19 -21
  185. package/src/{og/shaders/geoObject.js → shaders/geoObject.ts} +17 -19
  186. package/src/{og/shaders/label.js → shaders/label.ts} +4 -6
  187. package/src/{og/shaders/lumFilter.js → shaders/lumFilter.ts} +2 -4
  188. package/src/{og/shaders/pickingMask.js → shaders/pickingMask.ts} +2 -4
  189. package/src/{og/shaders/pointCloud.js → shaders/pointCloud.ts} +7 -10
  190. package/src/{og/shaders/polyline.js → shaders/polyline.ts} +3 -200
  191. package/src/{og/shaders/ray.js → shaders/ray.ts} +2 -4
  192. package/src/{og/shaders/screenFrame.js → shaders/screenFrame.ts} +2 -4
  193. package/src/{og/shaders/skybox.js → shaders/skybox.ts} +7 -9
  194. package/src/{og/shaders/toneMapping.js → shaders/toneMapping.ts} +2 -4
  195. package/src/{og/shaders/utils.js → shaders/utils.ts} +0 -2
  196. package/src/{og/terrain/BilTerrain.js → terrain/BilTerrain.ts} +38 -32
  197. package/src/terrain/EmptyTerrain.ts +230 -0
  198. package/src/{og/terrain/Geoid.js → terrain/Geoid.ts} +67 -41
  199. package/src/{og/terrain/GlobusTerrain.js → terrain/GlobusTerrain.ts} +159 -153
  200. package/src/{og/terrain/MapboxTerrain.js → terrain/MapboxTerrain.ts} +58 -61
  201. package/src/terrain/index.ts +6 -0
  202. package/src/ui/Button.ts +121 -0
  203. package/src/ui/ButtonGroup.ts +63 -0
  204. package/src/ui/Dialog.ts +244 -0
  205. package/src/ui/Slider.ts +188 -0
  206. package/src/ui/ToggleButton.ts +68 -0
  207. package/src/{og/ui/View.js → ui/View.ts} +66 -59
  208. package/src/utils/BaseWorker.ts +60 -0
  209. package/src/utils/FontAtlas.ts +356 -0
  210. package/src/{og/utils/GeoImageCreator.js → utils/GeoImageCreator.ts} +45 -29
  211. package/src/{og/utils/ImagesCacheManager.js → utils/ImagesCacheManager.ts} +85 -70
  212. package/src/utils/Loader.ts +247 -0
  213. package/src/{og/utils/NormalMapCreator.js → utils/NormalMapCreator.ts} +114 -77
  214. package/src/{og/utils/PlainSegmentWorker.js → utils/PlainSegmentWorker.ts} +41 -24
  215. package/src/{og/utils/TerrainWorker.js → utils/TerrainWorker.ts} +51 -36
  216. package/src/utils/TextureAtlas.ts +322 -0
  217. package/src/{og/utils/VectorTileCreator.js → utils/VectorTileCreator.ts} +67 -52
  218. package/src/{og/utils/colorTable.js → utils/colorTable.ts} +142 -144
  219. package/src/{og/utils/earcut.js → utils/earcut.ts} +664 -661
  220. package/src/{og/utils/objParser.js → utils/objParser.ts} +66 -37
  221. package/src/{og/utils/shared.js → utils/shared.ts} +267 -206
  222. package/src/utils/units.ts +78 -0
  223. package/src/webgl/BaseFramebuffer.ts +125 -0
  224. package/src/webgl/Framebuffer.ts +206 -0
  225. package/src/webgl/Handler.ts +1414 -0
  226. package/src/webgl/Multisample.ts +153 -0
  227. package/src/webgl/Program.ts +451 -0
  228. package/src/{og/webgl/ProgramController.js → webgl/ProgramController.ts} +44 -43
  229. package/src/webgl/index.ts +13 -0
  230. package/src/{og/webgl/types.js → webgl/types.ts} +29 -31
  231. package/src/webgl/variableHandlers.ts +114 -0
  232. package/src/og/Deferred.js +0 -11
  233. package/src/og/Events.js +0 -185
  234. package/src/og/Globe.js +0 -342
  235. package/src/og/Lock.js +0 -44
  236. package/src/og/Popup.js +0 -187
  237. package/src/og/Stack.js +0 -49
  238. package/src/og/bv/index.js +0 -4
  239. package/src/og/camera/index.js +0 -4
  240. package/src/og/control/EarthCoordinates.js +0 -214
  241. package/src/og/control/EarthNavigation.js +0 -258
  242. package/src/og/control/KeyboardNavigation.js +0 -172
  243. package/src/og/control/LayerSwitcher.js +0 -424
  244. package/src/og/control/MouseNavigation.js +0 -436
  245. package/src/og/control/MouseWheelZoomControl.js +0 -253
  246. package/src/og/control/ScaleControl.js +0 -119
  247. package/src/og/control/SegmentBoundVisualization.js +0 -54
  248. package/src/og/control/ShowFps.js +0 -40
  249. package/src/og/control/SimpleNavigation.js +0 -123
  250. package/src/og/control/ToggleWireframe.js +0 -35
  251. package/src/og/control/TouchNavigation.js +0 -350
  252. package/src/og/control/ZoomControl.js +0 -115
  253. package/src/og/control/drawing/DrawingControl.js +0 -51
  254. package/src/og/control/heightRuler/HeightRuler.js +0 -12
  255. package/src/og/control/index.js +0 -56
  256. package/src/og/control/ruler/Ruler.js +0 -39
  257. package/src/og/ellipsoid/index.js +0 -4
  258. package/src/og/entity/BillboardHandler.js +0 -883
  259. package/src/og/entity/Geometry.js +0 -320
  260. package/src/og/entity/PointCloudHandler.js +0 -122
  261. package/src/og/entity/index.js +0 -9
  262. package/src/og/index.js +0 -112
  263. package/src/og/input/KeyboardHandler.js +0 -195
  264. package/src/og/input/TouchHandler.js +0 -59
  265. package/src/og/layer/GeoTexture2d.js +0 -50
  266. package/src/og/layer/index.js +0 -11
  267. package/src/og/math/index.js +0 -23
  268. package/src/og/quadTree/EntityCollectionNode.js +0 -391
  269. package/src/og/quadTree/Wgs84QuadTreeStrategy.js +0 -27
  270. package/src/og/quadTree/index.js +0 -14
  271. package/src/og/res/images.js +0 -8
  272. package/src/og/scene/index.js +0 -5
  273. package/src/og/terrain/EmptyTerrain.js +0 -174
  274. package/src/og/terrain/index.js +0 -6
  275. package/src/og/ui/Button.js +0 -107
  276. package/src/og/ui/ButtonGroup.js +0 -57
  277. package/src/og/ui/Dialog.js +0 -239
  278. package/src/og/ui/Slider.js +0 -170
  279. package/src/og/ui/ToggleButton.js +0 -51
  280. package/src/og/ui/UIhelpers.js +0 -155
  281. package/src/og/utils/BaseWorker.js +0 -46
  282. package/src/og/utils/FontAtlas.js +0 -218
  283. package/src/og/utils/Loader.js +0 -188
  284. package/src/og/utils/TextureAtlas.js +0 -291
  285. package/src/og/utils/functionComposition.js +0 -13
  286. package/src/og/utils/units.js +0 -78
  287. package/src/og/webgl/Framebuffer.js +0 -311
  288. package/src/og/webgl/Handler.js +0 -1170
  289. package/src/og/webgl/Multisample.js +0 -275
  290. package/src/og/webgl/Program.js +0 -407
  291. package/src/og/webgl/callbacks.js +0 -98
  292. package/src/og/webgl/index.js +0 -13
  293. package/src/og.jsdoc +0 -3
  294. package/types/Clock.d.ts +0 -99
  295. package/types/Deferred.d.ts +0 -6
  296. package/types/Events.d.ts +0 -78
  297. package/types/Extent.d.ts +0 -166
  298. package/types/Globe.d.ts +0 -108
  299. package/types/ImageCanvas.d.ts +0 -128
  300. package/types/Lock.d.ts +0 -12
  301. package/types/LonLat.d.ts +0 -127
  302. package/types/Object3d.d.ts +0 -35
  303. package/types/Popup.d.ts +0 -29
  304. package/types/QueueArray.d.ts +0 -19
  305. package/types/Rectangle.d.ts +0 -80
  306. package/types/Stack.d.ts +0 -19
  307. package/types/arial.d.ts +0 -49
  308. package/types/astro/astro.d.ts +0 -38
  309. package/types/astro/earth.d.ts +0 -7
  310. package/types/astro/jd.d.ts +0 -254
  311. package/types/bv/Box.d.ts +0 -30
  312. package/types/bv/Sphere.d.ts +0 -38
  313. package/types/bv/index.d.ts +0 -3
  314. package/types/camera/Camera.d.ts +0 -314
  315. package/types/camera/Frustum.d.ts +0 -133
  316. package/types/camera/PlanetCamera.d.ts +0 -219
  317. package/types/camera/index.d.ts +0 -3
  318. package/types/cons.d.ts +0 -40
  319. package/types/control/Atmosphere.d.ts +0 -15
  320. package/types/control/CompassButton.d.ts +0 -16
  321. package/types/control/Control.d.ts +0 -104
  322. package/types/control/DebugInfo.d.ts +0 -19
  323. package/types/control/DrawingSwitcher.d.ts +0 -13
  324. package/types/control/EarthCoordinates.d.ts +0 -44
  325. package/types/control/EarthNavigation.d.ts +0 -43
  326. package/types/control/GeoImageDragControl.d.ts +0 -14
  327. package/types/control/KeyboardNavigation.d.ts +0 -24
  328. package/types/control/LayerAnimation.d.ts +0 -73
  329. package/types/control/LayerSwitcher.d.ts +0 -64
  330. package/types/control/Lighting.d.ts +0 -41
  331. package/types/control/MouseNavigation.d.ts +0 -49
  332. package/types/control/MouseWheelZoomControl.d.ts +0 -46
  333. package/types/control/ScaleControl.d.ts +0 -23
  334. package/types/control/ShowFps.d.ts +0 -11
  335. package/types/control/SimpleNavigation.d.ts +0 -26
  336. package/types/control/SimpleSkyBackground.d.ts +0 -15
  337. package/types/control/Sun.d.ts +0 -53
  338. package/types/control/ToggleWireframe.d.ts +0 -12
  339. package/types/control/TouchNavigation.d.ts +0 -54
  340. package/types/control/ZoomControl.d.ts +0 -26
  341. package/types/control/drawing/DrawingControl.d.ts +0 -14
  342. package/types/control/drawing/LineStringDrawingScene.d.ts +0 -5
  343. package/types/control/drawing/PolygonDrawingScene.d.ts +0 -99
  344. package/types/control/heightRuler/HeightRuler.d.ts +0 -6
  345. package/types/control/heightRuler/HeightRulerScene.d.ts +0 -23
  346. package/types/control/index.d.ts +0 -27
  347. package/types/control/ruler/Ruler.d.ts +0 -13
  348. package/types/control/ruler/RulerScene.d.ts +0 -51
  349. package/types/control/selection/Selection.d.ts +0 -49
  350. package/types/control/selection/SelectionScene.d.ts +0 -32
  351. package/types/control/timeline/TimelineControl.d.ts +0 -10
  352. package/types/control/timeline/TimelineModel.d.ts +0 -33
  353. package/types/control/timeline/TimelineView.d.ts +0 -57
  354. package/types/control/timeline/timelineUtils.d.ts +0 -9
  355. package/types/ellipsoid/Ellipsoid.d.ts +0 -170
  356. package/types/ellipsoid/index.d.ts +0 -3
  357. package/types/ellipsoid/wgs84.d.ts +0 -6
  358. package/types/entity/BaseBillboard.d.ts +0 -215
  359. package/types/entity/Billboard.d.ts +0 -94
  360. package/types/entity/BillboardHandler.d.ts +0 -75
  361. package/types/entity/Entity.d.ts +0 -340
  362. package/types/entity/EntityCollection.d.ts +0 -303
  363. package/types/entity/GeoObject.d.ts +0 -117
  364. package/types/entity/GeoObjectHandler.d.ts +0 -41
  365. package/types/entity/Geometry.d.ts +0 -79
  366. package/types/entity/GeometryHandler.d.ts +0 -76
  367. package/types/entity/Label.d.ts +0 -190
  368. package/types/entity/LabelHandler.d.ts +0 -31
  369. package/types/entity/LabelWorker.d.ts +0 -9
  370. package/types/entity/PointCloud.d.ts +0 -174
  371. package/types/entity/PointCloudHandler.d.ts +0 -38
  372. package/types/entity/Polyline.d.ts +0 -307
  373. package/types/entity/PolylineHandler.d.ts +0 -18
  374. package/types/entity/Ray.d.ts +0 -122
  375. package/types/entity/RayHandler.d.ts +0 -63
  376. package/types/entity/Strip.d.ts +0 -119
  377. package/types/entity/StripHandler.d.ts +0 -38
  378. package/types/entity/index.d.ts +0 -8
  379. package/types/index.d.ts +0 -53
  380. package/types/input/KeyboardHandler.d.ts +0 -17
  381. package/types/input/MouseHandler.d.ts +0 -5
  382. package/types/input/TouchHandler.d.ts +0 -5
  383. package/types/input/input.d.ts +0 -42
  384. package/types/layer/BaseGeoImage.d.ts +0 -116
  385. package/types/layer/CanvasTiles.d.ts +0 -73
  386. package/types/layer/GeoImage.d.ts +0 -51
  387. package/types/layer/GeoTexture2d.d.ts +0 -7
  388. package/types/layer/GeoVideo.d.ts +0 -47
  389. package/types/layer/KML.d.ts +0 -93
  390. package/types/layer/Layer.d.ts +0 -320
  391. package/types/layer/Material.d.ts +0 -45
  392. package/types/layer/Vector.d.ts +0 -211
  393. package/types/layer/WMS.d.ts +0 -66
  394. package/types/layer/XYZ.d.ts +0 -122
  395. package/types/layer/index.d.ts +0 -10
  396. package/types/light/LightSource.d.ts +0 -178
  397. package/types/math/Line2.d.ts +0 -11
  398. package/types/math/Line3.d.ts +0 -10
  399. package/types/math/Mat3.d.ts +0 -65
  400. package/types/math/Mat4.d.ts +0 -176
  401. package/types/math/Plane.d.ts +0 -18
  402. package/types/math/Quat.d.ts +0 -379
  403. package/types/math/Ray.d.ts +0 -82
  404. package/types/math/Vec2.d.ts +0 -309
  405. package/types/math/Vec3.d.ts +0 -472
  406. package/types/math/Vec4.d.ts +0 -161
  407. package/types/math/coder.d.ts +0 -43
  408. package/types/math/index.d.ts +0 -11
  409. package/types/math.d.ts +0 -268
  410. package/types/mercator.d.ts +0 -92
  411. package/types/proj/EPSG3857.d.ts +0 -6
  412. package/types/proj/EPSG4326.d.ts +0 -6
  413. package/types/proj/Proj.d.ts +0 -42
  414. package/types/quadTree/EPSG4326QuadTreeStrategy.d.ts +0 -3
  415. package/types/quadTree/EarthQuadTreeStrategy.d.ts +0 -3
  416. package/types/quadTree/EntityCollectionNode.d.ts +0 -41
  417. package/types/quadTree/MarsQuadTreeStrategy.d.ts +0 -3
  418. package/types/quadTree/Node.d.ts +0 -58
  419. package/types/quadTree/QuadTreeStrategy.d.ts +0 -21
  420. package/types/quadTree/Wgs84QuadTreeStrategy.d.ts +0 -3
  421. package/types/quadTree/index.d.ts +0 -12
  422. package/types/quadTree/quadTree.d.ts +0 -40
  423. package/types/renderer/Renderer.d.ts +0 -291
  424. package/types/renderer/RendererEvents.d.ts +0 -241
  425. package/types/res/images.d.ts +0 -2
  426. package/types/scene/Axes.d.ts +0 -10
  427. package/types/scene/BaseNode.d.ts +0 -60
  428. package/types/scene/Planet.d.ts +0 -594
  429. package/types/scene/RenderNode.d.ts +0 -152
  430. package/types/scene/SkyBox.d.ts +0 -9
  431. package/types/scene/index.d.ts +0 -4
  432. package/types/segment/Segment.d.ts +0 -273
  433. package/types/segment/SegmentLonLat.d.ts +0 -22
  434. package/types/segment/SegmentLonLatWgs84.d.ts +0 -4
  435. package/types/segment/Slice.d.ts +0 -10
  436. package/types/segment/segmentHelper.d.ts +0 -13
  437. package/types/shaders/atmos.d.ts +0 -4
  438. package/types/shaders/billboard.d.ts +0 -3
  439. package/types/shaders/depth.d.ts +0 -2
  440. package/types/shaders/drawnode.d.ts +0 -8
  441. package/types/shaders/geoObject.d.ts +0 -3
  442. package/types/shaders/label.d.ts +0 -4
  443. package/types/shaders/pickingMask.d.ts +0 -2
  444. package/types/shaders/pointCloud.d.ts +0 -2
  445. package/types/shaders/polyline.d.ts +0 -3
  446. package/types/shaders/ray.d.ts +0 -2
  447. package/types/shaders/screenFrame.d.ts +0 -2
  448. package/types/shaders/skybox.d.ts +0 -2
  449. package/types/shaders/toneMapping.d.ts +0 -2
  450. package/types/shaders/utils.d.ts +0 -1
  451. package/types/terrain/BilTerrain.d.ts +0 -14
  452. package/types/terrain/EmptyTerrain.d.ts +0 -87
  453. package/types/terrain/Geoid.d.ts +0 -17
  454. package/types/terrain/GlobusTerrain.d.ts +0 -122
  455. package/types/terrain/MapboxTerrain.d.ts +0 -14
  456. package/types/terrain/index.d.ts +0 -5
  457. package/types/ui/Button.d.ts +0 -21
  458. package/types/ui/ButtonGroup.d.ts +0 -12
  459. package/types/ui/Dialog.d.ts +0 -41
  460. package/types/ui/Slider.d.ts +0 -33
  461. package/types/ui/ToggleButton.d.ts +0 -10
  462. package/types/ui/UIhelpers.d.ts +0 -13
  463. package/types/ui/View.d.ts +0 -33
  464. package/types/ui/icons.d.ts +0 -1
  465. package/types/utils/BaseWorker.d.ts +0 -14
  466. package/types/utils/FontAtlas.d.ts +0 -16
  467. package/types/utils/GeoImageCreator.d.ts +0 -30
  468. package/types/utils/ImagesCacheManager.d.ts +0 -10
  469. package/types/utils/Loader.d.ts +0 -31
  470. package/types/utils/NormalMapCreator.d.ts +0 -39
  471. package/types/utils/PlainSegmentWorker.d.ts +0 -8
  472. package/types/utils/TerrainWorker.d.ts +0 -7
  473. package/types/utils/TextureAtlas.d.ts +0 -113
  474. package/types/utils/VectorTileCreator.d.ts +0 -14
  475. package/types/utils/colorTable.d.ts +0 -143
  476. package/types/utils/earcut.d.ts +0 -6
  477. package/types/utils/functionComposition.d.ts +0 -5
  478. package/types/utils/objParser.d.ts +0 -8
  479. package/types/utils/shared.d.ts +0 -241
  480. package/types/utils/units.d.ts +0 -20
  481. package/types/webgl/Framebuffer.d.ts +0 -134
  482. package/types/webgl/Handler.d.ts +0 -403
  483. package/types/webgl/Multisample.d.ts +0 -91
  484. package/types/webgl/Program.d.ts +0 -163
  485. package/types/webgl/ProgramController.d.ts +0 -89
  486. package/types/webgl/callbacks.d.ts +0 -1
  487. package/types/webgl/index.d.ts +0 -6
  488. package/types/webgl/types.d.ts +0 -2
  489. /package/{src/og → dist/@openglobus/res/fonts}/arial.js +0 -0
  490. /package/src/{og/ui/icons.js → ui/icons.ts} +0 -0
@@ -1,9 +1,8 @@
1
- 'use strict';
2
-
3
- import { ButtonGroup } from "../../ui/ButtonGroup.js";
4
- import { ToggleButton } from "../../ui/ToggleButton.js";
5
- import { View } from '../../ui/View.js';
6
- import { TimelineModel } from './TimelineModel.js';
1
+ import {EventsHandler} from "../../Events";
2
+ import {ButtonGroup} from "../../ui/ButtonGroup";
3
+ import {IViewParams, View, ViewEventsList} from '../../ui/View';
4
+ import {ToggleButton} from "../../ui/ToggleButton";
5
+ import {TimelineModel} from './TimelineModel';
7
6
  import {
8
7
  addSeconds,
9
8
  createCanvasHTML,
@@ -12,11 +11,35 @@ import {
12
11
  drawText,
13
12
  getNearestTimeLeft,
14
13
  getScale
15
- } from './timelineUtils.js';
14
+ } from './timelineUtils';
15
+ import {MouseEventExt} from "../../input/MouseHandler";
16
+
17
+ interface ITimelineViewParams extends IViewParams {
18
+ currentDate?: Date;
19
+ rangeStart?: Date;
20
+ rangeEnd?: Date;
21
+ minDate?: Date;
22
+ maxDate?: Date;
23
+ fillStyle?: string
24
+ }
16
25
 
17
26
  const SECONDS_TO_MILLISECONDS = 1000.0;
18
27
  const MILLISECONDS_TO_SECONDS = 1.0 / SECONDS_TO_MILLISECONDS;
19
- const EVENT_LIST = [
28
+
29
+ type TimelineViewEventsList = [
30
+ 'startdrag',
31
+ 'stopdrag',
32
+ 'startdragcurrent',
33
+ 'stopdragcurrent',
34
+ 'setcurrent',
35
+ 'reset',
36
+ 'play',
37
+ 'playback',
38
+ 'pause',
39
+ 'visibility'
40
+ ];
41
+
42
+ const TIMELINEVIEW_EVENTS: TimelineViewEventsList = [
20
43
  'startdrag',
21
44
  'stopdrag',
22
45
  'startdragcurrent',
@@ -58,12 +81,39 @@ const TEMPLATE =
58
81
 
59
82
  </div>`;
60
83
 
61
- class TimelineView extends View {
62
84
 
63
- constructor(options = {}) {
85
+ class TimelineView extends View<TimelineModel> {
86
+
87
+ public override events: EventsHandler<TimelineViewEventsList> & EventsHandler<ViewEventsList>;
88
+ public fillStyle: string;
89
+ public $controls: HTMLElement | null;
90
+ protected _frameEl: HTMLElement | null;
91
+ protected _currentEl: HTMLElement | null;
92
+ protected _canvasEl: HTMLCanvasElement;
93
+ protected _ctx: CanvasRenderingContext2D;
94
+ protected _isMouseOver: boolean;
95
+ protected _isDragging: boolean;
96
+ protected _isCurrentDragging: boolean;
97
+ protected _isCurrentMouseOver: boolean;
98
+ protected _minWidth: number;
99
+ protected _canvasScale: number;
100
+ protected _millisecondsInPixel: number;
101
+ protected _clickPosX: number;
102
+ protected _clickRangeStart: Date;
103
+ protected _clickRangeEnd: Date;
104
+ protected _clickCurrentDate: Date;
105
+ protected _clickTime: number;
106
+ protected _clickDelay: number;
107
+ protected _onResizeObserver_: () => void;
108
+ protected _resizeObserver: ResizeObserver;
109
+ protected _pauseBtn: ToggleButton;
110
+ protected _playBtn: ToggleButton;
111
+ protected _buttons: ButtonGroup;
112
+ protected _visibility: boolean;
113
+
114
+ constructor(options: ITimelineViewParams = {}) {
64
115
  super({
65
116
  template: TEMPLATE,
66
- eventList: EVENT_LIST,
67
117
  model: new TimelineModel({
68
118
  rangeStart: options.rangeStart,
69
119
  rangeEnd: options.rangeEnd,
@@ -73,14 +123,17 @@ class TimelineView extends View {
73
123
  })
74
124
  });
75
125
 
126
+ //@ts-ignore
127
+ this.events = this.events.registerNames(TIMELINEVIEW_EVENTS);
128
+
76
129
  this.fillStyle = options.fillStyle || SCALE_FILL_COLOR;
77
130
 
78
- this.$controls;
131
+ this.$controls = null;
79
132
 
80
133
  this._frameEl = null;
81
134
  this._currentEl = null;
82
135
  this._canvasEl = createCanvasHTML();
83
- this._ctx = this._canvasEl.getContext('2d');
136
+ this._ctx = this._canvasEl.getContext('2d')!;
84
137
 
85
138
  this._isMouseOver = false;
86
139
  this._isDragging = false;
@@ -119,78 +172,76 @@ class TimelineView extends View {
119
172
  buttons: [this._pauseBtn, this._playBtn]
120
173
  })
121
174
 
122
- this._visibility = null;
175
+ this._visibility = false;
123
176
  }
124
177
 
125
- _onResizeObserver() {
178
+ protected _onResizeObserver() {
126
179
  this.resize();
127
180
  }
128
181
 
129
- get canvasScale() {
182
+ public get canvasScale(): number {
130
183
  return this._canvasScale;
131
184
  }
132
185
 
133
- set canvasScale(scale) {
186
+ public set canvasScale(scale: number) {
134
187
  if (scale !== this._canvasScale) {
135
188
  this._canvasScale = scale;
136
189
  this.resize();
137
190
  }
138
191
  }
139
192
 
140
- resize() {
193
+ public resize() {
141
194
  this._resize();
142
195
  this.draw();
143
196
  }
144
197
 
145
- afterRender(parentNode) {
198
+ public override afterRender(parentNode: HTMLElement) {
146
199
  this.resize();
147
200
  }
148
201
 
149
- render() {
202
+ public override render(): this {
150
203
  super.render();
151
204
 
152
205
  this.$controls = this.select(".og-timeline-controls");
153
206
 
154
207
  this._frameEl = this.select(".og-timeline-frame");
155
208
  this._currentEl = this.select(".og-timeline-current");
156
- this.select(".og-timeline-frame .og-timeline-scale").appendChild(this._canvasEl);
209
+ this.select(".og-timeline-frame .og-timeline-scale")!.appendChild(this._canvasEl);
157
210
 
158
- this._resizeObserver.observe(this.el);
211
+ this._resizeObserver.observe(this.el!);
159
212
 
160
- this.model.on("change", () => {
213
+ this.model.events.on("change", () => {
161
214
  this.draw()
162
215
  });
163
216
 
164
- this.model.on("current", (d) => {
217
+ this.model.events.on("current", (d: Date) => {
165
218
  this._drawCurrent();
166
- this._events.dispatch(this._events.setcurrent, d);
219
+ this.events.dispatch(this.events.setcurrent, d);
167
220
  });
168
221
 
169
- this._canvasEl.addEventListener("mouseenter", this._onMouseEnter.bind(this));
170
- this._canvasEl.addEventListener("mouseout", this._onMouseOut.bind(this));
222
+ this._canvasEl.addEventListener("mouseenter", this._onMouseEnter);
223
+ this._canvasEl.addEventListener("mouseout", this._onMouseOut);
171
224
 
172
- this._currentEl.addEventListener("mouseenter", this._onCurrentMouseEnter.bind(this));
173
- this._currentEl.addEventListener("mouseout", this._onCurrentMouseOut.bind(this));
225
+ this._currentEl!.addEventListener("mouseenter", this._onCurrentMouseEnter);
226
+ this._currentEl!.addEventListener("mouseout", this._onCurrentMouseOut);
174
227
 
175
- document.body.addEventListener("mousemove", this._onMouseMove.bind(this));
176
- document.body.addEventListener("mousedown", this._onMouseDown.bind(this));
177
- document.body.addEventListener("mouseup", this._onMouseUp.bind(this));
178
- document.body.addEventListener("mousewheel", this._onMouseWheel.bind(this));
179
- document.body.addEventListener("wheel", this._onMouseWheelFF.bind(this));
228
+ document.body.addEventListener("mousemove", this._onMouseMove);
229
+ document.body.addEventListener("mousedown", this._onMouseDown);
230
+ document.body.addEventListener("mouseup", this._onMouseUp);
231
+ document.body.addEventListener("wheel", this._onMouseWheelFF);
180
232
 
181
- this._playBtn.appendTo(this.$controls);
182
- this._pauseBtn.appendTo(this.$controls);
233
+ this._playBtn.appendTo(this.$controls!);
234
+ this._pauseBtn.appendTo(this.$controls!);
183
235
 
184
236
  if (this.model.stopped()) {
185
237
  this._pauseBtn.setActive(true, true);
186
238
  this._pauseBtn.preventClick = true;
187
- }
188
- else {
239
+ } else {
189
240
  this._playBtn.setActive(true, true);
190
241
  this._playBtn.preventClick = true;
191
242
  }
192
243
 
193
- this._buttons.on("change", (btn) => {
244
+ this._buttons.events.on("change", (btn: ToggleButton) => {
194
245
  switch (btn.name) {
195
246
  case "play":
196
247
  this.play();
@@ -228,58 +279,60 @@ class TimelineView extends View {
228
279
  return this;
229
280
  }
230
281
 
231
- setVisibility(visibility) {
282
+ public setVisibility(visibility: boolean) {
232
283
  if (visibility !== this._visibility) {
233
284
  this._visibility = visibility;
234
- if (visibility) {
235
- this.el.style.display = "block";
236
- } else {
237
- this.el.style.display = "none";
285
+ if (this.el) {
286
+ if (visibility) {
287
+ this.el.style.display = "block";
288
+ } else {
289
+ this.el.style.display = "none";
290
+ }
238
291
  }
239
- this._events.dispatch(this._events.visibility, visibility);
292
+ this.events.dispatch(this.events.visibility, visibility);
240
293
  }
241
294
  }
242
295
 
243
- reset() {
296
+ public reset() {
244
297
  this.model.stop();
245
- this._events.dispatch(this._events.reset, this.model);
298
+ this.events.dispatch(this.events.reset, this.model);
246
299
  }
247
300
 
248
- play() {
301
+ public play() {
249
302
  this.model.multiplier = Math.abs(this.model.multiplier);
250
303
  this.model.play();
251
- this._events.dispatch(this._events.play, this.model);
304
+ this.events.dispatch(this.events.play, this.model);
252
305
  }
253
306
 
254
- pause() {
307
+ public pause() {
255
308
  this.model.stop();
256
- this._events.dispatch(this._events.pause, this.model);
309
+ this.events.dispatch(this.events.pause, this.model);
257
310
  }
258
311
 
259
- playBack() {
312
+ public playBack() {
260
313
  this.model.multiplier = -1 * Math.abs(this.model.multiplier);
261
314
  this.model.play();
262
- this._events.dispatch(this._events.playback, this.model);
315
+ this.events.dispatch(this.events.playback, this.model);
263
316
  }
264
317
 
265
- _onMouseWheel(e) {
318
+ protected _onMouseWheel = (e: MouseEventExt) => {
266
319
  if (this._isMouseOver) {
267
320
  let rect = this._canvasEl.getBoundingClientRect();
268
321
  let pointerPosX = e.clientX - rect.left,
269
322
  pointerCenterOffsetX = -(pointerPosX - this.clientWidth * 0.5);
270
323
  let pointerTime = this.model.rangeStartTime + this._millisecondsInPixel * pointerPosX;
271
- this._zoom(pointerTime, pointerCenterOffsetX, Math.sign(e.wheelDelta));
324
+ this._zoom(pointerTime, pointerCenterOffsetX, Math.sign(e.wheelDelta!));
272
325
  } else if (this._isCurrentMouseOver) {
273
326
  let pointerCenterOffsetX = -((this.model.currentTime - this.model.rangeStartTime) / this._millisecondsInPixel - this.clientWidth * 0.5);
274
- this._zoom(this.model.currentTime, pointerCenterOffsetX, Math.sign(e.wheelDelta));
327
+ this._zoom(this.model.currentTime, pointerCenterOffsetX, Math.sign(e.wheelDelta!));
275
328
  }
276
329
  }
277
330
 
278
- _onMouseWheelFF(e) {
331
+ protected _onMouseWheelFF = (e: MouseEventExt) => {
279
332
  this._onMouseWheel(e);
280
333
  }
281
334
 
282
- _zoom(pointerTime, pointerCenterOffsetX, dir) {
335
+ protected _zoom(pointerTime: number, pointerCenterOffsetX: number, dir: number) {
283
336
  let centerTime = this.model.rangeStartTime + 0.5 * this.model.range;
284
337
 
285
338
  let centerTimeOffset = (pointerTime - centerTime) * MILLISECONDS_TO_SECONDS;
@@ -303,7 +356,7 @@ class TimelineView extends View {
303
356
  }
304
357
  }
305
358
 
306
- _onMouseDown(e) {
359
+ protected _onMouseDown = (e: MouseEvent) => {
307
360
  if (this._isMouseOver) {
308
361
  this._isDragging = true;
309
362
  document.body.classList.add("og-timeline-unselectable");
@@ -314,7 +367,7 @@ class TimelineView extends View {
314
367
  this._clickRangeStart = this.model.rangeStart;
315
368
  this._clickRangeEnd = this.model.rangeEnd;
316
369
 
317
- this._events.dispatch(this._events.startdrag, e);
370
+ this.events.dispatch(this.events.startdrag, e);
318
371
  } else if (this._isCurrentMouseOver) {
319
372
  this._isCurrentDragging = true;
320
373
  document.body.classList.add("og-timeline-unselectable");
@@ -323,11 +376,11 @@ class TimelineView extends View {
323
376
 
324
377
  this._clickCurrentDate = this.model.current;
325
378
 
326
- this._events.dispatch(this._events.startdragcurrent, e);
379
+ this.events.dispatch(this.events.startdragcurrent, e);
327
380
  }
328
381
  }
329
382
 
330
- _onMouseUp(e) {
383
+ protected _onMouseUp = (e: MouseEvent) => {
331
384
  if (this._isDragging) {
332
385
  this._isDragging = false;
333
386
  document.body.classList.remove("og-timeline-unselectable");
@@ -335,35 +388,35 @@ class TimelineView extends View {
335
388
  let rect = this._canvasEl.getBoundingClientRect();
336
389
  let current = new Date(this.model.rangeStartTime + (e.clientX - rect.left) * this._millisecondsInPixel);
337
390
  this.model.current = current;
338
- this._events.dispatch(this._events.stopdrag, current);
339
- this._events.dispatch(this._events.setcurrent, current);
391
+ this.events.dispatch(this.events.stopdrag, current);
392
+ this.events.dispatch(this.events.setcurrent, current);
340
393
  } else {
341
- this._events.dispatch(this._events.stopdrag, this.model.current);
394
+ this.events.dispatch(this.events.stopdrag, this.model.current);
342
395
  }
343
396
  } else if (this._isCurrentDragging) {
344
397
  this._isCurrentDragging = false;
345
398
  document.body.classList.remove("og-timeline-unselectable");
346
- this._events.dispatch(this._events.stopdragcurrent, this.model.current);
399
+ this.events.dispatch(this.events.stopdragcurrent, this.model.current);
347
400
  }
348
401
  }
349
402
 
350
- _onMouseEnter() {
403
+ protected _onMouseEnter = () => {
351
404
  this._isMouseOver = true;
352
405
  }
353
406
 
354
- _onMouseOut() {
407
+ protected _onMouseOut = () => {
355
408
  this._isMouseOver = false;
356
409
  }
357
410
 
358
- _onCurrentMouseEnter() {
411
+ protected _onCurrentMouseEnter = () => {
359
412
  this._isCurrentMouseOver = true;
360
413
  }
361
414
 
362
- _onCurrentMouseOut() {
415
+ protected _onCurrentMouseOut = () => {
363
416
  this._isCurrentMouseOver = false;
364
417
  }
365
418
 
366
- _onMouseMove(e) {
419
+ protected _onMouseMove = (e: MouseEvent) => {
367
420
  if (this._isDragging) {
368
421
  let offsetSec = (this._clickPosX - e.clientX) * this._millisecondsInPixel * MILLISECONDS_TO_SECONDS;
369
422
  this.model.set(addSeconds(this._clickRangeStart, offsetSec), addSeconds(this._clickRangeEnd, offsetSec))
@@ -376,16 +429,16 @@ class TimelineView extends View {
376
429
  }
377
430
  }
378
431
 
379
- get clientWidth() {
432
+ public get clientWidth(): number {
380
433
  return this._canvasEl ? this._canvasEl.width / this._canvasScale : 0;
381
434
  }
382
435
 
383
- get clientHeight() {
436
+ public get clientHeight(): number {
384
437
  return this._canvasEl ? this._canvasEl.height / this._canvasScale : 0;
385
438
  }
386
439
 
387
- _resize() {
388
- if (this._canvasEl && this._frameEl) {
440
+ protected _resize() {
441
+ if (this._frameEl) {
389
442
  this._canvasEl.width = this._frameEl.clientWidth * this._canvasScale;
390
443
  this._canvasEl.height = this._frameEl.clientHeight * this._canvasScale;
391
444
  this._canvasEl.style.width = `${this._frameEl.clientWidth}px`;
@@ -394,69 +447,65 @@ class TimelineView extends View {
394
447
  }
395
448
  }
396
449
 
397
- getOffsetbyTime(milliseconds) {
450
+ public getOffsetByTime(milliseconds: number): number {
398
451
  return (milliseconds - this.model.rangeStartTime) / this._millisecondsInPixel;
399
452
  }
400
453
 
401
- remove() {
454
+ public override remove() {
402
455
  super.remove();
403
456
  this.model.stop();
404
457
  }
405
458
 
406
- _clearCanvas() {
407
- if (this._ctx) {
408
- this._ctx.fillStyle = this.fillStyle;
409
- this._ctx.fillRect(0, 0, this.clientWidth * this._canvasScale, this.clientHeight * this._canvasScale);
410
- }
459
+ protected _clearCanvas() {
460
+ this._ctx.fillStyle = this.fillStyle;
461
+ this._ctx.fillRect(0, 0, this.clientWidth * this._canvasScale, this.clientHeight * this._canvasScale);
411
462
  }
412
463
 
413
- _drawCurrent() {
464
+ protected _drawCurrent() {
414
465
  let curPosX = (this.model.currentTime - this.model.rangeStartTime) / this._millisecondsInPixel;
415
466
  if (this.model.current < this.model.rangeStart || this.model.current > this.model.rangeEnd) {
416
- this._currentEl.style.display = "none";
467
+ this._currentEl!.style.display = "none";
417
468
  } else {
418
- this._currentEl.style.display = "block";
419
- this._currentEl.style.transform = `translateX(${curPosX}px)`;
469
+ this._currentEl!.style.display = "block";
470
+ this._currentEl!.style.transform = `translateX(${curPosX}px)`;
420
471
  }
421
472
  }
422
473
 
423
- draw() {
424
- if (this._ctx) {
425
- this._millisecondsInPixel = (this.model.range / this.clientWidth);
426
- let minWidthMs = this._minWidth * this._millisecondsInPixel;
427
- let scaleData = getScale(minWidthMs * MILLISECONDS_TO_SECONDS);
428
- if (scaleData) {
474
+ public draw() {
475
+ this._millisecondsInPixel = (this.model.range / this.clientWidth);
476
+ let minWidthMs = this._minWidth * this._millisecondsInPixel;
477
+ let scaleData = getScale(minWidthMs * MILLISECONDS_TO_SECONDS);
478
+ if (scaleData) {
429
479
 
430
- this._clearCanvas();
480
+ this._clearCanvas();
431
481
 
432
- let scaleMs = scaleData[0] * SECONDS_TO_MILLISECONDS,
433
- scalePx = scaleMs / this._millisecondsInPixel,
434
- segCount = scaleData[1];
482
+ let scaleMs = scaleData[0] * SECONDS_TO_MILLISECONDS,
483
+ scalePx = scaleMs / this._millisecondsInPixel,
484
+ segCount = scaleData[1];
435
485
 
436
- let originTime = getNearestTimeLeft(this.model.rangeStartTime, scaleMs);
486
+ let originTime = getNearestTimeLeft(this.model.rangeStartTime, scaleMs);
437
487
 
438
- let showMillisconds = scaleData[0] < 1.0,
439
- showTime = scaleData[0] < 86400.0;
488
+ let showMilliseconds = scaleData[0] < 1.0,
489
+ showTime = scaleData[0] < 86400.0;
440
490
 
441
- for (let i = originTime, rangeEnd = this.model.rangeEndTime + scaleMs; i < rangeEnd; i += scaleMs) {
442
- let x = this.getOffsetbyTime(i);
443
- if (x >= 0 && x <= this.clientWidth * this._canvasScale) {
444
- drawNotch(this._ctx, x * this._canvasScale, 10 * this._canvasScale, 2 * this._canvasScale, SCALE_NOTCH_COLOR);
445
- }
446
- for (let j = 1; j < segCount; j++) {
447
- let xx = x + j * (scalePx / segCount);
448
- if (xx >= 0 && xx <= this.clientWidth * this._canvasScale) {
449
- drawNotch(this._ctx, xx * this._canvasScale, 5 * this._canvasScale, 1 * this._canvasScale, SCALE_NOTCH_COLOR);
450
- }
491
+ for (let i = originTime, rangeEnd = this.model.rangeEndTime + scaleMs; i < rangeEnd; i += scaleMs) {
492
+ let x = this.getOffsetByTime(i);
493
+ if (x >= 0 && x <= this.clientWidth * this._canvasScale) {
494
+ drawNotch(this._ctx, x * this._canvasScale, 10 * this._canvasScale, 2 * this._canvasScale, SCALE_NOTCH_COLOR);
495
+ }
496
+ for (let j = 1; j < segCount; j++) {
497
+ let xx = x + j * (scalePx / segCount);
498
+ if (xx >= 0 && xx <= this.clientWidth * this._canvasScale) {
499
+ drawNotch(this._ctx, xx * this._canvasScale, 5 * this._canvasScale, 1 * this._canvasScale, SCALE_NOTCH_COLOR);
451
500
  }
452
- drawText(this._ctx, dateToStr(new Date(i), showTime, showMillisconds), x * this._canvasScale, 26 * this._canvasScale, "24px monospace", SCALE_TIME_COLOR, "center");
453
501
  }
454
-
455
- this._drawCurrent();
502
+ drawText(this._ctx, dateToStr(new Date(i), showTime, showMilliseconds), x * this._canvasScale, 26 * this._canvasScale, "24px monospace", SCALE_TIME_COLOR, "center");
456
503
  }
504
+
505
+ this._drawCurrent();
457
506
  }
458
507
  }
459
508
  }
460
509
 
461
- export { TimelineView };
510
+ export {TimelineView};
462
511
 
@@ -1,12 +1,13 @@
1
- 'use strict';
1
+ import * as math from '../../math';
2
2
 
3
- import * as math from '../../math.js';
3
+ type BaselineType = "alphabetic" | "bottom" | "hanging" | "ideographic" | "middle" | "top";
4
+ type AlignType = "center" | "end" | "left" | "right" | "start";
4
5
 
5
- export function addSeconds(date, seconds) {
6
+ export function addSeconds(date: Date, seconds: number): Date {
6
7
  return new Date(+date + seconds * 1000);
7
8
  }
8
9
 
9
- export function dateToStr(date, showTime = true, showMilliseconds = false) {
10
+ export function dateToStr(date: Date, showTime: boolean = true, showMilliseconds: boolean = false): string {
10
11
 
11
12
  let month = MONTHS[date.getMonth()],
12
13
  day = date.getUTCDate(),
@@ -28,15 +29,15 @@ export function dateToStr(date, showTime = true, showMilliseconds = false) {
28
29
  return `${month} ${day} ${year}`;
29
30
  }
30
31
 
31
- export function createCanvasHTML() {
32
+ export function createCanvasHTML(): HTMLCanvasElement {
32
33
  return document.createElement("canvas");
33
34
  }
34
35
 
35
- export function getNearestTimeLeft(t, div) {
36
+ export function getNearestTimeLeft(t: number, div: number): number {
36
37
  return t - (t % div);
37
38
  }
38
39
 
39
- export function drawNotch(ctx, xOffset = 0, size = 10, thickness = 2, color = "white") {
40
+ export function drawNotch(ctx: CanvasRenderingContext2D, xOffset: number = 0, size: number = 10, thickness: number = 2, color: string = "white") {
40
41
  ctx.lineWidth = thickness;
41
42
  ctx.strokeStyle = color;
42
43
  ctx.beginPath();
@@ -45,7 +46,7 @@ export function drawNotch(ctx, xOffset = 0, size = 10, thickness = 2, color = "w
45
46
  ctx.stroke();
46
47
  }
47
48
 
48
- export function drawText(ctx, text, x, y, font = "12px Arial", fillStyle = "black", align = "left", baseLine = "bottom", rotDeg) {
49
+ export function drawText(ctx: CanvasRenderingContext2D, text: string, x: number, y: number, font: string = "12px Arial", fillStyle: string = "black", align: AlignType = "left", baseLine: BaselineType = "bottom", rotDeg: number = 0) {
49
50
  ctx.save();
50
51
  ctx.translate(x, y);
51
52
  ctx.rotate(rotDeg * math.RADIANS);
@@ -57,7 +58,7 @@ export function drawText(ctx, text, x, y, font = "12px Arial", fillStyle = "blac
57
58
  ctx.restore();
58
59
  }
59
60
 
60
- export const SCALES = [
61
+ export const SCALES: [number, number][] = [
61
62
  [0.001, 10],
62
63
  [0.002, 10],
63
64
  [0.005, 10],
@@ -108,7 +109,7 @@ export const SCALES = [
108
109
  [31536000000.0, 10], // 1000years
109
110
  ];
110
111
 
111
- export function getScale(seconds) {
112
+ export function getScale(seconds: number) {
112
113
  for (let i = 0, len = SCALES.length; i < len; i++) {
113
114
  if (SCALES[i][0] > seconds) {
114
115
  return SCALES[i - 1];
@@ -2,16 +2,16 @@
2
2
 
3
3
  import { Box } from "../../bv/Box.js";
4
4
  import { Sphere } from "../../bv/Sphere.js";
5
- import { Extent } from "../../Extent.js";
5
+ import { Extent } from "../../Extent";
6
6
  import { Layer } from "../../layer/Layer.js";
7
- import { LonLat } from "../../LonLat.js";
7
+ import { LonLat } from "../../LonLat";
8
8
  import { Ray } from "../../math/Ray.js";
9
- import { Vec3 } from "../../math/Vec3.js";
10
- import * as mercator from "../../mercator.js";
9
+ import { Vec3 } from "../../math/Vec3";
10
+ import * as mercator from "../../mercator";
11
11
  import { EPSG3857 } from "../../proj/EPSG3857.js";
12
12
  import { E, N, NOTRENDERING, OPSIDE, S, W } from "../../quadTree/quadTree.js";
13
13
  import * as segmentHelper from "../../segment/segmentHelper.js";
14
- import { getMatrixSubArray } from "../../utils/shared.js";
14
+ import { getMatrixSubArray } from "../../utils/shared";
15
15
 
16
16
  export const MAX_NORMAL_ZOOM = 7;
17
17
 
@@ -1,8 +1,6 @@
1
- "use strict";
2
-
3
- import { Slice } from "../../segment/Slice.js";
4
- import { Control } from "../Control.js";
5
- import * as shaders from "./drawnode.js";
1
+ import { Slice } from "../../segment/Slice";
2
+ import { Control } from "../Control";
3
+ import * as shaders from "./drawnode";
6
4
 
7
5
  function rewriteSlice() {
8
6
  Slice.prototype.init = function (segment) {
@@ -39,11 +37,7 @@ function rewriteSlice() {
39
37
  };
40
38
  }
41
39
 
42
- /**
43
- * @class
44
- * @extends {Control}
45
- */
46
- class VisibleExtent extends Control {
40
+ export class VisibleExtent extends Control {
47
41
  constructor() {
48
42
  super();
49
43
 
@@ -73,8 +67,7 @@ class VisibleExtent extends Control {
73
67
  }
74
68
  }
75
69
 
76
- export function visibleExtent() {
77
- return new VisibleExtent();
78
- }
79
-
80
- export { VisibleExtent };
70
+ /**
71
+ * @deprecated
72
+ */
73
+ export const visibleExtent = () => new VisibleExtent();
@@ -1,6 +1,4 @@
1
- "use strict";
2
-
3
- import { Program } from "../../webgl/Program.js";
1
+ import { Program } from "../../webgl/Program";
4
2
 
5
3
  // REMEMBER!
6
4
  // src*(1)+dest*(1-src.alpha)