@openglobus/og 0.18.0 → 0.18.2

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} +85 -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} +102 -374
  160. package/lib/js/entity/EntityCollection.d.ts +363 -0
  161. package/{src/entity/EntityCollection.ts → lib/js/entity/EntityCollection.js} +57 -359
  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} +63 -165
  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 +243 -0
  221. package/{src/layer/Vector.ts → lib/js/layer/Vector.js} +155 -426
  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 +320 -0
  283. package/{src/renderer/Renderer.ts → lib/js/renderer/Renderer.js} +265 -622
  284. package/lib/js/renderer/RendererEvents.d.ts +239 -0
  285. package/{src/renderer/RendererEvents.ts → lib/js/renderer/RendererEvents.js} +158 -472
  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} +257 -937
  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} +84 -241
  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} +46 -182
  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} +185 -342
  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,57 +1,22 @@
1
1
  import * as math from "../math";
2
- import {Control, IControlParams} from "./Control";
3
- import {input} from "../input/input";
4
- import {Key} from "../Lock";
5
- import {LonLat} from "../LonLat";
6
- import {Mat4} from "../math/Mat4";
7
- import {Quat} from "../math/Quat";
8
- import {Ray} from "../math/Ray";
9
- import {Sphere} from "../bv/Sphere";
10
- import {Vec3} from "../math/Vec3";
11
- import {Vec2} from "../math/Vec2";
12
- import {Planet} from "../scene/Planet";
13
- import {PlanetCamera} from "../camera/PlanetCamera";
14
- import {IMouseState} from "../renderer/RendererEvents";
15
-
16
- export interface IStepForward {
17
- eye: Vec3;
18
- v: Vec3;
19
- u: Vec3;
20
- n: Vec3;
21
- }
22
-
23
- interface IMouseNavigationParams extends IControlParams {
24
- minSlope?: number;
25
- }
26
-
2
+ import { Control } from "./Control";
3
+ import { input } from "../input/input";
4
+ import { Key } from "../Lock";
5
+ import { LonLat } from "../LonLat";
6
+ import { Mat4 } from "../math/Mat4";
7
+ import { Quat } from "../math/Quat";
8
+ import { Ray } from "../math/Ray";
9
+ import { Sphere } from "../bv/Sphere";
10
+ import { Vec3 } from "../math/Vec3";
27
11
  /**
28
12
  * Mouse planet camera dragging control.
29
13
  */
30
14
  export class MouseNavigation extends Control {
31
- protected grabbedPoint: Vec3;
32
- protected _eye0: Vec3;
33
- protected pointOnEarth: Vec3;
34
- protected earthUp: Vec3;
35
- public inertia: number;
36
- protected grabbedSpheroid: Sphere;
37
- protected qRot: Quat;
38
- protected scaleRot: number;
39
- protected distDiff: number;
40
- protected stepsCount: number;
41
- protected stepsForward: IStepForward[] | null;
42
- protected stepIndex: number;
43
- protected _lmbDoubleClickActive: boolean;
44
- public minSlope: number;
45
- protected _wheelDirection: number;
46
- protected _keyLock: Key;
47
- protected _deactivate = false;
48
- protected _shiftBusy = false;
49
-
50
- constructor(options: IMouseNavigationParams = {}) {
15
+ constructor(options = {}) {
51
16
  super(options);
52
-
17
+ this._deactivate = false;
18
+ this._shiftBusy = false;
53
19
  this._name = "mouseNavigation";
54
-
55
20
  this.grabbedPoint = new Vec3();
56
21
  this._eye0 = new Vec3();
57
22
  this.pointOnEarth = new Vec3();
@@ -60,59 +25,39 @@ export class MouseNavigation extends Control {
60
25
  this.grabbedSpheroid = new Sphere();
61
26
  this.qRot = new Quat();
62
27
  this.scaleRot = 0.0;
63
-
64
28
  this.distDiff = 0.3;
65
29
  this.stepsCount = 8;
66
30
  this.stepsForward = null;
67
31
  this.stepIndex = 0;
68
-
69
32
  this._lmbDoubleClickActive = true;
70
-
71
33
  this.minSlope = options.minSlope || 0.1;
72
-
73
34
  this._wheelDirection = +1;
74
-
75
35
  this._keyLock = new Key();
76
36
  }
77
-
78
- static getMovePointsFromPixelTerrain(cam: PlanetCamera, planet: Planet, stepsCount: number, delta: number, point: Vec2, forward: boolean, dir?: Vec3 | null): IStepForward[] | undefined {
79
- const steps: IStepForward[] = [];
80
-
81
- let eye = cam.eye.clone(),
82
- n = cam._b.clone(),
83
- u = cam._r.clone(),
84
- v = cam._u.clone();
85
-
37
+ static getMovePointsFromPixelTerrain(cam, planet, stepsCount, delta, point, forward, dir) {
38
+ const steps = [];
39
+ let eye = cam.eye.clone(), n = cam._b.clone(), u = cam._r.clone(), v = cam._u.clone();
86
40
  let a = planet.getCartesianFromPixelTerrain(point);
87
-
88
41
  if (!a) {
89
- a = planet.getCartesianFromPixelTerrain(planet.renderer!.handler.getCenter());
42
+ a = planet.getCartesianFromPixelTerrain(planet.renderer.handler.getCenter());
90
43
  }
91
-
92
44
  if (a) {
93
45
  if (!dir) {
94
46
  dir = Vec3.sub(a, cam.eye).normalize();
95
47
  }
96
-
97
48
  let d = (delta * cam.eye.distance(a)) / stepsCount;
98
-
99
49
  if (forward) {
100
50
  d = -1.25 * d;
101
- } else {
51
+ }
52
+ else {
102
53
  d *= 2;
103
54
  }
104
-
105
55
  const scaled_n = n.scaleTo(d);
106
-
107
56
  const slope = dir.dot(cam.eye.normal().negate());
108
-
109
57
  if (slope >= 0.1) {
110
58
  const grabbedSpheroid = new Sphere();
111
59
  grabbedSpheroid.radius = a.length();
112
-
113
- let rotArr = [],
114
- eyeArr = [];
115
-
60
+ let rotArr = [], eyeArr = [];
116
61
  let breaked = false;
117
62
  for (let i = 0; i < stepsCount; i++) {
118
63
  eye.addA(scaled_n);
@@ -120,12 +65,12 @@ export class MouseNavigation extends Control {
120
65
  eyeArr[i] = eye.clone();
121
66
  if (b) {
122
67
  rotArr[i] = new Mat4().rotateBetweenVectors(a.normal(), b.normal());
123
- } else {
68
+ }
69
+ else {
124
70
  breaked = true;
125
71
  break;
126
72
  }
127
73
  }
128
-
129
74
  if (!breaked) {
130
75
  for (let i = 0; i < stepsCount; i++) {
131
76
  let rot = rotArr[i];
@@ -136,7 +81,8 @@ export class MouseNavigation extends Control {
136
81
  n: rot.mulVec3(n)
137
82
  };
138
83
  }
139
- } else {
84
+ }
85
+ else {
140
86
  eye = cam.eye.clone();
141
87
  for (let i = 0; i < stepsCount; i++) {
142
88
  steps[i] = {
@@ -147,7 +93,8 @@ export class MouseNavigation extends Control {
147
93
  };
148
94
  }
149
95
  }
150
- } else {
96
+ }
97
+ else {
151
98
  for (let i = 0; i < stepsCount; i++) {
152
99
  steps[i] = {
153
100
  eye: eye.addA(dir.scaleTo(-d)).clone(),
@@ -157,12 +104,10 @@ export class MouseNavigation extends Control {
157
104
  };
158
105
  }
159
106
  }
160
-
161
107
  return steps;
162
108
  }
163
109
  }
164
-
165
- public override onactivate() {
110
+ onactivate() {
166
111
  if (this.renderer) {
167
112
  this.renderer.events.on("mousewheel", this.onMouseWheel, this);
168
113
  this.renderer.events.on("lhold", this.onMouseLeftButtonDown, this);
@@ -174,14 +119,12 @@ export class MouseNavigation extends Control {
174
119
  this.renderer.events.on("mousemove", this.onMouseMove, this);
175
120
  this.renderer.events.on("mouseleave", this.onMouseLeave, this);
176
121
  this.renderer.events.on("mouseenter", this.onMouseEnter, this);
177
-
178
122
  if (this._lmbDoubleClickActive) {
179
123
  this.renderer.events.on("ldblclick", this.onMouseLeftButtonDoubleClick, this);
180
124
  }
181
125
  }
182
126
  }
183
-
184
- public override ondeactivate() {
127
+ ondeactivate() {
185
128
  if (this.renderer) {
186
129
  this.renderer.events.off("mousewheel", this.onMouseWheel);
187
130
  this.renderer.events.off("lhold", this.onMouseLeftButtonDown);
@@ -195,165 +138,127 @@ export class MouseNavigation extends Control {
195
138
  this.renderer.events.off("mouseenter", this.onMouseEnter);
196
139
  }
197
140
  }
198
-
199
- public activateDoubleClickZoom() {
141
+ activateDoubleClickZoom() {
200
142
  if (!this._lmbDoubleClickActive) {
201
143
  this._lmbDoubleClickActive = true;
202
144
  this.renderer && this.renderer.events.on("ldblclick", this.onMouseLeftButtonDoubleClick, this);
203
145
  }
204
146
  }
205
-
206
- public deactivateDoubleClickZoom() {
147
+ deactivateDoubleClickZoom() {
207
148
  if (this._lmbDoubleClickActive) {
208
149
  this._lmbDoubleClickActive = false;
209
150
  this.renderer && this.renderer.events.off("ldblclick", this.onMouseLeftButtonDoubleClick);
210
151
  }
211
152
  }
212
-
213
- protected onMouseEnter(e: IMouseState) {
214
- const renderEvents = this.renderer!.events;
153
+ onMouseEnter(e) {
154
+ const renderEvents = this.renderer.events;
215
155
  if (renderEvents.isKeyPressed(input.KEY_ALT)) {
216
156
  renderEvents.releaseKeys();
217
157
  }
218
-
219
- renderEvents.updateButtonsStates(e.sys!.buttons);
158
+ renderEvents.updateButtonsStates(e.sys.buttons);
220
159
  if (renderEvents.mouseState.leftButtonDown) {
221
- this.renderer!.handler.canvas!.classList.add("ogGrabbingPoiner");
222
- } else {
223
- this.renderer!.handler.canvas!.classList.remove("ogGrabbingPoiner");
160
+ this.renderer.handler.canvas.classList.add("ogGrabbingPoiner");
161
+ }
162
+ else {
163
+ this.renderer.handler.canvas.classList.remove("ogGrabbingPoiner");
224
164
  }
225
165
  }
226
-
227
- protected onMouseLeave() {
228
- if (this.renderer!.events.mouseState.leftButtonDown) {
166
+ onMouseLeave() {
167
+ if (this.renderer.events.mouseState.leftButtonDown) {
229
168
  this.scaleRot = 0;
230
169
  }
231
- this.renderer!.handler.canvas!.classList.remove("ogGrabbingPoiner");
170
+ this.renderer.handler.canvas.classList.remove("ogGrabbingPoiner");
232
171
  }
233
-
234
- protected onMouseWheel(e: IMouseState) {
172
+ onMouseWheel(e) {
235
173
  if (this.stepIndex) {
236
174
  return;
237
175
  }
238
-
239
- this.planet!.stopFlying();
240
-
176
+ this.planet.stopFlying();
241
177
  this.stopRotation();
242
-
243
178
  this._deactivate = true;
244
-
245
- this.planet!.layerLock.lock(this._keyLock);
179
+ this.planet.layerLock.lock(this._keyLock);
246
180
  //this.planet!.terrainLock.lock(this._keyLock);
247
- this.planet!._normalMapCreator.lock(this._keyLock);
248
-
249
- this.stepsForward = MouseNavigation.getMovePointsFromPixelTerrain(
250
- this.planet!.camera,
251
- this.planet!,
252
- this.stepsCount,
253
- this.distDiff,
254
- e.pos,
255
- e.wheelDelta > 0,
256
- e.direction
257
- ) || null;
258
-
181
+ this.planet._normalMapCreator.lock(this._keyLock);
182
+ this.stepsForward = MouseNavigation.getMovePointsFromPixelTerrain(this.planet.camera, this.planet, this.stepsCount, this.distDiff, e.pos, e.wheelDelta > 0, e.direction) || null;
259
183
  this._wheelDirection = e.wheelDelta;
260
-
261
184
  if (this.stepsForward) {
262
185
  this.stepIndex = this.stepsCount;
263
186
  }
264
187
  }
265
-
266
- public override oninit() {
188
+ oninit() {
267
189
  this.activate();
268
190
  if (this.renderer) {
269
191
  this.renderer.events.on("keyfree", input.KEY_ALT, this.onShiftFree, this);
270
192
  this.renderer.events.on("keyfree", input.KEY_PRINTSCREEN, this.onShiftFree, this);
271
193
  }
272
194
  }
273
-
274
- protected onMouseLeftButtonDoubleClick(e: IMouseState) {
275
- this.planet!.stopFlying();
195
+ onMouseLeftButtonDoubleClick(e) {
196
+ this.planet.stopFlying();
276
197
  this.stopRotation();
277
- const p = this.planet!.getCartesianFromPixelTerrain(e.pos);
198
+ const p = this.planet.getCartesianFromPixelTerrain(e.pos);
278
199
  if (p) {
279
- const cam = this.planet!.camera;
280
- let maxAlt = cam.maxAltitude + this.planet!.ellipsoid.polarSize;
281
- let minAlt = cam.minAltitude + this.planet!.ellipsoid.polarSize;
200
+ const cam = this.planet.camera;
201
+ let maxAlt = cam.maxAltitude + this.planet.ellipsoid.polarSize;
202
+ let minAlt = cam.minAltitude + this.planet.ellipsoid.polarSize;
282
203
  const camAlt = cam.eye.length();
283
- const g = this.planet!.ellipsoid.cartesianToLonLat(p);
204
+ const g = this.planet.ellipsoid.cartesianToLonLat(p);
284
205
  if (camAlt > maxAlt || camAlt < minAlt) {
285
- this.planet!.flyLonLat(new LonLat(g.lon, g.lat))
206
+ this.planet.flyLonLat(new LonLat(g.lon, g.lat));
286
207
  return;
287
208
  }
288
-
289
- if (this.renderer!.events.isKeyPressed(input.KEY_ALT)) {
290
- this.planet!.flyLonLat(
291
- new LonLat(g.lon, g.lat, cam.eye.distance(p) * 2.0)
292
- );
293
- } else {
294
- this.planet!.flyLonLat(
295
- new LonLat(g.lon, g.lat, cam.eye.distance(p) * 0.57)
296
- );
209
+ if (this.renderer.events.isKeyPressed(input.KEY_ALT)) {
210
+ this.planet.flyLonLat(new LonLat(g.lon, g.lat, cam.eye.distance(p) * 2.0));
211
+ }
212
+ else {
213
+ this.planet.flyLonLat(new LonLat(g.lon, g.lat, cam.eye.distance(p) * 0.57));
297
214
  }
298
215
  }
299
216
  }
300
-
301
- protected onMouseLeftButtonClick() {
217
+ onMouseLeftButtonClick() {
302
218
  if (this._active) {
303
- this.renderer!.handler.canvas!.classList.add("ogGrabbingPoiner");
304
- this.grabbedPoint = this.planet!.getCartesianFromMouseTerrain()!;
219
+ this.renderer.handler.canvas.classList.add("ogGrabbingPoiner");
220
+ this.grabbedPoint = this.planet.getCartesianFromMouseTerrain();
305
221
  if (this.grabbedPoint) {
306
- this._eye0.copy(this.planet!.camera.eye);
222
+ this._eye0.copy(this.planet.camera.eye);
307
223
  this.grabbedSpheroid.radius = this.grabbedPoint.length();
308
224
  this.stopRotation();
309
225
  }
310
226
  }
311
227
  }
312
-
313
- public stopRotation() {
228
+ stopRotation() {
314
229
  this.qRot.clear();
315
- this.planet!.layerLock.free(this._keyLock);
316
- this.planet!.terrainLock.free(this._keyLock);
317
- this.planet!._normalMapCreator.free(this._keyLock);
230
+ this.planet.layerLock.free(this._keyLock);
231
+ this.planet.terrainLock.free(this._keyLock);
232
+ this.planet._normalMapCreator.free(this._keyLock);
318
233
  }
319
-
320
- protected onMouseLeftButtonUp(e: IMouseState) {
321
- this.renderer!.handler.canvas!.classList.remove("ogGrabbingPoiner");
234
+ onMouseLeftButtonUp(e) {
235
+ this.renderer.handler.canvas.classList.remove("ogGrabbingPoiner");
322
236
  if (e.x === e.prev_x && e.y === e.prev_y) {
323
237
  this.scaleRot = 0.0;
324
238
  }
325
239
  }
326
-
327
- protected onMouseLeftButtonDown(e: IMouseState) {
240
+ onMouseLeftButtonDown(e) {
328
241
  if (this._active) {
329
242
  if (!this.grabbedPoint) {
330
243
  return;
331
244
  }
332
-
333
- this.planet!.stopFlying();
334
-
245
+ this.planet.stopFlying();
335
246
  if (e.moving) {
336
- let cam = this.planet!.camera;
337
-
247
+ let cam = this.planet.camera;
338
248
  if (cam.slope > 0.2) {
339
249
  const targetPoint = new Ray(cam.eye, e.direction).hitSphere(this.grabbedSpheroid);
340
250
  if (targetPoint) {
341
251
  this.scaleRot = 1.0;
342
- this.qRot = Quat.getRotationBetweenVectors(
343
- targetPoint.normal(),
344
- this.grabbedPoint.normal()
345
- );
252
+ this.qRot = Quat.getRotationBetweenVectors(targetPoint.normal(), this.grabbedPoint.normal());
346
253
  let rot = this.qRot;
347
254
  cam.eye = rot.mulVec3(cam.eye);
348
255
  cam._u = rot.mulVec3(cam._u);
349
256
  cam._r = rot.mulVec3(cam._r);
350
257
  cam._b = rot.mulVec3(cam._b);
351
258
  }
352
- } else {
353
- let p0 = this.grabbedPoint,
354
- p1 = Vec3.add(p0, cam._r),
355
- p2 = Vec3.add(p0, p0.normal());
356
-
259
+ }
260
+ else {
261
+ let p0 = this.grabbedPoint, p1 = Vec3.add(p0, cam._r), p2 = Vec3.add(p0, p0.normal());
357
262
  let px = new Vec3();
358
263
  if (new Ray(cam.eye, e.direction).hitPlane(p0, p1, p2, px) === Ray.INSIDE) {
359
264
  cam.eye = this._eye0.addA(px.subA(p0).negate());
@@ -362,21 +267,18 @@ export class MouseNavigation extends Control {
362
267
  }
363
268
  }
364
269
  }
365
-
366
- protected onMouseRightButtonClick(e: IMouseState) {
270
+ onMouseRightButtonClick(e) {
367
271
  this.stopRotation();
368
- this.planet!.stopFlying();
369
- this.pointOnEarth = this.planet!.getCartesianFromPixelTerrain(e.pos)!;
272
+ this.planet.stopFlying();
273
+ this.pointOnEarth = this.planet.getCartesianFromPixelTerrain(e.pos);
370
274
  if (this.pointOnEarth) {
371
275
  this.earthUp = this.pointOnEarth.normal();
372
276
  }
373
277
  }
374
-
375
- protected onMouseRightButtonDown(e: IMouseState) {
376
- const cam = this.planet!.camera;
377
-
278
+ onMouseRightButtonDown(e) {
279
+ const cam = this.planet.camera;
378
280
  if (this.pointOnEarth && e.moving) {
379
- this.renderer!.controlsBag.scaleRot = 1.0;
281
+ this.renderer.controlsBag.scaleRot = 1.0;
380
282
  let l = (0.5 / cam.eye.distance(this.pointOnEarth)) * (cam._lonLat.height < 5.0 ? 5.0 : cam._lonLat.height) * math.RADIANS;
381
283
  if (l > 0.007) {
382
284
  l = 0.007;
@@ -385,62 +287,54 @@ export class MouseNavigation extends Control {
385
287
  cam.rotateVertical(l * (e.y - e.prev_y), this.pointOnEarth, this.minSlope);
386
288
  }
387
289
  }
388
-
389
- public onShiftFree() {
290
+ onShiftFree() {
390
291
  this._shiftBusy = false;
391
292
  }
392
-
393
- protected onMouseMove(e: IMouseState) {
394
- if (this._active && this.renderer!.events.isKeyPressed(input.KEY_ALT)) {
293
+ onMouseMove(e) {
294
+ if (this._active && this.renderer.events.isKeyPressed(input.KEY_ALT)) {
395
295
  if (!this._shiftBusy) {
396
296
  this._shiftBusy = true;
397
297
  this.onMouseRightButtonClick(e);
398
298
  }
399
-
400
299
  this.onMouseRightButtonDown(e);
401
300
  }
402
301
  }
403
-
404
- protected onDraw() {
302
+ onDraw() {
405
303
  if (this._active) {
406
- const r = this.renderer!;
407
- const cam = this.planet!.camera;
304
+ const r = this.renderer;
305
+ const cam = this.planet.camera;
408
306
  let prevEye = cam.eye.clone();
409
-
410
307
  if (this.stepIndex) {
411
308
  r.controlsBag.scaleRot = 1.0;
412
- const sf = this.stepsForward![this.stepsCount - this.stepIndex--];
413
-
414
- let maxAlt = cam.maxAltitude + this.planet!.ellipsoid.polarSize;
415
- let minAlt = cam.minAltitude + this.planet!.ellipsoid.polarSize;
309
+ const sf = this.stepsForward[this.stepsCount - this.stepIndex--];
310
+ let maxAlt = cam.maxAltitude + this.planet.ellipsoid.polarSize;
311
+ let minAlt = cam.minAltitude + this.planet.ellipsoid.polarSize;
416
312
  const camAlt = sf.eye.length();
417
313
  if (camAlt > maxAlt || camAlt < minAlt && this._wheelDirection > 0) {
418
314
  this._wheelDirection = +1;
419
315
  return;
420
316
  }
421
-
422
317
  cam.eye = sf.eye;
423
318
  cam._u = sf.v;
424
319
  cam._r = sf.u;
425
320
  cam._b = sf.n;
426
- } else {
321
+ }
322
+ else {
427
323
  if (this._deactivate) {
428
324
  this._deactivate = false;
429
-
430
- this.planet!.layerLock.free(this._keyLock);
431
- this.planet!.terrainLock.free(this._keyLock);
432
- this.planet!._normalMapCreator.free(this._keyLock);
325
+ this.planet.layerLock.free(this._keyLock);
326
+ this.planet.terrainLock.free(this._keyLock);
327
+ this.planet._normalMapCreator.free(this._keyLock);
433
328
  }
434
329
  }
435
-
436
330
  if (r.events.mouseState.leftButtonDown || !this.scaleRot) {
437
331
  return;
438
332
  }
439
-
440
333
  this.scaleRot -= this.inertia;
441
334
  if (this.scaleRot <= 0.0) {
442
335
  this.scaleRot = 0.0;
443
- } else {
336
+ }
337
+ else {
444
338
  r.controlsBag.scaleRot = this.scaleRot;
445
339
  let rot = this.qRot
446
340
  .slerp(Quat.IDENTITY, 1.0 - this.scaleRot * this.scaleRot * this.scaleRot)
@@ -453,15 +347,15 @@ export class MouseNavigation extends Control {
453
347
  cam._r = rot.mulVec3(cam._r);
454
348
  cam._b = rot.mulVec3(cam._b);
455
349
  }
456
-
457
350
  if (cam.eye.distance(prevEye) / cam.getAltitude() > 0.01) {
458
- this.planet!.layerLock.lock(this._keyLock);
459
- this.planet!.terrainLock.lock(this._keyLock);
460
- this.planet!._normalMapCreator.lock(this._keyLock);
461
- } else {
462
- this.planet!.layerLock.free(this._keyLock);
463
- this.planet!.terrainLock.free(this._keyLock);
464
- this.planet!._normalMapCreator.free(this._keyLock);
351
+ this.planet.layerLock.lock(this._keyLock);
352
+ this.planet.terrainLock.lock(this._keyLock);
353
+ this.planet._normalMapCreator.lock(this._keyLock);
354
+ }
355
+ else {
356
+ this.planet.layerLock.free(this._keyLock);
357
+ this.planet.terrainLock.free(this._keyLock);
358
+ this.planet._normalMapCreator.free(this._keyLock);
465
359
  }
466
360
  }
467
361
  }
@@ -0,0 +1,44 @@
1
+ import { Sphere } from "../bv/Sphere";
2
+ import { Key } from "../Lock";
3
+ import { Quat } from "../math/Quat";
4
+ import { Vec3 } from "../math/Vec3";
5
+ import { Control, IControlParams } from "./Control";
6
+ import { IStepForward } from "./MouseNavigation";
7
+ interface IMouseWheelZoomControl extends IControlParams {
8
+ minSlope?: number;
9
+ }
10
+ export declare class MouseWheelZoomControl extends Control {
11
+ protected grabbedPoint: Vec3;
12
+ protected _eye0: Vec3;
13
+ protected pointOnEarth: Vec3;
14
+ protected earthUp: Vec3;
15
+ inertia: number;
16
+ protected grabbedSpheroid: Sphere;
17
+ protected qRot: Quat;
18
+ protected scaleRot: number;
19
+ protected distDiff: number;
20
+ protected stepsCount: number;
21
+ protected stepsForward: IStepForward[] | null;
22
+ protected stepIndex: number;
23
+ protected _lmbDoubleClickActive: boolean;
24
+ protected minSlope: number;
25
+ protected _keyLock: Key;
26
+ protected _deactivate: boolean;
27
+ protected _move: number;
28
+ constructor(options?: IMouseWheelZoomControl);
29
+ oninit(): void;
30
+ /**
31
+ * Planet zoom in.
32
+ * @public
33
+ */
34
+ zoomIn(): void;
35
+ /**
36
+ * Planet zoom out.
37
+ * @public
38
+ */
39
+ zoomOut(): void;
40
+ stopRotation(): void;
41
+ stopZoom(): void;
42
+ protected _draw(): void;
43
+ }
44
+ export {};