@openglobus/og 0.17.1 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (490) hide show
  1. package/README.md +75 -46
  2. package/dist/@openglobus/og.esm.js +1 -20
  3. package/dist/@openglobus/og.esm.js.map +1 -1
  4. package/dist/@openglobus/og.umd.js +1 -20
  5. package/dist/@openglobus/og.umd.js.map +1 -1
  6. package/dist/@openglobus/res/fonts/Karla-Bold.json +5252 -0
  7. package/dist/@openglobus/res/fonts/Karla-Bold.ttf.cfg +920 -0
  8. package/dist/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
  9. package/dist/@openglobus/res/fonts/Karla-Light.json +5252 -0
  10. package/dist/@openglobus/res/fonts/Karla-Light.ttf.cfg +830 -0
  11. package/dist/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
  12. package/dist/@openglobus/res/fonts/Karla-Medium.json +5252 -0
  13. package/dist/@openglobus/res/fonts/Karla-Medium.ttf.cfg +1196 -0
  14. package/dist/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
  15. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.json +3332 -0
  16. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +1370 -0
  17. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
  18. package/dist/@openglobus/res/fonts/Roboto-Regular.json +37147 -0
  19. package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +1340 -0
  20. package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
  21. package/dist/@openglobus/res/fonts/arial.json +4321 -0
  22. package/dist/@openglobus/res/fonts/arial.ttf.cfg +1570 -0
  23. package/dist/@openglobus/res/fonts/arial.ttf.png +0 -0
  24. package/dist/@openglobus/res/night-4326.png +0 -0
  25. package/dist/@openglobus/res/night.png +0 -0
  26. package/dist/@openglobus/res/spec.png +0 -0
  27. package/package.json +25 -23
  28. package/src/{og/Clock.js → Clock.ts} +100 -78
  29. package/src/Deferred.ts +17 -0
  30. package/src/Events.ts +200 -0
  31. package/src/{og/Extent.js → Extent.ts} +324 -352
  32. package/src/Globe.ts +363 -0
  33. package/src/{og/ImageCanvas.js → ImageCanvas.ts} +244 -236
  34. package/src/Lock.ts +41 -0
  35. package/src/{og/LonLat.js → LonLat.ts} +50 -47
  36. package/src/{og/Object3d.js → Object3d.ts} +89 -55
  37. package/src/Popup.ts +228 -0
  38. package/src/{og/QueueArray.js → QueueArray.ts} +76 -75
  39. package/src/{og/Rectangle.js → Rectangle.ts} +115 -111
  40. package/src/Stack.ts +58 -0
  41. package/src/{og/astro/astro.js → astro/astro.ts} +49 -51
  42. package/src/{og/astro/earth.js → astro/earth.ts} +8 -9
  43. package/src/{og/astro/jd.js → astro/jd.ts} +92 -111
  44. package/src/{og/astro/orbit.js → astro/orbit.ts} +35 -37
  45. package/src/{og/astro/rotation.js → astro/rotation.ts} +4 -6
  46. package/src/{og/bv/Box.js → bv/Box.ts} +21 -17
  47. package/src/{og/bv/Sphere.js → bv/Sphere.ts} +21 -19
  48. package/src/bv/index.ts +4 -0
  49. package/src/{og/camera/Camera.js → camera/Camera.ts} +254 -197
  50. package/src/{og/camera/Frustum.js → camera/Frustum.ts} +137 -111
  51. package/src/{og/camera/PlanetCamera.js → camera/PlanetCamera.ts} +248 -185
  52. package/src/camera/index.ts +4 -0
  53. package/src/{og/cons.js → cons.ts} +14 -18
  54. package/src/{og/control/Atmosphere.js → control/Atmosphere.ts} +50 -50
  55. package/src/{og/control/CompassButton.js → control/CompassButton.ts} +27 -30
  56. package/src/{og/control/Control.js → control/Control.ts} +76 -70
  57. package/src/{og/control/DebugInfo.js → control/DebugInfo.ts} +130 -62
  58. package/src/{og/control/DrawingSwitcher.js → control/DrawingSwitcher.ts} +16 -22
  59. package/src/control/EarthCoordinates.ts +222 -0
  60. package/src/control/EarthNavigation.ts +293 -0
  61. package/src/{og/control/GeoImageDragControl.js → control/GeoImageDragControl.ts} +37 -29
  62. package/src/control/KeyboardNavigation.ts +168 -0
  63. package/src/{og/control/LayerAnimation.js → control/LayerAnimation.ts} +74 -90
  64. package/src/control/LayerSwitcher.ts +76 -0
  65. package/src/{og/control/Lighting.js → control/Lighting.ts} +158 -120
  66. package/src/control/MouseNavigation.ts +468 -0
  67. package/src/control/MouseWheelZoomControl.ts +269 -0
  68. package/src/{og/control/RulerSwitcher.js → control/RulerSwitcher.ts} +18 -20
  69. package/src/control/ScaleControl.ts +131 -0
  70. package/src/control/SegmentBoundVisualization.ts +50 -0
  71. package/src/control/ShowFps.ts +28 -0
  72. package/src/control/SimpleNavigation.ts +118 -0
  73. package/src/{og/control/SimpleSkyBackground.js → control/SimpleSkyBackground.ts} +36 -38
  74. package/src/{og/control/Sun.js → control/Sun.ts} +56 -64
  75. package/src/control/ToggleWireframe.ts +35 -0
  76. package/src/control/TouchNavigation.ts +368 -0
  77. package/src/control/ZoomControl.ts +111 -0
  78. package/src/control/drawing/DrawingControl.ts +45 -0
  79. package/src/{og/control/drawing/LineStringDrawingScene.js → control/drawing/LineStringDrawingScene.ts} +28 -35
  80. package/src/{og/control/drawing/PolygonDrawingScene.js → control/drawing/PolygonDrawingScene.ts} +148 -201
  81. package/src/{og/control/elevationProfile/ElevationProfile.js → control/elevationProfile/ElevationProfile.ts} +70 -36
  82. package/src/control/heightRuler/HeightRuler.ts +16 -0
  83. package/src/{og/control/heightRuler/HeightRulerScene.js → control/heightRuler/HeightRulerScene.ts} +92 -87
  84. package/src/{og/control/heightRuler/HeightRulerSwitcher.js → control/heightRuler/HeightRulerSwitcher.ts} +3 -3
  85. package/src/control/index.ts +45 -0
  86. package/src/control/ruler/Ruler.ts +35 -0
  87. package/src/{og/control/ruler/RulerScene.js → control/ruler/RulerScene.ts} +163 -121
  88. package/src/{og/control/selection/Selection.js → control/selection/Selection.ts} +23 -21
  89. package/src/{og/control/selection/SelectionScene.js → control/selection/SelectionScene.ts} +64 -50
  90. package/src/{og/control/timeline/TimelineControl.js → control/timeline/TimelineControl.ts} +37 -28
  91. package/src/{og/control/timeline/TimelineModel.js → control/timeline/TimelineModel.ts} +50 -35
  92. package/src/{og/control/timeline/TimelineView.js → control/timeline/TimelineView.ts} +162 -113
  93. package/src/{og/control/timeline/timelineUtils.js → control/timeline/timelineUtils.ts} +11 -10
  94. package/src/{og/control → control}/visibleExtent/Segment.js +5 -5
  95. package/src/{og/control → control}/visibleExtent/VisibleExtent.js +8 -15
  96. package/src/{og/control/visibleExtent/drawnode.js → control/visibleExtent/drawnode.ts} +1 -3
  97. package/src/{og/ellipsoid/Ellipsoid.js → ellipsoid/Ellipsoid.ts} +113 -59
  98. package/src/ellipsoid/index.ts +4 -0
  99. package/src/{og/ellipsoid/wgs84.js → ellipsoid/wgs84.ts} +1 -3
  100. package/src/{og/entity/BaseBillboard.js → entity/BaseBillboard.ts} +128 -102
  101. package/src/entity/BaseBillboardHandler.ts +772 -0
  102. package/src/{og/entity/Billboard.js → entity/Billboard.ts} +77 -47
  103. package/src/entity/BillboardHandler.ts +135 -0
  104. package/src/{og/entity/Entity.js → entity/Entity.ts} +285 -226
  105. package/src/{og/entity/EntityCollection.js → entity/EntityCollection.ts} +340 -247
  106. package/src/{og/entity/GeoObject.js → entity/GeoObject.ts} +122 -67
  107. package/src/{og/entity/GeoObjectHandler.js → entity/GeoObjectHandler.ts} +273 -198
  108. package/src/entity/Geometry.ts +486 -0
  109. package/src/{og/entity/GeometryHandler.js → entity/GeometryHandler.ts} +383 -541
  110. package/src/{og/entity/Label.js → entity/Label.ts} +131 -83
  111. package/src/{og/entity/LabelHandler.js → entity/LabelHandler.ts} +289 -255
  112. package/src/{og/entity/LabelWorker.js → entity/LabelWorker.ts} +26 -36
  113. package/src/{og/entity/PointCloud.js → entity/PointCloud.ts} +200 -164
  114. package/src/entity/PointCloudHandler.ts +125 -0
  115. package/src/{og/entity/Polyline.js → entity/Polyline.ts} +517 -539
  116. package/src/{og/entity/PolylineHandler.js → entity/PolylineHandler.ts} +29 -31
  117. package/src/{og/entity/Ray.js → entity/Ray.ts} +89 -60
  118. package/src/{og/entity/RayHandler.js → entity/RayHandler.ts} +201 -306
  119. package/src/{og/entity/Strip.js → entity/Strip.ts} +143 -100
  120. package/src/{og/entity/StripHandler.js → entity/StripHandler.ts} +76 -72
  121. package/src/entity/index.ts +12 -0
  122. package/src/index.ts +173 -0
  123. package/src/input/KeyboardHandler.ts +196 -0
  124. package/src/{og/input/MouseHandler.js → input/MouseHandler.ts} +46 -35
  125. package/src/input/TouchHandler.ts +54 -0
  126. package/src/{og/input/input.js → input/input.ts} +1 -3
  127. package/src/{og/layer/BaseGeoImage.js → layer/BaseGeoImage.ts} +174 -107
  128. package/src/{og/layer/CanvasTiles.js → layer/CanvasTiles.ts} +139 -105
  129. package/src/{og/layer/GeoImage.js → layer/GeoImage.ts} +62 -52
  130. package/src/layer/GeoTexture2d.ts +56 -0
  131. package/src/{og/layer/GeoVideo.js → layer/GeoVideo.ts} +53 -53
  132. package/src/{og/layer/KML.js → layer/KML.ts} +63 -74
  133. package/src/{og/layer/Layer.js → layer/Layer.ts} +399 -223
  134. package/src/{og/layer/Material.js → layer/Material.ts} +40 -35
  135. package/src/{og/layer/Vector.js → layer/Vector.ts} +319 -267
  136. package/src/{og/layer/WMS.js → layer/WMS.ts} +76 -64
  137. package/src/{og/layer/XYZ.js → layer/XYZ.ts} +123 -98
  138. package/src/layer/index.ts +12 -0
  139. package/src/{og/light/LightSource.js → light/LightSource.ts} +132 -93
  140. package/src/{og/math/Line2.js → math/Line2.ts} +11 -8
  141. package/src/{og/math/Line3.js → math/Line3.ts} +49 -27
  142. package/src/{og/math/Mat3.js → math/Mat3.ts} +43 -27
  143. package/src/{og/math/Mat4.js → math/Mat4.ts} +110 -77
  144. package/src/{og/math/Plane.js → math/Plane.ts} +28 -23
  145. package/src/{og/math/Quat.js → math/Quat.ts} +238 -222
  146. package/src/{og/math/Ray.js → math/Ray.ts} +59 -63
  147. package/src/{og/math/Vec2.js → math/Vec2.ts} +85 -76
  148. package/src/{og/math/Vec3.js → math/Vec3.ts} +141 -140
  149. package/src/{og/math/Vec4.js → math/Vec4.ts} +64 -53
  150. package/src/{og/math/coder.js → math/coder.ts} +30 -27
  151. package/src/math/index.ts +26 -0
  152. package/src/{og/math.js → math.ts} +46 -49
  153. package/src/{og/mercator.js → mercator.ts} +143 -149
  154. package/src/{og/proj/EPSG3857.js → proj/EPSG3857.ts} +1 -3
  155. package/src/{og/proj/EPSG4326.js → proj/EPSG4326.ts} +11 -13
  156. package/src/{og/proj/Proj.js → proj/Proj.ts} +27 -23
  157. package/src/{og/quadTree/EPSG4326QuadTreeStrategy.js → quadTree/EPSG4326QuadTreeStrategy.ts} +10 -13
  158. package/src/{og/quadTree/EarthQuadTreeStrategy.js → quadTree/EarthQuadTreeStrategy.ts} +11 -13
  159. package/src/quadTree/EntityCollectionNode.ts +395 -0
  160. package/src/{og/quadTree/MarsQuadTreeStrategy.js → quadTree/MarsQuadTreeStrategy.ts} +10 -13
  161. package/src/{og/quadTree/Node.js → quadTree/Node.ts} +283 -191
  162. package/src/{og/quadTree/QuadTreeStrategy.js → quadTree/QuadTreeStrategy.ts} +35 -29
  163. package/src/quadTree/Wgs84QuadTreeStrategy.ts +22 -0
  164. package/src/quadTree/index.ts +14 -0
  165. package/src/{og/quadTree/quadTree.js → quadTree/quadTree.ts} +75 -77
  166. package/src/{og/renderer/Renderer.js → renderer/Renderer.ts} +454 -298
  167. package/src/{og/renderer/RendererEvents.js → renderer/RendererEvents.ts} +347 -270
  168. package/src/{og/scene/Axes.js → scene/Axes.ts} +26 -22
  169. package/src/{og/scene/BaseNode.js → scene/BaseNode.ts} +53 -47
  170. package/src/{og/scene/Planet.js → scene/Planet.ts} +777 -595
  171. package/src/{og/scene/RenderNode.js → scene/RenderNode.ts} +105 -91
  172. package/src/{og/scene/SkyBox.js → scene/SkyBox.ts} +29 -25
  173. package/src/scene/index.ts +6 -0
  174. package/src/{og/segment/Segment.js → segment/Segment.ts} +497 -371
  175. package/src/{og/segment/SegmentLonLat.js → segment/SegmentLonLat.ts} +81 -87
  176. package/src/{og/segment/SegmentLonLatWgs84.js → segment/SegmentLonLatWgs84.ts} +9 -16
  177. package/src/{og/segment/Slice.js → segment/Slice.ts} +15 -9
  178. package/src/{og/segment/segmentHelper.js → segment/segmentHelper.ts} +57 -49
  179. package/src/{og/shaders/atmos.js → shaders/atmos.ts} +4 -6
  180. package/src/{og/shaders/billboard.js → shaders/billboard.ts} +3 -5
  181. package/src/{og/shaders/bloom.js → shaders/bloom.ts} +2 -4
  182. package/src/{og/shaders/blur.js → shaders/blur.ts} +4 -7
  183. package/src/{og/shaders/depth.js → shaders/depth.ts} +1 -3
  184. package/src/{og/shaders/drawnode.js → shaders/drawnode.ts} +19 -21
  185. package/src/{og/shaders/geoObject.js → shaders/geoObject.ts} +17 -19
  186. package/src/{og/shaders/label.js → shaders/label.ts} +4 -6
  187. package/src/{og/shaders/lumFilter.js → shaders/lumFilter.ts} +2 -4
  188. package/src/{og/shaders/pickingMask.js → shaders/pickingMask.ts} +2 -4
  189. package/src/{og/shaders/pointCloud.js → shaders/pointCloud.ts} +7 -10
  190. package/src/{og/shaders/polyline.js → shaders/polyline.ts} +3 -200
  191. package/src/{og/shaders/ray.js → shaders/ray.ts} +2 -4
  192. package/src/{og/shaders/screenFrame.js → shaders/screenFrame.ts} +2 -4
  193. package/src/{og/shaders/skybox.js → shaders/skybox.ts} +7 -9
  194. package/src/{og/shaders/toneMapping.js → shaders/toneMapping.ts} +2 -4
  195. package/src/{og/shaders/utils.js → shaders/utils.ts} +0 -2
  196. package/src/{og/terrain/BilTerrain.js → terrain/BilTerrain.ts} +38 -32
  197. package/src/terrain/EmptyTerrain.ts +230 -0
  198. package/src/{og/terrain/Geoid.js → terrain/Geoid.ts} +67 -41
  199. package/src/{og/terrain/GlobusTerrain.js → terrain/GlobusTerrain.ts} +159 -153
  200. package/src/{og/terrain/MapboxTerrain.js → terrain/MapboxTerrain.ts} +58 -61
  201. package/src/terrain/index.ts +6 -0
  202. package/src/ui/Button.ts +121 -0
  203. package/src/ui/ButtonGroup.ts +63 -0
  204. package/src/ui/Dialog.ts +244 -0
  205. package/src/ui/Slider.ts +188 -0
  206. package/src/ui/ToggleButton.ts +68 -0
  207. package/src/{og/ui/View.js → ui/View.ts} +66 -59
  208. package/src/utils/BaseWorker.ts +60 -0
  209. package/src/utils/FontAtlas.ts +356 -0
  210. package/src/{og/utils/GeoImageCreator.js → utils/GeoImageCreator.ts} +45 -29
  211. package/src/{og/utils/ImagesCacheManager.js → utils/ImagesCacheManager.ts} +85 -70
  212. package/src/utils/Loader.ts +247 -0
  213. package/src/{og/utils/NormalMapCreator.js → utils/NormalMapCreator.ts} +114 -77
  214. package/src/{og/utils/PlainSegmentWorker.js → utils/PlainSegmentWorker.ts} +41 -24
  215. package/src/{og/utils/TerrainWorker.js → utils/TerrainWorker.ts} +51 -36
  216. package/src/utils/TextureAtlas.ts +322 -0
  217. package/src/{og/utils/VectorTileCreator.js → utils/VectorTileCreator.ts} +67 -52
  218. package/src/{og/utils/colorTable.js → utils/colorTable.ts} +142 -144
  219. package/src/{og/utils/earcut.js → utils/earcut.ts} +664 -661
  220. package/src/{og/utils/objParser.js → utils/objParser.ts} +66 -37
  221. package/src/{og/utils/shared.js → utils/shared.ts} +267 -206
  222. package/src/utils/units.ts +78 -0
  223. package/src/webgl/BaseFramebuffer.ts +125 -0
  224. package/src/webgl/Framebuffer.ts +206 -0
  225. package/src/webgl/Handler.ts +1414 -0
  226. package/src/webgl/Multisample.ts +153 -0
  227. package/src/webgl/Program.ts +451 -0
  228. package/src/{og/webgl/ProgramController.js → webgl/ProgramController.ts} +44 -43
  229. package/src/webgl/index.ts +13 -0
  230. package/src/{og/webgl/types.js → webgl/types.ts} +29 -31
  231. package/src/webgl/variableHandlers.ts +114 -0
  232. package/src/og/Deferred.js +0 -11
  233. package/src/og/Events.js +0 -185
  234. package/src/og/Globe.js +0 -342
  235. package/src/og/Lock.js +0 -44
  236. package/src/og/Popup.js +0 -187
  237. package/src/og/Stack.js +0 -49
  238. package/src/og/bv/index.js +0 -4
  239. package/src/og/camera/index.js +0 -4
  240. package/src/og/control/EarthCoordinates.js +0 -214
  241. package/src/og/control/EarthNavigation.js +0 -258
  242. package/src/og/control/KeyboardNavigation.js +0 -149
  243. package/src/og/control/LayerSwitcher.js +0 -424
  244. package/src/og/control/MouseNavigation.js +0 -436
  245. package/src/og/control/MouseWheelZoomControl.js +0 -253
  246. package/src/og/control/ScaleControl.js +0 -119
  247. package/src/og/control/SegmentBoundVisualization.js +0 -54
  248. package/src/og/control/ShowFps.js +0 -40
  249. package/src/og/control/SimpleNavigation.js +0 -123
  250. package/src/og/control/ToggleWireframe.js +0 -35
  251. package/src/og/control/TouchNavigation.js +0 -350
  252. package/src/og/control/ZoomControl.js +0 -115
  253. package/src/og/control/drawing/DrawingControl.js +0 -51
  254. package/src/og/control/heightRuler/HeightRuler.js +0 -12
  255. package/src/og/control/index.js +0 -56
  256. package/src/og/control/ruler/Ruler.js +0 -39
  257. package/src/og/ellipsoid/index.js +0 -4
  258. package/src/og/entity/BillboardHandler.js +0 -883
  259. package/src/og/entity/Geometry.js +0 -320
  260. package/src/og/entity/PointCloudHandler.js +0 -122
  261. package/src/og/entity/index.js +0 -9
  262. package/src/og/index.js +0 -112
  263. package/src/og/input/KeyboardHandler.js +0 -128
  264. package/src/og/input/TouchHandler.js +0 -59
  265. package/src/og/layer/GeoTexture2d.js +0 -50
  266. package/src/og/layer/index.js +0 -11
  267. package/src/og/math/index.js +0 -23
  268. package/src/og/quadTree/EntityCollectionNode.js +0 -391
  269. package/src/og/quadTree/Wgs84QuadTreeStrategy.js +0 -27
  270. package/src/og/quadTree/index.js +0 -14
  271. package/src/og/res/images.js +0 -8
  272. package/src/og/scene/index.js +0 -5
  273. package/src/og/terrain/EmptyTerrain.js +0 -174
  274. package/src/og/terrain/index.js +0 -6
  275. package/src/og/ui/Button.js +0 -107
  276. package/src/og/ui/ButtonGroup.js +0 -57
  277. package/src/og/ui/Dialog.js +0 -239
  278. package/src/og/ui/Slider.js +0 -170
  279. package/src/og/ui/ToggleButton.js +0 -51
  280. package/src/og/ui/UIhelpers.js +0 -155
  281. package/src/og/utils/BaseWorker.js +0 -46
  282. package/src/og/utils/FontAtlas.js +0 -218
  283. package/src/og/utils/Loader.js +0 -188
  284. package/src/og/utils/TextureAtlas.js +0 -291
  285. package/src/og/utils/functionComposition.js +0 -13
  286. package/src/og/utils/units.js +0 -78
  287. package/src/og/webgl/Framebuffer.js +0 -311
  288. package/src/og/webgl/Handler.js +0 -1168
  289. package/src/og/webgl/Multisample.js +0 -275
  290. package/src/og/webgl/Program.js +0 -407
  291. package/src/og/webgl/callbacks.js +0 -98
  292. package/src/og/webgl/index.js +0 -13
  293. package/src/og.jsdoc +0 -3
  294. package/types/Clock.d.ts +0 -99
  295. package/types/Deferred.d.ts +0 -6
  296. package/types/Events.d.ts +0 -78
  297. package/types/Extent.d.ts +0 -166
  298. package/types/Globe.d.ts +0 -108
  299. package/types/ImageCanvas.d.ts +0 -128
  300. package/types/Lock.d.ts +0 -12
  301. package/types/LonLat.d.ts +0 -127
  302. package/types/Object3d.d.ts +0 -35
  303. package/types/Popup.d.ts +0 -29
  304. package/types/QueueArray.d.ts +0 -19
  305. package/types/Rectangle.d.ts +0 -80
  306. package/types/Stack.d.ts +0 -19
  307. package/types/arial.d.ts +0 -49
  308. package/types/astro/astro.d.ts +0 -38
  309. package/types/astro/earth.d.ts +0 -7
  310. package/types/astro/jd.d.ts +0 -254
  311. package/types/bv/Box.d.ts +0 -30
  312. package/types/bv/Sphere.d.ts +0 -38
  313. package/types/bv/index.d.ts +0 -3
  314. package/types/camera/Camera.d.ts +0 -314
  315. package/types/camera/Frustum.d.ts +0 -133
  316. package/types/camera/PlanetCamera.d.ts +0 -219
  317. package/types/camera/index.d.ts +0 -3
  318. package/types/cons.d.ts +0 -40
  319. package/types/control/Atmosphere.d.ts +0 -15
  320. package/types/control/CompassButton.d.ts +0 -16
  321. package/types/control/Control.d.ts +0 -104
  322. package/types/control/DebugInfo.d.ts +0 -19
  323. package/types/control/DrawingSwitcher.d.ts +0 -13
  324. package/types/control/EarthCoordinates.d.ts +0 -44
  325. package/types/control/EarthNavigation.d.ts +0 -43
  326. package/types/control/GeoImageDragControl.d.ts +0 -14
  327. package/types/control/KeyboardNavigation.d.ts +0 -24
  328. package/types/control/LayerAnimation.d.ts +0 -73
  329. package/types/control/LayerSwitcher.d.ts +0 -64
  330. package/types/control/Lighting.d.ts +0 -41
  331. package/types/control/MouseNavigation.d.ts +0 -49
  332. package/types/control/MouseWheelZoomControl.d.ts +0 -46
  333. package/types/control/ScaleControl.d.ts +0 -23
  334. package/types/control/ShowFps.d.ts +0 -11
  335. package/types/control/SimpleNavigation.d.ts +0 -26
  336. package/types/control/SimpleSkyBackground.d.ts +0 -15
  337. package/types/control/Sun.d.ts +0 -53
  338. package/types/control/ToggleWireframe.d.ts +0 -12
  339. package/types/control/TouchNavigation.d.ts +0 -54
  340. package/types/control/ZoomControl.d.ts +0 -26
  341. package/types/control/drawing/DrawingControl.d.ts +0 -14
  342. package/types/control/drawing/LineStringDrawingScene.d.ts +0 -5
  343. package/types/control/drawing/PolygonDrawingScene.d.ts +0 -99
  344. package/types/control/heightRuler/HeightRuler.d.ts +0 -6
  345. package/types/control/heightRuler/HeightRulerScene.d.ts +0 -23
  346. package/types/control/index.d.ts +0 -27
  347. package/types/control/ruler/Ruler.d.ts +0 -13
  348. package/types/control/ruler/RulerScene.d.ts +0 -51
  349. package/types/control/selection/Selection.d.ts +0 -49
  350. package/types/control/selection/SelectionScene.d.ts +0 -32
  351. package/types/control/timeline/TimelineControl.d.ts +0 -10
  352. package/types/control/timeline/TimelineModel.d.ts +0 -33
  353. package/types/control/timeline/TimelineView.d.ts +0 -57
  354. package/types/control/timeline/timelineUtils.d.ts +0 -9
  355. package/types/ellipsoid/Ellipsoid.d.ts +0 -170
  356. package/types/ellipsoid/index.d.ts +0 -3
  357. package/types/ellipsoid/wgs84.d.ts +0 -6
  358. package/types/entity/BaseBillboard.d.ts +0 -215
  359. package/types/entity/Billboard.d.ts +0 -94
  360. package/types/entity/BillboardHandler.d.ts +0 -75
  361. package/types/entity/Entity.d.ts +0 -340
  362. package/types/entity/EntityCollection.d.ts +0 -303
  363. package/types/entity/GeoObject.d.ts +0 -117
  364. package/types/entity/GeoObjectHandler.d.ts +0 -41
  365. package/types/entity/Geometry.d.ts +0 -79
  366. package/types/entity/GeometryHandler.d.ts +0 -76
  367. package/types/entity/Label.d.ts +0 -190
  368. package/types/entity/LabelHandler.d.ts +0 -31
  369. package/types/entity/LabelWorker.d.ts +0 -9
  370. package/types/entity/PointCloud.d.ts +0 -174
  371. package/types/entity/PointCloudHandler.d.ts +0 -38
  372. package/types/entity/Polyline.d.ts +0 -307
  373. package/types/entity/PolylineHandler.d.ts +0 -18
  374. package/types/entity/Ray.d.ts +0 -122
  375. package/types/entity/RayHandler.d.ts +0 -63
  376. package/types/entity/Strip.d.ts +0 -119
  377. package/types/entity/StripHandler.d.ts +0 -38
  378. package/types/entity/index.d.ts +0 -8
  379. package/types/index.d.ts +0 -53
  380. package/types/input/KeyboardHandler.d.ts +0 -10
  381. package/types/input/MouseHandler.d.ts +0 -5
  382. package/types/input/TouchHandler.d.ts +0 -5
  383. package/types/input/input.d.ts +0 -42
  384. package/types/layer/BaseGeoImage.d.ts +0 -116
  385. package/types/layer/CanvasTiles.d.ts +0 -73
  386. package/types/layer/GeoImage.d.ts +0 -51
  387. package/types/layer/GeoTexture2d.d.ts +0 -7
  388. package/types/layer/GeoVideo.d.ts +0 -47
  389. package/types/layer/KML.d.ts +0 -93
  390. package/types/layer/Layer.d.ts +0 -320
  391. package/types/layer/Material.d.ts +0 -45
  392. package/types/layer/Vector.d.ts +0 -211
  393. package/types/layer/WMS.d.ts +0 -66
  394. package/types/layer/XYZ.d.ts +0 -122
  395. package/types/layer/index.d.ts +0 -10
  396. package/types/light/LightSource.d.ts +0 -178
  397. package/types/math/Line2.d.ts +0 -11
  398. package/types/math/Line3.d.ts +0 -10
  399. package/types/math/Mat3.d.ts +0 -65
  400. package/types/math/Mat4.d.ts +0 -176
  401. package/types/math/Plane.d.ts +0 -18
  402. package/types/math/Quat.d.ts +0 -379
  403. package/types/math/Ray.d.ts +0 -82
  404. package/types/math/Vec2.d.ts +0 -309
  405. package/types/math/Vec3.d.ts +0 -472
  406. package/types/math/Vec4.d.ts +0 -161
  407. package/types/math/coder.d.ts +0 -43
  408. package/types/math/index.d.ts +0 -11
  409. package/types/math.d.ts +0 -268
  410. package/types/mercator.d.ts +0 -92
  411. package/types/proj/EPSG3857.d.ts +0 -6
  412. package/types/proj/EPSG4326.d.ts +0 -6
  413. package/types/proj/Proj.d.ts +0 -42
  414. package/types/quadTree/EPSG4326QuadTreeStrategy.d.ts +0 -3
  415. package/types/quadTree/EarthQuadTreeStrategy.d.ts +0 -3
  416. package/types/quadTree/EntityCollectionNode.d.ts +0 -41
  417. package/types/quadTree/MarsQuadTreeStrategy.d.ts +0 -3
  418. package/types/quadTree/Node.d.ts +0 -58
  419. package/types/quadTree/QuadTreeStrategy.d.ts +0 -21
  420. package/types/quadTree/Wgs84QuadTreeStrategy.d.ts +0 -3
  421. package/types/quadTree/index.d.ts +0 -12
  422. package/types/quadTree/quadTree.d.ts +0 -40
  423. package/types/renderer/Renderer.d.ts +0 -291
  424. package/types/renderer/RendererEvents.d.ts +0 -255
  425. package/types/res/images.d.ts +0 -2
  426. package/types/scene/Axes.d.ts +0 -10
  427. package/types/scene/BaseNode.d.ts +0 -60
  428. package/types/scene/Planet.d.ts +0 -595
  429. package/types/scene/RenderNode.d.ts +0 -152
  430. package/types/scene/SkyBox.d.ts +0 -9
  431. package/types/scene/index.d.ts +0 -4
  432. package/types/segment/Segment.d.ts +0 -273
  433. package/types/segment/SegmentLonLat.d.ts +0 -22
  434. package/types/segment/SegmentLonLatWgs84.d.ts +0 -4
  435. package/types/segment/Slice.d.ts +0 -10
  436. package/types/segment/segmentHelper.d.ts +0 -13
  437. package/types/shaders/atmos.d.ts +0 -4
  438. package/types/shaders/billboard.d.ts +0 -3
  439. package/types/shaders/depth.d.ts +0 -2
  440. package/types/shaders/drawnode.d.ts +0 -8
  441. package/types/shaders/geoObject.d.ts +0 -3
  442. package/types/shaders/label.d.ts +0 -4
  443. package/types/shaders/pickingMask.d.ts +0 -2
  444. package/types/shaders/pointCloud.d.ts +0 -2
  445. package/types/shaders/polyline.d.ts +0 -3
  446. package/types/shaders/ray.d.ts +0 -2
  447. package/types/shaders/screenFrame.d.ts +0 -2
  448. package/types/shaders/skybox.d.ts +0 -2
  449. package/types/shaders/toneMapping.d.ts +0 -2
  450. package/types/shaders/utils.d.ts +0 -1
  451. package/types/terrain/BilTerrain.d.ts +0 -14
  452. package/types/terrain/EmptyTerrain.d.ts +0 -87
  453. package/types/terrain/Geoid.d.ts +0 -17
  454. package/types/terrain/GlobusTerrain.d.ts +0 -122
  455. package/types/terrain/MapboxTerrain.d.ts +0 -14
  456. package/types/terrain/index.d.ts +0 -5
  457. package/types/ui/Button.d.ts +0 -21
  458. package/types/ui/ButtonGroup.d.ts +0 -12
  459. package/types/ui/Dialog.d.ts +0 -41
  460. package/types/ui/Slider.d.ts +0 -33
  461. package/types/ui/ToggleButton.d.ts +0 -10
  462. package/types/ui/UIhelpers.d.ts +0 -13
  463. package/types/ui/View.d.ts +0 -33
  464. package/types/ui/icons.d.ts +0 -1
  465. package/types/utils/BaseWorker.d.ts +0 -14
  466. package/types/utils/FontAtlas.d.ts +0 -16
  467. package/types/utils/GeoImageCreator.d.ts +0 -30
  468. package/types/utils/ImagesCacheManager.d.ts +0 -10
  469. package/types/utils/Loader.d.ts +0 -31
  470. package/types/utils/NormalMapCreator.d.ts +0 -39
  471. package/types/utils/PlainSegmentWorker.d.ts +0 -8
  472. package/types/utils/TerrainWorker.d.ts +0 -7
  473. package/types/utils/TextureAtlas.d.ts +0 -113
  474. package/types/utils/VectorTileCreator.d.ts +0 -14
  475. package/types/utils/colorTable.d.ts +0 -143
  476. package/types/utils/earcut.d.ts +0 -6
  477. package/types/utils/functionComposition.d.ts +0 -5
  478. package/types/utils/objParser.d.ts +0 -8
  479. package/types/utils/shared.d.ts +0 -241
  480. package/types/utils/units.d.ts +0 -20
  481. package/types/webgl/Framebuffer.d.ts +0 -134
  482. package/types/webgl/Handler.d.ts +0 -403
  483. package/types/webgl/Multisample.d.ts +0 -91
  484. package/types/webgl/Program.d.ts +0 -163
  485. package/types/webgl/ProgramController.d.ts +0 -89
  486. package/types/webgl/callbacks.d.ts +0 -1
  487. package/types/webgl/index.d.ts +0 -6
  488. package/types/webgl/types.d.ts +0 -2
  489. /package/{src/og → dist/@openglobus/res/fonts}/arial.js +0 -0
  490. /package/src/{og/ui/icons.js → ui/icons.ts} +0 -0
package/src/og/Globe.js DELETED
@@ -1,342 +0,0 @@
1
- // #StandWithUkraine
2
-
3
- /**
4
- * @module og/Globe
5
- */
6
-
7
- "use strict";
8
-
9
- import { CompassButton } from "./control/CompassButton.js";
10
- import { EarthCoordinates } from "./control/EarthCoordinates.js";
11
- import { EarthNavigation } from "./control/EarthNavigation.js";
12
- import { MouseNavigation } from "./control/MouseNavigation.js";
13
- import { ScaleControl } from "./control/ScaleControl.js";
14
- import { Sun } from "./control/Sun.js";
15
- import { TouchNavigation } from "./control/TouchNavigation.js";
16
- import { ZoomControl } from "./control/ZoomControl.js";
17
- import { Vec3 } from "./math/Vec3.js";
18
- import { Renderer } from "./renderer/Renderer.js";
19
- import { Planet } from "./scene/Planet.js";
20
- import { EmptyTerrain } from "./terrain/EmptyTerrain.js";
21
- import { createColorRGB, getUrlParam, isEmpty } from "./utils/shared.js";
22
- import { Handler } from "./webgl/Handler.js";
23
-
24
- /** @const {string} */
25
- const PLANET_NAME_PREFIX = "globus_planet_";
26
-
27
- /**
28
- * Creates a WebGL context with globe.
29
- * @class
30
- *
31
- * @example <caption>Basic initialization</caption>
32
- * globus = new og.Globe({
33
- * 'atmosphere': false,
34
- * 'target': 'globus',
35
- * 'name': 'Earth',
36
- * 'controls': [
37
- * new og.control.MouseNavigation({ autoActivate: true }),
38
- * new og.control.KeyboardNavigation({ autoActivate: true }),
39
- * new og.control.EarthCoordinates({ autoActivate: true, center: false }),
40
- * new og.control.LayerSwitcher({ autoActivate: true }),
41
- * new og.control.ZoomControl({ autoActivate: true }),
42
- * new og.control.TouchNavigation({ autoActivate: true }),
43
- * new og.control.Sun({ autoActivate: true })
44
- * ],
45
- * 'terrain': new og.terrain.GlobusTerrain(),
46
- * 'layers': [
47
- * new og.layer.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>' })
48
- * ],
49
- * 'autoActivate': true
50
- * });
51
- *
52
- * @param {object} options - Options:
53
- * @param {string} options.target - HTML element id where planet canvas have to be created.
54
- * @param {RenderNode} [options.skybox] - Render skybox. null - default.
55
- * @param {string} [options.name] - Planet name. Default is unic identifier.
56
- * @param {Terrain} [options.terrain] - Terrain provider. Default no terrain - og.terrain.EmptyTerrain.
57
- * @param {Array.<control.Control>} [options.controls] - Renderer controls array.
58
- * @param {Array.<Layer>} [options.layers] - Planet layers.
59
- * @param {Extent} [options.viewExtent] - Viewable starting extent.
60
- * @param {boolean} [options.autoActivate] - Globe rendering auto activation flag. True is default.
61
- * @param {DOMElement} [options.attributionContainer] - Container for attribution list.
62
- * @param {Number} [options.maxGridSize] = Maximal segment grid size. 128 is default
63
- * @param {boolean} [options.useSpecularTexture] - use specular water mask
64
- * @param {boolean} [options.useNightTexture] - show night cities
65
- * @param {Number} [options.maxAltitude=15000000.0] - Maximal camera altitude above terrain
66
- * @param {Number} [options.minAltitude=1.0] - Minimal camera altitude above terrain
67
- * @param {Number} [options.maxEqualZoomAltitude=15000000.0] - Maximal altitude since segments on the screen bacame the same zoom level
68
- * @param {Number} [options.minEqualZoomAltitude=10000.0] - Minimal altitude since segments on the screen bacame the same zoom level
69
- * @param {Number} [options.minEqualZoomCameraSlope=0.8] - Minimal camera slope above te globe where segments on the screen bacame the same zoom level
70
- * @param {Number} [options.loadingBatchSize=12] -
71
- * @param {Number} [options.quadTreeStrategyPrototype] - Prototype of quadTree. QuadTreeStrategy for Earth is default.
72
- * @param {Number} [options.msaa] - MSAA antialiasing parameter: 2,4,8,16. Default is 4.
73
- * @param {Number} [options.dpi] - Device pixel ratio. Default is current screen DPI.
74
- * @param {Boolean} [options.atmosphereEnabled] - Enables atmosphere effect.
75
- */
76
-
77
- class Globe {
78
- /**
79
- * @param {*} options
80
- */
81
- constructor(options) {
82
-
83
- this.$target = null;
84
-
85
- this._instanceID = `__globus${Globe.__staticCounter++ ? Globe.__staticCounter : ""}__`;
86
- window[this._instanceID] = this;
87
-
88
- //
89
- // Canvas creation
90
- //
91
- this._canvas = document.createElement("canvas");
92
- this._canvas.id = `canvas${this._instanceID}`;
93
- this._canvas.style.width = "100%";
94
- this._canvas.style.height = "100%";
95
- this._canvas.style.display = "block";
96
- this._canvas.style.opacity = "0.0";
97
- this._canvas.style.transition = "opacity 150ms";
98
-
99
- /**
100
- * Dom element where WebGL canvas creates
101
- * @public
102
- * @type {Element}
103
- */
104
- this.$inner = document.createElement('div');
105
- this.$inner.classList.add("og-inner");
106
- this.$inner.appendChild(this._canvas);
107
-
108
- this.$inner.attributions = document.createElement('div');
109
- if (options.attributionContainer) {
110
- options.attributionContainer.appendChild(this.$inner.attributions);
111
- } else {
112
- this.$inner.attributions.classList.add("og-attribution");
113
- this.$inner.appendChild(this.$inner.attributions);
114
- }
115
-
116
- this.attachTo(options.target);
117
-
118
- const _disableWheel = (e) => {
119
- e.preventDefault();
120
- }
121
-
122
- this._canvas.onmouseenter = function () {
123
- document.addEventListener("mousewheel", _disableWheel, {
124
- capture: false,
125
- passive: false
126
- });
127
- };
128
- this._canvas.onmouseleave = function () {
129
- document.removeEventListener("mousewheel", _disableWheel);
130
- };
131
-
132
- /**
133
- * Interface for the renderer context(events, input states, renderer nodes etc.)
134
- * @public
135
- * @type {Renderer}
136
- */
137
- this.renderer = new Renderer(
138
- new Handler(this._canvas, {
139
- autoActivate: false,
140
- pixelRatio: options.dpi || (window.devicePixelRatio + 0.15),
141
- context: {
142
- alpha: false,
143
- antialias: false,
144
- premultipliedAlpha: false
145
- }
146
- }), {
147
- autoActivate: false,
148
- msaa: options.msaa
149
- }
150
- );
151
-
152
- this.renderer.div = this.$inner;
153
-
154
- // Skybox
155
- if (options.skybox) {
156
- this.renderer.addNode(options.skybox);
157
- }
158
-
159
- /**
160
- * Planet node name. Access with this.renderer.<name>
161
- * @private
162
- * @type {String}
163
- */
164
- this._planetName = options.name ? options.name : PLANET_NAME_PREFIX + Globe._staticCounter;
165
-
166
- /**
167
- * quad tree type.
168
- * @private
169
- * @type {Number}
170
- */
171
- this._quadTreeType = options.quadTreeType;
172
-
173
- this.planet = new Planet({
174
- name: this._planetName,
175
- frustums: options.frustums,
176
- ellipsoid: options.ellipsoid,
177
- maxGridSize: options.maxGridSize,
178
- useNightTexture: options.useNightTexture,
179
- useSpecularTexture: options.useSpecularTexture,
180
- minAltitude: options.minAltitude,
181
- maxAltitude: options.maxAltitude || 15000000,
182
- maxEqualZoomAltitude: options.maxEqualZoomAltitude,
183
- minEqualZoomAltitude: options.minEqualZoomAltitude,
184
- minEqualZoomCameraSlope: options.minEqualZoomCameraSlope,
185
- quadTreeStrategyPrototype: options.quadTreeStrategyPrototype,
186
- maxLoadingRequests: options.maxLoadingRequests,
187
- atmosphereEnabled: options.atmosphereEnabled
188
- });
189
-
190
- // Attach terrain provider (can be one object or array)
191
- if (options.terrain) {
192
- if (Array.isArray(options.terrain)) {
193
- this.planet.setTerrain(options.terrain[0]); // If array get the terrain from 1st element
194
- this.planet._terrainPool = options.terrain;
195
- } else {
196
- this.planet.setTerrain(options.terrain);
197
- this.planet._terrainPool = [options.terrain];
198
- }
199
-
200
- } else {
201
- this.planet.setTerrain(new EmptyTerrain());
202
- }
203
-
204
- this.renderer.addNode(this.planet);
205
-
206
- // Add controls
207
- if (options.controls) {
208
- this.planet.addControls(options.controls);
209
- } else {
210
- this.planet.addControls([
211
- new ZoomControl(),
212
- options.useEarthNavigation
213
- ? new EarthNavigation()
214
- : new MouseNavigation({
215
- minSlope: options.minSlope
216
- }),
217
- new TouchNavigation(),
218
- new EarthCoordinates(),
219
- new ScaleControl(),
220
- new CompassButton(options)
221
- ]);
222
- }
223
-
224
- var _controls = this.renderer.controls;
225
- for (let i in _controls) {
226
- if (_controls[i] instanceof Sun) {
227
- this.sun = _controls[i];
228
- break;
229
- }
230
- }
231
-
232
- if (!this.sun) {
233
- this.sun = new Sun();
234
- this.planet.addControl(this.sun);
235
- }
236
-
237
- if (options.sun) {
238
- if (options.sun.active !== undefined && !options.sun.active) {
239
- this.sun.deactivate();
240
- }
241
- }
242
-
243
- if (options.layers) {
244
- this.planet.addLayers(options.layers);
245
- }
246
-
247
- // TODO: view center, altitude, extent
248
- let ve = options.viewExtent;
249
- if (ve) {
250
- if (ve instanceof Array) {
251
- this.planet.viewExtentArr(ve);
252
- } else {
253
- this.planet.viewExtent(ve);
254
- }
255
- }
256
-
257
- this._opacityCounter = 0;
258
- this._fadeHandler = null;
259
- this._stopHandler = null;
260
-
261
- // Run!
262
- if (options.autoActivate || isEmpty(options.autoActivate)) {
263
- this.start();
264
- }
265
- }
266
-
267
- static get __staticCounter() {
268
- if (!this.__counter && this.__counter !== 0) {
269
- this.__counter = 0;
270
- }
271
- return this.__counter;
272
- }
273
-
274
- static set __staticCounter(n) {
275
- this.__counter = n;
276
- }
277
-
278
- start() {
279
- this.renderer.start();
280
- this.fadeIn();
281
- }
282
-
283
- /**
284
- * Starts screen brightness fading in effect by the duration time.
285
- * @public
286
- */
287
- fadeIn() {
288
- this._canvas.style.opacity = 1.0;
289
- }
290
-
291
- /**
292
- * Starts screen brightness fading out effect by the duration time.
293
- * @public
294
- * @param {number} duration - Fadeout duration time.
295
- */
296
- fadeOut() {
297
- this._canvas.style.opacity = 0.0;
298
- }
299
-
300
- attachTo(target) {
301
-
302
- this.detach();
303
-
304
- let t;
305
- if (target instanceof HTMLElement) {
306
- t = target;
307
- } else {
308
- t = document.getElementById(target) || document.querySelector(target);
309
- }
310
-
311
- if (t) {
312
- this.$target = t;
313
- t.appendChild(this.$inner);
314
- }
315
- }
316
-
317
- detach() {
318
- if (this.$target) {
319
- // Remember that when container is zero
320
- // sized(display none etc.) renderer frame will be stopped
321
- this.$target.removeChild(this.$inner);
322
- }
323
- }
324
-
325
- destroy() {
326
- this.detach();
327
- this.renderer.destroy();
328
- }
329
-
330
- static get _staticCounter() {
331
- if (!this._counter && this._counter !== 0) {
332
- this._counter = 0;
333
- }
334
- return this._counter;
335
- }
336
-
337
- static set _staticCounter(n) {
338
- this._counter = n;
339
- }
340
- }
341
-
342
- export { Globe };
package/src/og/Lock.js DELETED
@@ -1,44 +0,0 @@
1
- 'use strict';
2
-
3
- class Lock {
4
-
5
- constructor() {
6
- this._lock = 0;
7
- }
8
-
9
- lock(key) {
10
- this._lock |= (1 << key._id);
11
- }
12
-
13
- free(key) {
14
- this._lock &= ~(1 << key._id);
15
- }
16
-
17
- isFree() {
18
- return this._lock === 0;
19
- }
20
-
21
- isLocked() {
22
- return this._lock !== 0;
23
- }
24
- }
25
-
26
- class Key {
27
-
28
- static get _staticCounter() {
29
- if (!this._counter && this._counter !== 0) {
30
- this._counter = 0;
31
- }
32
- return this._counter;
33
- }
34
-
35
- static set _staticCounter(n) {
36
- this._counter = n;
37
- }
38
-
39
- constructor() {
40
- this._id = Key._staticCounter++;
41
- }
42
- }
43
-
44
- export { Lock, Key };
package/src/og/Popup.js DELETED
@@ -1,187 +0,0 @@
1
- "use strict";
2
-
3
- import { Vec3 } from "./math/Vec3.js";
4
- import { createLonLat, stringTemplate } from "./utils/shared.js";
5
- import { View } from './ui/View.js';
6
- import { CLOSE_ICON } from './ui/icons.js';
7
-
8
- const TEMPLATE = `<div class="og-popup {className}">
9
- <div class="og-popup-content-wrapper">
10
- <div class="og-popup-content"></div>
11
- </div>
12
- <div class="og-popup-tip-container">
13
- <div class="og-popup-tip"></div>
14
- </div>
15
- <div class="og-popup-toolbar">
16
- <div class="og-popup-btn og-popup-close">${CLOSE_ICON}</div>
17
- </div>
18
- <div class="og-popup-title">{title}</div>
19
- </div>`;
20
-
21
- class Popup extends View {
22
- constructor(options = {}) {
23
- super({
24
- template: stringTemplate(TEMPLATE, {
25
- title: options.title || ""
26
- }),
27
- eventList: ["open", "close"],
28
- classList: options.className ? [options.className] : [],
29
- ...options
30
- });
31
-
32
- this._content = options.content || "";
33
-
34
- this.$content = null;
35
- this.$tip = null;
36
- this.$title = null;
37
-
38
- this._planet = options.planet;
39
-
40
- this._offset = options.offset || [0, 0];
41
-
42
- this._lonLat = createLonLat(options.lonLat);
43
-
44
- this._cartPos = new Vec3();
45
-
46
- this._visibility = options.visibility || false;
47
-
48
- this.render();
49
- }
50
-
51
- _updatePosition() {
52
- this.setCartesian3v(this._cartPos);
53
- }
54
-
55
- setScreen(p) {
56
- if (this._planet) {
57
- let r = this._planet.renderer.handler.pixelRatio;
58
- this.el.style.transform =
59
- `translate(${p.x / r - this.clientWidth * 0.5}px, ${p.y / r - this._planet.renderer.handler.canvas.clientHeight - this.$tip.clientHeight}px)`;
60
- }
61
- }
62
-
63
- get clientWidth() {
64
- return this.el.clientWidth;
65
- }
66
-
67
- get clientHeight() {
68
- return this.el.clientHeight;
69
- }
70
-
71
- setOffset(x = 0, y = 0) {
72
- this._offset[0] = x;
73
- this._offset[1] = y;
74
- if (this.el) {
75
- this.el.style.left = `${x}px`;
76
- this.el.style.bottom = `${y}px`;
77
- }
78
- return this;
79
- }
80
-
81
- render(params) {
82
- super.render(params);
83
-
84
- this.$content = this.select(".og-popup-content");
85
- this.$title = this.select(".og-popup-title");
86
- this.$tip = this.select(".og-popup-tip-container");
87
-
88
- this.setOffset(this._offset[0], this._offset[1]);
89
- this.setContent(this._content);
90
- this.setLonLat(this._lonLat);
91
- this.setVisibility(this._visibility);
92
- this.select(".og-popup-close").addEventListener("click", () => {
93
- this.hide();
94
- });
95
-
96
- return this;
97
- }
98
-
99
- setVisibility(visibility) {
100
- if (visibility) {
101
- this.show();
102
- } else {
103
- this.hide();
104
- }
105
- return this;
106
- }
107
-
108
- getContainer() {
109
- return this.$content;
110
- }
111
-
112
- getToolbarContainer() {
113
- return this.select(".og-popup-toolbar");
114
- }
115
-
116
- show() {
117
- this._visibility = true;
118
- if (this._planet) {
119
- this._planet.events.on("draw", this._updatePosition, this);
120
- this.appendTo(this._planet.renderer.div);
121
- //this._planet.renderer.div.appendChild(this.el);
122
- this._events.dispatch(this._events.open, this);
123
- }
124
- return this;
125
- }
126
-
127
- hide() {
128
- this._visibility = false;
129
- if (this.el.parentNode) {
130
- this._planet.events.off("draw", this._updatePosition);
131
- this.el.parentNode.removeChild(this.el);
132
- this._events.dispatch(this._events.close, this);
133
- }
134
- return this;
135
- }
136
-
137
- setCartesian3v(cart, height = 0) {
138
- this._cartPos = cart;
139
-
140
- if (this._planet) {
141
- let cam = this._planet.camera;
142
- let f = this._planet.ellipsoid._a + height,
143
- g = cam._lonLat.height;
144
-
145
- let look = cart.sub(cam.eye),
146
- v = Math.sqrt((f + g) * (f + g) - f * f);
147
-
148
- if (v > look.length() && cam.getForward().dot(look.normalize()) > 0.0) {
149
- this.el.style.display = "block";
150
- this.setScreen(cam.project(cart));
151
- } else {
152
- this.el.style.display = "none";
153
- }
154
- }
155
- return this;
156
- }
157
-
158
- setTitle(html) {
159
- this.$title.innerHTML = html;
160
- }
161
-
162
- setLonLat(lonLat) {
163
- this._lonLat = lonLat;
164
- if (this._planet) {
165
- this.setCartesian3v(this._planet.ellipsoid.lonLatToCartesian(lonLat), lonLat.height);
166
- }
167
- }
168
-
169
- setContent(content) {
170
- if (content) {
171
- this.clear();
172
- this._content = content;
173
- if (typeof content === "string") {
174
- this.$content.innerHTML = content;
175
- } else {
176
- this.$content.appendChild(content);
177
- }
178
- }
179
- }
180
-
181
- clear() {
182
- this._content = null;
183
- this.$content.innerHTML = "";
184
- }
185
- }
186
-
187
- export { Popup };
package/src/og/Stack.js DELETED
@@ -1,49 +0,0 @@
1
- "use strict";
2
-
3
- class Node {
4
- constructor() {
5
- this.next = null;
6
- this.prev = null;
7
- this.data = null;
8
- }
9
- }
10
-
11
- class Stack {
12
- /**
13
- *
14
- * @param {number} [size]
15
- */
16
- constructor(size = 256) {
17
- this._current = new Node();
18
- this._head = this._current;
19
-
20
- for (let i = 0; i < size; i++) {
21
- var n = new Node();
22
- n.prev = this._current;
23
- this._current.next = n;
24
- this._current = n;
25
- }
26
- this._current = this._head;
27
- }
28
-
29
- current() {
30
- return this._current;
31
- }
32
-
33
- push(data) {
34
- this._current = this._current.next;
35
- this._current.data = data;
36
- }
37
-
38
- pop(data) {
39
- this._current = this._current.prev;
40
- return this._current.next.data;
41
- }
42
-
43
- popPrev(data) {
44
- this._current = this._current.prev;
45
- return this._current.data;
46
- }
47
- }
48
-
49
- export { Stack };
@@ -1,4 +0,0 @@
1
- import { Box } from './Box.js';
2
- import { Sphere } from './Sphere.js';
3
-
4
- export { Box, Sphere };
@@ -1,4 +0,0 @@
1
- import { Camera } from './Camera.js';
2
- import { PlanetCamera } from './PlanetCamera.js';
3
-
4
- export { Camera, PlanetCamera };