@openglobus/og 0.17.2 → 0.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (845) hide show
  1. package/README.md +76 -47
  2. package/lib/@openglobus/og.esm.js +2 -0
  3. package/lib/@openglobus/og.esm.js.map +1 -0
  4. package/lib/@openglobus/og.umd.js +2 -0
  5. package/lib/@openglobus/og.umd.js.map +1 -0
  6. package/lib/@openglobus/res/fonts/Karla-Bold.json +5252 -0
  7. package/lib/@openglobus/res/fonts/Karla-Bold.ttf.cfg +920 -0
  8. package/lib/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
  9. package/lib/@openglobus/res/fonts/Karla-Light.json +5252 -0
  10. package/lib/@openglobus/res/fonts/Karla-Light.ttf.cfg +830 -0
  11. package/lib/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
  12. package/lib/@openglobus/res/fonts/Karla-Medium.json +5252 -0
  13. package/lib/@openglobus/res/fonts/Karla-Medium.ttf.cfg +1196 -0
  14. package/lib/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
  15. package/lib/@openglobus/res/fonts/NotoSansArabic-Regular.json +3332 -0
  16. package/lib/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +1370 -0
  17. package/lib/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
  18. package/lib/@openglobus/res/fonts/Roboto-Regular.json +37147 -0
  19. package/lib/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +1340 -0
  20. package/lib/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
  21. package/lib/@openglobus/res/fonts/arial.json +4321 -0
  22. package/lib/@openglobus/res/fonts/arial.ttf.cfg +1570 -0
  23. package/lib/@openglobus/res/fonts/arial.ttf.png +0 -0
  24. package/lib/@openglobus/res/night-4326.png +0 -0
  25. package/lib/@openglobus/res/night.png +0 -0
  26. package/lib/@openglobus/res/spec.png +0 -0
  27. package/lib/js/Clock.d.ts +106 -0
  28. package/lib/js/Clock.js +141 -0
  29. package/lib/js/Deferred.d.ts +6 -0
  30. package/lib/js/Deferred.js +13 -0
  31. package/lib/js/Events.d.ts +90 -0
  32. package/lib/js/Events.js +145 -0
  33. package/lib/js/Extent.d.ts +145 -0
  34. package/lib/js/Extent.js +278 -0
  35. package/lib/js/Globe.d.ts +132 -0
  36. package/lib/js/Globe.js +265 -0
  37. package/lib/js/ImageCanvas.d.ts +128 -0
  38. package/lib/js/ImageCanvas.js +203 -0
  39. package/lib/js/Lock.d.ts +15 -0
  40. package/lib/js/Lock.js +27 -0
  41. package/lib/js/LonLat.d.ts +128 -0
  42. package/lib/js/LonLat.js +192 -0
  43. package/lib/js/Object3d.d.ts +49 -0
  44. package/lib/js/Object3d.js +309 -0
  45. package/lib/js/Popup.d.ts +46 -0
  46. package/lib/js/Popup.js +160 -0
  47. package/lib/js/QueueArray.d.ts +16 -0
  48. package/lib/js/QueueArray.js +63 -0
  49. package/lib/js/Rectangle.d.ts +76 -0
  50. package/lib/js/Rectangle.js +77 -0
  51. package/lib/js/Stack.d.ts +20 -0
  52. package/lib/js/Stack.js +42 -0
  53. package/lib/js/astro/astro.d.ts +39 -0
  54. package/lib/js/astro/astro.js +43 -0
  55. package/lib/js/astro/earth.d.ts +8 -0
  56. package/lib/js/astro/earth.js +75 -0
  57. package/lib/js/astro/jd.d.ts +234 -0
  58. package/lib/js/astro/jd.js +416 -0
  59. package/lib/js/astro/orbit.d.ts +5 -0
  60. package/lib/js/astro/orbit.js +104 -0
  61. package/lib/js/astro/rotation.d.ts +2 -0
  62. package/lib/js/astro/rotation.js +25 -0
  63. package/lib/js/bv/Box.d.ts +32 -0
  64. package/lib/js/bv/Box.js +53 -0
  65. package/lib/js/bv/Sphere.d.ts +37 -0
  66. package/lib/js/bv/Sphere.js +31 -0
  67. package/lib/js/bv/index.d.ts +3 -0
  68. package/lib/js/bv/index.js +3 -0
  69. package/lib/js/camera/Camera.d.ts +314 -0
  70. package/lib/js/camera/Camera.js +453 -0
  71. package/lib/js/camera/Frustum.d.ts +139 -0
  72. package/lib/js/camera/Frustum.js +238 -0
  73. package/lib/js/camera/PlanetCamera.d.ts +234 -0
  74. package/lib/js/camera/PlanetCamera.js +465 -0
  75. package/lib/js/camera/index.d.ts +3 -0
  76. package/lib/js/camera/index.js +3 -0
  77. package/lib/js/cons.d.ts +40 -0
  78. package/lib/js/cons.js +92 -0
  79. package/lib/js/control/Atmosphere.d.ts +16 -0
  80. package/lib/js/control/Atmosphere.js +334 -0
  81. package/lib/js/control/CompassButton.d.ts +16 -0
  82. package/lib/js/control/CompassButton.js +118 -0
  83. package/lib/js/control/Control.d.ts +100 -0
  84. package/lib/js/control/Control.js +137 -0
  85. package/lib/js/control/DebugInfo.d.ts +25 -0
  86. package/lib/js/control/DebugInfo.js +281 -0
  87. package/lib/js/control/DrawingSwitcher.d.ts +13 -0
  88. package/lib/js/control/DrawingSwitcher.js +94 -0
  89. package/lib/js/control/EarthCoordinates.d.ts +41 -0
  90. package/lib/js/control/EarthCoordinates.js +161 -0
  91. package/lib/js/control/EarthNavigation.d.ts +50 -0
  92. package/lib/js/control/EarthNavigation.js +202 -0
  93. package/lib/js/control/GeoImageDragControl.d.ts +22 -0
  94. package/lib/js/control/GeoImageDragControl.js +102 -0
  95. package/lib/js/control/KeyboardNavigation.d.ts +28 -0
  96. package/lib/js/control/KeyboardNavigation.js +143 -0
  97. package/lib/js/control/LayerAnimation.d.ts +71 -0
  98. package/lib/js/control/LayerAnimation.js +283 -0
  99. package/lib/js/control/LayerSwitcher.d.ts +21 -0
  100. package/lib/js/control/LayerSwitcher.js +51 -0
  101. package/lib/js/control/Lighting.d.ts +49 -0
  102. package/lib/js/control/Lighting.js +412 -0
  103. package/lib/js/control/MouseNavigation.d.ts +62 -0
  104. package/lib/js/control/MouseNavigation.js +362 -0
  105. package/lib/js/control/MouseWheelZoomControl.d.ts +44 -0
  106. package/lib/js/control/MouseWheelZoomControl.js +181 -0
  107. package/lib/js/control/RulerSwitcher.d.ts +17 -0
  108. package/lib/js/control/RulerSwitcher.js +57 -0
  109. package/lib/js/control/ScaleControl.d.ts +24 -0
  110. package/lib/js/control/ScaleControl.js +91 -0
  111. package/lib/js/control/SegmentBoundVisualization.d.ts +12 -0
  112. package/lib/js/control/SegmentBoundVisualization.js +37 -0
  113. package/lib/js/control/ShowFps.d.ts +9 -0
  114. package/lib/js/control/ShowFps.js +20 -0
  115. package/lib/js/control/SimpleNavigation.d.ts +25 -0
  116. package/lib/js/control/SimpleNavigation.js +96 -0
  117. package/lib/js/control/SimpleSkyBackground.d.ts +15 -0
  118. package/lib/js/control/SimpleSkyBackground.js +177 -0
  119. package/lib/js/control/Sun.d.ts +33 -0
  120. package/lib/js/control/Sun.js +117 -0
  121. package/lib/js/control/ToggleWireframe.d.ts +14 -0
  122. package/lib/js/control/ToggleWireframe.js +28 -0
  123. package/lib/js/control/TouchNavigation.d.ts +52 -0
  124. package/lib/js/control/TouchNavigation.js +263 -0
  125. package/lib/js/control/ZoomControl.d.ts +27 -0
  126. package/lib/js/control/ZoomControl.js +86 -0
  127. package/lib/js/control/drawing/DrawingControl.d.ts +12 -0
  128. package/lib/js/control/drawing/DrawingControl.js +35 -0
  129. package/lib/js/control/drawing/LineStringDrawingScene.d.ts +15 -0
  130. package/lib/js/control/drawing/LineStringDrawingScene.js +139 -0
  131. package/lib/js/control/drawing/PolygonDrawingScene.d.ts +98 -0
  132. package/lib/js/control/drawing/PolygonDrawingScene.js +534 -0
  133. package/lib/js/control/elevationProfile/ElevationProfile.d.ts +61 -0
  134. package/lib/js/control/elevationProfile/ElevationProfile.js +217 -0
  135. package/lib/js/control/heightRuler/HeightRuler.d.ts +7 -0
  136. package/lib/js/control/heightRuler/HeightRuler.js +11 -0
  137. package/lib/js/control/heightRuler/HeightRulerScene.d.ts +35 -0
  138. package/lib/js/control/heightRuler/HeightRulerScene.js +181 -0
  139. package/lib/js/control/heightRuler/HeightRulerSwitcher.d.ts +6 -0
  140. package/lib/js/control/heightRuler/HeightRulerSwitcher.js +13 -0
  141. package/lib/js/control/index.d.ts +28 -0
  142. package/lib/js/control/index.js +28 -0
  143. package/lib/js/control/ruler/Ruler.d.ts +13 -0
  144. package/lib/js/control/ruler/Ruler.js +23 -0
  145. package/lib/js/control/ruler/RulerScene.d.ts +88 -0
  146. package/lib/js/control/ruler/RulerScene.js +324 -0
  147. package/lib/js/control/selection/Selection.d.ts +55 -0
  148. package/lib/js/control/selection/Selection.js +78 -0
  149. package/lib/js/control/selection/SelectionScene.d.ts +44 -0
  150. package/lib/js/control/selection/SelectionScene.js +272 -0
  151. package/lib/js/control/timeline/TimelineControl.d.ts +18 -0
  152. package/lib/js/control/timeline/TimelineControl.js +79 -0
  153. package/lib/js/control/timeline/TimelineModel.d.ts +41 -0
  154. package/lib/js/control/timeline/TimelineModel.js +104 -0
  155. package/lib/js/control/timeline/TimelineView.d.ts +85 -0
  156. package/lib/js/control/timeline/TimelineView.js +363 -0
  157. package/lib/js/control/timeline/timelineUtils.d.ts +12 -0
  158. package/lib/js/control/timeline/timelineUtils.js +112 -0
  159. package/lib/js/control/visibleExtent/Segment.d.ts +277 -0
  160. package/lib/js/control/visibleExtent/Segment.js +1301 -0
  161. package/lib/js/control/visibleExtent/VisibleExtent.d.ts +5 -0
  162. package/lib/js/control/visibleExtent/VisibleExtent.js +56 -0
  163. package/lib/js/control/visibleExtent/drawnode.d.ts +7 -0
  164. package/lib/js/control/visibleExtent/drawnode.js +718 -0
  165. package/lib/js/ellipsoid/Ellipsoid.d.ts +187 -0
  166. package/lib/js/ellipsoid/Ellipsoid.js +434 -0
  167. package/lib/js/ellipsoid/index.d.ts +3 -0
  168. package/lib/js/ellipsoid/index.js +3 -0
  169. package/lib/js/ellipsoid/wgs84.d.ts +6 -0
  170. package/lib/js/ellipsoid/wgs84.js +6 -0
  171. package/lib/js/entity/BaseBillboard.d.ts +222 -0
  172. package/lib/js/entity/BaseBillboard.js +284 -0
  173. package/lib/js/entity/BaseBillboardHandler.d.ts +81 -0
  174. package/lib/js/entity/BaseBillboardHandler.js +546 -0
  175. package/lib/js/entity/Billboard.d.ts +113 -0
  176. package/lib/js/entity/Billboard.js +127 -0
  177. package/lib/js/entity/BillboardHandler.d.ts +15 -0
  178. package/lib/js/entity/BillboardHandler.js +103 -0
  179. package/lib/js/entity/Entity.d.ts +354 -0
  180. package/lib/js/entity/Entity.js +515 -0
  181. package/lib/js/entity/EntityCollection.d.ts +364 -0
  182. package/lib/js/entity/EntityCollection.js +621 -0
  183. package/lib/js/entity/GeoObject.d.ts +138 -0
  184. package/lib/js/entity/GeoObject.js +194 -0
  185. package/lib/js/entity/GeoObjectHandler.d.ts +99 -0
  186. package/lib/js/entity/GeoObjectHandler.js +558 -0
  187. package/lib/js/entity/Geometry.d.ts +111 -0
  188. package/lib/js/entity/Geometry.js +283 -0
  189. package/lib/js/entity/GeometryHandler.d.ts +84 -0
  190. package/lib/js/entity/GeometryHandler.js +687 -0
  191. package/lib/js/entity/Label.d.ts +207 -0
  192. package/lib/js/entity/Label.js +291 -0
  193. package/lib/js/entity/LabelHandler.d.ts +65 -0
  194. package/lib/js/entity/LabelHandler.js +696 -0
  195. package/lib/js/entity/LabelWorker.d.ts +15 -0
  196. package/lib/js/entity/LabelWorker.js +163 -0
  197. package/lib/js/entity/PointCloud.d.ts +179 -0
  198. package/lib/js/entity/PointCloud.js +327 -0
  199. package/lib/js/entity/PointCloudHandler.d.ts +42 -0
  200. package/lib/js/entity/PointCloudHandler.js +82 -0
  201. package/lib/js/entity/Polyline.d.ts +337 -0
  202. package/lib/js/entity/Polyline.js +1546 -0
  203. package/lib/js/entity/PolylineHandler.d.ts +22 -0
  204. package/lib/js/entity/PolylineHandler.js +78 -0
  205. package/lib/js/entity/Ray.d.ts +133 -0
  206. package/lib/js/entity/Ray.js +171 -0
  207. package/lib/js/entity/RayHandler.d.ts +70 -0
  208. package/lib/js/entity/RayHandler.js +496 -0
  209. package/lib/js/entity/Strip.d.ts +127 -0
  210. package/lib/js/entity/Strip.js +401 -0
  211. package/lib/js/entity/StripHandler.d.ts +42 -0
  212. package/lib/js/entity/StripHandler.js +110 -0
  213. package/lib/js/entity/index.d.ts +11 -0
  214. package/lib/js/entity/index.js +11 -0
  215. package/lib/js/index.d.ts +33 -0
  216. package/lib/js/index.js +33 -0
  217. package/lib/js/input/KeyboardHandler.d.ts +33 -0
  218. package/lib/js/input/KeyboardHandler.js +157 -0
  219. package/lib/js/input/MouseHandler.d.ts +16 -0
  220. package/lib/js/input/MouseHandler.js +81 -0
  221. package/lib/js/input/TouchHandler.d.ts +11 -0
  222. package/lib/js/input/TouchHandler.js +42 -0
  223. package/lib/js/input/input.d.ts +3 -0
  224. package/lib/js/input/input.js +42 -0
  225. package/lib/js/layer/BaseGeoImage.d.ts +145 -0
  226. package/lib/js/layer/BaseGeoImage.js +382 -0
  227. package/lib/js/layer/CanvasTiles.d.ts +103 -0
  228. package/lib/js/layer/CanvasTiles.js +302 -0
  229. package/lib/js/layer/GeoImage.d.ts +61 -0
  230. package/lib/js/layer/GeoImage.js +130 -0
  231. package/lib/js/layer/GeoTexture2d.d.ts +17 -0
  232. package/lib/js/layer/GeoTexture2d.js +37 -0
  233. package/lib/js/layer/GeoVideo.d.ts +68 -0
  234. package/lib/js/layer/GeoVideo.js +157 -0
  235. package/lib/js/layer/KML.d.ts +72 -0
  236. package/lib/js/layer/KML.js +303 -0
  237. package/lib/js/layer/Layer.d.ts +401 -0
  238. package/lib/js/layer/Layer.js +732 -0
  239. package/lib/js/layer/Material.d.ts +34 -0
  240. package/lib/js/layer/Material.js +69 -0
  241. package/lib/js/layer/Vector.d.ts +244 -0
  242. package/lib/js/layer/Vector.js +849 -0
  243. package/lib/js/layer/WMS.d.ts +75 -0
  244. package/lib/js/layer/WMS.js +112 -0
  245. package/lib/js/layer/XYZ.d.ts +149 -0
  246. package/lib/js/layer/XYZ.js +299 -0
  247. package/lib/js/layer/index.d.ts +11 -0
  248. package/lib/js/layer/index.js +11 -0
  249. package/lib/js/light/LightSource.d.ts +174 -0
  250. package/lib/js/light/LightSource.js +292 -0
  251. package/lib/js/math/Line2.d.ts +11 -0
  252. package/lib/js/math/Line2.js +21 -0
  253. package/lib/js/math/Line3.d.ts +28 -0
  254. package/lib/js/math/Line3.js +85 -0
  255. package/lib/js/math/Mat3.d.ts +77 -0
  256. package/lib/js/math/Mat3.js +139 -0
  257. package/lib/js/math/Mat4.d.ts +195 -0
  258. package/lib/js/math/Mat4.js +470 -0
  259. package/lib/js/math/Plane.d.ts +20 -0
  260. package/lib/js/math/Plane.js +108 -0
  261. package/lib/js/math/Quat.d.ts +373 -0
  262. package/lib/js/math/Quat.js +783 -0
  263. package/lib/js/math/Ray.d.ts +76 -0
  264. package/lib/js/math/Ray.js +188 -0
  265. package/lib/js/math/Vec2.d.ts +310 -0
  266. package/lib/js/math/Vec2.js +463 -0
  267. package/lib/js/math/Vec3.d.ts +472 -0
  268. package/lib/js/math/Vec3.js +799 -0
  269. package/lib/js/math/Vec4.d.ts +163 -0
  270. package/lib/js/math/Vec4.js +211 -0
  271. package/lib/js/math/coder.d.ts +51 -0
  272. package/lib/js/math/coder.js +101 -0
  273. package/lib/js/math/index.d.ts +11 -0
  274. package/lib/js/math/index.js +11 -0
  275. package/lib/js/math.d.ts +266 -0
  276. package/lib/js/math.js +379 -0
  277. package/lib/js/mercator.d.ts +92 -0
  278. package/lib/js/mercator.js +119 -0
  279. package/lib/js/proj/EPSG3857.d.ts +9 -0
  280. package/lib/js/proj/EPSG3857.js +9 -0
  281. package/lib/js/proj/EPSG4326.d.ts +9 -0
  282. package/lib/js/proj/EPSG4326.js +9 -0
  283. package/lib/js/proj/Proj.d.ts +43 -0
  284. package/lib/js/proj/Proj.js +38 -0
  285. package/lib/js/quadTree/EPSG4326QuadTreeStrategy.d.ts +6 -0
  286. package/lib/js/quadTree/EPSG4326QuadTreeStrategy.js +17 -0
  287. package/lib/js/quadTree/EarthQuadTreeStrategy.d.ts +6 -0
  288. package/lib/js/quadTree/EarthQuadTreeStrategy.js +19 -0
  289. package/lib/js/quadTree/EntityCollectionNode.d.ts +54 -0
  290. package/lib/js/quadTree/EntityCollectionNode.js +328 -0
  291. package/lib/js/quadTree/MarsQuadTreeStrategy.d.ts +6 -0
  292. package/lib/js/quadTree/MarsQuadTreeStrategy.js +17 -0
  293. package/lib/js/quadTree/Node.d.ts +61 -0
  294. package/lib/js/quadTree/Node.js +660 -0
  295. package/lib/js/quadTree/QuadTreeStrategy.d.ts +25 -0
  296. package/lib/js/quadTree/QuadTreeStrategy.js +69 -0
  297. package/lib/js/quadTree/Wgs84QuadTreeStrategy.d.ts +6 -0
  298. package/lib/js/quadTree/Wgs84QuadTreeStrategy.js +15 -0
  299. package/lib/js/quadTree/index.d.ts +12 -0
  300. package/lib/js/quadTree/index.js +12 -0
  301. package/lib/js/quadTree/quadTree.d.ts +40 -0
  302. package/lib/js/quadTree/quadTree.js +66 -0
  303. package/lib/js/renderer/Renderer.d.ts +311 -0
  304. package/lib/js/renderer/Renderer.js +899 -0
  305. package/lib/js/renderer/RendererEvents.d.ts +237 -0
  306. package/lib/js/renderer/RendererEvents.js +848 -0
  307. package/lib/js/scene/Axes.d.ts +12 -0
  308. package/lib/js/scene/Axes.js +59 -0
  309. package/lib/js/scene/BaseNode.d.ts +61 -0
  310. package/lib/js/scene/BaseNode.js +69 -0
  311. package/lib/js/scene/Planet.d.ts +623 -0
  312. package/lib/js/scene/Planet.js +1431 -0
  313. package/lib/js/scene/RenderNode.d.ts +150 -0
  314. package/lib/js/scene/RenderNode.js +301 -0
  315. package/lib/js/scene/SkyBox.d.ts +13 -0
  316. package/lib/js/scene/SkyBox.js +87 -0
  317. package/lib/js/scene/index.d.ts +5 -0
  318. package/lib/js/scene/index.js +5 -0
  319. package/lib/js/segment/Segment.d.ts +278 -0
  320. package/lib/js/segment/Segment.js +1142 -0
  321. package/lib/js/segment/SegmentLonLat.d.ts +48 -0
  322. package/lib/js/segment/SegmentLonLat.js +214 -0
  323. package/lib/js/segment/SegmentLonLatWgs84.d.ts +10 -0
  324. package/lib/js/segment/SegmentLonLatWgs84.js +23 -0
  325. package/lib/js/segment/Slice.d.ts +13 -0
  326. package/lib/js/segment/Slice.js +33 -0
  327. package/lib/js/segment/segmentHelper.d.ts +18 -0
  328. package/lib/js/segment/segmentHelper.js +180 -0
  329. package/lib/js/shaders/atmos.d.ts +4 -0
  330. package/lib/js/shaders/atmos.js +312 -0
  331. package/lib/js/shaders/billboard.d.ts +3 -0
  332. package/lib/js/shaders/billboard.js +214 -0
  333. package/lib/js/shaders/bloom.d.ts +2 -0
  334. package/lib/js/shaders/bloom.js +32 -0
  335. package/lib/js/shaders/blur.d.ts +3 -0
  336. package/lib/js/shaders/blur.js +68 -0
  337. package/lib/js/shaders/depth.d.ts +2 -0
  338. package/lib/js/shaders/depth.js +43 -0
  339. package/lib/js/shaders/drawnode.d.ts +8 -0
  340. package/lib/js/shaders/drawnode.js +986 -0
  341. package/lib/js/shaders/geoObject.d.ts +3 -0
  342. package/lib/js/shaders/geoObject.js +256 -0
  343. package/lib/js/shaders/label.d.ts +4 -0
  344. package/lib/js/shaders/label.js +589 -0
  345. package/lib/js/shaders/lumFilter.d.ts +2 -0
  346. package/lib/js/shaders/lumFilter.js +36 -0
  347. package/lib/js/shaders/pickingMask.d.ts +2 -0
  348. package/lib/js/shaders/pickingMask.js +22 -0
  349. package/lib/js/shaders/pointCloud.d.ts +2 -0
  350. package/lib/js/shaders/pointCloud.js +32 -0
  351. package/lib/js/shaders/polyline.d.ts +3 -0
  352. package/lib/js/shaders/polyline.js +345 -0
  353. package/lib/js/shaders/ray.d.ts +2 -0
  354. package/lib/js/shaders/ray.js +76 -0
  355. package/lib/js/shaders/screenFrame.d.ts +2 -0
  356. package/lib/js/shaders/screenFrame.js +26 -0
  357. package/lib/js/shaders/skybox.d.ts +2 -0
  358. package/lib/js/shaders/skybox.js +28 -0
  359. package/lib/js/shaders/toneMapping.d.ts +2 -0
  360. package/lib/js/shaders/toneMapping.js +85 -0
  361. package/lib/js/shaders/utils.d.ts +1 -0
  362. package/lib/js/shaders/utils.js +86 -0
  363. package/lib/js/terrain/BilTerrain.d.ts +18 -0
  364. package/lib/js/terrain/BilTerrain.js +152 -0
  365. package/lib/js/terrain/EmptyTerrain.d.ts +106 -0
  366. package/lib/js/terrain/EmptyTerrain.js +106 -0
  367. package/lib/js/terrain/Geoid.d.ts +33 -0
  368. package/lib/js/terrain/Geoid.js +191 -0
  369. package/lib/js/terrain/GlobusTerrain.d.ts +134 -0
  370. package/lib/js/terrain/GlobusTerrain.js +332 -0
  371. package/lib/js/terrain/MapboxTerrain.d.ts +21 -0
  372. package/lib/js/terrain/MapboxTerrain.js +298 -0
  373. package/lib/js/terrain/index.d.ts +5 -0
  374. package/lib/js/terrain/index.js +5 -0
  375. package/lib/js/ui/Button.d.ts +32 -0
  376. package/lib/js/ui/Button.js +78 -0
  377. package/lib/js/ui/ButtonGroup.d.ts +16 -0
  378. package/lib/js/ui/ButtonGroup.js +41 -0
  379. package/lib/js/ui/Dialog.d.ts +55 -0
  380. package/lib/js/ui/Dialog.js +173 -0
  381. package/lib/js/ui/Slider.d.ts +38 -0
  382. package/lib/js/ui/Slider.js +129 -0
  383. package/lib/js/ui/ToggleButton.d.ts +20 -0
  384. package/lib/js/ui/ToggleButton.js +42 -0
  385. package/lib/js/ui/View.d.ts +37 -0
  386. package/lib/js/ui/View.js +151 -0
  387. package/lib/js/ui/icons.d.ts +1 -0
  388. package/lib/js/ui/icons.js +3 -0
  389. package/lib/js/utils/BaseWorker.d.ts +14 -0
  390. package/lib/js/utils/BaseWorker.js +47 -0
  391. package/lib/js/utils/FontAtlas.d.ts +82 -0
  392. package/lib/js/utils/FontAtlas.js +220 -0
  393. package/lib/js/utils/GeoImageCreator.d.ts +34 -0
  394. package/lib/js/utils/GeoImageCreator.js +163 -0
  395. package/lib/js/utils/ImagesCacheManager.d.ts +22 -0
  396. package/lib/js/utils/ImagesCacheManager.js +63 -0
  397. package/lib/js/utils/Loader.d.ts +63 -0
  398. package/lib/js/utils/Loader.js +156 -0
  399. package/lib/js/utils/NormalMapCreator.d.ts +52 -0
  400. package/lib/js/utils/NormalMapCreator.js +310 -0
  401. package/lib/js/utils/PlainSegmentWorker.d.ts +24 -0
  402. package/lib/js/utils/PlainSegmentWorker.js +383 -0
  403. package/lib/js/utils/TerrainWorker.d.ts +28 -0
  404. package/lib/js/utils/TerrainWorker.js +551 -0
  405. package/lib/js/utils/TextureAtlas.d.ts +113 -0
  406. package/lib/js/utils/TextureAtlas.js +231 -0
  407. package/lib/js/utils/VectorTileCreator.d.ts +18 -0
  408. package/lib/js/utils/VectorTileCreator.js +320 -0
  409. package/lib/js/utils/colorTable.d.ts +3 -0
  410. package/lib/js/utils/colorTable.js +143 -0
  411. package/lib/js/utils/earcut.d.ts +7 -0
  412. package/lib/js/utils/earcut.js +536 -0
  413. package/lib/js/utils/objParser.d.ts +24 -0
  414. package/lib/js/utils/objParser.js +201 -0
  415. package/lib/js/utils/shared.d.ts +267 -0
  416. package/lib/js/utils/shared.js +893 -0
  417. package/lib/js/utils/units.d.ts +16 -0
  418. package/lib/js/utils/units.js +61 -0
  419. package/lib/js/webgl/BaseFramebuffer.d.ts +53 -0
  420. package/lib/js/webgl/BaseFramebuffer.js +88 -0
  421. package/lib/js/webgl/Framebuffer.d.ts +69 -0
  422. package/lib/js/webgl/Framebuffer.js +149 -0
  423. package/lib/js/webgl/Handler.d.ts +473 -0
  424. package/lib/js/webgl/Handler.js +1003 -0
  425. package/lib/js/webgl/Multisample.d.ts +27 -0
  426. package/lib/js/webgl/Multisample.js +77 -0
  427. package/lib/js/webgl/Program.d.ts +159 -0
  428. package/lib/js/webgl/Program.js +314 -0
  429. package/lib/js/webgl/ProgramController.d.ts +86 -0
  430. package/lib/js/webgl/ProgramController.js +110 -0
  431. package/lib/js/webgl/index.d.ts +6 -0
  432. package/lib/js/webgl/index.js +6 -0
  433. package/lib/js/webgl/types.d.ts +9 -0
  434. package/lib/js/webgl/types.js +26 -0
  435. package/lib/js/webgl/variableHandlers.d.ts +22 -0
  436. package/lib/js/webgl/variableHandlers.js +78 -0
  437. package/package.json +29 -38
  438. package/dist/@openglobus/og.esm.js +0 -21
  439. package/dist/@openglobus/og.esm.js.map +0 -1
  440. package/dist/@openglobus/og.umd.js +0 -21
  441. package/dist/@openglobus/og.umd.js.map +0 -1
  442. package/src/og/Clock.js +0 -214
  443. package/src/og/Deferred.js +0 -11
  444. package/src/og/Events.js +0 -185
  445. package/src/og/Extent.js +0 -352
  446. package/src/og/Globe.js +0 -342
  447. package/src/og/ImageCanvas.js +0 -236
  448. package/src/og/Lock.js +0 -44
  449. package/src/og/LonLat.js +0 -220
  450. package/src/og/Object3d.js +0 -395
  451. package/src/og/Popup.js +0 -187
  452. package/src/og/QueueArray.js +0 -75
  453. package/src/og/Rectangle.js +0 -111
  454. package/src/og/Stack.js +0 -49
  455. package/src/og/astro/astro.js +0 -51
  456. package/src/og/astro/earth.js +0 -112
  457. package/src/og/astro/jd.js +0 -514
  458. package/src/og/astro/orbit.js +0 -119
  459. package/src/og/astro/rotation.js +0 -36
  460. package/src/og/bv/Box.js +0 -77
  461. package/src/og/bv/Sphere.js +0 -57
  462. package/src/og/bv/index.js +0 -4
  463. package/src/og/camera/Camera.js +0 -645
  464. package/src/og/camera/Frustum.js +0 -331
  465. package/src/og/camera/PlanetCamera.js +0 -674
  466. package/src/og/camera/index.js +0 -4
  467. package/src/og/cons.js +0 -108
  468. package/src/og/control/Atmosphere.js +0 -387
  469. package/src/og/control/CompassButton.js +0 -146
  470. package/src/og/control/Control.js +0 -198
  471. package/src/og/control/DebugInfo.js +0 -259
  472. package/src/og/control/DrawingSwitcher.js +0 -117
  473. package/src/og/control/EarthCoordinates.js +0 -214
  474. package/src/og/control/EarthNavigation.js +0 -258
  475. package/src/og/control/GeoImageDragControl.js +0 -117
  476. package/src/og/control/KeyboardNavigation.js +0 -172
  477. package/src/og/control/LayerAnimation.js +0 -379
  478. package/src/og/control/LayerSwitcher.js +0 -424
  479. package/src/og/control/Lighting.js +0 -487
  480. package/src/og/control/MouseNavigation.js +0 -436
  481. package/src/og/control/MouseWheelZoomControl.js +0 -253
  482. package/src/og/control/RulerSwitcher.js +0 -74
  483. package/src/og/control/ScaleControl.js +0 -119
  484. package/src/og/control/SegmentBoundVisualization.js +0 -54
  485. package/src/og/control/ShowFps.js +0 -40
  486. package/src/og/control/SimpleNavigation.js +0 -123
  487. package/src/og/control/SimpleSkyBackground.js +0 -206
  488. package/src/og/control/Sun.js +0 -176
  489. package/src/og/control/ToggleWireframe.js +0 -35
  490. package/src/og/control/TouchNavigation.js +0 -350
  491. package/src/og/control/ZoomControl.js +0 -115
  492. package/src/og/control/drawing/DrawingControl.js +0 -51
  493. package/src/og/control/drawing/LineStringDrawingScene.js +0 -203
  494. package/src/og/control/drawing/PolygonDrawingScene.js +0 -785
  495. package/src/og/control/elevationProfile/ElevationProfile.js +0 -275
  496. package/src/og/control/heightRuler/HeightRuler.js +0 -12
  497. package/src/og/control/heightRuler/HeightRulerScene.js +0 -228
  498. package/src/og/control/heightRuler/HeightRulerSwitcher.js +0 -15
  499. package/src/og/control/index.js +0 -56
  500. package/src/og/control/ruler/Ruler.js +0 -39
  501. package/src/og/control/ruler/RulerScene.js +0 -395
  502. package/src/og/control/selection/Selection.js +0 -95
  503. package/src/og/control/selection/SelectionScene.js +0 -345
  504. package/src/og/control/timeline/TimelineControl.js +0 -100
  505. package/src/og/control/timeline/TimelineModel.js +0 -137
  506. package/src/og/control/timeline/TimelineView.js +0 -462
  507. package/src/og/control/timeline/timelineUtils.js +0 -132
  508. package/src/og/control/visibleExtent/Segment.js +0 -1854
  509. package/src/og/control/visibleExtent/VisibleExtent.js +0 -80
  510. package/src/og/control/visibleExtent/drawnode.js +0 -747
  511. package/src/og/ellipsoid/Ellipsoid.js +0 -565
  512. package/src/og/ellipsoid/index.js +0 -4
  513. package/src/og/ellipsoid/wgs84.js +0 -9
  514. package/src/og/entity/BaseBillboard.js +0 -375
  515. package/src/og/entity/Billboard.js +0 -161
  516. package/src/og/entity/BillboardHandler.js +0 -883
  517. package/src/og/entity/Entity.js +0 -728
  518. package/src/og/entity/EntityCollection.js +0 -830
  519. package/src/og/entity/GeoObject.js +0 -244
  520. package/src/og/entity/GeoObjectHandler.js +0 -744
  521. package/src/og/entity/Geometry.js +0 -320
  522. package/src/og/entity/GeometryHandler.js +0 -1340
  523. package/src/og/entity/Label.js +0 -345
  524. package/src/og/entity/LabelHandler.js +0 -895
  525. package/src/og/entity/LabelWorker.js +0 -194
  526. package/src/og/entity/PointCloud.js +0 -491
  527. package/src/og/entity/PointCloudHandler.js +0 -122
  528. package/src/og/entity/Polyline.js +0 -2203
  529. package/src/og/entity/PolylineHandler.js +0 -105
  530. package/src/og/entity/Ray.js +0 -262
  531. package/src/og/entity/RayHandler.js +0 -841
  532. package/src/og/entity/Strip.js +0 -628
  533. package/src/og/entity/StripHandler.js +0 -158
  534. package/src/og/entity/index.js +0 -9
  535. package/src/og/index.js +0 -112
  536. package/src/og/input/KeyboardHandler.js +0 -195
  537. package/src/og/input/MouseHandler.js +0 -94
  538. package/src/og/input/TouchHandler.js +0 -59
  539. package/src/og/input/input.js +0 -44
  540. package/src/og/layer/BaseGeoImage.js +0 -480
  541. package/src/og/layer/CanvasTiles.js +0 -360
  542. package/src/og/layer/GeoImage.js +0 -150
  543. package/src/og/layer/GeoTexture2d.js +0 -50
  544. package/src/og/layer/GeoVideo.js +0 -187
  545. package/src/og/layer/KML.js +0 -358
  546. package/src/og/layer/Layer.js +0 -907
  547. package/src/og/layer/Material.js +0 -98
  548. package/src/og/layer/Vector.js +0 -1068
  549. package/src/og/layer/WMS.js +0 -182
  550. package/src/og/layer/XYZ.js +0 -374
  551. package/src/og/layer/index.js +0 -11
  552. package/src/og/light/LightSource.js +0 -362
  553. package/src/og/math/Line2.js +0 -28
  554. package/src/og/math/Line3.js +0 -140
  555. package/src/og/math/Mat3.js +0 -152
  556. package/src/og/math/Mat4.js +0 -603
  557. package/src/og/math/Plane.js +0 -117
  558. package/src/og/math/Quat.js +0 -980
  559. package/src/og/math/Ray.js +0 -237
  560. package/src/og/math/Vec2.js +0 -520
  561. package/src/og/math/Vec3.js +0 -931
  562. package/src/og/math/Vec4.js +0 -256
  563. package/src/og/math/coder.js +0 -104
  564. package/src/og/math/index.js +0 -23
  565. package/src/og/math.js +0 -430
  566. package/src/og/mercator.js +0 -149
  567. package/src/og/proj/EPSG3857.js +0 -13
  568. package/src/og/proj/EPSG4326.js +0 -13
  569. package/src/og/proj/Proj.js +0 -59
  570. package/src/og/quadTree/EPSG4326QuadTreeStrategy.js +0 -27
  571. package/src/og/quadTree/EarthQuadTreeStrategy.js +0 -30
  572. package/src/og/quadTree/EntityCollectionNode.js +0 -391
  573. package/src/og/quadTree/MarsQuadTreeStrategy.js +0 -28
  574. package/src/og/quadTree/Node.js +0 -785
  575. package/src/og/quadTree/QuadTreeStrategy.js +0 -94
  576. package/src/og/quadTree/Wgs84QuadTreeStrategy.js +0 -27
  577. package/src/og/quadTree/index.js +0 -14
  578. package/src/og/quadTree/quadTree.js +0 -77
  579. package/src/og/renderer/Renderer.js +0 -1185
  580. package/src/og/renderer/RendererEvents.js +0 -1094
  581. package/src/og/res/images.js +0 -8
  582. package/src/og/scene/Axes.js +0 -74
  583. package/src/og/scene/BaseNode.js +0 -109
  584. package/src/og/scene/Planet.js +0 -1931
  585. package/src/og/scene/RenderNode.js +0 -392
  586. package/src/og/scene/SkyBox.js +0 -104
  587. package/src/og/scene/index.js +0 -5
  588. package/src/og/segment/Segment.js +0 -1687
  589. package/src/og/segment/SegmentLonLat.js +0 -294
  590. package/src/og/segment/SegmentLonLatWgs84.js +0 -40
  591. package/src/og/segment/Slice.js +0 -45
  592. package/src/og/segment/segmentHelper.js +0 -230
  593. package/src/og/shaders/atmos.js +0 -332
  594. package/src/og/shaders/billboard.js +0 -225
  595. package/src/og/shaders/bloom.js +0 -37
  596. package/src/og/shaders/blur.js +0 -79
  597. package/src/og/shaders/depth.js +0 -48
  598. package/src/og/shaders/drawnode.js +0 -1040
  599. package/src/og/shaders/geoObject.js +0 -270
  600. package/src/og/shaders/label.js +0 -604
  601. package/src/og/shaders/lumFilter.js +0 -41
  602. package/src/og/shaders/pickingMask.js +0 -27
  603. package/src/og/shaders/pointCloud.js +0 -38
  604. package/src/og/shaders/polyline.js +0 -557
  605. package/src/og/shaders/ray.js +0 -81
  606. package/src/og/shaders/screenFrame.js +0 -31
  607. package/src/og/shaders/skybox.js +0 -33
  608. package/src/og/shaders/toneMapping.js +0 -90
  609. package/src/og/shaders/utils.js +0 -88
  610. package/src/og/terrain/BilTerrain.js +0 -243
  611. package/src/og/terrain/EmptyTerrain.js +0 -174
  612. package/src/og/terrain/Geoid.js +0 -247
  613. package/src/og/terrain/GlobusTerrain.js +0 -483
  614. package/src/og/terrain/MapboxTerrain.js +0 -470
  615. package/src/og/terrain/index.js +0 -6
  616. package/src/og/ui/Button.js +0 -107
  617. package/src/og/ui/ButtonGroup.js +0 -57
  618. package/src/og/ui/Dialog.js +0 -239
  619. package/src/og/ui/Slider.js +0 -170
  620. package/src/og/ui/ToggleButton.js +0 -51
  621. package/src/og/ui/UIhelpers.js +0 -155
  622. package/src/og/ui/View.js +0 -190
  623. package/src/og/ui/icons.js +0 -3
  624. package/src/og/utils/BaseWorker.js +0 -46
  625. package/src/og/utils/FontAtlas.js +0 -218
  626. package/src/og/utils/GeoImageCreator.js +0 -204
  627. package/src/og/utils/ImagesCacheManager.js +0 -70
  628. package/src/og/utils/Loader.js +0 -188
  629. package/src/og/utils/NormalMapCreator.js +0 -404
  630. package/src/og/utils/PlainSegmentWorker.js +0 -398
  631. package/src/og/utils/TerrainWorker.js +0 -573
  632. package/src/og/utils/TextureAtlas.js +0 -291
  633. package/src/og/utils/VectorTileCreator.js +0 -391
  634. package/src/og/utils/colorTable.js +0 -145
  635. package/src/og/utils/earcut.js +0 -661
  636. package/src/og/utils/functionComposition.js +0 -13
  637. package/src/og/utils/objParser.js +0 -227
  638. package/src/og/utils/shared.js +0 -989
  639. package/src/og/utils/units.js +0 -78
  640. package/src/og/webgl/Framebuffer.js +0 -311
  641. package/src/og/webgl/Handler.js +0 -1170
  642. package/src/og/webgl/Multisample.js +0 -275
  643. package/src/og/webgl/Program.js +0 -407
  644. package/src/og/webgl/ProgramController.js +0 -143
  645. package/src/og/webgl/callbacks.js +0 -98
  646. package/src/og/webgl/index.js +0 -13
  647. package/src/og/webgl/types.js +0 -31
  648. package/src/og.jsdoc +0 -3
  649. package/types/Clock.d.ts +0 -99
  650. package/types/Deferred.d.ts +0 -6
  651. package/types/Events.d.ts +0 -78
  652. package/types/Extent.d.ts +0 -166
  653. package/types/Globe.d.ts +0 -108
  654. package/types/ImageCanvas.d.ts +0 -128
  655. package/types/Lock.d.ts +0 -12
  656. package/types/LonLat.d.ts +0 -127
  657. package/types/Object3d.d.ts +0 -35
  658. package/types/Popup.d.ts +0 -29
  659. package/types/QueueArray.d.ts +0 -19
  660. package/types/Rectangle.d.ts +0 -80
  661. package/types/Stack.d.ts +0 -19
  662. package/types/arial.d.ts +0 -49
  663. package/types/astro/astro.d.ts +0 -38
  664. package/types/astro/earth.d.ts +0 -7
  665. package/types/astro/jd.d.ts +0 -254
  666. package/types/bv/Box.d.ts +0 -30
  667. package/types/bv/Sphere.d.ts +0 -38
  668. package/types/bv/index.d.ts +0 -3
  669. package/types/camera/Camera.d.ts +0 -314
  670. package/types/camera/Frustum.d.ts +0 -133
  671. package/types/camera/PlanetCamera.d.ts +0 -219
  672. package/types/camera/index.d.ts +0 -3
  673. package/types/cons.d.ts +0 -40
  674. package/types/control/Atmosphere.d.ts +0 -15
  675. package/types/control/CompassButton.d.ts +0 -16
  676. package/types/control/Control.d.ts +0 -104
  677. package/types/control/DebugInfo.d.ts +0 -19
  678. package/types/control/DrawingSwitcher.d.ts +0 -13
  679. package/types/control/EarthCoordinates.d.ts +0 -44
  680. package/types/control/EarthNavigation.d.ts +0 -43
  681. package/types/control/GeoImageDragControl.d.ts +0 -14
  682. package/types/control/KeyboardNavigation.d.ts +0 -24
  683. package/types/control/LayerAnimation.d.ts +0 -73
  684. package/types/control/LayerSwitcher.d.ts +0 -64
  685. package/types/control/Lighting.d.ts +0 -41
  686. package/types/control/MouseNavigation.d.ts +0 -49
  687. package/types/control/MouseWheelZoomControl.d.ts +0 -46
  688. package/types/control/ScaleControl.d.ts +0 -23
  689. package/types/control/ShowFps.d.ts +0 -11
  690. package/types/control/SimpleNavigation.d.ts +0 -26
  691. package/types/control/SimpleSkyBackground.d.ts +0 -15
  692. package/types/control/Sun.d.ts +0 -53
  693. package/types/control/ToggleWireframe.d.ts +0 -12
  694. package/types/control/TouchNavigation.d.ts +0 -54
  695. package/types/control/ZoomControl.d.ts +0 -26
  696. package/types/control/drawing/DrawingControl.d.ts +0 -14
  697. package/types/control/drawing/LineStringDrawingScene.d.ts +0 -5
  698. package/types/control/drawing/PolygonDrawingScene.d.ts +0 -99
  699. package/types/control/heightRuler/HeightRuler.d.ts +0 -6
  700. package/types/control/heightRuler/HeightRulerScene.d.ts +0 -23
  701. package/types/control/index.d.ts +0 -27
  702. package/types/control/ruler/Ruler.d.ts +0 -13
  703. package/types/control/ruler/RulerScene.d.ts +0 -51
  704. package/types/control/selection/Selection.d.ts +0 -49
  705. package/types/control/selection/SelectionScene.d.ts +0 -32
  706. package/types/control/timeline/TimelineControl.d.ts +0 -10
  707. package/types/control/timeline/TimelineModel.d.ts +0 -33
  708. package/types/control/timeline/TimelineView.d.ts +0 -57
  709. package/types/control/timeline/timelineUtils.d.ts +0 -9
  710. package/types/ellipsoid/Ellipsoid.d.ts +0 -170
  711. package/types/ellipsoid/index.d.ts +0 -3
  712. package/types/ellipsoid/wgs84.d.ts +0 -6
  713. package/types/entity/BaseBillboard.d.ts +0 -215
  714. package/types/entity/Billboard.d.ts +0 -94
  715. package/types/entity/BillboardHandler.d.ts +0 -75
  716. package/types/entity/Entity.d.ts +0 -340
  717. package/types/entity/EntityCollection.d.ts +0 -303
  718. package/types/entity/GeoObject.d.ts +0 -117
  719. package/types/entity/GeoObjectHandler.d.ts +0 -41
  720. package/types/entity/Geometry.d.ts +0 -79
  721. package/types/entity/GeometryHandler.d.ts +0 -76
  722. package/types/entity/Label.d.ts +0 -190
  723. package/types/entity/LabelHandler.d.ts +0 -31
  724. package/types/entity/LabelWorker.d.ts +0 -9
  725. package/types/entity/PointCloud.d.ts +0 -174
  726. package/types/entity/PointCloudHandler.d.ts +0 -38
  727. package/types/entity/Polyline.d.ts +0 -307
  728. package/types/entity/PolylineHandler.d.ts +0 -18
  729. package/types/entity/Ray.d.ts +0 -122
  730. package/types/entity/RayHandler.d.ts +0 -63
  731. package/types/entity/Strip.d.ts +0 -119
  732. package/types/entity/StripHandler.d.ts +0 -38
  733. package/types/entity/index.d.ts +0 -8
  734. package/types/index.d.ts +0 -53
  735. package/types/input/KeyboardHandler.d.ts +0 -17
  736. package/types/input/MouseHandler.d.ts +0 -5
  737. package/types/input/TouchHandler.d.ts +0 -5
  738. package/types/input/input.d.ts +0 -42
  739. package/types/layer/BaseGeoImage.d.ts +0 -116
  740. package/types/layer/CanvasTiles.d.ts +0 -73
  741. package/types/layer/GeoImage.d.ts +0 -51
  742. package/types/layer/GeoTexture2d.d.ts +0 -7
  743. package/types/layer/GeoVideo.d.ts +0 -47
  744. package/types/layer/KML.d.ts +0 -93
  745. package/types/layer/Layer.d.ts +0 -320
  746. package/types/layer/Material.d.ts +0 -45
  747. package/types/layer/Vector.d.ts +0 -211
  748. package/types/layer/WMS.d.ts +0 -66
  749. package/types/layer/XYZ.d.ts +0 -122
  750. package/types/layer/index.d.ts +0 -10
  751. package/types/light/LightSource.d.ts +0 -178
  752. package/types/math/Line2.d.ts +0 -11
  753. package/types/math/Line3.d.ts +0 -10
  754. package/types/math/Mat3.d.ts +0 -65
  755. package/types/math/Mat4.d.ts +0 -176
  756. package/types/math/Plane.d.ts +0 -18
  757. package/types/math/Quat.d.ts +0 -379
  758. package/types/math/Ray.d.ts +0 -82
  759. package/types/math/Vec2.d.ts +0 -309
  760. package/types/math/Vec3.d.ts +0 -472
  761. package/types/math/Vec4.d.ts +0 -161
  762. package/types/math/coder.d.ts +0 -43
  763. package/types/math/index.d.ts +0 -11
  764. package/types/math.d.ts +0 -268
  765. package/types/mercator.d.ts +0 -92
  766. package/types/proj/EPSG3857.d.ts +0 -6
  767. package/types/proj/EPSG4326.d.ts +0 -6
  768. package/types/proj/Proj.d.ts +0 -42
  769. package/types/quadTree/EPSG4326QuadTreeStrategy.d.ts +0 -3
  770. package/types/quadTree/EarthQuadTreeStrategy.d.ts +0 -3
  771. package/types/quadTree/EntityCollectionNode.d.ts +0 -41
  772. package/types/quadTree/MarsQuadTreeStrategy.d.ts +0 -3
  773. package/types/quadTree/Node.d.ts +0 -58
  774. package/types/quadTree/QuadTreeStrategy.d.ts +0 -21
  775. package/types/quadTree/Wgs84QuadTreeStrategy.d.ts +0 -3
  776. package/types/quadTree/index.d.ts +0 -12
  777. package/types/quadTree/quadTree.d.ts +0 -40
  778. package/types/renderer/Renderer.d.ts +0 -291
  779. package/types/renderer/RendererEvents.d.ts +0 -241
  780. package/types/res/images.d.ts +0 -2
  781. package/types/scene/Axes.d.ts +0 -10
  782. package/types/scene/BaseNode.d.ts +0 -60
  783. package/types/scene/Planet.d.ts +0 -594
  784. package/types/scene/RenderNode.d.ts +0 -152
  785. package/types/scene/SkyBox.d.ts +0 -9
  786. package/types/scene/index.d.ts +0 -4
  787. package/types/segment/Segment.d.ts +0 -273
  788. package/types/segment/SegmentLonLat.d.ts +0 -22
  789. package/types/segment/SegmentLonLatWgs84.d.ts +0 -4
  790. package/types/segment/Slice.d.ts +0 -10
  791. package/types/segment/segmentHelper.d.ts +0 -13
  792. package/types/shaders/atmos.d.ts +0 -4
  793. package/types/shaders/billboard.d.ts +0 -3
  794. package/types/shaders/depth.d.ts +0 -2
  795. package/types/shaders/drawnode.d.ts +0 -8
  796. package/types/shaders/geoObject.d.ts +0 -3
  797. package/types/shaders/label.d.ts +0 -4
  798. package/types/shaders/pickingMask.d.ts +0 -2
  799. package/types/shaders/pointCloud.d.ts +0 -2
  800. package/types/shaders/polyline.d.ts +0 -3
  801. package/types/shaders/ray.d.ts +0 -2
  802. package/types/shaders/screenFrame.d.ts +0 -2
  803. package/types/shaders/skybox.d.ts +0 -2
  804. package/types/shaders/toneMapping.d.ts +0 -2
  805. package/types/shaders/utils.d.ts +0 -1
  806. package/types/terrain/BilTerrain.d.ts +0 -14
  807. package/types/terrain/EmptyTerrain.d.ts +0 -87
  808. package/types/terrain/Geoid.d.ts +0 -17
  809. package/types/terrain/GlobusTerrain.d.ts +0 -122
  810. package/types/terrain/MapboxTerrain.d.ts +0 -14
  811. package/types/terrain/index.d.ts +0 -5
  812. package/types/ui/Button.d.ts +0 -21
  813. package/types/ui/ButtonGroup.d.ts +0 -12
  814. package/types/ui/Dialog.d.ts +0 -41
  815. package/types/ui/Slider.d.ts +0 -33
  816. package/types/ui/ToggleButton.d.ts +0 -10
  817. package/types/ui/UIhelpers.d.ts +0 -13
  818. package/types/ui/View.d.ts +0 -33
  819. package/types/ui/icons.d.ts +0 -1
  820. package/types/utils/BaseWorker.d.ts +0 -14
  821. package/types/utils/FontAtlas.d.ts +0 -16
  822. package/types/utils/GeoImageCreator.d.ts +0 -30
  823. package/types/utils/ImagesCacheManager.d.ts +0 -10
  824. package/types/utils/Loader.d.ts +0 -31
  825. package/types/utils/NormalMapCreator.d.ts +0 -39
  826. package/types/utils/PlainSegmentWorker.d.ts +0 -8
  827. package/types/utils/TerrainWorker.d.ts +0 -7
  828. package/types/utils/TextureAtlas.d.ts +0 -113
  829. package/types/utils/VectorTileCreator.d.ts +0 -14
  830. package/types/utils/colorTable.d.ts +0 -143
  831. package/types/utils/earcut.d.ts +0 -6
  832. package/types/utils/functionComposition.d.ts +0 -5
  833. package/types/utils/objParser.d.ts +0 -8
  834. package/types/utils/shared.d.ts +0 -241
  835. package/types/utils/units.d.ts +0 -20
  836. package/types/webgl/Framebuffer.d.ts +0 -134
  837. package/types/webgl/Handler.d.ts +0 -403
  838. package/types/webgl/Multisample.d.ts +0 -91
  839. package/types/webgl/Program.d.ts +0 -163
  840. package/types/webgl/ProgramController.d.ts +0 -89
  841. package/types/webgl/callbacks.d.ts +0 -1
  842. package/types/webgl/index.d.ts +0 -6
  843. package/types/webgl/types.d.ts +0 -2
  844. /package/{dist → lib}/@openglobus/og.css +0 -0
  845. /package/{src/og → lib/@openglobus/res/fonts}/arial.js +0 -0
@@ -0,0 +1,143 @@
1
+ export const colorTable = {
2
+ "aliceblue": "#f0f8ff",
3
+ "antiquewhite": "#faebd7",
4
+ "aqua": "#00ffff",
5
+ "aquamarine": "#7fffd4",
6
+ "azure": "#f0ffff",
7
+ "beige": "#f5f5dc",
8
+ "bisque": "#ffe4c4",
9
+ "black": "#000000",
10
+ "blanchedalmond": "#ffebcd",
11
+ "blue": "#0000ff",
12
+ "blueviolet": "#8a2be2",
13
+ "brown": "#a52a2a",
14
+ "burlywood": "#deb887",
15
+ "cadetblue": "#5f9ea0",
16
+ "chartreuse": "#7fff00",
17
+ "chocolate": "#d2691e",
18
+ "coral": "#ff7f50",
19
+ "cornflowerblue": "#6495ed",
20
+ "cornsilk": "#fff8dc",
21
+ "crimson": "#dc143c",
22
+ "cyan": "#00ffff",
23
+ "darkblue": "#00008b",
24
+ "darkcyan": "#008b8b",
25
+ "darkgoldenrod": "#b8860b",
26
+ "darkgray": "#a9a9a9",
27
+ "darkgreen": "#006400",
28
+ "darkkhaki": "#bdb76b",
29
+ "darkmagenta": "#8b008b",
30
+ "darkolivegreen": "#556b2f",
31
+ "darkorange": "#ff8c00",
32
+ "darkorchid": "#9932cc",
33
+ "darkred": "#8b0000",
34
+ "darksalmon": "#e9967a",
35
+ "darkseagreen": "#8fbc8f",
36
+ "darkslateblue": "#483d8b",
37
+ "darkslategray": "#2f4f4f",
38
+ "darkturquoise": "#00ced1",
39
+ "darkviolet": "#9400d3",
40
+ "deeppink": "#ff1493",
41
+ "deepskyblue": "#00bfff",
42
+ "dimgray": "#696969",
43
+ "dodgerblue": "#1e90ff",
44
+ "firebrick": "#b22222",
45
+ "floralwhite": "#fffaf0",
46
+ "forestgreen": "#228b22",
47
+ "fuchsia": "#ff00ff",
48
+ "gainsboro": "#dcdcdc",
49
+ "ghostwhite": "#f8f8ff",
50
+ "gold": "#ffd700",
51
+ "goldenrod": "#daa520",
52
+ "gray": "#808080",
53
+ "green": "#008000",
54
+ "greenyellow": "#adff2f",
55
+ "honeydew": "#f0fff0",
56
+ "hotpink": "#ff69b4",
57
+ "indianred ": "#cd5c5c",
58
+ "indigo": "#4b0082",
59
+ "ivory": "#fffff0",
60
+ "khaki": "#f0e68c",
61
+ "lavender": "#e6e6fa",
62
+ "lavenderblush": "#fff0f5",
63
+ "lawngreen": "#7cfc00",
64
+ "lemonchiffon": "#fffacd",
65
+ "lightblue": "#add8e6",
66
+ "lightcoral": "#f08080",
67
+ "lightcyan": "#e0ffff",
68
+ "lightgoldenrodyellow": "#fafad2",
69
+ "lightgrey": "#d3d3d3",
70
+ "lightgreen": "#90ee90",
71
+ "lightpink": "#ffb6c1",
72
+ "lightsalmon": "#ffa07a",
73
+ "lightseagreen": "#20b2aa",
74
+ "lightskyblue": "#87cefa",
75
+ "lightslategray": "#778899",
76
+ "lightsteelblue": "#b0c4de",
77
+ "lightyellow": "#ffffe0",
78
+ "lime": "#00ff00",
79
+ "limegreen": "#32cd32",
80
+ "linen": "#faf0e6",
81
+ "magenta": "#ff00ff",
82
+ "maroon": "#800000",
83
+ "mediumaquamarine": "#66cdaa",
84
+ "mediumblue": "#0000cd",
85
+ "mediumorchid": "#ba55d3",
86
+ "mediumpurple": "#9370d8",
87
+ "mediumseagreen": "#3cb371",
88
+ "mediumslateblue": "#7b68ee",
89
+ "mediumspringgreen": "#00fa9a",
90
+ "mediumturquoise": "#48d1cc",
91
+ "mediumvioletred": "#c71585",
92
+ "midnightblue": "#191970",
93
+ "mintcream": "#f5fffa",
94
+ "mistyrose": "#ffe4e1",
95
+ "moccasin": "#ffe4b5",
96
+ "navajowhite": "#ffdead",
97
+ "navy": "#000080",
98
+ "oldlace": "#fdf5e6",
99
+ "olive": "#808000",
100
+ "olivedrab": "#6b8e23",
101
+ "orange": "#ffa500",
102
+ "orangered": "#ff4500",
103
+ "orchid": "#da70d6",
104
+ "palegoldenrod": "#eee8aa",
105
+ "palegreen": "#98fb98",
106
+ "paleturquoise": "#afeeee",
107
+ "palevioletred": "#d87093",
108
+ "papayawhip": "#ffefd5",
109
+ "peachpuff": "#ffdab9",
110
+ "peru": "#cd853f",
111
+ "pink": "#ffc0cb",
112
+ "plum": "#dda0dd",
113
+ "powderblue": "#b0e0e6",
114
+ "purple": "#800080",
115
+ "rebeccapurple": "#663399",
116
+ "red": "#ff0000",
117
+ "rosybrown": "#bc8f8f",
118
+ "royalblue": "#4169e1",
119
+ "saddlebrown": "#8b4513",
120
+ "salmon": "#fa8072",
121
+ "sandybrown": "#f4a460",
122
+ "seagreen": "#2e8b57",
123
+ "seashell": "#fff5ee",
124
+ "sienna": "#a0522d",
125
+ "silver": "#c0c0c0",
126
+ "skyblue": "#87ceeb",
127
+ "slateblue": "#6a5acd",
128
+ "slategray": "#708090",
129
+ "snow": "#fffafa",
130
+ "springgreen": "#00ff7f",
131
+ "steelblue": "#4682b4",
132
+ "tan": "#d2b48c",
133
+ "teal": "#008080",
134
+ "thistle": "#d8bfd8",
135
+ "tomato": "#ff6347",
136
+ "turquoise": "#40e0d0",
137
+ "violet": "#ee82ee",
138
+ "wheat": "#f5deb3",
139
+ "white": "#ffffff",
140
+ "whitesmoke": "#f5f5f5",
141
+ "yellow": "#ffff00",
142
+ "yellowgreen": "#9acd32"
143
+ };
@@ -0,0 +1,7 @@
1
+ declare function earcut(data: any, holeIndices: any, dim: any): any[];
2
+ declare function flatten(data: any): {
3
+ vertices: never[];
4
+ holes: never[];
5
+ dimensions: any;
6
+ };
7
+ export { earcut, flatten };
@@ -0,0 +1,536 @@
1
+ // @ts-nocheck
2
+ /* eslint-disable no-unused-vars */
3
+ /* eslint-disable curly */
4
+ /* eslint-disable operator-linebreak */
5
+ /* eslint-disable no-mixed-operators */
6
+ /**
7
+ * @module og/utils/earcut
8
+ */
9
+ 'use strict';
10
+ // ISC License
11
+ //
12
+ // Copyright (c) 2016, Mapbox
13
+ //
14
+ // Permission to use, copy, modify, and/or distribute this software for any purpose
15
+ // with or without fee is hereby granted, provided that the above copyright notice
16
+ // and this permission notice appear in all copies.
17
+ //
18
+ // THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
19
+ // REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
20
+ // FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
21
+ // INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
22
+ // OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
23
+ // TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
24
+ // THIS SOFTWARE.
25
+ //
26
+ //https://github.com/mapbox/earcut
27
+ function earcut(data, holeIndices, dim) {
28
+ dim = dim || 2;
29
+ var hasHoles = holeIndices && holeIndices.length, outerLen = hasHoles ? holeIndices[0] * dim : data.length, outerNode = linkedList(data, 0, outerLen, dim, true), triangles = [];
30
+ if (!outerNode)
31
+ return triangles;
32
+ var minX, minY, maxX, maxY, x, y, size;
33
+ if (hasHoles)
34
+ outerNode = eliminateHoles(data, holeIndices, outerNode, dim);
35
+ // if the shape is not too simple, we'll use z-order curve hash later; calculate polygon bbox
36
+ if (data.length > 80 * dim) {
37
+ minX = maxX = data[0];
38
+ minY = maxY = data[1];
39
+ for (let i = dim; i < outerLen; i += dim) {
40
+ x = data[i];
41
+ y = data[i + 1];
42
+ if (x < minX)
43
+ minX = x;
44
+ if (y < minY)
45
+ minY = y;
46
+ if (x > maxX)
47
+ maxX = x;
48
+ if (y > maxY)
49
+ maxY = y;
50
+ }
51
+ // minX, minY and size are later used to transform coords into integers for z-order calculation
52
+ size = Math.max(maxX - minX, maxY - minY);
53
+ }
54
+ earcutLinked(outerNode, triangles, dim, minX, minY, size);
55
+ return triangles;
56
+ }
57
+ // create a circular doubly linked list from polygon points in the specified winding order
58
+ function linkedList(data, start, end, dim, clockwise) {
59
+ var i, last;
60
+ if (clockwise === (signedArea(data, start, end, dim) > 0)) {
61
+ for (i = start; i < end; i += dim)
62
+ last = insertNode(i, data[i], data[i + 1], last);
63
+ }
64
+ else {
65
+ for (i = end - dim; i >= start; i -= dim)
66
+ last = insertNode(i, data[i], data[i + 1], last);
67
+ }
68
+ if (last && equals(last, last.next)) {
69
+ removeNode(last);
70
+ last = last.next;
71
+ }
72
+ return last;
73
+ }
74
+ // eliminate colinear or duplicate points
75
+ function filterPoints(start, end) {
76
+ if (!start)
77
+ return start;
78
+ if (!end)
79
+ end = start;
80
+ var p = start, again;
81
+ do {
82
+ again = false;
83
+ if (!p.steiner && (equals(p, p.next) || area(p.prev, p, p.next) === 0)) {
84
+ removeNode(p);
85
+ p = end = p.prev;
86
+ if (p === p.next)
87
+ return null;
88
+ again = true;
89
+ }
90
+ else {
91
+ p = p.next;
92
+ }
93
+ } while (again || p !== end);
94
+ return end;
95
+ }
96
+ // main ear slicing loop which triangulates a polygon (given as a linked list)
97
+ function earcutLinked(ear, triangles, dim, minX, minY, size, pass) {
98
+ if (!ear)
99
+ return;
100
+ // interlink polygon nodes in z-order
101
+ if (!pass && size)
102
+ indexCurve(ear, minX, minY, size);
103
+ var stop = ear, prev, next;
104
+ // iterate through ears, slicing them one by one
105
+ while (ear.prev !== ear.next) {
106
+ prev = ear.prev;
107
+ next = ear.next;
108
+ if (size ? isEarHashed(ear, minX, minY, size) : isEar(ear)) {
109
+ // cut off the triangle
110
+ triangles.push(prev.i / dim);
111
+ triangles.push(ear.i / dim);
112
+ triangles.push(next.i / dim);
113
+ removeNode(ear);
114
+ // skipping the next vertice leads to less sliver triangles
115
+ ear = next.next;
116
+ stop = next.next;
117
+ continue;
118
+ }
119
+ ear = next;
120
+ // if we looped through the whole remaining polygon and can't find any more ears
121
+ if (ear === stop) {
122
+ // try filtering points and slicing again
123
+ if (!pass) {
124
+ earcutLinked(filterPoints(ear), triangles, dim, minX, minY, size, 1);
125
+ // if this didn't work, try curing all small self-intersections locally
126
+ }
127
+ else if (pass === 1) {
128
+ ear = cureLocalIntersections(ear, triangles, dim);
129
+ earcutLinked(ear, triangles, dim, minX, minY, size, 2);
130
+ // as a last resort, try splitting the remaining polygon into two
131
+ }
132
+ else if (pass === 2) {
133
+ splitEarcut(ear, triangles, dim, minX, minY, size);
134
+ }
135
+ break;
136
+ }
137
+ }
138
+ }
139
+ // check whether a polygon node forms a valid ear with adjacent nodes
140
+ function isEar(ear) {
141
+ var a = ear.prev, b = ear, c = ear.next;
142
+ if (area(a, b, c) >= 0)
143
+ return false; // reflex, can't be an ear
144
+ // now make sure we don't have other points inside the potential ear
145
+ var p = ear.next.next;
146
+ while (p !== ear.prev) {
147
+ if (pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&
148
+ area(p.prev, p, p.next) >= 0)
149
+ return false;
150
+ p = p.next;
151
+ }
152
+ return true;
153
+ }
154
+ function isEarHashed(ear, minX, minY, size) {
155
+ var a = ear.prev, b = ear, c = ear.next;
156
+ if (area(a, b, c) >= 0)
157
+ return false; // reflex, can't be an ear
158
+ // triangle bbox; min & max are calculated like this for speed
159
+ var minTX = a.x < b.x ? (a.x < c.x ? a.x : c.x) : (b.x < c.x ? b.x : c.x), minTY = a.y < b.y ? (a.y < c.y ? a.y : c.y) : (b.y < c.y ? b.y : c.y), maxTX = a.x > b.x ? (a.x > c.x ? a.x : c.x) : (b.x > c.x ? b.x : c.x), maxTY = a.y > b.y ? (a.y > c.y ? a.y : c.y) : (b.y > c.y ? b.y : c.y);
160
+ // z-order range for the current triangle bbox;
161
+ var minZ = zOrder(minTX, minTY, minX, minY, size), maxZ = zOrder(maxTX, maxTY, minX, minY, size);
162
+ // first look for points inside the triangle in increasing z-order
163
+ var p = ear.nextZ;
164
+ while (p && p.z <= maxZ) {
165
+ if (p !== ear.prev && p !== ear.next &&
166
+ pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&
167
+ area(p.prev, p, p.next) >= 0)
168
+ return false;
169
+ p = p.nextZ;
170
+ }
171
+ // then look for points in decreasing z-order
172
+ p = ear.prevZ;
173
+ while (p && p.z >= minZ) {
174
+ if (p !== ear.prev && p !== ear.next &&
175
+ pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&
176
+ area(p.prev, p, p.next) >= 0)
177
+ return false;
178
+ p = p.prevZ;
179
+ }
180
+ return true;
181
+ }
182
+ // go through all polygon nodes and cure small local self-intersections
183
+ function cureLocalIntersections(start, triangles, dim) {
184
+ var p = start;
185
+ do {
186
+ var a = p.prev, b = p.next.next;
187
+ if (!equals(a, b) && intersects(a, p, p.next, b) && locallyInside(a, b) && locallyInside(b, a)) {
188
+ triangles.push(a.i / dim);
189
+ triangles.push(p.i / dim);
190
+ triangles.push(b.i / dim);
191
+ // remove two nodes involved
192
+ removeNode(p);
193
+ removeNode(p.next);
194
+ p = start = b;
195
+ }
196
+ p = p.next;
197
+ } while (p !== start);
198
+ return p;
199
+ }
200
+ // try splitting polygon into two and triangulate them independently
201
+ function splitEarcut(start, triangles, dim, minX, minY, size) {
202
+ // look for a valid diagonal that divides the polygon into two
203
+ var a = start;
204
+ do {
205
+ var b = a.next.next;
206
+ while (b !== a.prev) {
207
+ if (a.i !== b.i && isValidDiagonal(a, b)) {
208
+ // split the polygon in two by the diagonal
209
+ var c = splitPolygon(a, b);
210
+ // filter colinear points around the cuts
211
+ a = filterPoints(a, a.next);
212
+ c = filterPoints(c, c.next);
213
+ // run earcut on each half
214
+ earcutLinked(a, triangles, dim, minX, minY, size);
215
+ earcutLinked(c, triangles, dim, minX, minY, size);
216
+ return;
217
+ }
218
+ b = b.next;
219
+ }
220
+ a = a.next;
221
+ } while (a !== start);
222
+ }
223
+ // link every hole into the outer loop, producing a single-ring polygon without holes
224
+ function eliminateHoles(data, holeIndices, outerNode, dim) {
225
+ var queue = [], i, len, start, end, list;
226
+ for (i = 0, len = holeIndices.length; i < len; i++) {
227
+ start = holeIndices[i] * dim;
228
+ end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;
229
+ list = linkedList(data, start, end, dim, false);
230
+ if (list === list.next)
231
+ list.steiner = true;
232
+ queue.push(getLeftmost(list));
233
+ }
234
+ queue.sort(compareX);
235
+ // process holes from left to right
236
+ for (i = 0; i < queue.length; i++) {
237
+ eliminateHole(queue[i], outerNode);
238
+ outerNode = filterPoints(outerNode, outerNode.next);
239
+ }
240
+ return outerNode;
241
+ }
242
+ function compareX(a, b) {
243
+ return a.x - b.x;
244
+ }
245
+ // find a bridge between vertices that connects hole with an outer ring and and link it
246
+ function eliminateHole(hole, outerNode) {
247
+ outerNode = findHoleBridge(hole, outerNode);
248
+ if (outerNode) {
249
+ var b = splitPolygon(outerNode, hole);
250
+ filterPoints(b, b.next);
251
+ }
252
+ }
253
+ // David Eberly's algorithm for finding a bridge between hole and outer polygon
254
+ function findHoleBridge(hole, outerNode) {
255
+ var p = outerNode, hx = hole.x, hy = hole.y, qx = -Infinity, m;
256
+ // find a segment intersected by a ray from the hole's leftmost point to the left;
257
+ // segment's endpoint with lesser x will be potential connection point
258
+ do {
259
+ if (hy <= p.y && hy >= p.next.y && p.next.y !== p.y) {
260
+ var x = p.x + (hy - p.y) * (p.next.x - p.x) / (p.next.y - p.y);
261
+ if (x <= hx && x > qx) {
262
+ qx = x;
263
+ if (x === hx) {
264
+ if (hy === p.y)
265
+ return p;
266
+ if (hy === p.next.y)
267
+ return p.next;
268
+ }
269
+ m = p.x < p.next.x ? p : p.next;
270
+ }
271
+ }
272
+ p = p.next;
273
+ } while (p !== outerNode);
274
+ if (!m)
275
+ return null;
276
+ if (hx === qx)
277
+ return m.prev; // hole touches outer segment; pick lower endpoint
278
+ // look for points inside the triangle of hole point, segment intersection and endpoint;
279
+ // if there are no points found, we have a valid connection;
280
+ // otherwise choose the point of the minimum angle with the ray as connection point
281
+ var stop = m, mx = m.x, my = m.y, tanMin = Infinity, tan;
282
+ p = m.next;
283
+ while (p !== stop) {
284
+ if (hx >= p.x && p.x >= mx && hx !== p.x &&
285
+ pointInTriangle(hy < my ? hx : qx, hy, mx, my, hy < my ? qx : hx, hy, p.x, p.y)) {
286
+ tan = Math.abs(hy - p.y) / (hx - p.x); // tangential
287
+ if ((tan < tanMin || (tan === tanMin && p.x > m.x)) && locallyInside(p, hole)) {
288
+ m = p;
289
+ tanMin = tan;
290
+ }
291
+ }
292
+ p = p.next;
293
+ }
294
+ return m;
295
+ }
296
+ // interlink polygon nodes in z-order
297
+ function indexCurve(start, minX, minY, size) {
298
+ var p = start;
299
+ do {
300
+ if (p.z === null)
301
+ p.z = zOrder(p.x, p.y, minX, minY, size);
302
+ p.prevZ = p.prev;
303
+ p.nextZ = p.next;
304
+ p = p.next;
305
+ } while (p !== start);
306
+ p.prevZ.nextZ = null;
307
+ p.prevZ = null;
308
+ sortLinked(p);
309
+ }
310
+ // Simon Tatham's linked list merge sort algorithm
311
+ // http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html
312
+ function sortLinked(list) {
313
+ var i, p, q, e, tail, numMerges, pSize, qSize, inSize = 1;
314
+ do {
315
+ p = list;
316
+ list = null;
317
+ tail = null;
318
+ numMerges = 0;
319
+ while (p) {
320
+ numMerges++;
321
+ q = p;
322
+ pSize = 0;
323
+ for (i = 0; i < inSize; i++) {
324
+ pSize++;
325
+ q = q.nextZ;
326
+ if (!q)
327
+ break;
328
+ }
329
+ qSize = inSize;
330
+ while (pSize > 0 || (qSize > 0 && q)) {
331
+ if (pSize !== 0 && (qSize === 0 || !q || p.z <= q.z)) {
332
+ e = p;
333
+ p = p.nextZ;
334
+ pSize--;
335
+ }
336
+ else {
337
+ e = q;
338
+ q = q.nextZ;
339
+ qSize--;
340
+ }
341
+ if (tail)
342
+ tail.nextZ = e;
343
+ else
344
+ list = e;
345
+ e.prevZ = tail;
346
+ tail = e;
347
+ }
348
+ p = q;
349
+ }
350
+ tail.nextZ = null;
351
+ inSize *= 2;
352
+ } while (numMerges > 1);
353
+ return list;
354
+ }
355
+ // z-order of a point given coords and size of the data bounding box
356
+ function zOrder(x, y, minX, minY, size) {
357
+ // coords are transformed into non-negative 15-bit integer range
358
+ x = 32767 * (x - minX) / size;
359
+ y = 32767 * (y - minY) / size;
360
+ x = (x | (x << 8)) & 0x00FF00FF;
361
+ x = (x | (x << 4)) & 0x0F0F0F0F;
362
+ x = (x | (x << 2)) & 0x33333333;
363
+ x = (x | (x << 1)) & 0x55555555;
364
+ y = (y | (y << 8)) & 0x00FF00FF;
365
+ y = (y | (y << 4)) & 0x0F0F0F0F;
366
+ y = (y | (y << 2)) & 0x33333333;
367
+ y = (y | (y << 1)) & 0x55555555;
368
+ return x | (y << 1);
369
+ }
370
+ // find the leftmost node of a polygon ring
371
+ function getLeftmost(start) {
372
+ var p = start, leftmost = start;
373
+ do {
374
+ if (p.x < leftmost.x)
375
+ leftmost = p;
376
+ p = p.next;
377
+ } while (p !== start);
378
+ return leftmost;
379
+ }
380
+ // check if a point lies within a convex triangle
381
+ function pointInTriangle(ax, ay, bx, by, cx, cy, px, py) {
382
+ return (cx - px) * (ay - py) - (ax - px) * (cy - py) >= 0 &&
383
+ (ax - px) * (by - py) - (bx - px) * (ay - py) >= 0 &&
384
+ (bx - px) * (cy - py) - (cx - px) * (by - py) >= 0;
385
+ }
386
+ // check if a diagonal between two polygon nodes is valid (lies in polygon interior)
387
+ function isValidDiagonal(a, b) {
388
+ return a.next.i !== b.i && a.prev.i !== b.i && !intersectsPolygon(a, b) &&
389
+ locallyInside(a, b) && locallyInside(b, a) && middleInside(a, b);
390
+ }
391
+ // signed area of a triangle
392
+ function area(p, q, r) {
393
+ return (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y);
394
+ }
395
+ // check if two points are equal
396
+ function equals(p1, p2) {
397
+ return p1.x === p2.x && p1.y === p2.y;
398
+ }
399
+ // check if two segments intersect
400
+ function intersects(p1, q1, p2, q2) {
401
+ if ((equals(p1, q1) && equals(p2, q2)) ||
402
+ (equals(p1, q2) && equals(p2, q1)))
403
+ return true;
404
+ return area(p1, q1, p2) > 0 !== area(p1, q1, q2) > 0 &&
405
+ area(p2, q2, p1) > 0 !== area(p2, q2, q1) > 0;
406
+ }
407
+ // check if a polygon diagonal intersects any polygon segments
408
+ function intersectsPolygon(a, b) {
409
+ var p = a;
410
+ do {
411
+ if (p.i !== a.i && p.next.i !== a.i && p.i !== b.i && p.next.i !== b.i &&
412
+ intersects(p, p.next, a, b))
413
+ return true;
414
+ p = p.next;
415
+ } while (p !== a);
416
+ return false;
417
+ }
418
+ // check if a polygon diagonal is locally inside the polygon
419
+ function locallyInside(a, b) {
420
+ return area(a.prev, a, a.next) < 0 ?
421
+ area(a, b, a.next) >= 0 && area(a, a.prev, b) >= 0 :
422
+ area(a, b, a.prev) < 0 || area(a, a.next, b) < 0;
423
+ }
424
+ // check if the middle point of a polygon diagonal is inside the polygon
425
+ function middleInside(a, b) {
426
+ var p = a, inside = false, px = (a.x + b.x) / 2, py = (a.y + b.y) / 2;
427
+ do {
428
+ if (((p.y > py) !== (p.next.y > py)) && p.next.y !== p.y &&
429
+ (px < (p.next.x - p.x) * (py - p.y) / (p.next.y - p.y) + p.x))
430
+ inside = !inside;
431
+ p = p.next;
432
+ } while (p !== a);
433
+ return inside;
434
+ }
435
+ // link two polygon vertices with a bridge; if the vertices belong to the same ring, it splits polygon into two;
436
+ // if one belongs to the outer ring and another to a hole, it merges it into a single ring
437
+ function splitPolygon(a, b) {
438
+ var a2 = new Node(a.i, a.x, a.y), b2 = new Node(b.i, b.x, b.y), an = a.next, bp = b.prev;
439
+ a.next = b;
440
+ b.prev = a;
441
+ a2.next = an;
442
+ an.prev = a2;
443
+ b2.next = a2;
444
+ a2.prev = b2;
445
+ bp.next = b2;
446
+ b2.prev = bp;
447
+ return b2;
448
+ }
449
+ // create a node and optionally link it with previous one (in a circular doubly linked list)
450
+ function insertNode(i, x, y, last) {
451
+ var p = new Node(i, x, y);
452
+ if (!last) {
453
+ p.prev = p;
454
+ p.next = p;
455
+ }
456
+ else {
457
+ p.next = last.next;
458
+ p.prev = last;
459
+ last.next.prev = p;
460
+ last.next = p;
461
+ }
462
+ return p;
463
+ }
464
+ function removeNode(p) {
465
+ p.next.prev = p.prev;
466
+ p.prev.next = p.next;
467
+ if (p.prevZ)
468
+ p.prevZ.nextZ = p.nextZ;
469
+ if (p.nextZ)
470
+ p.nextZ.prevZ = p.prevZ;
471
+ }
472
+ function Node(i, x, y) {
473
+ // vertice index in coordinates array
474
+ this.i = i;
475
+ // vertex coordinates
476
+ this.x = x;
477
+ this.y = y;
478
+ // previous and next vertice nodes in a polygon ring
479
+ this.prev = null;
480
+ this.next = null;
481
+ // z-order curve value
482
+ this.z = null;
483
+ // previous and next nodes in z-order
484
+ this.prevZ = null;
485
+ this.nextZ = null;
486
+ // indicates whether this is a steiner point
487
+ this.steiner = false;
488
+ }
489
+ // return a percentage difference between the polygon area and its triangulation area;
490
+ // used to verify correctness of triangulation
491
+ function deviation(data, holeIndices, dim, triangles) {
492
+ var hasHoles = holeIndices && holeIndices.length;
493
+ var outerLen = hasHoles ? holeIndices[0] * dim : data.length;
494
+ var polygonArea = Math.abs(signedArea(data, 0, outerLen, dim));
495
+ if (hasHoles) {
496
+ for (let i = 0, len = holeIndices.length; i < len; i++) {
497
+ var start = holeIndices[i] * dim;
498
+ var end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;
499
+ polygonArea -= Math.abs(signedArea(data, start, end, dim));
500
+ }
501
+ }
502
+ var trianglesArea = 0;
503
+ for (let i = 0; i < triangles.length; i += 3) {
504
+ var a = triangles[i] * dim;
505
+ var b = triangles[i + 1] * dim;
506
+ var c = triangles[i + 2] * dim;
507
+ trianglesArea += Math.abs((data[a] - data[c]) * (data[b + 1] - data[a + 1]) -
508
+ (data[a] - data[b]) * (data[c + 1] - data[a + 1]));
509
+ }
510
+ return polygonArea === 0 && trianglesArea === 0 ? 0 :
511
+ Math.abs((trianglesArea - polygonArea) / polygonArea);
512
+ }
513
+ function signedArea(data, start, end, dim) {
514
+ var sum = 0;
515
+ for (let i = start, j = end - dim; i < end; i += dim) {
516
+ sum += (data[j] - data[i]) * (data[i + 1] + data[j + 1]);
517
+ j = i;
518
+ }
519
+ return sum;
520
+ }
521
+ // turn a polygon in a multi-dimensional array form (e.g. as in GeoJSON) into a form Earcut accepts
522
+ function flatten(data) {
523
+ var dim = data[0][0].length, result = { vertices: [], holes: [], dimensions: dim }, holeIndex = 0;
524
+ for (let i = 0; i < data.length; i++) {
525
+ for (let j = 0; j < data[i].length; j++) {
526
+ for (let d = 0; d < dim; d++)
527
+ result.vertices.push(data[i][j][d]);
528
+ }
529
+ if (i > 0) {
530
+ holeIndex += data[i - 1].length;
531
+ result.holes.push(holeIndex);
532
+ }
533
+ }
534
+ return result;
535
+ }
536
+ export { earcut, flatten };