@openglobus/og 0.17.2 → 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 (845) hide show
  1. package/README.md +76 -47
  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/@openglobus/res/fonts/Karla-Bold.json +5252 -0
  7. package/lib/@openglobus/res/fonts/Karla-Bold.ttf.cfg +920 -0
  8. package/lib/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
  9. package/lib/@openglobus/res/fonts/Karla-Light.json +5252 -0
  10. package/lib/@openglobus/res/fonts/Karla-Light.ttf.cfg +830 -0
  11. package/lib/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
  12. package/lib/@openglobus/res/fonts/Karla-Medium.json +5252 -0
  13. package/lib/@openglobus/res/fonts/Karla-Medium.ttf.cfg +1196 -0
  14. package/lib/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
  15. package/lib/@openglobus/res/fonts/NotoSansArabic-Regular.json +3332 -0
  16. package/lib/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +1370 -0
  17. package/lib/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
  18. package/lib/@openglobus/res/fonts/Roboto-Regular.json +37147 -0
  19. package/lib/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +1340 -0
  20. package/lib/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
  21. package/lib/@openglobus/res/fonts/arial.json +4321 -0
  22. package/lib/@openglobus/res/fonts/arial.ttf.cfg +1570 -0
  23. package/lib/@openglobus/res/fonts/arial.ttf.png +0 -0
  24. package/lib/@openglobus/res/night-4326.png +0 -0
  25. package/lib/@openglobus/res/night.png +0 -0
  26. package/lib/@openglobus/res/spec.png +0 -0
  27. package/lib/js/Clock.d.ts +106 -0
  28. package/lib/js/Clock.js +141 -0
  29. package/lib/js/Deferred.d.ts +6 -0
  30. package/lib/js/Deferred.js +13 -0
  31. package/lib/js/Events.d.ts +90 -0
  32. package/lib/js/Events.js +145 -0
  33. package/lib/js/Extent.d.ts +145 -0
  34. package/lib/js/Extent.js +278 -0
  35. package/lib/js/Globe.d.ts +132 -0
  36. package/lib/js/Globe.js +265 -0
  37. package/lib/js/ImageCanvas.d.ts +128 -0
  38. package/lib/js/ImageCanvas.js +203 -0
  39. package/lib/js/Lock.d.ts +15 -0
  40. package/lib/js/Lock.js +27 -0
  41. package/lib/js/LonLat.d.ts +128 -0
  42. package/lib/js/LonLat.js +192 -0
  43. package/lib/js/Object3d.d.ts +49 -0
  44. package/lib/js/Object3d.js +309 -0
  45. package/lib/js/Popup.d.ts +46 -0
  46. package/lib/js/Popup.js +160 -0
  47. package/lib/js/QueueArray.d.ts +16 -0
  48. package/lib/js/QueueArray.js +63 -0
  49. package/lib/js/Rectangle.d.ts +76 -0
  50. package/lib/js/Rectangle.js +77 -0
  51. package/lib/js/Stack.d.ts +20 -0
  52. package/lib/js/Stack.js +42 -0
  53. package/lib/js/astro/astro.d.ts +39 -0
  54. package/lib/js/astro/astro.js +43 -0
  55. package/lib/js/astro/earth.d.ts +8 -0
  56. package/lib/js/astro/earth.js +75 -0
  57. package/lib/js/astro/jd.d.ts +234 -0
  58. package/lib/js/astro/jd.js +416 -0
  59. package/lib/js/astro/orbit.d.ts +5 -0
  60. package/lib/js/astro/orbit.js +104 -0
  61. package/lib/js/astro/rotation.d.ts +2 -0
  62. package/lib/js/astro/rotation.js +25 -0
  63. package/lib/js/bv/Box.d.ts +32 -0
  64. package/lib/js/bv/Box.js +53 -0
  65. package/lib/js/bv/Sphere.d.ts +37 -0
  66. package/lib/js/bv/Sphere.js +31 -0
  67. package/lib/js/bv/index.d.ts +3 -0
  68. package/lib/js/bv/index.js +3 -0
  69. package/lib/js/camera/Camera.d.ts +314 -0
  70. package/lib/js/camera/Camera.js +453 -0
  71. package/lib/js/camera/Frustum.d.ts +139 -0
  72. package/lib/js/camera/Frustum.js +238 -0
  73. package/lib/js/camera/PlanetCamera.d.ts +234 -0
  74. package/lib/js/camera/PlanetCamera.js +465 -0
  75. package/lib/js/camera/index.d.ts +3 -0
  76. package/lib/js/camera/index.js +3 -0
  77. package/lib/js/cons.d.ts +40 -0
  78. package/lib/js/cons.js +92 -0
  79. package/lib/js/control/Atmosphere.d.ts +16 -0
  80. package/lib/js/control/Atmosphere.js +334 -0
  81. package/lib/js/control/CompassButton.d.ts +16 -0
  82. package/lib/js/control/CompassButton.js +118 -0
  83. package/lib/js/control/Control.d.ts +100 -0
  84. package/lib/js/control/Control.js +137 -0
  85. package/lib/js/control/DebugInfo.d.ts +25 -0
  86. package/lib/js/control/DebugInfo.js +281 -0
  87. package/lib/js/control/DrawingSwitcher.d.ts +13 -0
  88. package/lib/js/control/DrawingSwitcher.js +94 -0
  89. package/lib/js/control/EarthCoordinates.d.ts +41 -0
  90. package/lib/js/control/EarthCoordinates.js +161 -0
  91. package/lib/js/control/EarthNavigation.d.ts +50 -0
  92. package/lib/js/control/EarthNavigation.js +202 -0
  93. package/lib/js/control/GeoImageDragControl.d.ts +22 -0
  94. package/lib/js/control/GeoImageDragControl.js +102 -0
  95. package/lib/js/control/KeyboardNavigation.d.ts +28 -0
  96. package/lib/js/control/KeyboardNavigation.js +143 -0
  97. package/lib/js/control/LayerAnimation.d.ts +71 -0
  98. package/lib/js/control/LayerAnimation.js +283 -0
  99. package/lib/js/control/LayerSwitcher.d.ts +21 -0
  100. package/lib/js/control/LayerSwitcher.js +51 -0
  101. package/lib/js/control/Lighting.d.ts +49 -0
  102. package/lib/js/control/Lighting.js +412 -0
  103. package/lib/js/control/MouseNavigation.d.ts +62 -0
  104. package/lib/js/control/MouseNavigation.js +362 -0
  105. package/lib/js/control/MouseWheelZoomControl.d.ts +44 -0
  106. package/lib/js/control/MouseWheelZoomControl.js +181 -0
  107. package/lib/js/control/RulerSwitcher.d.ts +17 -0
  108. package/lib/js/control/RulerSwitcher.js +57 -0
  109. package/lib/js/control/ScaleControl.d.ts +24 -0
  110. package/lib/js/control/ScaleControl.js +91 -0
  111. package/lib/js/control/SegmentBoundVisualization.d.ts +12 -0
  112. package/lib/js/control/SegmentBoundVisualization.js +37 -0
  113. package/lib/js/control/ShowFps.d.ts +9 -0
  114. package/lib/js/control/ShowFps.js +20 -0
  115. package/lib/js/control/SimpleNavigation.d.ts +25 -0
  116. package/lib/js/control/SimpleNavigation.js +96 -0
  117. package/lib/js/control/SimpleSkyBackground.d.ts +15 -0
  118. package/lib/js/control/SimpleSkyBackground.js +177 -0
  119. package/lib/js/control/Sun.d.ts +33 -0
  120. package/lib/js/control/Sun.js +117 -0
  121. package/lib/js/control/ToggleWireframe.d.ts +14 -0
  122. package/lib/js/control/ToggleWireframe.js +28 -0
  123. package/lib/js/control/TouchNavigation.d.ts +52 -0
  124. package/lib/js/control/TouchNavigation.js +263 -0
  125. package/lib/js/control/ZoomControl.d.ts +27 -0
  126. package/lib/js/control/ZoomControl.js +86 -0
  127. package/lib/js/control/drawing/DrawingControl.d.ts +12 -0
  128. package/lib/js/control/drawing/DrawingControl.js +35 -0
  129. package/lib/js/control/drawing/LineStringDrawingScene.d.ts +15 -0
  130. package/lib/js/control/drawing/LineStringDrawingScene.js +139 -0
  131. package/lib/js/control/drawing/PolygonDrawingScene.d.ts +98 -0
  132. package/lib/js/control/drawing/PolygonDrawingScene.js +534 -0
  133. package/lib/js/control/elevationProfile/ElevationProfile.d.ts +61 -0
  134. package/lib/js/control/elevationProfile/ElevationProfile.js +217 -0
  135. package/lib/js/control/heightRuler/HeightRuler.d.ts +7 -0
  136. package/lib/js/control/heightRuler/HeightRuler.js +11 -0
  137. package/lib/js/control/heightRuler/HeightRulerScene.d.ts +35 -0
  138. package/lib/js/control/heightRuler/HeightRulerScene.js +181 -0
  139. package/lib/js/control/heightRuler/HeightRulerSwitcher.d.ts +6 -0
  140. package/lib/js/control/heightRuler/HeightRulerSwitcher.js +13 -0
  141. package/lib/js/control/index.d.ts +28 -0
  142. package/lib/js/control/index.js +28 -0
  143. package/lib/js/control/ruler/Ruler.d.ts +13 -0
  144. package/lib/js/control/ruler/Ruler.js +23 -0
  145. package/lib/js/control/ruler/RulerScene.d.ts +88 -0
  146. package/lib/js/control/ruler/RulerScene.js +324 -0
  147. package/lib/js/control/selection/Selection.d.ts +55 -0
  148. package/lib/js/control/selection/Selection.js +78 -0
  149. package/lib/js/control/selection/SelectionScene.d.ts +44 -0
  150. package/lib/js/control/selection/SelectionScene.js +272 -0
  151. package/lib/js/control/timeline/TimelineControl.d.ts +18 -0
  152. package/lib/js/control/timeline/TimelineControl.js +79 -0
  153. package/lib/js/control/timeline/TimelineModel.d.ts +41 -0
  154. package/lib/js/control/timeline/TimelineModel.js +104 -0
  155. package/lib/js/control/timeline/TimelineView.d.ts +85 -0
  156. package/lib/js/control/timeline/TimelineView.js +363 -0
  157. package/lib/js/control/timeline/timelineUtils.d.ts +12 -0
  158. package/lib/js/control/timeline/timelineUtils.js +112 -0
  159. package/lib/js/control/visibleExtent/Segment.d.ts +277 -0
  160. package/lib/js/control/visibleExtent/Segment.js +1301 -0
  161. package/lib/js/control/visibleExtent/VisibleExtent.d.ts +5 -0
  162. package/lib/js/control/visibleExtent/VisibleExtent.js +56 -0
  163. package/lib/js/control/visibleExtent/drawnode.d.ts +7 -0
  164. package/lib/js/control/visibleExtent/drawnode.js +718 -0
  165. package/lib/js/ellipsoid/Ellipsoid.d.ts +187 -0
  166. package/lib/js/ellipsoid/Ellipsoid.js +434 -0
  167. package/lib/js/ellipsoid/index.d.ts +3 -0
  168. package/lib/js/ellipsoid/index.js +3 -0
  169. package/lib/js/ellipsoid/wgs84.d.ts +6 -0
  170. package/lib/js/ellipsoid/wgs84.js +6 -0
  171. package/lib/js/entity/BaseBillboard.d.ts +222 -0
  172. package/lib/js/entity/BaseBillboard.js +284 -0
  173. package/lib/js/entity/BaseBillboardHandler.d.ts +81 -0
  174. package/lib/js/entity/BaseBillboardHandler.js +546 -0
  175. package/lib/js/entity/Billboard.d.ts +113 -0
  176. package/lib/js/entity/Billboard.js +127 -0
  177. package/lib/js/entity/BillboardHandler.d.ts +15 -0
  178. package/lib/js/entity/BillboardHandler.js +103 -0
  179. package/lib/js/entity/Entity.d.ts +354 -0
  180. package/lib/js/entity/Entity.js +515 -0
  181. package/lib/js/entity/EntityCollection.d.ts +364 -0
  182. package/lib/js/entity/EntityCollection.js +621 -0
  183. package/lib/js/entity/GeoObject.d.ts +138 -0
  184. package/lib/js/entity/GeoObject.js +194 -0
  185. package/lib/js/entity/GeoObjectHandler.d.ts +99 -0
  186. package/lib/js/entity/GeoObjectHandler.js +558 -0
  187. package/lib/js/entity/Geometry.d.ts +111 -0
  188. package/lib/js/entity/Geometry.js +283 -0
  189. package/lib/js/entity/GeometryHandler.d.ts +84 -0
  190. package/lib/js/entity/GeometryHandler.js +687 -0
  191. package/lib/js/entity/Label.d.ts +207 -0
  192. package/lib/js/entity/Label.js +291 -0
  193. package/lib/js/entity/LabelHandler.d.ts +65 -0
  194. package/lib/js/entity/LabelHandler.js +696 -0
  195. package/lib/js/entity/LabelWorker.d.ts +15 -0
  196. package/lib/js/entity/LabelWorker.js +163 -0
  197. package/lib/js/entity/PointCloud.d.ts +179 -0
  198. package/lib/js/entity/PointCloud.js +327 -0
  199. package/lib/js/entity/PointCloudHandler.d.ts +42 -0
  200. package/lib/js/entity/PointCloudHandler.js +82 -0
  201. package/lib/js/entity/Polyline.d.ts +337 -0
  202. package/lib/js/entity/Polyline.js +1546 -0
  203. package/lib/js/entity/PolylineHandler.d.ts +22 -0
  204. package/lib/js/entity/PolylineHandler.js +78 -0
  205. package/lib/js/entity/Ray.d.ts +133 -0
  206. package/lib/js/entity/Ray.js +171 -0
  207. package/lib/js/entity/RayHandler.d.ts +70 -0
  208. package/lib/js/entity/RayHandler.js +496 -0
  209. package/lib/js/entity/Strip.d.ts +127 -0
  210. package/lib/js/entity/Strip.js +401 -0
  211. package/lib/js/entity/StripHandler.d.ts +42 -0
  212. package/lib/js/entity/StripHandler.js +110 -0
  213. package/lib/js/entity/index.d.ts +11 -0
  214. package/lib/js/entity/index.js +11 -0
  215. package/lib/js/index.d.ts +33 -0
  216. package/lib/js/index.js +33 -0
  217. package/lib/js/input/KeyboardHandler.d.ts +33 -0
  218. package/lib/js/input/KeyboardHandler.js +157 -0
  219. package/lib/js/input/MouseHandler.d.ts +16 -0
  220. package/lib/js/input/MouseHandler.js +81 -0
  221. package/lib/js/input/TouchHandler.d.ts +11 -0
  222. package/lib/js/input/TouchHandler.js +42 -0
  223. package/lib/js/input/input.d.ts +3 -0
  224. package/lib/js/input/input.js +42 -0
  225. package/lib/js/layer/BaseGeoImage.d.ts +145 -0
  226. package/lib/js/layer/BaseGeoImage.js +382 -0
  227. package/lib/js/layer/CanvasTiles.d.ts +103 -0
  228. package/lib/js/layer/CanvasTiles.js +302 -0
  229. package/lib/js/layer/GeoImage.d.ts +61 -0
  230. package/lib/js/layer/GeoImage.js +130 -0
  231. package/lib/js/layer/GeoTexture2d.d.ts +17 -0
  232. package/lib/js/layer/GeoTexture2d.js +37 -0
  233. package/lib/js/layer/GeoVideo.d.ts +68 -0
  234. package/lib/js/layer/GeoVideo.js +157 -0
  235. package/lib/js/layer/KML.d.ts +72 -0
  236. package/lib/js/layer/KML.js +303 -0
  237. package/lib/js/layer/Layer.d.ts +401 -0
  238. package/lib/js/layer/Layer.js +732 -0
  239. package/lib/js/layer/Material.d.ts +34 -0
  240. package/lib/js/layer/Material.js +69 -0
  241. package/lib/js/layer/Vector.d.ts +244 -0
  242. package/lib/js/layer/Vector.js +849 -0
  243. package/lib/js/layer/WMS.d.ts +75 -0
  244. package/lib/js/layer/WMS.js +112 -0
  245. package/lib/js/layer/XYZ.d.ts +149 -0
  246. package/lib/js/layer/XYZ.js +299 -0
  247. package/lib/js/layer/index.d.ts +11 -0
  248. package/lib/js/layer/index.js +11 -0
  249. package/lib/js/light/LightSource.d.ts +174 -0
  250. package/lib/js/light/LightSource.js +292 -0
  251. package/lib/js/math/Line2.d.ts +11 -0
  252. package/lib/js/math/Line2.js +21 -0
  253. package/lib/js/math/Line3.d.ts +28 -0
  254. package/lib/js/math/Line3.js +85 -0
  255. package/lib/js/math/Mat3.d.ts +77 -0
  256. package/lib/js/math/Mat3.js +139 -0
  257. package/lib/js/math/Mat4.d.ts +195 -0
  258. package/lib/js/math/Mat4.js +470 -0
  259. package/lib/js/math/Plane.d.ts +20 -0
  260. package/lib/js/math/Plane.js +108 -0
  261. package/lib/js/math/Quat.d.ts +373 -0
  262. package/lib/js/math/Quat.js +783 -0
  263. package/lib/js/math/Ray.d.ts +76 -0
  264. package/lib/js/math/Ray.js +188 -0
  265. package/lib/js/math/Vec2.d.ts +310 -0
  266. package/lib/js/math/Vec2.js +463 -0
  267. package/lib/js/math/Vec3.d.ts +472 -0
  268. package/lib/js/math/Vec3.js +799 -0
  269. package/lib/js/math/Vec4.d.ts +163 -0
  270. package/lib/js/math/Vec4.js +211 -0
  271. package/lib/js/math/coder.d.ts +51 -0
  272. package/lib/js/math/coder.js +101 -0
  273. package/lib/js/math/index.d.ts +11 -0
  274. package/lib/js/math/index.js +11 -0
  275. package/lib/js/math.d.ts +266 -0
  276. package/lib/js/math.js +379 -0
  277. package/lib/js/mercator.d.ts +92 -0
  278. package/lib/js/mercator.js +119 -0
  279. package/lib/js/proj/EPSG3857.d.ts +9 -0
  280. package/lib/js/proj/EPSG3857.js +9 -0
  281. package/lib/js/proj/EPSG4326.d.ts +9 -0
  282. package/lib/js/proj/EPSG4326.js +9 -0
  283. package/lib/js/proj/Proj.d.ts +43 -0
  284. package/lib/js/proj/Proj.js +38 -0
  285. package/lib/js/quadTree/EPSG4326QuadTreeStrategy.d.ts +6 -0
  286. package/lib/js/quadTree/EPSG4326QuadTreeStrategy.js +17 -0
  287. package/lib/js/quadTree/EarthQuadTreeStrategy.d.ts +6 -0
  288. package/lib/js/quadTree/EarthQuadTreeStrategy.js +19 -0
  289. package/lib/js/quadTree/EntityCollectionNode.d.ts +54 -0
  290. package/lib/js/quadTree/EntityCollectionNode.js +328 -0
  291. package/lib/js/quadTree/MarsQuadTreeStrategy.d.ts +6 -0
  292. package/lib/js/quadTree/MarsQuadTreeStrategy.js +17 -0
  293. package/lib/js/quadTree/Node.d.ts +61 -0
  294. package/lib/js/quadTree/Node.js +660 -0
  295. package/lib/js/quadTree/QuadTreeStrategy.d.ts +25 -0
  296. package/lib/js/quadTree/QuadTreeStrategy.js +69 -0
  297. package/lib/js/quadTree/Wgs84QuadTreeStrategy.d.ts +6 -0
  298. package/lib/js/quadTree/Wgs84QuadTreeStrategy.js +15 -0
  299. package/lib/js/quadTree/index.d.ts +12 -0
  300. package/lib/js/quadTree/index.js +12 -0
  301. package/lib/js/quadTree/quadTree.d.ts +40 -0
  302. package/lib/js/quadTree/quadTree.js +66 -0
  303. package/lib/js/renderer/Renderer.d.ts +311 -0
  304. package/lib/js/renderer/Renderer.js +899 -0
  305. package/lib/js/renderer/RendererEvents.d.ts +237 -0
  306. package/lib/js/renderer/RendererEvents.js +848 -0
  307. package/lib/js/scene/Axes.d.ts +12 -0
  308. package/lib/js/scene/Axes.js +59 -0
  309. package/lib/js/scene/BaseNode.d.ts +61 -0
  310. package/lib/js/scene/BaseNode.js +69 -0
  311. package/lib/js/scene/Planet.d.ts +623 -0
  312. package/lib/js/scene/Planet.js +1431 -0
  313. package/lib/js/scene/RenderNode.d.ts +150 -0
  314. package/lib/js/scene/RenderNode.js +301 -0
  315. package/lib/js/scene/SkyBox.d.ts +13 -0
  316. package/lib/js/scene/SkyBox.js +87 -0
  317. package/lib/js/scene/index.d.ts +5 -0
  318. package/lib/js/scene/index.js +5 -0
  319. package/lib/js/segment/Segment.d.ts +278 -0
  320. package/lib/js/segment/Segment.js +1142 -0
  321. package/lib/js/segment/SegmentLonLat.d.ts +48 -0
  322. package/lib/js/segment/SegmentLonLat.js +214 -0
  323. package/lib/js/segment/SegmentLonLatWgs84.d.ts +10 -0
  324. package/lib/js/segment/SegmentLonLatWgs84.js +23 -0
  325. package/lib/js/segment/Slice.d.ts +13 -0
  326. package/lib/js/segment/Slice.js +33 -0
  327. package/lib/js/segment/segmentHelper.d.ts +18 -0
  328. package/lib/js/segment/segmentHelper.js +180 -0
  329. package/lib/js/shaders/atmos.d.ts +4 -0
  330. package/lib/js/shaders/atmos.js +312 -0
  331. package/lib/js/shaders/billboard.d.ts +3 -0
  332. package/lib/js/shaders/billboard.js +214 -0
  333. package/lib/js/shaders/bloom.d.ts +2 -0
  334. package/lib/js/shaders/bloom.js +32 -0
  335. package/lib/js/shaders/blur.d.ts +3 -0
  336. package/lib/js/shaders/blur.js +68 -0
  337. package/lib/js/shaders/depth.d.ts +2 -0
  338. package/lib/js/shaders/depth.js +43 -0
  339. package/lib/js/shaders/drawnode.d.ts +8 -0
  340. package/lib/js/shaders/drawnode.js +986 -0
  341. package/lib/js/shaders/geoObject.d.ts +3 -0
  342. package/lib/js/shaders/geoObject.js +256 -0
  343. package/lib/js/shaders/label.d.ts +4 -0
  344. package/lib/js/shaders/label.js +589 -0
  345. package/lib/js/shaders/lumFilter.d.ts +2 -0
  346. package/lib/js/shaders/lumFilter.js +36 -0
  347. package/lib/js/shaders/pickingMask.d.ts +2 -0
  348. package/lib/js/shaders/pickingMask.js +22 -0
  349. package/lib/js/shaders/pointCloud.d.ts +2 -0
  350. package/lib/js/shaders/pointCloud.js +32 -0
  351. package/lib/js/shaders/polyline.d.ts +3 -0
  352. package/lib/js/shaders/polyline.js +345 -0
  353. package/lib/js/shaders/ray.d.ts +2 -0
  354. package/lib/js/shaders/ray.js +76 -0
  355. package/lib/js/shaders/screenFrame.d.ts +2 -0
  356. package/lib/js/shaders/screenFrame.js +26 -0
  357. package/lib/js/shaders/skybox.d.ts +2 -0
  358. package/lib/js/shaders/skybox.js +28 -0
  359. package/lib/js/shaders/toneMapping.d.ts +2 -0
  360. package/lib/js/shaders/toneMapping.js +85 -0
  361. package/lib/js/shaders/utils.d.ts +1 -0
  362. package/lib/js/shaders/utils.js +86 -0
  363. package/lib/js/terrain/BilTerrain.d.ts +18 -0
  364. package/lib/js/terrain/BilTerrain.js +152 -0
  365. package/lib/js/terrain/EmptyTerrain.d.ts +106 -0
  366. package/lib/js/terrain/EmptyTerrain.js +106 -0
  367. package/lib/js/terrain/Geoid.d.ts +33 -0
  368. package/lib/js/terrain/Geoid.js +191 -0
  369. package/lib/js/terrain/GlobusTerrain.d.ts +134 -0
  370. package/lib/js/terrain/GlobusTerrain.js +332 -0
  371. package/lib/js/terrain/MapboxTerrain.d.ts +21 -0
  372. package/lib/js/terrain/MapboxTerrain.js +298 -0
  373. package/lib/js/terrain/index.d.ts +5 -0
  374. package/lib/js/terrain/index.js +5 -0
  375. package/lib/js/ui/Button.d.ts +32 -0
  376. package/lib/js/ui/Button.js +78 -0
  377. package/lib/js/ui/ButtonGroup.d.ts +16 -0
  378. package/lib/js/ui/ButtonGroup.js +41 -0
  379. package/lib/js/ui/Dialog.d.ts +55 -0
  380. package/lib/js/ui/Dialog.js +173 -0
  381. package/lib/js/ui/Slider.d.ts +38 -0
  382. package/lib/js/ui/Slider.js +129 -0
  383. package/lib/js/ui/ToggleButton.d.ts +20 -0
  384. package/lib/js/ui/ToggleButton.js +42 -0
  385. package/lib/js/ui/View.d.ts +37 -0
  386. package/lib/js/ui/View.js +151 -0
  387. package/lib/js/ui/icons.d.ts +1 -0
  388. package/lib/js/ui/icons.js +3 -0
  389. package/lib/js/utils/BaseWorker.d.ts +14 -0
  390. package/lib/js/utils/BaseWorker.js +47 -0
  391. package/lib/js/utils/FontAtlas.d.ts +82 -0
  392. package/lib/js/utils/FontAtlas.js +220 -0
  393. package/lib/js/utils/GeoImageCreator.d.ts +34 -0
  394. package/lib/js/utils/GeoImageCreator.js +163 -0
  395. package/lib/js/utils/ImagesCacheManager.d.ts +22 -0
  396. package/lib/js/utils/ImagesCacheManager.js +63 -0
  397. package/lib/js/utils/Loader.d.ts +63 -0
  398. package/lib/js/utils/Loader.js +156 -0
  399. package/lib/js/utils/NormalMapCreator.d.ts +52 -0
  400. package/lib/js/utils/NormalMapCreator.js +310 -0
  401. package/lib/js/utils/PlainSegmentWorker.d.ts +24 -0
  402. package/lib/js/utils/PlainSegmentWorker.js +383 -0
  403. package/lib/js/utils/TerrainWorker.d.ts +28 -0
  404. package/lib/js/utils/TerrainWorker.js +551 -0
  405. package/lib/js/utils/TextureAtlas.d.ts +113 -0
  406. package/lib/js/utils/TextureAtlas.js +231 -0
  407. package/lib/js/utils/VectorTileCreator.d.ts +18 -0
  408. package/lib/js/utils/VectorTileCreator.js +320 -0
  409. package/lib/js/utils/colorTable.d.ts +3 -0
  410. package/lib/js/utils/colorTable.js +143 -0
  411. package/lib/js/utils/earcut.d.ts +7 -0
  412. package/lib/js/utils/earcut.js +536 -0
  413. package/lib/js/utils/objParser.d.ts +24 -0
  414. package/lib/js/utils/objParser.js +201 -0
  415. package/lib/js/utils/shared.d.ts +267 -0
  416. package/lib/js/utils/shared.js +893 -0
  417. package/lib/js/utils/units.d.ts +16 -0
  418. package/lib/js/utils/units.js +61 -0
  419. package/lib/js/webgl/BaseFramebuffer.d.ts +53 -0
  420. package/lib/js/webgl/BaseFramebuffer.js +88 -0
  421. package/lib/js/webgl/Framebuffer.d.ts +69 -0
  422. package/lib/js/webgl/Framebuffer.js +149 -0
  423. package/lib/js/webgl/Handler.d.ts +473 -0
  424. package/lib/js/webgl/Handler.js +1003 -0
  425. package/lib/js/webgl/Multisample.d.ts +27 -0
  426. package/lib/js/webgl/Multisample.js +77 -0
  427. package/lib/js/webgl/Program.d.ts +159 -0
  428. package/lib/js/webgl/Program.js +314 -0
  429. package/lib/js/webgl/ProgramController.d.ts +86 -0
  430. package/lib/js/webgl/ProgramController.js +110 -0
  431. package/lib/js/webgl/index.d.ts +6 -0
  432. package/lib/js/webgl/index.js +6 -0
  433. package/lib/js/webgl/types.d.ts +9 -0
  434. package/lib/js/webgl/types.js +26 -0
  435. package/lib/js/webgl/variableHandlers.d.ts +22 -0
  436. package/lib/js/webgl/variableHandlers.js +78 -0
  437. package/package.json +29 -38
  438. package/dist/@openglobus/og.esm.js +0 -21
  439. package/dist/@openglobus/og.esm.js.map +0 -1
  440. package/dist/@openglobus/og.umd.js +0 -21
  441. package/dist/@openglobus/og.umd.js.map +0 -1
  442. package/src/og/Clock.js +0 -214
  443. package/src/og/Deferred.js +0 -11
  444. package/src/og/Events.js +0 -185
  445. package/src/og/Extent.js +0 -352
  446. package/src/og/Globe.js +0 -342
  447. package/src/og/ImageCanvas.js +0 -236
  448. package/src/og/Lock.js +0 -44
  449. package/src/og/LonLat.js +0 -220
  450. package/src/og/Object3d.js +0 -395
  451. package/src/og/Popup.js +0 -187
  452. package/src/og/QueueArray.js +0 -75
  453. package/src/og/Rectangle.js +0 -111
  454. package/src/og/Stack.js +0 -49
  455. package/src/og/astro/astro.js +0 -51
  456. package/src/og/astro/earth.js +0 -112
  457. package/src/og/astro/jd.js +0 -514
  458. package/src/og/astro/orbit.js +0 -119
  459. package/src/og/astro/rotation.js +0 -36
  460. package/src/og/bv/Box.js +0 -77
  461. package/src/og/bv/Sphere.js +0 -57
  462. package/src/og/bv/index.js +0 -4
  463. package/src/og/camera/Camera.js +0 -645
  464. package/src/og/camera/Frustum.js +0 -331
  465. package/src/og/camera/PlanetCamera.js +0 -674
  466. package/src/og/camera/index.js +0 -4
  467. package/src/og/cons.js +0 -108
  468. package/src/og/control/Atmosphere.js +0 -387
  469. package/src/og/control/CompassButton.js +0 -146
  470. package/src/og/control/Control.js +0 -198
  471. package/src/og/control/DebugInfo.js +0 -259
  472. package/src/og/control/DrawingSwitcher.js +0 -117
  473. package/src/og/control/EarthCoordinates.js +0 -214
  474. package/src/og/control/EarthNavigation.js +0 -258
  475. package/src/og/control/GeoImageDragControl.js +0 -117
  476. package/src/og/control/KeyboardNavigation.js +0 -172
  477. package/src/og/control/LayerAnimation.js +0 -379
  478. package/src/og/control/LayerSwitcher.js +0 -424
  479. package/src/og/control/Lighting.js +0 -487
  480. package/src/og/control/MouseNavigation.js +0 -436
  481. package/src/og/control/MouseWheelZoomControl.js +0 -253
  482. package/src/og/control/RulerSwitcher.js +0 -74
  483. package/src/og/control/ScaleControl.js +0 -119
  484. package/src/og/control/SegmentBoundVisualization.js +0 -54
  485. package/src/og/control/ShowFps.js +0 -40
  486. package/src/og/control/SimpleNavigation.js +0 -123
  487. package/src/og/control/SimpleSkyBackground.js +0 -206
  488. package/src/og/control/Sun.js +0 -176
  489. package/src/og/control/ToggleWireframe.js +0 -35
  490. package/src/og/control/TouchNavigation.js +0 -350
  491. package/src/og/control/ZoomControl.js +0 -115
  492. package/src/og/control/drawing/DrawingControl.js +0 -51
  493. package/src/og/control/drawing/LineStringDrawingScene.js +0 -203
  494. package/src/og/control/drawing/PolygonDrawingScene.js +0 -785
  495. package/src/og/control/elevationProfile/ElevationProfile.js +0 -275
  496. package/src/og/control/heightRuler/HeightRuler.js +0 -12
  497. package/src/og/control/heightRuler/HeightRulerScene.js +0 -228
  498. package/src/og/control/heightRuler/HeightRulerSwitcher.js +0 -15
  499. package/src/og/control/index.js +0 -56
  500. package/src/og/control/ruler/Ruler.js +0 -39
  501. package/src/og/control/ruler/RulerScene.js +0 -395
  502. package/src/og/control/selection/Selection.js +0 -95
  503. package/src/og/control/selection/SelectionScene.js +0 -345
  504. package/src/og/control/timeline/TimelineControl.js +0 -100
  505. package/src/og/control/timeline/TimelineModel.js +0 -137
  506. package/src/og/control/timeline/TimelineView.js +0 -462
  507. package/src/og/control/timeline/timelineUtils.js +0 -132
  508. package/src/og/control/visibleExtent/Segment.js +0 -1854
  509. package/src/og/control/visibleExtent/VisibleExtent.js +0 -80
  510. package/src/og/control/visibleExtent/drawnode.js +0 -747
  511. package/src/og/ellipsoid/Ellipsoid.js +0 -565
  512. package/src/og/ellipsoid/index.js +0 -4
  513. package/src/og/ellipsoid/wgs84.js +0 -9
  514. package/src/og/entity/BaseBillboard.js +0 -375
  515. package/src/og/entity/Billboard.js +0 -161
  516. package/src/og/entity/BillboardHandler.js +0 -883
  517. package/src/og/entity/Entity.js +0 -728
  518. package/src/og/entity/EntityCollection.js +0 -830
  519. package/src/og/entity/GeoObject.js +0 -244
  520. package/src/og/entity/GeoObjectHandler.js +0 -744
  521. package/src/og/entity/Geometry.js +0 -320
  522. package/src/og/entity/GeometryHandler.js +0 -1340
  523. package/src/og/entity/Label.js +0 -345
  524. package/src/og/entity/LabelHandler.js +0 -895
  525. package/src/og/entity/LabelWorker.js +0 -194
  526. package/src/og/entity/PointCloud.js +0 -491
  527. package/src/og/entity/PointCloudHandler.js +0 -122
  528. package/src/og/entity/Polyline.js +0 -2203
  529. package/src/og/entity/PolylineHandler.js +0 -105
  530. package/src/og/entity/Ray.js +0 -262
  531. package/src/og/entity/RayHandler.js +0 -841
  532. package/src/og/entity/Strip.js +0 -628
  533. package/src/og/entity/StripHandler.js +0 -158
  534. package/src/og/entity/index.js +0 -9
  535. package/src/og/index.js +0 -112
  536. package/src/og/input/KeyboardHandler.js +0 -195
  537. package/src/og/input/MouseHandler.js +0 -94
  538. package/src/og/input/TouchHandler.js +0 -59
  539. package/src/og/input/input.js +0 -44
  540. package/src/og/layer/BaseGeoImage.js +0 -480
  541. package/src/og/layer/CanvasTiles.js +0 -360
  542. package/src/og/layer/GeoImage.js +0 -150
  543. package/src/og/layer/GeoTexture2d.js +0 -50
  544. package/src/og/layer/GeoVideo.js +0 -187
  545. package/src/og/layer/KML.js +0 -358
  546. package/src/og/layer/Layer.js +0 -907
  547. package/src/og/layer/Material.js +0 -98
  548. package/src/og/layer/Vector.js +0 -1068
  549. package/src/og/layer/WMS.js +0 -182
  550. package/src/og/layer/XYZ.js +0 -374
  551. package/src/og/layer/index.js +0 -11
  552. package/src/og/light/LightSource.js +0 -362
  553. package/src/og/math/Line2.js +0 -28
  554. package/src/og/math/Line3.js +0 -140
  555. package/src/og/math/Mat3.js +0 -152
  556. package/src/og/math/Mat4.js +0 -603
  557. package/src/og/math/Plane.js +0 -117
  558. package/src/og/math/Quat.js +0 -980
  559. package/src/og/math/Ray.js +0 -237
  560. package/src/og/math/Vec2.js +0 -520
  561. package/src/og/math/Vec3.js +0 -931
  562. package/src/og/math/Vec4.js +0 -256
  563. package/src/og/math/coder.js +0 -104
  564. package/src/og/math/index.js +0 -23
  565. package/src/og/math.js +0 -430
  566. package/src/og/mercator.js +0 -149
  567. package/src/og/proj/EPSG3857.js +0 -13
  568. package/src/og/proj/EPSG4326.js +0 -13
  569. package/src/og/proj/Proj.js +0 -59
  570. package/src/og/quadTree/EPSG4326QuadTreeStrategy.js +0 -27
  571. package/src/og/quadTree/EarthQuadTreeStrategy.js +0 -30
  572. package/src/og/quadTree/EntityCollectionNode.js +0 -391
  573. package/src/og/quadTree/MarsQuadTreeStrategy.js +0 -28
  574. package/src/og/quadTree/Node.js +0 -785
  575. package/src/og/quadTree/QuadTreeStrategy.js +0 -94
  576. package/src/og/quadTree/Wgs84QuadTreeStrategy.js +0 -27
  577. package/src/og/quadTree/index.js +0 -14
  578. package/src/og/quadTree/quadTree.js +0 -77
  579. package/src/og/renderer/Renderer.js +0 -1185
  580. package/src/og/renderer/RendererEvents.js +0 -1094
  581. package/src/og/res/images.js +0 -8
  582. package/src/og/scene/Axes.js +0 -74
  583. package/src/og/scene/BaseNode.js +0 -109
  584. package/src/og/scene/Planet.js +0 -1931
  585. package/src/og/scene/RenderNode.js +0 -392
  586. package/src/og/scene/SkyBox.js +0 -104
  587. package/src/og/scene/index.js +0 -5
  588. package/src/og/segment/Segment.js +0 -1687
  589. package/src/og/segment/SegmentLonLat.js +0 -294
  590. package/src/og/segment/SegmentLonLatWgs84.js +0 -40
  591. package/src/og/segment/Slice.js +0 -45
  592. package/src/og/segment/segmentHelper.js +0 -230
  593. package/src/og/shaders/atmos.js +0 -332
  594. package/src/og/shaders/billboard.js +0 -225
  595. package/src/og/shaders/bloom.js +0 -37
  596. package/src/og/shaders/blur.js +0 -79
  597. package/src/og/shaders/depth.js +0 -48
  598. package/src/og/shaders/drawnode.js +0 -1040
  599. package/src/og/shaders/geoObject.js +0 -270
  600. package/src/og/shaders/label.js +0 -604
  601. package/src/og/shaders/lumFilter.js +0 -41
  602. package/src/og/shaders/pickingMask.js +0 -27
  603. package/src/og/shaders/pointCloud.js +0 -38
  604. package/src/og/shaders/polyline.js +0 -557
  605. package/src/og/shaders/ray.js +0 -81
  606. package/src/og/shaders/screenFrame.js +0 -31
  607. package/src/og/shaders/skybox.js +0 -33
  608. package/src/og/shaders/toneMapping.js +0 -90
  609. package/src/og/shaders/utils.js +0 -88
  610. package/src/og/terrain/BilTerrain.js +0 -243
  611. package/src/og/terrain/EmptyTerrain.js +0 -174
  612. package/src/og/terrain/Geoid.js +0 -247
  613. package/src/og/terrain/GlobusTerrain.js +0 -483
  614. package/src/og/terrain/MapboxTerrain.js +0 -470
  615. package/src/og/terrain/index.js +0 -6
  616. package/src/og/ui/Button.js +0 -107
  617. package/src/og/ui/ButtonGroup.js +0 -57
  618. package/src/og/ui/Dialog.js +0 -239
  619. package/src/og/ui/Slider.js +0 -170
  620. package/src/og/ui/ToggleButton.js +0 -51
  621. package/src/og/ui/UIhelpers.js +0 -155
  622. package/src/og/ui/View.js +0 -190
  623. package/src/og/ui/icons.js +0 -3
  624. package/src/og/utils/BaseWorker.js +0 -46
  625. package/src/og/utils/FontAtlas.js +0 -218
  626. package/src/og/utils/GeoImageCreator.js +0 -204
  627. package/src/og/utils/ImagesCacheManager.js +0 -70
  628. package/src/og/utils/Loader.js +0 -188
  629. package/src/og/utils/NormalMapCreator.js +0 -404
  630. package/src/og/utils/PlainSegmentWorker.js +0 -398
  631. package/src/og/utils/TerrainWorker.js +0 -573
  632. package/src/og/utils/TextureAtlas.js +0 -291
  633. package/src/og/utils/VectorTileCreator.js +0 -391
  634. package/src/og/utils/colorTable.js +0 -145
  635. package/src/og/utils/earcut.js +0 -661
  636. package/src/og/utils/functionComposition.js +0 -13
  637. package/src/og/utils/objParser.js +0 -227
  638. package/src/og/utils/shared.js +0 -989
  639. package/src/og/utils/units.js +0 -78
  640. package/src/og/webgl/Framebuffer.js +0 -311
  641. package/src/og/webgl/Handler.js +0 -1170
  642. package/src/og/webgl/Multisample.js +0 -275
  643. package/src/og/webgl/Program.js +0 -407
  644. package/src/og/webgl/ProgramController.js +0 -143
  645. package/src/og/webgl/callbacks.js +0 -98
  646. package/src/og/webgl/index.js +0 -13
  647. package/src/og/webgl/types.js +0 -31
  648. package/src/og.jsdoc +0 -3
  649. package/types/Clock.d.ts +0 -99
  650. package/types/Deferred.d.ts +0 -6
  651. package/types/Events.d.ts +0 -78
  652. package/types/Extent.d.ts +0 -166
  653. package/types/Globe.d.ts +0 -108
  654. package/types/ImageCanvas.d.ts +0 -128
  655. package/types/Lock.d.ts +0 -12
  656. package/types/LonLat.d.ts +0 -127
  657. package/types/Object3d.d.ts +0 -35
  658. package/types/Popup.d.ts +0 -29
  659. package/types/QueueArray.d.ts +0 -19
  660. package/types/Rectangle.d.ts +0 -80
  661. package/types/Stack.d.ts +0 -19
  662. package/types/arial.d.ts +0 -49
  663. package/types/astro/astro.d.ts +0 -38
  664. package/types/astro/earth.d.ts +0 -7
  665. package/types/astro/jd.d.ts +0 -254
  666. package/types/bv/Box.d.ts +0 -30
  667. package/types/bv/Sphere.d.ts +0 -38
  668. package/types/bv/index.d.ts +0 -3
  669. package/types/camera/Camera.d.ts +0 -314
  670. package/types/camera/Frustum.d.ts +0 -133
  671. package/types/camera/PlanetCamera.d.ts +0 -219
  672. package/types/camera/index.d.ts +0 -3
  673. package/types/cons.d.ts +0 -40
  674. package/types/control/Atmosphere.d.ts +0 -15
  675. package/types/control/CompassButton.d.ts +0 -16
  676. package/types/control/Control.d.ts +0 -104
  677. package/types/control/DebugInfo.d.ts +0 -19
  678. package/types/control/DrawingSwitcher.d.ts +0 -13
  679. package/types/control/EarthCoordinates.d.ts +0 -44
  680. package/types/control/EarthNavigation.d.ts +0 -43
  681. package/types/control/GeoImageDragControl.d.ts +0 -14
  682. package/types/control/KeyboardNavigation.d.ts +0 -24
  683. package/types/control/LayerAnimation.d.ts +0 -73
  684. package/types/control/LayerSwitcher.d.ts +0 -64
  685. package/types/control/Lighting.d.ts +0 -41
  686. package/types/control/MouseNavigation.d.ts +0 -49
  687. package/types/control/MouseWheelZoomControl.d.ts +0 -46
  688. package/types/control/ScaleControl.d.ts +0 -23
  689. package/types/control/ShowFps.d.ts +0 -11
  690. package/types/control/SimpleNavigation.d.ts +0 -26
  691. package/types/control/SimpleSkyBackground.d.ts +0 -15
  692. package/types/control/Sun.d.ts +0 -53
  693. package/types/control/ToggleWireframe.d.ts +0 -12
  694. package/types/control/TouchNavigation.d.ts +0 -54
  695. package/types/control/ZoomControl.d.ts +0 -26
  696. package/types/control/drawing/DrawingControl.d.ts +0 -14
  697. package/types/control/drawing/LineStringDrawingScene.d.ts +0 -5
  698. package/types/control/drawing/PolygonDrawingScene.d.ts +0 -99
  699. package/types/control/heightRuler/HeightRuler.d.ts +0 -6
  700. package/types/control/heightRuler/HeightRulerScene.d.ts +0 -23
  701. package/types/control/index.d.ts +0 -27
  702. package/types/control/ruler/Ruler.d.ts +0 -13
  703. package/types/control/ruler/RulerScene.d.ts +0 -51
  704. package/types/control/selection/Selection.d.ts +0 -49
  705. package/types/control/selection/SelectionScene.d.ts +0 -32
  706. package/types/control/timeline/TimelineControl.d.ts +0 -10
  707. package/types/control/timeline/TimelineModel.d.ts +0 -33
  708. package/types/control/timeline/TimelineView.d.ts +0 -57
  709. package/types/control/timeline/timelineUtils.d.ts +0 -9
  710. package/types/ellipsoid/Ellipsoid.d.ts +0 -170
  711. package/types/ellipsoid/index.d.ts +0 -3
  712. package/types/ellipsoid/wgs84.d.ts +0 -6
  713. package/types/entity/BaseBillboard.d.ts +0 -215
  714. package/types/entity/Billboard.d.ts +0 -94
  715. package/types/entity/BillboardHandler.d.ts +0 -75
  716. package/types/entity/Entity.d.ts +0 -340
  717. package/types/entity/EntityCollection.d.ts +0 -303
  718. package/types/entity/GeoObject.d.ts +0 -117
  719. package/types/entity/GeoObjectHandler.d.ts +0 -41
  720. package/types/entity/Geometry.d.ts +0 -79
  721. package/types/entity/GeometryHandler.d.ts +0 -76
  722. package/types/entity/Label.d.ts +0 -190
  723. package/types/entity/LabelHandler.d.ts +0 -31
  724. package/types/entity/LabelWorker.d.ts +0 -9
  725. package/types/entity/PointCloud.d.ts +0 -174
  726. package/types/entity/PointCloudHandler.d.ts +0 -38
  727. package/types/entity/Polyline.d.ts +0 -307
  728. package/types/entity/PolylineHandler.d.ts +0 -18
  729. package/types/entity/Ray.d.ts +0 -122
  730. package/types/entity/RayHandler.d.ts +0 -63
  731. package/types/entity/Strip.d.ts +0 -119
  732. package/types/entity/StripHandler.d.ts +0 -38
  733. package/types/entity/index.d.ts +0 -8
  734. package/types/index.d.ts +0 -53
  735. package/types/input/KeyboardHandler.d.ts +0 -17
  736. package/types/input/MouseHandler.d.ts +0 -5
  737. package/types/input/TouchHandler.d.ts +0 -5
  738. package/types/input/input.d.ts +0 -42
  739. package/types/layer/BaseGeoImage.d.ts +0 -116
  740. package/types/layer/CanvasTiles.d.ts +0 -73
  741. package/types/layer/GeoImage.d.ts +0 -51
  742. package/types/layer/GeoTexture2d.d.ts +0 -7
  743. package/types/layer/GeoVideo.d.ts +0 -47
  744. package/types/layer/KML.d.ts +0 -93
  745. package/types/layer/Layer.d.ts +0 -320
  746. package/types/layer/Material.d.ts +0 -45
  747. package/types/layer/Vector.d.ts +0 -211
  748. package/types/layer/WMS.d.ts +0 -66
  749. package/types/layer/XYZ.d.ts +0 -122
  750. package/types/layer/index.d.ts +0 -10
  751. package/types/light/LightSource.d.ts +0 -178
  752. package/types/math/Line2.d.ts +0 -11
  753. package/types/math/Line3.d.ts +0 -10
  754. package/types/math/Mat3.d.ts +0 -65
  755. package/types/math/Mat4.d.ts +0 -176
  756. package/types/math/Plane.d.ts +0 -18
  757. package/types/math/Quat.d.ts +0 -379
  758. package/types/math/Ray.d.ts +0 -82
  759. package/types/math/Vec2.d.ts +0 -309
  760. package/types/math/Vec3.d.ts +0 -472
  761. package/types/math/Vec4.d.ts +0 -161
  762. package/types/math/coder.d.ts +0 -43
  763. package/types/math/index.d.ts +0 -11
  764. package/types/math.d.ts +0 -268
  765. package/types/mercator.d.ts +0 -92
  766. package/types/proj/EPSG3857.d.ts +0 -6
  767. package/types/proj/EPSG4326.d.ts +0 -6
  768. package/types/proj/Proj.d.ts +0 -42
  769. package/types/quadTree/EPSG4326QuadTreeStrategy.d.ts +0 -3
  770. package/types/quadTree/EarthQuadTreeStrategy.d.ts +0 -3
  771. package/types/quadTree/EntityCollectionNode.d.ts +0 -41
  772. package/types/quadTree/MarsQuadTreeStrategy.d.ts +0 -3
  773. package/types/quadTree/Node.d.ts +0 -58
  774. package/types/quadTree/QuadTreeStrategy.d.ts +0 -21
  775. package/types/quadTree/Wgs84QuadTreeStrategy.d.ts +0 -3
  776. package/types/quadTree/index.d.ts +0 -12
  777. package/types/quadTree/quadTree.d.ts +0 -40
  778. package/types/renderer/Renderer.d.ts +0 -291
  779. package/types/renderer/RendererEvents.d.ts +0 -241
  780. package/types/res/images.d.ts +0 -2
  781. package/types/scene/Axes.d.ts +0 -10
  782. package/types/scene/BaseNode.d.ts +0 -60
  783. package/types/scene/Planet.d.ts +0 -594
  784. package/types/scene/RenderNode.d.ts +0 -152
  785. package/types/scene/SkyBox.d.ts +0 -9
  786. package/types/scene/index.d.ts +0 -4
  787. package/types/segment/Segment.d.ts +0 -273
  788. package/types/segment/SegmentLonLat.d.ts +0 -22
  789. package/types/segment/SegmentLonLatWgs84.d.ts +0 -4
  790. package/types/segment/Slice.d.ts +0 -10
  791. package/types/segment/segmentHelper.d.ts +0 -13
  792. package/types/shaders/atmos.d.ts +0 -4
  793. package/types/shaders/billboard.d.ts +0 -3
  794. package/types/shaders/depth.d.ts +0 -2
  795. package/types/shaders/drawnode.d.ts +0 -8
  796. package/types/shaders/geoObject.d.ts +0 -3
  797. package/types/shaders/label.d.ts +0 -4
  798. package/types/shaders/pickingMask.d.ts +0 -2
  799. package/types/shaders/pointCloud.d.ts +0 -2
  800. package/types/shaders/polyline.d.ts +0 -3
  801. package/types/shaders/ray.d.ts +0 -2
  802. package/types/shaders/screenFrame.d.ts +0 -2
  803. package/types/shaders/skybox.d.ts +0 -2
  804. package/types/shaders/toneMapping.d.ts +0 -2
  805. package/types/shaders/utils.d.ts +0 -1
  806. package/types/terrain/BilTerrain.d.ts +0 -14
  807. package/types/terrain/EmptyTerrain.d.ts +0 -87
  808. package/types/terrain/Geoid.d.ts +0 -17
  809. package/types/terrain/GlobusTerrain.d.ts +0 -122
  810. package/types/terrain/MapboxTerrain.d.ts +0 -14
  811. package/types/terrain/index.d.ts +0 -5
  812. package/types/ui/Button.d.ts +0 -21
  813. package/types/ui/ButtonGroup.d.ts +0 -12
  814. package/types/ui/Dialog.d.ts +0 -41
  815. package/types/ui/Slider.d.ts +0 -33
  816. package/types/ui/ToggleButton.d.ts +0 -10
  817. package/types/ui/UIhelpers.d.ts +0 -13
  818. package/types/ui/View.d.ts +0 -33
  819. package/types/ui/icons.d.ts +0 -1
  820. package/types/utils/BaseWorker.d.ts +0 -14
  821. package/types/utils/FontAtlas.d.ts +0 -16
  822. package/types/utils/GeoImageCreator.d.ts +0 -30
  823. package/types/utils/ImagesCacheManager.d.ts +0 -10
  824. package/types/utils/Loader.d.ts +0 -31
  825. package/types/utils/NormalMapCreator.d.ts +0 -39
  826. package/types/utils/PlainSegmentWorker.d.ts +0 -8
  827. package/types/utils/TerrainWorker.d.ts +0 -7
  828. package/types/utils/TextureAtlas.d.ts +0 -113
  829. package/types/utils/VectorTileCreator.d.ts +0 -14
  830. package/types/utils/colorTable.d.ts +0 -143
  831. package/types/utils/earcut.d.ts +0 -6
  832. package/types/utils/functionComposition.d.ts +0 -5
  833. package/types/utils/objParser.d.ts +0 -8
  834. package/types/utils/shared.d.ts +0 -241
  835. package/types/utils/units.d.ts +0 -20
  836. package/types/webgl/Framebuffer.d.ts +0 -134
  837. package/types/webgl/Handler.d.ts +0 -403
  838. package/types/webgl/Multisample.d.ts +0 -91
  839. package/types/webgl/Program.d.ts +0 -163
  840. package/types/webgl/ProgramController.d.ts +0 -89
  841. package/types/webgl/callbacks.d.ts +0 -1
  842. package/types/webgl/index.d.ts +0 -6
  843. package/types/webgl/types.d.ts +0 -2
  844. /package/{dist → lib}/@openglobus/og.css +0 -0
  845. /package/{src/og → lib/@openglobus/res/fonts}/arial.js +0 -0
@@ -0,0 +1,278 @@
1
+ import * as math from "./math";
2
+ import * as mercator from "./mercator";
3
+ import { LonLat } from "./LonLat";
4
+ /**
5
+ * Represents geographical coordinates extent.
6
+ * @class
7
+ * @param {LonLat} [sw] - South West extent corner coordinates.
8
+ * @param {LonLat} [ne] - North East extent corner coordinates.
9
+ */
10
+ export class Extent {
11
+ constructor(sw = new LonLat(), ne = new LonLat()) {
12
+ this.southWest = sw;
13
+ this.northEast = ne;
14
+ }
15
+ /**
16
+ * Creates extent instance from values in array.
17
+ * @static
18
+ * @param {Array.<number>} arr - South west and north-east longitude and latitudes packed in array. (exactly 4 entries)
19
+ * @return {Extent} Extent object.
20
+ */
21
+ static createFromArray(arr) {
22
+ return new Extent(new LonLat(arr[0], arr[1]), new LonLat(arr[2], arr[3]));
23
+ }
24
+ /**
25
+ * Creates bound extent instance by coordinate array.
26
+ * @static
27
+ * @param {Array.<LonLat>} arr - Coordinate array.
28
+ * @return {Extent} Extent object.
29
+ */
30
+ static createByCoordinates(arr) {
31
+ let lonmin = math.MAX, lonmax = math.MIN, latmin = math.MAX, latmax = math.MIN;
32
+ for (let i = 0; i < arr.length; i++) {
33
+ const vi = arr[i];
34
+ if (vi.lon < lonmin)
35
+ lonmin = vi.lon;
36
+ if (vi.lon > lonmax)
37
+ lonmax = vi.lon;
38
+ if (vi.lat < latmin)
39
+ latmin = vi.lat;
40
+ if (vi.lat > latmax)
41
+ latmax = vi.lat;
42
+ }
43
+ return new Extent(new LonLat(lonmin, latmin), new LonLat(lonmax, latmax));
44
+ }
45
+ /**
46
+ * Creates bound extent instance by coordinates array.
47
+ * @static
48
+ * @param {Array.<Array<number>>} arr - Coordinate array. (exactly 2 entries)
49
+ * @return {Extent} Extent object.
50
+ */
51
+ static createByCoordinatesArr(arr) {
52
+ let lonmin = math.MAX, lonmax = math.MIN, latmin = math.MAX, latmax = math.MIN;
53
+ for (let i = 0; i < arr.length; i++) {
54
+ const vi = arr[i];
55
+ if (vi[0] < lonmin)
56
+ lonmin = vi[0];
57
+ if (vi[0] > lonmax)
58
+ lonmax = vi[0];
59
+ if (vi[1] < latmin)
60
+ latmin = vi[1];
61
+ if (vi[1] > latmax)
62
+ latmax = vi[1];
63
+ }
64
+ return new Extent(new LonLat(lonmin, latmin), new LonLat(lonmax, latmax));
65
+ }
66
+ /**
67
+ * Creates extent by merсator grid tile coordinates.
68
+ * @static
69
+ * @param {number} x -
70
+ * @param {number} y -
71
+ * @param {number} z -
72
+ * @param {number} width -
73
+ * @param {number} height -
74
+ * @returns {Extent} -
75
+ */
76
+ static fromTile(x, y, z, width = mercator.POLE_DOUBLE, height = mercator.POLE_DOUBLE) {
77
+ const H = Math.pow(2, z);
78
+ const W = Math.pow(2, z);
79
+ const lnSize = width / W;
80
+ const ltSize = height / H;
81
+ const left = -width * 0.5 + x * lnSize, top = height * 0.5 - y * ltSize, bottom = top - ltSize, right = left + lnSize;
82
+ return new Extent(new LonLat(left, bottom), new LonLat(right, top));
83
+ }
84
+ /**
85
+ * Sets current bounding extent object by coordinate array.
86
+ * @public
87
+ * @param {Array.<LonLat>} arr - Coordinate array.
88
+ * @return {Extent} Current extent.
89
+ */
90
+ setByCoordinates(arr) {
91
+ let lonmin = math.MAX, lonmax = math.MIN, latmin = math.MAX, latmax = math.MIN;
92
+ for (let i = 0; i < arr.length; i++) {
93
+ const vi = arr[i];
94
+ if (vi.lon < lonmin)
95
+ lonmin = vi.lon;
96
+ if (vi.lon > lonmax)
97
+ lonmax = vi.lon;
98
+ if (vi.lat < latmin)
99
+ latmin = vi.lat;
100
+ if (vi.lat > latmax)
101
+ latmax = vi.lat;
102
+ }
103
+ this.southWest.lon = lonmin;
104
+ this.southWest.lat = latmin;
105
+ this.northEast.lon = lonmax;
106
+ this.northEast.lat = latmax;
107
+ return this;
108
+ }
109
+ /**
110
+ * Determines if point inside extent.
111
+ * @public
112
+ * @param {LonLat} lonlat - Coordinate point.
113
+ * @return {boolean} Returns true if point inside extent.
114
+ */
115
+ isInside(lonlat) {
116
+ const sw = this.southWest;
117
+ const ne = this.northEast;
118
+ return (lonlat.lon >= sw.lon && lonlat.lon <= ne.lon &&
119
+ lonlat.lat >= sw.lat && lonlat.lat <= ne.lat);
120
+ }
121
+ /**
122
+ * Returns true if two extent overlap each other.
123
+ * @public
124
+ * @param {Extent} e - Another extent.
125
+ * @return {boolean} -
126
+ */
127
+ overlaps(e) {
128
+ const sw = this.southWest;
129
+ const ne = this.northEast;
130
+ return (sw.lon <= e.northEast.lon &&
131
+ ne.lon >= e.southWest.lon &&
132
+ sw.lat <= e.northEast.lat &&
133
+ ne.lat >= e.southWest.lat);
134
+ }
135
+ /**
136
+ * Gets extent width.
137
+ * @public
138
+ * @return {number} Extent width.
139
+ */
140
+ getWidth() {
141
+ return this.northEast.lon - this.southWest.lon;
142
+ }
143
+ /**
144
+ * Gets extent height.
145
+ * @public
146
+ * @return {number} Extent height.
147
+ */
148
+ getHeight() {
149
+ return this.northEast.lat - this.southWest.lat;
150
+ }
151
+ /**
152
+ * Creates clone instance of the current extent.
153
+ * @public
154
+ * @return {Extent} Extent clone.
155
+ */
156
+ clone() {
157
+ return new Extent(this.southWest.clone(), this.northEast.clone());
158
+ }
159
+ /**
160
+ * Gets the center coordinate of the extent.
161
+ * @public
162
+ * @return {number} Center coordinate.
163
+ */
164
+ getCenter() {
165
+ const sw = this.southWest;
166
+ const ne = this.northEast;
167
+ return new LonLat(sw.lon + (ne.lon - sw.lon) * 0.5, sw.lat + (ne.lat - sw.lat) * 0.5);
168
+ }
169
+ /**
170
+ * @public
171
+ */
172
+ getNorthWest() {
173
+ return new LonLat(this.southWest.lon, this.northEast.lat);
174
+ }
175
+ /**
176
+ * @public
177
+ */
178
+ getNorthEast() {
179
+ return new LonLat(this.northEast.lon, this.northEast.lat);
180
+ }
181
+ /**
182
+ * @public
183
+ */
184
+ getSouthWest() {
185
+ return new LonLat(this.southWest.lon, this.southWest.lat);
186
+ }
187
+ /**
188
+ * @public
189
+ */
190
+ getSouthEast() {
191
+ return new LonLat(this.northEast.lon, this.southWest.lat);
192
+ }
193
+ /**
194
+ * @public
195
+ */
196
+ getNorth() {
197
+ return this.northEast.lat;
198
+ }
199
+ getEast() {
200
+ return this.northEast.lon;
201
+ }
202
+ /**
203
+ * @public
204
+ */
205
+ getWest() {
206
+ return this.southWest.lon;
207
+ }
208
+ /**
209
+ * @public
210
+ */
211
+ getSouth() {
212
+ return this.southWest.lat;
213
+ }
214
+ /**
215
+ * Returns extents are equals.
216
+ * @param {Extent} extent - Extent.
217
+ * @returns {boolean} -
218
+ */
219
+ equals(extent) {
220
+ return (this.southWest.lon === extent.southWest.lon &&
221
+ this.southWest.lat === extent.southWest.lat &&
222
+ this.northEast.lon === extent.northEast.lon &&
223
+ this.northEast.lat === extent.northEast.lat);
224
+ }
225
+ /**
226
+ * Converts extent coordinates to mercator projection coordinates.
227
+ * @public
228
+ * @return {Extent} New instance of the current extent.
229
+ */
230
+ forwardMercator() {
231
+ return new Extent(this.southWest.forwardMercator(), this.northEast.forwardMercator());
232
+ }
233
+ /**
234
+ * Converts extent coordinates from mercator projection to degrees.
235
+ * @public
236
+ * @return {Extent} New instance of the current extent.
237
+ */
238
+ inverseMercator() {
239
+ return new Extent(this.southWest.inverseMercator(), this.northEast.inverseMercator());
240
+ }
241
+ /**
242
+ * Gets cartesian bounding bounds of the current ellipsoid.
243
+ * @public
244
+ * @param {Ellipsoid} ellipsoid - Ellipsoid.
245
+ * @return {Array.<number>} Cartesian 3d coordinate array. (exactly 6 entries)
246
+ */
247
+ getCartesianBounds(ellipsoid) {
248
+ let xmin = math.MAX, xmax = math.MIN, ymin = math.MAX, ymax = math.MIN, zmin = math.MAX, zmax = math.MIN;
249
+ const v = [
250
+ new LonLat(this.southWest.lon, this.southWest.lat),
251
+ new LonLat(this.southWest.lon, this.northEast.lat),
252
+ new LonLat(this.northEast.lon, this.northEast.lat),
253
+ new LonLat(this.northEast.lon, this.southWest.lat)
254
+ ];
255
+ for (let i = 0; i < v.length; i++) {
256
+ const coord = ellipsoid.lonLatToCartesian(v[i]);
257
+ const x = coord.x;
258
+ const y = coord.y;
259
+ const z = coord.z;
260
+ if (x < xmin)
261
+ xmin = x;
262
+ if (x > xmax)
263
+ xmax = x;
264
+ if (y < ymin)
265
+ ymin = y;
266
+ if (y > ymax)
267
+ ymax = y;
268
+ if (z < zmin)
269
+ zmin = z;
270
+ if (z > zmax)
271
+ zmax = z;
272
+ }
273
+ return [xmin, ymin, zmin, xmax, ymax, zmax];
274
+ }
275
+ toString() {
276
+ return (`[${this.southWest.lon.toFixed(5)}, ${this.southWest.lat.toFixed(5)}, ${this.northEast.lon.toFixed(5)}, ${this.northEast.lat.toFixed(5)}]`);
277
+ }
278
+ }
@@ -0,0 +1,132 @@
1
+ import { Control } from "./control/Control";
2
+ import { Ellipsoid } from "./ellipsoid/Ellipsoid";
3
+ import { EmptyTerrain } from "./terrain/EmptyTerrain";
4
+ import { Layer } from "./layer/Layer";
5
+ import { NumberArray2 } from "./math/Vec2";
6
+ import { NumberArray4 } from "./math/Vec4";
7
+ import { Planet } from "./scene/Planet";
8
+ import { Sun } from "./control/Sun";
9
+ import { HTMLDivElementExt, Renderer } from "./renderer/Renderer";
10
+ import { RenderNode } from "./scene/RenderNode";
11
+ import { Extent } from "./Extent";
12
+ interface IGlobeParams {
13
+ attributionContainer?: HTMLElement;
14
+ target?: string | HTMLElement;
15
+ skybox?: RenderNode;
16
+ dpi?: number;
17
+ msaa?: number;
18
+ name?: string;
19
+ frustums?: NumberArray2[];
20
+ ellipsoid?: Ellipsoid;
21
+ maxGridSize?: number;
22
+ nightTextureSrc?: string | null;
23
+ specularTextureSrc?: string | null;
24
+ minAltitude?: number;
25
+ maxAltitude?: number;
26
+ maxEqualZoomAltitude?: number;
27
+ minEqualZoomAltitude?: number;
28
+ minEqualZoomCameraSlope?: number;
29
+ quadTreeStrategyPrototype?: any;
30
+ maxLoadingRequests?: number;
31
+ atmosphereEnabled?: boolean;
32
+ terrain?: EmptyTerrain;
33
+ controls?: Control[];
34
+ useEarthNavigation?: boolean;
35
+ minSlope?: number;
36
+ sun?: {
37
+ active?: boolean;
38
+ stopped?: boolean;
39
+ };
40
+ layers?: Layer[];
41
+ viewExtent?: Extent | NumberArray4;
42
+ autoActivate?: boolean;
43
+ fontsSrc?: string;
44
+ resourcesSrc?: string;
45
+ }
46
+ /**
47
+ * Creates a WebGL context with globe.
48
+ * @class
49
+ *
50
+ * @example <caption>Basic initialization</caption>
51
+ * globus = new Globe({
52
+ * 'atmosphere': false,
53
+ * 'target': 'globus',
54
+ * 'name': 'Earth',
55
+ * 'controls': [
56
+ * new control.MouseNavigation({ autoActivate: true }),
57
+ * new control.KeyboardNavigation({ autoActivate: true }),
58
+ * new control.EarthCoordinates({ autoActivate: true, center: false }),
59
+ * new control.LayerSwitcher({ autoActivate: true }),
60
+ * new control.ZoomControl({ autoActivate: true }),
61
+ * new control.TouchNavigation({ autoActivate: true }),
62
+ * new control.Sun({ autoActivate: true })
63
+ * ],
64
+ * 'terrain': new GlobusTerrain(),
65
+ * 'layers': [
66
+ * new XYZ("OpenStreetMap", { isBaseLayer: true, url: "http://b.tile.openstreetmap.org/{z}/{x}/{y}.png", visibility: true, attribution: 'Data @ <a href="http://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="http://www.openstreetmap.org/copyright">ODbL</a>' })
67
+ * ],
68
+ * 'autoActivate': true
69
+ * });
70
+ *
71
+ * @param {IGlobeParams} options - Options:
72
+ * @param {string|HTMLElement} options.target - HTML element id where planet canvas have to be created.
73
+ * @param {string} [options.name] - Planet name. Default is uniq identifier.
74
+ * @param {EmptyTerrain} [options.terrain] - Terrain provider. Default no terrain - og.terrain.EmptyTerrain.
75
+ * @param {Array.<Control>} [options.controls] - Renderer controls array.
76
+ * @param {Array.<Layer>} [options.layers] - Planet layers.
77
+ * @param {Extent| [[number, number],[number, number]]} [options.viewExtent] - Viewable starting extent.
78
+ * @param {boolean} [options.autoActivate=true] - Globe rendering auto activation flag. True is default.
79
+ * @param {HTMLElement} [options.attributionContainer] - Container for attribution list.
80
+ * @param {number} [options.maxGridSize=128] = Maximal segment grid size. 128 is default
81
+ * @param {string} [options.fontsSrc] - Fonts collection url.
82
+ * @param {string} [options.resourcesSrc] - Resources root src.
83
+ * @param {string} [options.nightTextureSrc] - Night glowing image sources
84
+ * @param {string} [options.specularTextureSrc] - Specular water mask image sourcr
85
+ * @param {number} [options.maxAltitude=15000000.0] - Maximal camera altitude above terrain
86
+ * @param {number} [options.minAltitude=1.0] - Minimal camera altitude above terrain
87
+ * @param {number} [options.maxEqualZoomAltitude=15000000.0] - Maximal altitude since segments on the screen became the same zoom level
88
+ * @param {number} [options.minEqualZoomAltitude=10000.0] - Minimal altitude since segments on the screen became the same zoom level
89
+ * @param {number} [options.minEqualZoomCameraSlope=0.8] - Minimal camera slope above te globe where segments on the screen became the same zoom level
90
+ * @param {number} [options.loadingBatchSize=12] -
91
+ * @param {number} [options.quadTreeStrategyPrototype] - Prototype of quadTree. QuadTreeStrategy for Earth is default.
92
+ * @param {number} [options.msaa=0] - MSAA antialiasing parameter: 2,4,8,16. Default is 0.
93
+ * @param {number} [options.dpi] - Device pixel ratio. Default is current screen DPI.
94
+ * @param {boolean} [options.atmosphereEnabled] - Enables atmosphere effect.
95
+ */
96
+ declare class Globe {
97
+ static __counter__: number;
98
+ $target: HTMLElement | null;
99
+ protected _instanceID: string;
100
+ protected _canvas: HTMLCanvasElement;
101
+ $inner: HTMLDivElementExt;
102
+ /**
103
+ * Interface for the renderer context(events, input states, renderer nodes etc.)
104
+ * @public
105
+ * @type {Renderer}
106
+ */
107
+ renderer: Renderer;
108
+ /**
109
+ * Planet node name. Access with this.renderer.<name>
110
+ * @private
111
+ * @type {String}
112
+ */
113
+ protected _planetName: string;
114
+ planet: Planet;
115
+ sun: Sun;
116
+ constructor(options: IGlobeParams);
117
+ start(): void;
118
+ /**
119
+ * Starts screen brightness fading in effect by the duration time.
120
+ * @public
121
+ */
122
+ fadeIn(): void;
123
+ /**
124
+ * Starts screen brightness fading out effect by the duration time.
125
+ * @public
126
+ */
127
+ fadeOut(): void;
128
+ attachTo(target: HTMLElement | string): void;
129
+ detach(): void;
130
+ destroy(): void;
131
+ }
132
+ export { Globe };
@@ -0,0 +1,265 @@
1
+ // #StandWithUkraine
2
+ import { CompassButton } from "./control/CompassButton";
3
+ import { EarthCoordinates } from "./control/EarthCoordinates";
4
+ import { EarthNavigation } from "./control/EarthNavigation";
5
+ import { EmptyTerrain } from "./terrain/EmptyTerrain";
6
+ import { Handler } from "./webgl/Handler";
7
+ import { isEmpty } from "./utils/shared";
8
+ import { MouseNavigation } from "./control/MouseNavigation";
9
+ import { Planet } from "./scene/Planet";
10
+ import { ScaleControl } from "./control/ScaleControl";
11
+ import { Sun } from "./control/Sun";
12
+ import { TouchNavigation } from "./control/TouchNavigation";
13
+ import { Renderer } from "./renderer/Renderer";
14
+ import { ZoomControl } from "./control/ZoomControl";
15
+ const DEFAULT_NIGHT_SRC = `/night.png`;
16
+ const DEFAULT_SPEC_SRC = `/spec.png`;
17
+ const DEFAULT_RESOURCES_SRC = '/res';
18
+ /** @const {string} */
19
+ const PLANET_NAME_PREFIX = "globus_planet_";
20
+ /**
21
+ * Creates a WebGL context with globe.
22
+ * @class
23
+ *
24
+ * @example <caption>Basic initialization</caption>
25
+ * globus = new Globe({
26
+ * 'atmosphere': false,
27
+ * 'target': 'globus',
28
+ * 'name': 'Earth',
29
+ * 'controls': [
30
+ * new control.MouseNavigation({ autoActivate: true }),
31
+ * new control.KeyboardNavigation({ autoActivate: true }),
32
+ * new control.EarthCoordinates({ autoActivate: true, center: false }),
33
+ * new control.LayerSwitcher({ autoActivate: true }),
34
+ * new control.ZoomControl({ autoActivate: true }),
35
+ * new control.TouchNavigation({ autoActivate: true }),
36
+ * new control.Sun({ autoActivate: true })
37
+ * ],
38
+ * 'terrain': new GlobusTerrain(),
39
+ * 'layers': [
40
+ * new XYZ("OpenStreetMap", { isBaseLayer: true, url: "http://b.tile.openstreetmap.org/{z}/{x}/{y}.png", visibility: true, attribution: 'Data @ <a href="http://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="http://www.openstreetmap.org/copyright">ODbL</a>' })
41
+ * ],
42
+ * 'autoActivate': true
43
+ * });
44
+ *
45
+ * @param {IGlobeParams} options - Options:
46
+ * @param {string|HTMLElement} options.target - HTML element id where planet canvas have to be created.
47
+ * @param {string} [options.name] - Planet name. Default is uniq identifier.
48
+ * @param {EmptyTerrain} [options.terrain] - Terrain provider. Default no terrain - og.terrain.EmptyTerrain.
49
+ * @param {Array.<Control>} [options.controls] - Renderer controls array.
50
+ * @param {Array.<Layer>} [options.layers] - Planet layers.
51
+ * @param {Extent| [[number, number],[number, number]]} [options.viewExtent] - Viewable starting extent.
52
+ * @param {boolean} [options.autoActivate=true] - Globe rendering auto activation flag. True is default.
53
+ * @param {HTMLElement} [options.attributionContainer] - Container for attribution list.
54
+ * @param {number} [options.maxGridSize=128] = Maximal segment grid size. 128 is default
55
+ * @param {string} [options.fontsSrc] - Fonts collection url.
56
+ * @param {string} [options.resourcesSrc] - Resources root src.
57
+ * @param {string} [options.nightTextureSrc] - Night glowing image sources
58
+ * @param {string} [options.specularTextureSrc] - Specular water mask image sourcr
59
+ * @param {number} [options.maxAltitude=15000000.0] - Maximal camera altitude above terrain
60
+ * @param {number} [options.minAltitude=1.0] - Minimal camera altitude above terrain
61
+ * @param {number} [options.maxEqualZoomAltitude=15000000.0] - Maximal altitude since segments on the screen became the same zoom level
62
+ * @param {number} [options.minEqualZoomAltitude=10000.0] - Minimal altitude since segments on the screen became the same zoom level
63
+ * @param {number} [options.minEqualZoomCameraSlope=0.8] - Minimal camera slope above te globe where segments on the screen became the same zoom level
64
+ * @param {number} [options.loadingBatchSize=12] -
65
+ * @param {number} [options.quadTreeStrategyPrototype] - Prototype of quadTree. QuadTreeStrategy for Earth is default.
66
+ * @param {number} [options.msaa=0] - MSAA antialiasing parameter: 2,4,8,16. Default is 0.
67
+ * @param {number} [options.dpi] - Device pixel ratio. Default is current screen DPI.
68
+ * @param {boolean} [options.atmosphereEnabled] - Enables atmosphere effect.
69
+ */
70
+ class Globe {
71
+ constructor(options) {
72
+ this.$target = null;
73
+ this._instanceID = `__globus${Globe.__counter__++ ? Globe.__counter__ : ""}__`;
74
+ window[this._instanceID] = this;
75
+ //
76
+ // Canvas creation
77
+ //
78
+ this._canvas = document.createElement("canvas");
79
+ this._canvas.id = `canvas${this._instanceID}`;
80
+ this._canvas.style.width = "100%";
81
+ this._canvas.style.height = "100%";
82
+ this._canvas.style.display = "block";
83
+ this._canvas.style.opacity = "0.0";
84
+ this._canvas.style.transition = "opacity 150ms";
85
+ /**
86
+ * Dom element where WebGL canvas creates
87
+ * @public
88
+ * @type {Element}
89
+ */
90
+ this.$inner = document.createElement('div');
91
+ this.$inner.classList.add("og-inner");
92
+ this.$inner.appendChild(this._canvas);
93
+ this.$inner.attributions = document.createElement('div');
94
+ if (options.attributionContainer) {
95
+ options.attributionContainer.appendChild(this.$inner.attributions);
96
+ }
97
+ else {
98
+ this.$inner.attributions.classList.add("og-attribution");
99
+ this.$inner.appendChild(this.$inner.attributions);
100
+ }
101
+ if (options.target) {
102
+ this.attachTo(options.target);
103
+ }
104
+ const _disableWheel = (e) => {
105
+ e.preventDefault();
106
+ };
107
+ this._canvas.onmouseenter = function () {
108
+ document.addEventListener("mousewheel", _disableWheel, {
109
+ capture: false,
110
+ passive: false
111
+ });
112
+ };
113
+ this._canvas.onmouseleave = function () {
114
+ document.removeEventListener("mousewheel", _disableWheel);
115
+ };
116
+ this.renderer = new Renderer(new Handler(this._canvas, {
117
+ autoActivate: false,
118
+ pixelRatio: options.dpi || (window.devicePixelRatio + 0.15),
119
+ context: {
120
+ alpha: false,
121
+ antialias: false,
122
+ premultipliedAlpha: false
123
+ }
124
+ }), {
125
+ autoActivate: false,
126
+ msaa: options.msaa,
127
+ fontsSrc: options.fontsSrc
128
+ });
129
+ this.renderer.div = this.$inner;
130
+ // Skybox
131
+ if (options.skybox) {
132
+ this.renderer.addNode(options.skybox);
133
+ }
134
+ this._planetName = options.name ? options.name : PLANET_NAME_PREFIX + Globe.__counter__;
135
+ this.planet = new Planet({
136
+ name: this._planetName,
137
+ frustums: options.frustums,
138
+ ellipsoid: options.ellipsoid,
139
+ maxGridSize: options.maxGridSize,
140
+ nightTextureSrc: options.nightTextureSrc === null ? null : `${options.resourcesSrc || DEFAULT_RESOURCES_SRC}${DEFAULT_NIGHT_SRC}`,
141
+ specularTextureSrc: options.specularTextureSrc === null ? null : `${options.resourcesSrc || DEFAULT_RESOURCES_SRC}${DEFAULT_SPEC_SRC}`,
142
+ minAltitude: options.minAltitude,
143
+ maxAltitude: options.maxAltitude || 15000000,
144
+ maxEqualZoomAltitude: options.maxEqualZoomAltitude,
145
+ minEqualZoomAltitude: options.minEqualZoomAltitude,
146
+ minEqualZoomCameraSlope: options.minEqualZoomCameraSlope,
147
+ quadTreeStrategyPrototype: options.quadTreeStrategyPrototype,
148
+ maxLoadingRequests: options.maxLoadingRequests,
149
+ atmosphereEnabled: options.atmosphereEnabled
150
+ });
151
+ // Attach terrain provider (can be one object or array)
152
+ if (options.terrain) {
153
+ //@todo: refactoring
154
+ if (Array.isArray(options.terrain)) {
155
+ this.planet.setTerrain(options.terrain[0]); // If array get the terrain from 1st element
156
+ }
157
+ else {
158
+ this.planet.setTerrain(options.terrain);
159
+ }
160
+ }
161
+ else {
162
+ this.planet.setTerrain(new EmptyTerrain());
163
+ }
164
+ this.renderer.addNode(this.planet);
165
+ // Add controls
166
+ if (options.controls) {
167
+ this.planet.addControls(options.controls);
168
+ }
169
+ else {
170
+ this.planet.addControls([
171
+ new ZoomControl(),
172
+ options.useEarthNavigation ? new EarthNavigation() : new MouseNavigation({ minSlope: options.minSlope }),
173
+ new TouchNavigation(),
174
+ new EarthCoordinates(),
175
+ new ScaleControl(),
176
+ new CompassButton()
177
+ ]);
178
+ }
179
+ const _controls = this.renderer.controls;
180
+ let sun;
181
+ for (let i in _controls) {
182
+ if (_controls[i] instanceof Sun) {
183
+ sun = _controls[i];
184
+ break;
185
+ }
186
+ }
187
+ if (!sun) {
188
+ this.sun = new Sun();
189
+ this.planet.addControl(this.sun);
190
+ }
191
+ else {
192
+ this.sun = sun;
193
+ }
194
+ if (options.sun) {
195
+ if (options.sun.active !== undefined && !options.sun.active) {
196
+ this.sun.deactivate();
197
+ }
198
+ if (options.sun.stopped === true) {
199
+ this.sun.stop();
200
+ }
201
+ }
202
+ if (options.layers) {
203
+ this.planet.addLayers(options.layers);
204
+ }
205
+ // TODO: view center, altitude, extent
206
+ let ve = options.viewExtent;
207
+ if (ve) {
208
+ if (ve instanceof Array) {
209
+ this.planet.viewExtentArr(ve);
210
+ }
211
+ else {
212
+ this.planet.viewExtent(ve);
213
+ }
214
+ }
215
+ // Run!
216
+ if (options.autoActivate || isEmpty(options.autoActivate)) {
217
+ this.start();
218
+ }
219
+ }
220
+ start() {
221
+ this.renderer.start();
222
+ this.fadeIn();
223
+ }
224
+ /**
225
+ * Starts screen brightness fading in effect by the duration time.
226
+ * @public
227
+ */
228
+ fadeIn() {
229
+ this._canvas.style.opacity = "1.0";
230
+ }
231
+ /**
232
+ * Starts screen brightness fading out effect by the duration time.
233
+ * @public
234
+ */
235
+ fadeOut() {
236
+ this._canvas.style.opacity = "0";
237
+ }
238
+ attachTo(target) {
239
+ this.detach();
240
+ let t;
241
+ if (target instanceof HTMLElement) {
242
+ t = target;
243
+ }
244
+ else {
245
+ t = document.getElementById(target) || document.querySelector(target);
246
+ }
247
+ if (t) {
248
+ this.$target = t;
249
+ t.appendChild(this.$inner);
250
+ }
251
+ }
252
+ detach() {
253
+ if (this.$target) {
254
+ // Remember that when container is zero
255
+ // sized(display none etc.) renderer frame will be stopped
256
+ this.$target.removeChild(this.$inner);
257
+ }
258
+ }
259
+ destroy() {
260
+ this.detach();
261
+ this.renderer.destroy();
262
+ }
263
+ }
264
+ Globe.__counter__ = 0;
265
+ export { Globe };