@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
package/index.d.ts CHANGED
@@ -619,10 +619,9 @@ export namespace ArcGISTiledElevationTerrainProvider {
619
619
  * token: "KED1aF_I4UzXOHy3BnhwyBHU4l5oY6rO6walkmHoYqGp4XyIWUd5YZUC1ZrLAzvV40pR6gBXQayh0eFA8m6vPg.."
620
620
  * });
621
621
  * viewer.terrainProvider = terrainProvider;
622
- * @param [options] - A url or an object describing initialization options
623
622
  */
624
623
  export class ArcGISTiledElevationTerrainProvider {
625
- constructor(options?: CesiumTerrainProvider.ConstructorOptions);
624
+ constructor();
626
625
  /**
627
626
  * Gets an event that is raised when the terrain provider encounters an asynchronous error. By subscribing
628
627
  * to the event, you will be notified of the error and can potentially recover from it. Event listeners
@@ -3616,8 +3615,6 @@ export enum ClockStep {
3616
3615
  SYSTEM_CLOCK = 2
3617
3616
  }
3618
3617
 
3619
- export function hue2rgb(): void;
3620
-
3621
3618
  /**
3622
3619
  * A color, specified using red, green, blue, and alpha values,
3623
3620
  * which range from <code>0</code> (no intensity) to <code>1.0</code> (full intensity).
@@ -8450,6 +8447,10 @@ export class HeightmapTerrainData {
8450
8447
  * An {@link InterpolationAlgorithm} for performing Hermite interpolation.
8451
8448
  */
8452
8449
  export namespace HermitePolynomialApproximation {
8450
+ /**
8451
+ * Gets the name of this interpolation algorithm.
8452
+ */
8453
+ var type: string;
8453
8454
  /**
8454
8455
  * Given the desired degree, returns the number of data points required for interpolation.
8455
8456
  * @param degree - The desired degree of interpolation.
@@ -8736,17 +8737,20 @@ export enum IndexDatatype {
8736
8737
  UNSIGNED_INT = WebGLConstants.UNSIGNED_INT
8737
8738
  }
8738
8739
 
8739
- export namespace InterpolationAlgorithm {
8740
+ /**
8741
+ * The interface for interpolation algorithms.
8742
+ */
8743
+ export interface InterpolationAlgorithm {
8740
8744
  /**
8741
8745
  * Gets the name of this interpolation algorithm.
8742
8746
  */
8743
- var type: string;
8747
+ type: string;
8744
8748
  /**
8745
8749
  * Given the desired degree, returns the number of data points required for interpolation.
8746
8750
  * @param degree - The desired degree of interpolation.
8747
8751
  * @returns The number of required data points needed for the desired degree of interpolation.
8748
8752
  */
8749
- function getRequiredDataPoints(degree: number): number;
8753
+ getRequiredDataPoints(degree: number): number;
8750
8754
  /**
8751
8755
  * Performs zero order interpolation.
8752
8756
  * @param x - The independent variable for which the dependent variables will be interpolated.
@@ -8759,7 +8763,7 @@ export namespace InterpolationAlgorithm {
8759
8763
  * @param [result] - An existing array into which to store the result.
8760
8764
  * @returns The array of interpolated values, or the result parameter if one was provided.
8761
8765
  */
8762
- function interpolateOrderZero(x: number, xTable: number[], yTable: number[], yStride: number, result?: number[]): number[];
8766
+ interpolateOrderZero(x: number, xTable: number[], yTable: number[], yStride: number, result?: number[]): number[];
8763
8767
  /**
8764
8768
  * Performs higher order interpolation. Not all interpolators need to support high-order interpolation,
8765
8769
  * if this function remains undefined on implementing objects, interpolateOrderZero will be used instead.
@@ -8775,13 +8779,7 @@ export namespace InterpolationAlgorithm {
8775
8779
  * @param [result] - An existing array into which to store the result.
8776
8780
  * @returns The array of interpolated values, or the result parameter if one was provided.
8777
8781
  */
8778
- function interpolate(x: number, xTable: number[], yTable: number[], yStride: number, inputOrder: number, outputOrder: number, result?: number[]): number[];
8779
- }
8780
-
8781
- /**
8782
- * The interface for interpolation algorithms.
8783
- */
8784
- export interface InterpolationAlgorithm {
8782
+ interpolate?(x: number, xTable: number[], yTable: number[], yStride: number, inputOrder: number, outputOrder: number, result?: number[]): number[];
8785
8783
  }
8786
8784
 
8787
8785
  /**
@@ -9434,6 +9432,10 @@ export enum KeyboardEventModifier {
9434
9432
  * An {@link InterpolationAlgorithm} for performing Lagrange interpolation.
9435
9433
  */
9436
9434
  export namespace LagrangePolynomialApproximation {
9435
+ /**
9436
+ * Gets the name of this interpolation algorithm.
9437
+ */
9438
+ var type: string;
9437
9439
  /**
9438
9440
  * Given the desired degree, returns the number of data points required for interpolation.
9439
9441
  * @param degree - The desired degree of interpolation.
@@ -9478,6 +9480,10 @@ export class LeapSecond {
9478
9480
  * An {@link InterpolationAlgorithm} for performing linear interpolation.
9479
9481
  */
9480
9482
  export namespace LinearApproximation {
9483
+ /**
9484
+ * Gets the name of this interpolation algorithm.
9485
+ */
9486
+ var type: string;
9481
9487
  /**
9482
9488
  * Given the desired degree, returns the number of data points required for interpolation.
9483
9489
  * Since linear interpolation can only generate a first degree polynomial, this function
@@ -9793,6 +9799,26 @@ export namespace Math {
9793
9799
  * @returns The linearly interpolated value.
9794
9800
  */
9795
9801
  function lerp(p: number, q: number, time: number): number;
9802
+ /**
9803
+ * @property value - The new value after applying the smooth damp.
9804
+ * @property velocity - The updated current velocity.
9805
+ */
9806
+ type SmoothDampResult = {
9807
+ value: number;
9808
+ velocity: number;
9809
+ };
9810
+ /**
9811
+ * 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.
9812
+ * @param p - The current value.
9813
+ * @param q - The target value.
9814
+ * @param velocity - The current velocity.
9815
+ * @param [deltaTime = 0.0] - The time since the last call to this function. Value must be greater than or equal to 0.0.
9816
+ * @param [maximumSpeed = Number.POSITIVE_INFINITY] - Optionally allows clamping to the specified maximum speed.
9817
+ * @param [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.
9818
+ * @param [result] - An object to store the result. If not provided, a new object will be created and returned.
9819
+ * @returns An object containing the new value and the updated current velocity.
9820
+ */
9821
+ function smoothDamp(p: number, q: number, velocity: number, deltaTime?: number, maximumSpeed?: number, smoothTime?: number, result?: SmoothDampResult): SmoothDampResult;
9796
9822
  /**
9797
9823
  * pi
9798
9824
  */
@@ -16793,16 +16819,6 @@ export class TerrainData {
16793
16819
  wasCreatedByUpsampling(): boolean;
16794
16820
  }
16795
16821
 
16796
- /**
16797
- * Creates an axis-aligned bounding box for a quadtree node at the given tree-space coordinates and level.
16798
- * This AABB is in the tree's local space (where the root node of the tree is a unit cube in its own local space).
16799
- * @param x - The x coordinate of the node.
16800
- * @param y - The y coordinate of the node.
16801
- * @param level - The level of the node.
16802
- * @returns The axis-aligned bounding box for the node.
16803
- */
16804
- export function createAABBForNode(x: number, y: number, level: number): AxisAlignedBoundingBox;
16805
-
16806
16822
  export namespace TerrainProvider {
16807
16823
  /**
16808
16824
  * A function that is called when an error occurs.
@@ -18097,6 +18113,8 @@ export class VRTheWorldTerrainProvider {
18097
18113
  loadTileDataAvailability(x: number, y: number, level: number): undefined | Promise<void>;
18098
18114
  }
18099
18115
 
18116
+ export const GRID_TARGET_SEGMENTS_PER_CELL = 16;
18117
+
18100
18118
  /**
18101
18119
  * A vertex format defines what attributes make up a vertex. A VertexFormat can be provided
18102
18120
  * to a {@link Geometry} to request that certain properties be computed, e.g., just position,
@@ -19134,15 +19152,6 @@ export function srgbToLinear(value: number): number;
19134
19152
  */
19135
19153
  export function subdivideArray(array: any[], numberOfArrays: number): void;
19136
19154
 
19137
- /**
19138
- * Computes dimensions for text, based on current canvas state.
19139
- *
19140
- * Rounds metrics, excluding width, to whole pixels. This is purely to minimize
19141
- * rendering differences with migration to in-browser measureText(), and may be
19142
- * revised in the future. See: github.com/CesiumGS/cesium/pull/13081
19143
- */
19144
- export function measureText(): void;
19145
-
19146
19155
  /**
19147
19156
  * Writes the given text into a new canvas. The canvas will be sized to fit the text.
19148
19157
  * If text is blank, returns undefined.
@@ -22642,11 +22651,39 @@ export class KmlDataSource {
22642
22651
  update(time: JulianDate): boolean;
22643
22652
  }
22644
22653
 
22654
+ export namespace KmlFeatureData {
22655
+ /**
22656
+ * @property name - Gets the name.
22657
+ * @property uri - Gets the URI.
22658
+ * @property age - Gets the email.
22659
+ */
22660
+ type Author = {
22661
+ name: string;
22662
+ uri: string;
22663
+ age: number;
22664
+ };
22665
+ /**
22666
+ * @property href - Gets the href.
22667
+ * @property hreflang - Gets the language of the linked resource.
22668
+ * @property rel - Gets the link relation.
22669
+ * @property type - Gets the link type.
22670
+ * @property title - Gets the link title.
22671
+ * @property length - Gets the link length.
22672
+ */
22673
+ type Link = {
22674
+ href: string;
22675
+ hreflang: string;
22676
+ rel: string;
22677
+ type: string;
22678
+ title: string;
22679
+ length: string;
22680
+ };
22681
+ }
22682
+
22645
22683
  /**
22646
22684
  * Contains KML Feature data loaded into the <code>Entity.kml</code> property by {@link KmlDataSource}.
22647
22685
  */
22648
22686
  export class KmlFeatureData {
22649
- constructor();
22650
22687
  /**
22651
22688
  * Gets the atom syndication format author field.
22652
22689
  */
@@ -22675,35 +22712,6 @@ export class KmlFeatureData {
22675
22712
  extendedData: string;
22676
22713
  }
22677
22714
 
22678
- export namespace KmlFeatureData {
22679
- /**
22680
- * @property name - Gets the name.
22681
- * @property uri - Gets the URI.
22682
- * @property age - Gets the email.
22683
- */
22684
- type Author = {
22685
- name: string;
22686
- uri: string;
22687
- age: number;
22688
- };
22689
- /**
22690
- * @property href - Gets the href.
22691
- * @property hreflang - Gets the language of the linked resource.
22692
- * @property rel - Gets the link relation.
22693
- * @property type - Gets the link type.
22694
- * @property title - Gets the link title.
22695
- * @property length - Gets the link length.
22696
- */
22697
- type Link = {
22698
- href: string;
22699
- hreflang: string;
22700
- rel: string;
22701
- type: string;
22702
- title: string;
22703
- length: string;
22704
- };
22705
- }
22706
-
22707
22715
  /**
22708
22716
  * @param position - camera position
22709
22717
  * @param headingPitchRange - camera orientation
@@ -23413,10 +23421,11 @@ export namespace PathGraphics {
23413
23421
  * @property [leadTime] - A Property specifying the number of seconds in front the object to show.
23414
23422
  * @property [trailTime] - A Property specifying the number of seconds behind of the object to show.
23415
23423
  * @property [width = 1.0] - A numeric Property specifying the width in pixels.
23416
- * @property [resolution = 60] - A numeric Property specifying the maximum number of seconds to step when sampling the position.
23424
+ * @property [resolution = 60] - A numeric Property specifying the maximum number of seconds to step when sampling the position. Fractional positive values are allowed; in PORTIONS materialMode, non-positive values fall back to the default resolution of 60 seconds.
23417
23425
  * @property [material = Color.WHITE] - A Property specifying the material used to draw the path.
23418
23426
  * @property [distanceDisplayCondition] - A Property specifying at what distance from the camera that this path will be displayed.
23419
23427
  * @property [relativeTo] - A Property specifying the frame in which to visualize the path. Use another entity's id to visualize the path relative to that entity, or use the string values "FIXED" or "INERTIAL" to visualize the path in those reference frames.
23428
+ * @property [materialMode] - A Property specifying how material properties are applied along the path.
23420
23429
  */
23421
23430
  type ConstructorOptions = {
23422
23431
  show?: Property | boolean;
@@ -23427,6 +23436,7 @@ export namespace PathGraphics {
23427
23436
  material?: MaterialProperty | Color;
23428
23437
  distanceDisplayCondition?: Property | DistanceDisplayCondition;
23429
23438
  relativeTo?: Property | string;
23439
+ materialMode?: Property | PathMode;
23430
23440
  };
23431
23441
  }
23432
23442
 
@@ -23458,6 +23468,7 @@ export class PathGraphics {
23458
23468
  width: Property | undefined;
23459
23469
  /**
23460
23470
  * Gets or sets the Property specifying the maximum number of seconds to step when sampling the position.
23471
+ * Fractional positive values are allowed; in PORTIONS materialMode, non-positive values fall back to the default resolution of 60 seconds.
23461
23472
  */
23462
23473
  resolution: Property | undefined;
23463
23474
  /**
@@ -23486,6 +23497,21 @@ export class PathGraphics {
23486
23497
  merge(source: PathGraphics): void;
23487
23498
  }
23488
23499
 
23500
+ /**
23501
+ * Defines how material properties are applied along a path.
23502
+ */
23503
+ export enum PathMode {
23504
+ /**
23505
+ * The material is applied to the entire path as a whole.
23506
+ */
23507
+ WHOLE = 0,
23508
+ /**
23509
+ * The material is applied in portions based on temporal position information,
23510
+ * using interval-based material properties.
23511
+ */
23512
+ PORTIONS = 1
23513
+ }
23514
+
23489
23515
  /**
23490
23516
  * Transforms a path entity's position into the local frame of the reference entity.
23491
23517
  * If the reference entity has an orientation, uses that orientation to define the local frame.
@@ -26095,8 +26121,6 @@ export enum TextureMinificationFilter {
26095
26121
  LINEAR_MIPMAP_LINEAR = WebGLConstants.LINEAR_MIPMAP_LINEAR
26096
26122
  }
26097
26123
 
26098
- export function addAttribute(): void;
26099
-
26100
26124
  /**
26101
26125
  * An appearance defines the full GLSL vertex and fragment shaders and the
26102
26126
  * render state used to draw a {@link Primitive}. All appearances implement
@@ -26913,8 +26937,9 @@ export class Billboard {
26913
26937
  */
26914
26938
  rotation: number;
26915
26939
  /**
26916
- * Gets or sets the aligned axis in world space. The aligned axis is the unit vector that the billboard up vector points towards.
26940
+ * The aligned axis is the direction vector that the billboard up vector points towards.
26917
26941
  * The default is the zero vector, which means the billboard is aligned to the screen up vector.
26942
+ * Note that only the zero vector (0,0,0) resets the alignment to screen up.
26918
26943
  * @example
26919
26944
  * // Example 1.
26920
26945
  * // Have the billboard up vector point north
@@ -28948,6 +28973,13 @@ export class Camera {
28948
28973
  * @param [offset] - The offset from the target in a reference frame centered at the target.
28949
28974
  */
28950
28975
  lookAtTransform(transform: Matrix4, offset?: Cartesian3 | HeadingPitchRange): void;
28976
+ /**
28977
+ * Sets the camera orientation to look at a target position in world coordinates. The camera's up vector will be oriented to the world up vector at the target position.
28978
+ * If the camera is at the target position, the camera will be oriented to the world up vector at the target position.
28979
+ * @param target - The target position in world coordinates.
28980
+ * @param [ellipsoid = Ellipsoid.default] - The ellipsoid to use for determining the world up.
28981
+ */
28982
+ lookAtWorldPosition(target: Cartesian3, ellipsoid?: Ellipsoid): void;
28951
28983
  /**
28952
28984
  * Get the camera position needed to view a rectangle on an ellipsoid or map
28953
28985
  * @param rectangle - The rectangle to view.
@@ -30717,7 +30749,7 @@ export namespace Cesium3DTileset {
30717
30749
  * @property [clippingPlanes] - The {@link ClippingPlaneCollection} used to selectively disable rendering the tileset.
30718
30750
  * @property [clippingPolygons] - The {@link ClippingPolygonCollection} used to selectively disable rendering the tileset.
30719
30751
  * @property [classificationType] - Determines whether terrain, 3D Tiles or both will be classified by this tileset. See {@link Cesium3DTileset#classificationType} for details about restrictions and limitations.
30720
- * @property [heightReference] - Sets the {@link HeightReference} for point features in vector tilesets.
30752
+ * @property [heightReference] - Sets the {@link HeightReference} for features in vector tilesets.
30721
30753
  * @property [scene] - The {@link CesiumWidget#scene} that the tileset will be rendered in, required for tilesets that specify a {@link heightReference} value for clamping 3D Tiles vector data content- like points, lines, and labels- to terrain or 3D tiles.
30722
30754
  * @property [ellipsoid = Ellipsoid.WGS84] - The ellipsoid determining the size and shape of the globe.
30723
30755
  * @property [pointCloudShading] - Options for constructing a {@link PointCloudShading} object to control point attenuation based on geometric error and lighting.
@@ -32171,33 +32203,6 @@ export class ClippingPolygon {
32171
32203
  computeRectangle(result?: Rectangle): Rectangle;
32172
32204
  }
32173
32205
 
32174
- /**
32175
- * Returns a deep copy of the given array.
32176
- *
32177
- * If the input is undefined, then <code>undefined</code> is returned.
32178
- *
32179
- * Otherwise, the result will be a copy of the given array, where
32180
- * each element is copied with <code>Cartesian3.clone</code>.
32181
- * @param input - The input array
32182
- * @returns The copy
32183
- */
32184
- export function copyArrayCartesian3(input: Cartesian3[] | undefined): Cartesian3[] | undefined;
32185
-
32186
- /**
32187
- * Returns whether the given arrays are component-wise equal.
32188
- *
32189
- * When both arrays are undefined, then <code>true</code> is returned.
32190
- * When only one array is defined, or they are both defined but have
32191
- * different lengths, then <code>false</code> is returned.
32192
- *
32193
- * Otherwise, returns whether the corresponding elements of the arrays
32194
- * are equal, as of <code>Cartesian3.equals</code>.
32195
- * @param a - The first array
32196
- * @param b - The second array
32197
- * @returns Whether the arrays are equal
32198
- */
32199
- export function equalsArrayCartesian3(a: Cartesian3[] | undefined, b: Cartesian3[] | undefined): boolean;
32200
-
32201
32206
  /**
32202
32207
  * Specifies a set of clipping polygons. Clipping polygons selectively disable rendering in a region
32203
32208
  * inside or outside the specified list of {@link ClippingPolygon} objects for a single glTF model, 3D Tileset, or the globe.
@@ -32616,6 +32621,605 @@ export class ConeEmitter {
32616
32621
  constructor(angle?: number);
32617
32622
  }
32618
32623
 
32624
+ /**
32625
+ * An interface for a camera controller that can be registered with the scene to handle input events, camera animations, and other interactions. Implementations of this interface are expected to be registered with the scene via a {@link ControllerHost}.
32626
+ * This type describes an
32627
+ * interface and is not intended to be instantiated directly.
32628
+ */
32629
+ export class Controller {
32630
+ /**
32631
+ * Determines if the controller is enabled and should be updated by the host scene.
32632
+ */
32633
+ enabled: boolean;
32634
+ /**
32635
+ * Invoked when the controller is added to the DOM. Implement <code>connectedCallback</code> to set up any DOM event listeners.
32636
+ * @param element - The DOM element containing the Cesium scene.
32637
+ */
32638
+ connectedCallback(element: HTMLElement): void;
32639
+ /**
32640
+ * Invoked when the controller is removed from the DOM. Implement <code>disconnectedCallback</code> to tear down any DOM event listeners.
32641
+ * @param element - The DOM element containing the Cesium scene.
32642
+ */
32643
+ disconnectedCallback(element: HTMLElement): void;
32644
+ /**
32645
+ * Invoked once per frame. Implement <code>update</code> to modify the camera or other parts of the scene.
32646
+ * @param time - The current simulation time.
32647
+ */
32648
+ update(scene: Scene, time: JulianDate): void;
32649
+ /**
32650
+ * Invoked when the controller is being updated the first time, immediately before <code>update</code> is called. Implement <code>firstUpdate</code> to perform one-time work after the relevant scene has begun its render loop. Some examples might include initializing simulation time values or adding a primitive to the scene.
32651
+ * @param time - The current simulation time.
32652
+ */
32653
+ firstUpdate(scene: Scene, time: JulianDate): void;
32654
+ }
32655
+
32656
+ /**
32657
+ * Creates an instance of a <code>ControllerHost</code>. Typically, a <code>ControllerHost</code> is created by the Scene constructor and accessed via {@link Scene#controllerHost}.
32658
+ */
32659
+ export class ControllerHost {
32660
+ /**
32661
+ * The number of controllers registered to this host.
32662
+ */
32663
+ readonly controllerCount: number;
32664
+ /**
32665
+ * Registers a controller implementation with this host.
32666
+ * @param controller - An implementation of the Controller interface to register with this host.
32667
+ * @param element - The DOM element containing the Cesium scene.
32668
+ * @param [priority = 0] - An index, less than or equal to the current count of registed controllers, that defines the precedence of the new controller relative to those previously registered. A priority of <code>0</code> would mean the new controller would apply its updates before any other controller. As subsequent controllers are updated, their effects are applied on top of any previous update effects. If omitted, the new controller becomes the highest priority, i.e., its updates are applied after all other controllers.
32669
+ */
32670
+ registerController(controller: Controller, element: HTMLElement, priority?: number): void;
32671
+ /**
32672
+ * Unregisters a controller implementation from this host.
32673
+ * @param controller - An implementation of the Controller interface to unregister from this host.
32674
+ * @param element - The DOM element containing the Cesium scene.
32675
+ */
32676
+ unregisterController(controller: Controller, element: HTMLElement): void;
32677
+ /**
32678
+ * Invoked once per frame by the host scene. Updates all registered controllers in order of their priority.
32679
+ * @param scene - The host scene.
32680
+ * @param time - The current simulation time.
32681
+ */
32682
+ update(scene: Scene, time: JulianDate): void;
32683
+ }
32684
+
32685
+ export interface HybridScreenSpacePanCameraController extends Controller {
32686
+ }
32687
+
32688
+ /**
32689
+ * A contextual camera controller that combines screenspace map panning and screenspace elevator panning. The controller automatically switches between the two based on the camera's angle relative to nadir. If the camera is looking mostly down (within angleThreshold of nadir), <code>ScreenSpaceMapCameraController</code> is used.
32690
+ * If the camera is looking towards the horizon (beyond angleThreshold from nadir), the <code>ScreenSpaceElevatorCameraController</code> is used.
32691
+ * @example
32692
+ * viewer.scene.screenSpaceCameraController.enableInputs = false;
32693
+ * viewer.scene.screenSpaceCameraController.enableCollisionDetection = false;
32694
+ *
32695
+ * const hybridController = new HybridScreenSpacePanCameraController();
32696
+ * viewer.addController(hybridController);
32697
+ */
32698
+ export class HybridScreenSpacePanCameraController implements Controller {
32699
+ /**
32700
+ * The angle threshold in radians that determines which controller is used. If the camera is looking within this angle of nadir, the map controller is used. Otherwise, the elevator controller is used.
32701
+ */
32702
+ angleThreshold: number;
32703
+ /**
32704
+ * The controller that is used when the camera is looking more horizontally (beyond angleThreshold from nadir).
32705
+ */
32706
+ readonly elevatorController: ScreenSpaceElevatorCameraController;
32707
+ /**
32708
+ * The controller that is used when the camera is looking mostly down (within angleThreshold of nadir).
32709
+ */
32710
+ readonly mapController: ScreenSpaceMapCameraController;
32711
+ /**
32712
+ * Determines if the controller is enabled and should be updated by the host scene.
32713
+ */
32714
+ enabled: boolean;
32715
+ /**
32716
+ * Invoked when the controller is added to the DOM. Implement <code>connectedCallback</code> to set up any DOM event listeners.
32717
+ * @param element - The DOM element containing the Cesium scene.
32718
+ */
32719
+ connectedCallback(element: HTMLElement): void;
32720
+ /**
32721
+ * Invoked when the controller is removed from the DOM. Implement <code>disconnectedCallback</code> to tear down any DOM event listeners.
32722
+ * @param element - The DOM element containing the Cesium scene.
32723
+ */
32724
+ disconnectedCallback(element: HTMLElement): void;
32725
+ /**
32726
+ * Invoked once per frame. Implement <code>update</code> to modify the camera or other parts of the scene.
32727
+ * @param time - The current simulation time.
32728
+ */
32729
+ update(scene: Scene, time: JulianDate): void;
32730
+ /**
32731
+ * Invoked when the controller is being updated the first time, immediately before <code>update</code> is called. Implement <code>firstUpdate</code> to perform one-time work after the relevant scene has begun its render loop. Some examples might include initializing simulation time values or adding a primitive to the scene.
32732
+ * @param time - The current simulation time.
32733
+ */
32734
+ firstUpdate(scene: Scene, time: JulianDate): void;
32735
+ }
32736
+
32737
+ /**
32738
+ * This enumerated type is for classifying mouse buttons: left, middle, and right.
32739
+ */
32740
+ export enum MouseButton {
32741
+ /**
32742
+ * Represents a mouse left button.
32743
+ */
32744
+ LEFT = 0,
32745
+ /**
32746
+ * Represents a mouse middle button.
32747
+ */
32748
+ MIDDLE = 1,
32749
+ /**
32750
+ * Represents a mouse right button.
32751
+ */
32752
+ RIGHT = 2
32753
+ }
32754
+
32755
+ export namespace ScreenSpaceElevatorCameraController {
32756
+ /**
32757
+ * @property [dragInputs] - The drag input bindings that control panning.
32758
+ */
32759
+ type ControllerOptions = {
32760
+ dragInputs?: ScreenSpaceInputBindings.InputBinding[];
32761
+ };
32762
+ }
32763
+
32764
+ export interface ScreenSpaceElevatorCameraController extends Controller {
32765
+ }
32766
+
32767
+ /**
32768
+ * Creates an instance of a ScreenSpaceElevatorCameraController.
32769
+ * @example
32770
+ * viewer.scene.screenSpaceCameraController.enableInputs = false;
32771
+ * viewer.scene.screenSpaceCameraController.enableCollisionDetection = false;
32772
+ *
32773
+ * const elevatorCameraController = new Cesium.ScreenSpaceElevatorCameraController();
32774
+ * viewer.addController(elevatorCameraController);
32775
+ * @example
32776
+ * // Configure the controller to use the right mouse button for panning instead of the default left mouse button.
32777
+ * const elevatorCameraController = new Cesium.ScreenSpaceElevatorCameraController({
32778
+ * dragInputs: [{ button: Cesium.MouseButton.RIGHT}]
32779
+ * });
32780
+ * viewer.addController(elevatorCameraController);
32781
+ * @param [options] - The options for configuring the controller.
32782
+ */
32783
+ export class ScreenSpaceElevatorCameraController implements Controller {
32784
+ constructor(options?: ScreenSpaceElevatorCameraController.ControllerOptions);
32785
+ /**
32786
+ * The drag input bindings that control vertical panning. Each binding is a combination of the mouse button
32787
+ * and an optional keyboard modifier.
32788
+ */
32789
+ dragInputs: ScreenSpaceInputBindings.InputBinding[];
32790
+ /**
32791
+ * A callback function used to pick the world position from which to pan. The function is called with {@link Scene}, the {@link Cartesian2} screen space position, and a {@link Cartesian3} instance to store the result. The function should return the {@link Cartesian3} world position from which to pan, or <code>undefined</code> if no position could be picked. If <code>undefined</code> is returned, the camera will pan relative to the ellipsoid surface below the camera.
32792
+ * @example
32793
+ * const elevatorCameraController = new Cesium.ScreenSpaceElevatorCameraController();
32794
+ * elevatorCameraController.pickWorldPosition = function (scene, windowPosition, result) {
32795
+ * // Pick the world position from the depth buffer
32796
+ * return scene.pickPosition(windowPosition, result);
32797
+ * };
32798
+ * viewer.addController(elevatorCameraController);
32799
+ */
32800
+ pickWorldPosition: (...params: any[]) => any;
32801
+ /**
32802
+ * The speed in meters per pixel at which the camera pans.
32803
+ */
32804
+ panSpeed: number;
32805
+ /**
32806
+ * Enable or disable inertia when panning. When enabled, the camera will continue to move after the user stops dragging, gradually slowing down based on {@link ScreenSpaceMapCameraController#inertialDecay}.
32807
+ */
32808
+ inertiaEnabled: boolean;
32809
+ /**
32810
+ * The rate at which the camera's pan velocity decays over time.
32811
+ */
32812
+ inertialDecay: number;
32813
+ /**
32814
+ * A parameter in the range <code>[0, 1)</code> used to limit the range
32815
+ * of inputs to a percentage of the window width/height per animation frame.
32816
+ * This helps keep the camera under control in low-frame-rate situations.
32817
+ */
32818
+ maximumMovementRatio: number;
32819
+ /**
32820
+ * Determines if the controller is enabled and should be updated by the host scene.
32821
+ */
32822
+ enabled: boolean;
32823
+ /**
32824
+ * Invoked when the controller is added to the DOM. Implement <code>connectedCallback</code> to set up any DOM event listeners.
32825
+ * @param element - The DOM element containing the Cesium scene.
32826
+ */
32827
+ connectedCallback(element: HTMLElement): void;
32828
+ /**
32829
+ * Invoked when the controller is removed from the DOM. Implement <code>disconnectedCallback</code> to tear down any DOM event listeners.
32830
+ * @param element - The DOM element containing the Cesium scene.
32831
+ */
32832
+ disconnectedCallback(element: HTMLElement): void;
32833
+ /**
32834
+ * Invoked once per frame. Implement <code>update</code> to modify the camera or other parts of the scene.
32835
+ * @param time - The current simulation time.
32836
+ */
32837
+ update(scene: Scene, time: JulianDate): void;
32838
+ /**
32839
+ * Invoked when the controller is being updated the first time, immediately before <code>update</code> is called. Implement <code>firstUpdate</code> to perform one-time work after the relevant scene has begun its render loop. Some examples might include initializing simulation time values or adding a primitive to the scene.
32840
+ * @param time - The current simulation time.
32841
+ */
32842
+ firstUpdate(scene: Scene, time: JulianDate): void;
32843
+ }
32844
+
32845
+ export namespace ScreenSpaceInputBindings {
32846
+ /**
32847
+ * @property button - The mouse button used for drag start/stop.
32848
+ * @property [modifier] - The optional keyboard modifier to register.
32849
+ */
32850
+ type InputBinding = {
32851
+ button: MouseButton;
32852
+ modifier?: number;
32853
+ };
32854
+ /**
32855
+ * @property [start] - Called on drag start.
32856
+ * @property [end] - Called on drag stop.
32857
+ * @property [change] - Called on drag move.
32858
+ */
32859
+ type DragInputActions = {
32860
+ start?: (...params: any[]) => any;
32861
+ end?: (...params: any[]) => any;
32862
+ change?: (...params: any[]) => any;
32863
+ };
32864
+ /**
32865
+ * @property isDragging - True if a drag is in progress, false otherwise.
32866
+ */
32867
+ type DragInputState = {
32868
+ isDragging: boolean;
32869
+ };
32870
+ /**
32871
+ * Registers drag input bindings on a screen space event handler.
32872
+ * @param handler - The screen space event handler.
32873
+ * @param inputBindings - The drag bindings to register.
32874
+ * @param dragInputActions - The callbacks to invoke for drag actions.
32875
+ * @returns The drag input state.
32876
+ */
32877
+ function registerDragInputBindings(handler: ScreenSpaceEventHandler, inputBindings: InputBinding[], dragInputActions: DragInputActions): DragInputState;
32878
+ }
32879
+
32880
+ export namespace ScreenSpaceMapCameraController {
32881
+ /**
32882
+ * @property [dragInputs] - The drag input bindings that control panning.
32883
+ */
32884
+ type ControllerOptions = {
32885
+ dragInputs?: ScreenSpaceInputBindings.InputBinding[];
32886
+ };
32887
+ }
32888
+
32889
+ export interface ScreenSpaceMapCameraController extends Controller {
32890
+ }
32891
+
32892
+ /**
32893
+ * Creates an instance of a ScreenSpaceMapCameraController.
32894
+ * @example
32895
+ * viewer.scene.screenSpaceCameraController.enableInputs = false;
32896
+ *
32897
+ * const mapCameraController = new Cesium.ScreenSpaceMapCameraController();
32898
+ * viewer.addController(mapCameraController);
32899
+ * @example
32900
+ * // Configure the controller to use the right mouse button for panning instead of the default left mouse button.
32901
+ * const mapCameraController = new Cesium.ScreenSpaceMapCameraController({
32902
+ * dragInputs: [{ button: Cesium.MouseButton.RIGHT}]
32903
+ * });
32904
+ * viewer.addController(mapCameraController);
32905
+ * @param [options] - The options for configuring the controller.
32906
+ */
32907
+ export class ScreenSpaceMapCameraController implements Controller {
32908
+ constructor(options?: ScreenSpaceMapCameraController.ControllerOptions);
32909
+ /**
32910
+ * The drag input bindings that map panning. Each binding is a combination of the mouse button
32911
+ * and an optional keyboard modifier.
32912
+ */
32913
+ dragInputs: ScreenSpaceInputBindings.InputBinding[];
32914
+ /**
32915
+ * A callback function used to pick the world position from which to pan. The function is called with {@link Scene}, the {@link Cartesian2} screen space position, and a {@link Cartesian3} instance to store the result. The function should return the {@link Cartesian3} world position from which to pan, or <code>undefined</code> if no position could be picked. If <code>undefined</code> is returned, the camera will pan relative to the ellipsoid surface below the camera.
32916
+ * @example
32917
+ * const mapCameraController = new Cesium.ScreenSpaceMapCameraController();
32918
+ * mapCameraController.pickWorldPosition = function (scene, windowPosition, result) {
32919
+ * // Pick the world position from the depth buffer
32920
+ * return scene.pickPosition(windowPosition, result);
32921
+ * };
32922
+ * viewer.addController(mapCameraController);
32923
+ */
32924
+ pickWorldPosition: (...params: any[]) => any;
32925
+ /**
32926
+ * The speed in meters per pixel at which the camera pans.
32927
+ */
32928
+ panSpeed: number;
32929
+ /**
32930
+ * Enable or disable inertia when panning. When enabled, the camera will continue to move after the user stops dragging, gradually slowing down based on {@link ScreenSpaceMapCameraController#inertialDecay}.
32931
+ */
32932
+ inertiaEnabled: boolean;
32933
+ /**
32934
+ * The rate at which the camera's pan velocity decays over time.
32935
+ */
32936
+ inertialDecay: number;
32937
+ /**
32938
+ * A parameter in the range <code>[0, 1)</code> used to limit the range
32939
+ * of inputs to a percentage of the window width/height per animation frame.
32940
+ * This helps keep the camera under control in low-frame-rate situations.
32941
+ */
32942
+ maximumMovementRatio: number;
32943
+ /**
32944
+ * Determines if the controller is enabled and should be updated by the host scene.
32945
+ */
32946
+ enabled: boolean;
32947
+ /**
32948
+ * Invoked when the controller is added to the DOM. Implement <code>connectedCallback</code> to set up any DOM event listeners.
32949
+ * @param element - The DOM element containing the Cesium scene.
32950
+ */
32951
+ connectedCallback(element: HTMLElement): void;
32952
+ /**
32953
+ * Invoked when the controller is removed from the DOM. Implement <code>disconnectedCallback</code> to tear down any DOM event listeners.
32954
+ * @param element - The DOM element containing the Cesium scene.
32955
+ */
32956
+ disconnectedCallback(element: HTMLElement): void;
32957
+ /**
32958
+ * Invoked once per frame. Implement <code>update</code> to modify the camera or other parts of the scene.
32959
+ * @param time - The current simulation time.
32960
+ */
32961
+ update(scene: Scene, time: JulianDate): void;
32962
+ /**
32963
+ * Invoked when the controller is being updated the first time, immediately before <code>update</code> is called. Implement <code>firstUpdate</code> to perform one-time work after the relevant scene has begun its render loop. Some examples might include initializing simulation time values or adding a primitive to the scene.
32964
+ * @param time - The current simulation time.
32965
+ */
32966
+ firstUpdate(scene: Scene, time: JulianDate): void;
32967
+ }
32968
+
32969
+ export namespace ScreenSpaceTiltOrbitCameraController {
32970
+ /**
32971
+ * @property [dragInputs] - The drag input bindings that control tilting and orbiting.
32972
+ */
32973
+ type ControllerOptions = {
32974
+ dragInputs?: ScreenSpaceInputBindings.InputBinding[];
32975
+ };
32976
+ }
32977
+
32978
+ export interface ScreenSpaceTiltOrbitCameraController extends Controller {
32979
+ }
32980
+
32981
+ /**
32982
+ * Creates a new instance of <code>ScreenSpaceTiltOrbitCameraController</code>.
32983
+ * @example
32984
+ * viewer.scene.screenSpaceCameraController.enableInputs = false;
32985
+ * viewer.scene.screenSpaceCameraController.enableCollisionDetection = false;
32986
+ *
32987
+ * const tiltOrbitController = new Cesium.ScreenSpaceTiltOrbitCameraController();
32988
+ * viewer.addController(tiltOrbitController);
32989
+ * @example
32990
+ * // Tilt around the position under the cursor or tap when dragging starts instead of the position at the center of the screen.
32991
+ * viewer.scene.screenSpaceCameraController.enableInputs = false;
32992
+ * viewer.scene.screenSpaceCameraController.enableCollisionDetection = false;
32993
+ *
32994
+ * const tiltOrbitController = new Cesium.ScreenSpaceTiltOrbitCameraController();
32995
+ * tiltOrbitController.useDragPosition = true;
32996
+ * viewer.addController(tiltOrbitController);
32997
+ * @example
32998
+ * // Configure the controller to use the left mouse button for tilting and orbiting instead of the default right mouse button.
32999
+ * const tiltOrbitController = new Cesium.ScreenSpaceTiltOrbitCameraController({
33000
+ * dragInputs: [{ button: Cesium.MouseButton.LEFT }]
33001
+ * });
33002
+ * viewer.addController(tiltOrbitController);
33003
+ * @param [options] - The options for configuring the controller.
33004
+ */
33005
+ export class ScreenSpaceTiltOrbitCameraController implements Controller {
33006
+ constructor(options?: ScreenSpaceTiltOrbitCameraController.ControllerOptions);
33007
+ /**
33008
+ * Enabled dragging to tilt the camera.
33009
+ */
33010
+ tiltEnabled: boolean;
33011
+ /**
33012
+ * Enabled dragging to orbit the camera.
33013
+ */
33014
+ orbitEnabled: boolean;
33015
+ /**
33016
+ * If false, the camera will orbit and tilt around the position at the center of the screen. If true, the camera will orbit and tilt around the position under the cursor or tap when dragging starts.
33017
+ */
33018
+ useDragPosition: boolean;
33019
+ /**
33020
+ * The drag input bindings that control tilting. Each binding is a combination of the mouse button
33021
+ * and an optional keyboard modifier.
33022
+ */
33023
+ dragInputs: ScreenSpaceInputBindings.InputBinding[];
33024
+ /**
33025
+ * A callback function used to pick the world position around which to tilt or orbit. The function is called with {@link Scene}, the {@link Cartesian2} screen space position, and a {@link Cartesian3} instance to store the result. The function should return the {@link Cartesian3} world position from which to tilt or orbit, or <code>undefined</code> if no position could be picked.
33026
+ * @example
33027
+ * const tiltOrbitCameraController = new Cesium.ScreenSpaceTiltOrbitCameraController();
33028
+ * tiltOrbitCameraController.pickWorldPosition = function (scene, windowPosition, result) {
33029
+ * // Pick the world position from the depth buffer
33030
+ * return scene.pickPosition(windowPosition, result);
33031
+ * };
33032
+ * viewer.addController(tiltOrbitCameraController);
33033
+ */
33034
+ pickWorldPosition: (...params: any[]) => any;
33035
+ /**
33036
+ * The amount at which the camera tilts per dragged pixel. A value of 1.0 means that dragging the mouse across the entire canvas will tilt the camera by 90 degrees.
33037
+ */
33038
+ tiltMagnitude: number;
33039
+ /**
33040
+ * Enables or disables damping for tilt and orbit animations. Damping smooths out the camera movement and makes it feel more natural or weighty, but it can also introduce a slight delay in the camera response. If damping is disabled, the camera will respond immediately to user input.
33041
+ */
33042
+ dampingEnabled: boolean;
33043
+ /**
33044
+ * Specifies the length of time in seconds in which a single tilt animation is targeted to complete.
33045
+ */
33046
+ tiltAnimationDuration: number;
33047
+ /**
33048
+ * The maximum tilt velocity in radians per second. A value of Number.POSITIVE_INFINITY means that the maximum tilt velocity is unbounded.
33049
+ */
33050
+ maximumTiltVelocity: number;
33051
+ /**
33052
+ * The amount at which the camera orbits per dragged pixel. A value of 1.0 means that dragging the mouse across the entire canvas will orbit the camera by 180 degrees.
33053
+ */
33054
+ orbitMagnitude: number;
33055
+ /**
33056
+ * Specifies the length of time in seconds in which a single orbit animation completes.
33057
+ */
33058
+ orbitAnimationDuration: number;
33059
+ /**
33060
+ * The maximum orbit velocity in radians per second. A value of Number.POSITIVE_INFINITY means that the maximum orbit velocity is unbounded.
33061
+ */
33062
+ maximumOrbitVelocity: number;
33063
+ /**
33064
+ * A parameter in the range <code>[0, 1)</code> used to limit the range
33065
+ * of inputs to a percentage of the window width/height per animation frame.
33066
+ * This helps keep the camera under control in low-frame-rate situations.
33067
+ */
33068
+ maximumMovementRatio: number;
33069
+ /**
33070
+ * Attempts to orbit the camera around the specified origin by the specified amount in radians. Positive values orbit the camera clockwise, negative values orbit the camera counterclockwise. If the drag origin is not on the ellipsoid, no orbit is applied.
33071
+ * @param camera - The camera to orbit.
33072
+ * @param target - The origin position to orbit around in world coordinates.
33073
+ * @param axis - The axis to orbit around, typically the negative of the surface normal at the target position.
33074
+ * @param amount - The amount to orbit the camera in radians. Positive values orbit the camera clockwise, negative values orbit the camera counterclockwise.
33075
+ * @param dt - The time delta in seconds since the last update.
33076
+ * @param [ellipsoid = Ellipsoid.default] - The ellipsoid to pick for the orbit origin. If undefined, the default ellipsoid is used.
33077
+ */
33078
+ orbit(camera: Camera, target: Cartesian3, axis: Cartesian3, amount: number, dt: number, ellipsoid?: Ellipsoid): void;
33079
+ /**
33080
+ * Attempts to tilt the camera by the specified amount in radians. Positive values tilt the camera down, negative values tilt the camera up. If the drag origin is not on the ellipsoid, no tilt is applied.
33081
+ * @param camera - The camera to tilt.
33082
+ * @param target - The origin position to tilt around in world coordinates.
33083
+ * @param axis - The axis to tilt around, typically the negative of the surface normal at the target position.
33084
+ * @param amount - The amount to tilt the camera in radians. Positive values tilt the camera down, negative values tilt the camera up.
33085
+ * @param dt - The time delta in seconds since the last update. Value must be greater than 0.
33086
+ * @param [ellipsoid = Ellipsoid.default] - The ellipsoid to pick for the tilt origin. If undefined, the default ellipsoid is used.
33087
+ */
33088
+ tilt(camera: Camera, target: Cartesian3, axis: Cartesian3, amount: number, dt: number, ellipsoid?: Ellipsoid): void;
33089
+ /**
33090
+ * Determines if the controller is enabled and should be updated by the host scene.
33091
+ */
33092
+ enabled: boolean;
33093
+ /**
33094
+ * Invoked when the controller is added to the DOM. Implement <code>connectedCallback</code> to set up any DOM event listeners.
33095
+ * @param element - The DOM element containing the Cesium scene.
33096
+ */
33097
+ connectedCallback(element: HTMLElement): void;
33098
+ /**
33099
+ * Invoked when the controller is removed from the DOM. Implement <code>disconnectedCallback</code> to tear down any DOM event listeners.
33100
+ * @param element - The DOM element containing the Cesium scene.
33101
+ */
33102
+ disconnectedCallback(element: HTMLElement): void;
33103
+ /**
33104
+ * Invoked once per frame. Implement <code>update</code> to modify the camera or other parts of the scene.
33105
+ * @param time - The current simulation time.
33106
+ */
33107
+ update(scene: Scene, time: JulianDate): void;
33108
+ /**
33109
+ * Invoked when the controller is being updated the first time, immediately before <code>update</code> is called. Implement <code>firstUpdate</code> to perform one-time work after the relevant scene has begun its render loop. Some examples might include initializing simulation time values or adding a primitive to the scene.
33110
+ * @param time - The current simulation time.
33111
+ */
33112
+ firstUpdate(scene: Scene, time: JulianDate): void;
33113
+ }
33114
+
33115
+ export namespace ScreenSpaceZoomCameraController {
33116
+ /**
33117
+ * @property [dragInputs] - The drag input bindings that control zooming.
33118
+ * @property [scrollInputs] - The scroll input bindings that control zooming.
33119
+ */
33120
+ type ControllerOptions = {
33121
+ dragInputs?: ScreenSpaceInputBindings.InputBinding[];
33122
+ scrollInputs?: ScreenSpaceEventType[];
33123
+ };
33124
+ }
33125
+
33126
+ export interface ScreenSpaceZoomCameraController extends Controller {
33127
+ }
33128
+
33129
+ /**
33130
+ * Creates a new instance of <code>ScreenSpaceZoomCameraController</code>.
33131
+ * @example
33132
+ * viewer.scene.screenSpaceCameraController.enableInputs = false;
33133
+ * viewer.scene.screenSpaceCameraController.enableCollisionDetection = false;
33134
+ *
33135
+ * const zoomCameraController = new Cesium.ScreenSpaceZoomCameraController();
33136
+ * viewer.addController(zoomCameraController);
33137
+ * @param [options] - The options for configuring the controller.
33138
+ */
33139
+ export class ScreenSpaceZoomCameraController implements Controller {
33140
+ constructor(options?: ScreenSpaceZoomCameraController.ControllerOptions);
33141
+ /**
33142
+ * If false, the camera will zoom to the position at the center of the screen. If true, the camera will zoom to the position under the cursor or tap when dragging starts or when scrolling with the scroll wheel.
33143
+ */
33144
+ usePointerPosition: boolean;
33145
+ /**
33146
+ * The drag input bindings that control zooming. Each binding is a combination of the mouse button
33147
+ * and an optional keyboard modifier.
33148
+ */
33149
+ dragInputs: ScreenSpaceInputBindings.InputBinding[];
33150
+ /**
33151
+ * The scroll input bindings that control zooming.
33152
+ */
33153
+ scrollInputs: ScreenSpaceEventType[];
33154
+ /**
33155
+ * The rate at which the camera zooms in and out based on the mouse wheel delta.
33156
+ */
33157
+ zoomSensitivity: number;
33158
+ /**
33159
+ * A callback function used to pick the world position from which to zoom. The function is called with {@link Scene}, the {@link Cartesian2} screen space position, and a {@link Cartesian3} instance to store the result. The function should return the {@link Cartesian3} world position from which to zoom, or <code>undefined</code> if no position could be picked.
33160
+ * @example
33161
+ * const zoomCameraController = new Cesium.ScreenSpaceZoomCameraController();
33162
+ * zoomCameraController.pickWorldPosition = function (scene, windowPosition, result) {
33163
+ * // Pick the world position from the depth buffer
33164
+ * return scene.pickPosition(windowPosition, result);
33165
+ * };
33166
+ * viewer.addController(zoomCameraController);
33167
+ */
33168
+ pickWorldPosition: (...params: any[]) => any;
33169
+ /**
33170
+ * The ratio of the camera's distance to the zoom target that defines how much the camera zooms in and out per second.
33171
+ */
33172
+ zoomDistanceRatio: number;
33173
+ /**
33174
+ * Enable or disable inertia when zooming. When enabled, the camera will continue to move after the user input stops, gradually slowing down based on {@link ScreenSpaceZoomCameraController#inertialDecay}.
33175
+ */
33176
+ inertiaEnabled: boolean;
33177
+ /**
33178
+ * The rate at which the camera's zoom velocity decays over time.
33179
+ */
33180
+ inertialDecay: number;
33181
+ /**
33182
+ * Maximum distance from the zoom target that the camera can move away.
33183
+ */
33184
+ maximumZoomDistance: number;
33185
+ /**
33186
+ * The maximum zoom velocity in meters per second. This limits the speed at which the camera can zoom in and out.
33187
+ */
33188
+ maximumZoomVelocity: number;
33189
+ /**
33190
+ * Enables or disables damping for zooming. Damping smooths out the camera movement and makes it feel more natural or weighty, but it can also introduce a slight delay in the camera response. If damping is disabled, the camera will respond immediately to user input.
33191
+ */
33192
+ dampingEnabled: boolean;
33193
+ /**
33194
+ * Specifies the length of time in seconds in which a single zoom animation is targeted to complete.
33195
+ */
33196
+ zoomAnimationDuration: number;
33197
+ /**
33198
+ * Determines if the controller is enabled and should be updated by the host scene.
33199
+ */
33200
+ enabled: boolean;
33201
+ /**
33202
+ * Invoked when the controller is added to the DOM. Implement <code>connectedCallback</code> to set up any DOM event listeners.
33203
+ * @param element - The DOM element containing the Cesium scene.
33204
+ */
33205
+ connectedCallback(element: HTMLElement): void;
33206
+ /**
33207
+ * Invoked when the controller is removed from the DOM. Implement <code>disconnectedCallback</code> to tear down any DOM event listeners.
33208
+ * @param element - The DOM element containing the Cesium scene.
33209
+ */
33210
+ disconnectedCallback(element: HTMLElement): void;
33211
+ /**
33212
+ * Invoked once per frame. Implement <code>update</code> to modify the camera or other parts of the scene.
33213
+ * @param time - The current simulation time.
33214
+ */
33215
+ update(scene: Scene, time: JulianDate): void;
33216
+ /**
33217
+ * Invoked when the controller is being updated the first time, immediately before <code>update</code> is called. Implement <code>firstUpdate</code> to perform one-time work after the relevant scene has begun its render loop. Some examples might include initializing simulation time values or adding a primitive to the scene.
33218
+ * @param time - The current simulation time.
33219
+ */
33220
+ firstUpdate(scene: Scene, time: JulianDate): void;
33221
+ }
33222
+
32619
33223
  /**
32620
33224
  * The credit display is responsible for displaying credits on screen.
32621
33225
  * @example
@@ -33199,47 +33803,6 @@ export enum DepthFunction {
33199
33803
  ALWAYS = WebGLConstants.ALWAYS
33200
33804
  }
33201
33805
 
33202
- /**
33203
- * Returns a shader statement that applies the inverse of the
33204
- * value transform to the given value, based on the given offset
33205
- * and scale.
33206
- * @param input - The input value
33207
- * @param offset - The offset
33208
- * @param scale - The scale
33209
- * @returns The statement
33210
- */
33211
- export function unapplyValueTransform(input: string, offset: string, scale: string): string;
33212
-
33213
- /**
33214
- * Returns a shader statement that applies the inverse of the
33215
- * normalization, based on the given component type
33216
- * @param input - The input value
33217
- * @param componentType - The component type
33218
- * @returns The statement
33219
- */
33220
- export function unnormalize(input: string, componentType: string): string;
33221
-
33222
- /**
33223
- * Creates a shader statement that returns the value of the specified
33224
- * property, normalized to the range [0, 1].
33225
- * @param classProperty - The class property
33226
- * @param metadataProperty - The metadata property, either
33227
- * a `PropertyTextureProperty` or a `PropertyAttributeProperty`
33228
- * @returns The string
33229
- */
33230
- export function getSourceValueStringScalar(classProperty: MetadataClassProperty, metadataProperty: any): string;
33231
-
33232
- /**
33233
- * Creates a shader statement that returns the value of the specified
33234
- * component of the given property, normalized to the range [0, 1].
33235
- * @param classProperty - The class property
33236
- * @param metadataProperty - The metadata property, either
33237
- * a `PropertyTextureProperty` or a `PropertyAttributeProperty`
33238
- * @param componentName - The name, in ["x", "y", "z", "w"]
33239
- * @returns The string
33240
- */
33241
- export function getSourceValueStringComponent(classProperty: MetadataClassProperty, metadataProperty: any, componentName: string): string;
33242
-
33243
33806
  /**
33244
33807
  * A light that gets emitted in a single direction from infinitely far away.
33245
33808
  * @param options - Object with the following properties:
@@ -34523,11 +35086,6 @@ export class GlobeTranslucency {
34523
35086
  rectangle: Rectangle;
34524
35087
  }
34525
35088
 
34526
- /**
34527
- * Loads the gltf object
34528
- */
34529
- export function loadGltfJson(): void;
34530
-
34531
35089
  export type EXTMeshPolygonExtension = {
34532
35090
  count: number;
34533
35091
  indicesOffsets: number;
@@ -37139,10 +37697,9 @@ export namespace IonImageryProvider {
37139
37697
  * @example
37140
37698
  * const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
37141
37699
  * viewer.imageryLayers.add(imageryLayer);
37142
- * @param [options] - Object describing initialization options
37143
37700
  */
37144
37701
  export class IonImageryProvider {
37145
- constructor(options?: IonImageryProvider.ConstructorOptions);
37702
+ constructor();
37146
37703
  /**
37147
37704
  * Gets the rectangle, in radians, of the imagery provided by the instance.
37148
37705
  */
@@ -37840,7 +38397,7 @@ export class Light {
37840
38397
  * This object is normally not instantiated directly, use {@link MVTDataProvider.fromUrl}.
37841
38398
  * </div>
37842
38399
  */
37843
- export class MVTDataProvider {
38400
+ export class MVTDataProvider extends UrlTemplate3DTilesDataProvider {
37844
38401
  /**
37845
38402
  * Creates an MVTDataProvider from the specified URL template and options.
37846
38403
  * @param url - URL template, containing {z}, {x}, and {y} placeholders.
@@ -37855,7 +38412,7 @@ export class MVTDataProvider {
37855
38412
  maxZoom?: number;
37856
38413
  extent?: Rectangle;
37857
38414
  featureIdProperty?: string;
37858
- }): void;
38415
+ }): Promise<MVTDataProvider>;
37859
38416
  }
37860
38417
 
37861
38418
  /**
@@ -38558,14 +39115,6 @@ export class Material {
38558
39115
  static readonly WaterMaskType: string;
38559
39116
  }
38560
39117
 
38561
- /**
38562
- * Loads the images for a cubemap uniform, if it has changed since the last time this was called.
38563
- * @param material - The material to load the cubemap images for.
38564
- * @param uniformId - The ID of the uniform that corresponds to the cubemap images.
38565
- * @returns A promise that resolves when the images are loaded, or a resolved promise if image loading is not necessary.
38566
- */
38567
- export function loadCubeMapImagesForUniform(material: Material, uniformId: string): any;
38568
-
38569
39118
  /**
38570
39119
  * An appearance for arbitrary geometry (as opposed to {@link EllipsoidSurfaceAppearance}, for example)
38571
39120
  * that supports shading with materials.
@@ -39506,36 +40055,6 @@ export class CorrelationGroup {
39506
40055
  readonly params: Spdcf[];
39507
40056
  }
39508
40057
 
39509
- /**
39510
- * Creates a Matrix3 that describes a covariance matrix (which is
39511
- * symmetric) from the array containing the upper triangle, in
39512
- * column-major order.
39513
- * @param array - The input array
39514
- * @returns The Matrix3
39515
- */
39516
- export function createCovarianceMatrixFromUpperTriangle(array: number[]): Matrix3;
39517
-
39518
- /**
39519
- * Creates an `AnchorPointDirect` from the given JSON representation
39520
- * @param anchorPointDirectJson - The input JSON
39521
- * @returns The direct anchor point
39522
- */
39523
- export function createAnchorPointDirect(anchorPointDirectJson: any): AnchorPointDirect;
39524
-
39525
- /**
39526
- * Creates an `AnchorPointIndirect` from the given JSON representation
39527
- * @param anchorPointIndirectJson - The input JSON
39528
- * @returns The indirect anchor point
39529
- */
39530
- export function createAnchorPointIndirect(anchorPointIndirectJson: any): AnchorPointIndirect;
39531
-
39532
- /**
39533
- * Creates a `CorrelationGroup` from the given JSON representation
39534
- * @param correlationGroupJson - The input JSON
39535
- * @returns The correlation group
39536
- */
39537
- export function createCorrelationGroup(correlationGroupJson: any): CorrelationGroup;
39538
-
39539
40058
  export namespace GltfGpmLocal {
39540
40059
  /**
39541
40060
  * Initialization options for the GltfGpmLocal constructor
@@ -39725,7 +40244,7 @@ export enum LightingModel {
39725
40244
  * {@link https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Vendor/EXT_mesh_gpu_instancing|EXT_mesh_gpu_instancing}
39726
40245
  * </li>
39727
40246
  * <li>
39728
- * {@link https://github.com/KhronosGroup/glTF/pull/2514|EXT_mesh_primitive_restart}
40247
+ * {@link https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Vendor/EXT_mesh_primitive_restart|EXT_mesh_primitive_restart}
39729
40248
  * </li>
39730
40249
  * <li>
39731
40250
  * {@link https://github.com/KhronosGroup/glTF/pull/2479|EXT_mesh_primitive_edge_visibility}
@@ -39757,9 +40276,16 @@ export enum LightingModel {
39757
40276
  * {@link https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_unlit/README.md|KHR_materials_unlit}
39758
40277
  * </li>
39759
40278
  * <li>
40279
+ * {@link https://github.com/KhronosGroup/glTF/pull/2569|KHR_mesh_primitive_restart}
40280
+ * (requires a WebGL 2 context; behavior on WebGL 1 is undefined)
40281
+ * </li>
40282
+ * <li>
39760
40283
  * {@link https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_mesh_quantization|KHR_mesh_quantization}
39761
40284
  * </li>
39762
40285
  * <li>
40286
+ * {@link https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_meshopt_compression|KHR_meshopt_compression}
40287
+ * </li>
40288
+ * <li>
39763
40289
  * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_texture_basisu|KHR_texture_basisu}
39764
40290
  * </li>
39765
40291
  * <li>
@@ -41555,34 +42081,6 @@ export class PerInstanceColorAppearance {
41555
42081
  getRenderState(): any;
41556
42082
  }
41557
42083
 
41558
- /**
41559
- * Compute the rectangle that describes the part of the drawing buffer
41560
- * that is relevant for picking.
41561
- * @param drawingBufferHeight - The height of the drawing buffer
41562
- * @param position - The position inside the drawing buffer
41563
- * @param width - The width of the rectangle, assumed to
41564
- * be an odd integer number, default : 3.0
41565
- * @param height - The height of the rectangle. If unspecified,
41566
- * height will default to the value of <code>width</code>
41567
- * @param result - The result rectangle
41568
- * @returns The result rectangle
41569
- */
41570
- export function computePickingDrawingBufferRectangle(drawingBufferHeight: number, position: Cartesian2, width: number | undefined, height: number | undefined, result: BoundingRectangle): BoundingRectangle;
41571
-
41572
- /**
41573
- * Setup needed before picking.
41574
- * @param windowPosition - Window coordinates to perform picking on.
41575
- * @param drawingBufferRectangle - The output drawing buffer recangle.
41576
- * @param [width = 3] - Width of the pick rectangle.
41577
- * @param [height = 3] - Height of the pick rectangle.
41578
- */
41579
- export function pickBegin(scene: Scene, windowPosition: Cartesian2, drawingBufferRectangle: BoundingRectangle, width?: number, height?: number): void;
41580
-
41581
- /**
41582
- * Teardown needed after picking.
41583
- */
41584
- export function pickEnd(scene: Scene): void;
41585
-
41586
42084
  /**
41587
42085
  * Information about metadata that is supposed to be picked
41588
42086
  * @property schemaId - The optional ID of the metadata schema
@@ -41597,44 +42095,6 @@ export type PickedMetadataInfo = {
41597
42095
  classProperty: MetadataClassProperty;
41598
42096
  };
41599
42097
 
41600
- /**
41601
- * @param pickedResults - the results from the pickCallback
41602
- * @param limit - If supplied, stop drilling after collecting this many picks.
41603
- * @returns whether picking should end
41604
- */
41605
- export function addDrillPickedResults(pickedResults: object[], limit: number, results: object[], pickedPrimitives: object[], pickedAttributes: object[], pickedFeatures: object[]): boolean;
41606
-
41607
- /**
41608
- * Drill pick by repeatedly calling a given `pickCallback`, each time stripping away the previously picked objects.
41609
- * @param pickCallback - Pick callback to execute each iteration
41610
- * @param [limit = Number.MAX_VALUE] - If supplied, stop drilling after collecting this many picks
41611
- * @returns List of picked results
41612
- */
41613
- export function drillPick(pickCallback: (...params: any[]) => any, limit?: number): object[];
41614
-
41615
- /**
41616
- * Remove all invalid binary body references from the batch table
41617
- * JSON of the given parsed content.
41618
- *
41619
- * This is a workaround for gracefully handling the invalid PNTS
41620
- * files that may have been created by the point cloud tiler.
41621
- * See https://github.com/CesiumGS/cesium/issues/12872
41622
- *
41623
- * When the batch table JSON is undefined, nothing will be done.
41624
- * When the batch table binary is defined, nothing will be done
41625
- * (assuming that any binary body references are valid - this is
41626
- * not checked here).
41627
- *
41628
- * Otherwise, this will remove all binary body references from the
41629
- * batch table JSON that are not resolved from draco via the
41630
- * `parsedContent.draco.batchTableProperties`.
41631
- *
41632
- * If any (invalid) binary body reference is found (and removed),
41633
- * a one-time warning will be printed.
41634
- * @param parsedContent - The parsed content
41635
- */
41636
- export function removeInvalidBinaryBodyReferences(parsedContent: any): void;
41637
-
41638
42098
  /**
41639
42099
  * Options for performing point attenuation based on geometric error when rendering
41640
42100
  * point clouds using 3D Tiles.
@@ -43817,6 +44277,16 @@ export class Scene {
43817
44277
  * Gets or sets the camera.
43818
44278
  */
43819
44279
  readonly camera: Camera;
44280
+ /**
44281
+ * Collects an array of <code>Controller</code> objects that can be registered with the scene to handle input events, camera animations, and other interactions.
44282
+ * @example
44283
+ * scene.screenSpaceCameraController.enableInputs = false;
44284
+ * scene.screenSpaceCameraController.enableCollisionDetection = false;
44285
+ *
44286
+ * const tiltOrbitController = new Cesium.ScreenSpaceTiltOrbitCameraController();
44287
+ * scene.controllerHost.registerController(tiltOrbitController, scene.canvas.parentNode);
44288
+ */
44289
+ readonly controllerHost: ControllerHost;
43820
44290
  /**
43821
44291
  * Gets the controller for camera input handling.
43822
44292
  */
@@ -43988,6 +44458,27 @@ export class Scene {
43988
44458
  * @returns Object containing the picked primitive or <code>undefined</code> if nothing is at the location.
43989
44459
  */
43990
44460
  pick(windowPosition: Cartesian2, width?: number, height?: number): any | undefined;
44461
+ /**
44462
+ * Returns the best snap target in a screen-space region around <code>windowPosition</code>.
44463
+ * Edges are preferred over surfaces; among hits of the same kind the one
44464
+ * nearest the cursor wins. Returns <code>undefined</code> if the region contains
44465
+ * no snappable geometry.
44466
+ * <p>
44467
+ * Only primitives rendered through the Model pipeline (e.g. 3D Tiles and glTF
44468
+ * models) are snappable. Snapping requires float color attachments
44469
+ * (WebGL2 with <code>EXT_color_buffer_float</code>); if unsupported, this
44470
+ * function returns <code>undefined</code>.
44471
+ * </p>
44472
+ * @param windowPosition - Window coordinates at the center of the search region.
44473
+ * @param [options] - Object with the following properties:
44474
+ * @param [options.width = 25] - Width of the search region in pixels.
44475
+ * @param [options.height = options.width] - Height of the search region in pixels.
44476
+ * @returns The best snap target in the region, or <code>undefined</code> if there is none.
44477
+ */
44478
+ snap(windowPosition: Cartesian2, options?: {
44479
+ width?: number;
44480
+ height?: number;
44481
+ }): SceneSnapResult | undefined;
43991
44482
  /**
43992
44483
  * Performs the same operation as Scene.pick but asynchonosly without blocking the main render thread.
43993
44484
  * Requires WebGL2 else using fallback.
@@ -44228,16 +44719,18 @@ export class Scene {
44228
44719
  }
44229
44720
 
44230
44721
  /**
44231
- * Determine how translucent surfaces will be handled.
44232
- *
44233
- * When OIT is enabled, then this will delegate to OIT.executeCommands.
44234
- * Otherwise, it will just be executeTranslucentCommandsBackToFront
44235
- * for render passes, or executeTranslucentCommandsFrontToBack for
44236
- * other passes.
44237
- * @param scene - The scene.
44238
- * @returns A function to execute translucent commands.
44722
+ * The result of a snap operation. See {@link Scene#snap}.
44723
+ * @property object - The snapped primitive or feature.
44724
+ * @property position - The world-space position of the snap point, un-projected from the snap framebuffer's eye-space depth.
44725
+ * @property screenPosition - The window coordinates of the snap point.
44726
+ * @property isEdge - <code>true</code> if the snap point lies on an edge; <code>false</code> if it lies on a surface.
44239
44727
  */
44240
- export function obtainTranslucentCommandExecutionFunction(scene: Scene): (...params: any[]) => any;
44728
+ export type SceneSnapResult = {
44729
+ object: any;
44730
+ position: Cartesian3;
44731
+ screenPosition: Cartesian2;
44732
+ isEdge: boolean;
44733
+ };
44241
44734
 
44242
44735
  /**
44243
44736
  * Indicates if the scene is viewed in 3D, 2D, or 2.5D Columbus view.
@@ -45635,6 +46128,60 @@ export enum Tonemapper {
45635
46128
  PBR_NEUTRAL = "PBR_NEUTRAL"
45636
46129
  }
45637
46130
 
46131
+ /**
46132
+ * Base provider for URL-template vector sources that are rendered through a
46133
+ * runtime-generated 3D Tiles tileset.
46134
+ * @param urlTemplate - URL template containing {z}, {x}, and {y} placeholders.
46135
+ * @param [options] - Provider options.
46136
+ * @param [options.minZoom = 0] - Minimum zoom level represented in the generated tileset.
46137
+ * @param [options.maxZoom = 14] - Maximum zoom level represented in the generated tileset.
46138
+ * @param [options.extent] - Optional geographic extent in radians to constrain the generated tile tree.
46139
+ * @param [options.featureIdProperty] - Feature property name to use as feature ID when supported by content decoding.
46140
+ */
46141
+ export class UrlTemplate3DTilesDataProvider {
46142
+ constructor(urlTemplate: Resource | string, options?: {
46143
+ minZoom?: number;
46144
+ maxZoom?: number;
46145
+ extent?: Rectangle;
46146
+ featureIdProperty?: string;
46147
+ });
46148
+ /**
46149
+ * Creates a provider from a URL template.
46150
+ * @param url - URL template containing {z}, {x}, and {y} placeholders.
46151
+ * @param [options] - Provider options.
46152
+ */
46153
+ static fromUrl(url: Resource | string, options?: any): Promise<UrlTemplate3DTilesDataProvider>;
46154
+ /**
46155
+ * URL template containing {z}/{x}/{y}.
46156
+ */
46157
+ readonly urlTemplate: string;
46158
+ /**
46159
+ * Resource derived from the URL template.
46160
+ */
46161
+ readonly resource: Resource;
46162
+ /**
46163
+ * Optional geographic extent in radians used to generate tile headers.
46164
+ */
46165
+ readonly extent: Rectangle | undefined;
46166
+ /**
46167
+ * Backing 3D Tileset.
46168
+ */
46169
+ readonly tileset: Cesium3DTileset | undefined;
46170
+ /**
46171
+ * Determines if the generated tileset is shown.
46172
+ */
46173
+ show: boolean;
46174
+ protected _createRuntimeTilesetOptions(): void;
46175
+ protected _createTilesetLoadOptions(): any;
46176
+ protected _configureTileset(_tileset: Cesium3DTileset): void;
46177
+ /**
46178
+ * Subclasses must return a runtime content codec describing how to turn
46179
+ * a downloaded tile payload into a {@link Cesium3DTileContent}. See
46180
+ * {@link Cesium3DTileset#_runtimeContentCodec} for the expected shape.
46181
+ */
46182
+ protected _createCodec(): any;
46183
+ }
46184
+
45638
46185
  export namespace UrlTemplateImageryProvider {
45639
46186
  /**
45640
46187
  * Initialization options for the UrlTemplateImageryProvider constructor
@@ -47429,6 +47976,24 @@ export class CesiumWidget {
47429
47976
  * unless <code>useDefaultRenderLoop</code> is set to false;
47430
47977
  */
47431
47978
  render(): void;
47979
+ /**
47980
+ * Adds a controller— an implementation of the {@link Controller} interface used to handle input events, camera animations, and other interactions— to the widget's scene.
47981
+ * @example
47982
+ * widget.scene.screenSpaceCameraController.enableInputs = false;
47983
+ * widget.scene.screenSpaceCameraController.enableCollisionDetection = false;
47984
+ *
47985
+ * const tiltOrbitController = new Cesium.ScreenSpaceTiltOrbitCameraController();
47986
+ * widget.addController(tiltOrbitController);
47987
+ * @param controller - An implementation of the <code>Controller</code> interface.
47988
+ */
47989
+ addController(controller: Controller): void;
47990
+ /**
47991
+ * Removes a controller— an implementation of the {@link Controller} interface used to handle input events, camera animations, and other interactions— from the widget's scene.
47992
+ * @example
47993
+ * widget.removeController(tiltOrbitController);
47994
+ * @param controller - An implementation of the <code>Controller</code> interface.
47995
+ */
47996
+ removeController(controller: Controller): void;
47432
47997
  /**
47433
47998
  * Asynchronously sets the camera to view the provided entity, entities, or data source.
47434
47999
  * If the data source is still in the process of loading or the visualization is otherwise still loading,