@openglobus/og 0.23.0 → 0.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (342) hide show
  1. package/lib/@openglobus/js/Clock.d.ts +2 -2
  2. package/lib/@openglobus/js/Globe.d.ts +10 -6
  3. package/lib/@openglobus/js/LonLat.d.ts +2 -2
  4. package/lib/@openglobus/js/Object3d.d.ts +3 -2
  5. package/lib/@openglobus/js/Popup.d.ts +7 -4
  6. package/lib/@openglobus/js/astro/astro.d.ts +1 -1
  7. package/lib/@openglobus/js/astro/earth.d.ts +1 -1
  8. package/lib/@openglobus/js/bv/Box.d.ts +1 -1
  9. package/lib/@openglobus/js/camera/Camera.d.ts +55 -19
  10. package/lib/@openglobus/js/camera/Frustum.d.ts +2 -2
  11. package/lib/@openglobus/js/camera/PlanetCamera.d.ts +14 -1
  12. package/lib/@openglobus/js/control/Atmosphere.d.ts +3 -3
  13. package/lib/@openglobus/js/control/AtmosphereConfig.d.ts +2 -2
  14. package/lib/@openglobus/js/control/CameraLock.d.ts +3 -3
  15. package/lib/@openglobus/js/control/CompassButton.d.ts +1 -1
  16. package/lib/@openglobus/js/control/DebugInfo.d.ts +1 -1
  17. package/lib/@openglobus/js/control/EarthCoordinates.d.ts +2 -2
  18. package/lib/@openglobus/js/control/GeoImageDragControl.d.ts +2 -2
  19. package/lib/@openglobus/js/control/KeyboardNavigation.d.ts +1 -1
  20. package/lib/@openglobus/js/control/LayerAnimation.d.ts +2 -2
  21. package/lib/@openglobus/js/control/LayerSwitcher.d.ts +4 -2
  22. package/lib/@openglobus/js/control/Lighting.d.ts +2 -1
  23. package/lib/@openglobus/js/control/MouseNavigation.d.ts +64 -52
  24. package/lib/@openglobus/js/control/OldMouseNavigation.d.ts +65 -0
  25. package/lib/@openglobus/js/control/RulerSwitcher.d.ts +2 -1
  26. package/lib/@openglobus/js/control/ScaleControl.d.ts +2 -1
  27. package/lib/@openglobus/js/control/SegmentBoundVisualization.d.ts +2 -1
  28. package/lib/@openglobus/js/control/ShowFps.d.ts +2 -1
  29. package/lib/@openglobus/js/control/SimpleNavigation.d.ts +3 -2
  30. package/lib/@openglobus/js/control/SimpleSkyBackground.d.ts +2 -1
  31. package/lib/@openglobus/js/control/Sun.d.ts +2 -1
  32. package/lib/@openglobus/js/control/ToggleWireframe.d.ts +2 -1
  33. package/lib/@openglobus/js/control/TouchNavigation.d.ts +3 -2
  34. package/lib/@openglobus/js/control/ZoomControl.d.ts +2 -1
  35. package/lib/@openglobus/js/control/drawing/DrawingControl.d.ts +1 -1
  36. package/lib/@openglobus/js/control/drawing/LineStringDrawingScene.d.ts +1 -1
  37. package/lib/@openglobus/js/control/drawing/PolygonDrawingScene.d.ts +3 -3
  38. package/lib/@openglobus/js/control/elevationProfile/ElevationProfile.d.ts +1 -1
  39. package/lib/@openglobus/js/control/elevationProfile/ElevationProfileButtonsView.d.ts +3 -2
  40. package/lib/@openglobus/js/control/elevationProfile/ElevationProfileControl.d.ts +2 -2
  41. package/lib/@openglobus/js/control/elevationProfile/ElevationProfileLegend.d.ts +1 -1
  42. package/lib/@openglobus/js/control/elevationProfile/ElevationProfileScene.d.ts +2 -2
  43. package/lib/@openglobus/js/control/elevationProfile/ElevationProfileView.d.ts +6 -4
  44. package/lib/@openglobus/js/control/elevationProfile/PointListDialog.d.ts +1 -1
  45. package/lib/@openglobus/js/control/geoObjectEditor/ArrowEntity.d.ts +1 -1
  46. package/lib/@openglobus/js/control/geoObjectEditor/AxisTrackEntity.d.ts +1 -1
  47. package/lib/@openglobus/js/control/geoObjectEditor/GeoObjectEditor.d.ts +1 -1
  48. package/lib/@openglobus/js/control/geoObjectEditor/GeoObjectEditorDialog.d.ts +1 -1
  49. package/lib/@openglobus/js/control/geoObjectEditor/GeoObjectEditorScene.d.ts +2 -2
  50. package/lib/@openglobus/js/control/geoObjectEditor/MoveAxisEntity.d.ts +1 -1
  51. package/lib/@openglobus/js/control/geoObjectEditor/MovePlaneEntity.d.ts +1 -1
  52. package/lib/@openglobus/js/control/geoObjectEditor/RotateEntity.d.ts +1 -1
  53. package/lib/@openglobus/js/control/heightRuler/HeightRuler.d.ts +1 -1
  54. package/lib/@openglobus/js/control/heightRuler/HeightRulerScene.d.ts +1 -1
  55. package/lib/@openglobus/js/control/index.d.ts +1 -2
  56. package/lib/@openglobus/js/control/ruler/Ruler.d.ts +2 -1
  57. package/lib/@openglobus/js/control/ruler/RulerScene.d.ts +2 -2
  58. package/lib/@openglobus/js/control/selection/Selection.d.ts +2 -1
  59. package/lib/@openglobus/js/control/timeline/TimelineControl.d.ts +1 -1
  60. package/lib/@openglobus/js/control/timeline/TimelineModel.d.ts +1 -1
  61. package/lib/@openglobus/js/control/timeline/TimelineView.d.ts +4 -3
  62. package/lib/@openglobus/js/ellipsoid/Ellipsoid.d.ts +1 -1
  63. package/lib/@openglobus/js/entity/BaseBillboard.d.ts +6 -3
  64. package/lib/@openglobus/js/entity/BaseBillboardHandler.d.ts +2 -2
  65. package/lib/@openglobus/js/entity/Billboard.d.ts +3 -2
  66. package/lib/@openglobus/js/entity/Entity.d.ts +47 -32
  67. package/lib/@openglobus/js/entity/EntityCollection.d.ts +4 -3
  68. package/lib/@openglobus/js/entity/GeoObject.d.ts +2 -11
  69. package/lib/@openglobus/js/entity/Geometry.d.ts +4 -3
  70. package/lib/@openglobus/js/entity/GeometryHandler.d.ts +3 -2
  71. package/lib/@openglobus/js/entity/InstanceData.d.ts +2 -2
  72. package/lib/@openglobus/js/entity/Label.d.ts +4 -2
  73. package/lib/@openglobus/js/entity/LabelHandler.d.ts +1 -1
  74. package/lib/@openglobus/js/entity/PointCloud.d.ts +1 -1
  75. package/lib/@openglobus/js/entity/Polyline.d.ts +9 -7
  76. package/lib/@openglobus/js/entity/Ray.d.ts +4 -2
  77. package/lib/@openglobus/js/entity/RayHandler.d.ts +2 -2
  78. package/lib/@openglobus/js/entity/Strip.d.ts +5 -3
  79. package/lib/@openglobus/js/input/KeyboardHandler.d.ts +1 -1
  80. package/lib/@openglobus/js/input/MouseHandler.d.ts +1 -0
  81. package/lib/@openglobus/js/layer/BaseGeoImage.d.ts +6 -5
  82. package/lib/@openglobus/js/layer/Bing.d.ts +2 -1
  83. package/lib/@openglobus/js/layer/CanvasTiles.d.ts +4 -3
  84. package/lib/@openglobus/js/layer/GeoImage.d.ts +2 -1
  85. package/lib/@openglobus/js/layer/GeoTexture2d.d.ts +3 -2
  86. package/lib/@openglobus/js/layer/GeoVideo.d.ts +2 -1
  87. package/lib/@openglobus/js/layer/KML.d.ts +5 -3
  88. package/lib/@openglobus/js/layer/Layer.d.ts +5 -4
  89. package/lib/@openglobus/js/layer/Material.d.ts +2 -2
  90. package/lib/@openglobus/js/layer/OpenStreetMap.d.ts +2 -1
  91. package/lib/@openglobus/js/layer/Vector.d.ts +9 -7
  92. package/lib/@openglobus/js/layer/WMS.d.ts +2 -1
  93. package/lib/@openglobus/js/layer/XYZ.d.ts +4 -3
  94. package/lib/@openglobus/js/math/Mat3.d.ts +1 -1
  95. package/lib/@openglobus/js/math/Mat4.d.ts +10 -1
  96. package/lib/@openglobus/js/math/Plane.d.ts +3 -1
  97. package/lib/@openglobus/js/math/Quat.d.ts +7 -1
  98. package/lib/@openglobus/js/math/Ray.d.ts +6 -16
  99. package/lib/@openglobus/js/math/Vec2.d.ts +22 -0
  100. package/lib/@openglobus/js/math/Vec3.d.ts +3 -2
  101. package/lib/@openglobus/js/math/coder.d.ts +5 -3
  102. package/lib/@openglobus/js/math/index.d.ts +6 -3
  103. package/lib/@openglobus/js/math.d.ts +2 -2
  104. package/lib/@openglobus/js/quadTree/earth/EarthEntityCollectionNodeLonLat.d.ts +2 -1
  105. package/lib/@openglobus/js/quadTree/earth/EarthQuadTreeStrategy.d.ts +0 -2
  106. package/lib/@openglobus/js/quadTree/equi/EquiEntityCollectionNodeLonLat.d.ts +2 -1
  107. package/lib/@openglobus/js/renderer/Renderer.d.ts +5 -3
  108. package/lib/@openglobus/js/renderer/RendererEvents.d.ts +7 -3
  109. package/lib/@openglobus/js/scene/Axes.d.ts +1 -1
  110. package/lib/@openglobus/js/scene/Planet.d.ts +12 -6
  111. package/lib/@openglobus/js/scene/SkyBox.d.ts +1 -1
  112. package/lib/@openglobus/js/segment/Segment.d.ts +7 -5
  113. package/lib/@openglobus/js/segment/SegmentLonLat.d.ts +1 -1
  114. package/lib/@openglobus/js/segment/SegmentLonLatEqui.d.ts +1 -1
  115. package/lib/@openglobus/js/shaders/atmos.d.ts +1 -1
  116. package/lib/@openglobus/js/shaders/drawnode.d.ts +1 -1
  117. package/lib/@openglobus/js/terrain/BilTerrain.d.ts +3 -2
  118. package/lib/@openglobus/js/terrain/EmptyTerrain.d.ts +1 -1
  119. package/lib/@openglobus/js/terrain/GlobusRgbTerrain.d.ts +2 -1
  120. package/lib/@openglobus/js/terrain/GlobusTerrain.d.ts +5 -4
  121. package/lib/@openglobus/js/terrain/RgbTerrain.d.ts +3 -2
  122. package/lib/@openglobus/js/ui/Button.d.ts +3 -2
  123. package/lib/@openglobus/js/ui/ButtonGroup.d.ts +1 -1
  124. package/lib/@openglobus/js/ui/Checkbox.d.ts +3 -2
  125. package/lib/@openglobus/js/ui/Color.d.ts +3 -2
  126. package/lib/@openglobus/js/ui/Dialog.d.ts +3 -2
  127. package/lib/@openglobus/js/ui/Input.d.ts +3 -2
  128. package/lib/@openglobus/js/ui/Slider.d.ts +3 -2
  129. package/lib/@openglobus/js/ui/ToggleButton.d.ts +4 -3
  130. package/lib/@openglobus/js/ui/View.d.ts +1 -1
  131. package/lib/@openglobus/js/utils/FontAtlas.d.ts +1 -1
  132. package/lib/@openglobus/js/utils/GeoImageCreator.d.ts +1 -1
  133. package/lib/@openglobus/js/utils/Loader.d.ts +1 -1
  134. package/lib/@openglobus/js/utils/NormalMapCreator.d.ts +2 -1
  135. package/lib/@openglobus/js/utils/TerrainWorker.d.ts +1 -1
  136. package/lib/@openglobus/js/utils/TextureAtlas.d.ts +4 -2
  137. package/lib/@openglobus/js/utils/objParser.d.ts +1 -1
  138. package/lib/@openglobus/js/utils/shared.d.ts +5 -3
  139. package/lib/@openglobus/js/webgl/Framebuffer.d.ts +3 -2
  140. package/lib/@openglobus/js/webgl/Handler.d.ts +32 -19
  141. package/lib/@openglobus/js/webgl/Multisample.d.ts +2 -1
  142. package/lib/@openglobus/js/webgl/Program.d.ts +2 -2
  143. package/lib/@openglobus/js/webgl/ProgramController.d.ts +2 -1
  144. package/lib/@openglobus/js/webgl/variableHandlers.d.ts +1 -1
  145. package/lib/@openglobus/og.esm.js +1 -1
  146. package/lib/@openglobus/og.esm.js.map +1 -1
  147. package/lib/@openglobus/og.umd.js +1 -1
  148. package/lib/@openglobus/og.umd.js.map +1 -1
  149. package/lib/js/Clock.d.ts +2 -2
  150. package/lib/js/Globe.d.ts +10 -6
  151. package/lib/js/Globe.js +10 -4
  152. package/lib/js/LonLat.d.ts +2 -2
  153. package/lib/js/Object3d.d.ts +3 -2
  154. package/lib/js/Popup.d.ts +7 -4
  155. package/lib/js/Popup.js +1 -1
  156. package/lib/js/astro/astro.d.ts +1 -1
  157. package/lib/js/astro/earth.d.ts +1 -1
  158. package/lib/js/bv/Box.d.ts +1 -1
  159. package/lib/js/camera/Camera.d.ts +55 -19
  160. package/lib/js/camera/Camera.js +82 -28
  161. package/lib/js/camera/Frustum.d.ts +2 -2
  162. package/lib/js/camera/PlanetCamera.d.ts +14 -1
  163. package/lib/js/camera/PlanetCamera.js +52 -5
  164. package/lib/js/control/Atmosphere.d.ts +3 -3
  165. package/lib/js/control/AtmosphereConfig.d.ts +2 -2
  166. package/lib/js/control/CameraLock.d.ts +3 -3
  167. package/lib/js/control/CameraLock.js +1 -1
  168. package/lib/js/control/CompassButton.d.ts +1 -1
  169. package/lib/js/control/DebugInfo.d.ts +1 -1
  170. package/lib/js/control/DebugInfo.js +30 -10
  171. package/lib/js/control/EarthCoordinates.d.ts +2 -2
  172. package/lib/js/control/GeoImageDragControl.d.ts +2 -2
  173. package/lib/js/control/KeyboardNavigation.d.ts +1 -1
  174. package/lib/js/control/KeyboardNavigation.js +8 -8
  175. package/lib/js/control/LayerAnimation.d.ts +2 -2
  176. package/lib/js/control/LayerSwitcher.d.ts +4 -2
  177. package/lib/js/control/Lighting.d.ts +2 -1
  178. package/lib/js/control/MouseNavigation.d.ts +64 -52
  179. package/lib/js/control/MouseNavigation.js +361 -305
  180. package/lib/js/control/MouseWheelZoomControl.d.ts +0 -44
  181. package/lib/js/control/MouseWheelZoomControl.js +270 -181
  182. package/lib/js/control/OldMouseNavigation.d.ts +65 -0
  183. package/lib/js/control/OldMouseNavigation.js +368 -0
  184. package/lib/js/control/RulerSwitcher.d.ts +2 -1
  185. package/lib/js/control/ScaleControl.d.ts +2 -1
  186. package/lib/js/control/ScaleControl.js +2 -2
  187. package/lib/js/control/SegmentBoundVisualization.d.ts +2 -1
  188. package/lib/js/control/ShowFps.d.ts +2 -1
  189. package/lib/js/control/SimpleNavigation.d.ts +3 -2
  190. package/lib/js/control/SimpleNavigation.js +8 -7
  191. package/lib/js/control/SimpleSkyBackground.d.ts +2 -1
  192. package/lib/js/control/Sun.d.ts +2 -1
  193. package/lib/js/control/Sun.js +5 -5
  194. package/lib/js/control/ToggleWireframe.d.ts +2 -1
  195. package/lib/js/control/TouchNavigation.d.ts +3 -2
  196. package/lib/js/control/TouchNavigation.js +11 -8
  197. package/lib/js/control/ZoomControl.d.ts +2 -1
  198. package/lib/js/control/drawing/DrawingControl.d.ts +1 -1
  199. package/lib/js/control/drawing/LineStringDrawingScene.d.ts +1 -1
  200. package/lib/js/control/drawing/PolygonDrawingScene.d.ts +3 -3
  201. package/lib/js/control/elevationProfile/ElevationProfile.d.ts +1 -1
  202. package/lib/js/control/elevationProfile/ElevationProfileButtonsView.d.ts +3 -2
  203. package/lib/js/control/elevationProfile/ElevationProfileControl.d.ts +2 -2
  204. package/lib/js/control/elevationProfile/ElevationProfileLegend.d.ts +1 -1
  205. package/lib/js/control/elevationProfile/ElevationProfileScene.d.ts +2 -2
  206. package/lib/js/control/elevationProfile/ElevationProfileScene.js +2 -1
  207. package/lib/js/control/elevationProfile/ElevationProfileView.d.ts +6 -4
  208. package/lib/js/control/elevationProfile/ElevationProfileView.js +1 -1
  209. package/lib/js/control/elevationProfile/PointListDialog.d.ts +1 -1
  210. package/lib/js/control/geoObjectEditor/ArrowEntity.d.ts +1 -1
  211. package/lib/js/control/geoObjectEditor/AxisTrackEntity.d.ts +1 -1
  212. package/lib/js/control/geoObjectEditor/GeoObjectEditor.d.ts +1 -1
  213. package/lib/js/control/geoObjectEditor/GeoObjectEditorDialog.d.ts +1 -1
  214. package/lib/js/control/geoObjectEditor/GeoObjectEditorDialog.js +19 -33
  215. package/lib/js/control/geoObjectEditor/GeoObjectEditorScene.d.ts +2 -2
  216. package/lib/js/control/geoObjectEditor/GeoObjectEditorScene.js +18 -18
  217. package/lib/js/control/geoObjectEditor/MoveAxisEntity.d.ts +1 -1
  218. package/lib/js/control/geoObjectEditor/MoveAxisEntity.js +3 -2
  219. package/lib/js/control/geoObjectEditor/MovePlaneEntity.d.ts +1 -1
  220. package/lib/js/control/geoObjectEditor/MovePlaneEntity.js +1 -4
  221. package/lib/js/control/geoObjectEditor/RotateEntity.d.ts +1 -1
  222. package/lib/js/control/geoObjectEditor/RotateEntity.js +1 -1
  223. package/lib/js/control/heightRuler/HeightRuler.d.ts +1 -1
  224. package/lib/js/control/heightRuler/HeightRulerScene.d.ts +1 -1
  225. package/lib/js/control/index.d.ts +1 -2
  226. package/lib/js/control/index.js +1 -2
  227. package/lib/js/control/ruler/Ruler.d.ts +2 -1
  228. package/lib/js/control/ruler/RulerScene.d.ts +2 -2
  229. package/lib/js/control/selection/Selection.d.ts +2 -1
  230. package/lib/js/control/timeline/TimelineControl.d.ts +1 -1
  231. package/lib/js/control/timeline/TimelineModel.d.ts +1 -1
  232. package/lib/js/control/timeline/TimelineView.d.ts +4 -3
  233. package/lib/js/control/visibleExtent/Segment.js +4 -4
  234. package/lib/js/ellipsoid/Ellipsoid.d.ts +1 -1
  235. package/lib/js/ellipsoid/Ellipsoid.js +1 -1
  236. package/lib/js/entity/BaseBillboard.d.ts +6 -3
  237. package/lib/js/entity/BaseBillboardHandler.d.ts +2 -2
  238. package/lib/js/entity/Billboard.d.ts +3 -2
  239. package/lib/js/entity/Entity.d.ts +47 -32
  240. package/lib/js/entity/Entity.js +62 -47
  241. package/lib/js/entity/EntityCollection.d.ts +4 -3
  242. package/lib/js/entity/GeoObject.d.ts +2 -11
  243. package/lib/js/entity/GeoObject.js +0 -3
  244. package/lib/js/entity/Geometry.d.ts +4 -3
  245. package/lib/js/entity/GeometryHandler.d.ts +3 -2
  246. package/lib/js/entity/InstanceData.d.ts +2 -2
  247. package/lib/js/entity/InstanceData.js +6 -3
  248. package/lib/js/entity/Label.d.ts +4 -2
  249. package/lib/js/entity/LabelHandler.d.ts +1 -1
  250. package/lib/js/entity/PointCloud.d.ts +1 -1
  251. package/lib/js/entity/Polyline.d.ts +9 -7
  252. package/lib/js/entity/Polyline.js +2 -1
  253. package/lib/js/entity/Ray.d.ts +4 -2
  254. package/lib/js/entity/RayHandler.d.ts +2 -2
  255. package/lib/js/entity/Strip.d.ts +5 -3
  256. package/lib/js/input/KeyboardHandler.d.ts +1 -1
  257. package/lib/js/input/MouseHandler.d.ts +1 -0
  258. package/lib/js/input/MouseHandler.js +12 -1
  259. package/lib/js/layer/BaseGeoImage.d.ts +6 -5
  260. package/lib/js/layer/Bing.d.ts +2 -1
  261. package/lib/js/layer/CanvasTiles.d.ts +4 -3
  262. package/lib/js/layer/GeoImage.d.ts +2 -1
  263. package/lib/js/layer/GeoTexture2d.d.ts +3 -2
  264. package/lib/js/layer/GeoVideo.d.ts +2 -1
  265. package/lib/js/layer/KML.d.ts +5 -3
  266. package/lib/js/layer/KML.js +1 -1
  267. package/lib/js/layer/Layer.d.ts +5 -4
  268. package/lib/js/layer/Material.d.ts +2 -2
  269. package/lib/js/layer/OpenStreetMap.d.ts +2 -1
  270. package/lib/js/layer/Vector.d.ts +9 -7
  271. package/lib/js/layer/Vector.js +1 -1
  272. package/lib/js/layer/WMS.d.ts +2 -1
  273. package/lib/js/layer/XYZ.d.ts +4 -3
  274. package/lib/js/math/Mat3.d.ts +1 -1
  275. package/lib/js/math/Mat3.js +1 -1
  276. package/lib/js/math/Mat4.d.ts +10 -1
  277. package/lib/js/math/Mat4.js +17 -1
  278. package/lib/js/math/Plane.d.ts +3 -1
  279. package/lib/js/math/Plane.js +11 -1
  280. package/lib/js/math/Quat.d.ts +7 -1
  281. package/lib/js/math/Quat.js +7 -1
  282. package/lib/js/math/Ray.d.ts +6 -16
  283. package/lib/js/math/Ray.js +53 -46
  284. package/lib/js/math/Vec2.d.ts +22 -0
  285. package/lib/js/math/Vec2.js +32 -0
  286. package/lib/js/math/Vec3.d.ts +3 -2
  287. package/lib/js/math/coder.d.ts +5 -3
  288. package/lib/js/math/index.d.ts +6 -3
  289. package/lib/js/math.d.ts +2 -2
  290. package/lib/js/math.js +2 -2
  291. package/lib/js/quadTree/earth/EarthEntityCollectionNodeLonLat.d.ts +2 -1
  292. package/lib/js/quadTree/earth/EarthQuadTreeStrategy.d.ts +0 -2
  293. package/lib/js/quadTree/equi/EquiEntityCollectionNodeLonLat.d.ts +2 -1
  294. package/lib/js/renderer/Renderer.d.ts +5 -3
  295. package/lib/js/renderer/Renderer.js +10 -6
  296. package/lib/js/renderer/RendererEvents.d.ts +7 -3
  297. package/lib/js/renderer/RendererEvents.js +5 -3
  298. package/lib/js/scene/Axes.d.ts +1 -1
  299. package/lib/js/scene/Planet.d.ts +12 -6
  300. package/lib/js/scene/Planet.js +24 -3
  301. package/lib/js/scene/SkyBox.d.ts +1 -1
  302. package/lib/js/segment/Segment.d.ts +7 -5
  303. package/lib/js/segment/Segment.js +4 -4
  304. package/lib/js/segment/SegmentLonLat.d.ts +1 -1
  305. package/lib/js/segment/SegmentLonLatEqui.d.ts +1 -1
  306. package/lib/js/shaders/atmos.d.ts +1 -1
  307. package/lib/js/shaders/drawnode.d.ts +1 -1
  308. package/lib/js/terrain/BilTerrain.d.ts +3 -2
  309. package/lib/js/terrain/EmptyTerrain.d.ts +1 -1
  310. package/lib/js/terrain/GlobusRgbTerrain.d.ts +2 -1
  311. package/lib/js/terrain/GlobusTerrain.d.ts +5 -4
  312. package/lib/js/terrain/GlobusTerrain.js +2 -2
  313. package/lib/js/terrain/RgbTerrain.d.ts +3 -2
  314. package/lib/js/ui/Button.d.ts +3 -2
  315. package/lib/js/ui/ButtonGroup.d.ts +1 -1
  316. package/lib/js/ui/Checkbox.d.ts +3 -2
  317. package/lib/js/ui/Color.d.ts +3 -2
  318. package/lib/js/ui/Dialog.d.ts +3 -2
  319. package/lib/js/ui/Input.d.ts +3 -2
  320. package/lib/js/ui/Slider.d.ts +3 -2
  321. package/lib/js/ui/ToggleButton.d.ts +4 -3
  322. package/lib/js/ui/View.d.ts +1 -1
  323. package/lib/js/utils/FontAtlas.d.ts +1 -1
  324. package/lib/js/utils/GeoImageCreator.d.ts +1 -1
  325. package/lib/js/utils/Loader.d.ts +1 -1
  326. package/lib/js/utils/NormalMapCreator.d.ts +2 -1
  327. package/lib/js/utils/TerrainWorker.d.ts +1 -1
  328. package/lib/js/utils/TextureAtlas.d.ts +4 -2
  329. package/lib/js/utils/objParser.d.ts +1 -1
  330. package/lib/js/utils/shared.d.ts +5 -3
  331. package/lib/js/webgl/Framebuffer.d.ts +3 -2
  332. package/lib/js/webgl/Handler.d.ts +32 -19
  333. package/lib/js/webgl/Handler.js +48 -36
  334. package/lib/js/webgl/Multisample.d.ts +2 -1
  335. package/lib/js/webgl/Program.d.ts +2 -2
  336. package/lib/js/webgl/ProgramController.d.ts +2 -1
  337. package/lib/js/webgl/variableHandlers.d.ts +1 -1
  338. package/package.json +2 -2
  339. package/lib/@openglobus/js/control/EarthNavigation.d.ts +0 -50
  340. package/lib/@openglobus/js/control/MouseWheelZoomControl.d.ts +0 -44
  341. package/lib/js/control/EarthNavigation.d.ts +0 -50
  342. package/lib/js/control/EarthNavigation.js +0 -202
@@ -11,6 +11,9 @@ const vendorPrefixes = ["", "WEBKIT_", "MOZ_"];
11
11
  const CONTEXT_TYPE = ["webgl2", "webgl"];
12
12
  // Maximal mipmap levels
13
13
  const MAX_LEVELS = 2;
14
+ /**
15
+ * @typedef {"visibilitychange" | "resize"} HandlerEventType
16
+ */
14
17
  /**
15
18
  * A WebGL handler for accessing low-level WebGL capabilities.
16
19
  * @class
@@ -206,7 +209,7 @@ class Handler {
206
209
  * @param {number} [level=0] - Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
207
210
  * @returns {WebGLTexture | null} - WebGL texture object.
208
211
  */
209
- createEmptyTexture2DExt(width = 1, height = 1, filter = "NEAREST", internalFormat = "RGBA", format = "RGBA", type = "UNSIGNED_BYTE", level = 0) {
212
+ createEmptyTexture2DExt(width = 1, height = 1, filter = "NEAREST", internalFormat = "RGBA", format = "RGBA", type = "UNSIGNED_BYTE", param = "CLAMP_TO_EDGE", level = 0) {
210
213
  let gl = this.gl;
211
214
  let texture = gl.createTexture();
212
215
  gl.bindTexture(gl.TEXTURE_2D, texture);
@@ -214,8 +217,8 @@ class Handler {
214
217
  gl.texImage2D(gl.TEXTURE_2D, level, gl[internalFormat.toUpperCase()], width, height, 0, gl[format.toUpperCase()], gl[type.toUpperCase()], null);
215
218
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl[filter.toUpperCase()]);
216
219
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl[filter.toUpperCase()]);
217
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
218
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
220
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl[param.toUpperCase()]);
221
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl[param.toUpperCase()]);
219
222
  gl.bindTexture(gl.TEXTURE_2D, null);
220
223
  return texture;
221
224
  }
@@ -227,7 +230,7 @@ class Handler {
227
230
  * @param {number} [internalFormat]
228
231
  * @returns {WebGLTexture | null} - WebGL texture object.
229
232
  */
230
- createEmptyTexture_n(width, height, internalFormat) {
233
+ createEmptyTexture_n(width, height, internalFormat, texParami) {
231
234
  let gl = this.gl;
232
235
  let texture = gl.createTexture();
233
236
  gl.bindTexture(gl.TEXTURE_2D, texture);
@@ -235,8 +238,8 @@ class Handler {
235
238
  gl.texImage2D(gl.TEXTURE_2D, 0, internalFormat || gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);
236
239
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
237
240
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
238
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
239
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
241
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, texParami || gl.CLAMP_TO_EDGE);
242
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, texParami || gl.CLAMP_TO_EDGE);
240
243
  gl.bindTexture(gl.TEXTURE_2D, null);
241
244
  return texture;
242
245
  }
@@ -246,9 +249,10 @@ class Handler {
246
249
  * @param {number} width - Empty texture width.
247
250
  * @param {number} height - Empty texture height.
248
251
  * @param {number} [internalFormat]
252
+ * @param {number} [texParami]
249
253
  * @returns {WebGLTexture | null} - WebGL texture object.
250
254
  */
251
- createEmptyTexture_l(width, height, internalFormat) {
255
+ createEmptyTexture_l(width, height, internalFormat, texParami) {
252
256
  let gl = this.gl;
253
257
  let texture = gl.createTexture();
254
258
  gl.bindTexture(gl.TEXTURE_2D, texture);
@@ -256,8 +260,8 @@ class Handler {
256
260
  gl.texImage2D(gl.TEXTURE_2D, 0, internalFormat || gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);
257
261
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
258
262
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
259
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
260
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
263
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, texParami || gl.CLAMP_TO_EDGE);
264
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, texParami || gl.CLAMP_TO_EDGE);
261
265
  gl.bindTexture(gl.TEXTURE_2D, null);
262
266
  return texture;
263
267
  }
@@ -266,10 +270,11 @@ class Handler {
266
270
  * @public
267
271
  * @param {HTMLCanvasElement | Image} image - Image or Canvas object.
268
272
  * @param {number} [internalFormat]
273
+ * @param {number} [texParami]
269
274
  * @param {WebGLTexture | null} [texture=null]
270
275
  * @returns {WebGLTexture | null} - WebGL texture object.
271
276
  */
272
- createTexture_n_webgl1(image, internalFormat, texture = null) {
277
+ createTexture_n_webgl1(image, internalFormat, texParami, texture = null) {
273
278
  let gl = this.gl;
274
279
  texture = texture || gl.createTexture();
275
280
  gl.bindTexture(gl.TEXTURE_2D, texture);
@@ -277,8 +282,8 @@ class Handler {
277
282
  gl.texImage2D(gl.TEXTURE_2D, 0, internalFormat || gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);
278
283
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
279
284
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
280
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
281
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
285
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, texParami || gl.CLAMP_TO_EDGE);
286
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, texParami || gl.CLAMP_TO_EDGE);
282
287
  gl.bindTexture(gl.TEXTURE_2D, null);
283
288
  return texture;
284
289
  }
@@ -287,18 +292,19 @@ class Handler {
287
292
  * @public
288
293
  * @param {ImageSource} image - Image or Canvas object.
289
294
  * @param {number} [internalFormat]
295
+ * @param {number} [texParami]
290
296
  * @param {WebGLTexture | null} [texture]
291
297
  * @returns {WebGLTexture | null} - WebGL texture object.
292
298
  */
293
- createTexture_l_webgl1(image, internalFormat, texture = null) {
299
+ createTexture_l_webgl1(image, internalFormat, texParami, texture = null) {
294
300
  let gl = this.gl;
295
301
  texture = texture || gl.createTexture();
296
302
  gl.bindTexture(gl.TEXTURE_2D, texture);
297
303
  gl.texImage2D(gl.TEXTURE_2D, 0, internalFormat || gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);
298
304
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
299
305
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
300
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
301
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
306
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, texParami || gl.CLAMP_TO_EDGE);
307
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, texParami || gl.CLAMP_TO_EDGE);
302
308
  gl.bindTexture(gl.TEXTURE_2D, null);
303
309
  return texture;
304
310
  }
@@ -307,10 +313,11 @@ class Handler {
307
313
  * @public
308
314
  * @param {ImageSource} image - Image or Canvas object.
309
315
  * @param {number} [internalFormat]
316
+ * @param {number} [texParami]
310
317
  * @param {WebGLTexture | null} [texture]
311
318
  * @returns {WebGLTexture | null} - WebGL texture object.
312
319
  */
313
- createTexture_mm_webgl1(image, internalFormat, texture = null) {
320
+ createTexture_mm_webgl1(image, internalFormat, texParami, texture = null) {
314
321
  let gl = this.gl;
315
322
  texture = texture || gl.createTexture();
316
323
  gl.bindTexture(gl.TEXTURE_2D, texture);
@@ -318,8 +325,8 @@ class Handler {
318
325
  gl.texImage2D(gl.TEXTURE_2D, 0, internalFormat || gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);
319
326
  gl.generateMipmap(gl.TEXTURE_2D);
320
327
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_LINEAR);
321
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
322
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
328
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, texParami || gl.CLAMP_TO_EDGE);
329
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, texParami || gl.CLAMP_TO_EDGE);
323
330
  gl.bindTexture(gl.TEXTURE_2D, null);
324
331
  return texture;
325
332
  }
@@ -328,10 +335,11 @@ class Handler {
328
335
  * @public
329
336
  * @param {ImageSource} image - Image or Canvas object.
330
337
  * @param {number} [internalFormat]
338
+ * @param {number} [texParami]
331
339
  * @param {WebGLTexture | null} [texture]
332
340
  * @returns {WebGLTexture | null} - WebGL texture object.
333
341
  */
334
- createTexture_a_webgl1(image, internalFormat, texture = null) {
342
+ createTexture_a_webgl1(image, internalFormat, texParami, texture = null) {
335
343
  let gl = this.gl;
336
344
  texture = texture || gl.createTexture();
337
345
  gl.bindTexture(gl.TEXTURE_2D, texture);
@@ -340,8 +348,8 @@ class Handler {
340
348
  gl.generateMipmap(gl.TEXTURE_2D);
341
349
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_LINEAR);
342
350
  gl.texParameterf(gl.TEXTURE_2D, this.extensions.EXT_texture_filter_anisotropic.TEXTURE_MAX_ANISOTROPY_EXT, this._params.anisotropy);
343
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
344
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
351
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, texParami || gl.CLAMP_TO_EDGE);
352
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, texParami || gl.CLAMP_TO_EDGE);
345
353
  gl.bindTexture(gl.TEXTURE_2D, null);
346
354
  return texture;
347
355
  }
@@ -350,10 +358,11 @@ class Handler {
350
358
  * @public
351
359
  * @param {ImageSource} image - Image or Canvas object.
352
360
  * @param {number} [internalFormat]
361
+ * @param {number} [texParami]
353
362
  * @param {WebGLTexture | null} [texture]
354
363
  * @returns {WebGLTexture | null} - WebGL texture object.
355
364
  */
356
- createTexture_n_webgl2(image, internalFormat, texture = null) {
365
+ createTexture_n_webgl2(image, internalFormat, texParami, texture = null) {
357
366
  let gl = this.gl;
358
367
  texture = texture || gl.createTexture();
359
368
  gl.bindTexture(gl.TEXTURE_2D, texture);
@@ -363,8 +372,8 @@ class Handler {
363
372
  gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, image.width, image.height, gl.RGBA, gl.UNSIGNED_BYTE, image);
364
373
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
365
374
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
366
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
367
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
375
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, texParami || gl.CLAMP_TO_EDGE);
376
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, texParami || gl.CLAMP_TO_EDGE);
368
377
  gl.bindTexture(gl.TEXTURE_2D, null);
369
378
  return texture;
370
379
  }
@@ -373,10 +382,11 @@ class Handler {
373
382
  * @public
374
383
  * @param {ImageSource} image - Image or Canvas object.
375
384
  * @param {number} [internalFormat]
385
+ * @param {number} [texParami]
376
386
  * @param {WebGLTexture | null} [texture]
377
387
  * @returns {WebGLTexture | null} - WebGL texture object.
378
388
  */
379
- createTexture_l_webgl2(image, internalFormat, texture = null) {
389
+ createTexture_l_webgl2(image, internalFormat, texParami, texture = null) {
380
390
  let gl = this.gl;
381
391
  texture = texture || gl.createTexture();
382
392
  gl.bindTexture(gl.TEXTURE_2D, texture);
@@ -386,8 +396,8 @@ class Handler {
386
396
  gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, image.width, image.height, gl.RGBA, gl.UNSIGNED_BYTE, image);
387
397
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
388
398
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
389
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
390
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
399
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, texParami || gl.CLAMP_TO_EDGE);
400
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, texParami || gl.CLAMP_TO_EDGE);
391
401
  gl.bindTexture(gl.TEXTURE_2D, null);
392
402
  return texture;
393
403
  }
@@ -396,10 +406,11 @@ class Handler {
396
406
  * @public
397
407
  * @param {ImageSource} image - Image or Canvas object.
398
408
  * @param {number} [internalFormat]
409
+ * @param {number} [texParami]
399
410
  * @param {WebGLTexture | null} [texture]
400
411
  * @returns {WebGLTexture | null} - WebGL texture object.
401
412
  */
402
- createTexture_mm_webgl2(image, internalFormat, texture = null) {
413
+ createTexture_mm_webgl2(image, internalFormat, texParami, texture = null) {
403
414
  let gl = this.gl;
404
415
  texture = texture || gl.createTexture();
405
416
  gl.bindTexture(gl.TEXTURE_2D, texture);
@@ -408,8 +419,8 @@ class Handler {
408
419
  gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, image.width, image.height, gl.RGBA, gl.UNSIGNED_BYTE, image);
409
420
  gl.generateMipmap(gl.TEXTURE_2D);
410
421
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_LINEAR);
411
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
412
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
422
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, texParami || gl.CLAMP_TO_EDGE);
423
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, texParami || gl.CLAMP_TO_EDGE);
413
424
  gl.bindTexture(gl.TEXTURE_2D, null);
414
425
  return texture;
415
426
  }
@@ -418,10 +429,11 @@ class Handler {
418
429
  * @public
419
430
  * @param {ImageSource} image - Image or Canvas object.
420
431
  * @param {number} [internalFormat]
432
+ * @param {number} [texParami]
421
433
  * @param {WebGLTexture | null} [texture]
422
434
  * @returns {WebGLTexture | null} - WebGL texture object.
423
435
  */
424
- createTexture_a_webgl2(image, internalFormat, texture = null) {
436
+ createTexture_a_webgl2(image, internalFormat, texParami, texture = null) {
425
437
  let gl = this.gl;
426
438
  texture = texture || gl.createTexture();
427
439
  gl.bindTexture(gl.TEXTURE_2D, texture);
@@ -432,8 +444,8 @@ class Handler {
432
444
  gl.generateMipmap(gl.TEXTURE_2D);
433
445
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_LINEAR);
434
446
  gl.texParameterf(gl.TEXTURE_2D, this.extensions.EXT_texture_filter_anisotropic.TEXTURE_MAX_ANISOTROPY_EXT, this._params.anisotropy);
435
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
436
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
447
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, texParami || gl.CLAMP_TO_EDGE);
448
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, texParami || gl.CLAMP_TO_EDGE);
437
449
  gl.bindTexture(gl.TEXTURE_2D, null);
438
450
  return texture;
439
451
  }
@@ -878,10 +890,10 @@ class Handler {
878
890
  });
879
891
  }
880
892
  /**
881
- * Creates default texture object
893
+ * Creates default texture object.
882
894
  * @public
883
- * @param {IDefaultTextureParams | null} params - Texture parameters:
884
- * @param {(texture: WebGLTextureExt) => void} [success] - Creation callback
895
+ * @param {IDefaultTextureParams | null} params - Texture parameters.
896
+ * @param {function(WebGLTextureExt): void} [success] - Creation callback.
885
897
  */
886
898
  createDefaultTexture(params, success) {
887
899
  let imgCnv;
@@ -1,4 +1,5 @@
1
- import { BaseFramebuffer, IBaseFramebufferParams } from "./BaseFramebuffer";
1
+ import { BaseFramebuffer } from "./BaseFramebuffer";
2
+ import type { IBaseFramebufferParams } from "./BaseFramebuffer";
2
3
  import { Handler } from "./Handler";
3
4
  interface IMultisampleParams extends IBaseFramebufferParams {
4
5
  msaa?: number;
@@ -1,5 +1,5 @@
1
- import { ProgramVariable } from "./variableHandlers";
2
- import { WebGLBufferExt } from "./Handler";
1
+ import type { ProgramVariable } from "./variableHandlers";
2
+ import type { WebGLBufferExt } from "./Handler";
3
3
  type WebGLProgramExt = WebGLProgram & {
4
4
  [id: string]: WebGLUniformLocation;
5
5
  };
@@ -1,4 +1,5 @@
1
- import { Handler, WebGLBufferExt } from "./Handler";
1
+ import { Handler } from "./Handler";
2
+ import type { WebGLBufferExt } from "./Handler";
2
3
  import { Program } from "./Program";
3
4
  /**
4
5
  * This is shader program controller that used by handler object to access the shader
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @module og/webgl/variableHandlers
3
3
  */
4
- import { WebGLBufferExt } from "./Handler";
4
+ import type { WebGLBufferExt } from "./Handler";
5
5
  export type VariableHandler = {
6
6
  u: {
7
7
  [id: number]: Function;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openglobus/og",
3
- "version": "0.23.0",
3
+ "version": "0.24.1",
4
4
  "description": "[openglobus](https://www.openglobus.org/) is a javascript/typescript library designed to display interactive 3d maps and planets with map tiles, imagery and vector data, markers, and 3D objects. It uses the WebGL technology, open source, and completely free.",
5
5
  "directories": {
6
6
  "example": "./sandbox"
@@ -11,7 +11,7 @@
11
11
  "scripts": {
12
12
  "docs": "jsdoc -r ./src/ -c ./jsdoc.conf.json -d ./docs",
13
13
  "serve_docs": "cd docs; ws -p 8088",
14
- "serve": "ws -p 3000",
14
+ "serve": "ws -p 8080",
15
15
  "build": "rollup -c --bundleConfigAsCjs",
16
16
  "clean": "rm -rf ./lib ./docs",
17
17
  "prepublishOnly": "npm run build; npm run gen_js",
@@ -1,50 +0,0 @@
1
- import { Control, IControlParams } from "./Control";
2
- import { ITouchState } from "../renderer/RendererEvents";
3
- import { IMouseState } from "../renderer/RendererEvents";
4
- import { Quat } from "../math/Quat";
5
- import { Sphere } from "../bv/Sphere";
6
- import { Vec3 } from "../math/Vec3";
7
- interface IEarthNavigationParams extends IControlParams {
8
- }
9
- declare class TouchExt {
10
- x: number;
11
- y: number;
12
- prev_x: number;
13
- prev_y: number;
14
- grabbedPoint: Vec3 | null;
15
- grabbedSpheroid: Sphere;
16
- constructor();
17
- dX(): number;
18
- dY(): number;
19
- }
20
- export declare class EarthNavigation extends Control {
21
- protected grabbedPoint: Vec3 | null;
22
- protected grabbedDir: Vec3;
23
- inertia: number;
24
- protected grabbedSpheroid: Sphere;
25
- protected _vRot: Quat;
26
- protected _hRot: Quat;
27
- protected _a: number;
28
- protected scaleRot: number;
29
- protected currState: number;
30
- protected positionState: {
31
- h: number;
32
- max: number;
33
- min: number;
34
- }[];
35
- protected touches: TouchExt[];
36
- constructor(options?: IEarthNavigationParams);
37
- switchZoomState(wheelDelta: number): void;
38
- protected onMouseWheel(event: IMouseState): void;
39
- oninit(): void;
40
- onactivate(): void;
41
- protected onTouchStart(e: ITouchState): void;
42
- protected onTouchEnd(e: ITouchState): void;
43
- protected onTouchMove(e: ITouchState): void;
44
- protected onMouseLeftButtonClick(e: IMouseState): void;
45
- stopRotation(): void;
46
- protected onMouseLeftButtonUp(e: IMouseState): void;
47
- protected onMouseLeftButtonDown(e: IMouseState): void;
48
- protected onDraw(): void;
49
- }
50
- export {};
@@ -1,44 +0,0 @@
1
- import { Sphere } from "../bv/Sphere";
2
- import { Key } from "../Lock";
3
- import { Quat } from "../math/Quat";
4
- import { Vec3 } from "../math/Vec3";
5
- import { Control, IControlParams } from "./Control";
6
- import { IStepForward } from "./MouseNavigation";
7
- interface IMouseWheelZoomControl extends IControlParams {
8
- minSlope?: number;
9
- }
10
- export declare class MouseWheelZoomControl extends Control {
11
- protected grabbedPoint: Vec3;
12
- protected _eye0: Vec3;
13
- protected pointOnEarth: Vec3;
14
- protected earthUp: Vec3;
15
- inertia: number;
16
- protected grabbedSpheroid: Sphere;
17
- protected qRot: Quat;
18
- protected scaleRot: number;
19
- protected distDiff: number;
20
- protected stepsCount: number;
21
- protected stepsForward: IStepForward[] | null;
22
- protected stepIndex: number;
23
- protected _lmbDoubleClickActive: boolean;
24
- protected minSlope: number;
25
- protected _keyLock: Key;
26
- protected _deactivate: boolean;
27
- protected _move: number;
28
- constructor(options?: IMouseWheelZoomControl);
29
- oninit(): void;
30
- /**
31
- * Planet zoom in.
32
- * @public
33
- */
34
- zoomIn(): void;
35
- /**
36
- * Planet zoom out.
37
- * @public
38
- */
39
- zoomOut(): void;
40
- stopRotation(): void;
41
- stopZoom(): void;
42
- protected _draw(): void;
43
- }
44
- export {};
@@ -1,50 +0,0 @@
1
- import { Control, IControlParams } from "./Control";
2
- import { ITouchState } from "../renderer/RendererEvents";
3
- import { IMouseState } from "../renderer/RendererEvents";
4
- import { Quat } from "../math/Quat";
5
- import { Sphere } from "../bv/Sphere";
6
- import { Vec3 } from "../math/Vec3";
7
- interface IEarthNavigationParams extends IControlParams {
8
- }
9
- declare class TouchExt {
10
- x: number;
11
- y: number;
12
- prev_x: number;
13
- prev_y: number;
14
- grabbedPoint: Vec3 | null;
15
- grabbedSpheroid: Sphere;
16
- constructor();
17
- dX(): number;
18
- dY(): number;
19
- }
20
- export declare class EarthNavigation extends Control {
21
- protected grabbedPoint: Vec3 | null;
22
- protected grabbedDir: Vec3;
23
- inertia: number;
24
- protected grabbedSpheroid: Sphere;
25
- protected _vRot: Quat;
26
- protected _hRot: Quat;
27
- protected _a: number;
28
- protected scaleRot: number;
29
- protected currState: number;
30
- protected positionState: {
31
- h: number;
32
- max: number;
33
- min: number;
34
- }[];
35
- protected touches: TouchExt[];
36
- constructor(options?: IEarthNavigationParams);
37
- switchZoomState(wheelDelta: number): void;
38
- protected onMouseWheel(event: IMouseState): void;
39
- oninit(): void;
40
- onactivate(): void;
41
- protected onTouchStart(e: ITouchState): void;
42
- protected onTouchEnd(e: ITouchState): void;
43
- protected onTouchMove(e: ITouchState): void;
44
- protected onMouseLeftButtonClick(e: IMouseState): void;
45
- stopRotation(): void;
46
- protected onMouseLeftButtonUp(e: IMouseState): void;
47
- protected onMouseLeftButtonDown(e: IMouseState): void;
48
- protected onDraw(): void;
49
- }
50
- export {};
@@ -1,202 +0,0 @@
1
- import { Control } from "./Control";
2
- import { LonLat } from "../LonLat";
3
- import { Quat } from "../math/Quat";
4
- import { Ray } from "../math/Ray";
5
- import { Sphere } from "../bv/Sphere";
6
- import { Vec2 } from "../math/Vec2";
7
- import { Vec3 } from "../math/Vec3";
8
- class TouchExt {
9
- constructor() {
10
- this.x = 0;
11
- this.y = 0;
12
- this.prev_x = 0;
13
- this.prev_y = 0;
14
- this.grabbedPoint = new Vec3();
15
- this.grabbedSpheroid = new Sphere();
16
- }
17
- dX() {
18
- return this.x - this.prev_x;
19
- }
20
- dY() {
21
- return this.y - this.prev_y;
22
- }
23
- }
24
- export class EarthNavigation extends Control {
25
- constructor(options = {}) {
26
- super(options);
27
- this.grabbedPoint = new Vec3();
28
- this.grabbedDir = new Vec3();
29
- this.inertia = 0.007;
30
- this.grabbedSpheroid = new Sphere();
31
- this.planet = null;
32
- this._vRot = new Quat();
33
- this._hRot = new Quat();
34
- this._a = 0.0;
35
- this.scaleRot = 0;
36
- this.currState = 0;
37
- this.positionState = [
38
- { h: 17119745.303455353, max: 0.98, min: -0.98 },
39
- { h: 6866011, max: 0.98, min: -0.98 },
40
- { h: 3000000, max: 0.98, min: -0.98 },
41
- { h: 1000000, max: 0.98, min: -0.98 },
42
- { h: 500000, max: 0.98, min: -0.98 }
43
- ];
44
- this.touches = [new TouchExt(), new TouchExt()];
45
- }
46
- switchZoomState(wheelDelta) {
47
- this.stopRotation();
48
- if (wheelDelta > 0) {
49
- this.currState++;
50
- }
51
- else {
52
- this.currState--;
53
- }
54
- if (this.currState <= 0)
55
- this.currState = 0;
56
- if (this.currState >= this.positionState.length) {
57
- this.currState = this.positionState.length - 1;
58
- }
59
- this.planet.stopFlying();
60
- const ll = this.planet.camera._lonLat;
61
- this.planet.flyLonLat(new LonLat(ll.lon, ll.lat, this.positionState[this.currState].h));
62
- }
63
- onMouseWheel(event) {
64
- this.switchZoomState(event.wheelDelta);
65
- }
66
- oninit() {
67
- this.activate();
68
- }
69
- onactivate() {
70
- let r = this.renderer;
71
- r.events.on("mousewheel", this.onMouseWheel, this);
72
- r.events.on("lhold", this.onMouseLeftButtonDown, this);
73
- r.events.on("ldown", this.onMouseLeftButtonClick, this);
74
- r.events.on("lup", this.onMouseLeftButtonUp, this);
75
- r.events.on("touchstart", this.onTouchStart, this);
76
- r.events.on("touchend", this.onTouchEnd, this);
77
- r.events.on("touchmove", this.onTouchMove, this);
78
- r.events.on("draw", this.onDraw, this);
79
- }
80
- onTouchStart(e) {
81
- if (e.sys.touches.length == 1) {
82
- const t = this.touches[0];
83
- t.x = e.sys.touches.item(0).pageX - e.sys.offsetLeft;
84
- t.y = e.sys.touches.item(0).pageY - e.sys.offsetTop;
85
- t.prev_x = e.sys.touches.item(0).pageX - e.sys.offsetLeft;
86
- t.prev_y = e.sys.touches.item(0).pageY - e.sys.offsetTop;
87
- // t.grabbedPoint = this.planet!.getCartesianFromPixelTerrain(t, true);
88
- t.grabbedPoint = this.planet.getCartesianFromPixelTerrain(new Vec2(t.x, t.y)) || null;
89
- if (t.grabbedPoint) {
90
- t.grabbedSpheroid.radius = t.grabbedPoint.length();
91
- this.stopRotation();
92
- }
93
- }
94
- }
95
- onTouchEnd(e) {
96
- if (e.sys.touches.length == 0) {
97
- this.scaleRot = 1;
98
- if (Math.abs(this.touches[0].x - this.touches[0].prev_x) < 3 &&
99
- Math.abs(this.touches[0].y - this.touches[0].prev_y) < 3)
100
- this.stopRotation();
101
- }
102
- }
103
- onTouchMove(e) {
104
- if (e.sys.touches.length == 1) {
105
- let cam = this.planet.camera;
106
- let t = this.touches[0];
107
- t.prev_x = t.x;
108
- t.prev_y = t.y;
109
- t.x = e.sys.touches.item(0).pageX - e.sys.offsetLeft;
110
- t.y = e.sys.touches.item(0).pageY - e.sys.offsetTop;
111
- if (!t.grabbedPoint)
112
- return;
113
- let direction = cam.unproject(t.x, t.y);
114
- let targetPoint = new Ray(cam.eye, direction).hitSphere(t.grabbedSpheroid);
115
- if (targetPoint) {
116
- this._a =
117
- Math.acos(t.grabbedPoint.y / t.grabbedSpheroid.radius) -
118
- Math.acos(targetPoint.y / t.grabbedSpheroid.radius);
119
- this._vRot = Quat.axisAngleToQuat(cam._u, this._a);
120
- this._hRot = Quat.getRotationBetweenVectors(new Vec3(targetPoint.x, 0.0, targetPoint.z).normal(), new Vec3(t.grabbedPoint.x, 0.0, t.grabbedPoint.z).normal());
121
- let rot = this._hRot.mul(this._vRot);
122
- let state = this.positionState[this.currState];
123
- let lim = rot.mulVec3(cam.eye).normal().dot(Vec3.NORTH);
124
- if (lim > state.max || lim < state.min) {
125
- rot = Quat.yRotation(rot.getYaw());
126
- }
127
- cam.set(rot.mulVec3(cam.eye), Vec3.ZERO, Vec3.NORTH);
128
- cam.update();
129
- }
130
- }
131
- }
132
- onMouseLeftButtonClick(e) {
133
- this.renderer.handler.canvas.classList.add("ogGrabbingPoiner");
134
- this.grabbedPoint = this.planet.getCartesianFromMouseTerrain() || null;
135
- this.grabbedDir.copy(e.direction);
136
- if (this.grabbedPoint) {
137
- this.grabbedSpheroid.radius = this.grabbedPoint.length();
138
- this.stopRotation();
139
- }
140
- }
141
- stopRotation() {
142
- this.scaleRot = 0.0;
143
- this._a = 0.0;
144
- this._vRot.clear();
145
- this._hRot.clear();
146
- }
147
- onMouseLeftButtonUp(e) {
148
- this.scaleRot = 1;
149
- this.renderer.handler.canvas.classList.remove("ogGrabbingPoiner");
150
- if (Math.abs(e.x - e.prev_x) < 3 && Math.abs(e.y - e.prev_y) < 3)
151
- this.stopRotation();
152
- }
153
- onMouseLeftButtonDown(e) {
154
- let cam = this.planet.camera;
155
- if (!this.grabbedPoint || cam.isFlying())
156
- return;
157
- if (this.renderer.events.mouseState.moving) {
158
- let targetPoint = new Ray(cam.eye, e.direction).hitSphere(this.grabbedSpheroid);
159
- if (targetPoint) {
160
- this._a = Math.acos(this.grabbedPoint.y / this.grabbedSpheroid.radius) -
161
- Math.acos(targetPoint.y / this.grabbedSpheroid.radius);
162
- let rot = this._vRot = Quat.axisAngleToQuat(cam._u, this._a);
163
- cam.set(rot.mulVec3(cam.eye), Vec3.ZERO, rot.mulVec3(cam.getUp()));
164
- this._hRot = Quat.getRotationBetweenVectors(new Vec3(targetPoint.x, 0.0, targetPoint.z).normal(), new Vec3(this.grabbedPoint.x, 0.0, this.grabbedPoint.z).normal());
165
- rot = this._hRot;
166
- cam.set(rot.mulVec3(cam.eye), Vec3.ZERO, rot.mulVec3(cam.getUp()));
167
- cam.update();
168
- }
169
- }
170
- else {
171
- this.scaleRot = 0;
172
- }
173
- }
174
- onDraw() {
175
- let r = this.renderer;
176
- let cam = this.planet.camera;
177
- if (r.events.mouseState.leftButtonDown || !this.scaleRot || cam.isFlying())
178
- return;
179
- this.scaleRot -= this.inertia;
180
- if (this.scaleRot <= 0) {
181
- this.scaleRot = 0;
182
- }
183
- else {
184
- this._vRot = Quat.axisAngleToQuat(cam._u, this._a);
185
- let rot = this._vRot.mul(this._hRot);
186
- let lim = rot.mulVec3(cam.eye).normal().dot(Vec3.NORTH);
187
- let state = this.positionState[this.currState];
188
- if (lim > state.max || lim < state.min) {
189
- rot = Quat.yRotation(rot.getYaw());
190
- }
191
- r.controlsBag.scaleRot = this.scaleRot;
192
- rot = rot
193
- .slerp(Quat.IDENTITY, 1 - this.scaleRot * this.scaleRot * this.scaleRot)
194
- .normalize();
195
- if (!(rot.x || rot.y || rot.z)) {
196
- this.scaleRot = 0;
197
- }
198
- cam.set(rot.mulVec3(cam.eye), Vec3.ZERO, Vec3.NORTH);
199
- cam.update();
200
- }
201
- }
202
- }