@openglobus/og 0.18.0 → 0.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (476) hide show
  1. package/README.md +8 -8
  2. package/lib/@openglobus/og.esm.js +2 -0
  3. package/lib/@openglobus/og.esm.js.map +1 -0
  4. package/lib/@openglobus/og.umd.js +2 -0
  5. package/lib/@openglobus/og.umd.js.map +1 -0
  6. package/lib/js/Clock.d.ts +106 -0
  7. package/{src/Clock.ts → lib/js/Clock.js} +31 -126
  8. package/lib/js/Deferred.d.ts +6 -0
  9. package/lib/js/Deferred.js +13 -0
  10. package/lib/js/Events.d.ts +90 -0
  11. package/{src/Events.ts → lib/js/Events.js} +29 -84
  12. package/lib/js/Extent.d.ts +145 -0
  13. package/{src/Extent.ts → lib/js/Extent.js} +74 -120
  14. package/lib/js/Globe.d.ts +132 -0
  15. package/{src/Globe.ts → lib/js/Globe.js} +61 -159
  16. package/lib/js/ImageCanvas.d.ts +128 -0
  17. package/{src/ImageCanvas.ts → lib/js/ImageCanvas.js} +24 -65
  18. package/lib/js/Lock.d.ts +15 -0
  19. package/{src/Lock.ts → lib/js/Lock.js} +7 -21
  20. package/lib/js/LonLat.d.ts +128 -0
  21. package/{src/LonLat.ts → lib/js/LonLat.js} +44 -75
  22. package/lib/js/Object3d.d.ts +49 -0
  23. package/{src/Object3d.ts → lib/js/Object3d.js} +64 -184
  24. package/lib/js/Popup.d.ts +46 -0
  25. package/{src/Popup.ts → lib/js/Popup.js} +42 -110
  26. package/lib/js/QueueArray.d.ts +16 -0
  27. package/{src/QueueArray.ts → lib/js/QueueArray.js} +12 -25
  28. package/lib/js/Rectangle.d.ts +76 -0
  29. package/{src/Rectangle.ts → lib/js/Rectangle.js} +12 -50
  30. package/lib/js/Stack.d.ts +20 -0
  31. package/{src/Stack.ts → lib/js/Stack.js} +13 -29
  32. package/lib/js/astro/astro.d.ts +39 -0
  33. package/{src/astro/astro.ts → lib/js/astro/astro.js} +2 -8
  34. package/lib/js/astro/earth.d.ts +8 -0
  35. package/{src/astro/earth.ts → lib/js/astro/earth.js} +3 -39
  36. package/lib/js/astro/jd.d.ts +234 -0
  37. package/{src/astro/jd.ts → lib/js/astro/jd.js} +55 -134
  38. package/lib/js/astro/orbit.d.ts +5 -0
  39. package/{src/astro/orbit.ts → lib/js/astro/orbit.js} +26 -39
  40. package/lib/js/astro/rotation.d.ts +2 -0
  41. package/{src/astro/rotation.ts → lib/js/astro/rotation.js} +2 -11
  42. package/lib/js/bv/Box.d.ts +32 -0
  43. package/{src/bv/Box.ts → lib/js/bv/Box.js} +7 -35
  44. package/lib/js/bv/Sphere.d.ts +37 -0
  45. package/{src/bv/Sphere.ts → lib/js/bv/Sphere.js} +6 -34
  46. package/{src/bv/index.ts → lib/js/bv/index.d.ts} +0 -1
  47. package/lib/js/bv/index.js +3 -0
  48. package/lib/js/camera/Camera.d.ts +314 -0
  49. package/{src/camera/Camera.ts → lib/js/camera/Camera.js} +77 -326
  50. package/lib/js/camera/Frustum.d.ts +139 -0
  51. package/{src/camera/Frustum.ts → lib/js/camera/Frustum.js} +66 -185
  52. package/lib/js/camera/PlanetCamera.d.ts +234 -0
  53. package/{src/camera/PlanetCamera.ts → lib/js/camera/PlanetCamera.js} +65 -338
  54. package/{src/camera/index.ts → lib/js/camera/index.d.ts} +0 -1
  55. package/lib/js/camera/index.js +3 -0
  56. package/lib/js/cons.d.ts +40 -0
  57. package/{src/cons.ts → lib/js/cons.js} +10 -22
  58. package/lib/js/control/Atmosphere.d.ts +16 -0
  59. package/{src/control/Atmosphere.ts → lib/js/control/Atmosphere.js} +33 -86
  60. package/lib/js/control/CompassButton.d.ts +16 -0
  61. package/{src/control/CompassButton.ts → lib/js/control/CompassButton.js} +18 -43
  62. package/lib/js/control/Control.d.ts +100 -0
  63. package/{src/control/Control.ts → lib/js/control/Control.js} +22 -89
  64. package/lib/js/control/DebugInfo.d.ts +25 -0
  65. package/{src/control/DebugInfo.ts → lib/js/control/DebugInfo.js} +38 -84
  66. package/lib/js/control/DrawingSwitcher.d.ts +13 -0
  67. package/{src/control/DrawingSwitcher.ts → lib/js/control/DrawingSwitcher.js} +13 -30
  68. package/lib/js/control/EarthCoordinates.d.ts +41 -0
  69. package/{src/control/EarthCoordinates.ts → lib/js/control/EarthCoordinates.js} +58 -119
  70. package/lib/js/control/EarthNavigation.d.ts +50 -0
  71. package/{src/control/EarthNavigation.ts → lib/js/control/EarthNavigation.js} +70 -161
  72. package/lib/js/control/GeoImageDragControl.d.ts +22 -0
  73. package/{src/control/GeoImageDragControl.ts → lib/js/control/GeoImageDragControl.js} +26 -49
  74. package/lib/js/control/KeyboardNavigation.d.ts +28 -0
  75. package/{src/control/KeyboardNavigation.ts → lib/js/control/KeyboardNavigation.js} +67 -92
  76. package/lib/js/control/LayerAnimation.d.ts +71 -0
  77. package/{src/control/LayerAnimation.ts → lib/js/control/LayerAnimation.js} +82 -162
  78. package/lib/js/control/LayerSwitcher.d.ts +21 -0
  79. package/{src/control/LayerSwitcher.ts → lib/js/control/LayerSwitcher.js} +16 -41
  80. package/lib/js/control/Lighting.d.ts +49 -0
  81. package/{src/control/Lighting.ts → lib/js/control/Lighting.js} +106 -219
  82. package/lib/js/control/MouseNavigation.d.ts +62 -0
  83. package/{src/control/MouseNavigation.ts → lib/js/control/MouseNavigation.js} +105 -211
  84. package/lib/js/control/MouseWheelZoomControl.d.ts +44 -0
  85. package/lib/js/control/MouseWheelZoomControl.js +181 -0
  86. package/lib/js/control/RulerSwitcher.d.ts +17 -0
  87. package/{src/control/RulerSwitcher.ts → lib/js/control/RulerSwitcher.js} +13 -28
  88. package/lib/js/control/ScaleControl.d.ts +24 -0
  89. package/lib/js/control/ScaleControl.js +91 -0
  90. package/lib/js/control/SegmentBoundVisualization.d.ts +12 -0
  91. package/lib/js/control/SegmentBoundVisualization.js +37 -0
  92. package/lib/js/control/ShowFps.d.ts +9 -0
  93. package/lib/js/control/ShowFps.js +20 -0
  94. package/lib/js/control/SimpleNavigation.d.ts +25 -0
  95. package/{src/control/SimpleNavigation.ts → lib/js/control/SimpleNavigation.js} +29 -51
  96. package/lib/js/control/SimpleSkyBackground.d.ts +15 -0
  97. package/{src/control/SimpleSkyBackground.ts → lib/js/control/SimpleSkyBackground.js} +21 -48
  98. package/lib/js/control/Sun.d.ts +33 -0
  99. package/{src/control/Sun.ts → lib/js/control/Sun.js} +34 -85
  100. package/lib/js/control/ToggleWireframe.d.ts +14 -0
  101. package/lib/js/control/ToggleWireframe.js +28 -0
  102. package/lib/js/control/TouchNavigation.d.ts +52 -0
  103. package/{src/control/TouchNavigation.ts → lib/js/control/TouchNavigation.js} +88 -193
  104. package/lib/js/control/ZoomControl.d.ts +27 -0
  105. package/{src/control/ZoomControl.ts → lib/js/control/ZoomControl.js} +25 -50
  106. package/lib/js/control/drawing/DrawingControl.d.ts +12 -0
  107. package/{src/control/drawing/DrawingControl.ts → lib/js/control/drawing/DrawingControl.js} +10 -20
  108. package/lib/js/control/drawing/LineStringDrawingScene.d.ts +15 -0
  109. package/{src/control/drawing/LineStringDrawingScene.ts → lib/js/control/drawing/LineStringDrawingScene.js} +28 -85
  110. package/lib/js/control/drawing/PolygonDrawingScene.d.ts +98 -0
  111. package/{src/control/drawing/PolygonDrawingScene.ts → lib/js/control/drawing/PolygonDrawingScene.js} +190 -388
  112. package/lib/js/control/elevationProfile/ElevationProfile.d.ts +61 -0
  113. package/{src/control/elevationProfile/ElevationProfile.ts → lib/js/control/elevationProfile/ElevationProfile.js} +56 -148
  114. package/lib/js/control/heightRuler/HeightRuler.d.ts +7 -0
  115. package/{src/control/heightRuler/HeightRuler.ts → lib/js/control/heightRuler/HeightRuler.js} +4 -9
  116. package/lib/js/control/heightRuler/HeightRulerScene.d.ts +35 -0
  117. package/{src/control/heightRuler/HeightRulerScene.ts → lib/js/control/heightRuler/HeightRulerScene.js} +47 -99
  118. package/lib/js/control/heightRuler/HeightRulerSwitcher.d.ts +6 -0
  119. package/{src/control/heightRuler/HeightRulerSwitcher.ts → lib/js/control/heightRuler/HeightRulerSwitcher.js} +2 -4
  120. package/{src/control/index.ts → lib/js/control/index.d.ts} +1 -18
  121. package/lib/js/control/index.js +28 -0
  122. package/lib/js/control/ruler/Ruler.d.ts +13 -0
  123. package/lib/js/control/ruler/Ruler.js +23 -0
  124. package/lib/js/control/ruler/RulerScene.d.ts +88 -0
  125. package/lib/js/control/ruler/RulerScene.js +324 -0
  126. package/lib/js/control/selection/Selection.d.ts +55 -0
  127. package/{src/control/selection/Selection.ts → lib/js/control/selection/Selection.js} +15 -34
  128. package/lib/js/control/selection/SelectionScene.d.ts +44 -0
  129. package/{src/control/selection/SelectionScene.ts → lib/js/control/selection/SelectionScene.js} +26 -113
  130. package/lib/js/control/timeline/TimelineControl.d.ts +18 -0
  131. package/{src/control/timeline/TimelineControl.ts → lib/js/control/timeline/TimelineControl.js} +13 -43
  132. package/lib/js/control/timeline/TimelineModel.d.ts +41 -0
  133. package/{src/control/timeline/TimelineModel.ts → lib/js/control/timeline/TimelineModel.js} +26 -74
  134. package/lib/js/control/timeline/TimelineView.d.ts +85 -0
  135. package/{src/control/timeline/TimelineView.ts → lib/js/control/timeline/TimelineView.js} +133 -281
  136. package/lib/js/control/timeline/timelineUtils.d.ts +12 -0
  137. package/lib/js/control/timeline/timelineUtils.js +112 -0
  138. package/lib/js/control/visibleExtent/Segment.d.ts +277 -0
  139. package/{src → lib/js}/control/visibleExtent/Segment.js +145 -698
  140. package/lib/js/control/visibleExtent/VisibleExtent.d.ts +5 -0
  141. package/{src → lib/js}/control/visibleExtent/VisibleExtent.js +1 -18
  142. package/lib/js/control/visibleExtent/drawnode.d.ts +7 -0
  143. package/{src/control/visibleExtent/drawnode.ts → lib/js/control/visibleExtent/drawnode.js} +1 -28
  144. package/lib/js/ellipsoid/Ellipsoid.d.ts +187 -0
  145. package/{src/ellipsoid/Ellipsoid.ts → lib/js/ellipsoid/Ellipsoid.js} +82 -267
  146. package/lib/js/ellipsoid/index.d.ts +3 -0
  147. package/lib/js/ellipsoid/index.js +3 -0
  148. package/lib/js/ellipsoid/wgs84.d.ts +6 -0
  149. package/{src/ellipsoid/wgs84.ts → lib/js/ellipsoid/wgs84.js} +1 -2
  150. package/lib/js/entity/BaseBillboard.d.ts +222 -0
  151. package/{src/entity/BaseBillboard.ts → lib/js/entity/BaseBillboard.js} +48 -165
  152. package/lib/js/entity/BaseBillboardHandler.d.ts +81 -0
  153. package/{src/entity/BaseBillboardHandler.ts → lib/js/entity/BaseBillboardHandler.js} +139 -365
  154. package/lib/js/entity/Billboard.d.ts +113 -0
  155. package/{src/entity/Billboard.ts → lib/js/entity/Billboard.js} +19 -83
  156. package/lib/js/entity/BillboardHandler.d.ts +15 -0
  157. package/{src/entity/BillboardHandler.ts → lib/js/entity/BillboardHandler.js} +27 -59
  158. package/lib/js/entity/Entity.d.ts +354 -0
  159. package/{src/entity/Entity.ts → lib/js/entity/Entity.js} +101 -373
  160. package/lib/js/entity/EntityCollection.d.ts +364 -0
  161. package/{src/entity/EntityCollection.ts → lib/js/entity/EntityCollection.js} +51 -353
  162. package/lib/js/entity/GeoObject.d.ts +138 -0
  163. package/{src/entity/GeoObject.ts → lib/js/entity/GeoObject.js} +41 -146
  164. package/lib/js/entity/GeoObjectHandler.d.ts +99 -0
  165. package/{src/entity/GeoObjectHandler.ts → lib/js/entity/GeoObjectHandler.js} +162 -423
  166. package/lib/js/entity/Geometry.d.ts +111 -0
  167. package/lib/js/entity/Geometry.js +283 -0
  168. package/lib/js/entity/GeometryHandler.d.ts +84 -0
  169. package/{src/entity/GeometryHandler.ts → lib/js/entity/GeometryHandler.js} +162 -657
  170. package/lib/js/entity/Label.d.ts +207 -0
  171. package/{src/entity/Label.ts → lib/js/entity/Label.js} +62 -164
  172. package/lib/js/entity/LabelHandler.d.ts +65 -0
  173. package/{src/entity/LabelHandler.ts → lib/js/entity/LabelHandler.js} +175 -408
  174. package/lib/js/entity/LabelWorker.d.ts +15 -0
  175. package/{src/entity/LabelWorker.ts → lib/js/entity/LabelWorker.js} +24 -45
  176. package/lib/js/entity/PointCloud.d.ts +179 -0
  177. package/{src/entity/PointCloud.ts → lib/js/entity/PointCloud.js} +65 -265
  178. package/lib/js/entity/PointCloudHandler.d.ts +42 -0
  179. package/{src/entity/PointCloudHandler.ts → lib/js/entity/PointCloudHandler.js} +19 -62
  180. package/lib/js/entity/Polyline.d.ts +337 -0
  181. package/{src/entity/Polyline.ts → lib/js/entity/Polyline.js} +289 -924
  182. package/lib/js/entity/PolylineHandler.d.ts +22 -0
  183. package/{src/entity/PolylineHandler.ts → lib/js/entity/PolylineHandler.js} +12 -37
  184. package/lib/js/entity/Ray.d.ts +133 -0
  185. package/{src/entity/Ray.ts → lib/js/entity/Ray.js} +26 -146
  186. package/lib/js/entity/RayHandler.d.ts +70 -0
  187. package/{src/entity/RayHandler.ts → lib/js/entity/RayHandler.js} +102 -342
  188. package/lib/js/entity/Strip.d.ts +127 -0
  189. package/{src/entity/Strip.ts → lib/js/entity/Strip.js} +102 -372
  190. package/lib/js/entity/StripHandler.d.ts +42 -0
  191. package/{src/entity/StripHandler.ts → lib/js/entity/StripHandler.js} +22 -74
  192. package/{src/entity/index.ts → lib/js/entity/index.d.ts} +1 -2
  193. package/lib/js/entity/index.js +11 -0
  194. package/lib/js/index.d.ts +33 -0
  195. package/lib/js/index.js +33 -0
  196. package/lib/js/input/KeyboardHandler.d.ts +33 -0
  197. package/{src/input/KeyboardHandler.ts → lib/js/input/KeyboardHandler.js} +45 -84
  198. package/lib/js/input/MouseHandler.d.ts +16 -0
  199. package/{src/input/MouseHandler.ts → lib/js/input/MouseHandler.js} +12 -36
  200. package/lib/js/input/TouchHandler.d.ts +11 -0
  201. package/{src/input/TouchHandler.ts → lib/js/input/TouchHandler.js} +11 -23
  202. package/lib/js/input/input.d.ts +3 -0
  203. package/{src/input/input.ts → lib/js/input/input.js} +1 -1
  204. package/lib/js/layer/BaseGeoImage.d.ts +145 -0
  205. package/{src/layer/BaseGeoImage.ts → lib/js/layer/BaseGeoImage.js} +70 -235
  206. package/lib/js/layer/CanvasTiles.d.ts +103 -0
  207. package/{src/layer/CanvasTiles.ts → lib/js/layer/CanvasTiles.js} +54 -146
  208. package/lib/js/layer/GeoImage.d.ts +61 -0
  209. package/{src/layer/GeoImage.ts → lib/js/layer/GeoImage.js} +24 -54
  210. package/lib/js/layer/GeoTexture2d.d.ts +17 -0
  211. package/lib/js/layer/GeoTexture2d.js +37 -0
  212. package/lib/js/layer/GeoVideo.d.ts +68 -0
  213. package/{src/layer/GeoVideo.ts → lib/js/layer/GeoVideo.js} +31 -61
  214. package/lib/js/layer/KML.d.ts +72 -0
  215. package/{src/layer/KML.ts → lib/js/layer/KML.js} +94 -138
  216. package/lib/js/layer/Layer.d.ts +401 -0
  217. package/{src/layer/Layer.ts → lib/js/layer/Layer.js} +92 -443
  218. package/lib/js/layer/Material.d.ts +34 -0
  219. package/{src/layer/Material.ts → lib/js/layer/Material.js} +9 -43
  220. package/lib/js/layer/Vector.d.ts +244 -0
  221. package/{src/layer/Vector.ts → lib/js/layer/Vector.js} +147 -418
  222. package/lib/js/layer/WMS.d.ts +75 -0
  223. package/{src/layer/WMS.ts → lib/js/layer/WMS.js} +18 -100
  224. package/lib/js/layer/XYZ.d.ts +149 -0
  225. package/{src/layer/XYZ.ts → lib/js/layer/XYZ.js} +71 -171
  226. package/lib/js/layer/index.d.ts +11 -0
  227. package/lib/js/layer/index.js +11 -0
  228. package/lib/js/light/LightSource.d.ts +174 -0
  229. package/{src/light/LightSource.ts → lib/js/light/LightSource.js} +22 -131
  230. package/lib/js/math/Line2.d.ts +11 -0
  231. package/{src/math/Line2.ts → lib/js/math/Line2.js} +5 -15
  232. package/lib/js/math/Line3.d.ts +28 -0
  233. package/lib/js/math/Line3.js +85 -0
  234. package/lib/js/math/Mat3.d.ts +77 -0
  235. package/{src/math/Mat3.ts → lib/js/math/Mat3.js} +22 -51
  236. package/lib/js/math/Mat4.d.ts +195 -0
  237. package/{src/math/Mat4.ts → lib/js/math/Mat4.js} +53 -219
  238. package/lib/js/math/Plane.d.ts +20 -0
  239. package/{src/math/Plane.ts → lib/js/math/Plane.js} +26 -40
  240. package/lib/js/math/Quat.d.ts +373 -0
  241. package/{src/math/Quat.ts → lib/js/math/Quat.js} +106 -319
  242. package/lib/js/math/Ray.d.ts +76 -0
  243. package/{src/math/Ray.ts → lib/js/math/Ray.js} +21 -66
  244. package/lib/js/math/Vec2.d.ts +310 -0
  245. package/{src/math/Vec2.ts → lib/js/math/Vec2.js} +55 -121
  246. package/lib/js/math/Vec3.d.ts +472 -0
  247. package/{src/math/Vec3.ts → lib/js/math/Vec3.js} +103 -236
  248. package/lib/js/math/Vec4.d.ts +163 -0
  249. package/{src/math/Vec4.ts → lib/js/math/Vec4.js} +23 -79
  250. package/lib/js/math/coder.d.ts +51 -0
  251. package/{src/math/coder.ts → lib/js/math/coder.js} +14 -20
  252. package/lib/js/math/index.d.ts +11 -0
  253. package/lib/js/math/index.js +11 -0
  254. package/lib/js/math.d.ts +266 -0
  255. package/{src/math.ts → lib/js/math.js} +37 -85
  256. package/lib/js/mercator.d.ts +92 -0
  257. package/{src/mercator.ts → lib/js/mercator.js} +13 -37
  258. package/lib/js/proj/EPSG3857.d.ts +9 -0
  259. package/{src/proj/EPSG3857.ts → lib/js/proj/EPSG3857.js} +0 -2
  260. package/lib/js/proj/EPSG4326.d.ts +9 -0
  261. package/{src/proj/EPSG4326.ts → lib/js/proj/EPSG4326.js} +0 -2
  262. package/lib/js/proj/Proj.d.ts +43 -0
  263. package/{src/proj/Proj.ts → lib/js/proj/Proj.js} +4 -29
  264. package/lib/js/quadTree/EPSG4326QuadTreeStrategy.d.ts +6 -0
  265. package/lib/js/quadTree/EPSG4326QuadTreeStrategy.js +17 -0
  266. package/lib/js/quadTree/EarthQuadTreeStrategy.d.ts +6 -0
  267. package/lib/js/quadTree/EarthQuadTreeStrategy.js +19 -0
  268. package/lib/js/quadTree/EntityCollectionNode.d.ts +54 -0
  269. package/{src/quadTree/EntityCollectionNode.ts → lib/js/quadTree/EntityCollectionNode.js} +83 -150
  270. package/lib/js/quadTree/MarsQuadTreeStrategy.d.ts +6 -0
  271. package/lib/js/quadTree/MarsQuadTreeStrategy.js +17 -0
  272. package/lib/js/quadTree/Node.d.ts +61 -0
  273. package/{src/quadTree/Node.ts → lib/js/quadTree/Node.js} +140 -357
  274. package/lib/js/quadTree/QuadTreeStrategy.d.ts +25 -0
  275. package/{src/quadTree/QuadTreeStrategy.ts → lib/js/quadTree/QuadTreeStrategy.js} +13 -44
  276. package/lib/js/quadTree/Wgs84QuadTreeStrategy.d.ts +6 -0
  277. package/lib/js/quadTree/Wgs84QuadTreeStrategy.js +15 -0
  278. package/lib/js/quadTree/index.d.ts +12 -0
  279. package/lib/js/quadTree/index.js +12 -0
  280. package/lib/js/quadTree/quadTree.d.ts +40 -0
  281. package/{src/quadTree/quadTree.ts → lib/js/quadTree/quadTree.js} +0 -9
  282. package/lib/js/renderer/Renderer.d.ts +311 -0
  283. package/{src/renderer/Renderer.ts → lib/js/renderer/Renderer.js} +169 -611
  284. package/lib/js/renderer/RendererEvents.d.ts +237 -0
  285. package/{src/renderer/RendererEvents.ts → lib/js/renderer/RendererEvents.js} +134 -471
  286. package/lib/js/scene/Axes.d.ts +12 -0
  287. package/lib/js/scene/Axes.js +59 -0
  288. package/lib/js/scene/BaseNode.d.ts +61 -0
  289. package/{src/scene/BaseNode.ts → lib/js/scene/BaseNode.js} +11 -57
  290. package/lib/js/scene/Planet.d.ts +623 -0
  291. package/{src/scene/Planet.ts → lib/js/scene/Planet.js} +251 -935
  292. package/lib/js/scene/RenderNode.d.ts +150 -0
  293. package/{src/scene/RenderNode.ts → lib/js/scene/RenderNode.js} +33 -138
  294. package/lib/js/scene/SkyBox.d.ts +13 -0
  295. package/{src/scene/SkyBox.ts → lib/js/scene/SkyBox.js} +16 -37
  296. package/{src/scene/index.ts → lib/js/scene/index.d.ts} +0 -1
  297. package/lib/js/scene/index.js +5 -0
  298. package/lib/js/segment/Segment.d.ts +278 -0
  299. package/{src/segment/Segment.ts → lib/js/segment/Segment.js} +242 -913
  300. package/lib/js/segment/SegmentLonLat.d.ts +48 -0
  301. package/{src/segment/SegmentLonLat.ts → lib/js/segment/SegmentLonLat.js} +58 -132
  302. package/lib/js/segment/SegmentLonLatWgs84.d.ts +10 -0
  303. package/lib/js/segment/SegmentLonLatWgs84.js +23 -0
  304. package/lib/js/segment/Slice.d.ts +13 -0
  305. package/{src/segment/Slice.ts → lib/js/segment/Slice.js} +4 -22
  306. package/lib/js/segment/segmentHelper.d.ts +18 -0
  307. package/{src/segment/segmentHelper.ts → lib/js/segment/segmentHelper.js} +30 -88
  308. package/lib/js/shaders/atmos.d.ts +4 -0
  309. package/{src/shaders/atmos.ts → lib/js/shaders/atmos.js} +8 -26
  310. package/lib/js/shaders/billboard.d.ts +3 -0
  311. package/{src/shaders/billboard.ts → lib/js/shaders/billboard.js} +9 -18
  312. package/lib/js/shaders/bloom.d.ts +2 -0
  313. package/{src/shaders/bloom.ts → lib/js/shaders/bloom.js} +5 -8
  314. package/lib/js/shaders/blur.d.ts +3 -0
  315. package/{src/shaders/blur.ts → lib/js/shaders/blur.js} +11 -19
  316. package/lib/js/shaders/depth.d.ts +2 -0
  317. package/{src/shaders/depth.ts → lib/js/shaders/depth.js} +3 -6
  318. package/lib/js/shaders/drawnode.d.ts +8 -0
  319. package/{src/shaders/drawnode.ts → lib/js/shaders/drawnode.js} +23 -75
  320. package/lib/js/shaders/geoObject.d.ts +3 -0
  321. package/{src/shaders/geoObject.ts → lib/js/shaders/geoObject.js} +51 -63
  322. package/lib/js/shaders/label.d.ts +4 -0
  323. package/{src/shaders/label.ts → lib/js/shaders/label.js} +12 -25
  324. package/lib/js/shaders/lumFilter.d.ts +2 -0
  325. package/{src/shaders/lumFilter.ts → lib/js/shaders/lumFilter.js} +4 -7
  326. package/lib/js/shaders/pickingMask.d.ts +2 -0
  327. package/{src/shaders/pickingMask.ts → lib/js/shaders/pickingMask.js} +5 -8
  328. package/lib/js/shaders/pointCloud.d.ts +2 -0
  329. package/{src/shaders/pointCloud.ts → lib/js/shaders/pointCloud.js} +4 -7
  330. package/lib/js/shaders/polyline.d.ts +3 -0
  331. package/{src/shaders/polyline.ts → lib/js/shaders/polyline.js} +7 -22
  332. package/lib/js/shaders/ray.d.ts +2 -0
  333. package/{src/shaders/ray.ts → lib/js/shaders/ray.js} +4 -7
  334. package/lib/js/shaders/screenFrame.d.ts +2 -0
  335. package/{src/shaders/screenFrame.ts → lib/js/shaders/screenFrame.js} +5 -8
  336. package/lib/js/shaders/skybox.d.ts +2 -0
  337. package/{src/shaders/skybox.ts → lib/js/shaders/skybox.js} +10 -13
  338. package/lib/js/shaders/toneMapping.d.ts +2 -0
  339. package/{src/shaders/toneMapping.ts → lib/js/shaders/toneMapping.js} +5 -8
  340. package/lib/js/shaders/utils.d.ts +1 -0
  341. package/{src/shaders/utils.ts → lib/js/shaders/utils.js} +1 -1
  342. package/lib/js/terrain/BilTerrain.d.ts +18 -0
  343. package/{src/terrain/BilTerrain.ts → lib/js/terrain/BilTerrain.js} +21 -118
  344. package/lib/js/terrain/EmptyTerrain.d.ts +106 -0
  345. package/{src/terrain/EmptyTerrain.ts → lib/js/terrain/EmptyTerrain.js} +20 -144
  346. package/lib/js/terrain/Geoid.d.ts +33 -0
  347. package/lib/js/terrain/Geoid.js +191 -0
  348. package/lib/js/terrain/GlobusTerrain.d.ts +134 -0
  349. package/{src/terrain/GlobusTerrain.ts → lib/js/terrain/GlobusTerrain.js} +82 -239
  350. package/lib/js/terrain/MapboxTerrain.d.ts +21 -0
  351. package/{src/terrain/MapboxTerrain.ts → lib/js/terrain/MapboxTerrain.js} +46 -215
  352. package/{src/terrain/index.ts → lib/js/terrain/index.d.ts} +0 -1
  353. package/lib/js/terrain/index.js +5 -0
  354. package/lib/js/ui/Button.d.ts +32 -0
  355. package/lib/js/ui/Button.js +78 -0
  356. package/lib/js/ui/ButtonGroup.d.ts +16 -0
  357. package/lib/js/ui/ButtonGroup.js +41 -0
  358. package/lib/js/ui/Dialog.d.ts +55 -0
  359. package/lib/js/ui/Dialog.js +173 -0
  360. package/lib/js/ui/Slider.d.ts +38 -0
  361. package/lib/js/ui/Slider.js +129 -0
  362. package/lib/js/ui/ToggleButton.d.ts +20 -0
  363. package/lib/js/ui/ToggleButton.js +42 -0
  364. package/lib/js/ui/View.d.ts +37 -0
  365. package/{src/ui/View.ts → lib/js/ui/View.js} +31 -77
  366. package/lib/js/ui/icons.d.ts +1 -0
  367. package/{src/ui/icons.ts → lib/js/ui/icons.js} +1 -1
  368. package/lib/js/utils/BaseWorker.d.ts +14 -0
  369. package/{src/utils/BaseWorker.ts → lib/js/utils/BaseWorker.js} +15 -28
  370. package/lib/js/utils/FontAtlas.d.ts +82 -0
  371. package/{src/utils/FontAtlas.ts → lib/js/utils/FontAtlas.js} +45 -181
  372. package/lib/js/utils/GeoImageCreator.d.ts +34 -0
  373. package/{src/utils/GeoImageCreator.ts → lib/js/utils/GeoImageCreator.js} +34 -91
  374. package/lib/js/utils/ImagesCacheManager.d.ts +22 -0
  375. package/{src/utils/ImagesCacheManager.ts → lib/js/utils/ImagesCacheManager.js} +16 -38
  376. package/lib/js/utils/Loader.d.ts +63 -0
  377. package/lib/js/utils/Loader.js +156 -0
  378. package/lib/js/utils/NormalMapCreator.d.ts +52 -0
  379. package/{src/utils/NormalMapCreator.ts → lib/js/utils/NormalMapCreator.js} +64 -195
  380. package/lib/js/utils/PlainSegmentWorker.d.ts +24 -0
  381. package/{src/utils/PlainSegmentWorker.ts → lib/js/utils/PlainSegmentWorker.js} +24 -56
  382. package/lib/js/utils/TerrainWorker.d.ts +28 -0
  383. package/{src/utils/TerrainWorker.ts → lib/js/utils/TerrainWorker.js} +19 -56
  384. package/lib/js/utils/TextureAtlas.d.ts +113 -0
  385. package/{src/utils/TextureAtlas.ts → lib/js/utils/TextureAtlas.js} +40 -131
  386. package/lib/js/utils/VectorTileCreator.d.ts +18 -0
  387. package/{src/utils/VectorTileCreator.ts → lib/js/utils/VectorTileCreator.js} +61 -147
  388. package/lib/js/utils/colorTable.d.ts +3 -0
  389. package/{src/utils/colorTable.ts → lib/js/utils/colorTable.js} +2 -2
  390. package/lib/js/utils/earcut.d.ts +7 -0
  391. package/{src/utils/earcut.ts → lib/js/utils/earcut.js} +95 -223
  392. package/lib/js/utils/objParser.d.ts +24 -0
  393. package/{src/utils/objParser.ts → lib/js/utils/objParser.js} +38 -93
  394. package/lib/js/utils/shared.d.ts +267 -0
  395. package/{src/utils/shared.ts → lib/js/utils/shared.js} +184 -341
  396. package/lib/js/utils/units.d.ts +16 -0
  397. package/lib/js/utils/units.js +61 -0
  398. package/lib/js/webgl/BaseFramebuffer.d.ts +53 -0
  399. package/{src/webgl/BaseFramebuffer.ts → lib/js/webgl/BaseFramebuffer.js} +22 -59
  400. package/lib/js/webgl/Framebuffer.d.ts +69 -0
  401. package/{src/webgl/Framebuffer.ts → lib/js/webgl/Framebuffer.js} +30 -87
  402. package/lib/js/webgl/Handler.d.ts +473 -0
  403. package/{src/webgl/Handler.ts → lib/js/webgl/Handler.js} +175 -586
  404. package/lib/js/webgl/Multisample.d.ts +27 -0
  405. package/lib/js/webgl/Multisample.js +77 -0
  406. package/lib/js/webgl/Program.d.ts +159 -0
  407. package/{src/webgl/Program.ts → lib/js/webgl/Program.js} +73 -210
  408. package/lib/js/webgl/ProgramController.d.ts +86 -0
  409. package/{src/webgl/ProgramController.ts → lib/js/webgl/ProgramController.js} +11 -45
  410. package/{src/webgl/index.ts → lib/js/webgl/index.d.ts} +1 -8
  411. package/lib/js/webgl/index.js +6 -0
  412. package/lib/js/webgl/types.d.ts +9 -0
  413. package/{src/webgl/types.ts → lib/js/webgl/types.js} +5 -8
  414. package/lib/js/webgl/variableHandlers.d.ts +22 -0
  415. package/lib/js/webgl/variableHandlers.js +78 -0
  416. package/package.json +23 -34
  417. package/dist/@openglobus/og.esm.js +0 -2
  418. package/dist/@openglobus/og.esm.js.map +0 -1
  419. package/dist/@openglobus/og.umd.js +0 -2
  420. package/dist/@openglobus/og.umd.js.map +0 -1
  421. package/src/Deferred.ts +0 -17
  422. package/src/control/MouseWheelZoomControl.ts +0 -269
  423. package/src/control/ScaleControl.ts +0 -131
  424. package/src/control/SegmentBoundVisualization.ts +0 -50
  425. package/src/control/ShowFps.ts +0 -28
  426. package/src/control/ToggleWireframe.ts +0 -35
  427. package/src/control/ruler/Ruler.ts +0 -35
  428. package/src/control/ruler/RulerScene.ts +0 -437
  429. package/src/control/timeline/timelineUtils.ts +0 -133
  430. package/src/ellipsoid/index.ts +0 -4
  431. package/src/entity/Geometry.ts +0 -486
  432. package/src/index.ts +0 -173
  433. package/src/layer/GeoTexture2d.ts +0 -56
  434. package/src/layer/index.ts +0 -12
  435. package/src/math/Line3.ts +0 -162
  436. package/src/math/index.ts +0 -26
  437. package/src/quadTree/EPSG4326QuadTreeStrategy.ts +0 -24
  438. package/src/quadTree/EarthQuadTreeStrategy.ts +0 -28
  439. package/src/quadTree/MarsQuadTreeStrategy.ts +0 -25
  440. package/src/quadTree/Wgs84QuadTreeStrategy.ts +0 -22
  441. package/src/quadTree/index.ts +0 -14
  442. package/src/scene/Axes.ts +0 -78
  443. package/src/segment/SegmentLonLatWgs84.ts +0 -33
  444. package/src/terrain/Geoid.ts +0 -273
  445. package/src/ui/Button.ts +0 -121
  446. package/src/ui/ButtonGroup.ts +0 -63
  447. package/src/ui/Dialog.ts +0 -244
  448. package/src/ui/Slider.ts +0 -188
  449. package/src/ui/ToggleButton.ts +0 -68
  450. package/src/utils/Loader.ts +0 -247
  451. package/src/utils/units.ts +0 -78
  452. package/src/webgl/Multisample.ts +0 -153
  453. package/src/webgl/variableHandlers.ts +0 -114
  454. /package/{dist → lib}/@openglobus/og.css +0 -0
  455. /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.json +0 -0
  456. /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.ttf.cfg +0 -0
  457. /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
  458. /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.json +0 -0
  459. /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.ttf.cfg +0 -0
  460. /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
  461. /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.json +0 -0
  462. /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.ttf.cfg +0 -0
  463. /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
  464. /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.json +0 -0
  465. /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +0 -0
  466. /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
  467. /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.json +0 -0
  468. /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +0 -0
  469. /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
  470. /package/{dist → lib}/@openglobus/res/fonts/arial.js +0 -0
  471. /package/{dist → lib}/@openglobus/res/fonts/arial.json +0 -0
  472. /package/{dist → lib}/@openglobus/res/fonts/arial.ttf.cfg +0 -0
  473. /package/{dist → lib}/@openglobus/res/fonts/arial.ttf.png +0 -0
  474. /package/{dist → lib}/@openglobus/res/night-4326.png +0 -0
  475. /package/{dist → lib}/@openglobus/res/night.png +0 -0
  476. /package/{dist → lib}/@openglobus/res/spec.png +0 -0
@@ -0,0 +1,24 @@
1
+ interface IObjGeometryData {
2
+ vertices: number[];
3
+ textures: number[];
4
+ normals: number[];
5
+ }
6
+ interface IObjGeometry {
7
+ object: string;
8
+ groups: string[];
9
+ material: string;
10
+ data: IObjGeometryData;
11
+ }
12
+ interface IObjData {
13
+ geometries: IObjGeometry[];
14
+ materialLibs: string[];
15
+ }
16
+ export declare function objParser(text: string): {
17
+ geometries: IObjGeometry[];
18
+ materialLibs: string[];
19
+ };
20
+ export declare function transformLeftToRightCoordinateSystem(objData: IObjData): {
21
+ geometries: IObjGeometry[];
22
+ materialLibs: string[];
23
+ };
24
+ export {};
@@ -1,48 +1,25 @@
1
- interface IObjGeometryData {
2
- vertices: number[];
3
- textures: number[];
4
- normals: number[];
5
- }
6
-
7
- interface IObjGeometry {
8
- object: string;
9
- groups: string[];
10
- material: string;
11
- data: IObjGeometryData
12
- }
13
-
14
- interface IObjData {
15
- geometries: IObjGeometry[];
16
- materialLibs: string[];
17
- }
18
-
19
- export function objParser(text: string) {
20
- const objPositions: number[][] = [[0, 0, 0]];
21
- const objTexcoords: number[][] = [[0, 0]];
22
- const objNormals: number[][] = [[0, 0, 0]];
23
-
1
+ export function objParser(text) {
2
+ const objPositions = [[0, 0, 0]];
3
+ const objTexcoords = [[0, 0]];
4
+ const objNormals = [[0, 0, 0]];
24
5
  // same order as `f` indices
25
- const objVertexData: [number[][], number[][], number[][]] = [
6
+ const objVertexData = [
26
7
  objPositions,
27
8
  objTexcoords,
28
9
  objNormals,
29
10
  ];
30
-
31
11
  // same order as `f` indices
32
- let vertexData: [number[], number[], number[]] = [
33
- [], // positions
34
- [], // texcoords
35
- [], // normals
12
+ let vertexData = [
13
+ [],
14
+ [],
15
+ [], // normals
36
16
  ];
37
-
38
- const materialLibs: string[] = [];
39
- const geometries: IObjGeometry[] = [];
40
- let geometry: IObjGeometry | null;
41
-
42
- let groups: string[] = ['default'];
43
- let material: string = 'default';
44
- let object: string = 'default';
45
-
17
+ const materialLibs = [];
18
+ const geometries = [];
19
+ let geometry;
20
+ let groups = ['default'];
21
+ let material = 'default';
22
+ let object = 'default';
46
23
  function newGeometry() {
47
24
  // If there is an existing geometry and it's
48
25
  // not empty then start a new one.
@@ -50,20 +27,16 @@ export function objParser(text: string) {
50
27
  geometry = null;
51
28
  }
52
29
  }
53
-
54
30
  function setGeometry() {
55
31
  if (!geometry) {
56
-
57
- const vertices: number[] = [];
58
- const textures: number[] = [];
59
- const normals: number[] = [];
60
-
32
+ const vertices = [];
33
+ const textures = [];
34
+ const normals = [];
61
35
  vertexData = [
62
36
  vertices,
63
37
  textures,
64
38
  normals,
65
39
  ];
66
-
67
40
  geometry = {
68
41
  object,
69
42
  groups,
@@ -74,14 +47,12 @@ export function objParser(text: string) {
74
47
  normals,
75
48
  },
76
49
  };
77
-
78
50
  geometries.push(geometry);
79
51
  }
80
52
  }
81
-
82
- function addVertex(vert: string) {
53
+ function addVertex(vert) {
83
54
  const ptn = vert.split('/');
84
- ptn.forEach((objIndexStr: string, i: number) => {
55
+ ptn.forEach((objIndexStr, i) => {
85
56
  if (!objIndexStr) {
86
57
  return;
87
58
  }
@@ -90,19 +61,18 @@ export function objParser(text: string) {
90
61
  vertexData[i].push(...objVertexData[i][index]);
91
62
  });
92
63
  }
93
-
94
- const keywords: Record<string, (parts: string[], unparsedArgs: string) => void> = {
95
- v(parts: string[]) {
64
+ const keywords = {
65
+ v(parts) {
96
66
  objPositions.push(parts.map(parseFloat));
97
67
  },
98
- vn(parts: string[]) {
68
+ vn(parts) {
99
69
  objNormals.push(parts.map(parseFloat));
100
70
  },
101
- vt(parts: string[]) {
71
+ vt(parts) {
102
72
  // should check for missing v and extra w?
103
73
  objTexcoords.push(parts.map(parseFloat));
104
74
  },
105
- f(parts: string[]) {
75
+ f(parts) {
106
76
  setGeometry();
107
77
  const numTriangles = parts.length - 2;
108
78
  for (let tri = 0; tri < numTriangles; ++tri) {
@@ -112,26 +82,25 @@ export function objParser(text: string) {
112
82
  }
113
83
  },
114
84
  s: () => {
115
- }, // smoothing group
116
- mtllib(parts: string[], unparsedArgs: string) {
85
+ },
86
+ mtllib(parts, unparsedArgs) {
117
87
  // the spec says there can be multiple filenames here
118
88
  // but many exist with spaces in a single filename
119
89
  materialLibs.push(unparsedArgs);
120
90
  },
121
- usemtl(parts: string[], unparsedArgs: string) {
91
+ usemtl(parts, unparsedArgs) {
122
92
  material = unparsedArgs;
123
93
  newGeometry();
124
94
  },
125
- g(parts: string[]) {
95
+ g(parts) {
126
96
  groups = parts;
127
97
  newGeometry();
128
98
  },
129
- o(parts: string[], unparsedArgs: string) {
99
+ o(parts, unparsedArgs) {
130
100
  object = unparsedArgs;
131
101
  newGeometry();
132
102
  },
133
103
  };
134
-
135
104
  const keywordRE = /(\w*)(?: )*(.*)/;
136
105
  const lines = text.split('\n');
137
106
  for (let lineNo = 0; lineNo < lines.length; ++lineNo) {
@@ -147,41 +116,29 @@ export function objParser(text: string) {
147
116
  const parts = line.split(/\s+/).slice(1);
148
117
  const handler = keywords[keyword];
149
118
  if (!handler) {
150
- console.warn('unhandled keyword:', keyword); // eslint-disable-line no-console
119
+ console.warn('unhandled keyword:', keyword); // eslint-disable-line no-console
151
120
  continue;
152
121
  }
153
122
  handler(parts, unparsedArgs);
154
123
  }
155
-
156
124
  // remove any arrays that have no entries.
157
125
  for (const geometry of geometries) {
158
- geometry.data = Object.fromEntries(
159
- Object.entries(geometry.data).filter(([key, array]) => array.length > 0)
160
- ) as IObjGeometryData;
126
+ geometry.data = Object.fromEntries(Object.entries(geometry.data).filter(([key, array]) => array.length > 0));
161
127
  }
162
-
163
128
  return {
164
129
  geometries,
165
130
  materialLibs,
166
131
  };
167
132
  }
168
-
169
- export function transformLeftToRightCoordinateSystem(objData: IObjData): {
170
- geometries: IObjGeometry[],
171
- materialLibs: string[]
172
- } {
173
-
174
- const convertedGeometries: IObjGeometry[] = objData.geometries.map(geometry => {
133
+ export function transformLeftToRightCoordinateSystem(objData) {
134
+ const convertedGeometries = objData.geometries.map(geometry => {
175
135
  const vertices = geometry.data.vertices;
176
136
  const normals = geometry.data.normals;
177
137
  const textures = geometry.data.textures;
178
-
179
138
  rotateObject(geometry.data, 0);
180
-
181
- let convertedVertices: number[] = [];
182
- let convertedNormals: number[] = [];
183
- let convertedTextures: number[] = [];
184
-
139
+ let convertedVertices = [];
140
+ let convertedNormals = [];
141
+ let convertedTextures = [];
185
142
  // Convert positions
186
143
  for (let i = 0; i < vertices.length; i += 3) {
187
144
  const x = vertices[i];
@@ -189,7 +146,6 @@ export function transformLeftToRightCoordinateSystem(objData: IObjData): {
189
146
  const z = vertices[i + 2];
190
147
  convertedVertices.push(x, y, z);
191
148
  }
192
-
193
149
  // Convert normals
194
150
  for (let i = 0; i < normals.length; i += 3) {
195
151
  const x = normals[i];
@@ -197,14 +153,12 @@ export function transformLeftToRightCoordinateSystem(objData: IObjData): {
197
153
  const z = normals[i + 2];
198
154
  convertedNormals.push(x, y, -z);
199
155
  }
200
-
201
156
  // Convert textures
202
157
  for (let i = 0; i < textures.length; i += 2) {
203
158
  const s = textures[i];
204
159
  const t = 1 - textures[i + 1];
205
160
  convertedTextures.push(s, t);
206
161
  }
207
-
208
162
  return {
209
163
  object: geometry.object,
210
164
  groups: geometry.groups,
@@ -216,41 +170,32 @@ export function transformLeftToRightCoordinateSystem(objData: IObjData): {
216
170
  }
217
171
  };
218
172
  });
219
-
220
173
  return {
221
174
  geometries: convertedGeometries,
222
175
  materialLibs: objData.materialLibs
223
176
  };
224
177
  }
225
-
226
- function rotateObject(obj: IObjGeometryData, angle: number): { vertices: number[], normals: number[] } {
178
+ function rotateObject(obj, angle) {
227
179
  const cosA = Math.cos(angle);
228
180
  const sinA = Math.sin(angle);
229
-
230
181
  const vertices = obj.vertices;
231
182
  const normals = obj.normals;
232
-
233
183
  for (let i = 0; i < vertices.length; i += 3) {
234
184
  const x = vertices[i];
235
185
  const y = vertices[i + 1];
236
186
  const z = vertices[i + 2];
237
-
238
187
  vertices[i] = x * cosA + z * sinA;
239
188
  vertices[i + 1] = y;
240
189
  vertices[i + 2] = -x * sinA + z * cosA;
241
-
242
190
  const nx = normals[i];
243
191
  const ny = normals[i + 1];
244
192
  const nz = normals[i + 2];
245
-
246
193
  normals[i] = nx * cosA + nz * sinA;
247
194
  normals[i + 1] = ny;
248
195
  normals[i + 2] = -nx * sinA + nz * cosA;
249
196
  }
250
-
251
197
  return {
252
198
  vertices: vertices,
253
199
  normals: normals
254
200
  };
255
201
  }
256
-
@@ -0,0 +1,267 @@
1
+ /**
2
+ * @module og/utils/shared
3
+ */
4
+ import { Extent } from "../Extent";
5
+ import { LonLat } from "../LonLat";
6
+ import { Vec2 } from "../math/Vec2";
7
+ import { NumberArray2 } from "../math/Vec2";
8
+ import { NumberArray3, Vec3 } from "../math/Vec3";
9
+ import { NumberArray4, Vec4 } from "../math/Vec4";
10
+ export declare function getDefault(param?: any, def?: any): boolean;
11
+ export declare function isEmpty(v: any): boolean;
12
+ /**
13
+ * Returns true if the object pointer is undefined.
14
+ * @function
15
+ * @param {Object} obj - Object pointer.
16
+ * @returns {boolean} Returns true if object is undefined.
17
+ */
18
+ export declare function isUndef(obj?: any): boolean;
19
+ export declare function isUndefExt(obj: any, defVal: any): any;
20
+ export declare function stamp(obj: any): number;
21
+ export declare function isString(s: any): boolean;
22
+ /**
23
+ * Convert html color string to the RGBA number vector.
24
+ * @param {string} htmlColor - HTML string("#C6C6C6" or "#EF5" or "rgb(8,8,8)" or "rgba(8,8,8)") color.
25
+ * @param {number} [opacity] - Opacity for the output vector.
26
+ * @returns {Vec4} -
27
+ */
28
+ export declare function htmlColorToRgba(htmlColor: string, opacity?: number): Vec4;
29
+ export declare function htmlColorToFloat32Array(htmlColor: string, opacity?: number): Float32Array;
30
+ /**
31
+ * Convert html color string to the RGB number vector.
32
+ * @param {string} htmlColor - HTML string("#C6C6C6" or "#EF5" or "rgb(8,8,8)" or "rgba(8,8,8)") color.
33
+ * @returns {Vec3} -
34
+ */
35
+ export declare function htmlColorToRgb(htmlColor: string): Vec3;
36
+ /**
37
+ * Replace template substrings between '{' and '}' tokens.
38
+ * @param {string} template - String with templates in "{" and "}"
39
+ * @param {Object} params - Template named object with subsrtings.
40
+ * @returns {string} -
41
+ *
42
+ * @example <caption>Example from og.terrain that replaces tile indexes in url:</caption>
43
+ * var substrings = {
44
+ * "x": 12,
45
+ * "y": 15,
46
+ * "z": 8
47
+ * }
48
+ * og.utils.stringTemplate("http://earth3.openglobus.org/{z}/{y}/{x}.ddm", substrings);
49
+ * //returns http://earth3.openglobus.org/8/15/12.ddm
50
+ */
51
+ export declare function stringTemplate(template: string, params?: any): string;
52
+ export declare function getHTML(template: string, params?: any): string;
53
+ export declare function parseHTML(htmlStr: string): HTMLElement[];
54
+ export declare function print2d(id: string, text: string, x: number, y: number): void;
55
+ export declare function defaultString(str?: string, def?: string): string;
56
+ export declare function createVector3(v?: Vec3 | Vec2 | NumberArray3 | NumberArray2 | null, def?: Vec3): Vec3;
57
+ export declare function createVector4(v?: Vec4 | NumberArray4 | null, def?: Vec4): Vec4;
58
+ export declare function createColorRGBA(c?: string | NumberArray4 | Vec4 | null, def?: Vec4): Vec4;
59
+ export declare function createColorRGB(c?: string | NumberArray3 | Vec3 | null, def?: Vec3): Vec3;
60
+ export declare function createExtent(e?: Extent | [[number, number], [number, number]] | null, def?: Extent): Extent;
61
+ export declare function createLonLat(l?: LonLat | NumberArray2 | NumberArray3, def?: LonLat): LonLat;
62
+ export declare function binarySearchFast(arr: number[] | TypedArray, x: number): number;
63
+ /**
64
+ * Finds an item in a sorted array.
65
+ * @param {any[]} ar The sorted array to search.
66
+ * @param {any} el The item to find in the array.
67
+ * @param {Function} compare_fn comparator The function to use to compare the item to
68
+ * elements in the array.
69
+ * @returns {number} a negative number if 'a' is less than 'b'; 0 if 'a' is equal to 'b'; 'a' positive number of 'a' is greater than 'b'.
70
+ *
71
+ * @example
72
+ * // Create a comparator function to search through an array of numbers.
73
+ * function comparator(a, b) {
74
+ * return a - b;
75
+ * };
76
+ * var numbers = [0, 2, 4, 6, 8];
77
+ * var index = og.utils.binarySearch(numbers, 6, comparator); // 3
78
+ */
79
+ export declare function binarySearch(ar: any[], el: any, compare_fn: Function): number;
80
+ /**
81
+ * Binary insertion that uses binarySearch algorithm.
82
+ * @param {any[]} ar - The sorted array to insert.
83
+ * @param {any} el - The item to insert.
84
+ * @param {Function} compare_fn - comparator The function to use to compare the item to
85
+ * elements in the array.
86
+ * @returns {number} Array index position in which item inserted in.
87
+ */
88
+ export declare function binaryInsert(ar: any[], el: any, compare_fn: Function): number;
89
+ /**
90
+ * Returns two segment lines intersection coordinate.
91
+ * @static
92
+ * @param {Vec2} start1 - First line first coordinate.
93
+ * @param {Vec2} end1 - First line second coordinate.
94
+ * @param {Vec2} start2 - Second line first coordinate.
95
+ * @param {Vec2} end2 - Second line second coordinate.
96
+ * @param {boolean} [isSegment] - Lines are segments.
97
+ * @return {Vec2} - Intersection coordinate.
98
+ */
99
+ export declare function getLinesIntersection2v(start1: Vec2, end1: Vec2, start2: Vec2, end2: Vec2, isSegment: boolean): Vec2 | undefined;
100
+ /**
101
+ * Returns two segment lines intersection coordinate.
102
+ * @static
103
+ * @param {Vec2} start1 - First line first coordinate.
104
+ * @param {Vec2} end1 - First line second coordinate.
105
+ * @param {Vec2} start2 - Second line first coordinate.
106
+ * @param {Vec2} end2 - Second line second coordinate.
107
+ * @param {boolean} [isSegment=false] - Lines are segments.
108
+ * @return {Vec2} - Intersection coordinate.
109
+ */
110
+ export declare function getLinesIntersectionLonLat(start1: LonLat, end1: LonLat, start2: LonLat, end2: LonLat, isSegment?: boolean): LonLat | undefined;
111
+ /**
112
+ * Converts XML to JSON
113
+ * @static
114
+ * @param {Object} xml - Xml object
115
+ * @return {Object} - Json converted object.
116
+ */
117
+ export declare function xmlToJson(xml: any): any;
118
+ export declare const castType: {
119
+ string: (v: any) => any;
120
+ date: (v: any) => any;
121
+ datetime: (v: any) => any;
122
+ time: (v: any) => any;
123
+ integer: (v: any) => any;
124
+ float: (v: any) => any;
125
+ boolean: (str: any) => any;
126
+ };
127
+ export declare function base64toBlob(base64Data: string, contentType?: string): Blob;
128
+ export declare function base64StringToBlog(string: string): Blob;
129
+ /**
130
+ * Callback throttling
131
+ * @param {any} func
132
+ * @param {Number} limit
133
+ * @param {boolean} [skip]
134
+ */
135
+ export declare function throttle(func: Function, limit: number, skip: boolean): () => void;
136
+ /**
137
+ *
138
+ * y2-----Q12--------------Q22---
139
+ * | | | |
140
+ * | | | |
141
+ * y-------|-----P----------|----
142
+ * | | | |
143
+ * | | | |
144
+ * | | | |
145
+ * | | | |
146
+ * | | | |
147
+ * y1-----Q11----|---------Q21---
148
+ * | | |
149
+ * | | |
150
+ * x1 x x2
151
+ *
152
+ *
153
+ * @param {Number} x -
154
+ * @param {Number} y -
155
+ * @param {Number} fQ11 -
156
+ * @param {Number} fQ21 -
157
+ * @param {Number} fQ12 -
158
+ * @param {Number} fQ22 -
159
+ * @param {Number} [x1=0.0] -
160
+ * @param {Number} [x2=1.0] -
161
+ * @param {Number} [y1=0.0] -
162
+ * @param {Number} [y2=1.0] -
163
+ */
164
+ export declare function blerp(x: number, y: number, fQ11: number, fQ21: number, fQ12: number, fQ22: number, x1?: number, x2?: number, y1?: number, y2?: number): number;
165
+ export declare function blerp2(x: number, y: number, fQ11: number, fQ21: number, fQ12: number, fQ22: number): number;
166
+ export declare function extractElevationTiles(rgbaData: number[] | TypedArray, outCurrenElevations: number[] | TypedArray, outChildrenElevations: number[][][] | TypedArray[][]): void;
167
+ export type TypedArray = Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array;
168
+ /**
169
+ * Concatenates two the same type arrays
170
+ * @param {TypedArray} a
171
+ * @param {TypedArray | number[]} b
172
+ */
173
+ export declare function concatTypedArrays(a: TypedArray, b: TypedArray | number[]): TypedArray;
174
+ /**
175
+ * Concatenates two the same arrays
176
+ * @param {TypedArray | number[]} [a=[]] - First array
177
+ * @param {TypedArray | number[]} [b=[]] - Second array
178
+ * @return {TypedArray | number[]} -
179
+ */
180
+ export declare function concatArrays(a?: TypedArray | number[], b?: TypedArray | number[]): TypedArray | number[];
181
+ /**
182
+ * Convert simple array to typed
183
+ * @param arr {number[]}
184
+ * @param ctor {Float32Array}
185
+ * @returns {TypedArray}
186
+ */
187
+ export declare function makeArrayTyped(arr: TypedArray | number[], ctor?: Function): any;
188
+ /**
189
+ * Convert typed array to array
190
+ * @param arr {TypedArray | number[]}
191
+ * @returns {number[]}
192
+ */
193
+ export declare function makeArray(arr: TypedArray | number[]): number[];
194
+ /**
195
+ *
196
+ * @param {TypedArray | Array} arr
197
+ * @param {Number} starting
198
+ * @param {Number} deleteCount
199
+ * @param {{ result: number[] }} [out]
200
+ */
201
+ export declare function spliceArray(arr: TypedArray | number[], starting: number, deleteCount: number, out?: {
202
+ result: number[];
203
+ } | {
204
+ result: TypedArray;
205
+ }): TypedArray | number[];
206
+ /**
207
+ *
208
+ * @param {TypedArray} arr
209
+ * @param {Number} starting
210
+ * @param {Number} deleteCount
211
+ * @param {{ result: TypedArray }} [out]
212
+ */
213
+ export declare function spliceTypedArray<T extends TypedArray>(arr: T, starting: number, deleteCount: number, out?: {
214
+ result: T;
215
+ }): T;
216
+ /**
217
+ * Returns 64-bit triangle coordinate array from inside of the source triangle array.
218
+ * @static
219
+ * @param {TypedArray | number[]} sourceArr - Source array
220
+ * @param {number} gridSize - Source array square matrix size
221
+ * @param {number} i0 - First row index source array matrix
222
+ * @param {number} j0 - First column index
223
+ * @param {number} size - Square matrix result size.
224
+ * @return {Float64Array} Triangle coordinates array from the source array.
225
+ * @TODO: optimization
226
+ */
227
+ export declare function getMatrixSubArray64(sourceArr: TypedArray | number[], gridSize: number, i0: number, j0: number, size: number): Float64Array;
228
+ /**
229
+ * Returns 32-bit triangle coordinate array from inside of the source triangle array.
230
+ * @static
231
+ * @param {TypedArray | number[]} sourceArr - Source array
232
+ * @param {number} gridSize - Source array square matrix size
233
+ * @param {number} i0 - First row index source array matrix
234
+ * @param {number} j0 - First column index
235
+ * @param {number} size - Square matrix result size.
236
+ * @return {Float32Array} Triangle coordinates array from the source array.
237
+ */
238
+ export declare function getMatrixSubArray32(sourceArr: TypedArray | number[], gridSize: number, i0: number, j0: number, size: number): Float32Array;
239
+ /**
240
+ * Returns two float32 triangle coordinate arrays from inside of the source triangle array.
241
+ * @static
242
+ * @param {Array.<number>} sourceArr - Source array
243
+ * @param {number} gridSize - Source array square matrix size
244
+ * @param {number} i0 - First row index source array matrix
245
+ * @param {number} j0 - First column index
246
+ * @param {number} size - Square matrix result size.
247
+ * @param {object} outBounds - Output bounds.
248
+ * @return{Array.<number>} Triangle coordinates array from the source array.
249
+ * @TODO: optimization
250
+ */
251
+ export declare function getMatrixSubArrayBoundsExt(sourceArr: TypedArray | number[], sourceArrHigh: TypedArray | number[], sourceArrLow: TypedArray | number[], noDataVertices: TypedArray | number[] | undefined, gridSize: number, i0: number, j0: number, size: number, outArr: TypedArray | number[], outArrHigh: TypedArray | number[], outArrLow: TypedArray | number[], outBounds: any, outNoDataVertices: TypedArray | number[]): void;
252
+ export declare function cloneArray(items: any[]): any[];
253
+ /**
254
+ * Promise for load images
255
+ * @function
256
+ * @param {string} url - link to image.
257
+ * @returns {Promise<Image>} Returns promise.
258
+ */
259
+ export declare function loadImage(url: string): Promise<HTMLImageElement>;
260
+ /**
261
+ * Gets image is loaded
262
+ * @param {HTMLImageElement} image
263
+ * @returns {boolean} Returns true is the image is loaded
264
+ */
265
+ export declare function isImageLoaded(image: HTMLImageElement): boolean;
266
+ export declare function distanceFormat(v: number): string;
267
+ export declare function getUrlParam(paramName: string): number | undefined;