@cesium/engine 26.2.0 → 26.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (366) hide show
  1. package/Build/ThirdParty/Workers/zip-web-worker.js +656 -518
  2. package/Build/Workers/{chunk-FU4BGABC.js → chunk-2DKJSPYF.js} +14 -14
  3. package/Build/Workers/{chunk-NCL22ZUX.js → chunk-2PWVICP6.js} +1 -1
  4. package/Build/Workers/{chunk-ILME5BXA.js → chunk-2YY724ZX.js} +8 -8
  5. package/Build/Workers/{chunk-IJZJMIUY.js → chunk-4DMAXPKB.js} +11 -11
  6. package/Build/Workers/{chunk-IMBVP57H.js → chunk-4LRFYRBX.js} +2 -2
  7. package/Build/Workers/{chunk-76FDC45O.js → chunk-5JCZHJUU.js} +13 -13
  8. package/Build/Workers/{chunk-5LSOO2KD.js → chunk-5KG7KDDW.js} +7 -7
  9. package/Build/Workers/{chunk-UAZUP4I5.js → chunk-6BSNYZZG.js} +5 -5
  10. package/Build/Workers/{chunk-D6AY775A.js → chunk-6R6SGKYN.js} +6 -6
  11. package/Build/Workers/{chunk-3PSS3T43.js → chunk-6V2KDEHL.js} +4 -4
  12. package/Build/Workers/{chunk-GHXVQVUM.js → chunk-75BC2IHI.js} +7 -7
  13. package/Build/Workers/{chunk-SMTGMFBL.js → chunk-7SESBH2I.js} +4 -4
  14. package/Build/Workers/{chunk-NEFDMMLY.js → chunk-7WXBTNRV.js} +8 -8
  15. package/Build/Workers/{chunk-NXGQBQWE.js → chunk-A7SMPV6B.js} +12 -12
  16. package/Build/Workers/{chunk-O3XFXGPZ.js → chunk-ATSXKJ3L.js} +7 -7
  17. package/Build/Workers/{chunk-AHWAZRBV.js → chunk-B4AVL7VI.js} +1 -1
  18. package/Build/Workers/{chunk-OZGPS7FB.js → chunk-B7Q2WF6Q.js} +4 -4
  19. package/Build/Workers/{chunk-2RGJPWQX.js → chunk-BNDSDQ7D.js} +9 -9
  20. package/Build/Workers/{chunk-2Z4ZLVOD.js → chunk-CKK6CUXK.js} +6 -6
  21. package/Build/Workers/{chunk-FCP2QY4G.js → chunk-COKOYTRS.js} +5 -5
  22. package/Build/Workers/{chunk-6FZDPMTO.js → chunk-CQ4TZXAT.js} +6 -6
  23. package/Build/Workers/{chunk-HDL4HOXZ.js → chunk-DKSANM4A.js} +12 -12
  24. package/Build/Workers/{chunk-XCBZVTIV.js → chunk-DZK34ZVD.js} +1 -1
  25. package/Build/Workers/{chunk-N7CCOFLX.js → chunk-E7G32DWL.js} +1 -1
  26. package/Build/Workers/{chunk-XDWCTQCZ.js → chunk-EDETO6NY.js} +2 -2
  27. package/Build/Workers/{chunk-NSKZ6SBK.js → chunk-F34TJJLA.js} +14 -14
  28. package/Build/Workers/{chunk-GXWQZBAI.js → chunk-GLHDTTTO.js} +2 -2
  29. package/Build/Workers/{chunk-SJYSIOEM.js → chunk-GS7RY2DH.js} +11 -11
  30. package/Build/Workers/{chunk-5YPQBFRD.js → chunk-HDD3RFLT.js} +3 -3
  31. package/Build/Workers/{chunk-36NI5E6W.js → chunk-HDPNFEPP.js} +18 -18
  32. package/Build/Workers/{chunk-DSGLDRTI.js → chunk-JBJ6BRIM.js} +4 -4
  33. package/Build/Workers/{chunk-DZUFEE4L.js → chunk-JKTWW7IO.js} +5 -5
  34. package/Build/Workers/{chunk-O3DKEX7Q.js → chunk-JL4NWWQY.js} +5 -5
  35. package/Build/Workers/{chunk-I74ZH5LK.js → chunk-JMUUAW4X.js} +10 -10
  36. package/Build/Workers/{chunk-SXSP3JHS.js → chunk-KBGAHN5R.js} +1 -1
  37. package/Build/Workers/{chunk-GVA7XQI2.js → chunk-KEWK6VZL.js} +12 -12
  38. package/Build/Workers/{chunk-EOWDZN5S.js → chunk-L73K5UPP.js} +10 -10
  39. package/Build/Workers/{chunk-J73T2VOY.js → chunk-LL2SGJYH.js} +6 -6
  40. package/Build/Workers/{chunk-QFSSCLLZ.js → chunk-LYJUL4XQ.js} +6 -6
  41. package/Build/Workers/{chunk-MAAHFYPC.js → chunk-M6W46OAP.js} +7 -7
  42. package/Build/Workers/{chunk-FX3VEAIU.js → chunk-MDDKCLMF.js} +16 -16
  43. package/Build/Workers/{chunk-M6QKXVAU.js → chunk-MUW4DJV7.js} +17 -17
  44. package/Build/Workers/{chunk-EZGQPOIG.js → chunk-N5YK44FS.js} +5 -5
  45. package/Build/Workers/{chunk-27FWRTJI.js → chunk-NZQUP52G.js} +9 -9
  46. package/Build/Workers/{chunk-A62YI6S6.js → chunk-PKZA44LH.js} +4 -4
  47. package/Build/Workers/{chunk-7MM3N2VE.js → chunk-Q2JS5LCB.js} +17 -17
  48. package/Build/Workers/{chunk-KGXSYGBG.js → chunk-QTAEVUED.js} +13 -13
  49. package/Build/Workers/{chunk-KP5QD7WU.js → chunk-SEJIXZZ4.js} +10 -10
  50. package/Build/Workers/{chunk-PRWUMCXF.js → chunk-SL2HCFYW.js} +10 -10
  51. package/Build/Workers/{chunk-NJVBJG63.js → chunk-SLHK3KAR.js} +5 -5
  52. package/Build/Workers/{chunk-JKXV6PG5.js → chunk-UZY5XRL2.js} +1 -1
  53. package/Build/Workers/{chunk-LDRQSYBN.js → chunk-VRECSMG3.js} +2 -2
  54. package/Build/Workers/{chunk-NLLCQBX3.js → chunk-X27HKF5E.js} +2 -2
  55. package/Build/Workers/{chunk-B3QHNA4A.js → chunk-XBY3354M.js} +6 -6
  56. package/Build/Workers/{chunk-CRCGE4J4.js → chunk-XRZCS3HE.js} +8 -8
  57. package/Build/Workers/{chunk-XLQZNQ4Z.js → chunk-XSIUYAT6.js} +2 -2
  58. package/Build/Workers/{chunk-SA2A2AN5.js → chunk-Z2DW5NM2.js} +4 -4
  59. package/Build/Workers/combineGeometry.js +24 -24
  60. package/Build/Workers/createBoxGeometry.js +18 -18
  61. package/Build/Workers/createBoxOutlineGeometry.js +16 -16
  62. package/Build/Workers/createCircleGeometry.js +26 -26
  63. package/Build/Workers/createCircleOutlineGeometry.js +19 -19
  64. package/Build/Workers/createCoplanarPolygonGeometry.js +33 -33
  65. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
  66. package/Build/Workers/createCorridorGeometry.js +29 -29
  67. package/Build/Workers/createCorridorOutlineGeometry.js +28 -28
  68. package/Build/Workers/createCylinderGeometry.js +20 -20
  69. package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
  70. package/Build/Workers/createEllipseGeometry.js +26 -26
  71. package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
  72. package/Build/Workers/createEllipsoidGeometry.js +19 -19
  73. package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
  74. package/Build/Workers/createFrustumGeometry.js +18 -18
  75. package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
  76. package/Build/Workers/createGeometry.js +24 -24
  77. package/Build/Workers/createGroundPolylineGeometry.js +22 -22
  78. package/Build/Workers/createPlaneGeometry.js +16 -16
  79. package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
  80. package/Build/Workers/createPolygonGeometry.js +32 -32
  81. package/Build/Workers/createPolygonOutlineGeometry.js +30 -30
  82. package/Build/Workers/createPolylineGeometry.js +25 -25
  83. package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
  84. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
  85. package/Build/Workers/createRectangleGeometry.js +27 -27
  86. package/Build/Workers/createRectangleOutlineGeometry.js +20 -20
  87. package/Build/Workers/createSimplePolylineGeometry.js +23 -23
  88. package/Build/Workers/createSphereGeometry.js +19 -19
  89. package/Build/Workers/createSphereOutlineGeometry.js +18 -18
  90. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  91. package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
  92. package/Build/Workers/createVectorTileGeometries.js +24 -24
  93. package/Build/Workers/createVectorTilePoints.js +13 -13
  94. package/Build/Workers/createVectorTilePolygons.js +22 -22
  95. package/Build/Workers/createVectorTilePolylines.js +14 -14
  96. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +25 -25
  97. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -22
  98. package/Build/Workers/createVerticesFromHeightmap.js +22 -22
  99. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +20 -20
  100. package/Build/Workers/createWallGeometry.js +24 -24
  101. package/Build/Workers/createWallOutlineGeometry.js +23 -23
  102. package/Build/Workers/decodeDraco.js +10 -10
  103. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  104. package/Build/Workers/decodeI3S.js +10 -10
  105. package/Build/Workers/gaussianSplatSorter.js +4 -4
  106. package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
  107. package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
  108. package/Build/Workers/transcodeKTX2.js +6 -6
  109. package/Build/Workers/transferTypedArrayTest.js +1 -1
  110. package/Build/Workers/upsampleQuantizedTerrainMesh.js +22 -22
  111. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +25 -25
  112. package/Source/Core/Ion.js +1 -1
  113. package/Source/Core/IonResource.js +5 -0
  114. package/Source/Core/IonSnapGeometryType.js +59 -0
  115. package/Source/Core/IonSnapHeat.js +33 -0
  116. package/Source/Core/IonSnapMode.js +45 -0
  117. package/Source/Core/IonSnapParentGeometryType.js +52 -0
  118. package/Source/Core/IonSnapService.js +369 -0
  119. package/Source/Core/SnapService.js +63 -0
  120. package/Source/Core/VectorPipeline.js +139 -45
  121. package/Source/Core/VectorProvider.js +311 -71
  122. package/Source/Renderer/AutomaticUniforms.js +44 -2
  123. package/Source/Renderer/ShaderBuilder.js +1 -1
  124. package/Source/Renderer/UniformState.js +47 -1
  125. package/Source/Scene/ArcGisMapService.js +1 -1
  126. package/Source/Scene/BufferPointCollection.js +4 -7
  127. package/Source/Scene/BufferPolygonCollection.js +56 -27
  128. package/Source/Scene/BufferPolylineCollection.js +61 -8
  129. package/Source/Scene/BufferPolylineMaterial.js +6 -5
  130. package/Source/Scene/BufferPrimitiveCollection.js +199 -29
  131. package/Source/Scene/Cesium3DTile.js +12 -0
  132. package/Source/Scene/Cesium3DTileset.js +61 -8
  133. package/Source/Scene/Cesium3DTilesetBaseTraversal.js +15 -3
  134. package/Source/Scene/Cesium3DTilesetCache.js +15 -0
  135. package/Source/Scene/ClippingPolygon.js +154 -100
  136. package/Source/Scene/ClippingPolygonCollection.js +352 -694
  137. package/Source/Scene/CreditDisplay.js +62 -0
  138. package/Source/Scene/GeoJsonPrimitive.js +114 -24
  139. package/Source/Scene/GlobeSurfaceShaderSet.js +33 -54
  140. package/Source/Scene/GlobeSurfaceTile.js +14 -1
  141. package/Source/Scene/GlobeSurfaceTileProvider.js +232 -25
  142. package/Source/Scene/GltfLoader.js +56 -6
  143. package/Source/Scene/HeightReference.js +1 -1
  144. package/Source/Scene/MVTDataProvider.js +9 -0
  145. package/Source/Scene/Model/Model.js +242 -16
  146. package/Source/Scene/Model/Model3DTileContent.js +5 -0
  147. package/Source/Scene/Model/ModelClippingPolygonsPipelineStage.js +54 -19
  148. package/Source/Scene/Model/ModelRenderResources.js +2 -3
  149. package/Source/Scene/Model/ModelSceneGraph.js +10 -1
  150. package/Source/Scene/Model/ModelVectorLookupPipelineStage.js +205 -0
  151. package/Source/Scene/Model/PickingPipelineStage.js +4 -0
  152. package/Source/Scene/PostProcessStage.js +22 -3
  153. package/Source/Scene/Scene.js +56 -1
  154. package/Source/Scene/Snapping.js +57 -0
  155. package/Source/Scene/UrlTemplate3DTilesDataProvider.js +12 -1
  156. package/Source/Scene/VectorGltf3DTileContent.js +10 -2
  157. package/Source/Scene/WebMapServiceImageryProvider.js +5 -1
  158. package/Source/Scene/WebMapTileServiceImageryProvider.js +6 -1
  159. package/Source/Scene/renderBufferPolylineCollection.js +5 -1
  160. package/Source/Shaders/BufferPolylineMaterialVS.glsl +14 -2
  161. package/Source/Shaders/BufferPolylineMaterialVS.js +14 -2
  162. package/Source/Shaders/Builtin/CzmBuiltins.js +2 -4
  163. package/Source/Shaders/Builtin/Functions/eyeToCartographicDelta.glsl +74 -0
  164. package/Source/Shaders/Builtin/Functions/eyeToCartographicDelta.js +76 -0
  165. package/Source/Shaders/GlobeFS.glsl +10 -9
  166. package/Source/Shaders/GlobeFS.js +11 -9
  167. package/Source/Shaders/GlobeVS.glsl +0 -32
  168. package/Source/Shaders/GlobeVS.js +0 -32
  169. package/Source/Shaders/Model/ModelClippingPolygonsStageFS.glsl +15 -3
  170. package/Source/Shaders/Model/ModelClippingPolygonsStageFS.js +15 -3
  171. package/Source/Shaders/Model/ModelClippingPolygonsStageVS.glsl +20 -24
  172. package/Source/Shaders/Model/ModelClippingPolygonsStageVS.js +20 -24
  173. package/Source/Shaders/Model/ModelFS.glsl +4 -0
  174. package/Source/Shaders/Model/ModelFS.js +4 -0
  175. package/Source/Shaders/Model/ModelVS.glsl +7 -2
  176. package/Source/Shaders/Model/ModelVS.js +7 -2
  177. package/Source/Shaders/Model/ModelVectorLookupStageFS.glsl +6 -0
  178. package/Source/Shaders/Model/ModelVectorLookupStageFS.js +8 -0
  179. package/Source/Shaders/Model/ModelVectorLookupStageVS.glsl +15 -0
  180. package/Source/Shaders/Model/ModelVectorLookupStageVS.js +17 -0
  181. package/Source/Shaders/Model/VerticalExaggerationStageVS.glsl +9 -10
  182. package/Source/Shaders/Model/VerticalExaggerationStageVS.js +9 -11
  183. package/Source/Shaders/VectorCommon.glsl +177 -50
  184. package/Source/Shaders/VectorCommon.js +251 -19
  185. package/Source/ThirdParty/Workers/zip-web-worker.js +1 -1
  186. package/index.d.ts +556 -55
  187. package/index.js +20 -13
  188. package/package.json +6 -6
  189. package/Build/Workers/chunk-2EFYUSUY.js +0 -1483
  190. package/Build/Workers/chunk-2H5264K7.js +0 -1284
  191. package/Build/Workers/chunk-2H73KDBM.js +0 -511
  192. package/Build/Workers/chunk-2ZKH2QZB.js +0 -387
  193. package/Build/Workers/chunk-37SW7SYS.js +0 -778
  194. package/Build/Workers/chunk-3GHVJ3SO.js +0 -455
  195. package/Build/Workers/chunk-3LB4UVPU.js +0 -387
  196. package/Build/Workers/chunk-3PONLKEL.js +0 -778
  197. package/Build/Workers/chunk-3QR662HH.js +0 -3820
  198. package/Build/Workers/chunk-3SX2WYSO.js +0 -973
  199. package/Build/Workers/chunk-3UDN6LYX.js +0 -476
  200. package/Build/Workers/chunk-47MCBSXI.js +0 -9237
  201. package/Build/Workers/chunk-4E626OCE.js +0 -1067
  202. package/Build/Workers/chunk-4NW2MJKH.js +0 -455
  203. package/Build/Workers/chunk-52YK5BSN.js +0 -198
  204. package/Build/Workers/chunk-5RNAQZK6.js +0 -9234
  205. package/Build/Workers/chunk-6FHT43QR.js +0 -140
  206. package/Build/Workers/chunk-6HK6IXK2.js +0 -138
  207. package/Build/Workers/chunk-6R5X2GUA.js +0 -1284
  208. package/Build/Workers/chunk-6YR6JBMY.js +0 -163
  209. package/Build/Workers/chunk-7A2OGDHT.js +0 -305
  210. package/Build/Workers/chunk-7CGEQUM2.js +0 -305
  211. package/Build/Workers/chunk-7D2HZKH7.js +0 -455
  212. package/Build/Workers/chunk-7I325HV6.js +0 -1344
  213. package/Build/Workers/chunk-7KVKHY7O.js +0 -147
  214. package/Build/Workers/chunk-7TKLTCZW.js +0 -219
  215. package/Build/Workers/chunk-7UUKBDH6.js +0 -1054
  216. package/Build/Workers/chunk-7W6DUHAB.js +0 -693
  217. package/Build/Workers/chunk-7XM5JK5F.js +0 -162
  218. package/Build/Workers/chunk-7YG3ND3P.js +0 -454
  219. package/Build/Workers/chunk-A3O6EDBK.js +0 -73
  220. package/Build/Workers/chunk-A6X24AZI.js +0 -1992
  221. package/Build/Workers/chunk-A7TTWVTF.js +0 -2719
  222. package/Build/Workers/chunk-ACTVJHSP.js +0 -519
  223. package/Build/Workers/chunk-ADX3CBKD.js +0 -9234
  224. package/Build/Workers/chunk-AF7DTMJ7.js +0 -398
  225. package/Build/Workers/chunk-AJSFRY4U.js +0 -1344
  226. package/Build/Workers/chunk-ARZICEEP.js +0 -301
  227. package/Build/Workers/chunk-B4CQSLZJ.js +0 -305
  228. package/Build/Workers/chunk-BKPQFCXH.js +0 -511
  229. package/Build/Workers/chunk-BSPCI2LO.js +0 -959
  230. package/Build/Workers/chunk-BUJWSX5S.js +0 -301
  231. package/Build/Workers/chunk-C7JQVRLM.js +0 -497
  232. package/Build/Workers/chunk-C7QDUNI3.js +0 -138
  233. package/Build/Workers/chunk-CDJDJ5LK.js +0 -44
  234. package/Build/Workers/chunk-CEEZE3YZ.js +0 -476
  235. package/Build/Workers/chunk-CIV5DJOQ.js +0 -778
  236. package/Build/Workers/chunk-CLCTQVVL.js +0 -241
  237. package/Build/Workers/chunk-CQNFIAZU.js +0 -56
  238. package/Build/Workers/chunk-CUTRKXUQ.js +0 -288
  239. package/Build/Workers/chunk-DBD5WWG2.js +0 -959
  240. package/Build/Workers/chunk-DIGUUD6G.js +0 -171
  241. package/Build/Workers/chunk-DZBQUULR.js +0 -138
  242. package/Build/Workers/chunk-E2NKV5YT.js +0 -3820
  243. package/Build/Workers/chunk-E7NZJOK7.js +0 -3792
  244. package/Build/Workers/chunk-EB3Y5P3A.js +0 -368
  245. package/Build/Workers/chunk-EHTS2YPT.js +0 -2719
  246. package/Build/Workers/chunk-ELE6SC2C.js +0 -837
  247. package/Build/Workers/chunk-ENNFMWDW.js +0 -789
  248. package/Build/Workers/chunk-ERKUET22.js +0 -3201
  249. package/Build/Workers/chunk-F2IMBMZY.js +0 -241
  250. package/Build/Workers/chunk-F4CSNRZO.js +0 -219
  251. package/Build/Workers/chunk-FBP4DUQJ.js +0 -693
  252. package/Build/Workers/chunk-FDK4K5IA.js +0 -280
  253. package/Build/Workers/chunk-FGQFQHN5.js +0 -1054
  254. package/Build/Workers/chunk-FJWZMGOQ.js +0 -1992
  255. package/Build/Workers/chunk-FQ42MT7M.js +0 -58
  256. package/Build/Workers/chunk-GGNWQWSB.js +0 -301
  257. package/Build/Workers/chunk-GNKXEN4C.js +0 -682
  258. package/Build/Workers/chunk-GSWMAFTE.js +0 -9230
  259. package/Build/Workers/chunk-GXDHRC4J.js +0 -1344
  260. package/Build/Workers/chunk-GYSYP6PC.js +0 -1067
  261. package/Build/Workers/chunk-H2WCFXLP.js +0 -241
  262. package/Build/Workers/chunk-HHV3MCGV.js +0 -162
  263. package/Build/Workers/chunk-HLW2ZRVK.js +0 -368
  264. package/Build/Workers/chunk-HS6AD4P2.js +0 -398
  265. package/Build/Workers/chunk-HT6FASOT.js +0 -973
  266. package/Build/Workers/chunk-IDVHUDZT.js +0 -352
  267. package/Build/Workers/chunk-IGAZBTFZ.js +0 -3201
  268. package/Build/Workers/chunk-IOO7Z2AV.js +0 -57
  269. package/Build/Workers/chunk-IUIFLOYO.js +0 -44
  270. package/Build/Workers/chunk-JALGQYDY.js +0 -288
  271. package/Build/Workers/chunk-JW6OZT4R.js +0 -288
  272. package/Build/Workers/chunk-JXYLJCTC.js +0 -124
  273. package/Build/Workers/chunk-K27QOAW6.js +0 -97
  274. package/Build/Workers/chunk-KMV25A63.js +0 -789
  275. package/Build/Workers/chunk-KZWFWJML.js +0 -2719
  276. package/Build/Workers/chunk-LCXRRALY.js +0 -387
  277. package/Build/Workers/chunk-LD64RPYV.js +0 -368
  278. package/Build/Workers/chunk-LGNDTZVX.js +0 -97
  279. package/Build/Workers/chunk-LNSQVXFH.js +0 -1800
  280. package/Build/Workers/chunk-M4JZ6TSZ.js +0 -959
  281. package/Build/Workers/chunk-MCJDRDJQ.js +0 -102
  282. package/Build/Workers/chunk-MEENMEAH.js +0 -198
  283. package/Build/Workers/chunk-NAWU5RF4.js +0 -162
  284. package/Build/Workers/chunk-NIWITKQK.js +0 -693
  285. package/Build/Workers/chunk-OA6MYL2C.js +0 -837
  286. package/Build/Workers/chunk-OBEU25PI.js +0 -1067
  287. package/Build/Workers/chunk-OHP4ELS7.js +0 -198
  288. package/Build/Workers/chunk-PCL3Y7H5.js +0 -82
  289. package/Build/Workers/chunk-PD4GK4EM.js +0 -57
  290. package/Build/Workers/chunk-PEDU33QG.js +0 -2342
  291. package/Build/Workers/chunk-PVTSNNVI.js +0 -288
  292. package/Build/Workers/chunk-QHPZH22L.js +0 -241
  293. package/Build/Workers/chunk-QIZDWZK6.js +0 -301
  294. package/Build/Workers/chunk-QV6DG2YX.js +0 -1483
  295. package/Build/Workers/chunk-QVLAFFJY.js +0 -56
  296. package/Build/Workers/chunk-R4FPNAZ2.js +0 -352
  297. package/Build/Workers/chunk-R4K7EHOU.js +0 -171
  298. package/Build/Workers/chunk-R7JGHDD6.js +0 -789
  299. package/Build/Workers/chunk-RASQEYD4.js +0 -1483
  300. package/Build/Workers/chunk-RG4F5R57.js +0 -454
  301. package/Build/Workers/chunk-RW6ITX7Q.js +0 -3820
  302. package/Build/Workers/chunk-RYSQVJR6.js +0 -398
  303. package/Build/Workers/chunk-S6RJU5NM.js +0 -1054
  304. package/Build/Workers/chunk-SDFHDNS4.js +0 -147
  305. package/Build/Workers/chunk-SF6K72D7.js +0 -124
  306. package/Build/Workers/chunk-SGRGNDOD.js +0 -682
  307. package/Build/Workers/chunk-SM2CDCYF.js +0 -198
  308. package/Build/Workers/chunk-SS5ABQGY.js +0 -102
  309. package/Build/Workers/chunk-T5QBPLE3.js +0 -414
  310. package/Build/Workers/chunk-TN35HP5B.js +0 -1067
  311. package/Build/Workers/chunk-TNWKJNUZ.js +0 -454
  312. package/Build/Workers/chunk-TOAF47AQ.js +0 -102
  313. package/Build/Workers/chunk-TQ4QCOXT.js +0 -2719
  314. package/Build/Workers/chunk-TSDSILQB.js +0 -124
  315. package/Build/Workers/chunk-TVZD72WJ.js +0 -778
  316. package/Build/Workers/chunk-U5LV3F3Z.js +0 -1054
  317. package/Build/Workers/chunk-UEY73NRN.js +0 -38
  318. package/Build/Workers/chunk-UF46SZEZ.js +0 -789
  319. package/Build/Workers/chunk-UNRTMCET.js +0 -398
  320. package/Build/Workers/chunk-UTB7U3O6.js +0 -1992
  321. package/Build/Workers/chunk-UVO6COT2.js +0 -352
  322. package/Build/Workers/chunk-V46YGZE6.js +0 -352
  323. package/Build/Workers/chunk-VAL7DYNR.js +0 -278
  324. package/Build/Workers/chunk-VDGOCROW.js +0 -57
  325. package/Build/Workers/chunk-VFWSSBPT.js +0 -511
  326. package/Build/Workers/chunk-VVYMXI3I.js +0 -1284
  327. package/Build/Workers/chunk-VXWHPYQM.js +0 -837
  328. package/Build/Workers/chunk-VXYUBRSB.js +0 -219
  329. package/Build/Workers/chunk-VZLDLEWI.js +0 -387
  330. package/Build/Workers/chunk-W5OCKMPJ.js +0 -101
  331. package/Build/Workers/chunk-WBSY7HDY.js +0 -837
  332. package/Build/Workers/chunk-WN3F4CVG.js +0 -3201
  333. package/Build/Workers/chunk-WPRUWXGV.js +0 -693
  334. package/Build/Workers/chunk-WTO2ERBP.js +0 -414
  335. package/Build/Workers/chunk-WVHMDVG4.js +0 -959
  336. package/Build/Workers/chunk-XGA23TAX.js +0 -73
  337. package/Build/Workers/chunk-XLXSDIP5.js +0 -973
  338. package/Build/Workers/chunk-XQ3SKCMM.js +0 -140
  339. package/Build/Workers/chunk-XQH66YJC.js +0 -147
  340. package/Build/Workers/chunk-XTA7BXJG.js +0 -682
  341. package/Build/Workers/chunk-XTIDAFRS.js +0 -476
  342. package/Build/Workers/chunk-XUEDWBUD.js +0 -682
  343. package/Build/Workers/chunk-XYFLRH3H.js +0 -124
  344. package/Build/Workers/chunk-Y7JRTRTO.js +0 -305
  345. package/Build/Workers/chunk-Y7QSMDCJ.js +0 -352
  346. package/Build/Workers/chunk-YCB5TYTR.js +0 -1483
  347. package/Build/Workers/chunk-YEYOSTJX.js +0 -219
  348. package/Build/Workers/chunk-YGFVAGYF.js +0 -630
  349. package/Build/Workers/chunk-YIIACKQO.js +0 -368
  350. package/Build/Workers/chunk-YJGSP6PE.js +0 -511
  351. package/Build/Workers/chunk-YKU2Q3A2.js +0 -1287
  352. package/Build/Workers/chunk-Z4LR5EHE.js +0 -454
  353. package/Build/Workers/chunk-Z66EVE2A.js +0 -44
  354. package/Build/Workers/chunk-ZHIHHHTB.js +0 -414
  355. package/Build/Workers/chunk-ZMBHFYOX.js +0 -1344
  356. package/Build/Workers/chunk-ZNWHFSLE.js +0 -171
  357. package/Build/Workers/chunk-ZQLZG4IN.js +0 -2342
  358. package/Build/Workers/chunk-ZRTSMUZ2.js +0 -414
  359. package/Build/Workers/chunk-ZSGUV73H.js +0 -2342
  360. package/Build/Workers/chunk-ZZUVT5BM.js +0 -476
  361. package/Source/Shaders/Builtin/Functions/clipPolygons.glsl +0 -37
  362. package/Source/Shaders/Builtin/Functions/clipPolygons.js +0 -39
  363. package/Source/Shaders/Builtin/Functions/unpackClippingExtents.glsl +0 -14
  364. package/Source/Shaders/Builtin/Functions/unpackClippingExtents.js +0 -15
  365. package/Source/Shaders/PolygonSignedDistanceFS.glsl +0 -131
  366. package/Source/Shaders/PolygonSignedDistanceFS.js +0 -132
@@ -1,959 +0,0 @@
1
- /**
2
- * @license
3
- * Cesium - https://github.com/CesiumGS/cesium
4
- * Version 1.143.0
5
- *
6
- * Copyright 2011-2022 Cesium Contributors
7
- *
8
- * Licensed under the Apache License, Version 2.0 (the "License");
9
- * you may not use this file except in compliance with the License.
10
- * You may obtain a copy of the License at
11
- *
12
- * http://www.apache.org/licenses/LICENSE-2.0
13
- *
14
- * Unless required by applicable law or agreed to in writing, software
15
- * distributed under the License is distributed on an "AS IS" BASIS,
16
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
- * See the License for the specific language governing permissions and
18
- * limitations under the License.
19
- *
20
- * Columbus View (Pat. Pend.)
21
- *
22
- * Portions licensed separately.
23
- * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
24
- */
25
-
26
- import {
27
- EllipsoidRhumbLine_default
28
- } from "./chunk-3GHVJ3SO.js";
29
- import {
30
- GeometryAttribute_default,
31
- Geometry_default,
32
- PrimitiveType_default
33
- } from "./chunk-BUJWSX5S.js";
34
- import {
35
- ComponentDatatype_default
36
- } from "./chunk-VAL7DYNR.js";
37
- import {
38
- WebGLConstants_default
39
- } from "./chunk-N7CCOFLX.js";
40
- import {
41
- Cartesian2_default,
42
- Cartographic_default,
43
- Ellipsoid_default
44
- } from "./chunk-FJWZMGOQ.js";
45
- import {
46
- Cartesian3_default
47
- } from "./chunk-PEDU33QG.js";
48
- import {
49
- Math_default
50
- } from "./chunk-C7JQVRLM.js";
51
- import {
52
- Check_default
53
- } from "./chunk-6YR6JBMY.js";
54
- import {
55
- defined_default
56
- } from "./chunk-AHWAZRBV.js";
57
-
58
- // packages/engine/Source/Core/WindingOrder.js
59
- var WindingOrder = {
60
- /**
61
- * Vertices are in clockwise order.
62
- *
63
- * @type {number}
64
- * @constant
65
- */
66
- CLOCKWISE: WebGLConstants_default.CW,
67
- /**
68
- * Vertices are in counter-clockwise order.
69
- *
70
- * @type {number}
71
- * @constant
72
- */
73
- COUNTER_CLOCKWISE: WebGLConstants_default.CCW
74
- };
75
- WindingOrder.validate = function(windingOrder) {
76
- return windingOrder === WindingOrder.CLOCKWISE || windingOrder === WindingOrder.COUNTER_CLOCKWISE;
77
- };
78
- Object.freeze(WindingOrder);
79
- var WindingOrder_default = WindingOrder;
80
-
81
- // node_modules/earcut/src/earcut.js
82
- function earcut(data, holeIndices, dim = 2) {
83
- const hasHoles = holeIndices && holeIndices.length;
84
- const outerLen = hasHoles ? holeIndices[0] * dim : data.length;
85
- let outerNode = linkedList(data, 0, outerLen, dim, true);
86
- const triangles = [];
87
- if (!outerNode || outerNode.next === outerNode.prev) return triangles;
88
- let minX, minY, invSize;
89
- if (hasHoles) outerNode = eliminateHoles(data, holeIndices, outerNode, dim);
90
- if (data.length > 80 * dim) {
91
- minX = data[0];
92
- minY = data[1];
93
- let maxX = minX;
94
- let maxY = minY;
95
- for (let i = dim; i < outerLen; i += dim) {
96
- const x = data[i];
97
- const y = data[i + 1];
98
- if (x < minX) minX = x;
99
- if (y < minY) minY = y;
100
- if (x > maxX) maxX = x;
101
- if (y > maxY) maxY = y;
102
- }
103
- invSize = Math.max(maxX - minX, maxY - minY);
104
- invSize = invSize !== 0 ? 32767 / invSize : 0;
105
- }
106
- earcutLinked(outerNode, triangles, dim, minX, minY, invSize, 0);
107
- return triangles;
108
- }
109
- function linkedList(data, start, end, dim, clockwise) {
110
- let last;
111
- if (clockwise === signedArea(data, start, end, dim) > 0) {
112
- for (let i = start; i < end; i += dim) last = insertNode(i / dim | 0, data[i], data[i + 1], last);
113
- } else {
114
- for (let i = end - dim; i >= start; i -= dim) last = insertNode(i / dim | 0, data[i], data[i + 1], last);
115
- }
116
- if (last && equals(last, last.next)) {
117
- removeNode(last);
118
- last = last.next;
119
- }
120
- return last;
121
- }
122
- function filterPoints(start, end) {
123
- if (!start) return start;
124
- if (!end) end = start;
125
- let p = start, again;
126
- do {
127
- again = false;
128
- if (!p.steiner && (equals(p, p.next) || area(p.prev, p, p.next) === 0)) {
129
- removeNode(p);
130
- p = end = p.prev;
131
- if (p === p.next) break;
132
- again = true;
133
- } else {
134
- p = p.next;
135
- }
136
- } while (again || p !== end);
137
- return end;
138
- }
139
- function earcutLinked(ear, triangles, dim, minX, minY, invSize, pass) {
140
- if (!ear) return;
141
- if (!pass && invSize) indexCurve(ear, minX, minY, invSize);
142
- let stop = ear;
143
- while (ear.prev !== ear.next) {
144
- const prev = ear.prev;
145
- const next = ear.next;
146
- if (invSize ? isEarHashed(ear, minX, minY, invSize) : isEar(ear)) {
147
- triangles.push(prev.i, ear.i, next.i);
148
- removeNode(ear);
149
- ear = next.next;
150
- stop = next.next;
151
- continue;
152
- }
153
- ear = next;
154
- if (ear === stop) {
155
- if (!pass) {
156
- earcutLinked(filterPoints(ear), triangles, dim, minX, minY, invSize, 1);
157
- } else if (pass === 1) {
158
- ear = cureLocalIntersections(filterPoints(ear), triangles);
159
- earcutLinked(ear, triangles, dim, minX, minY, invSize, 2);
160
- } else if (pass === 2) {
161
- splitEarcut(ear, triangles, dim, minX, minY, invSize);
162
- }
163
- break;
164
- }
165
- }
166
- }
167
- function isEar(ear) {
168
- const a = ear.prev, b = ear, c = ear.next;
169
- if (area(a, b, c) >= 0) return false;
170
- const ax = a.x, bx = b.x, cx = c.x, ay = a.y, by = b.y, cy = c.y;
171
- const x0 = Math.min(ax, bx, cx), y0 = Math.min(ay, by, cy), x1 = Math.max(ax, bx, cx), y1 = Math.max(ay, by, cy);
172
- let p = c.next;
173
- while (p !== a) {
174
- if (p.x >= x0 && p.x <= x1 && p.y >= y0 && p.y <= y1 && pointInTriangleExceptFirst(ax, ay, bx, by, cx, cy, p.x, p.y) && area(p.prev, p, p.next) >= 0) return false;
175
- p = p.next;
176
- }
177
- return true;
178
- }
179
- function isEarHashed(ear, minX, minY, invSize) {
180
- const a = ear.prev, b = ear, c = ear.next;
181
- if (area(a, b, c) >= 0) return false;
182
- const ax = a.x, bx = b.x, cx = c.x, ay = a.y, by = b.y, cy = c.y;
183
- const x0 = Math.min(ax, bx, cx), y0 = Math.min(ay, by, cy), x1 = Math.max(ax, bx, cx), y1 = Math.max(ay, by, cy);
184
- const minZ = zOrder(x0, y0, minX, minY, invSize), maxZ = zOrder(x1, y1, minX, minY, invSize);
185
- let p = ear.prevZ, n = ear.nextZ;
186
- while (p && p.z >= minZ && n && n.z <= maxZ) {
187
- if (p.x >= x0 && p.x <= x1 && p.y >= y0 && p.y <= y1 && p !== a && p !== c && pointInTriangleExceptFirst(ax, ay, bx, by, cx, cy, p.x, p.y) && area(p.prev, p, p.next) >= 0) return false;
188
- p = p.prevZ;
189
- if (n.x >= x0 && n.x <= x1 && n.y >= y0 && n.y <= y1 && n !== a && n !== c && pointInTriangleExceptFirst(ax, ay, bx, by, cx, cy, n.x, n.y) && area(n.prev, n, n.next) >= 0) return false;
190
- n = n.nextZ;
191
- }
192
- while (p && p.z >= minZ) {
193
- if (p.x >= x0 && p.x <= x1 && p.y >= y0 && p.y <= y1 && p !== a && p !== c && pointInTriangleExceptFirst(ax, ay, bx, by, cx, cy, p.x, p.y) && area(p.prev, p, p.next) >= 0) return false;
194
- p = p.prevZ;
195
- }
196
- while (n && n.z <= maxZ) {
197
- if (n.x >= x0 && n.x <= x1 && n.y >= y0 && n.y <= y1 && n !== a && n !== c && pointInTriangleExceptFirst(ax, ay, bx, by, cx, cy, n.x, n.y) && area(n.prev, n, n.next) >= 0) return false;
198
- n = n.nextZ;
199
- }
200
- return true;
201
- }
202
- function cureLocalIntersections(start, triangles) {
203
- let p = start;
204
- do {
205
- const a = p.prev, b = p.next.next;
206
- if (!equals(a, b) && intersects(a, p, p.next, b) && locallyInside(a, b) && locallyInside(b, a)) {
207
- triangles.push(a.i, p.i, b.i);
208
- removeNode(p);
209
- removeNode(p.next);
210
- p = start = b;
211
- }
212
- p = p.next;
213
- } while (p !== start);
214
- return filterPoints(p);
215
- }
216
- function splitEarcut(start, triangles, dim, minX, minY, invSize) {
217
- let a = start;
218
- do {
219
- let b = a.next.next;
220
- while (b !== a.prev) {
221
- if (a.i !== b.i && isValidDiagonal(a, b)) {
222
- let c = splitPolygon(a, b);
223
- a = filterPoints(a, a.next);
224
- c = filterPoints(c, c.next);
225
- earcutLinked(a, triangles, dim, minX, minY, invSize, 0);
226
- earcutLinked(c, triangles, dim, minX, minY, invSize, 0);
227
- return;
228
- }
229
- b = b.next;
230
- }
231
- a = a.next;
232
- } while (a !== start);
233
- }
234
- function eliminateHoles(data, holeIndices, outerNode, dim) {
235
- const queue = [];
236
- for (let i = 0, len = holeIndices.length; i < len; i++) {
237
- const start = holeIndices[i] * dim;
238
- const end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;
239
- const list = linkedList(data, start, end, dim, false);
240
- if (list === list.next) list.steiner = true;
241
- queue.push(getLeftmost(list));
242
- }
243
- queue.sort(compareXYSlope);
244
- for (let i = 0; i < queue.length; i++) {
245
- outerNode = eliminateHole(queue[i], outerNode);
246
- }
247
- return outerNode;
248
- }
249
- function compareXYSlope(a, b) {
250
- let result = a.x - b.x;
251
- if (result === 0) {
252
- result = a.y - b.y;
253
- if (result === 0) {
254
- const aSlope = (a.next.y - a.y) / (a.next.x - a.x);
255
- const bSlope = (b.next.y - b.y) / (b.next.x - b.x);
256
- result = aSlope - bSlope;
257
- }
258
- }
259
- return result;
260
- }
261
- function eliminateHole(hole, outerNode) {
262
- const bridge = findHoleBridge(hole, outerNode);
263
- if (!bridge) {
264
- return outerNode;
265
- }
266
- const bridgeReverse = splitPolygon(bridge, hole);
267
- filterPoints(bridgeReverse, bridgeReverse.next);
268
- return filterPoints(bridge, bridge.next);
269
- }
270
- function findHoleBridge(hole, outerNode) {
271
- let p = outerNode;
272
- const hx = hole.x;
273
- const hy = hole.y;
274
- let qx = -Infinity;
275
- let m;
276
- if (equals(hole, p)) return p;
277
- do {
278
- if (equals(hole, p.next)) return p.next;
279
- else if (hy <= p.y && hy >= p.next.y && p.next.y !== p.y) {
280
- const x = p.x + (hy - p.y) * (p.next.x - p.x) / (p.next.y - p.y);
281
- if (x <= hx && x > qx) {
282
- qx = x;
283
- m = p.x < p.next.x ? p : p.next;
284
- if (x === hx) return m;
285
- }
286
- }
287
- p = p.next;
288
- } while (p !== outerNode);
289
- if (!m) return null;
290
- const stop = m;
291
- const mx = m.x;
292
- const my = m.y;
293
- let tanMin = Infinity;
294
- p = m;
295
- do {
296
- if (hx >= p.x && p.x >= mx && hx !== p.x && pointInTriangle(hy < my ? hx : qx, hy, mx, my, hy < my ? qx : hx, hy, p.x, p.y)) {
297
- const tan = Math.abs(hy - p.y) / (hx - p.x);
298
- if (locallyInside(p, hole) && (tan < tanMin || tan === tanMin && (p.x > m.x || p.x === m.x && sectorContainsSector(m, p)))) {
299
- m = p;
300
- tanMin = tan;
301
- }
302
- }
303
- p = p.next;
304
- } while (p !== stop);
305
- return m;
306
- }
307
- function sectorContainsSector(m, p) {
308
- return area(m.prev, m, p.prev) < 0 && area(p.next, m, m.next) < 0;
309
- }
310
- function indexCurve(start, minX, minY, invSize) {
311
- let p = start;
312
- do {
313
- if (p.z === 0) p.z = zOrder(p.x, p.y, minX, minY, invSize);
314
- p.prevZ = p.prev;
315
- p.nextZ = p.next;
316
- p = p.next;
317
- } while (p !== start);
318
- p.prevZ.nextZ = null;
319
- p.prevZ = null;
320
- sortLinked(p);
321
- }
322
- function sortLinked(list) {
323
- let numMerges;
324
- let inSize = 1;
325
- do {
326
- let p = list;
327
- let e;
328
- list = null;
329
- let tail = null;
330
- numMerges = 0;
331
- while (p) {
332
- numMerges++;
333
- let q = p;
334
- let pSize = 0;
335
- for (let i = 0; i < inSize; i++) {
336
- pSize++;
337
- q = q.nextZ;
338
- if (!q) break;
339
- }
340
- let qSize = inSize;
341
- while (pSize > 0 || qSize > 0 && q) {
342
- if (pSize !== 0 && (qSize === 0 || !q || p.z <= q.z)) {
343
- e = p;
344
- p = p.nextZ;
345
- pSize--;
346
- } else {
347
- e = q;
348
- q = q.nextZ;
349
- qSize--;
350
- }
351
- if (tail) tail.nextZ = e;
352
- else list = e;
353
- e.prevZ = tail;
354
- tail = e;
355
- }
356
- p = q;
357
- }
358
- tail.nextZ = null;
359
- inSize *= 2;
360
- } while (numMerges > 1);
361
- return list;
362
- }
363
- function zOrder(x, y, minX, minY, invSize) {
364
- x = (x - minX) * invSize | 0;
365
- y = (y - minY) * invSize | 0;
366
- x = (x | x << 8) & 16711935;
367
- x = (x | x << 4) & 252645135;
368
- x = (x | x << 2) & 858993459;
369
- x = (x | x << 1) & 1431655765;
370
- y = (y | y << 8) & 16711935;
371
- y = (y | y << 4) & 252645135;
372
- y = (y | y << 2) & 858993459;
373
- y = (y | y << 1) & 1431655765;
374
- return x | y << 1;
375
- }
376
- function getLeftmost(start) {
377
- let p = start, leftmost = start;
378
- do {
379
- if (p.x < leftmost.x || p.x === leftmost.x && p.y < leftmost.y) leftmost = p;
380
- p = p.next;
381
- } while (p !== start);
382
- return leftmost;
383
- }
384
- function pointInTriangle(ax, ay, bx, by, cx, cy, px, py) {
385
- return (cx - px) * (ay - py) >= (ax - px) * (cy - py) && (ax - px) * (by - py) >= (bx - px) * (ay - py) && (bx - px) * (cy - py) >= (cx - px) * (by - py);
386
- }
387
- function pointInTriangleExceptFirst(ax, ay, bx, by, cx, cy, px, py) {
388
- return !(ax === px && ay === py) && pointInTriangle(ax, ay, bx, by, cx, cy, px, py);
389
- }
390
- function isValidDiagonal(a, b) {
391
- return a.next.i !== b.i && a.prev.i !== b.i && !intersectsPolygon(a, b) && // doesn't intersect other edges
392
- (locallyInside(a, b) && locallyInside(b, a) && middleInside(a, b) && // locally visible
393
- (area(a.prev, a, b.prev) || area(a, b.prev, b)) || // does not create opposite-facing sectors
394
- equals(a, b) && area(a.prev, a, a.next) > 0 && area(b.prev, b, b.next) > 0);
395
- }
396
- function area(p, q, r) {
397
- return (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y);
398
- }
399
- function equals(p1, p2) {
400
- return p1.x === p2.x && p1.y === p2.y;
401
- }
402
- function intersects(p1, q1, p2, q2) {
403
- const o1 = sign(area(p1, q1, p2));
404
- const o2 = sign(area(p1, q1, q2));
405
- const o3 = sign(area(p2, q2, p1));
406
- const o4 = sign(area(p2, q2, q1));
407
- if (o1 !== o2 && o3 !== o4) return true;
408
- if (o1 === 0 && onSegment(p1, p2, q1)) return true;
409
- if (o2 === 0 && onSegment(p1, q2, q1)) return true;
410
- if (o3 === 0 && onSegment(p2, p1, q2)) return true;
411
- if (o4 === 0 && onSegment(p2, q1, q2)) return true;
412
- return false;
413
- }
414
- function onSegment(p, q, r) {
415
- return q.x <= Math.max(p.x, r.x) && q.x >= Math.min(p.x, r.x) && q.y <= Math.max(p.y, r.y) && q.y >= Math.min(p.y, r.y);
416
- }
417
- function sign(num) {
418
- return num > 0 ? 1 : num < 0 ? -1 : 0;
419
- }
420
- function intersectsPolygon(a, b) {
421
- let p = a;
422
- do {
423
- if (p.i !== a.i && p.next.i !== a.i && p.i !== b.i && p.next.i !== b.i && intersects(p, p.next, a, b)) return true;
424
- p = p.next;
425
- } while (p !== a);
426
- return false;
427
- }
428
- function locallyInside(a, b) {
429
- return area(a.prev, a, a.next) < 0 ? area(a, b, a.next) >= 0 && area(a, a.prev, b) >= 0 : area(a, b, a.prev) < 0 || area(a, a.next, b) < 0;
430
- }
431
- function middleInside(a, b) {
432
- let p = a;
433
- let inside = false;
434
- const px = (a.x + b.x) / 2;
435
- const py = (a.y + b.y) / 2;
436
- do {
437
- if (p.y > py !== p.next.y > py && p.next.y !== p.y && px < (p.next.x - p.x) * (py - p.y) / (p.next.y - p.y) + p.x)
438
- inside = !inside;
439
- p = p.next;
440
- } while (p !== a);
441
- return inside;
442
- }
443
- function splitPolygon(a, b) {
444
- const a2 = createNode(a.i, a.x, a.y), b2 = createNode(b.i, b.x, b.y), an = a.next, bp = b.prev;
445
- a.next = b;
446
- b.prev = a;
447
- a2.next = an;
448
- an.prev = a2;
449
- b2.next = a2;
450
- a2.prev = b2;
451
- bp.next = b2;
452
- b2.prev = bp;
453
- return b2;
454
- }
455
- function insertNode(i, x, y, last) {
456
- const p = createNode(i, x, y);
457
- if (!last) {
458
- p.prev = p;
459
- p.next = p;
460
- } else {
461
- p.next = last.next;
462
- p.prev = last;
463
- last.next.prev = p;
464
- last.next = p;
465
- }
466
- return p;
467
- }
468
- function removeNode(p) {
469
- p.next.prev = p.prev;
470
- p.prev.next = p.next;
471
- if (p.prevZ) p.prevZ.nextZ = p.nextZ;
472
- if (p.nextZ) p.nextZ.prevZ = p.prevZ;
473
- }
474
- function createNode(i, x, y) {
475
- return {
476
- i,
477
- // vertex index in coordinates array
478
- x,
479
- y,
480
- // vertex coordinates
481
- prev: null,
482
- // previous and next vertex nodes in a polygon ring
483
- next: null,
484
- z: 0,
485
- // z-order curve value
486
- prevZ: null,
487
- // previous and next nodes in z-order
488
- nextZ: null,
489
- steiner: false
490
- // indicates whether this is a steiner point
491
- };
492
- }
493
- function signedArea(data, start, end, dim) {
494
- let sum = 0;
495
- for (let i = start, j = end - dim; i < end; i += dim) {
496
- sum += (data[j] - data[i]) * (data[i + 1] + data[j + 1]);
497
- j = i;
498
- }
499
- return sum;
500
- }
501
-
502
- // packages/engine/Source/Core/PolygonPipeline.js
503
- var scaleToGeodeticHeightN = new Cartesian3_default();
504
- var scaleToGeodeticHeightP = new Cartesian3_default();
505
- var PolygonPipeline = {};
506
- PolygonPipeline.computeArea2D = function(positions) {
507
- Check_default.defined("positions", positions);
508
- Check_default.typeOf.number.greaterThanOrEquals(
509
- "positions.length",
510
- positions.length,
511
- 3
512
- );
513
- const length = positions.length;
514
- let area2 = 0;
515
- for (let i0 = length - 1, i1 = 0; i1 < length; i0 = i1++) {
516
- const v0 = positions[i0];
517
- const v1 = positions[i1];
518
- area2 += v0.x * v1.y - v1.x * v0.y;
519
- }
520
- return area2 * 0.5;
521
- };
522
- PolygonPipeline.computeWindingOrder2D = function(positions) {
523
- const area2 = PolygonPipeline.computeArea2D(positions);
524
- return area2 > 0 ? WindingOrder_default.COUNTER_CLOCKWISE : WindingOrder_default.CLOCKWISE;
525
- };
526
- PolygonPipeline.triangulate = function(positions, holes) {
527
- Check_default.defined("positions", positions);
528
- const flattenedPositions = Cartesian2_default.packArray(positions);
529
- return earcut(flattenedPositions, holes, 2);
530
- };
531
- var subdivisionV0Scratch = new Cartesian3_default();
532
- var subdivisionV1Scratch = new Cartesian3_default();
533
- var subdivisionV2Scratch = new Cartesian3_default();
534
- var subdivisionS0Scratch = new Cartesian3_default();
535
- var subdivisionS1Scratch = new Cartesian3_default();
536
- var subdivisionS2Scratch = new Cartesian3_default();
537
- var subdivisionMidScratch = new Cartesian3_default();
538
- var subdivisionT0Scratch = new Cartesian2_default();
539
- var subdivisionT1Scratch = new Cartesian2_default();
540
- var subdivisionT2Scratch = new Cartesian2_default();
541
- var subdivisionTexcoordMidScratch = new Cartesian2_default();
542
- PolygonPipeline.computeSubdivision = function(ellipsoid, positions, indices, texcoords, granularity) {
543
- granularity = granularity ?? Math_default.RADIANS_PER_DEGREE;
544
- const hasTexcoords = defined_default(texcoords);
545
- Check_default.typeOf.object("ellipsoid", ellipsoid);
546
- Check_default.defined("positions", positions);
547
- Check_default.defined("indices", indices);
548
- Check_default.typeOf.number.greaterThanOrEquals("indices.length", indices.length, 3);
549
- Check_default.typeOf.number.equals("indices.length % 3", "0", indices.length % 3, 0);
550
- Check_default.typeOf.number.greaterThan("granularity", granularity, 0);
551
- const triangles = indices.slice(0);
552
- let i;
553
- const length = positions.length;
554
- const subdividedPositions = new Array(length * 3);
555
- const subdividedTexcoords = new Array(length * 2);
556
- let q = 0;
557
- let p = 0;
558
- for (i = 0; i < length; i++) {
559
- const item = positions[i];
560
- subdividedPositions[q++] = item.x;
561
- subdividedPositions[q++] = item.y;
562
- subdividedPositions[q++] = item.z;
563
- if (hasTexcoords) {
564
- const texcoordItem = texcoords[i];
565
- subdividedTexcoords[p++] = texcoordItem.x;
566
- subdividedTexcoords[p++] = texcoordItem.y;
567
- }
568
- }
569
- const subdividedIndices = [];
570
- const edges = {};
571
- const radius = ellipsoid.maximumRadius;
572
- const minDistance = Math_default.chordLength(granularity, radius);
573
- const minDistanceSqrd = minDistance * minDistance;
574
- while (triangles.length > 0) {
575
- const i2 = triangles.pop();
576
- const i1 = triangles.pop();
577
- const i0 = triangles.pop();
578
- const v0 = Cartesian3_default.fromArray(
579
- subdividedPositions,
580
- i0 * 3,
581
- subdivisionV0Scratch
582
- );
583
- const v1 = Cartesian3_default.fromArray(
584
- subdividedPositions,
585
- i1 * 3,
586
- subdivisionV1Scratch
587
- );
588
- const v2 = Cartesian3_default.fromArray(
589
- subdividedPositions,
590
- i2 * 3,
591
- subdivisionV2Scratch
592
- );
593
- let t0, t1, t2;
594
- if (hasTexcoords) {
595
- t0 = Cartesian2_default.fromArray(
596
- subdividedTexcoords,
597
- i0 * 2,
598
- subdivisionT0Scratch
599
- );
600
- t1 = Cartesian2_default.fromArray(
601
- subdividedTexcoords,
602
- i1 * 2,
603
- subdivisionT1Scratch
604
- );
605
- t2 = Cartesian2_default.fromArray(
606
- subdividedTexcoords,
607
- i2 * 2,
608
- subdivisionT2Scratch
609
- );
610
- }
611
- const s0 = Cartesian3_default.multiplyByScalar(
612
- Cartesian3_default.normalize(v0, subdivisionS0Scratch),
613
- radius,
614
- subdivisionS0Scratch
615
- );
616
- const s1 = Cartesian3_default.multiplyByScalar(
617
- Cartesian3_default.normalize(v1, subdivisionS1Scratch),
618
- radius,
619
- subdivisionS1Scratch
620
- );
621
- const s2 = Cartesian3_default.multiplyByScalar(
622
- Cartesian3_default.normalize(v2, subdivisionS2Scratch),
623
- radius,
624
- subdivisionS2Scratch
625
- );
626
- const g0 = Cartesian3_default.magnitudeSquared(
627
- Cartesian3_default.subtract(s0, s1, subdivisionMidScratch)
628
- );
629
- const g1 = Cartesian3_default.magnitudeSquared(
630
- Cartesian3_default.subtract(s1, s2, subdivisionMidScratch)
631
- );
632
- const g2 = Cartesian3_default.magnitudeSquared(
633
- Cartesian3_default.subtract(s2, s0, subdivisionMidScratch)
634
- );
635
- const max = Math.max(g0, g1, g2);
636
- let edge;
637
- let mid;
638
- let midTexcoord;
639
- if (max > minDistanceSqrd) {
640
- if (g0 === max) {
641
- edge = `${Math.min(i0, i1)} ${Math.max(i0, i1)}`;
642
- i = edges[edge];
643
- if (!defined_default(i)) {
644
- mid = Cartesian3_default.add(v0, v1, subdivisionMidScratch);
645
- Cartesian3_default.multiplyByScalar(mid, 0.5, mid);
646
- subdividedPositions.push(mid.x, mid.y, mid.z);
647
- i = subdividedPositions.length / 3 - 1;
648
- edges[edge] = i;
649
- if (hasTexcoords) {
650
- midTexcoord = Cartesian2_default.add(t0, t1, subdivisionTexcoordMidScratch);
651
- Cartesian2_default.multiplyByScalar(midTexcoord, 0.5, midTexcoord);
652
- subdividedTexcoords.push(midTexcoord.x, midTexcoord.y);
653
- }
654
- }
655
- triangles.push(i0, i, i2);
656
- triangles.push(i, i1, i2);
657
- } else if (g1 === max) {
658
- edge = `${Math.min(i1, i2)} ${Math.max(i1, i2)}`;
659
- i = edges[edge];
660
- if (!defined_default(i)) {
661
- mid = Cartesian3_default.add(v1, v2, subdivisionMidScratch);
662
- Cartesian3_default.multiplyByScalar(mid, 0.5, mid);
663
- subdividedPositions.push(mid.x, mid.y, mid.z);
664
- i = subdividedPositions.length / 3 - 1;
665
- edges[edge] = i;
666
- if (hasTexcoords) {
667
- midTexcoord = Cartesian2_default.add(t1, t2, subdivisionTexcoordMidScratch);
668
- Cartesian2_default.multiplyByScalar(midTexcoord, 0.5, midTexcoord);
669
- subdividedTexcoords.push(midTexcoord.x, midTexcoord.y);
670
- }
671
- }
672
- triangles.push(i1, i, i0);
673
- triangles.push(i, i2, i0);
674
- } else if (g2 === max) {
675
- edge = `${Math.min(i2, i0)} ${Math.max(i2, i0)}`;
676
- i = edges[edge];
677
- if (!defined_default(i)) {
678
- mid = Cartesian3_default.add(v2, v0, subdivisionMidScratch);
679
- Cartesian3_default.multiplyByScalar(mid, 0.5, mid);
680
- subdividedPositions.push(mid.x, mid.y, mid.z);
681
- i = subdividedPositions.length / 3 - 1;
682
- edges[edge] = i;
683
- if (hasTexcoords) {
684
- midTexcoord = Cartesian2_default.add(t2, t0, subdivisionTexcoordMidScratch);
685
- Cartesian2_default.multiplyByScalar(midTexcoord, 0.5, midTexcoord);
686
- subdividedTexcoords.push(midTexcoord.x, midTexcoord.y);
687
- }
688
- }
689
- triangles.push(i2, i, i1);
690
- triangles.push(i, i0, i1);
691
- }
692
- } else {
693
- subdividedIndices.push(i0);
694
- subdividedIndices.push(i1);
695
- subdividedIndices.push(i2);
696
- }
697
- }
698
- const geometryOptions = {
699
- attributes: {
700
- position: new GeometryAttribute_default({
701
- componentDatatype: ComponentDatatype_default.DOUBLE,
702
- componentsPerAttribute: 3,
703
- values: subdividedPositions
704
- })
705
- },
706
- indices: subdividedIndices,
707
- primitiveType: PrimitiveType_default.TRIANGLES
708
- };
709
- if (hasTexcoords) {
710
- geometryOptions.attributes.st = new GeometryAttribute_default({
711
- componentDatatype: ComponentDatatype_default.FLOAT,
712
- componentsPerAttribute: 2,
713
- values: subdividedTexcoords
714
- });
715
- }
716
- return new Geometry_default(geometryOptions);
717
- };
718
- var subdivisionC0Scratch = new Cartographic_default();
719
- var subdivisionC1Scratch = new Cartographic_default();
720
- var subdivisionC2Scratch = new Cartographic_default();
721
- var subdivisionCartographicScratch = new Cartographic_default();
722
- PolygonPipeline.computeRhumbLineSubdivision = function(ellipsoid, positions, indices, texcoords, granularity) {
723
- granularity = granularity ?? Math_default.RADIANS_PER_DEGREE;
724
- const hasTexcoords = defined_default(texcoords);
725
- Check_default.typeOf.object("ellipsoid", ellipsoid);
726
- Check_default.defined("positions", positions);
727
- Check_default.defined("indices", indices);
728
- Check_default.typeOf.number.greaterThanOrEquals("indices.length", indices.length, 3);
729
- Check_default.typeOf.number.equals("indices.length % 3", "0", indices.length % 3, 0);
730
- Check_default.typeOf.number.greaterThan("granularity", granularity, 0);
731
- const triangles = indices.slice(0);
732
- let i;
733
- const length = positions.length;
734
- const subdividedPositions = new Array(length * 3);
735
- const subdividedTexcoords = new Array(length * 2);
736
- let q = 0;
737
- let p = 0;
738
- for (i = 0; i < length; i++) {
739
- const item = positions[i];
740
- subdividedPositions[q++] = item.x;
741
- subdividedPositions[q++] = item.y;
742
- subdividedPositions[q++] = item.z;
743
- if (hasTexcoords) {
744
- const texcoordItem = texcoords[i];
745
- subdividedTexcoords[p++] = texcoordItem.x;
746
- subdividedTexcoords[p++] = texcoordItem.y;
747
- }
748
- }
749
- const subdividedIndices = [];
750
- const edges = {};
751
- const radius = ellipsoid.maximumRadius;
752
- const minDistance = Math_default.chordLength(granularity, radius);
753
- const rhumb0 = new EllipsoidRhumbLine_default(void 0, void 0, ellipsoid);
754
- const rhumb1 = new EllipsoidRhumbLine_default(void 0, void 0, ellipsoid);
755
- const rhumb2 = new EllipsoidRhumbLine_default(void 0, void 0, ellipsoid);
756
- while (triangles.length > 0) {
757
- const i2 = triangles.pop();
758
- const i1 = triangles.pop();
759
- const i0 = triangles.pop();
760
- const v0 = Cartesian3_default.fromArray(
761
- subdividedPositions,
762
- i0 * 3,
763
- subdivisionV0Scratch
764
- );
765
- const v1 = Cartesian3_default.fromArray(
766
- subdividedPositions,
767
- i1 * 3,
768
- subdivisionV1Scratch
769
- );
770
- const v2 = Cartesian3_default.fromArray(
771
- subdividedPositions,
772
- i2 * 3,
773
- subdivisionV2Scratch
774
- );
775
- let t0, t1, t2;
776
- if (hasTexcoords) {
777
- t0 = Cartesian2_default.fromArray(
778
- subdividedTexcoords,
779
- i0 * 2,
780
- subdivisionT0Scratch
781
- );
782
- t1 = Cartesian2_default.fromArray(
783
- subdividedTexcoords,
784
- i1 * 2,
785
- subdivisionT1Scratch
786
- );
787
- t2 = Cartesian2_default.fromArray(
788
- subdividedTexcoords,
789
- i2 * 2,
790
- subdivisionT2Scratch
791
- );
792
- }
793
- const c0 = ellipsoid.cartesianToCartographic(v0, subdivisionC0Scratch);
794
- const c1 = ellipsoid.cartesianToCartographic(v1, subdivisionC1Scratch);
795
- const c2 = ellipsoid.cartesianToCartographic(v2, subdivisionC2Scratch);
796
- rhumb0.setEndPoints(c0, c1);
797
- const g0 = rhumb0.surfaceDistance;
798
- rhumb1.setEndPoints(c1, c2);
799
- const g1 = rhumb1.surfaceDistance;
800
- rhumb2.setEndPoints(c2, c0);
801
- const g2 = rhumb2.surfaceDistance;
802
- const max = Math.max(g0, g1, g2);
803
- let edge;
804
- let mid;
805
- let midHeight;
806
- let midCartesian3;
807
- let midTexcoord;
808
- if (max > minDistance) {
809
- if (g0 === max) {
810
- edge = `${Math.min(i0, i1)} ${Math.max(i0, i1)}`;
811
- i = edges[edge];
812
- if (!defined_default(i)) {
813
- mid = rhumb0.interpolateUsingFraction(
814
- 0.5,
815
- subdivisionCartographicScratch
816
- );
817
- midHeight = (c0.height + c1.height) * 0.5;
818
- midCartesian3 = Cartesian3_default.fromRadians(
819
- mid.longitude,
820
- mid.latitude,
821
- midHeight,
822
- ellipsoid,
823
- subdivisionMidScratch
824
- );
825
- subdividedPositions.push(
826
- midCartesian3.x,
827
- midCartesian3.y,
828
- midCartesian3.z
829
- );
830
- i = subdividedPositions.length / 3 - 1;
831
- edges[edge] = i;
832
- if (hasTexcoords) {
833
- midTexcoord = Cartesian2_default.add(t0, t1, subdivisionTexcoordMidScratch);
834
- Cartesian2_default.multiplyByScalar(midTexcoord, 0.5, midTexcoord);
835
- subdividedTexcoords.push(midTexcoord.x, midTexcoord.y);
836
- }
837
- }
838
- triangles.push(i0, i, i2);
839
- triangles.push(i, i1, i2);
840
- } else if (g1 === max) {
841
- edge = `${Math.min(i1, i2)} ${Math.max(i1, i2)}`;
842
- i = edges[edge];
843
- if (!defined_default(i)) {
844
- mid = rhumb1.interpolateUsingFraction(
845
- 0.5,
846
- subdivisionCartographicScratch
847
- );
848
- midHeight = (c1.height + c2.height) * 0.5;
849
- midCartesian3 = Cartesian3_default.fromRadians(
850
- mid.longitude,
851
- mid.latitude,
852
- midHeight,
853
- ellipsoid,
854
- subdivisionMidScratch
855
- );
856
- subdividedPositions.push(
857
- midCartesian3.x,
858
- midCartesian3.y,
859
- midCartesian3.z
860
- );
861
- i = subdividedPositions.length / 3 - 1;
862
- edges[edge] = i;
863
- if (hasTexcoords) {
864
- midTexcoord = Cartesian2_default.add(t1, t2, subdivisionTexcoordMidScratch);
865
- Cartesian2_default.multiplyByScalar(midTexcoord, 0.5, midTexcoord);
866
- subdividedTexcoords.push(midTexcoord.x, midTexcoord.y);
867
- }
868
- }
869
- triangles.push(i1, i, i0);
870
- triangles.push(i, i2, i0);
871
- } else if (g2 === max) {
872
- edge = `${Math.min(i2, i0)} ${Math.max(i2, i0)}`;
873
- i = edges[edge];
874
- if (!defined_default(i)) {
875
- mid = rhumb2.interpolateUsingFraction(
876
- 0.5,
877
- subdivisionCartographicScratch
878
- );
879
- midHeight = (c2.height + c0.height) * 0.5;
880
- midCartesian3 = Cartesian3_default.fromRadians(
881
- mid.longitude,
882
- mid.latitude,
883
- midHeight,
884
- ellipsoid,
885
- subdivisionMidScratch
886
- );
887
- subdividedPositions.push(
888
- midCartesian3.x,
889
- midCartesian3.y,
890
- midCartesian3.z
891
- );
892
- i = subdividedPositions.length / 3 - 1;
893
- edges[edge] = i;
894
- if (hasTexcoords) {
895
- midTexcoord = Cartesian2_default.add(t2, t0, subdivisionTexcoordMidScratch);
896
- Cartesian2_default.multiplyByScalar(midTexcoord, 0.5, midTexcoord);
897
- subdividedTexcoords.push(midTexcoord.x, midTexcoord.y);
898
- }
899
- }
900
- triangles.push(i2, i, i1);
901
- triangles.push(i, i0, i1);
902
- }
903
- } else {
904
- subdividedIndices.push(i0);
905
- subdividedIndices.push(i1);
906
- subdividedIndices.push(i2);
907
- }
908
- }
909
- const geometryOptions = {
910
- attributes: {
911
- position: new GeometryAttribute_default({
912
- componentDatatype: ComponentDatatype_default.DOUBLE,
913
- componentsPerAttribute: 3,
914
- values: subdividedPositions
915
- })
916
- },
917
- indices: subdividedIndices,
918
- primitiveType: PrimitiveType_default.TRIANGLES
919
- };
920
- if (hasTexcoords) {
921
- geometryOptions.attributes.st = new GeometryAttribute_default({
922
- componentDatatype: ComponentDatatype_default.FLOAT,
923
- componentsPerAttribute: 2,
924
- values: subdividedTexcoords
925
- });
926
- }
927
- return new Geometry_default(geometryOptions);
928
- };
929
- PolygonPipeline.scaleToGeodeticHeight = function(positions, height, ellipsoid, scaleToSurface) {
930
- ellipsoid = ellipsoid ?? Ellipsoid_default.default;
931
- let n = scaleToGeodeticHeightN;
932
- let p = scaleToGeodeticHeightP;
933
- height = height ?? 0;
934
- scaleToSurface = scaleToSurface ?? true;
935
- if (defined_default(positions)) {
936
- const length = positions.length;
937
- for (let i = 0; i < length; i += 3) {
938
- Cartesian3_default.fromArray(positions, i, p);
939
- if (scaleToSurface) {
940
- p = ellipsoid.scaleToGeodeticSurface(p, p);
941
- }
942
- if (height !== 0) {
943
- n = ellipsoid.geodeticSurfaceNormal(p, n);
944
- Cartesian3_default.multiplyByScalar(n, height, n);
945
- Cartesian3_default.add(p, n, p);
946
- }
947
- positions[i] = p.x;
948
- positions[i + 1] = p.y;
949
- positions[i + 2] = p.z;
950
- }
951
- }
952
- return positions;
953
- };
954
- var PolygonPipeline_default = PolygonPipeline;
955
-
956
- export {
957
- WindingOrder_default,
958
- PolygonPipeline_default
959
- };