@openglobus/og 0.18.0 → 0.18.1

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