@cesium/engine 26.0.0 → 26.2.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 (471) hide show
  1. package/Build/ThirdParty/Workers/zip-web-worker.js +586 -480
  2. package/Build/Workers/{chunk-7J2HKPRH.js → chunk-27FWRTJI.js} +9 -9
  3. package/Build/Workers/{chunk-EF2QYXGA.js → chunk-2EFYUSUY.js} +14 -14
  4. package/Build/Workers/chunk-2H5264K7.js +1284 -0
  5. package/Build/Workers/{chunk-DOBXCNC3.js → chunk-2H73KDBM.js} +13 -13
  6. package/Build/Workers/chunk-2RGJPWQX.js +1284 -0
  7. package/Build/Workers/chunk-2Z4ZLVOD.js +352 -0
  8. package/Build/Workers/{chunk-F6QDY6HU.js → chunk-2ZKH2QZB.js} +13 -13
  9. package/Build/Workers/chunk-36NI5E6W.js +3820 -0
  10. package/Build/Workers/{chunk-ZK3CF7ZD.js → chunk-37SW7SYS.js} +12 -12
  11. package/Build/Workers/chunk-3GHVJ3SO.js +455 -0
  12. package/Build/Workers/chunk-3LB4UVPU.js +387 -0
  13. package/Build/Workers/chunk-3PONLKEL.js +778 -0
  14. package/Build/Workers/{chunk-Y57HREW5.js → chunk-3PSS3T43.js} +4 -4
  15. package/Build/Workers/chunk-3QR662HH.js +3820 -0
  16. package/Build/Workers/{chunk-QN67VG36.js → chunk-3SX2WYSO.js} +6 -6
  17. package/Build/Workers/{chunk-G7PXZRVF.js → chunk-3UDN6LYX.js} +7 -7
  18. package/Build/Workers/chunk-47MCBSXI.js +9237 -0
  19. package/Build/Workers/{chunk-KKOSKAZB.js → chunk-4E626OCE.js} +17 -17
  20. package/Build/Workers/chunk-4NW2MJKH.js +455 -0
  21. package/Build/Workers/{chunk-DBOEKL43.js → chunk-52YK5BSN.js} +7 -7
  22. package/Build/Workers/{chunk-KFSTQKNM.js → chunk-5LSOO2KD.js} +7 -7
  23. package/Build/Workers/chunk-5RNAQZK6.js +9234 -0
  24. package/Build/Workers/chunk-5YPQBFRD.js +519 -0
  25. package/Build/Workers/{chunk-S4MCOY6I.js → chunk-6FHT43QR.js} +5 -5
  26. package/Build/Workers/chunk-6FZDPMTO.js +455 -0
  27. package/Build/Workers/{chunk-VQYETPWC.js → chunk-6HK6IXK2.js} +4 -4
  28. package/Build/Workers/chunk-6R5X2GUA.js +1284 -0
  29. package/Build/Workers/{chunk-AYKR4VBR.js → chunk-6YR6JBMY.js} +2 -2
  30. package/Build/Workers/chunk-76FDC45O.js +511 -0
  31. package/Build/Workers/chunk-7A2OGDHT.js +305 -0
  32. package/Build/Workers/chunk-7CGEQUM2.js +305 -0
  33. package/Build/Workers/{chunk-54I6Y66F.js → chunk-7D2HZKH7.js} +6 -6
  34. package/Build/Workers/{chunk-3VFEWOBI.js → chunk-7I325HV6.js} +7 -7
  35. package/Build/Workers/{chunk-4MGMYHOO.js → chunk-7KVKHY7O.js} +6 -6
  36. package/Build/Workers/chunk-7MM3N2VE.js +1067 -0
  37. package/Build/Workers/chunk-7TKLTCZW.js +219 -0
  38. package/Build/Workers/chunk-7UUKBDH6.js +1054 -0
  39. package/Build/Workers/chunk-7W6DUHAB.js +693 -0
  40. package/Build/Workers/{chunk-DDWSZVMY.js → chunk-7XM5JK5F.js} +5 -5
  41. package/Build/Workers/chunk-7YG3ND3P.js +454 -0
  42. package/Build/Workers/{chunk-IRBKFCEJ.js → chunk-A3O6EDBK.js} +2 -2
  43. package/Build/Workers/chunk-A62YI6S6.js +305 -0
  44. package/Build/Workers/{chunk-V7VQKN6N.js → chunk-A6X24AZI.js} +5 -5
  45. package/Build/Workers/chunk-A7TTWVTF.js +2719 -0
  46. package/Build/Workers/chunk-ACTVJHSP.js +519 -0
  47. package/Build/Workers/chunk-ADX3CBKD.js +9234 -0
  48. package/Build/Workers/{chunk-52JDLOEM.js → chunk-AF7DTMJ7.js} +14 -14
  49. package/Build/Workers/{chunk-ZP7JMQV4.js → chunk-AHWAZRBV.js} +6 -2
  50. package/Build/Workers/chunk-AJSFRY4U.js +1344 -0
  51. package/Build/Workers/{chunk-EBSIOBXY.js → chunk-ARZICEEP.js} +8 -8
  52. package/Build/Workers/chunk-B3QHNA4A.js +147 -0
  53. package/Build/Workers/{chunk-YLY7NKAB.js → chunk-B4CQSLZJ.js} +4 -4
  54. package/Build/Workers/chunk-BKPQFCXH.js +511 -0
  55. package/Build/Workers/{chunk-O3EA5HS7.js → chunk-BSPCI2LO.js} +10 -10
  56. package/Build/Workers/chunk-BUJWSX5S.js +301 -0
  57. package/Build/Workers/{chunk-J6BWOHUF.js → chunk-C7JQVRLM.js} +3 -3
  58. package/Build/Workers/chunk-C7QDUNI3.js +138 -0
  59. package/Build/Workers/{chunk-KSSWJIZW.js → chunk-CDJDJ5LK.js} +2 -2
  60. package/Build/Workers/chunk-CEEZE3YZ.js +476 -0
  61. package/Build/Workers/chunk-CIV5DJOQ.js +778 -0
  62. package/Build/Workers/{chunk-INUEEEQA.js → chunk-CLCTQVVL.js} +8 -8
  63. package/Build/Workers/{chunk-C6J67V5A.js → chunk-CQNFIAZU.js} +1 -1
  64. package/Build/Workers/chunk-CRCGE4J4.js +9237 -0
  65. package/Build/Workers/{chunk-SMQZZOW6.js → chunk-CUTRKXUQ.js} +10 -10
  66. package/Build/Workers/{chunk-Q3PY526V.js → chunk-D6AY775A.js} +6 -6
  67. package/Build/Workers/chunk-DBD5WWG2.js +959 -0
  68. package/Build/Workers/{chunk-E7VQ76KE.js → chunk-DIGUUD6G.js} +6 -6
  69. package/Build/Workers/{chunk-P3CK7MCY.js → chunk-DSGLDRTI.js} +4 -4
  70. package/Build/Workers/chunk-DZBQUULR.js +138 -0
  71. package/Build/Workers/chunk-DZUFEE4L.js +140 -0
  72. package/Build/Workers/chunk-E2NKV5YT.js +3820 -0
  73. package/Build/Workers/{chunk-424RNO3D.js → chunk-E7NZJOK7.js} +196 -22
  74. package/Build/Workers/{chunk-UOOIQ3KX.js → chunk-EB3Y5P3A.js} +12 -12
  75. package/Build/Workers/{chunk-ACXQXN46.js → chunk-EHTS2YPT.js} +16 -16
  76. package/Build/Workers/{chunk-EPYXRCDB.js → chunk-ELE6SC2C.js} +12 -12
  77. package/Build/Workers/{chunk-VWV2IJRB.js → chunk-ENNFMWDW.js} +11 -11
  78. package/Build/Workers/chunk-EOWDZN5S.js +288 -0
  79. package/Build/Workers/chunk-ERKUET22.js +3201 -0
  80. package/Build/Workers/chunk-EZGQPOIG.js +162 -0
  81. package/Build/Workers/chunk-F2IMBMZY.js +241 -0
  82. package/Build/Workers/chunk-F4CSNRZO.js +219 -0
  83. package/Build/Workers/chunk-FBP4DUQJ.js +693 -0
  84. package/Build/Workers/{chunk-FRQZECAO.js → chunk-FCP2QY4G.js} +5 -5
  85. package/Build/Workers/{chunk-ZZ46LWL6.js → chunk-FDK4K5IA.js} +1 -1
  86. package/Build/Workers/{chunk-C6KNZ7T4.js → chunk-FGQFQHN5.js} +17 -17
  87. package/Build/Workers/chunk-FJWZMGOQ.js +1992 -0
  88. package/Build/Workers/{chunk-Y5BF6AFU.js → chunk-FQ42MT7M.js} +2 -2
  89. package/Build/Workers/chunk-FU4BGABC.js +398 -0
  90. package/Build/Workers/chunk-FX3VEAIU.js +2719 -0
  91. package/Build/Workers/chunk-GGNWQWSB.js +301 -0
  92. package/Build/Workers/chunk-GHXVQVUM.js +1344 -0
  93. package/Build/Workers/{chunk-CZEYZU4N.js → chunk-GNKXEN4C.js} +10 -10
  94. package/Build/Workers/{chunk-MYP774IS.js → chunk-GSWMAFTE.js} +8 -8
  95. package/Build/Workers/chunk-GVA7XQI2.js +368 -0
  96. package/Build/Workers/chunk-GXDHRC4J.js +1344 -0
  97. package/Build/Workers/chunk-GXWQZBAI.js +58 -0
  98. package/Build/Workers/chunk-GYSYP6PC.js +1067 -0
  99. package/Build/Workers/chunk-H2WCFXLP.js +241 -0
  100. package/Build/Workers/chunk-HDL4HOXZ.js +778 -0
  101. package/Build/Workers/chunk-HHV3MCGV.js +162 -0
  102. package/Build/Workers/chunk-HLW2ZRVK.js +368 -0
  103. package/Build/Workers/chunk-HS6AD4P2.js +398 -0
  104. package/Build/Workers/chunk-HT6FASOT.js +973 -0
  105. package/Build/Workers/chunk-I74ZH5LK.js +959 -0
  106. package/Build/Workers/{chunk-7WM2PX4V.js → chunk-IDVHUDZT.js} +5 -5
  107. package/Build/Workers/chunk-IGAZBTFZ.js +3201 -0
  108. package/Build/Workers/chunk-IJZJMIUY.js +789 -0
  109. package/Build/Workers/chunk-ILME5BXA.js +301 -0
  110. package/Build/Workers/chunk-IMBVP57H.js +44 -0
  111. package/Build/Workers/chunk-IOO7Z2AV.js +57 -0
  112. package/Build/Workers/chunk-IUIFLOYO.js +44 -0
  113. package/Build/Workers/chunk-J73T2VOY.js +171 -0
  114. package/Build/Workers/chunk-JALGQYDY.js +288 -0
  115. package/Build/Workers/chunk-JKXV6PG5.js +56 -0
  116. package/Build/Workers/chunk-JW6OZT4R.js +288 -0
  117. package/Build/Workers/{chunk-CXOYE2WM.js → chunk-JXYLJCTC.js} +5 -5
  118. package/Build/Workers/{chunk-CFQP6LYM.js → chunk-K27QOAW6.js} +4 -4
  119. package/Build/Workers/chunk-KGXSYGBG.js +387 -0
  120. package/Build/Workers/chunk-KMV25A63.js +789 -0
  121. package/Build/Workers/chunk-KP5QD7WU.js +693 -0
  122. package/Build/Workers/chunk-KZWFWJML.js +2719 -0
  123. package/Build/Workers/chunk-LCXRRALY.js +387 -0
  124. package/Build/Workers/chunk-LD64RPYV.js +368 -0
  125. package/Build/Workers/{chunk-U3ZA64U7.js → chunk-LDRQSYBN.js} +2 -2
  126. package/Build/Workers/chunk-LGNDTZVX.js +97 -0
  127. package/Build/Workers/chunk-LNSQVXFH.js +1800 -0
  128. package/Build/Workers/chunk-M4JZ6TSZ.js +959 -0
  129. package/Build/Workers/chunk-M6QKXVAU.js +1054 -0
  130. package/Build/Workers/chunk-MAAHFYPC.js +198 -0
  131. package/Build/Workers/chunk-MCJDRDJQ.js +102 -0
  132. package/Build/Workers/chunk-MEENMEAH.js +198 -0
  133. package/Build/Workers/{chunk-TKKIREQ6.js → chunk-N7CCOFLX.js} +1 -1
  134. package/Build/Workers/chunk-NAWU5RF4.js +162 -0
  135. package/Build/Workers/{chunk-M3B5JKSM.js → chunk-NCL22ZUX.js} +1 -1
  136. package/Build/Workers/chunk-NEFDMMLY.js +241 -0
  137. package/Build/Workers/{chunk-UA25D5MX.js → chunk-NIWITKQK.js} +10 -10
  138. package/Build/Workers/chunk-NJVBJG63.js +124 -0
  139. package/Build/Workers/chunk-NLLCQBX3.js +73 -0
  140. package/Build/Workers/chunk-NSKZ6SBK.js +1483 -0
  141. package/Build/Workers/chunk-NXGQBQWE.js +837 -0
  142. package/Build/Workers/chunk-O3DKEX7Q.js +352 -0
  143. package/Build/Workers/chunk-O3XFXGPZ.js +476 -0
  144. package/Build/Workers/chunk-OA6MYL2C.js +837 -0
  145. package/Build/Workers/chunk-OBEU25PI.js +1067 -0
  146. package/Build/Workers/chunk-OHP4ELS7.js +198 -0
  147. package/Build/Workers/chunk-OZGPS7FB.js +138 -0
  148. package/Build/Workers/chunk-PCL3Y7H5.js +82 -0
  149. package/Build/Workers/chunk-PD4GK4EM.js +57 -0
  150. package/Build/Workers/chunk-PEDU33QG.js +2342 -0
  151. package/Build/Workers/chunk-PRWUMCXF.js +682 -0
  152. package/Build/Workers/chunk-PVTSNNVI.js +288 -0
  153. package/Build/Workers/chunk-QFSSCLLZ.js +973 -0
  154. package/Build/Workers/chunk-QHPZH22L.js +241 -0
  155. package/Build/Workers/chunk-QIZDWZK6.js +301 -0
  156. package/Build/Workers/chunk-QV6DG2YX.js +1483 -0
  157. package/Build/Workers/chunk-QVLAFFJY.js +56 -0
  158. package/Build/Workers/{chunk-6YEE6JDR.js → chunk-R4FPNAZ2.js} +6 -6
  159. package/Build/Workers/chunk-R4K7EHOU.js +171 -0
  160. package/Build/Workers/chunk-R7JGHDD6.js +789 -0
  161. package/Build/Workers/chunk-RASQEYD4.js +1483 -0
  162. package/Build/Workers/chunk-RG4F5R57.js +454 -0
  163. package/Build/Workers/chunk-RW6ITX7Q.js +3820 -0
  164. package/Build/Workers/chunk-RYSQVJR6.js +398 -0
  165. package/Build/Workers/chunk-S6RJU5NM.js +1054 -0
  166. package/Build/Workers/chunk-SA2A2AN5.js +2342 -0
  167. package/Build/Workers/chunk-SDFHDNS4.js +147 -0
  168. package/Build/Workers/chunk-SF6K72D7.js +124 -0
  169. package/Build/Workers/chunk-SGRGNDOD.js +682 -0
  170. package/Build/Workers/{chunk-QRWGUWI6.js → chunk-SJYSIOEM.js} +11 -11
  171. package/Build/Workers/chunk-SM2CDCYF.js +198 -0
  172. package/Build/Workers/chunk-SMTGMFBL.js +97 -0
  173. package/Build/Workers/chunk-SS5ABQGY.js +102 -0
  174. package/Build/Workers/{chunk-IYOUHCZB.js → chunk-SXSP3JHS.js} +1 -1
  175. package/Build/Workers/chunk-T5QBPLE3.js +414 -0
  176. package/Build/Workers/chunk-TN35HP5B.js +1067 -0
  177. package/Build/Workers/chunk-TNWKJNUZ.js +454 -0
  178. package/Build/Workers/chunk-TOAF47AQ.js +102 -0
  179. package/Build/Workers/chunk-TQ4QCOXT.js +2719 -0
  180. package/Build/Workers/chunk-TSDSILQB.js +124 -0
  181. package/Build/Workers/chunk-TVZD72WJ.js +778 -0
  182. package/Build/Workers/chunk-U5LV3F3Z.js +1054 -0
  183. package/Build/Workers/chunk-UAZUP4I5.js +1992 -0
  184. package/Build/Workers/chunk-UEY73NRN.js +38 -0
  185. package/Build/Workers/chunk-UF46SZEZ.js +789 -0
  186. package/Build/Workers/chunk-UNRTMCET.js +398 -0
  187. package/Build/Workers/chunk-UTB7U3O6.js +1992 -0
  188. package/Build/Workers/chunk-UVO6COT2.js +352 -0
  189. package/Build/Workers/chunk-V46YGZE6.js +352 -0
  190. package/Build/Workers/chunk-VAL7DYNR.js +278 -0
  191. package/Build/Workers/chunk-VDGOCROW.js +57 -0
  192. package/Build/Workers/chunk-VFWSSBPT.js +511 -0
  193. package/Build/Workers/chunk-VVYMXI3I.js +1284 -0
  194. package/Build/Workers/chunk-VXWHPYQM.js +837 -0
  195. package/Build/Workers/chunk-VXYUBRSB.js +219 -0
  196. package/Build/Workers/chunk-VZLDLEWI.js +387 -0
  197. package/Build/Workers/{chunk-4S7IE3LB.js → chunk-W5OCKMPJ.js} +2 -2
  198. package/Build/Workers/chunk-WBSY7HDY.js +837 -0
  199. package/Build/Workers/chunk-WN3F4CVG.js +3201 -0
  200. package/Build/Workers/chunk-WPRUWXGV.js +693 -0
  201. package/Build/Workers/chunk-WTO2ERBP.js +414 -0
  202. package/Build/Workers/chunk-WVHMDVG4.js +959 -0
  203. package/Build/Workers/chunk-XCBZVTIV.js +280 -0
  204. package/Build/Workers/chunk-XDWCTQCZ.js +101 -0
  205. package/Build/Workers/chunk-XGA23TAX.js +73 -0
  206. package/Build/Workers/chunk-XLQZNQ4Z.js +163 -0
  207. package/Build/Workers/chunk-XLXSDIP5.js +973 -0
  208. package/Build/Workers/chunk-XQ3SKCMM.js +140 -0
  209. package/Build/Workers/chunk-XQH66YJC.js +147 -0
  210. package/Build/Workers/chunk-XTA7BXJG.js +682 -0
  211. package/Build/Workers/chunk-XTIDAFRS.js +476 -0
  212. package/Build/Workers/chunk-XUEDWBUD.js +682 -0
  213. package/Build/Workers/chunk-XYFLRH3H.js +124 -0
  214. package/Build/Workers/chunk-Y7JRTRTO.js +305 -0
  215. package/Build/Workers/chunk-Y7QSMDCJ.js +352 -0
  216. package/Build/Workers/chunk-YCB5TYTR.js +1483 -0
  217. package/Build/Workers/chunk-YEYOSTJX.js +219 -0
  218. package/Build/Workers/chunk-YGFVAGYF.js +630 -0
  219. package/Build/Workers/chunk-YIIACKQO.js +368 -0
  220. package/Build/Workers/chunk-YJGSP6PE.js +511 -0
  221. package/Build/Workers/{chunk-XZMBNNDX.js → chunk-YKU2Q3A2.js} +9 -9
  222. package/Build/Workers/chunk-Z4LR5EHE.js +454 -0
  223. package/Build/Workers/chunk-Z66EVE2A.js +44 -0
  224. package/Build/Workers/chunk-ZHIHHHTB.js +414 -0
  225. package/Build/Workers/chunk-ZMBHFYOX.js +1344 -0
  226. package/Build/Workers/chunk-ZNWHFSLE.js +171 -0
  227. package/Build/Workers/chunk-ZQLZG4IN.js +2342 -0
  228. package/Build/Workers/chunk-ZRTSMUZ2.js +414 -0
  229. package/Build/Workers/{chunk-MPZHGZU6.js → chunk-ZSGUV73H.js} +4 -4
  230. package/Build/Workers/chunk-ZZUVT5BM.js +476 -0
  231. package/Build/Workers/combineGeometry.js +24 -24
  232. package/Build/Workers/createBoxGeometry.js +18 -18
  233. package/Build/Workers/createBoxOutlineGeometry.js +16 -16
  234. package/Build/Workers/createCircleGeometry.js +26 -26
  235. package/Build/Workers/createCircleOutlineGeometry.js +19 -19
  236. package/Build/Workers/createCoplanarPolygonGeometry.js +35 -35
  237. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
  238. package/Build/Workers/createCorridorGeometry.js +31 -33
  239. package/Build/Workers/createCorridorOutlineGeometry.js +29 -31
  240. package/Build/Workers/createCylinderGeometry.js +20 -20
  241. package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
  242. package/Build/Workers/createEllipseGeometry.js +26 -26
  243. package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
  244. package/Build/Workers/createEllipsoidGeometry.js +19 -19
  245. package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
  246. package/Build/Workers/createFrustumGeometry.js +18 -18
  247. package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
  248. package/Build/Workers/createGeometry.js +24 -24
  249. package/Build/Workers/createGroundPolylineGeometry.js +24 -24
  250. package/Build/Workers/createPlaneGeometry.js +16 -16
  251. package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
  252. package/Build/Workers/createPolygonGeometry.js +34 -34
  253. package/Build/Workers/createPolygonOutlineGeometry.js +31 -31
  254. package/Build/Workers/createPolylineGeometry.js +26 -26
  255. package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
  256. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
  257. package/Build/Workers/createRectangleGeometry.js +27 -27
  258. package/Build/Workers/createRectangleOutlineGeometry.js +21 -21
  259. package/Build/Workers/createSimplePolylineGeometry.js +24 -24
  260. package/Build/Workers/createSphereGeometry.js +19 -19
  261. package/Build/Workers/createSphereOutlineGeometry.js +18 -18
  262. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  263. package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
  264. package/Build/Workers/createVectorTileGeometries.js +24 -24
  265. package/Build/Workers/createVectorTilePoints.js +13 -13
  266. package/Build/Workers/createVectorTilePolygons.js +22 -22
  267. package/Build/Workers/createVectorTilePolylines.js +14 -14
  268. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +25 -25
  269. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -22
  270. package/Build/Workers/createVerticesFromHeightmap.js +22 -22
  271. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +20 -20
  272. package/Build/Workers/createWallGeometry.js +24 -24
  273. package/Build/Workers/createWallOutlineGeometry.js +24 -24
  274. package/Build/Workers/decodeDraco.js +10 -10
  275. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +987 -2320
  276. package/Build/Workers/decodeI3S.js +10 -10
  277. package/Build/Workers/gaussianSplatSorter.js +4 -4
  278. package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
  279. package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
  280. package/Build/Workers/transcodeKTX2.js +6 -6
  281. package/Build/Workers/transferTypedArrayTest.js +1 -1
  282. package/Build/Workers/upsampleQuantizedTerrainMesh.js +22 -22
  283. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +25 -25
  284. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +1 -5
  285. package/Source/Core/BoundingRectangle.js +6 -8
  286. package/Source/Core/BoundingSphere.js +0 -3
  287. package/Source/Core/Cesium3DTilesTerrainGeometryProcessor.js +3 -4
  288. package/Source/Core/Color.js +1 -0
  289. package/Source/Core/CoplanarPolygonGeometry.js +2 -2
  290. package/Source/Core/CorridorGeometry.js +2 -4
  291. package/Source/Core/CorridorOutlineGeometry.js +1 -3
  292. package/Source/Core/EarthOrientationParameters.js +2 -2
  293. package/Source/Core/EllipseGeometryLibrary.js +2 -2
  294. package/Source/Core/EllipsoidGeodesic.js +3 -3
  295. package/Source/Core/EllipsoidRhumbLine.js +1 -1
  296. package/Source/Core/GroundPolylineGeometry.js +2 -2
  297. package/Source/Core/Heap.js +1 -1
  298. package/Source/Core/HermitePolynomialApproximation.js +215 -179
  299. package/Source/Core/InterpolationAlgorithm.js +58 -50
  300. package/Source/Core/Ion.js +1 -1
  301. package/Source/Core/JulianDate.js +1 -1
  302. package/Source/Core/LagrangePolynomialApproximation.js +55 -52
  303. package/Source/Core/LinearApproximation.js +69 -66
  304. package/Source/Core/Math.js +59 -0
  305. package/Source/Core/Matrix2.js +2 -2
  306. package/Source/Core/Matrix3.js +2 -2
  307. package/Source/Core/OrthographicFrustum.js +1 -1
  308. package/Source/Core/PerspectiveFrustum.js +1 -1
  309. package/Source/Core/PolygonGeometry.js +2 -2
  310. package/Source/Core/PolygonGeometryLibrary.js +1 -1
  311. package/Source/Core/PolygonOutlineGeometry.js +1 -1
  312. package/Source/Core/PolylineGeometry.js +1 -1
  313. package/Source/Core/PolylineVolumeGeometryLibrary.js +1 -1
  314. package/Source/Core/Rectangle.js +7 -1
  315. package/Source/Core/RectangleOutlineGeometry.js +1 -1
  316. package/Source/Core/SimplePolylineGeometry.js +1 -1
  317. package/Source/Core/TerrainEncoding.js +2 -2
  318. package/Source/Core/TerrainMesh.js +3 -3
  319. package/Source/Core/TerrainPicker.js +180 -168
  320. package/Source/Core/TimeIntervalCollection.js +1 -3
  321. package/Source/Core/Tipsify.js +1 -1
  322. package/Source/Core/Transforms.js +5 -1
  323. package/Source/Core/VectorPipeline.js +1117 -0
  324. package/Source/Core/VectorProvider.js +429 -0
  325. package/Source/Core/WallOutlineGeometry.js +1 -1
  326. package/Source/Core/getTimestamp.js +4 -2
  327. package/Source/Core/writeTextToCanvas.js +1 -0
  328. package/Source/DataSources/CompositeEntityCollection.js +0 -1
  329. package/Source/DataSources/CzmlDataSource.js +14 -0
  330. package/Source/DataSources/DataSourceDisplay.js +1 -1
  331. package/Source/DataSources/GeoJsonDataSource.js +0 -1
  332. package/Source/DataSources/GeometryVisualizer.js +1 -1
  333. package/Source/DataSources/KmlDataSource.js +529 -557
  334. package/Source/DataSources/PathGraphics.js +8 -1
  335. package/Source/DataSources/PathMode.js +27 -0
  336. package/Source/DataSources/PathVisualizer.js +298 -1
  337. package/Source/DataSources/PolylineVisualizer.js +1 -1
  338. package/Source/DataSources/StaticOutlineGeometryBatch.js +1 -1
  339. package/Source/Renderer/AutomaticUniforms.js +23 -0
  340. package/Source/Renderer/Context.js +9 -3
  341. package/Source/Renderer/DrawCommand.js +22 -0
  342. package/Source/Renderer/Framebuffer.js +4 -0
  343. package/Source/Renderer/Pass.js +11 -10
  344. package/Source/Renderer/Texture.js +12 -1
  345. package/Source/Renderer/UniformState.js +7 -0
  346. package/Source/Renderer/VertexArray.js +1 -1
  347. package/Source/Scene/ArcGisMapServerImageryProvider.js +0 -5
  348. package/Source/Scene/ArcGisMapService.js +1 -1
  349. package/Source/Scene/Billboard.js +2 -1
  350. package/Source/Scene/BillboardCollection.js +7 -3
  351. package/Source/Scene/BillboardTexture.js +5 -3
  352. package/Source/Scene/BufferPrimitiveCollection.js +27 -5
  353. package/Source/Scene/Camera.js +71 -5
  354. package/Source/Scene/Cesium3DTileOptimizations.js +4 -6
  355. package/Source/Scene/Cesium3DTileset.js +1 -1
  356. package/Source/Scene/ClippingPlaneCollection.js +4 -4
  357. package/Source/Scene/ClippingPolygon.js +2 -0
  358. package/Source/Scene/ClippingPolygonCollection.js +2 -2
  359. package/Source/Scene/Controllers/Controller.js +63 -0
  360. package/Source/Scene/Controllers/ControllerHost.js +78 -0
  361. package/Source/Scene/Controllers/HybridScreenSpacePanCameraController.js +106 -0
  362. package/Source/Scene/Controllers/MouseButton.js +32 -0
  363. package/Source/Scene/Controllers/ScreenSpaceElevatorCameraController.js +295 -0
  364. package/Source/Scene/Controllers/ScreenSpaceInputBindings.js +154 -0
  365. package/Source/Scene/Controllers/ScreenSpaceMapCameraController.js +310 -0
  366. package/Source/Scene/Controllers/ScreenSpaceTiltOrbitCameraController.js +642 -0
  367. package/Source/Scene/Controllers/ScreenSpaceZoomCameraController.js +431 -0
  368. package/Source/Scene/Controllers/defaultPickWorldPosition.js +84 -0
  369. package/Source/Scene/DerivedCommand.js +98 -0
  370. package/Source/Scene/EdgeFramebuffer.js +1 -5
  371. package/Source/Scene/Expression.js +6 -8
  372. package/Source/Scene/FrameState.js +17 -0
  373. package/Source/Scene/Globe.js +20 -0
  374. package/Source/Scene/GlobeDepth.js +27 -1
  375. package/Source/Scene/GlobeSurfaceShaderSet.js +511 -409
  376. package/Source/Scene/GlobeSurfaceTile.js +575 -398
  377. package/Source/Scene/GlobeSurfaceTileProvider.js +1382 -1151
  378. package/Source/Scene/GltfBufferViewLoader.js +3 -3
  379. package/Source/Scene/GltfLoader.js +33 -3
  380. package/Source/Scene/GltfLoaderUtil.js +20 -4
  381. package/Source/Scene/GltfPipeline/forEachTextureInMaterial.js +10 -0
  382. package/Source/Scene/GltfPipeline/removeUnusedElements.js +21 -11
  383. package/Source/Scene/GltfSpzLoader.js +1 -1
  384. package/Source/Scene/GltfVertexBufferLoader.js +6 -3
  385. package/Source/Scene/I3SDataProvider.js +1 -1
  386. package/Source/Scene/I3SLayer.js +1 -1
  387. package/Source/Scene/I3SNode.js +2 -2
  388. package/Source/Scene/ImageryLayer.js +2 -2
  389. package/Source/Scene/ImageryLayerCollection.js +190 -6
  390. package/Source/Scene/IonImageryProvider.js +1 -5
  391. package/Source/Scene/Label.js +4 -4
  392. package/Source/Scene/LabelCollection.js +1 -1
  393. package/Source/Scene/MVTDataProvider.js +2 -0
  394. package/Source/Scene/Material.js +1 -0
  395. package/Source/Scene/Model/B3dmLoader.js +1 -2
  396. package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +10 -8
  397. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +4 -0
  398. package/Source/Scene/Model/I3dmLoader.js +1 -1
  399. package/Source/Scene/Model/InstancingPipelineStage.js +4 -7
  400. package/Source/Scene/Model/MaterialPipelineStage.js +124 -1
  401. package/Source/Scene/Model/Model.js +11 -10
  402. package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +28 -1
  403. package/Source/Scene/Model/ModelDrawCommand.js +160 -16
  404. package/Source/Scene/Model/ModelDrawCommands.js +4 -0
  405. package/Source/Scene/Model/ModelSceneGraph.js +21 -0
  406. package/Source/Scene/Model/ModelUtility.js +1 -0
  407. package/Source/Scene/Model/PickingPipelineStage.js +29 -0
  408. package/Source/Scene/Model/PrimitiveRenderResources.js +24 -0
  409. package/Source/Scene/ModelComponents.js +71 -0
  410. package/Source/Scene/Picking.js +19 -3
  411. package/Source/Scene/PlanarFillIdFramebuffer.js +172 -0
  412. package/Source/Scene/PntsParser.js +1 -1
  413. package/Source/Scene/PolylineCollection.js +1 -1
  414. package/Source/Scene/PostProcessStage.js +4 -2
  415. package/Source/Scene/QuadtreePrimitive.js +3 -2
  416. package/Source/Scene/ResourceCache.js +7 -4
  417. package/Source/Scene/ResourceCacheKey.js +21 -18
  418. package/Source/Scene/Scene.js +203 -5
  419. package/Source/Scene/ScreenSpaceCameraController.js +1 -2
  420. package/Source/Scene/ShadowMap.js +9 -3
  421. package/Source/Scene/ShadowMapShader.js +50 -2
  422. package/Source/Scene/SnapFramebuffer.js +121 -0
  423. package/Source/Scene/Snapping.js +184 -0
  424. package/Source/Scene/TerrainFillMesh.js +3 -2
  425. package/Source/Scene/UrlTemplate3DTilesDataProvider.js +1 -1
  426. package/Source/Scene/Vector3DTileContent.js +2 -3
  427. package/Source/Scene/VectorGltf3DTileContent.js +23 -3
  428. package/Source/Scene/View.js +10 -8
  429. package/Source/Scene/VoxelTraversal.js +1 -1
  430. package/Source/Scene/createElevationBandMaterial.js +1 -1
  431. package/Source/Scene/findMeshoptExtension.js +23 -0
  432. package/Source/Scene/renderBufferPointCollection.js +14 -10
  433. package/Source/Scene/renderBufferPolygonCollection.js +10 -15
  434. package/Source/Scene/renderBufferPolylineCollection.js +121 -194
  435. package/Source/Shaders/Builtin/Constants/passCesium3DTile.glsl +1 -1
  436. package/Source/Shaders/Builtin/Constants/passCesium3DTile.js +1 -1
  437. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.glsl +1 -1
  438. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.js +1 -1
  439. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.glsl +1 -1
  440. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.js +1 -1
  441. package/Source/Shaders/Builtin/Constants/passCesium3DTilePlanarFillId.glsl +9 -0
  442. package/Source/Shaders/Builtin/Constants/passCesium3DTilePlanarFillId.js +11 -0
  443. package/Source/Shaders/Builtin/Constants/passClassification.glsl +1 -1
  444. package/Source/Shaders/Builtin/Constants/passClassification.js +1 -1
  445. package/Source/Shaders/Builtin/Constants/passGaussianSplats.glsl +1 -1
  446. package/Source/Shaders/Builtin/Constants/passGaussianSplats.js +1 -1
  447. package/Source/Shaders/Builtin/Constants/passOpaque.glsl +1 -1
  448. package/Source/Shaders/Builtin/Constants/passOpaque.js +1 -1
  449. package/Source/Shaders/Builtin/Constants/passTranslucent.glsl +1 -1
  450. package/Source/Shaders/Builtin/Constants/passTranslucent.js +1 -1
  451. package/Source/Shaders/Builtin/Constants/passVoxels.glsl +1 -1
  452. package/Source/Shaders/Builtin/Constants/passVoxels.js +1 -1
  453. package/Source/Shaders/Builtin/CzmBuiltins.js +2 -0
  454. package/Source/Shaders/GlobeFS.glsl +10 -5
  455. package/Source/Shaders/GlobeFS.js +9 -5
  456. package/Source/Shaders/Materials/PolylineGlowMaterial.glsl +1 -1
  457. package/Source/Shaders/Materials/PolylineGlowMaterial.js +1 -1
  458. package/Source/Shaders/Model/MaterialStageFS.glsl +8 -2
  459. package/Source/Shaders/Model/MaterialStageFS.js +8 -2
  460. package/Source/Shaders/Model/ModelFS.glsl +105 -0
  461. package/Source/Shaders/Model/ModelFS.js +105 -0
  462. package/Source/Shaders/VectorCommon.glsl +178 -0
  463. package/Source/Shaders/VectorCommon.js +75 -0
  464. package/Source/ThirdParty/Workers/zip-web-worker.js +1 -1
  465. package/Source/ThirdParty/zip-module.wasm +0 -0
  466. package/Source/Widget/CesiumWidget.js +30 -0
  467. package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +2 -2
  468. package/Source/Workers/incrementallyBuildTerrainPicker.js +2 -0
  469. package/index.d.ts +825 -260
  470. package/index.js +29 -10
  471. package/package.json +4 -4
@@ -1,3 +1,5 @@
1
+ // @ts-check
2
+
1
3
  import defined from "./defined.js";
2
4
 
3
5
  /**
@@ -5,67 +7,68 @@ import defined from "./defined.js";
5
7
  *
6
8
  * @namespace LagrangePolynomialApproximation
7
9
  */
8
- const LagrangePolynomialApproximation = {
9
- type: "Lagrange",
10
- };
11
-
12
- /**
13
- * Given the desired degree, returns the number of data points required for interpolation.
14
- *
15
- * @param {number} degree The desired degree of interpolation.
16
- * @returns {number} The number of required data points needed for the desired degree of interpolation.
17
- */
18
- LagrangePolynomialApproximation.getRequiredDataPoints = function (degree) {
19
- return Math.max(degree + 1.0, 2);
20
- };
10
+ class LagrangePolynomialApproximation {
11
+ /**
12
+ * Gets the name of this interpolation algorithm.
13
+ * @type {string}
14
+ */
15
+ static get type() {
16
+ return "Lagrange";
17
+ }
21
18
 
22
- /**
23
- * Interpolates values using Lagrange Polynomial Approximation.
24
- *
25
- * @param {number} x The independent variable for which the dependent variables will be interpolated.
26
- * @param {number[]} xTable The array of independent variables to use to interpolate. The values
27
- * in this array must be in increasing order and the same value must not occur twice in the array.
28
- * @param {number[]} yTable The array of dependent variables to use to interpolate. For a set of three
29
- * dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}.
30
- * @param {number} yStride The number of dependent variable values in yTable corresponding to
31
- * each independent variable value in xTable.
32
- * @param {number[]} [result] An existing array into which to store the result.
33
- * @returns {number[]} The array of interpolated values, or the result parameter if one was provided.
34
- */
35
- LagrangePolynomialApproximation.interpolateOrderZero = function (
36
- x,
37
- xTable,
38
- yTable,
39
- yStride,
40
- result,
41
- ) {
42
- if (!defined(result)) {
43
- result = new Array(yStride);
19
+ /**
20
+ * Given the desired degree, returns the number of data points required for interpolation.
21
+ *
22
+ * @param {number} degree The desired degree of interpolation.
23
+ * @returns {number} The number of required data points needed for the desired degree of interpolation.
24
+ */
25
+ static getRequiredDataPoints(degree) {
26
+ return Math.max(degree + 1.0, 2);
44
27
  }
45
28
 
46
- let i;
47
- let j;
48
- const length = xTable.length;
29
+ /**
30
+ * Interpolates values using Lagrange Polynomial Approximation.
31
+ *
32
+ * @param {number} x The independent variable for which the dependent variables will be interpolated.
33
+ * @param {number[]} xTable The array of independent variables to use to interpolate. The values
34
+ * in this array must be in increasing order and the same value must not occur twice in the array.
35
+ * @param {number[]} yTable The array of dependent variables to use to interpolate. For a set of three
36
+ * dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}.
37
+ * @param {number} yStride The number of dependent variable values in yTable corresponding to
38
+ * each independent variable value in xTable.
39
+ * @param {number[]} [result] An existing array into which to store the result.
40
+ * @returns {number[]} The array of interpolated values, or the result parameter if one was provided.
41
+ */
42
+ static interpolateOrderZero(x, xTable, yTable, yStride, result) {
43
+ if (!defined(result)) {
44
+ result = new Array(yStride);
45
+ }
46
+
47
+ let i;
48
+ let j;
49
+ const length = xTable.length;
49
50
 
50
- for (i = 0; i < yStride; i++) {
51
- result[i] = 0;
52
- }
51
+ for (i = 0; i < yStride; i++) {
52
+ result[i] = 0;
53
+ }
53
54
 
54
- for (i = 0; i < length; i++) {
55
- let coefficient = 1;
55
+ for (i = 0; i < length; i++) {
56
+ let coefficient = 1;
56
57
 
57
- for (j = 0; j < length; j++) {
58
- if (j !== i) {
59
- const diffX = xTable[i] - xTable[j];
60
- coefficient *= (x - xTable[j]) / diffX;
58
+ for (j = 0; j < length; j++) {
59
+ if (j !== i) {
60
+ const diffX = xTable[i] - xTable[j];
61
+ coefficient *= (x - xTable[j]) / diffX;
62
+ }
61
63
  }
62
- }
63
64
 
64
- for (j = 0; j < yStride; j++) {
65
- result[j] += coefficient * yTable[i * yStride + j];
65
+ for (j = 0; j < yStride; j++) {
66
+ result[j] += coefficient * yTable[i * yStride + j];
67
+ }
66
68
  }
69
+
70
+ return result;
67
71
  }
72
+ }
68
73
 
69
- return result;
70
- };
71
74
  export default LagrangePolynomialApproximation;
@@ -1,3 +1,5 @@
1
+ // @ts-check
2
+
1
3
  import defined from "./defined.js";
2
4
  import DeveloperError from "./DeveloperError.js";
3
5
 
@@ -6,78 +8,79 @@ import DeveloperError from "./DeveloperError.js";
6
8
  *
7
9
  * @namespace LinearApproximation
8
10
  */
9
- const LinearApproximation = {
10
- type: "Linear",
11
- };
12
-
13
- /**
14
- * Given the desired degree, returns the number of data points required for interpolation.
15
- * Since linear interpolation can only generate a first degree polynomial, this function
16
- * always returns 2.
17
- * @param {number} degree The desired degree of interpolation.
18
- * @returns {number} This function always returns 2.
19
- *
20
- */
21
- LinearApproximation.getRequiredDataPoints = function (degree) {
22
- return 2;
23
- };
24
-
25
- /**
26
- * Interpolates values using linear approximation.
27
- *
28
- * @param {number} x The independent variable for which the dependent variables will be interpolated.
29
- * @param {number[]} xTable The array of independent variables to use to interpolate. The values
30
- * in this array must be in increasing order and the same value must not occur twice in the array.
31
- * @param {number[]} yTable The array of dependent variables to use to interpolate. For a set of three
32
- * dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}.
33
- * @param {number} yStride The number of dependent variable values in yTable corresponding to
34
- * each independent variable value in xTable.
35
- * @param {number[]} [result] An existing array into which to store the result.
36
- * @returns {number[]} The array of interpolated values, or the result parameter if one was provided.
37
- */
38
- LinearApproximation.interpolateOrderZero = function (
39
- x,
40
- xTable,
41
- yTable,
42
- yStride,
43
- result,
44
- ) {
45
- //>>includeStart('debug', pragmas.debug);
46
- if (xTable.length !== 2) {
47
- throw new DeveloperError(
48
- "The xTable provided to the linear interpolator must have exactly two elements.",
49
- );
50
- } else if (yStride <= 0) {
51
- throw new DeveloperError(
52
- "There must be at least 1 dependent variable for each independent variable.",
53
- );
11
+ class LinearApproximation {
12
+ /**
13
+ * Gets the name of this interpolation algorithm.
14
+ * @type {string}
15
+ */
16
+ static get type() {
17
+ return "Linear";
54
18
  }
55
- //>>includeEnd('debug');
56
19
 
57
- if (!defined(result)) {
58
- result = new Array(yStride);
20
+ /**
21
+ * Given the desired degree, returns the number of data points required for interpolation.
22
+ * Since linear interpolation can only generate a first degree polynomial, this function
23
+ * always returns 2.
24
+ * @param {number} degree The desired degree of interpolation.
25
+ * @returns {number} This function always returns 2.
26
+ *
27
+ */
28
+ static getRequiredDataPoints(degree) {
29
+ return 2;
59
30
  }
60
31
 
61
- let i;
62
- let y0;
63
- let y1;
64
- const x0 = xTable[0];
65
- const x1 = xTable[1];
32
+ /**
33
+ * Interpolates values using linear approximation.
34
+ *
35
+ * @param {number} x The independent variable for which the dependent variables will be interpolated.
36
+ * @param {number[]} xTable The array of independent variables to use to interpolate. The values
37
+ * in this array must be in increasing order and the same value must not occur twice in the array.
38
+ * @param {number[]} yTable The array of dependent variables to use to interpolate. For a set of three
39
+ * dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}.
40
+ * @param {number} yStride The number of dependent variable values in yTable corresponding to
41
+ * each independent variable value in xTable.
42
+ * @param {number[]} [result] An existing array into which to store the result.
43
+ * @returns {number[]} The array of interpolated values, or the result parameter if one was provided.
44
+ */
45
+ static interpolateOrderZero(x, xTable, yTable, yStride, result) {
46
+ //>>includeStart('debug', pragmas.debug);
47
+ if (xTable.length !== 2) {
48
+ throw new DeveloperError(
49
+ "The xTable provided to the linear interpolator must have exactly two elements.",
50
+ );
51
+ } else if (yStride <= 0) {
52
+ throw new DeveloperError(
53
+ "There must be at least 1 dependent variable for each independent variable.",
54
+ );
55
+ }
56
+ //>>includeEnd('debug');
66
57
 
67
- //>>includeStart('debug', pragmas.debug);
68
- if (x0 === x1) {
69
- throw new DeveloperError(
70
- "Divide by zero error: xTable[0] and xTable[1] are equal",
71
- );
72
- }
73
- //>>includeEnd('debug');
58
+ if (!defined(result)) {
59
+ result = new Array(yStride);
60
+ }
61
+
62
+ let i;
63
+ let y0;
64
+ let y1;
65
+ const x0 = xTable[0];
66
+ const x1 = xTable[1];
67
+
68
+ //>>includeStart('debug', pragmas.debug);
69
+ if (x0 === x1) {
70
+ throw new DeveloperError(
71
+ "Divide by zero error: xTable[0] and xTable[1] are equal",
72
+ );
73
+ }
74
+ //>>includeEnd('debug');
75
+
76
+ for (i = 0; i < yStride; i++) {
77
+ y0 = yTable[i];
78
+ y1 = yTable[i + yStride];
79
+ result[i] = ((y1 - y0) * x + x1 * y0 - x0 * y1) / (x1 - x0);
80
+ }
74
81
 
75
- for (i = 0; i < yStride; i++) {
76
- y0 = yTable[i];
77
- y1 = yTable[i + yStride];
78
- result[i] = ((y1 - y0) * x + x1 * y0 - x0 * y1) / (x1 - x0);
82
+ return result;
79
83
  }
84
+ }
80
85
 
81
- return result;
82
- };
83
86
  export default LinearApproximation;
@@ -339,6 +339,64 @@ CesiumMath.lerp = function (p, q, time) {
339
339
  return (1.0 - time) * p + time * q;
340
340
  };
341
341
 
342
+ /** @typedef {Object} SmoothDampResult
343
+ * @property {number} value The new value after applying the smooth damp.
344
+ * @property {number} velocity The updated current velocity.
345
+ */
346
+
347
+ /**
348
+ * Gradually changes a value towards a target value over time. The smoothing function uses a spring-damping algorithm based on Game Programming Gems 4 Chapter 1.10.
349
+ * @param {number} p The current value.
350
+ * @param {number} q The target value.
351
+ * @param {number} velocity The current velocity.
352
+ * @param {number} [deltaTime=0.0] The time since the last call to this function. Value must be greater than or equal to 0.0.
353
+ * @param {number} [maximumSpeed=Number.POSITIVE_INFINITY] Optionally allows clamping to the specified maximum speed.
354
+ * @param {number} [smoothTime=0.0001] Approximately the time it will take to reach the target. A smaller value will reach the target faster. This value must be greater than or equal to 0.0001.
355
+ * @param {SmoothDampResult} [result] An object to store the result. If not provided, a new object will be created and returned.
356
+ * @returns {SmoothDampResult} An object containing the new value and the updated current velocity.
357
+ */
358
+ CesiumMath.smoothDamp = function (
359
+ p,
360
+ q,
361
+ velocity,
362
+ deltaTime = 0.0,
363
+ maximumSpeed = Number.POSITIVE_INFINITY,
364
+ smoothTime = 0.0001,
365
+ result = {},
366
+ ) {
367
+ //>>includeStart('debug', pragmas.debug);
368
+ Check.typeOf.number("p", p);
369
+ Check.typeOf.number("q", q);
370
+ Check.typeOf.number("velocity", velocity);
371
+ Check.typeOf.number.greaterThanOrEquals("deltaTime", deltaTime, 0.0);
372
+ Check.typeOf.number.greaterThanOrEquals("maximumSpeed", maximumSpeed, 0.0);
373
+ Check.typeOf.number.greaterThanOrEquals("smoothTime", smoothTime, 0.0001);
374
+ Check.typeOf.object("result", result);
375
+ //>>includeEnd('debug');
376
+
377
+ // As a fallback, prevent crashes even if smoothTime is too small
378
+ smoothTime = Math.max(0.0001, smoothTime);
379
+ const omega = 2.0 / smoothTime;
380
+
381
+ const x = omega * deltaTime;
382
+ const exp = 1.0 / (1.0 + x + 0.48 * x * x + 0.235 * x * x * x);
383
+
384
+ const maxChange = maximumSpeed * smoothTime;
385
+ let change = p - q;
386
+ change = CesiumMath.clamp(change, -maxChange, maxChange);
387
+
388
+ const target = p - change;
389
+
390
+ const temp = (velocity + omega * change) * deltaTime;
391
+
392
+ velocity = (velocity - omega * temp) * exp;
393
+
394
+ result.value = target + (change + temp) * exp;
395
+ result.velocity = velocity;
396
+
397
+ return result;
398
+ };
399
+
342
400
  /**
343
401
  * pi
344
402
  *
@@ -1122,4 +1180,5 @@ CesiumMath.fastApproximateAtan2 = function (x, y) {
1122
1180
  t = y < 0.0 ? -t : t;
1123
1181
  return t;
1124
1182
  };
1183
+
1125
1184
  export default CesiumMath;
@@ -55,7 +55,7 @@ class Matrix2 {
55
55
  array[startingIndex++] = value[0];
56
56
  array[startingIndex++] = value[1];
57
57
  array[startingIndex++] = value[2];
58
- array[startingIndex++] = value[3];
58
+ array[startingIndex] = value[3];
59
59
 
60
60
  return array;
61
61
  }
@@ -82,7 +82,7 @@ class Matrix2 {
82
82
  result[0] = array[startingIndex++];
83
83
  result[1] = array[startingIndex++];
84
84
  result[2] = array[startingIndex++];
85
- result[3] = array[startingIndex++];
85
+ result[3] = array[startingIndex];
86
86
  return result;
87
87
  }
88
88
 
@@ -95,7 +95,7 @@ class Matrix3 {
95
95
  array[startingIndex++] = value[5];
96
96
  array[startingIndex++] = value[6];
97
97
  array[startingIndex++] = value[7];
98
- array[startingIndex++] = value[8];
98
+ array[startingIndex] = value[8];
99
99
 
100
100
  return array;
101
101
  }
@@ -127,7 +127,7 @@ class Matrix3 {
127
127
  result[5] = array[startingIndex++];
128
128
  result[6] = array[startingIndex++];
129
129
  result[7] = array[startingIndex++];
130
- result[8] = array[startingIndex++];
130
+ result[8] = array[startingIndex];
131
131
  return result;
132
132
  }
133
133
 
@@ -185,7 +185,7 @@ Object.defineProperties(OrthographicFrustum.prototype, {
185
185
  },
186
186
  },
187
187
  /**
188
- * Gets the orthographic projection matrix computed from the view frustum.
188
+ * Gets the underlying {@link OrthographicOffCenterFrustum}
189
189
  * @memberof OrthographicFrustum.prototype
190
190
  * @type {OrthographicOffCenterFrustum}
191
191
  * @readonly
@@ -282,7 +282,7 @@ Object.defineProperties(PerspectiveFrustum.prototype, {
282
282
  },
283
283
 
284
284
  /**
285
- * Gets the orthographic projection matrix computed from the view frustum.
285
+ * Gets the underlying {@link PerspectiveOffCenterFrustum}.
286
286
  * @memberof PerspectiveFrustum.prototype
287
287
  * @type {PerspectiveOffCenterFrustum}
288
288
  * @readonly
@@ -858,7 +858,7 @@ PolygonGeometry.pack = function (value, array, startingIndex) {
858
858
  } else {
859
859
  array[startingIndex++] = -1.0;
860
860
  }
861
- array[startingIndex++] = value.packedLength;
861
+ array[startingIndex] = value.packedLength;
862
862
  return array;
863
863
  };
864
864
 
@@ -928,7 +928,7 @@ PolygonGeometry.unpack = function (array, startingIndex, result) {
928
928
  } else {
929
929
  startingIndex++;
930
930
  }
931
- const packedLength = array[startingIndex++];
931
+ const packedLength = array[startingIndex];
932
932
 
933
933
  if (!defined(result)) {
934
934
  result = new PolygonGeometry(dummyOptions);
@@ -694,7 +694,7 @@ function wirePolygon(
694
694
  for (const index of polygonsToWire) {
695
695
  polygonIndex = wirePolygon(
696
696
  polygons,
697
- ++polygonIndex,
697
+ polygonIndex + 1,
698
698
  positions,
699
699
  edgesOnPlane,
700
700
  0,
@@ -116,7 +116,7 @@ function createGeometryFromPositions(
116
116
  indices[index++] = i + 1;
117
117
  }
118
118
  indices[index++] = length - 1;
119
- indices[index++] = 0;
119
+ indices[index] = 0;
120
120
 
121
121
  return new GeometryInstance({
122
122
  geometry: new Geometry({
@@ -316,7 +316,7 @@ PolylineGeometry.createGeometry = function (polylineGeometry) {
316
316
  let removedArrayIndex = 0;
317
317
  let nextRemovedIndex = removedIndices[0];
318
318
  colors = colors.filter(function (color, index) {
319
- let remove = false;
319
+ let remove;
320
320
  if (colorsPerVertex) {
321
321
  remove =
322
322
  index === nextRemovedIndex || (index === 0 && nextRemovedIndex === 1);
@@ -198,7 +198,7 @@ function convertShapeTo3DDuplicate(shape2D, boundingRectangle) {
198
198
  point = shape2D[0];
199
199
  shape[index++] = point.x - xOffset;
200
200
  shape[index++] = 0.0;
201
- shape[index++] = point.y - yOffset;
201
+ shape[index] = point.y - yOffset;
202
202
 
203
203
  return shape;
204
204
  }
@@ -711,13 +711,19 @@ class Rectangle {
711
711
  rectangleWest += CesiumMath.TWO_PI;
712
712
  }
713
713
 
714
- const west = CesiumMath.negativePiToPi(
714
+ let west = CesiumMath.negativePiToPi(
715
715
  Math.max(rectangleWest, otherRectangleWest),
716
716
  );
717
717
  const east = CesiumMath.negativePiToPi(
718
718
  Math.min(rectangleEast, otherRectangleEast),
719
719
  );
720
720
 
721
+ // +pi and -pi are the same longitude; use -pi here so a real intersection
722
+ // touching the antimeridian isn't mistaken for empty by the check below.
723
+ if (west === CesiumMath.PI && east < CesiumMath.PI) {
724
+ west = -CesiumMath.PI;
725
+ }
726
+
721
727
  if (
722
728
  (rectangle.west < rectangle.east ||
723
729
  otherRectangle.west < otherRectangle.east) &&
@@ -141,7 +141,7 @@ function constructRectangle(geometry, computedOptions) {
141
141
  indices[index++] = i + 1;
142
142
  }
143
143
  indices[index++] = positions.length / 3 - 1;
144
- indices[index++] = 0;
144
+ indices[index] = 0;
145
145
 
146
146
  const geo = new Geometry({
147
147
  attributes: new GeometryAttributes(),
@@ -371,7 +371,7 @@ SimplePolylineGeometry.createGeometry = function (simplePolylineGeometry) {
371
371
  colorValues[offset++] = Color.floatToByte(lastColor.red);
372
372
  colorValues[offset++] = Color.floatToByte(lastColor.green);
373
373
  colorValues[offset++] = Color.floatToByte(lastColor.blue);
374
- colorValues[offset++] = Color.floatToByte(lastColor.alpha);
374
+ colorValues[offset] = Color.floatToByte(lastColor.alpha);
375
375
  }
376
376
  }
377
377
  } else {
@@ -422,7 +422,7 @@ TerrainEncoding.prototype.decodePosition = function (buffer, index, result) {
422
422
  /**
423
423
  * Decode a position from the vertex buffer and apply vertical exaggeration.
424
424
  *
425
- * @param {Float32Array} buffer
425
+ * @param {Float32Array|Float64Array} buffer
426
426
  * @param {number} index
427
427
  * @param {Cartesian3} [result]
428
428
  * @returns {Cartesian3} The exaggerated position.
@@ -587,7 +587,7 @@ TerrainEncoding.prototype.decodeNormal = function (buffer, index, result) {
587
587
  Check.typeOf.object("result", result);
588
588
  //>>includeEnd('debug');
589
589
 
590
- const bufferIndex = (index = index * this.stride + this._offsetVertexNormal);
590
+ const bufferIndex = index * this.stride + this._offsetVertexNormal;
591
591
  return AttributeCompression.octDecodeFloat(buffer[bufferIndex], result);
592
592
  };
593
593
 
@@ -328,7 +328,7 @@ function computeTransform2D(mesh, projection, result) {
328
328
  * @param {SceneMode} mode The scene mode (3D, 2D, or Columbus View).
329
329
  * @param {MapProjection} projection The map projection.
330
330
  * @returns {Cartesian3} The point on the mesh where the ray intersects, or undefined if there is no intersection.
331
- * @private
331
+ * @ignore
332
332
  */
333
333
  TerrainMesh.prototype.pick = function (ray, cullBackFaces, mode, projection) {
334
334
  const intersection = this._terrainPicker.rayIntersect(
@@ -347,7 +347,7 @@ TerrainMesh.prototype.pick = function (ray, cullBackFaces, mode, projection) {
347
347
  * Updates the terrain mesh to account for changes in vertical exaggeration.
348
348
  * @param {Number} exaggeration A scalar used to exaggerate terrain.
349
349
  * @param {Number} exaggerationRelativeHeight The relative height from which terrain is exaggerated.
350
- * @private
350
+ * @ignore
351
351
  */
352
352
  TerrainMesh.prototype.updateExaggeration = function (
353
353
  exaggeration,
@@ -363,7 +363,7 @@ TerrainMesh.prototype.updateExaggeration = function (
363
363
  /**
364
364
  * Updates the terrain mesh to account for changes in scene mode.
365
365
  * @param {SceneMode} mode The scene mode (3D, 2D, or Columbus View).
366
- * @private
366
+ * @ignore
367
367
  */
368
368
  TerrainMesh.prototype.updateSceneMode = function (mode) {
369
369
  this._terrainPicker.needsRebuild = true;