@openglobus/og 0.19.3 → 0.20.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 (312) hide show
  1. package/README.md +3 -3
  2. package/css/og.css +18 -4
  3. package/lib/@openglobus/js/Clock.d.ts +106 -0
  4. package/lib/@openglobus/js/Deferred.d.ts +6 -0
  5. package/lib/@openglobus/js/Events.d.ts +90 -0
  6. package/lib/@openglobus/js/Extent.d.ts +145 -0
  7. package/lib/@openglobus/js/Globe.d.ts +134 -0
  8. package/lib/@openglobus/js/ImageCanvas.d.ts +128 -0
  9. package/lib/@openglobus/js/Lock.d.ts +15 -0
  10. package/lib/@openglobus/js/LonLat.d.ts +128 -0
  11. package/lib/@openglobus/js/Object3d.d.ts +64 -0
  12. package/lib/@openglobus/js/Popup.d.ts +46 -0
  13. package/lib/@openglobus/js/QueueArray.d.ts +16 -0
  14. package/lib/@openglobus/js/Rectangle.d.ts +76 -0
  15. package/lib/@openglobus/js/Stack.d.ts +20 -0
  16. package/lib/@openglobus/js/astro/astro.d.ts +39 -0
  17. package/lib/@openglobus/js/astro/earth.d.ts +8 -0
  18. package/lib/@openglobus/js/astro/jd.d.ts +234 -0
  19. package/lib/@openglobus/js/astro/orbit.d.ts +5 -0
  20. package/lib/@openglobus/js/astro/rotation.d.ts +2 -0
  21. package/lib/@openglobus/js/bv/Box.d.ts +32 -0
  22. package/lib/@openglobus/js/bv/Sphere.d.ts +37 -0
  23. package/lib/@openglobus/js/bv/index.d.ts +3 -0
  24. package/lib/@openglobus/js/camera/Camera.d.ts +314 -0
  25. package/lib/@openglobus/js/camera/Frustum.d.ts +139 -0
  26. package/lib/@openglobus/js/camera/PlanetCamera.d.ts +234 -0
  27. package/lib/@openglobus/js/camera/index.d.ts +3 -0
  28. package/lib/@openglobus/js/cons.d.ts +40 -0
  29. package/lib/@openglobus/js/control/Atmosphere.d.ts +16 -0
  30. package/lib/@openglobus/js/control/CompassButton.d.ts +16 -0
  31. package/lib/@openglobus/js/control/Control.d.ts +100 -0
  32. package/lib/@openglobus/js/control/DebugInfo.d.ts +25 -0
  33. package/lib/@openglobus/js/control/DrawingSwitcher.d.ts +13 -0
  34. package/lib/@openglobus/js/control/EarthCoordinates.d.ts +41 -0
  35. package/lib/@openglobus/js/control/EarthNavigation.d.ts +50 -0
  36. package/lib/@openglobus/js/control/GeoImageDragControl.d.ts +22 -0
  37. package/lib/@openglobus/js/control/KeyboardNavigation.d.ts +28 -0
  38. package/lib/@openglobus/js/control/LayerAnimation.d.ts +71 -0
  39. package/lib/@openglobus/js/control/LayerSwitcher.d.ts +36 -0
  40. package/lib/@openglobus/js/control/Lighting.d.ts +53 -0
  41. package/lib/@openglobus/js/control/MouseNavigation.d.ts +64 -0
  42. package/lib/@openglobus/js/control/MouseWheelZoomControl.d.ts +44 -0
  43. package/lib/@openglobus/js/control/RulerSwitcher.d.ts +17 -0
  44. package/lib/@openglobus/js/control/ScaleControl.d.ts +24 -0
  45. package/lib/@openglobus/js/control/SegmentBoundVisualization.d.ts +12 -0
  46. package/lib/@openglobus/js/control/ShowFps.d.ts +9 -0
  47. package/lib/@openglobus/js/control/SimpleNavigation.d.ts +25 -0
  48. package/lib/@openglobus/js/control/SimpleSkyBackground.d.ts +17 -0
  49. package/lib/@openglobus/js/control/Sun.d.ts +33 -0
  50. package/lib/@openglobus/js/control/ToggleWireframe.d.ts +14 -0
  51. package/lib/@openglobus/js/control/TouchNavigation.d.ts +52 -0
  52. package/lib/@openglobus/js/control/ZoomControl.d.ts +27 -0
  53. package/lib/@openglobus/js/control/drawing/DrawingControl.d.ts +12 -0
  54. package/lib/@openglobus/js/control/drawing/LineStringDrawingScene.d.ts +15 -0
  55. package/lib/@openglobus/js/control/drawing/PolygonDrawingScene.d.ts +98 -0
  56. package/lib/@openglobus/js/control/elevationProfile/ElevationProfile.d.ts +77 -0
  57. package/lib/@openglobus/js/control/elevationProfile/ElevationProfileButtonsView.d.ts +14 -0
  58. package/lib/@openglobus/js/control/elevationProfile/ElevationProfileControl.d.ts +33 -0
  59. package/lib/@openglobus/js/control/elevationProfile/ElevationProfileLegend.d.ts +20 -0
  60. package/lib/@openglobus/js/control/elevationProfile/ElevationProfileScene.d.ts +80 -0
  61. package/lib/@openglobus/js/control/elevationProfile/ElevationProfileView.d.ts +63 -0
  62. package/lib/@openglobus/js/control/elevationProfile/PointListDialog.d.ts +12 -0
  63. package/lib/@openglobus/js/control/heightRuler/HeightRuler.d.ts +7 -0
  64. package/lib/@openglobus/js/control/heightRuler/HeightRulerScene.d.ts +35 -0
  65. package/lib/@openglobus/js/control/heightRuler/HeightRulerSwitcher.d.ts +6 -0
  66. package/lib/@openglobus/js/control/index.d.ts +29 -0
  67. package/lib/@openglobus/js/control/ruler/Ruler.d.ts +13 -0
  68. package/lib/@openglobus/js/control/ruler/RulerScene.d.ts +88 -0
  69. package/lib/@openglobus/js/control/selection/Selection.d.ts +55 -0
  70. package/lib/@openglobus/js/control/selection/SelectionScene.d.ts +44 -0
  71. package/lib/@openglobus/js/control/timeline/TimelineControl.d.ts +18 -0
  72. package/lib/@openglobus/js/control/timeline/TimelineModel.d.ts +41 -0
  73. package/lib/@openglobus/js/control/timeline/TimelineView.d.ts +85 -0
  74. package/lib/@openglobus/js/control/timeline/timelineUtils.d.ts +12 -0
  75. package/lib/@openglobus/js/control/visibleExtent/drawnode.d.ts +7 -0
  76. package/lib/@openglobus/js/ellipsoid/Ellipsoid.d.ts +193 -0
  77. package/lib/@openglobus/js/ellipsoid/index.d.ts +3 -0
  78. package/lib/@openglobus/js/ellipsoid/wgs84.d.ts +6 -0
  79. package/lib/@openglobus/js/entity/BaseBillboard.d.ts +222 -0
  80. package/lib/@openglobus/js/entity/BaseBillboardHandler.d.ts +81 -0
  81. package/lib/@openglobus/js/entity/Billboard.d.ts +113 -0
  82. package/lib/@openglobus/js/entity/BillboardHandler.d.ts +15 -0
  83. package/lib/@openglobus/js/entity/Entity.d.ts +354 -0
  84. package/lib/@openglobus/js/entity/EntityCollection.d.ts +363 -0
  85. package/lib/@openglobus/js/entity/GeoObject.d.ts +152 -0
  86. package/lib/@openglobus/js/entity/GeoObjectHandler.d.ts +104 -0
  87. package/lib/@openglobus/js/entity/Geometry.d.ts +124 -0
  88. package/lib/@openglobus/js/entity/GeometryHandler.d.ts +84 -0
  89. package/lib/@openglobus/js/entity/Label.d.ts +214 -0
  90. package/lib/@openglobus/js/entity/LabelHandler.d.ts +65 -0
  91. package/lib/@openglobus/js/entity/LabelWorker.d.ts +15 -0
  92. package/lib/@openglobus/js/entity/PointCloud.d.ts +179 -0
  93. package/lib/@openglobus/js/entity/PointCloudHandler.d.ts +42 -0
  94. package/lib/@openglobus/js/entity/Polyline.d.ts +345 -0
  95. package/lib/@openglobus/js/entity/PolylineHandler.d.ts +22 -0
  96. package/lib/@openglobus/js/entity/Ray.d.ts +133 -0
  97. package/lib/@openglobus/js/entity/RayHandler.d.ts +70 -0
  98. package/lib/@openglobus/js/entity/Strip.d.ts +139 -0
  99. package/lib/@openglobus/js/entity/StripHandler.d.ts +42 -0
  100. package/lib/@openglobus/js/entity/index.d.ts +10 -0
  101. package/lib/@openglobus/js/index.d.ts +33 -0
  102. package/lib/@openglobus/js/input/KeyboardHandler.d.ts +33 -0
  103. package/lib/@openglobus/js/input/MouseHandler.d.ts +16 -0
  104. package/lib/@openglobus/js/input/TouchHandler.d.ts +11 -0
  105. package/lib/@openglobus/js/input/input.d.ts +3 -0
  106. package/lib/@openglobus/js/layer/BaseGeoImage.d.ts +145 -0
  107. package/lib/@openglobus/js/layer/Bing.d.ts +4 -0
  108. package/lib/@openglobus/js/layer/CanvasTiles.d.ts +103 -0
  109. package/lib/@openglobus/js/layer/GeoImage.d.ts +61 -0
  110. package/lib/@openglobus/js/layer/GeoTexture2d.d.ts +17 -0
  111. package/lib/@openglobus/js/layer/GeoVideo.d.ts +68 -0
  112. package/lib/@openglobus/js/layer/KML.d.ts +72 -0
  113. package/lib/@openglobus/js/layer/Layer.d.ts +415 -0
  114. package/lib/@openglobus/js/layer/Material.d.ts +34 -0
  115. package/lib/@openglobus/js/layer/OpenStreetMap.d.ts +4 -0
  116. package/lib/@openglobus/js/layer/Vector.d.ts +246 -0
  117. package/lib/@openglobus/js/layer/WMS.d.ts +75 -0
  118. package/lib/@openglobus/js/layer/XYZ.d.ts +148 -0
  119. package/lib/@openglobus/js/layer/index.d.ts +12 -0
  120. package/lib/@openglobus/js/light/LightSource.d.ts +174 -0
  121. package/lib/@openglobus/js/math/Line2.d.ts +11 -0
  122. package/lib/@openglobus/js/math/Line3.d.ts +28 -0
  123. package/lib/@openglobus/js/math/Mat3.d.ts +77 -0
  124. package/lib/@openglobus/js/math/Mat4.d.ts +195 -0
  125. package/lib/@openglobus/js/math/Plane.d.ts +20 -0
  126. package/lib/@openglobus/js/math/Quat.d.ts +373 -0
  127. package/lib/@openglobus/js/math/Ray.d.ts +76 -0
  128. package/lib/@openglobus/js/math/Vec2.d.ts +310 -0
  129. package/lib/@openglobus/js/math/Vec3.d.ts +472 -0
  130. package/lib/@openglobus/js/math/Vec4.d.ts +163 -0
  131. package/lib/@openglobus/js/math/coder.d.ts +51 -0
  132. package/lib/@openglobus/js/math/index.d.ts +11 -0
  133. package/lib/@openglobus/js/math.d.ts +266 -0
  134. package/lib/@openglobus/js/mercator.d.ts +92 -0
  135. package/lib/@openglobus/js/proj/EPSG3857.d.ts +9 -0
  136. package/lib/@openglobus/js/proj/EPSG4326.d.ts +9 -0
  137. package/lib/@openglobus/js/proj/Proj.d.ts +43 -0
  138. package/lib/@openglobus/js/quadTree/EPSG4326QuadTreeStrategy.d.ts +6 -0
  139. package/lib/@openglobus/js/quadTree/EarthQuadTreeStrategy.d.ts +9 -0
  140. package/lib/@openglobus/js/quadTree/EntityCollectionNode.d.ts +54 -0
  141. package/lib/@openglobus/js/quadTree/MarsQuadTreeStrategy.d.ts +11 -0
  142. package/lib/@openglobus/js/quadTree/Node.d.ts +80 -0
  143. package/lib/@openglobus/js/quadTree/QuadTreeStrategy.d.ts +28 -0
  144. package/lib/@openglobus/js/quadTree/Wgs84QuadTreeStrategy.d.ts +6 -0
  145. package/lib/@openglobus/js/quadTree/index.d.ts +12 -0
  146. package/lib/@openglobus/js/quadTree/quadTree.d.ts +40 -0
  147. package/lib/@openglobus/js/renderer/Renderer.d.ts +319 -0
  148. package/lib/@openglobus/js/renderer/RendererEvents.d.ts +240 -0
  149. package/lib/@openglobus/js/scene/Axes.d.ts +12 -0
  150. package/lib/@openglobus/js/scene/BaseNode.d.ts +61 -0
  151. package/lib/@openglobus/js/scene/Planet.d.ts +652 -0
  152. package/lib/@openglobus/js/scene/RenderNode.d.ts +150 -0
  153. package/lib/@openglobus/js/scene/SkyBox.d.ts +13 -0
  154. package/lib/@openglobus/js/scene/index.d.ts +5 -0
  155. package/lib/@openglobus/js/segment/Segment.d.ts +288 -0
  156. package/lib/@openglobus/js/segment/SegmentLonLat.d.ts +44 -0
  157. package/lib/@openglobus/js/segment/SegmentLonLatWgs84.d.ts +10 -0
  158. package/lib/@openglobus/js/segment/Slice.d.ts +13 -0
  159. package/lib/@openglobus/js/segment/segmentHelper.d.ts +18 -0
  160. package/lib/@openglobus/js/shaders/atmos.d.ts +4 -0
  161. package/lib/@openglobus/js/shaders/billboard.d.ts +3 -0
  162. package/lib/@openglobus/js/shaders/bloom.d.ts +2 -0
  163. package/lib/@openglobus/js/shaders/blur.d.ts +3 -0
  164. package/lib/@openglobus/js/shaders/depth.d.ts +2 -0
  165. package/lib/@openglobus/js/shaders/drawnode.d.ts +8 -0
  166. package/lib/@openglobus/js/shaders/geoObject.d.ts +3 -0
  167. package/lib/@openglobus/js/shaders/label.d.ts +4 -0
  168. package/lib/@openglobus/js/shaders/lumFilter.d.ts +2 -0
  169. package/lib/@openglobus/js/shaders/pointCloud.d.ts +2 -0
  170. package/lib/@openglobus/js/shaders/polyline.d.ts +3 -0
  171. package/lib/@openglobus/js/shaders/ray.d.ts +2 -0
  172. package/lib/@openglobus/js/shaders/screenFrame.d.ts +2 -0
  173. package/lib/@openglobus/js/shaders/skybox.d.ts +2 -0
  174. package/lib/@openglobus/js/shaders/toneMapping.d.ts +2 -0
  175. package/lib/@openglobus/js/shaders/utils.d.ts +1 -0
  176. package/lib/@openglobus/js/terrain/BilTerrain.d.ts +18 -0
  177. package/lib/@openglobus/js/terrain/EmptyTerrain.d.ts +113 -0
  178. package/lib/@openglobus/js/terrain/Geoid.d.ts +33 -0
  179. package/lib/@openglobus/js/terrain/GlobusRgbTerrain.d.ts +6 -0
  180. package/lib/@openglobus/js/terrain/GlobusTerrain.d.ts +137 -0
  181. package/lib/{js/terrain/MapboxTerrain.d.ts → @openglobus/js/terrain/RgbTerrain.d.ts} +6 -5
  182. package/lib/@openglobus/js/terrain/index.d.ts +6 -0
  183. package/lib/@openglobus/js/ui/Button.d.ts +32 -0
  184. package/lib/@openglobus/js/ui/ButtonGroup.d.ts +16 -0
  185. package/lib/@openglobus/js/ui/Color.d.ts +22 -0
  186. package/lib/@openglobus/js/ui/Dialog.d.ts +55 -0
  187. package/lib/@openglobus/js/ui/Slider.d.ts +38 -0
  188. package/lib/@openglobus/js/ui/ToggleButton.d.ts +20 -0
  189. package/lib/@openglobus/js/ui/View.d.ts +37 -0
  190. package/lib/@openglobus/js/ui/icons.d.ts +1 -0
  191. package/lib/@openglobus/js/utils/BaseWorker.d.ts +14 -0
  192. package/lib/@openglobus/js/utils/FontAtlas.d.ts +82 -0
  193. package/lib/@openglobus/js/utils/GeoImageCreator.d.ts +34 -0
  194. package/lib/@openglobus/js/utils/ImagesCacheManager.d.ts +22 -0
  195. package/lib/@openglobus/js/utils/Loader.d.ts +63 -0
  196. package/lib/@openglobus/js/utils/NormalMapCreator.d.ts +52 -0
  197. package/lib/@openglobus/js/utils/PlainSegmentWorker.d.ts +24 -0
  198. package/lib/@openglobus/js/utils/TerrainWorker.d.ts +28 -0
  199. package/lib/@openglobus/js/utils/TextureAtlas.d.ts +113 -0
  200. package/lib/@openglobus/js/utils/VectorTileCreator.d.ts +18 -0
  201. package/lib/@openglobus/js/utils/colorTable.d.ts +3 -0
  202. package/lib/@openglobus/js/utils/earcut.d.ts +7 -0
  203. package/lib/@openglobus/js/utils/objParser.d.ts +24 -0
  204. package/lib/@openglobus/js/utils/shared.d.ts +263 -0
  205. package/lib/@openglobus/js/utils/units.d.ts +16 -0
  206. package/lib/@openglobus/js/webgl/BaseFramebuffer.d.ts +53 -0
  207. package/lib/@openglobus/js/webgl/Framebuffer.d.ts +69 -0
  208. package/lib/@openglobus/js/webgl/Handler.d.ts +473 -0
  209. package/lib/@openglobus/js/webgl/Multisample.d.ts +27 -0
  210. package/lib/@openglobus/js/webgl/Program.d.ts +159 -0
  211. package/lib/@openglobus/js/webgl/ProgramController.d.ts +86 -0
  212. package/lib/@openglobus/js/webgl/index.d.ts +6 -0
  213. package/lib/@openglobus/js/webgl/types.d.ts +9 -0
  214. package/lib/@openglobus/js/webgl/variableHandlers.d.ts +22 -0
  215. package/lib/@openglobus/og.css +1 -1
  216. package/lib/@openglobus/og.esm.js +1 -1
  217. package/lib/@openglobus/og.esm.js.map +1 -1
  218. package/lib/@openglobus/og.umd.js +1 -1
  219. package/lib/@openglobus/og.umd.js.map +1 -1
  220. package/lib/js/Extent.js +2 -2
  221. package/lib/js/Globe.d.ts +1 -1
  222. package/lib/js/Object3d.d.ts +16 -1
  223. package/lib/js/Object3d.js +66 -1
  224. package/lib/js/astro/jd.js +26 -26
  225. package/lib/js/camera/Frustum.d.ts +1 -1
  226. package/lib/js/camera/Frustum.js +3 -2
  227. package/lib/js/control/DebugInfo.js +19 -18
  228. package/lib/js/control/Lighting.d.ts +4 -0
  229. package/lib/js/control/Lighting.js +51 -12
  230. package/lib/js/control/SimpleSkyBackground.d.ts +2 -0
  231. package/lib/js/control/SimpleSkyBackground.js +13 -3
  232. package/lib/js/control/drawing/PolygonDrawingScene.js +2 -2
  233. package/lib/js/control/timeline/timelineUtils.js +32 -32
  234. package/lib/js/control/visibleExtent/drawnode.js +1 -1
  235. package/lib/js/entity/GeoObject.d.ts +20 -6
  236. package/lib/js/entity/GeoObject.js +44 -4
  237. package/lib/js/entity/GeoObjectHandler.d.ts +6 -1
  238. package/lib/js/entity/GeoObjectHandler.js +58 -6
  239. package/lib/js/entity/Geometry.d.ts +24 -11
  240. package/lib/js/entity/Geometry.js +17 -9
  241. package/lib/js/entity/GeometryHandler.js +5 -5
  242. package/lib/js/entity/Label.d.ts +7 -0
  243. package/lib/js/entity/Label.js +11 -0
  244. package/lib/js/entity/Polyline.d.ts +15 -7
  245. package/lib/js/entity/Polyline.js +54 -6
  246. package/lib/js/entity/Strip.d.ts +12 -0
  247. package/lib/js/entity/Strip.js +16 -0
  248. package/lib/js/entity/StripHandler.js +1 -1
  249. package/lib/js/entity/index.d.ts +10 -11
  250. package/lib/js/entity/index.js +10 -11
  251. package/lib/js/index.d.ts +5 -5
  252. package/lib/js/index.js +5 -5
  253. package/lib/js/layer/Bing.d.ts +4 -0
  254. package/lib/js/layer/Bing.js +40 -0
  255. package/lib/js/layer/GeoImage.d.ts +1 -1
  256. package/lib/js/layer/GeoVideo.d.ts +1 -1
  257. package/lib/js/layer/Layer.d.ts +1 -1
  258. package/lib/js/layer/Layer.js +2 -2
  259. package/lib/js/layer/OpenStreetMap.d.ts +4 -0
  260. package/lib/js/layer/OpenStreetMap.js +19 -0
  261. package/lib/js/layer/Vector.d.ts +3 -0
  262. package/lib/js/layer/Vector.js +3 -3
  263. package/lib/js/layer/index.d.ts +12 -11
  264. package/lib/js/layer/index.js +12 -11
  265. package/lib/js/math/Mat4.js +18 -17
  266. package/lib/js/mercator.js +2 -1
  267. package/lib/js/quadTree/EPSG4326QuadTreeStrategy.js +4 -5
  268. package/lib/js/quadTree/EarthQuadTreeStrategy.d.ts +3 -0
  269. package/lib/js/quadTree/EarthQuadTreeStrategy.js +40 -5
  270. package/lib/js/quadTree/EntityCollectionNode.d.ts +2 -2
  271. package/lib/js/quadTree/EntityCollectionNode.js +13 -14
  272. package/lib/js/quadTree/MarsQuadTreeStrategy.d.ts +5 -0
  273. package/lib/js/quadTree/MarsQuadTreeStrategy.js +31 -5
  274. package/lib/js/quadTree/Node.d.ts +2 -1
  275. package/lib/js/quadTree/Node.js +38 -28
  276. package/lib/js/quadTree/QuadTreeStrategy.d.ts +3 -0
  277. package/lib/js/quadTree/QuadTreeStrategy.js +17 -0
  278. package/lib/js/quadTree/Wgs84QuadTreeStrategy.js +3 -3
  279. package/lib/js/renderer/Renderer.js +1 -0
  280. package/lib/js/scene/Axes.js +4 -4
  281. package/lib/js/scene/Planet.js +6 -4
  282. package/lib/js/segment/Segment.d.ts +12 -9
  283. package/lib/js/segment/Segment.js +47 -24
  284. package/lib/js/segment/SegmentLonLat.d.ts +1 -5
  285. package/lib/js/segment/SegmentLonLat.js +8 -100
  286. package/lib/js/segment/SegmentLonLatWgs84.js +5 -3
  287. package/lib/js/shaders/billboard.js +4 -4
  288. package/lib/js/shaders/drawnode.js +16 -19
  289. package/lib/js/shaders/geoObject.js +10 -11
  290. package/lib/js/shaders/ray.js +7 -3
  291. package/lib/js/terrain/BilTerrain.d.ts +1 -1
  292. package/lib/js/terrain/BilTerrain.js +7 -6
  293. package/lib/js/terrain/EmptyTerrain.d.ts +7 -0
  294. package/lib/js/terrain/EmptyTerrain.js +7 -0
  295. package/lib/js/terrain/GlobusRgbTerrain.d.ts +6 -0
  296. package/lib/js/terrain/GlobusRgbTerrain.js +25 -0
  297. package/lib/js/terrain/GlobusTerrain.d.ts +5 -5
  298. package/lib/js/terrain/GlobusTerrain.js +35 -30
  299. package/lib/js/terrain/RgbTerrain.d.ts +22 -0
  300. package/lib/js/terrain/RgbTerrain.js +415 -0
  301. package/lib/js/terrain/index.d.ts +3 -2
  302. package/lib/js/terrain/index.js +3 -2
  303. package/lib/js/ui/Color.d.ts +22 -0
  304. package/lib/js/ui/Color.js +58 -0
  305. package/lib/js/utils/GeoImageCreator.js +1 -1
  306. package/lib/js/utils/NormalMapCreator.js +1 -1
  307. package/lib/js/utils/VectorTileCreator.js +3 -3
  308. package/lib/js/utils/objParser.js +3 -3
  309. package/lib/js/utils/shared.d.ts +3 -9
  310. package/lib/js/utils/shared.js +24 -9
  311. package/package.json +26 -18
  312. package/lib/js/terrain/MapboxTerrain.js +0 -298
package/lib/js/Extent.js CHANGED
@@ -74,8 +74,8 @@ export class Extent {
74
74
  * @returns {Extent} -
75
75
  */
76
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);
77
+ const H = 1 << z; //Math.pow(2, z);
78
+ const W = H; //Math.pow(2, z);
79
79
  const lnSize = width / W;
80
80
  const ltSize = height / H;
81
81
  const left = -width * 0.5 + x * lnSize, top = height * 0.5 - y * ltSize, bottom = top - ltSize, right = left + lnSize;
package/lib/js/Globe.d.ts CHANGED
@@ -9,7 +9,7 @@ import { Sun } from "./control/Sun";
9
9
  import { HTMLDivElementExt, Renderer } from "./renderer/Renderer";
10
10
  import { RenderNode } from "./scene/RenderNode";
11
11
  import { Extent } from "./Extent";
12
- interface IGlobeParams {
12
+ export interface IGlobeParams {
13
13
  attributionContainer?: HTMLElement;
14
14
  target?: string | HTMLElement;
15
15
  skybox?: RenderNode;
@@ -1,5 +1,5 @@
1
1
  import { TypedArray } from './utils/shared';
2
- import { NumberArray3 } from './math/Vec3';
2
+ import { NumberArray3, Vec3 } from './math/Vec3';
3
3
  interface IObject3dParams {
4
4
  name?: string;
5
5
  vertices?: number[];
@@ -41,6 +41,21 @@ declare class Object3d {
41
41
  static getNormals(vertices: number[]): number[];
42
42
  static createSphere(lonBands?: number, latBands?: number, radius?: number, offsetX?: number, offsetY?: number, offsetZ?: number): Object3d;
43
43
  static createDisc(radius?: number, height?: number, radialSegments?: number, isTop?: boolean, startIndex?: number, offsetX?: number, offsetY?: number, offsetZ?: number): Object3d;
44
+ /**
45
+ * Returns scale parameters for a frustum geoObject created with only Object3d.createFrustum();
46
+ * @param length
47
+ * @param horizontalAngle
48
+ * @param verticalAngle
49
+ */
50
+ static getFrustumScaleByCameraAngles(length: number, horizontalAngle: number, verticalAngle: number): Vec3;
51
+ /**
52
+ * Returns scale parameters for a frustum geoObject created with only Object3d.createFrustum();
53
+ * @param length
54
+ * @param horizontalAngle
55
+ * @param aspectRatio
56
+ */
57
+ static getFrustumScaleByCameraAspectRatio(length: number, horizontalAngle: number, aspectRatio: number): Vec3;
58
+ static createFrustum(length?: number, width?: number, height?: number, xOffset?: number, yOffset?: number, zOffset?: number): Object3d;
44
59
  static createCylinder(radiusTop?: number, radiusBottom?: number, height?: number, radialSegments?: number, heightSegments?: number, isTop?: boolean, isBottom?: boolean, offsetX?: number, offsetY?: number, offsetZ?: number): Object3d;
45
60
  static createCube(length?: number, height?: number, depth?: number, xOffset?: number, yOffset?: number, zOffset?: number): Object3d;
46
61
  static createArrow(back?: number, height?: number, front?: number): Object3d;
@@ -1,6 +1,6 @@
1
1
  import { htmlColorToFloat32Array } from './utils/shared';
2
2
  import { Vec3 } from './math/Vec3';
3
- import { MAX, MIN } from './math';
3
+ import { DEGREES_DOUBLE, MAX, MIN, RADIANS_HALF } from './math';
4
4
  import { transformLeftToRightCoordinateSystem, objParser } from "./utils/objParser";
5
5
  function getColor(color) {
6
6
  if (color instanceof Array) {
@@ -219,6 +219,71 @@ class Object3d {
219
219
  'vertices': vertices, 'normals': normals, 'indices': indices
220
220
  });
221
221
  }
222
+ /**
223
+ * Returns scale parameters for a frustum geoObject created with only Object3d.createFrustum();
224
+ * @param length
225
+ * @param horizontalAngle
226
+ * @param verticalAngle
227
+ */
228
+ static getFrustumScaleByCameraAngles(length, horizontalAngle, verticalAngle) {
229
+ return new Vec3(2.0 * length * Math.tan(RADIANS_HALF * horizontalAngle), 2.0 * length * Math.tan(RADIANS_HALF * verticalAngle), length);
230
+ }
231
+ /**
232
+ * Returns scale parameters for a frustum geoObject created with only Object3d.createFrustum();
233
+ * @param length
234
+ * @param horizontalAngle
235
+ * @param aspectRatio
236
+ */
237
+ static getFrustumScaleByCameraAspectRatio(length, horizontalAngle, aspectRatio) {
238
+ let vAngle = DEGREES_DOUBLE * Math.atan(Math.tan(RADIANS_HALF * horizontalAngle) / aspectRatio);
239
+ return Object3d.getFrustumScaleByCameraAngles(length, horizontalAngle, vAngle);
240
+ }
241
+ static createFrustum(length = 1, width = 1, height = 1, xOffset = 0, yOffset = 0, zOffset = 0) {
242
+ width *= 0.5;
243
+ height *= 0.5;
244
+ return new Object3d({
245
+ vertices: [
246
+ //
247
+ //inside
248
+ //
249
+ //top
250
+ 0 + xOffset, 0 + yOffset, 0 + zOffset,
251
+ -1 * width + xOffset, 1 * height + yOffset, -1 * length + zOffset,
252
+ 1 * width + xOffset, 1 * height + yOffset, -1 * length + zOffset,
253
+ //bottop
254
+ 0 + xOffset, 0 + yOffset, 0 + zOffset,
255
+ 1 * width + xOffset, -1 * height + yOffset, -1 * length + zOffset,
256
+ -1 * width + xOffset, -1 * height + yOffset, -1 * length + zOffset,
257
+ //right
258
+ 0 + xOffset, 0 + yOffset, 0 + zOffset,
259
+ 1 * width + xOffset, 1 * height + yOffset, -1 * length + zOffset,
260
+ 1 * width + xOffset, -1 * height + yOffset, -1 * length + zOffset,
261
+ //left
262
+ 0 + xOffset, 0 + yOffset, 0 + zOffset,
263
+ -1 * width + xOffset, -1 * height + yOffset, -1 * length + zOffset,
264
+ -1 * width + xOffset, 1 * height + yOffset, -1 * length + zOffset,
265
+ //
266
+ // outside
267
+ //
268
+ //top
269
+ 0 + xOffset, 0 + yOffset, 0 + zOffset,
270
+ 1 * width + xOffset, 1 * height + yOffset, -1 * length + zOffset,
271
+ -1 * width + xOffset, 1 * height + yOffset, -1 * length + zOffset,
272
+ //bottop
273
+ 0 + xOffset, 0 + yOffset, 0 + zOffset,
274
+ -1 * width + xOffset, -1 * height + yOffset, -1 * length + zOffset,
275
+ 1 * width + xOffset, -1 * height + yOffset, -1 * length + zOffset,
276
+ //right
277
+ 0 + xOffset, 0 + yOffset, 0 + zOffset,
278
+ 1 * width + xOffset, -1 * height + yOffset, -1 * length + zOffset,
279
+ 1 * width + xOffset, 1 * height + yOffset, -1 * length + zOffset,
280
+ //left
281
+ 0 + xOffset, 0 + yOffset, 0 + zOffset,
282
+ -1 * width + xOffset, 1 * height + yOffset, -1 * length + zOffset,
283
+ -1 * width + xOffset, -1 * height + yOffset, -1 * length + zOffset
284
+ ]
285
+ });
286
+ }
222
287
  static createCylinder(radiusTop = 1.0, radiusBottom = 1.0, height = 1.0, radialSegments = 32, heightSegments = 1.0, isTop = true, isBottom = true, offsetX = 0, offsetY = 0, offsetZ = 0) {
223
288
  let vertices = [], indices = [], normals = [];
224
289
  let thetaStart = 0.0, thetaLength = Math.PI * 2;
@@ -385,32 +385,32 @@ function __ls(jd, leapSeconds) {
385
385
  };
386
386
  }
387
387
  const leapSecondsTable = [
388
- __ls(2441317.5, 10.0),
389
- __ls(2441499.5, 11.0),
390
- __ls(2441683.5, 12.0),
391
- __ls(2442048.5, 13.0),
392
- __ls(2442413.5, 14.0),
393
- __ls(2442778.5, 15.0),
394
- __ls(2443144.5, 16.0),
395
- __ls(2443509.5, 17.0),
396
- __ls(2443874.5, 18.0),
397
- __ls(2444239.5, 19.0),
398
- __ls(2444786.5, 20.0),
399
- __ls(2445151.5, 21.0),
400
- __ls(2445516.5, 22.0),
401
- __ls(2446247.5, 23.0),
402
- __ls(2447161.5, 24.0),
403
- __ls(2447892.5, 25.0),
404
- __ls(2448257.5, 26.0),
405
- __ls(2448804.5, 27.0),
406
- __ls(2449169.5, 28.0),
407
- __ls(2449534.5, 29.0),
408
- __ls(2450083.5, 30.0),
409
- __ls(2450630.5, 31.0),
410
- __ls(2451179.5, 32.0),
411
- __ls(2453736.5, 33.0),
412
- __ls(2454832.5, 34.0),
413
- __ls(2456109.5, 35.0),
388
+ __ls(2441317.5, 10.0), // 1972-01-01T00:00:00.000Z
389
+ __ls(2441499.5, 11.0), // 1972-07-01T00:00:00.000Z
390
+ __ls(2441683.5, 12.0), // 1973-01-01T00:00:00.000Z
391
+ __ls(2442048.5, 13.0), // 1974-01-01T00:00:00.000Z
392
+ __ls(2442413.5, 14.0), // 1975-01-01T00:00:00.000Z
393
+ __ls(2442778.5, 15.0), // 1976-01-01T00:00:00.000Z
394
+ __ls(2443144.5, 16.0), // 1977-01-01T00:00:00.000Z
395
+ __ls(2443509.5, 17.0), // 1978-01-01T00:00:00.000Z
396
+ __ls(2443874.5, 18.0), // 1979-01-01T00:00:00.000Z
397
+ __ls(2444239.5, 19.0), // 1980-01-01T00:00:00.000Z
398
+ __ls(2444786.5, 20.0), // 1981-07-01T00:00:00.000Z
399
+ __ls(2445151.5, 21.0), // 1982-07-01T00:00:00.000Z
400
+ __ls(2445516.5, 22.0), // 1983-01-01T00:00:00.000Z
401
+ __ls(2446247.5, 23.0), // 1985-07-01T00:00:00.000Z
402
+ __ls(2447161.5, 24.0), // 1988-01-01T00:00:00.000Z
403
+ __ls(2447892.5, 25.0), // 1990-01-01T00:00:00.000Z
404
+ __ls(2448257.5, 26.0), // 1991-01-01T00:00:00.000Z
405
+ __ls(2448804.5, 27.0), // 1992-07-01T00:00:00.000Z
406
+ __ls(2449169.5, 28.0), // 1993-07-01T00:00:00.000Z
407
+ __ls(2449534.5, 29.0), // 1994-07-01T00:00:00.000Z
408
+ __ls(2450083.5, 30.0), // 1996-01-01T00:00:00.000Z
409
+ __ls(2450630.5, 31.0), // 1997-07-01T00:00:00.000Z
410
+ __ls(2451179.5, 32.0), // 1999-01-01T00:00:00.000Z
411
+ __ls(2453736.5, 33.0), // 2006-01-01T00:00:00.000Z
412
+ __ls(2454832.5, 34.0), // 2009-01-01T00:00:00.000Z
413
+ __ls(2456109.5, 35.0), // 2012-07-01T00:00:00.000Z
414
414
  __ls(2457204.5, 36.0) // 2015-07-01T00:00:00.000Z
415
415
  ];
416
416
  export const J2000TAI = UTCtoTAI(J2000);
@@ -87,7 +87,7 @@ declare class Frustum {
87
87
  * Sets up camera projection matrix.
88
88
  * @public
89
89
  * @param {number} angle - Camera's view angle.
90
- * @param {number} aspect - Screen aspect ration.
90
+ * @param {number} aspect - Screen aspect ratio.
91
91
  * @param {number} near - Near camera distance.
92
92
  * @param {number} far - Far camera distance.
93
93
  */
@@ -1,4 +1,5 @@
1
1
  import { Mat4 } from "../math/Mat4";
2
+ import { RADIANS_HALF } from "../math";
2
3
  function planeNormalize(plane) {
3
4
  let t = 1.0 / Math.sqrt(plane[0] * plane[0] + plane[1] * plane[1] + plane[2] * plane[2]);
4
5
  plane[0] *= t;
@@ -59,12 +60,12 @@ class Frustum {
59
60
  * Sets up camera projection matrix.
60
61
  * @public
61
62
  * @param {number} angle - Camera's view angle.
62
- * @param {number} aspect - Screen aspect ration.
63
+ * @param {number} aspect - Screen aspect ratio.
63
64
  * @param {number} near - Near camera distance.
64
65
  * @param {number} far - Far camera distance.
65
66
  */
66
67
  setProjectionMatrix(angle, aspect, near, far) {
67
- this.top = near * Math.tan((angle * Math.PI) / 360);
68
+ this.top = near * Math.tan(angle * RADIANS_HALF);
68
69
  this.bottom = -this.top;
69
70
  this.right = this.top * aspect;
70
71
  this.left = -this.right;
@@ -96,27 +96,28 @@ export class DebugInfo extends Control {
96
96
  ctx.strokeStyle = 'black';
97
97
  ctx.stroke();
98
98
  let size;
99
- if (material.segment.isPole) {
100
- let ext = material.segment.getExtentLonLat();
101
- ctx.fillStyle = 'black';
102
- ctx.font = 'normal ' + 29 + 'px Verdana';
103
- ctx.textAlign = 'center';
104
- ctx.fillText(`${ext.northEast.lon.toFixed(3)} ${ext.northEast.lat.toFixed(3)}`, cnv.width / 2, cnv.height / 2 + 20);
105
- ctx.fillText(`${ext.southWest.lon.toFixed(3)} ${ext.southWest.lat.toFixed(3)}`, cnv.width / 2, cnv.height / 2 - 20);
99
+ // if (material.segment.isPole) {
100
+ // let ext = material.segment.getExtentLonLat();
101
+ //
102
+ // ctx.fillStyle = 'black';
103
+ // ctx.font = 'normal ' + 29 + 'px Verdana';
104
+ //
105
+ // ctx.textAlign = 'center';
106
+ // ctx.fillText(`${ext.northEast.lon.toFixed(3)} ${ext.northEast.lat.toFixed(3)}`, cnv.width / 2, cnv.height / 2 + 20);
107
+ // ctx.fillText(`${ext.southWest.lon.toFixed(3)} ${ext.southWest.lat.toFixed(3)}`, cnv.width / 2, cnv.height / 2 - 20);
108
+ // } else {
109
+ //Draw text
110
+ if (material.segment.tileZoom > 14) {
111
+ size = "26";
106
112
  }
107
113
  else {
108
- //Draw text
109
- if (material.segment.tileZoom > 14) {
110
- size = "26";
111
- }
112
- else {
113
- size = "32";
114
- }
115
- ctx.fillStyle = 'black';
116
- ctx.font = 'normal ' + size + 'px Verdana';
117
- ctx.textAlign = 'center';
118
- ctx.fillText(material.segment.tileX + "," + material.segment.tileY + "," + material.segment.tileZoom, cnv.width / 2, cnv.height / 2);
114
+ size = "32";
119
115
  }
116
+ ctx.fillStyle = 'black';
117
+ ctx.font = 'normal ' + size + 'px Verdana';
118
+ ctx.textAlign = 'center';
119
+ ctx.fillText(material.segment.tileX + "," + material.segment.tileY + "," + material.segment.tileZoom, cnv.width / 2, cnv.height / 2);
120
+ //}
120
121
  //Draw canvas tile
121
122
  applyCanvas(cnv);
122
123
  }
@@ -4,6 +4,7 @@ import { Layer } from "../layer/Layer";
4
4
  import { Slider } from "../ui/Slider";
5
5
  import { ToggleButton } from "../ui/ToggleButton";
6
6
  import { View } from '../ui/View';
7
+ import { Color } from "../ui/Color";
7
8
  interface ILightingParams extends IControlParams {
8
9
  }
9
10
  /**
@@ -16,6 +17,8 @@ export declare class Lighting extends Control {
16
17
  protected _panel: View<null>;
17
18
  protected _atmosphereMaxOpacity: Slider;
18
19
  protected _atmosphereMinOpacity: Slider;
20
+ protected _simpleSkyBackgroundColorOne: Color;
21
+ protected _simpleSkyBackgroundColorTwo: Color;
19
22
  protected _gamma: Slider;
20
23
  protected _exposure: Slider;
21
24
  protected _night: Slider;
@@ -38,6 +41,7 @@ export declare class Lighting extends Control {
38
41
  $ambient: HTMLElement | null;
39
42
  $specular: HTMLElement | null;
40
43
  $atmosphereOpacity: HTMLElement | null;
44
+ $simpleSkyBackground: HTMLElement | null;
41
45
  constructor(options?: ILightingParams);
42
46
  bindLayer(layer: Layer): void;
43
47
  oninit(): void;
@@ -3,6 +3,7 @@ import { Dialog } from '../ui/Dialog';
3
3
  import { Slider } from "../ui/Slider";
4
4
  import { ToggleButton } from "../ui/ToggleButton";
5
5
  import { View } from '../ui/View';
6
+ import { Color } from "../ui/Color";
6
7
  const SUN_STOP_SVG_ICON = `<?xml version="1.0" encoding="utf-8"?><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.88 70.41" style="enable-background:new 0 0 122.88 70.41" xml:space="preserve"><g><path d="M60.91,19.12c6.95,0,13.24,2.95,17.8,7.72c4.55,4.77,7.37,11.37,7.37,18.64c0,1.94-0.2,3.83-0.58,5.65h31.61 c2.1,0,2.62,1.16,2.62,2.59c0,1.43-0.52,2.59-2.62,2.59H7.09c-2.1,0-2.62-1.16-2.62-2.59c0-1.43,0.52-2.59,2.62-2.59h29.23 c-0.38-1.82-0.58-3.71-0.58-5.65c0-7.28,2.82-13.87,7.37-18.64C47.67,22.08,53.96,19.12,60.91,19.12L60.91,19.12L60.91,19.12z M63.4,70.41c-2.1,0-2.62-1.16-2.62-2.59s0.52-2.59,2.62-2.59h56.86c2.1,0,2.62,1.16,2.62,2.59s-0.52,2.59-2.62,2.59H63.4 L63.4,70.41z M2.62,70.41c-2.1,0-2.62-1.16-2.62-2.59s0.52-2.59,2.62-2.59h29.51c2.1,0,2.62,1.16,2.62,2.59s-0.52,2.59-2.62,2.59 H2.62L2.62,70.41z M38.39,9.46c-0.78-1.35-0.32-3.07,1.03-3.85c1.35-0.78,3.07-0.32,3.85,1.03l3.62,6.27 c0.78,1.35,0.32,3.07-1.03,3.85c-1.35,0.78-3.07,0.32-3.85-1.03L38.39,9.46L38.39,9.46L38.39,9.46z M58.67,2.83 c0-1.56,1.27-2.83,2.83-2.83c1.56,0,2.83,1.27,2.83,2.83v7.24c0,1.56-1.27,2.83-2.83,2.83c-1.56,0-2.83-1.26-2.83-2.83V2.83 L58.67,2.83L58.67,2.83z M79.56,7.23c0.77-1.35,2.49-1.81,3.84-1.04c1.35,0.77,1.81,2.49,1.04,3.84l-3.62,6.27 c-0.77,1.35-2.49,1.81-3.84,1.04c-1.35-0.77-1.81-2.49-1.04-3.84L79.56,7.23L79.56,7.23L79.56,7.23z M95.45,21.48 c1.35-0.78,3.07-0.32,3.85,1.03c0.78,1.35,0.32,3.07-1.03,3.85L92,29.98c-1.35,0.78-3.07,0.32-3.85-1.03 c-0.78-1.35-0.32-3.07,1.03-3.85L95.45,21.48L95.45,21.48L95.45,21.48z M102.08,41.76c1.56,0,2.83,1.27,2.83,2.83 c0,1.56-1.27,2.83-2.83,2.83h-7.24c-1.56,0-2.83-1.26-2.83-2.83s1.26-2.83,2.83-2.83H102.08L102.08,41.76L102.08,41.76z M19.74,46.25c-1.56,0-2.83-1.27-2.83-2.83c0-1.56,1.27-2.83,2.83-2.83h7.24c1.56,0,2.83,1.26,2.83,2.83s-1.27,2.83-2.83,2.83 H19.74L19.74,46.25L19.74,46.25z M24.14,25.35c-1.35-0.77-1.81-2.49-1.04-3.84c0.77-1.35,2.49-1.81,3.84-1.04l6.27,3.62 c1.35,0.77,1.81,2.49,1.04,3.84c-0.77,1.35-2.49,1.81-3.84,1.04L24.14,25.35L24.14,25.35L24.14,25.35z"/></g></svg>`;
7
8
  const SUN_ACTIVE_SVG_ICON = `<?xml version="1.0"?>
8
9
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
@@ -36,6 +37,9 @@ const TEMPLATE = `<div class="og-lighing">
36
37
  <div class="og-option og-atmosphere-opacity">
37
38
  </div>
38
39
 
40
+ <div class="og-option og-simpleskybackground">
41
+ </div>
42
+
39
43
  <div class="og-lighting-emptyline"></div>
40
44
 
41
45
  <div class="og-option og-gamma"></div>
@@ -118,6 +122,7 @@ export class Lighting extends Control {
118
122
  this.$ambient = null;
119
123
  this.$specular = null;
120
124
  this.$atmosphereOpacity = null;
125
+ this.$simpleSkyBackground = null;
121
126
  this._atmosphereMaxOpacity = new Slider({
122
127
  label: "Max.opacity",
123
128
  max: 5
@@ -126,6 +131,12 @@ export class Lighting extends Control {
126
131
  label: "Min.opacity",
127
132
  max: 5
128
133
  });
134
+ this._simpleSkyBackgroundColorOne = new Color({
135
+ label: "Color One"
136
+ });
137
+ this._simpleSkyBackgroundColorTwo = new Color({
138
+ label: "Color Two"
139
+ });
129
140
  this._gamma = new Slider({
130
141
  label: "Gamma",
131
142
  max: 5
@@ -203,6 +214,7 @@ export class Lighting extends Control {
203
214
  this._panel.appendTo(this._dialog.container);
204
215
  if (this._panel.el) {
205
216
  this.$atmosphereOpacity = this._panel.el.querySelector(".og-atmosphere-opacity");
217
+ this.$simpleSkyBackground = this._panel.el.querySelector(".og-simpleskybackground");
206
218
  this.$gamma = this._panel.el.querySelector(".og-option.og-gamma");
207
219
  this.$exposure = this._panel.el.querySelector(".og-option.og-exposure");
208
220
  this.$opacity = this._panel.el.querySelector(".og-option.og-opacity");
@@ -266,21 +278,27 @@ export class Lighting extends Control {
266
278
  atmosphereEnabledBtn.appendTo($suncontrol);
267
279
  if (this.planet.atmosphereEnabled) {
268
280
  this.$atmosphereOpacity.style.display = "block";
281
+ this.$simpleSkyBackground.style.display = "none";
269
282
  }
270
283
  else {
271
284
  this.$atmosphereOpacity.style.display = "none";
285
+ this.$simpleSkyBackground.style.display = "flex";
272
286
  }
273
287
  atmosphereEnabledBtn.events.on("change", (isActive) => {
274
288
  this.planet.atmosphereEnabled = isActive;
275
289
  if (this.planet.atmosphereEnabled) {
276
290
  this.$atmosphereOpacity.style.display = "block";
291
+ this.$simpleSkyBackground.style.display = "none";
277
292
  }
278
293
  else {
279
294
  this.$atmosphereOpacity.style.display = "none";
295
+ this.$simpleSkyBackground.style.display = "flex";
280
296
  }
281
297
  });
282
298
  this._atmosphereMaxOpacity.appendTo(this.$atmosphereOpacity);
283
299
  this._atmosphereMinOpacity.appendTo(this.$atmosphereOpacity);
300
+ this._simpleSkyBackgroundColorOne.appendTo(this.$simpleSkyBackground);
301
+ this._simpleSkyBackgroundColorTwo.appendTo(this.$simpleSkyBackground);
284
302
  this._gamma.appendTo(this.$gamma);
285
303
  this._exposure.appendTo(this.$exposure);
286
304
  this._night.appendTo(this.$night);
@@ -295,19 +313,23 @@ export class Lighting extends Control {
295
313
  this._specular_g.appendTo(this.$specular);
296
314
  this._specular_b.appendTo(this.$specular);
297
315
  this._shininess.appendTo(this.$specular);
298
- this._atmosphereMinOpacity.value = this.planet.atmosphereMinOpacity;
299
- this._atmosphereMinOpacity.events.on("change", (val) => {
300
- this.planet.atmosphereMinOpacity = val;
301
- });
316
+ //
317
+ // Screen options
318
+ //
302
319
  this._gamma.value = this.planet.renderer.gamma;
303
320
  this._gamma.events.on("change", (val) => {
304
321
  this.planet.renderer.gamma = val;
305
322
  });
306
- this._panel.el.querySelector("#layers").addEventListener("change", (e) => {
307
- const l = this.planet.getLayerByName(e.target.value);
308
- if (l) {
309
- this.bindLayer(l);
310
- }
323
+ this._exposure.value = this.planet.renderer.exposure;
324
+ this._exposure.events.on("change", (val) => {
325
+ this.planet.renderer.exposure = val;
326
+ });
327
+ //
328
+ // Atmosphere parameters
329
+ //
330
+ this._atmosphereMinOpacity.value = this.planet.atmosphereMinOpacity;
331
+ this._atmosphereMinOpacity.events.on("change", (val) => {
332
+ this.planet.atmosphereMinOpacity = val;
311
333
  });
312
334
  this._atmosphereMaxOpacity.value = this.planet.atmosphereMaxOpacity;
313
335
  this._atmosphereMaxOpacity.events.on("change", (val) => {
@@ -315,9 +337,26 @@ export class Lighting extends Control {
315
337
  let atmos = this.planet.renderer.controls.Atmosphere;
316
338
  atmos.opacity = val;
317
339
  });
318
- this._exposure.value = this.planet.renderer.exposure;
319
- this._exposure.events.on("change", (val) => {
320
- this.planet.renderer.exposure = val;
340
+ //
341
+ // Simple Sky Background parameters
342
+ //
343
+ let simpleSkyBackgroundControl = this.planet.renderer.controls.SimpleSkyBackground;
344
+ this._simpleSkyBackgroundColorOne.value = simpleSkyBackgroundControl.colorOne;
345
+ this._simpleSkyBackgroundColorOne.events.on("input", (val) => {
346
+ simpleSkyBackgroundControl.colorOne = val;
347
+ });
348
+ this._simpleSkyBackgroundColorTwo.value = simpleSkyBackgroundControl.colorTwo;
349
+ this._simpleSkyBackgroundColorTwo.events.on("input", (val) => {
350
+ simpleSkyBackgroundControl.colorTwo = val;
351
+ });
352
+ //
353
+ // Planet options
354
+ //
355
+ this._panel.el.querySelector("#layers").addEventListener("change", (e) => {
356
+ const l = this.planet.getLayerByName(e.target.value);
357
+ if (l) {
358
+ this.bindLayer(l);
359
+ }
321
360
  });
322
361
  this._night.events.on("change", (val) => {
323
362
  if (this._selectedLayer) {
@@ -5,6 +5,8 @@ export declare class SimpleSkyBackground extends Control {
5
5
  protected _colorOne: Float32Array;
6
6
  protected _colorTwo: Float32Array;
7
7
  constructor(options?: ISimpleSkyBackgroundParams);
8
+ get colorOne(): string;
9
+ get colorTwo(): string;
8
10
  set colorOne(htmlColor: string);
9
11
  set colorTwo(htmlColor: string);
10
12
  oninit(): void;
@@ -1,5 +1,5 @@
1
1
  import { Control } from "./Control";
2
- import { htmlColorToRgb } from "../utils/shared";
2
+ import { htmlColorToRgb, rgbToStringHTML } from "../utils/shared";
3
3
  import { Program } from '../webgl/Program';
4
4
  export class SimpleSkyBackground extends Control {
5
5
  constructor(options = {}) {
@@ -7,8 +7,18 @@ export class SimpleSkyBackground extends Control {
7
7
  name: "SimpleSkyBackground",
8
8
  ...options
9
9
  });
10
- this._colorOne = new Float32Array([1.0, 1.0, 1.0]);
11
- this._colorTwo = new Float32Array([0.0, 153.0 / 255.0, 221.0 / 255.0]);
10
+ this._colorOne = new Float32Array([128 / 255, 223 / 255, 255 / 255]);
11
+ this._colorTwo = new Float32Array([10 / 255, 15 / 255, 56 / 255]);
12
+ }
13
+ get colorOne() {
14
+ let c = this._colorOne;
15
+ let arr = [Math.round(c[0] * 255), Math.round(c[1] * 255), Math.round(c[2] * 255)];
16
+ return rgbToStringHTML(arr);
17
+ }
18
+ get colorTwo() {
19
+ let c = this._colorTwo;
20
+ let arr = [Math.round(c[0] * 255), Math.round(c[1] * 255), Math.round(c[2] * 255)];
21
+ return rgbToStringHTML(arr);
12
22
  }
13
23
  set colorOne(htmlColor) {
14
24
  let rgb = htmlColorToRgb(htmlColor);
@@ -39,7 +39,7 @@ class PolygonDrawingScene extends RenderNode {
39
39
  super(options.name);
40
40
  this._cornerDblClick = false;
41
41
  this._onChange = (e) => {
42
- if (e.geometryType === "Polygon") {
42
+ if (e.geometryType === "POLYGON") {
43
43
  let coords = this.getCoordinates();
44
44
  let entity = new Entity({
45
45
  'geometry': {
@@ -179,7 +179,7 @@ class PolygonDrawingScene extends RenderNode {
179
179
  this._insertCornerIndex = -1;
180
180
  }
181
181
  get geometryType() {
182
- return "Polygon";
182
+ return "POLYGON";
183
183
  }
184
184
  getCoordinates() {
185
185
  let corners = this._cornerLayer.getEntities();
@@ -55,38 +55,38 @@ export const SCALES = [
55
55
  [10.0, 10],
56
56
  [15.0, 15],
57
57
  [30.0, 6],
58
- [60.0, 12],
59
- [120.0, 12],
60
- [300.0, 5],
61
- [600.0, 10],
62
- [900.0, 15],
63
- [1800.0, 6],
64
- [3600.0, 12],
65
- [7200.0, 10],
66
- [14400.0, 4],
67
- [21600.0, 6],
68
- [43200.0, 12],
69
- [86400.0, 24],
70
- [172800.0, 2],
71
- [345600.0, 4],
72
- [604800.0, 7],
73
- [1296000.0, 15],
74
- [2592000.0, 5],
75
- [5184000.0, 6],
76
- [7776000.0, 9],
77
- [15552000.0, 18],
78
- [31536000.0, 12],
79
- [63072000.0, 2],
80
- [126144000.0, 4],
81
- [157680000.0, 5],
82
- [315360000.0, 10],
83
- [630720000.0, 2],
84
- [1261440000.0, 4],
85
- [1576800000.0, 5],
86
- [3153600000.0, 10],
87
- [6307200000.0, 2],
88
- [12614400000.0, 4],
89
- [15768000000.0, 5],
58
+ [60.0, 12], // 1min
59
+ [120.0, 12], // 2min
60
+ [300.0, 5], // 5min
61
+ [600.0, 10], // 10min
62
+ [900.0, 15], // 15min
63
+ [1800.0, 6], // 30min
64
+ [3600.0, 12], // 1hr
65
+ [7200.0, 10], // 2hr
66
+ [14400.0, 4], // 4hr
67
+ [21600.0, 6], // 6hr
68
+ [43200.0, 12], // 12hr
69
+ [86400.0, 24], // 24hr
70
+ [172800.0, 2], // 2days
71
+ [345600.0, 4], // 4days
72
+ [604800.0, 7], // 7days
73
+ [1296000.0, 15], // 15days
74
+ [2592000.0, 5], // 30days
75
+ [5184000.0, 6], // 60days
76
+ [7776000.0, 9], // 90days
77
+ [15552000.0, 18], // 180days
78
+ [31536000.0, 12], // 365days
79
+ [63072000.0, 2], // 2years
80
+ [126144000.0, 4], // 4years
81
+ [157680000.0, 5], // 5years
82
+ [315360000.0, 10], // 10years
83
+ [630720000.0, 2], // 20years
84
+ [1261440000.0, 4], // 40years
85
+ [1576800000.0, 5], // 50years
86
+ [3153600000.0, 10], // 100years
87
+ [6307200000.0, 2], // 200years
88
+ [12614400000.0, 4], // 400years
89
+ [15768000000.0, 5], // 500years
90
90
  [31536000000.0, 10], // 1000years
91
91
  ];
92
92
  export function getScale(seconds) {
@@ -54,7 +54,7 @@ export function drawnode_screen_nl() {
54
54
  mat4 viewMatrixRTE = viewMatrix;
55
55
  viewMatrixRTE[3] = vec4(0.0, 0.0, 0.0, 1.0);
56
56
 
57
- gl_Position = projectionMatrix * viewMatrixRTE * vec4(highDiff + lowDiff, 1.0);
57
+ gl_Position = projectionMatrix * viewMatrixRTE * vec4(highDiff * step(1.0, length(highDiff)) + lowDiff, 1.0);
58
58
  }`,
59
59
  fragmentShader: `precision highp float;
60
60
  uniform vec4 tileOffsetArr[5];
@@ -1,19 +1,21 @@
1
1
  import { Entity } from "./Entity";
2
2
  import { Quat, Vec3, Vec4 } from "../math/index";
3
- import { InstanceData } from "./GeoObjectHandler";
3
+ import { GeoObjectHandler, InstanceData } from "./GeoObjectHandler";
4
4
  import { NumberArray3 } from "../math/Vec3";
5
5
  import { NumberArray4 } from "../math/Vec4";
6
6
  import { Object3d } from "../Object3d";
7
- import { GeoObjectHandler } from "./GeoObjectHandler";
8
7
  export interface IGeoObjectParams {
9
- object3d: Object3d;
8
+ object3d?: Object3d;
9
+ objSrc?: string;
10
+ textureSrc?: string;
10
11
  tag?: string;
11
12
  position?: Vec3 | NumberArray3;
12
13
  pitch?: number;
13
14
  yaw?: number;
14
15
  roll?: number;
15
- scale?: number;
16
+ scale?: number | Vec3;
16
17
  color?: Vec4 | NumberArray4 | string;
18
+ visibility?: boolean;
17
19
  }
18
20
  /**
19
21
  * @class
@@ -43,7 +45,7 @@ declare class GeoObject {
43
45
  protected _pitch: number;
44
46
  protected _yaw: number;
45
47
  protected _roll: number;
46
- protected _scale: number;
48
+ protected _scale: Vec3;
47
49
  /**
48
50
  * RGBA color.
49
51
  * @public
@@ -58,6 +60,8 @@ declare class GeoObject {
58
60
  protected _object3d: Object3d;
59
61
  protected _visibility: boolean;
60
62
  protected _qNorthFrame: Quat;
63
+ private _textureSrc?;
64
+ _objectSrc?: string;
61
65
  constructor(options: IGeoObjectParams);
62
66
  get tag(): string;
63
67
  getPosition(): Vec3;
@@ -118,10 +122,20 @@ declare class GeoObject {
118
122
  */
119
123
  setPosition3v(position: Vec3): void;
120
124
  setYaw(yaw: number): void;
125
+ setObject(object: Object3d): void;
126
+ setObjectSrc(src: string): void;
127
+ setTextureSrc(src: string): void;
128
+ setColorHTML(color: string): void;
129
+ /**
130
+ *
131
+ * @param {number} pitch - Pitch in radians
132
+ */
121
133
  setPitch(pitch: number): void;
122
134
  setRoll(roll: number): void;
135
+ setPitchYawRoll(pitch: number, yaw: number, roll: number): void;
123
136
  setScale(scale: number): void;
124
- getScale(): number;
137
+ setScale3v(scale: Vec3): void;
138
+ getScale(): Vec3;
125
139
  /**
126
140
  * Removes geo object from handler.
127
141
  * @public