@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,28 +1,12 @@
1
1
  import * as mercator from "../mercator";
2
2
  import * as math from "../math";
3
- import {Camera, ICameraParams} from "./Camera";
4
- import {Key} from "../Lock";
5
- import {LonLat} from "../LonLat";
6
- import {Mat4} from "../math/Mat4";
7
- import {Planet} from "../scene/Planet";
8
- import {Quat} from "../math/Quat";
9
- import {Ray} from "../math/Ray";
10
- import {Vec3} from "../math/Vec3";
11
- import {Extent} from "../Extent";
12
- import {Segment} from "../segment/Segment";
13
-
14
- interface IPlanetCameraParams extends ICameraParams {
15
- minAltitude?: number;
16
- maxAltitude?: number;
17
- }
18
-
19
- type CameraFrame = {
20
- eye: Vec3;
21
- n: Vec3;
22
- u: Vec3;
23
- v: Vec3;
24
- }
25
-
3
+ import { Camera } from "./Camera";
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 { Vec3 } from "../math/Vec3";
26
10
  /**
27
11
  * Planet camera.
28
12
  * @class
@@ -40,104 +24,21 @@ type CameraFrame = {
40
24
  * @param {Vec3} [options.up] - Camera eye position. Default (0,1,0)
41
25
  */
42
26
  class PlanetCamera extends Camera {
43
- /**
44
- * Assigned camera's planet.
45
- * @public
46
- * @type {Planet}
47
- */
48
- public planet: Planet;
49
-
50
- /**
51
- * Minimal altitude that camera can reach over the terrain.
52
- * @public
53
- * @type {number}
54
- */
55
- public minAltitude: number;
56
-
57
- /**
58
- * Maximal altitude that camera can reach over the globe.
59
- * @public
60
- * @type {number}
61
- */
62
- public maxAltitude: number;
63
-
64
- /**
65
- * Current geographical degree position.
66
- * @public
67
- * @type {LonLat}
68
- */
69
- public _lonLat: LonLat;
70
-
71
- /**
72
- * Current geographical mercator position.
73
- * @public
74
- * @type {LonLat}
75
- */
76
- public _lonLatMerc: LonLat;
77
-
78
- /**
79
- * Current altitude.
80
- * @protected
81
- * @type {number}
82
- */
83
- protected _terrainAltitude: number;
84
-
85
- /**
86
- * Cartesian coordinates on the terrain.
87
- * @protected
88
- * @type {Vec3}
89
- */
90
- protected _terrainPoint: Vec3;
91
-
92
- /**
93
- * Quad node that camera flies over.
94
- * @protected
95
- * @type {Segment}
96
- */
97
-
98
- public _insideSegment: Segment | null;
99
-
100
- public slope: number;
101
-
102
- protected _keyLock: Key;
103
- protected _framesArr: CameraFrame[];
104
- protected _framesCounter: number;
105
- protected _numFrames: number;
106
- protected _completeCallback: Function | null;
107
- protected _frameCallback: Function | null;
108
-
109
- protected _flying: boolean;
110
- protected _checkTerrainCollision: boolean;
111
-
112
- public eyeNorm: Vec3;
113
-
114
- constructor(planet: Planet, options: IPlanetCameraParams = {}) {
27
+ constructor(planet, options = {}) {
115
28
  super(planet.renderer, {
116
- ...options,
117
- frustums: options.frustums || [[1, 100 + 0.075], [100, 1000 + 0.075], [1000, 1e6 + 10000], [1e6, 1e9]],
118
- }
119
- );
120
-
29
+ ...options,
30
+ frustums: options.frustums || [[1, 100 + 0.075], [100, 1000 + 0.075], [1000, 1e6 + 10000], [1e6, 1e9]],
31
+ });
121
32
  this.planet = planet;
122
-
123
33
  this.minAltitude = options.minAltitude || 1;
124
-
125
34
  this.maxAltitude = options.maxAltitude || 20000000;
126
-
127
35
  this._lonLat = this.planet.ellipsoid.cartesianToLonLat(this.eye);
128
-
129
36
  this._lonLatMerc = this._lonLat.forwardMercator();
130
-
131
37
  this._terrainAltitude = this._lonLat.height;
132
-
133
38
  this._terrainPoint = new Vec3();
134
-
135
39
  this._insideSegment = null;
136
-
137
40
  this.slope = 0;
138
-
139
41
  this._keyLock = new Key();
140
-
141
42
  this._framesArr = [];
142
43
  this._framesCounter = 0;
143
44
  this._numFrames = 50;
@@ -145,70 +46,54 @@ class PlanetCamera extends Camera {
145
46
  this._frameCallback = null;
146
47
  this._flying = false;
147
48
  this._checkTerrainCollision = true;
148
-
149
49
  this.eyeNorm = this.eye.getNormal();
150
50
  }
151
-
152
- public setTerrainCollisionActivity(isActive: boolean) {
51
+ setTerrainCollisionActivity(isActive) {
153
52
  this._checkTerrainCollision = isActive;
154
53
  }
155
-
156
54
  /**
157
55
  * Updates camera view space.
158
56
  * @public
159
57
  * @virtual
160
58
  */
161
- public override update() {
59
+ update() {
162
60
  this.events.stopPropagation();
163
-
164
61
  let maxAlt = this.maxAltitude + this.planet.ellipsoid.getEquatorialSize();
165
-
166
62
  if (this.eye.length() > maxAlt) {
167
63
  this.eye.copy(this.eye.getNormal().scale(maxAlt));
168
64
  }
169
-
170
65
  super.update();
171
-
172
66
  this.updateGeodeticPosition();
173
-
174
67
  this.eyeNorm = this.eye.getNormal();
175
68
  this.slope = this._b.dot(this.eyeNorm);
176
-
177
69
  this.events.dispatch(this.events.viewchange, this);
178
70
  }
179
-
180
- public updateGeodeticPosition() {
71
+ updateGeodeticPosition() {
181
72
  this.planet.ellipsoid.cartesianToLonLatRes(this.eye, this._lonLat);
182
73
  if (Math.abs(this._lonLat.lat) <= mercator.MAX_LAT) {
183
74
  LonLat.forwardMercatorRes(this._lonLat, this._lonLatMerc);
184
75
  }
185
76
  }
186
-
187
77
  /**
188
78
  * Sets altitude over the terrain.
189
79
  * @public
190
80
  * @param {number} alt - Altitude over the terrain.
191
81
  */
192
- public setAltitude(alt: number) {
193
-
82
+ setAltitude(alt) {
194
83
  let t = this._terrainPoint;
195
84
  let n = this.planet.ellipsoid.getSurfaceNormal3v(this.eye);
196
-
197
85
  this.eye.x = n.x * alt + t.x;
198
86
  this.eye.y = n.y * alt + t.y;
199
87
  this.eye.z = n.z * alt + t.z;
200
-
201
88
  this._terrainAltitude = alt;
202
89
  }
203
-
204
90
  /**
205
91
  * Gets altitude over the terrain.
206
92
  * @public
207
93
  */
208
- public getAltitude(): number {
94
+ getAltitude() {
209
95
  return this._terrainAltitude;
210
96
  }
211
-
212
97
  /**
213
98
  * Places camera to view to the geographical point.
214
99
  * @public
@@ -216,7 +101,7 @@ class PlanetCamera extends Camera {
216
101
  * @param {LonLat} [lookLonLat] - Look up coordinates.
217
102
  * @param {Vec3} [up] - Camera UP vector. Default (0,1,0)
218
103
  */
219
- public setLonLat(lonlat: LonLat, lookLonLat?: LonLat, up?: Vec3) {
104
+ setLonLat(lonlat, lookLonLat, up) {
220
105
  this.stopFlying();
221
106
  this._lonLat.set(lonlat.lon, lonlat.lat, lonlat.height || this._lonLat.height);
222
107
  let el = this.planet.ellipsoid;
@@ -225,25 +110,22 @@ class PlanetCamera extends Camera {
225
110
  this.set(newEye, newLook, up || Vec3.NORTH);
226
111
  this.update();
227
112
  }
228
-
229
113
  /**
230
114
  * Returns camera geographical position.
231
115
  * @public
232
116
  * @returns {LonLat}
233
117
  */
234
- public getLonLat(): LonLat {
118
+ getLonLat() {
235
119
  return this._lonLat;
236
120
  }
237
-
238
121
  /**
239
122
  * Returns camera height.
240
123
  * @public
241
124
  * @returns {number}
242
125
  */
243
- public getHeight(): number {
126
+ getHeight() {
244
127
  return this._lonLat.height;
245
128
  }
246
-
247
129
  /**
248
130
  * Gets position by viewable extent.
249
131
  * @public
@@ -251,18 +133,15 @@ class PlanetCamera extends Camera {
251
133
  * @param {Number} height - Camera height
252
134
  * @returns {Vec3}
253
135
  */
254
- public getExtentPosition(extent: Extent, height: number = 0): Vec3 {
136
+ getExtentPosition(extent, height = 0) {
255
137
  let north = extent.getNorth();
256
138
  let south = extent.getSouth();
257
139
  let east = extent.getEast();
258
140
  let west = extent.getWest();
259
-
260
141
  if (west > east) {
261
142
  east += 360;
262
143
  }
263
-
264
144
  let e = this.planet.ellipsoid;
265
-
266
145
  let cart = new LonLat(east, north);
267
146
  let northEast = e.lonLatToCartesian(cart);
268
147
  cart.lat = south;
@@ -271,61 +150,40 @@ class PlanetCamera extends Camera {
271
150
  let southWest = e.lonLatToCartesian(cart);
272
151
  cart.lat = north;
273
152
  let northWest = e.lonLatToCartesian(cart);
274
-
275
153
  let center = Vec3.sub(northEast, southWest).scale(0.5).addA(southWest);
276
-
277
154
  let mag = center.length();
278
155
  if (mag < 0.000001) {
279
156
  cart.lon = (east + west) * 0.5;
280
157
  cart.lat = (north + south) * 0.5;
281
158
  center = e.lonLatToCartesian(cart);
282
159
  }
283
-
284
160
  northWest.subA(center);
285
161
  southEast.subA(center);
286
162
  northEast.subA(center);
287
163
  southWest.subA(center);
288
-
289
164
  let direction = center.getNormal(); // ellipsoid.getSurfaceNormal(center).negate().normalize();
290
165
  let right = direction.cross(Vec3.NORTH).normalize();
291
166
  let up = right.cross(direction).normalize();
292
-
293
- let _h = Math.max(
294
- Math.abs(up.dot(northWest)),
295
- Math.abs(up.dot(southEast)),
296
- Math.abs(up.dot(northEast)),
297
- Math.abs(up.dot(southWest))
298
- );
299
-
300
- let _w = Math.max(
301
- Math.abs(right.dot(northWest)),
302
- Math.abs(right.dot(southEast)),
303
- Math.abs(right.dot(northEast)),
304
- Math.abs(right.dot(southWest))
305
- );
306
-
167
+ let _h = Math.max(Math.abs(up.dot(northWest)), Math.abs(up.dot(southEast)), Math.abs(up.dot(northEast)), Math.abs(up.dot(southWest)));
168
+ let _w = Math.max(Math.abs(right.dot(northWest)), Math.abs(right.dot(southEast)), Math.abs(right.dot(northEast)), Math.abs(right.dot(southWest)));
307
169
  let tanPhi = Math.tan(this._viewAngle * math.RADIANS * 0.5);
308
170
  let tanTheta = this._aspect * tanPhi;
309
171
  let d = Math.max(_w / tanTheta, _h / tanPhi);
310
-
311
172
  center.normalize();
312
173
  center.scale(mag + d + height);
313
-
314
174
  return center;
315
175
  }
316
-
317
176
  /**
318
177
  * View current extent.
319
178
  * @public
320
179
  * @param {Extent} extent - Current extent.
321
180
  * @param {number} [height]
322
181
  */
323
- public viewExtent(extent: Extent, height?: number) {
182
+ viewExtent(extent, height) {
324
183
  this.stopFlying();
325
184
  this.set(this.getExtentPosition(extent, height), Vec3.ZERO, Vec3.NORTH);
326
185
  this.update();
327
186
  }
328
-
329
187
  /**
330
188
  * Flies to the current extent.
331
189
  * @public
@@ -337,67 +195,34 @@ class PlanetCamera extends Camera {
337
195
  * @param {Function} [startCallback] - Callback that calls before the flying begins.
338
196
  * @param {Function} [frameCallback] - Each frame callback
339
197
  */
340
- public flyExtent(
341
- extent: Extent,
342
- height?: number,
343
- up?: Vec3,
344
- ampl?: number,
345
- completeCallback?: Function,
346
- startCallback?: Function,
347
- frameCallback?: Function) {
348
- this.flyCartesian(
349
- this.getExtentPosition(extent, height),
350
- Vec3.ZERO,
351
- up,
352
- ampl,
353
- completeCallback,
354
- startCallback,
355
- frameCallback
356
- );
198
+ flyExtent(extent, height, up, ampl, completeCallback, startCallback, frameCallback) {
199
+ this.flyCartesian(this.getExtentPosition(extent, height), Vec3.ZERO, up, ampl, completeCallback, startCallback, frameCallback);
357
200
  }
358
-
359
- public viewDistance(cartesian: Vec3, distance: number = 10000.0) {
201
+ viewDistance(cartesian, distance = 10000.0) {
360
202
  let p0 = this.eye.add(this.getForward().scaleTo(distance));
361
203
  let _rot = Quat.getRotationBetweenVectors(p0.getNormal(), cartesian.getNormal());
362
204
  if (_rot.isZero()) {
363
205
  let newPos = cartesian.add(this.getBackward().scaleTo(distance));
364
206
  this.set(newPos, cartesian);
365
- } else {
366
- let newPos = cartesian.add(_rot.mulVec3(this.getBackward()).scale(distance)),
367
- newUp = _rot.mulVec3(this.getUp());
207
+ }
208
+ else {
209
+ let newPos = cartesian.add(_rot.mulVec3(this.getBackward()).scale(distance)), newUp = _rot.mulVec3(this.getUp());
368
210
  this.set(newPos, cartesian, newUp);
369
211
  }
370
212
  this.update();
371
213
  }
372
-
373
- public flyDistance(
374
- cartesian: Vec3,
375
- distance: number = 10000.0,
376
- ampl: number = 0.0,
377
- completeCallback?: Function,
378
- startCallback?: Function,
379
- frameCallback?: Function
380
- ) {
214
+ flyDistance(cartesian, distance = 10000.0, ampl = 0.0, completeCallback, startCallback, frameCallback) {
381
215
  let p0 = this.eye.add(this.getForward().scaleTo(distance));
382
216
  let _rot = Quat.getRotationBetweenVectors(p0.getNormal(), cartesian.getNormal());
383
217
  if (_rot.isZero()) {
384
218
  let newPos = cartesian.add(this.getBackward().scaleTo(distance));
385
219
  this.set(newPos, cartesian);
386
- } else {
387
- let newPos = cartesian.add(_rot.mulVec3(this.getBackward()).scale(distance)),
388
- newUp = _rot.mulVec3(this.getUp());
389
- this.flyCartesian(
390
- newPos,
391
- cartesian,
392
- newUp,
393
- ampl,
394
- completeCallback,
395
- startCallback,
396
- frameCallback
397
- );
220
+ }
221
+ else {
222
+ let newPos = cartesian.add(_rot.mulVec3(this.getBackward()).scale(distance)), newUp = _rot.mulVec3(this.getUp());
223
+ this.flyCartesian(newPos, cartesian, newUp, ampl, completeCallback, startCallback, frameCallback);
398
224
  }
399
225
  }
400
-
401
226
  /**
402
227
  * Flies to the cartesian coordinates.
403
228
  * @public
@@ -409,58 +234,35 @@ class PlanetCamera extends Camera {
409
234
  * @param {Function} [startCallback] - Callback that calls before the flying begins.
410
235
  * @param {Function} [frameCallback] - Each frame callback
411
236
  */
412
- flyCartesian(
413
- cartesian: Vec3,
414
- look: Vec3 | LonLat | null = Vec3.ZERO,
415
- up: Vec3 | null = Vec3.NORTH,
416
- ampl: number = 1.0,
417
- completeCallback: Function | null = () => {
418
- },
419
- startCallback: Function | null = () => {
420
- },
421
- frameCallback: Function | null = () => {
422
- }) {
423
-
237
+ flyCartesian(cartesian, look = Vec3.ZERO, up = Vec3.NORTH, ampl = 1.0, completeCallback = () => {
238
+ }, startCallback = () => {
239
+ }, frameCallback = () => {
240
+ }) {
424
241
  this.stopFlying();
425
-
426
242
  look = look || Vec3.ZERO;
427
243
  up = up || Vec3.NORTH;
428
-
429
244
  this._completeCallback = completeCallback;
430
-
431
245
  this._frameCallback = frameCallback;
432
-
433
246
  if (startCallback) {
434
247
  startCallback.call(this);
435
248
  }
436
-
437
249
  if (look instanceof LonLat) {
438
250
  look = this.planet.ellipsoid.lonLatToCartesian(look);
439
251
  }
440
-
441
- let ground_a = this.planet.ellipsoid.lonLatToCartesian(
442
- new LonLat(this._lonLat.lon, this._lonLat.lat)
443
- );
444
-
445
- let v_a = this._u,
446
- n_a = this._b;
447
-
252
+ let ground_a = this.planet.ellipsoid.lonLatToCartesian(new LonLat(this._lonLat.lon, this._lonLat.lat));
253
+ let v_a = this._u, n_a = this._b;
448
254
  let lonlat_b = this.planet.ellipsoid.cartesianToLonLat(cartesian);
449
255
  let up_b = up;
450
- let ground_b = this.planet.ellipsoid.lonLatToCartesian(
451
- new LonLat(lonlat_b.lon, lonlat_b.lat, 0)
452
- );
453
- let n_b = Vec3.sub(cartesian, look as Vec3);
256
+ let ground_b = this.planet.ellipsoid.lonLatToCartesian(new LonLat(lonlat_b.lon, lonlat_b.lat, 0));
257
+ let n_b = Vec3.sub(cartesian, look);
454
258
  let u_b = up_b.cross(n_b);
455
259
  n_b.normalize();
456
260
  u_b.normalize();
457
261
  let v_b = n_b.cross(u_b);
458
-
459
262
  let an = ground_a.getNormal();
460
263
  let bn = ground_b.getNormal();
461
264
  let anbn = 1.0 - an.dot(bn);
462
265
  let hM_a = ampl * math.SQRT_HALF * Math.sqrt(anbn > 0.0 ? anbn : 0.0);
463
-
464
266
  let maxHeight = 6639613;
465
267
  let currMaxHeight = Math.max(this._lonLat.height, lonlat_b.height);
466
268
  if (currMaxHeight > maxHeight) {
@@ -468,31 +270,25 @@ class PlanetCamera extends Camera {
468
270
  }
469
271
  let max_h = currMaxHeight + 2.5 * hM_a * (maxHeight - currMaxHeight);
470
272
  let zero = Vec3.ZERO;
471
-
472
273
  // camera path and orientations calculation
473
274
  for (let i = 0; i <= this._numFrames; i++) {
474
275
  let d = 1 - i / this._numFrames;
475
276
  d = d * d * (3 - 2 * d);
476
277
  d *= d;
477
-
478
278
  let g_i = ground_a.smerp(ground_b, d).normalize();
479
279
  let ground_i = this.planet.getRayIntersectionEllipsoid(new Ray(zero, g_i));
480
280
  let t = 1 - d;
481
- let height_i =
482
- this._lonLat.height * d * d * d +
281
+ let height_i = this._lonLat.height * d * d * d +
483
282
  max_h * 3 * d * d * t +
484
283
  max_h * 3 * d * t * t +
485
284
  lonlat_b.height * t * t * t;
486
-
487
- let eye_i = ground_i!.addA(g_i.scale(height_i));
285
+ let eye_i = ground_i.addA(g_i.scale(height_i));
488
286
  let up_i = v_a.smerp(v_b, d);
489
287
  let look_i = Vec3.add(eye_i, n_a.smerp(n_b, d).negateTo());
490
-
491
288
  let n = new Vec3(eye_i.x - look_i.x, eye_i.y - look_i.y, eye_i.z - look_i.z);
492
289
  let u = up_i.cross(n);
493
290
  n.normalize();
494
291
  u.normalize();
495
-
496
292
  let v = n.cross(u);
497
293
  this._framesArr[i] = {
498
294
  eye: eye_i,
@@ -501,11 +297,9 @@ class PlanetCamera extends Camera {
501
297
  v: v
502
298
  };
503
299
  }
504
-
505
300
  this._framesCounter = this._numFrames;
506
301
  this._flying = true;
507
302
  }
508
-
509
303
  /**
510
304
  * Flies to the geo coordinates.
511
305
  * @public
@@ -517,27 +311,10 @@ class PlanetCamera extends Camera {
517
311
  * @param {Function} [startCallback] - Callback that calls befor the flying begins.
518
312
  * @param {Function} [frameCallback] - each frame callback
519
313
  */
520
- flyLonLat(
521
- lonlat: LonLat,
522
- look?: Vec3 | LonLat,
523
- up?: Vec3,
524
- ampl?: number,
525
- completeCallback?: Function,
526
- startCallback?: Function,
527
- frameCallbak?: Function
528
- ) {
314
+ flyLonLat(lonlat, look, up, ampl, completeCallback, startCallback, frameCallbak) {
529
315
  let _lonLat = new LonLat(lonlat.lon, lonlat.lat, lonlat.height || this._lonLat.height);
530
- this.flyCartesian(
531
- this.planet.ellipsoid.lonLatToCartesian(_lonLat),
532
- look,
533
- up,
534
- ampl,
535
- completeCallback,
536
- startCallback,
537
- frameCallbak
538
- );
316
+ this.flyCartesian(this.planet.ellipsoid.lonLatToCartesian(_lonLat), look, up, ampl, completeCallback, startCallback, frameCallbak);
539
317
  }
540
-
541
318
  /**
542
319
  * Breaks the flight.
543
320
  * @public
@@ -546,14 +323,12 @@ class PlanetCamera extends Camera {
546
323
  this.planet.layerLock.free(this._keyLock);
547
324
  this.planet.terrainLock.free(this._keyLock);
548
325
  this.planet.normalMapCreator.free(this._keyLock);
549
-
550
326
  this._flying = false;
551
327
  this._framesArr.length = 0;
552
328
  this._framesArr = [];
553
329
  this._framesCounter = -1;
554
330
  this._frameCallback = null;
555
331
  }
556
-
557
332
  /**
558
333
  * Returns camera is flying.
559
334
  * @public
@@ -562,111 +337,94 @@ class PlanetCamera extends Camera {
562
337
  isFlying() {
563
338
  return this._flying;
564
339
  }
565
-
566
340
  /**
567
341
  * Rotates around planet to the left.
568
342
  * @public
569
343
  * @param {number} angle - Rotation angle.
570
344
  * @param {boolean} [spin] - If its true rotates around globe spin.
571
345
  */
572
- public rotateLeft(angle: number, spin: boolean) {
346
+ rotateLeft(angle, spin) {
573
347
  this.rotateHorizontal(angle * math.RADIANS, spin !== true, Vec3.ZERO);
574
348
  this.update();
575
349
  }
576
-
577
350
  /**
578
351
  * Rotates around planet to the right.
579
352
  * @public
580
353
  * @param {number} angle - Rotation angle.
581
354
  * @param {boolean} [spin] - If its true rotates around globe spin.
582
355
  */
583
- public rotateRight(angle: number, spin: boolean) {
356
+ rotateRight(angle, spin) {
584
357
  this.rotateHorizontal(-angle * math.RADIANS, spin !== true, Vec3.ZERO);
585
358
  this.update();
586
359
  }
587
-
588
360
  /**
589
361
  * Rotates around planet to the North Pole.
590
362
  * @public
591
363
  * @param {number} angle - Rotation angle.
592
364
  */
593
- public rotateUp(angle: number) {
365
+ rotateUp(angle) {
594
366
  this.rotateVertical(angle * math.RADIANS, Vec3.ZERO);
595
367
  this.update();
596
368
  }
597
-
598
369
  /**
599
370
  * Rotates around planet to the South Pole.
600
371
  * @public
601
372
  * @param {number} angle - Rotation angle.
602
373
  */
603
- public rotateDown(angle: number) {
374
+ rotateDown(angle) {
604
375
  this.rotateVertical(-angle * math.RADIANS, Vec3.ZERO);
605
376
  this.update();
606
377
  }
607
-
608
- public override rotateVertical(angle: number, center: Vec3, minSlope: number = 0) {
378
+ rotateVertical(angle, center, minSlope = 0) {
609
379
  let rot = new Mat4().setRotation(this._r, angle);
610
380
  let tr = new Mat4().setIdentity().translate(center);
611
381
  let ntr = new Mat4().setIdentity().translate(center.negateTo());
612
382
  let trm = tr.mul(rot).mul(ntr);
613
-
614
383
  let eye = trm.mulVec3(this.eye);
615
384
  let u = rot.mulVec3(this._u).normalize();
616
385
  let r = rot.mulVec3(this._r).normalize();
617
386
  let b = rot.mulVec3(this._b).normalize();
618
-
619
387
  let eyeNorm = eye.getNormal();
620
388
  let slope = b.dot(eyeNorm);
621
-
622
389
  if (minSlope) {
623
390
  let dSlope = slope - this.slope;
624
-
625
- if (slope < minSlope && dSlope < 0) return;
626
-
627
- if (
628
- (slope > 0.1 && u.dot(eyeNorm) > 0) ||
391
+ if (slope < minSlope && dSlope < 0)
392
+ return;
393
+ if ((slope > 0.1 && u.dot(eyeNorm) > 0) ||
629
394
  this.slope <= 0.1 ||
630
- this._u.dot(this.eye.getNormal()) <= 0.0
631
- ) {
395
+ this._u.dot(this.eye.getNormal()) <= 0.0) {
632
396
  this.eye = eye;
633
397
  this._u = u;
634
398
  this._r = r;
635
399
  this._b = b;
636
400
  }
637
- } else {
401
+ }
402
+ else {
638
403
  this.eye = eye;
639
404
  this._u = u;
640
405
  this._r = r;
641
406
  this._b = b;
642
407
  }
643
408
  }
644
-
645
409
  /**
646
410
  * Prepare camera to the frame. Used in render node frame function.
647
411
  * @public
648
412
  */
649
- public checkFly() {
413
+ checkFly() {
650
414
  if (this._flying) {
651
415
  let c = this._numFrames - this._framesCounter;
652
-
653
416
  this.planet.layerLock.lock(this._keyLock);
654
417
  this.planet.terrainLock.lock(this._keyLock);
655
418
  this.planet.normalMapCreator.lock(this._keyLock);
656
-
657
419
  this.eye = this._framesArr[c].eye;
658
420
  this._r = this._framesArr[c].u;
659
421
  this._u = this._framesArr[c].v;
660
422
  this._b = this._framesArr[c].n;
661
-
662
423
  if (this._frameCallback) {
663
424
  this._frameCallback();
664
425
  }
665
-
666
426
  this.update();
667
-
668
427
  this._framesCounter--;
669
-
670
428
  if (this._framesCounter < 0) {
671
429
  this.stopFlying();
672
430
  if (this._completeCallback) {
@@ -676,63 +434,32 @@ class PlanetCamera extends Camera {
676
434
  }
677
435
  }
678
436
  }
679
-
680
- public checkTerrainCollision() {
437
+ checkTerrainCollision() {
681
438
  this._terrainAltitude = this._lonLat.height;
682
439
  if (this._insideSegment && this._insideSegment.planet) {
683
- this._terrainAltitude = this._insideSegment.getTerrainPoint(
684
- this.eye,
685
- this._insideSegment.getInsideLonLat(this),
686
- this._terrainPoint
687
- );
440
+ this._terrainAltitude = this._insideSegment.getTerrainPoint(this.eye, this._insideSegment.getInsideLonLat(this), this._terrainPoint);
688
441
  if (this._terrainAltitude < this.minAltitude && this._checkTerrainCollision) {
689
442
  this.setAltitude(this.minAltitude);
690
443
  }
691
444
  return this._terrainPoint;
692
445
  }
693
446
  }
694
-
695
- public getSurfaceVisibleDistance(d: number): number {
447
+ getSurfaceVisibleDistance(d) {
696
448
  let R = this.planet.ellipsoid.equatorialSize;
697
449
  return R * Math.acos(R / (R + this._lonLat.height + d));
698
450
  }
699
-
700
- public getHeading(): number {
451
+ getHeading() {
701
452
  let u = this.eye.getNormal();
702
- let f = Vec3.proj_b_to_plane(
703
- this.slope >= 0.97 ? this.getUp() : this.getForward(),
704
- u
705
- ).normalize(),
706
- n = Vec3.proj_b_to_plane(Vec3.NORTH, u).normalize();
453
+ let f = Vec3.proj_b_to_plane(this.slope >= 0.97 ? this.getUp() : this.getForward(), u).normalize(), n = Vec3.proj_b_to_plane(Vec3.NORTH, u).normalize();
707
454
  let res = Math.sign(u.dot(f.cross(n))) * Math.acos(f.dot(n)) * math.DEGREES;
708
455
  if (res < 0.0) {
709
456
  return 360.0 + res;
710
457
  }
711
458
  return res;
712
459
  }
713
-
714
- public isVisible(poi: Vec3): boolean {
460
+ isVisible(poi) {
715
461
  let e = this.eye.length();
716
462
  return this.eye.distance(poi) < Math.sqrt(e * e - this.planet.ellipsoid.equatorialSizeSqr);
717
463
  }
718
-
719
- // _calcOrientation() {
720
- // let qq = Quat.yRotation(this.yaw * RADIANS).mul(this._qNorthFrame).conjugate();
721
- // this.orientation = qq.mulVec3(MODEL_FORWARD).normalize();
722
- // this._uOrientation[0] = this.orientation.x;
723
- // this._uOrientation[1] = this.orientation.y;
724
- // this._uOrientation[2] = this.orientation.z;
725
- // }
726
- //
727
- // _updatePrediction(now) {
728
- //
729
- // this._qNorthFrame = Planet.getBearingNorthRotationQuat(this.eye);
730
- //
731
- // let dt = (now - this._positionTime) * 0.001;
732
- // this._positionTime = now;
733
- //
734
- // this._predMapPosCart = this.eye.add(this._velCartesian.scaleTo(dt));
735
- // }
736
464
  }
737
-
738
- export {PlanetCamera};
465
+ export { PlanetCamera };