@cesium/engine 26.0.0 → 26.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (471) hide show
  1. package/Build/ThirdParty/Workers/zip-web-worker.js +586 -480
  2. package/Build/Workers/{chunk-7J2HKPRH.js → chunk-27FWRTJI.js} +9 -9
  3. package/Build/Workers/{chunk-EF2QYXGA.js → chunk-2EFYUSUY.js} +14 -14
  4. package/Build/Workers/chunk-2H5264K7.js +1284 -0
  5. package/Build/Workers/{chunk-DOBXCNC3.js → chunk-2H73KDBM.js} +13 -13
  6. package/Build/Workers/chunk-2RGJPWQX.js +1284 -0
  7. package/Build/Workers/chunk-2Z4ZLVOD.js +352 -0
  8. package/Build/Workers/{chunk-F6QDY6HU.js → chunk-2ZKH2QZB.js} +13 -13
  9. package/Build/Workers/chunk-36NI5E6W.js +3820 -0
  10. package/Build/Workers/{chunk-ZK3CF7ZD.js → chunk-37SW7SYS.js} +12 -12
  11. package/Build/Workers/chunk-3GHVJ3SO.js +455 -0
  12. package/Build/Workers/chunk-3LB4UVPU.js +387 -0
  13. package/Build/Workers/chunk-3PONLKEL.js +778 -0
  14. package/Build/Workers/{chunk-Y57HREW5.js → chunk-3PSS3T43.js} +4 -4
  15. package/Build/Workers/chunk-3QR662HH.js +3820 -0
  16. package/Build/Workers/{chunk-QN67VG36.js → chunk-3SX2WYSO.js} +6 -6
  17. package/Build/Workers/{chunk-G7PXZRVF.js → chunk-3UDN6LYX.js} +7 -7
  18. package/Build/Workers/chunk-47MCBSXI.js +9237 -0
  19. package/Build/Workers/{chunk-KKOSKAZB.js → chunk-4E626OCE.js} +17 -17
  20. package/Build/Workers/chunk-4NW2MJKH.js +455 -0
  21. package/Build/Workers/{chunk-DBOEKL43.js → chunk-52YK5BSN.js} +7 -7
  22. package/Build/Workers/{chunk-KFSTQKNM.js → chunk-5LSOO2KD.js} +7 -7
  23. package/Build/Workers/chunk-5RNAQZK6.js +9234 -0
  24. package/Build/Workers/chunk-5YPQBFRD.js +519 -0
  25. package/Build/Workers/{chunk-S4MCOY6I.js → chunk-6FHT43QR.js} +5 -5
  26. package/Build/Workers/chunk-6FZDPMTO.js +455 -0
  27. package/Build/Workers/{chunk-VQYETPWC.js → chunk-6HK6IXK2.js} +4 -4
  28. package/Build/Workers/chunk-6R5X2GUA.js +1284 -0
  29. package/Build/Workers/{chunk-AYKR4VBR.js → chunk-6YR6JBMY.js} +2 -2
  30. package/Build/Workers/chunk-76FDC45O.js +511 -0
  31. package/Build/Workers/chunk-7A2OGDHT.js +305 -0
  32. package/Build/Workers/chunk-7CGEQUM2.js +305 -0
  33. package/Build/Workers/{chunk-54I6Y66F.js → chunk-7D2HZKH7.js} +6 -6
  34. package/Build/Workers/{chunk-3VFEWOBI.js → chunk-7I325HV6.js} +7 -7
  35. package/Build/Workers/{chunk-4MGMYHOO.js → chunk-7KVKHY7O.js} +6 -6
  36. package/Build/Workers/chunk-7MM3N2VE.js +1067 -0
  37. package/Build/Workers/chunk-7TKLTCZW.js +219 -0
  38. package/Build/Workers/chunk-7UUKBDH6.js +1054 -0
  39. package/Build/Workers/chunk-7W6DUHAB.js +693 -0
  40. package/Build/Workers/{chunk-DDWSZVMY.js → chunk-7XM5JK5F.js} +5 -5
  41. package/Build/Workers/chunk-7YG3ND3P.js +454 -0
  42. package/Build/Workers/{chunk-IRBKFCEJ.js → chunk-A3O6EDBK.js} +2 -2
  43. package/Build/Workers/chunk-A62YI6S6.js +305 -0
  44. package/Build/Workers/{chunk-V7VQKN6N.js → chunk-A6X24AZI.js} +5 -5
  45. package/Build/Workers/chunk-A7TTWVTF.js +2719 -0
  46. package/Build/Workers/chunk-ACTVJHSP.js +519 -0
  47. package/Build/Workers/chunk-ADX3CBKD.js +9234 -0
  48. package/Build/Workers/{chunk-52JDLOEM.js → chunk-AF7DTMJ7.js} +14 -14
  49. package/Build/Workers/{chunk-ZP7JMQV4.js → chunk-AHWAZRBV.js} +6 -2
  50. package/Build/Workers/chunk-AJSFRY4U.js +1344 -0
  51. package/Build/Workers/{chunk-EBSIOBXY.js → chunk-ARZICEEP.js} +8 -8
  52. package/Build/Workers/chunk-B3QHNA4A.js +147 -0
  53. package/Build/Workers/{chunk-YLY7NKAB.js → chunk-B4CQSLZJ.js} +4 -4
  54. package/Build/Workers/chunk-BKPQFCXH.js +511 -0
  55. package/Build/Workers/{chunk-O3EA5HS7.js → chunk-BSPCI2LO.js} +10 -10
  56. package/Build/Workers/chunk-BUJWSX5S.js +301 -0
  57. package/Build/Workers/{chunk-J6BWOHUF.js → chunk-C7JQVRLM.js} +3 -3
  58. package/Build/Workers/chunk-C7QDUNI3.js +138 -0
  59. package/Build/Workers/{chunk-KSSWJIZW.js → chunk-CDJDJ5LK.js} +2 -2
  60. package/Build/Workers/chunk-CEEZE3YZ.js +476 -0
  61. package/Build/Workers/chunk-CIV5DJOQ.js +778 -0
  62. package/Build/Workers/{chunk-INUEEEQA.js → chunk-CLCTQVVL.js} +8 -8
  63. package/Build/Workers/{chunk-C6J67V5A.js → chunk-CQNFIAZU.js} +1 -1
  64. package/Build/Workers/chunk-CRCGE4J4.js +9237 -0
  65. package/Build/Workers/{chunk-SMQZZOW6.js → chunk-CUTRKXUQ.js} +10 -10
  66. package/Build/Workers/{chunk-Q3PY526V.js → chunk-D6AY775A.js} +6 -6
  67. package/Build/Workers/chunk-DBD5WWG2.js +959 -0
  68. package/Build/Workers/{chunk-E7VQ76KE.js → chunk-DIGUUD6G.js} +6 -6
  69. package/Build/Workers/{chunk-P3CK7MCY.js → chunk-DSGLDRTI.js} +4 -4
  70. package/Build/Workers/chunk-DZBQUULR.js +138 -0
  71. package/Build/Workers/chunk-DZUFEE4L.js +140 -0
  72. package/Build/Workers/chunk-E2NKV5YT.js +3820 -0
  73. package/Build/Workers/{chunk-424RNO3D.js → chunk-E7NZJOK7.js} +196 -22
  74. package/Build/Workers/{chunk-UOOIQ3KX.js → chunk-EB3Y5P3A.js} +12 -12
  75. package/Build/Workers/{chunk-ACXQXN46.js → chunk-EHTS2YPT.js} +16 -16
  76. package/Build/Workers/{chunk-EPYXRCDB.js → chunk-ELE6SC2C.js} +12 -12
  77. package/Build/Workers/{chunk-VWV2IJRB.js → chunk-ENNFMWDW.js} +11 -11
  78. package/Build/Workers/chunk-EOWDZN5S.js +288 -0
  79. package/Build/Workers/chunk-ERKUET22.js +3201 -0
  80. package/Build/Workers/chunk-EZGQPOIG.js +162 -0
  81. package/Build/Workers/chunk-F2IMBMZY.js +241 -0
  82. package/Build/Workers/chunk-F4CSNRZO.js +219 -0
  83. package/Build/Workers/chunk-FBP4DUQJ.js +693 -0
  84. package/Build/Workers/{chunk-FRQZECAO.js → chunk-FCP2QY4G.js} +5 -5
  85. package/Build/Workers/{chunk-ZZ46LWL6.js → chunk-FDK4K5IA.js} +1 -1
  86. package/Build/Workers/{chunk-C6KNZ7T4.js → chunk-FGQFQHN5.js} +17 -17
  87. package/Build/Workers/chunk-FJWZMGOQ.js +1992 -0
  88. package/Build/Workers/{chunk-Y5BF6AFU.js → chunk-FQ42MT7M.js} +2 -2
  89. package/Build/Workers/chunk-FU4BGABC.js +398 -0
  90. package/Build/Workers/chunk-FX3VEAIU.js +2719 -0
  91. package/Build/Workers/chunk-GGNWQWSB.js +301 -0
  92. package/Build/Workers/chunk-GHXVQVUM.js +1344 -0
  93. package/Build/Workers/{chunk-CZEYZU4N.js → chunk-GNKXEN4C.js} +10 -10
  94. package/Build/Workers/{chunk-MYP774IS.js → chunk-GSWMAFTE.js} +8 -8
  95. package/Build/Workers/chunk-GVA7XQI2.js +368 -0
  96. package/Build/Workers/chunk-GXDHRC4J.js +1344 -0
  97. package/Build/Workers/chunk-GXWQZBAI.js +58 -0
  98. package/Build/Workers/chunk-GYSYP6PC.js +1067 -0
  99. package/Build/Workers/chunk-H2WCFXLP.js +241 -0
  100. package/Build/Workers/chunk-HDL4HOXZ.js +778 -0
  101. package/Build/Workers/chunk-HHV3MCGV.js +162 -0
  102. package/Build/Workers/chunk-HLW2ZRVK.js +368 -0
  103. package/Build/Workers/chunk-HS6AD4P2.js +398 -0
  104. package/Build/Workers/chunk-HT6FASOT.js +973 -0
  105. package/Build/Workers/chunk-I74ZH5LK.js +959 -0
  106. package/Build/Workers/{chunk-7WM2PX4V.js → chunk-IDVHUDZT.js} +5 -5
  107. package/Build/Workers/chunk-IGAZBTFZ.js +3201 -0
  108. package/Build/Workers/chunk-IJZJMIUY.js +789 -0
  109. package/Build/Workers/chunk-ILME5BXA.js +301 -0
  110. package/Build/Workers/chunk-IMBVP57H.js +44 -0
  111. package/Build/Workers/chunk-IOO7Z2AV.js +57 -0
  112. package/Build/Workers/chunk-IUIFLOYO.js +44 -0
  113. package/Build/Workers/chunk-J73T2VOY.js +171 -0
  114. package/Build/Workers/chunk-JALGQYDY.js +288 -0
  115. package/Build/Workers/chunk-JKXV6PG5.js +56 -0
  116. package/Build/Workers/chunk-JW6OZT4R.js +288 -0
  117. package/Build/Workers/{chunk-CXOYE2WM.js → chunk-JXYLJCTC.js} +5 -5
  118. package/Build/Workers/{chunk-CFQP6LYM.js → chunk-K27QOAW6.js} +4 -4
  119. package/Build/Workers/chunk-KGXSYGBG.js +387 -0
  120. package/Build/Workers/chunk-KMV25A63.js +789 -0
  121. package/Build/Workers/chunk-KP5QD7WU.js +693 -0
  122. package/Build/Workers/chunk-KZWFWJML.js +2719 -0
  123. package/Build/Workers/chunk-LCXRRALY.js +387 -0
  124. package/Build/Workers/chunk-LD64RPYV.js +368 -0
  125. package/Build/Workers/{chunk-U3ZA64U7.js → chunk-LDRQSYBN.js} +2 -2
  126. package/Build/Workers/chunk-LGNDTZVX.js +97 -0
  127. package/Build/Workers/chunk-LNSQVXFH.js +1800 -0
  128. package/Build/Workers/chunk-M4JZ6TSZ.js +959 -0
  129. package/Build/Workers/chunk-M6QKXVAU.js +1054 -0
  130. package/Build/Workers/chunk-MAAHFYPC.js +198 -0
  131. package/Build/Workers/chunk-MCJDRDJQ.js +102 -0
  132. package/Build/Workers/chunk-MEENMEAH.js +198 -0
  133. package/Build/Workers/{chunk-TKKIREQ6.js → chunk-N7CCOFLX.js} +1 -1
  134. package/Build/Workers/chunk-NAWU5RF4.js +162 -0
  135. package/Build/Workers/{chunk-M3B5JKSM.js → chunk-NCL22ZUX.js} +1 -1
  136. package/Build/Workers/chunk-NEFDMMLY.js +241 -0
  137. package/Build/Workers/{chunk-UA25D5MX.js → chunk-NIWITKQK.js} +10 -10
  138. package/Build/Workers/chunk-NJVBJG63.js +124 -0
  139. package/Build/Workers/chunk-NLLCQBX3.js +73 -0
  140. package/Build/Workers/chunk-NSKZ6SBK.js +1483 -0
  141. package/Build/Workers/chunk-NXGQBQWE.js +837 -0
  142. package/Build/Workers/chunk-O3DKEX7Q.js +352 -0
  143. package/Build/Workers/chunk-O3XFXGPZ.js +476 -0
  144. package/Build/Workers/chunk-OA6MYL2C.js +837 -0
  145. package/Build/Workers/chunk-OBEU25PI.js +1067 -0
  146. package/Build/Workers/chunk-OHP4ELS7.js +198 -0
  147. package/Build/Workers/chunk-OZGPS7FB.js +138 -0
  148. package/Build/Workers/chunk-PCL3Y7H5.js +82 -0
  149. package/Build/Workers/chunk-PD4GK4EM.js +57 -0
  150. package/Build/Workers/chunk-PEDU33QG.js +2342 -0
  151. package/Build/Workers/chunk-PRWUMCXF.js +682 -0
  152. package/Build/Workers/chunk-PVTSNNVI.js +288 -0
  153. package/Build/Workers/chunk-QFSSCLLZ.js +973 -0
  154. package/Build/Workers/chunk-QHPZH22L.js +241 -0
  155. package/Build/Workers/chunk-QIZDWZK6.js +301 -0
  156. package/Build/Workers/chunk-QV6DG2YX.js +1483 -0
  157. package/Build/Workers/chunk-QVLAFFJY.js +56 -0
  158. package/Build/Workers/{chunk-6YEE6JDR.js → chunk-R4FPNAZ2.js} +6 -6
  159. package/Build/Workers/chunk-R4K7EHOU.js +171 -0
  160. package/Build/Workers/chunk-R7JGHDD6.js +789 -0
  161. package/Build/Workers/chunk-RASQEYD4.js +1483 -0
  162. package/Build/Workers/chunk-RG4F5R57.js +454 -0
  163. package/Build/Workers/chunk-RW6ITX7Q.js +3820 -0
  164. package/Build/Workers/chunk-RYSQVJR6.js +398 -0
  165. package/Build/Workers/chunk-S6RJU5NM.js +1054 -0
  166. package/Build/Workers/chunk-SA2A2AN5.js +2342 -0
  167. package/Build/Workers/chunk-SDFHDNS4.js +147 -0
  168. package/Build/Workers/chunk-SF6K72D7.js +124 -0
  169. package/Build/Workers/chunk-SGRGNDOD.js +682 -0
  170. package/Build/Workers/{chunk-QRWGUWI6.js → chunk-SJYSIOEM.js} +11 -11
  171. package/Build/Workers/chunk-SM2CDCYF.js +198 -0
  172. package/Build/Workers/chunk-SMTGMFBL.js +97 -0
  173. package/Build/Workers/chunk-SS5ABQGY.js +102 -0
  174. package/Build/Workers/{chunk-IYOUHCZB.js → chunk-SXSP3JHS.js} +1 -1
  175. package/Build/Workers/chunk-T5QBPLE3.js +414 -0
  176. package/Build/Workers/chunk-TN35HP5B.js +1067 -0
  177. package/Build/Workers/chunk-TNWKJNUZ.js +454 -0
  178. package/Build/Workers/chunk-TOAF47AQ.js +102 -0
  179. package/Build/Workers/chunk-TQ4QCOXT.js +2719 -0
  180. package/Build/Workers/chunk-TSDSILQB.js +124 -0
  181. package/Build/Workers/chunk-TVZD72WJ.js +778 -0
  182. package/Build/Workers/chunk-U5LV3F3Z.js +1054 -0
  183. package/Build/Workers/chunk-UAZUP4I5.js +1992 -0
  184. package/Build/Workers/chunk-UEY73NRN.js +38 -0
  185. package/Build/Workers/chunk-UF46SZEZ.js +789 -0
  186. package/Build/Workers/chunk-UNRTMCET.js +398 -0
  187. package/Build/Workers/chunk-UTB7U3O6.js +1992 -0
  188. package/Build/Workers/chunk-UVO6COT2.js +352 -0
  189. package/Build/Workers/chunk-V46YGZE6.js +352 -0
  190. package/Build/Workers/chunk-VAL7DYNR.js +278 -0
  191. package/Build/Workers/chunk-VDGOCROW.js +57 -0
  192. package/Build/Workers/chunk-VFWSSBPT.js +511 -0
  193. package/Build/Workers/chunk-VVYMXI3I.js +1284 -0
  194. package/Build/Workers/chunk-VXWHPYQM.js +837 -0
  195. package/Build/Workers/chunk-VXYUBRSB.js +219 -0
  196. package/Build/Workers/chunk-VZLDLEWI.js +387 -0
  197. package/Build/Workers/{chunk-4S7IE3LB.js → chunk-W5OCKMPJ.js} +2 -2
  198. package/Build/Workers/chunk-WBSY7HDY.js +837 -0
  199. package/Build/Workers/chunk-WN3F4CVG.js +3201 -0
  200. package/Build/Workers/chunk-WPRUWXGV.js +693 -0
  201. package/Build/Workers/chunk-WTO2ERBP.js +414 -0
  202. package/Build/Workers/chunk-WVHMDVG4.js +959 -0
  203. package/Build/Workers/chunk-XCBZVTIV.js +280 -0
  204. package/Build/Workers/chunk-XDWCTQCZ.js +101 -0
  205. package/Build/Workers/chunk-XGA23TAX.js +73 -0
  206. package/Build/Workers/chunk-XLQZNQ4Z.js +163 -0
  207. package/Build/Workers/chunk-XLXSDIP5.js +973 -0
  208. package/Build/Workers/chunk-XQ3SKCMM.js +140 -0
  209. package/Build/Workers/chunk-XQH66YJC.js +147 -0
  210. package/Build/Workers/chunk-XTA7BXJG.js +682 -0
  211. package/Build/Workers/chunk-XTIDAFRS.js +476 -0
  212. package/Build/Workers/chunk-XUEDWBUD.js +682 -0
  213. package/Build/Workers/chunk-XYFLRH3H.js +124 -0
  214. package/Build/Workers/chunk-Y7JRTRTO.js +305 -0
  215. package/Build/Workers/chunk-Y7QSMDCJ.js +352 -0
  216. package/Build/Workers/chunk-YCB5TYTR.js +1483 -0
  217. package/Build/Workers/chunk-YEYOSTJX.js +219 -0
  218. package/Build/Workers/chunk-YGFVAGYF.js +630 -0
  219. package/Build/Workers/chunk-YIIACKQO.js +368 -0
  220. package/Build/Workers/chunk-YJGSP6PE.js +511 -0
  221. package/Build/Workers/{chunk-XZMBNNDX.js → chunk-YKU2Q3A2.js} +9 -9
  222. package/Build/Workers/chunk-Z4LR5EHE.js +454 -0
  223. package/Build/Workers/chunk-Z66EVE2A.js +44 -0
  224. package/Build/Workers/chunk-ZHIHHHTB.js +414 -0
  225. package/Build/Workers/chunk-ZMBHFYOX.js +1344 -0
  226. package/Build/Workers/chunk-ZNWHFSLE.js +171 -0
  227. package/Build/Workers/chunk-ZQLZG4IN.js +2342 -0
  228. package/Build/Workers/chunk-ZRTSMUZ2.js +414 -0
  229. package/Build/Workers/{chunk-MPZHGZU6.js → chunk-ZSGUV73H.js} +4 -4
  230. package/Build/Workers/chunk-ZZUVT5BM.js +476 -0
  231. package/Build/Workers/combineGeometry.js +24 -24
  232. package/Build/Workers/createBoxGeometry.js +18 -18
  233. package/Build/Workers/createBoxOutlineGeometry.js +16 -16
  234. package/Build/Workers/createCircleGeometry.js +26 -26
  235. package/Build/Workers/createCircleOutlineGeometry.js +19 -19
  236. package/Build/Workers/createCoplanarPolygonGeometry.js +35 -35
  237. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
  238. package/Build/Workers/createCorridorGeometry.js +31 -33
  239. package/Build/Workers/createCorridorOutlineGeometry.js +29 -31
  240. package/Build/Workers/createCylinderGeometry.js +20 -20
  241. package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
  242. package/Build/Workers/createEllipseGeometry.js +26 -26
  243. package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
  244. package/Build/Workers/createEllipsoidGeometry.js +19 -19
  245. package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
  246. package/Build/Workers/createFrustumGeometry.js +18 -18
  247. package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
  248. package/Build/Workers/createGeometry.js +24 -24
  249. package/Build/Workers/createGroundPolylineGeometry.js +24 -24
  250. package/Build/Workers/createPlaneGeometry.js +16 -16
  251. package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
  252. package/Build/Workers/createPolygonGeometry.js +34 -34
  253. package/Build/Workers/createPolygonOutlineGeometry.js +31 -31
  254. package/Build/Workers/createPolylineGeometry.js +26 -26
  255. package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
  256. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
  257. package/Build/Workers/createRectangleGeometry.js +27 -27
  258. package/Build/Workers/createRectangleOutlineGeometry.js +21 -21
  259. package/Build/Workers/createSimplePolylineGeometry.js +24 -24
  260. package/Build/Workers/createSphereGeometry.js +19 -19
  261. package/Build/Workers/createSphereOutlineGeometry.js +18 -18
  262. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  263. package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
  264. package/Build/Workers/createVectorTileGeometries.js +24 -24
  265. package/Build/Workers/createVectorTilePoints.js +13 -13
  266. package/Build/Workers/createVectorTilePolygons.js +22 -22
  267. package/Build/Workers/createVectorTilePolylines.js +14 -14
  268. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +25 -25
  269. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -22
  270. package/Build/Workers/createVerticesFromHeightmap.js +22 -22
  271. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +20 -20
  272. package/Build/Workers/createWallGeometry.js +24 -24
  273. package/Build/Workers/createWallOutlineGeometry.js +24 -24
  274. package/Build/Workers/decodeDraco.js +10 -10
  275. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +987 -2320
  276. package/Build/Workers/decodeI3S.js +10 -10
  277. package/Build/Workers/gaussianSplatSorter.js +4 -4
  278. package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
  279. package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
  280. package/Build/Workers/transcodeKTX2.js +6 -6
  281. package/Build/Workers/transferTypedArrayTest.js +1 -1
  282. package/Build/Workers/upsampleQuantizedTerrainMesh.js +22 -22
  283. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +25 -25
  284. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +1 -5
  285. package/Source/Core/BoundingRectangle.js +6 -8
  286. package/Source/Core/BoundingSphere.js +0 -3
  287. package/Source/Core/Cesium3DTilesTerrainGeometryProcessor.js +3 -4
  288. package/Source/Core/Color.js +1 -0
  289. package/Source/Core/CoplanarPolygonGeometry.js +2 -2
  290. package/Source/Core/CorridorGeometry.js +2 -4
  291. package/Source/Core/CorridorOutlineGeometry.js +1 -3
  292. package/Source/Core/EarthOrientationParameters.js +2 -2
  293. package/Source/Core/EllipseGeometryLibrary.js +2 -2
  294. package/Source/Core/EllipsoidGeodesic.js +3 -3
  295. package/Source/Core/EllipsoidRhumbLine.js +1 -1
  296. package/Source/Core/GroundPolylineGeometry.js +2 -2
  297. package/Source/Core/Heap.js +1 -1
  298. package/Source/Core/HermitePolynomialApproximation.js +215 -179
  299. package/Source/Core/InterpolationAlgorithm.js +58 -50
  300. package/Source/Core/Ion.js +1 -1
  301. package/Source/Core/JulianDate.js +1 -1
  302. package/Source/Core/LagrangePolynomialApproximation.js +55 -52
  303. package/Source/Core/LinearApproximation.js +69 -66
  304. package/Source/Core/Math.js +59 -0
  305. package/Source/Core/Matrix2.js +2 -2
  306. package/Source/Core/Matrix3.js +2 -2
  307. package/Source/Core/OrthographicFrustum.js +1 -1
  308. package/Source/Core/PerspectiveFrustum.js +1 -1
  309. package/Source/Core/PolygonGeometry.js +2 -2
  310. package/Source/Core/PolygonGeometryLibrary.js +1 -1
  311. package/Source/Core/PolygonOutlineGeometry.js +1 -1
  312. package/Source/Core/PolylineGeometry.js +1 -1
  313. package/Source/Core/PolylineVolumeGeometryLibrary.js +1 -1
  314. package/Source/Core/Rectangle.js +7 -1
  315. package/Source/Core/RectangleOutlineGeometry.js +1 -1
  316. package/Source/Core/SimplePolylineGeometry.js +1 -1
  317. package/Source/Core/TerrainEncoding.js +2 -2
  318. package/Source/Core/TerrainMesh.js +3 -3
  319. package/Source/Core/TerrainPicker.js +180 -168
  320. package/Source/Core/TimeIntervalCollection.js +1 -3
  321. package/Source/Core/Tipsify.js +1 -1
  322. package/Source/Core/Transforms.js +5 -1
  323. package/Source/Core/VectorPipeline.js +1117 -0
  324. package/Source/Core/VectorProvider.js +429 -0
  325. package/Source/Core/WallOutlineGeometry.js +1 -1
  326. package/Source/Core/getTimestamp.js +4 -2
  327. package/Source/Core/writeTextToCanvas.js +1 -0
  328. package/Source/DataSources/CompositeEntityCollection.js +0 -1
  329. package/Source/DataSources/CzmlDataSource.js +14 -0
  330. package/Source/DataSources/DataSourceDisplay.js +1 -1
  331. package/Source/DataSources/GeoJsonDataSource.js +0 -1
  332. package/Source/DataSources/GeometryVisualizer.js +1 -1
  333. package/Source/DataSources/KmlDataSource.js +529 -557
  334. package/Source/DataSources/PathGraphics.js +8 -1
  335. package/Source/DataSources/PathMode.js +27 -0
  336. package/Source/DataSources/PathVisualizer.js +298 -1
  337. package/Source/DataSources/PolylineVisualizer.js +1 -1
  338. package/Source/DataSources/StaticOutlineGeometryBatch.js +1 -1
  339. package/Source/Renderer/AutomaticUniforms.js +23 -0
  340. package/Source/Renderer/Context.js +9 -3
  341. package/Source/Renderer/DrawCommand.js +22 -0
  342. package/Source/Renderer/Framebuffer.js +4 -0
  343. package/Source/Renderer/Pass.js +11 -10
  344. package/Source/Renderer/Texture.js +12 -1
  345. package/Source/Renderer/UniformState.js +7 -0
  346. package/Source/Renderer/VertexArray.js +1 -1
  347. package/Source/Scene/ArcGisMapServerImageryProvider.js +0 -5
  348. package/Source/Scene/ArcGisMapService.js +1 -1
  349. package/Source/Scene/Billboard.js +2 -1
  350. package/Source/Scene/BillboardCollection.js +7 -3
  351. package/Source/Scene/BillboardTexture.js +5 -3
  352. package/Source/Scene/BufferPrimitiveCollection.js +27 -5
  353. package/Source/Scene/Camera.js +71 -5
  354. package/Source/Scene/Cesium3DTileOptimizations.js +4 -6
  355. package/Source/Scene/Cesium3DTileset.js +1 -1
  356. package/Source/Scene/ClippingPlaneCollection.js +4 -4
  357. package/Source/Scene/ClippingPolygon.js +2 -0
  358. package/Source/Scene/ClippingPolygonCollection.js +2 -2
  359. package/Source/Scene/Controllers/Controller.js +63 -0
  360. package/Source/Scene/Controllers/ControllerHost.js +78 -0
  361. package/Source/Scene/Controllers/HybridScreenSpacePanCameraController.js +106 -0
  362. package/Source/Scene/Controllers/MouseButton.js +32 -0
  363. package/Source/Scene/Controllers/ScreenSpaceElevatorCameraController.js +295 -0
  364. package/Source/Scene/Controllers/ScreenSpaceInputBindings.js +154 -0
  365. package/Source/Scene/Controllers/ScreenSpaceMapCameraController.js +310 -0
  366. package/Source/Scene/Controllers/ScreenSpaceTiltOrbitCameraController.js +642 -0
  367. package/Source/Scene/Controllers/ScreenSpaceZoomCameraController.js +431 -0
  368. package/Source/Scene/Controllers/defaultPickWorldPosition.js +84 -0
  369. package/Source/Scene/DerivedCommand.js +98 -0
  370. package/Source/Scene/EdgeFramebuffer.js +1 -5
  371. package/Source/Scene/Expression.js +6 -8
  372. package/Source/Scene/FrameState.js +17 -0
  373. package/Source/Scene/Globe.js +20 -0
  374. package/Source/Scene/GlobeDepth.js +27 -1
  375. package/Source/Scene/GlobeSurfaceShaderSet.js +511 -409
  376. package/Source/Scene/GlobeSurfaceTile.js +575 -398
  377. package/Source/Scene/GlobeSurfaceTileProvider.js +1382 -1151
  378. package/Source/Scene/GltfBufferViewLoader.js +3 -3
  379. package/Source/Scene/GltfLoader.js +33 -3
  380. package/Source/Scene/GltfLoaderUtil.js +20 -4
  381. package/Source/Scene/GltfPipeline/forEachTextureInMaterial.js +10 -0
  382. package/Source/Scene/GltfPipeline/removeUnusedElements.js +21 -11
  383. package/Source/Scene/GltfSpzLoader.js +1 -1
  384. package/Source/Scene/GltfVertexBufferLoader.js +6 -3
  385. package/Source/Scene/I3SDataProvider.js +1 -1
  386. package/Source/Scene/I3SLayer.js +1 -1
  387. package/Source/Scene/I3SNode.js +2 -2
  388. package/Source/Scene/ImageryLayer.js +2 -2
  389. package/Source/Scene/ImageryLayerCollection.js +190 -6
  390. package/Source/Scene/IonImageryProvider.js +1 -5
  391. package/Source/Scene/Label.js +4 -4
  392. package/Source/Scene/LabelCollection.js +1 -1
  393. package/Source/Scene/MVTDataProvider.js +2 -0
  394. package/Source/Scene/Material.js +1 -0
  395. package/Source/Scene/Model/B3dmLoader.js +1 -2
  396. package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +10 -8
  397. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +4 -0
  398. package/Source/Scene/Model/I3dmLoader.js +1 -1
  399. package/Source/Scene/Model/InstancingPipelineStage.js +4 -7
  400. package/Source/Scene/Model/MaterialPipelineStage.js +124 -1
  401. package/Source/Scene/Model/Model.js +11 -10
  402. package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +28 -1
  403. package/Source/Scene/Model/ModelDrawCommand.js +160 -16
  404. package/Source/Scene/Model/ModelDrawCommands.js +4 -0
  405. package/Source/Scene/Model/ModelSceneGraph.js +21 -0
  406. package/Source/Scene/Model/ModelUtility.js +1 -0
  407. package/Source/Scene/Model/PickingPipelineStage.js +29 -0
  408. package/Source/Scene/Model/PrimitiveRenderResources.js +24 -0
  409. package/Source/Scene/ModelComponents.js +71 -0
  410. package/Source/Scene/Picking.js +19 -3
  411. package/Source/Scene/PlanarFillIdFramebuffer.js +172 -0
  412. package/Source/Scene/PntsParser.js +1 -1
  413. package/Source/Scene/PolylineCollection.js +1 -1
  414. package/Source/Scene/PostProcessStage.js +4 -2
  415. package/Source/Scene/QuadtreePrimitive.js +3 -2
  416. package/Source/Scene/ResourceCache.js +7 -4
  417. package/Source/Scene/ResourceCacheKey.js +21 -18
  418. package/Source/Scene/Scene.js +203 -5
  419. package/Source/Scene/ScreenSpaceCameraController.js +1 -2
  420. package/Source/Scene/ShadowMap.js +9 -3
  421. package/Source/Scene/ShadowMapShader.js +50 -2
  422. package/Source/Scene/SnapFramebuffer.js +121 -0
  423. package/Source/Scene/Snapping.js +184 -0
  424. package/Source/Scene/TerrainFillMesh.js +3 -2
  425. package/Source/Scene/UrlTemplate3DTilesDataProvider.js +1 -1
  426. package/Source/Scene/Vector3DTileContent.js +2 -3
  427. package/Source/Scene/VectorGltf3DTileContent.js +23 -3
  428. package/Source/Scene/View.js +10 -8
  429. package/Source/Scene/VoxelTraversal.js +1 -1
  430. package/Source/Scene/createElevationBandMaterial.js +1 -1
  431. package/Source/Scene/findMeshoptExtension.js +23 -0
  432. package/Source/Scene/renderBufferPointCollection.js +14 -10
  433. package/Source/Scene/renderBufferPolygonCollection.js +10 -15
  434. package/Source/Scene/renderBufferPolylineCollection.js +121 -194
  435. package/Source/Shaders/Builtin/Constants/passCesium3DTile.glsl +1 -1
  436. package/Source/Shaders/Builtin/Constants/passCesium3DTile.js +1 -1
  437. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.glsl +1 -1
  438. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.js +1 -1
  439. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.glsl +1 -1
  440. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.js +1 -1
  441. package/Source/Shaders/Builtin/Constants/passCesium3DTilePlanarFillId.glsl +9 -0
  442. package/Source/Shaders/Builtin/Constants/passCesium3DTilePlanarFillId.js +11 -0
  443. package/Source/Shaders/Builtin/Constants/passClassification.glsl +1 -1
  444. package/Source/Shaders/Builtin/Constants/passClassification.js +1 -1
  445. package/Source/Shaders/Builtin/Constants/passGaussianSplats.glsl +1 -1
  446. package/Source/Shaders/Builtin/Constants/passGaussianSplats.js +1 -1
  447. package/Source/Shaders/Builtin/Constants/passOpaque.glsl +1 -1
  448. package/Source/Shaders/Builtin/Constants/passOpaque.js +1 -1
  449. package/Source/Shaders/Builtin/Constants/passTranslucent.glsl +1 -1
  450. package/Source/Shaders/Builtin/Constants/passTranslucent.js +1 -1
  451. package/Source/Shaders/Builtin/Constants/passVoxels.glsl +1 -1
  452. package/Source/Shaders/Builtin/Constants/passVoxels.js +1 -1
  453. package/Source/Shaders/Builtin/CzmBuiltins.js +2 -0
  454. package/Source/Shaders/GlobeFS.glsl +10 -5
  455. package/Source/Shaders/GlobeFS.js +9 -5
  456. package/Source/Shaders/Materials/PolylineGlowMaterial.glsl +1 -1
  457. package/Source/Shaders/Materials/PolylineGlowMaterial.js +1 -1
  458. package/Source/Shaders/Model/MaterialStageFS.glsl +8 -2
  459. package/Source/Shaders/Model/MaterialStageFS.js +8 -2
  460. package/Source/Shaders/Model/ModelFS.glsl +105 -0
  461. package/Source/Shaders/Model/ModelFS.js +105 -0
  462. package/Source/Shaders/VectorCommon.glsl +178 -0
  463. package/Source/Shaders/VectorCommon.js +75 -0
  464. package/Source/ThirdParty/Workers/zip-web-worker.js +1 -1
  465. package/Source/ThirdParty/zip-module.wasm +0 -0
  466. package/Source/Widget/CesiumWidget.js +30 -0
  467. package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +2 -2
  468. package/Source/Workers/incrementallyBuildTerrainPicker.js +2 -0
  469. package/index.d.ts +825 -260
  470. package/index.js +29 -10
  471. package/package.json +4 -4
@@ -1,9 +1,22 @@
1
+ // @ts-check
2
+
1
3
  import defined from "./defined.js";
2
4
  import DeveloperError from "./DeveloperError.js";
3
5
  import CesiumMath from "./Math.js";
4
6
 
5
7
  const factorial = CesiumMath.factorial;
6
8
 
9
+ /**
10
+ * @param {number} x
11
+ * @param {number[]} zIndices
12
+ * @param {number[]} xTable
13
+ * @param {number} derivOrder
14
+ * @param {number} termOrder
15
+ * @param {number[]} reservedIndices
16
+ * @returns {number}
17
+ *
18
+ * @private
19
+ */
7
20
  function calculateCoefficientTerm(
8
21
  x,
9
22
  zIndices,
@@ -61,223 +74,245 @@ function calculateCoefficientTerm(
61
74
  }
62
75
 
63
76
  /**
64
- * An {@link InterpolationAlgorithm} for performing Hermite interpolation.
77
+ * @type {number[]}
65
78
  *
66
- * @namespace HermitePolynomialApproximation
79
+ * @private
67
80
  */
68
- const HermitePolynomialApproximation = {
69
- type: "Hermite",
70
- };
81
+ const arrayScratch = [];
71
82
 
72
83
  /**
73
- * Given the desired degree, returns the number of data points required for interpolation.
84
+ * An {@link InterpolationAlgorithm} for performing Hermite interpolation.
74
85
  *
75
- * @param {number} degree The desired degree of interpolation.
76
- * @param {number} [inputOrder=0] The order of the inputs (0 means just the data, 1 means the data and its derivative, etc).
77
- * @returns {number} The number of required data points needed for the desired degree of interpolation.
78
- * @exception {DeveloperError} degree must be 0 or greater.
79
- * @exception {DeveloperError} inputOrder must be 0 or greater.
86
+ * @namespace HermitePolynomialApproximation
80
87
  */
81
- HermitePolynomialApproximation.getRequiredDataPoints = function (
82
- degree,
83
- inputOrder,
84
- ) {
85
- inputOrder = inputOrder ?? 0;
86
-
87
- //>>includeStart('debug', pragmas.debug);
88
- if (!defined(degree)) {
89
- throw new DeveloperError("degree is required.");
88
+ class HermitePolynomialApproximation {
89
+ /**
90
+ * Gets the name of this interpolation algorithm.
91
+ * @type {string}
92
+ */
93
+ static get type() {
94
+ return "Hermite";
90
95
  }
91
- if (degree < 0) {
92
- throw new DeveloperError("degree must be 0 or greater.");
93
- }
94
- if (inputOrder < 0) {
95
- throw new DeveloperError("inputOrder must be 0 or greater.");
96
- }
97
- //>>includeEnd('debug');
98
96
 
99
- return Math.max(Math.floor((degree + 1) / (inputOrder + 1)), 2);
100
- };
97
+ /**
98
+ * Given the desired degree, returns the number of data points required for interpolation.
99
+ *
100
+ * @param {number} degree The desired degree of interpolation.
101
+ * @param {number} [inputOrder=0] The order of the inputs (0 means just the data, 1 means the data and its derivative, etc).
102
+ * @returns {number} The number of required data points needed for the desired degree of interpolation.
103
+ * @exception {DeveloperError} degree must be 0 or greater.
104
+ * @exception {DeveloperError} inputOrder must be 0 or greater.
105
+ */
106
+ static getRequiredDataPoints(degree, inputOrder) {
107
+ inputOrder = inputOrder ?? 0;
108
+
109
+ //>>includeStart('debug', pragmas.debug);
110
+ if (!defined(degree)) {
111
+ throw new DeveloperError("degree is required.");
112
+ }
113
+ if (degree < 0) {
114
+ throw new DeveloperError("degree must be 0 or greater.");
115
+ }
116
+ if (inputOrder < 0) {
117
+ throw new DeveloperError("inputOrder must be 0 or greater.");
118
+ }
119
+ //>>includeEnd('debug');
101
120
 
102
- /**
103
- * Interpolates values using Hermite Polynomial Approximation.
104
- *
105
- * @param {number} x The independent variable for which the dependent variables will be interpolated.
106
- * @param {number[]} xTable The array of independent variables to use to interpolate. The values
107
- * in this array must be in increasing order and the same value must not occur twice in the array.
108
- * @param {number[]} yTable The array of dependent variables to use to interpolate. For a set of three
109
- * dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}.
110
- * @param {number} yStride The number of dependent variable values in yTable corresponding to
111
- * each independent variable value in xTable.
112
- * @param {number[]} [result] An existing array into which to store the result.
113
- * @returns {number[]} The array of interpolated values, or the result parameter if one was provided.
114
- */
115
- HermitePolynomialApproximation.interpolateOrderZero = function (
116
- x,
117
- xTable,
118
- yTable,
119
- yStride,
120
- result,
121
- ) {
122
- if (!defined(result)) {
123
- result = new Array(yStride);
121
+ return Math.max(Math.floor((degree + 1) / (inputOrder + 1)), 2);
124
122
  }
125
123
 
126
- let i;
127
- let j;
128
- let d;
129
- let s;
130
- let len;
131
- let index;
132
- const length = xTable.length;
133
- const coefficients = new Array(yStride);
134
-
135
- for (i = 0; i < yStride; i++) {
136
- result[i] = 0;
137
-
138
- const l = new Array(length);
139
- coefficients[i] = l;
140
- for (j = 0; j < length; j++) {
141
- l[j] = [];
124
+ /**
125
+ * Interpolates values using Hermite Polynomial Approximation.
126
+ *
127
+ * @param {number} x The independent variable for which the dependent variables will be interpolated.
128
+ * @param {number[]} xTable The array of independent variables to use to interpolate. The values
129
+ * in this array must be in increasing order and the same value must not occur twice in the array.
130
+ * @param {number[]} yTable The array of dependent variables to use to interpolate. For a set of three
131
+ * dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}.
132
+ * @param {number} yStride The number of dependent variable values in yTable corresponding to
133
+ * each independent variable value in xTable.
134
+ * @param {number[]} [result] An existing array into which to store the result.
135
+ * @returns {number[]} The array of interpolated values, or the result parameter if one was provided.
136
+ */
137
+ static interpolateOrderZero(x, xTable, yTable, yStride, result) {
138
+ if (!defined(result)) {
139
+ result = new Array(yStride);
142
140
  }
143
- }
144
141
 
145
- const zIndicesLength = length,
146
- zIndices = new Array(zIndicesLength);
142
+ let i;
143
+ let j;
144
+ let d;
145
+ let s;
146
+ let len;
147
+ let index;
148
+ const length = xTable.length;
149
+ const coefficients = new Array(yStride);
150
+
151
+ for (i = 0; i < yStride; i++) {
152
+ result[i] = 0;
153
+
154
+ const l = new Array(length);
155
+ coefficients[i] = l;
156
+ for (j = 0; j < length; j++) {
157
+ l[j] = [];
158
+ }
159
+ }
147
160
 
148
- for (i = 0; i < zIndicesLength; i++) {
149
- zIndices[i] = i;
150
- }
161
+ const zIndicesLength = length,
162
+ zIndices = new Array(zIndicesLength);
151
163
 
152
- let highestNonZeroCoef = length - 1;
153
- for (s = 0; s < yStride; s++) {
154
- for (j = 0; j < zIndicesLength; j++) {
155
- index = zIndices[j] * yStride + s;
156
- coefficients[s][0].push(yTable[index]);
164
+ for (i = 0; i < zIndicesLength; i++) {
165
+ zIndices[i] = i;
157
166
  }
158
167
 
159
- for (i = 1; i < zIndicesLength; i++) {
160
- let nonZeroCoefficients = false;
161
- for (j = 0; j < zIndicesLength - i; j++) {
162
- const zj = xTable[zIndices[j]];
163
- const zn = xTable[zIndices[j + i]];
168
+ let highestNonZeroCoef = length - 1;
169
+ for (s = 0; s < yStride; s++) {
170
+ for (j = 0; j < zIndicesLength; j++) {
171
+ index = zIndices[j] * yStride + s;
172
+ coefficients[s][0].push(yTable[index]);
173
+ }
164
174
 
165
- let numerator;
166
- if (zn - zj <= 0) {
167
- index = zIndices[j] * yStride + yStride * i + s;
168
- numerator = yTable[index];
169
- coefficients[s][i].push(numerator / factorial(i));
170
- } else {
171
- numerator = coefficients[s][i - 1][j + 1] - coefficients[s][i - 1][j];
172
- coefficients[s][i].push(numerator / (zn - zj));
175
+ for (i = 1; i < zIndicesLength; i++) {
176
+ let nonZeroCoefficients = false;
177
+ for (j = 0; j < zIndicesLength - i; j++) {
178
+ const zj = xTable[zIndices[j]];
179
+ const zn = xTable[zIndices[j + i]];
180
+
181
+ let numerator;
182
+ if (zn - zj <= 0) {
183
+ index = zIndices[j] * yStride + yStride * i + s;
184
+ numerator = yTable[index];
185
+ coefficients[s][i].push(numerator / factorial(i));
186
+ } else {
187
+ numerator =
188
+ coefficients[s][i - 1][j + 1] - coefficients[s][i - 1][j];
189
+ coefficients[s][i].push(numerator / (zn - zj));
190
+ }
191
+ nonZeroCoefficients = nonZeroCoefficients || numerator !== 0;
173
192
  }
174
- nonZeroCoefficients = nonZeroCoefficients || numerator !== 0;
175
- }
176
193
 
177
- if (!nonZeroCoefficients) {
178
- highestNonZeroCoef = i - 1;
194
+ if (!nonZeroCoefficients) {
195
+ highestNonZeroCoef = i - 1;
196
+ }
179
197
  }
180
198
  }
181
- }
182
199
 
183
- for (d = 0, len = 0; d <= len; d++) {
184
- for (i = d; i <= highestNonZeroCoef; i++) {
185
- const tempTerm = calculateCoefficientTerm(x, zIndices, xTable, d, i, []);
186
- for (s = 0; s < yStride; s++) {
187
- const coeff = coefficients[s][i][0];
188
- result[s + d * yStride] += coeff * tempTerm;
200
+ for (d = 0, len = 0; d <= len; d++) {
201
+ for (i = d; i <= highestNonZeroCoef; i++) {
202
+ const tempTerm = calculateCoefficientTerm(
203
+ x,
204
+ zIndices,
205
+ xTable,
206
+ d,
207
+ i,
208
+ [],
209
+ );
210
+ for (s = 0; s < yStride; s++) {
211
+ const coeff = coefficients[s][i][0];
212
+ result[s + d * yStride] += coeff * tempTerm;
213
+ }
189
214
  }
190
215
  }
191
- }
192
-
193
- return result;
194
- };
195
-
196
- const arrayScratch = [];
197
-
198
- /**
199
- * Interpolates values using Hermite Polynomial Approximation.
200
- *
201
- * @param {number} x The independent variable for which the dependent variables will be interpolated.
202
- * @param {number[]} xTable The array of independent variables to use to interpolate. The values
203
- * in this array must be in increasing order and the same value must not occur twice in the array.
204
- * @param {number[]} yTable The array of dependent variables to use to interpolate. For a set of three
205
- * dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}.
206
- * @param {number} yStride The number of dependent variable values in yTable corresponding to
207
- * each independent variable value in xTable.
208
- * @param {number} inputOrder The number of derivatives supplied for input.
209
- * @param {number} outputOrder The number of derivatives desired for output.
210
- * @param {number[]} [result] An existing array into which to store the result.
211
- *
212
- * @returns {number[]} The array of interpolated values, or the result parameter if one was provided.
213
- */
214
- HermitePolynomialApproximation.interpolate = function (
215
- x,
216
- xTable,
217
- yTable,
218
- yStride,
219
- inputOrder,
220
- outputOrder,
221
- result,
222
- ) {
223
- const resultLength = yStride * (outputOrder + 1);
224
- if (!defined(result)) {
225
- result = new Array(resultLength);
226
- }
227
- for (let r = 0; r < resultLength; r++) {
228
- result[r] = 0;
229
- }
230
216
 
231
- const length = xTable.length;
232
- // The zIndices array holds copies of the addresses of the xTable values
233
- // in the range we're looking at. Even though this just holds information already
234
- // available in xTable this is a much more convenient format.
235
- const zIndices = new Array(length * (inputOrder + 1));
236
- let i;
237
- for (i = 0; i < length; i++) {
238
- for (let j = 0; j < inputOrder + 1; j++) {
239
- zIndices[i * (inputOrder + 1) + j] = i;
240
- }
217
+ return result;
241
218
  }
242
219
 
243
- const zIndiceslength = zIndices.length;
244
- const coefficients = arrayScratch;
245
- const highestNonZeroCoef = fillCoefficientList(
246
- coefficients,
247
- zIndices,
220
+ /**
221
+ * Interpolates values using Hermite Polynomial Approximation.
222
+ *
223
+ * @param {number} x The independent variable for which the dependent variables will be interpolated.
224
+ * @param {number[]} xTable The array of independent variables to use to interpolate. The values
225
+ * in this array must be in increasing order and the same value must not occur twice in the array.
226
+ * @param {number[]} yTable The array of dependent variables to use to interpolate. For a set of three
227
+ * dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}.
228
+ * @param {number} yStride The number of dependent variable values in yTable corresponding to
229
+ * each independent variable value in xTable.
230
+ * @param {number} inputOrder The number of derivatives supplied for input.
231
+ * @param {number} outputOrder The number of derivatives desired for output.
232
+ * @param {number[]} [result] An existing array into which to store the result.
233
+ *
234
+ * @returns {number[]} The array of interpolated values, or the result parameter if one was provided.
235
+ */
236
+ static interpolate(
237
+ x,
248
238
  xTable,
249
239
  yTable,
250
240
  yStride,
251
241
  inputOrder,
252
- );
253
- const reservedIndices = [];
242
+ outputOrder,
243
+ result,
244
+ ) {
245
+ const resultLength = yStride * (outputOrder + 1);
246
+ if (!defined(result)) {
247
+ result = new Array(resultLength);
248
+ }
249
+ for (let r = 0; r < resultLength; r++) {
250
+ result[r] = 0;
251
+ }
254
252
 
255
- const tmp = (zIndiceslength * (zIndiceslength + 1)) / 2;
256
- const loopStop = Math.min(highestNonZeroCoef, outputOrder);
257
- for (let d = 0; d <= loopStop; d++) {
258
- for (i = d; i <= highestNonZeroCoef; i++) {
259
- reservedIndices.length = 0;
260
- const tempTerm = calculateCoefficientTerm(
261
- x,
262
- zIndices,
263
- xTable,
264
- d,
265
- i,
266
- reservedIndices,
267
- );
268
- const dimTwo = Math.floor((i * (1 - i)) / 2) + zIndiceslength * i;
253
+ const length = xTable.length;
254
+ // The zIndices array holds copies of the addresses of the xTable values
255
+ // in the range we're looking at. Even though this just holds information already
256
+ // available in xTable this is a much more convenient format.
257
+ const zIndices = new Array(length * (inputOrder + 1));
258
+ let i;
259
+ for (i = 0; i < length; i++) {
260
+ for (let j = 0; j < inputOrder + 1; j++) {
261
+ zIndices[i * (inputOrder + 1) + j] = i;
262
+ }
263
+ }
269
264
 
270
- for (let s = 0; s < yStride; s++) {
271
- const dimOne = Math.floor(s * tmp);
272
- const coef = coefficients[dimOne + dimTwo];
273
- result[s + d * yStride] += coef * tempTerm;
265
+ const zIndiceslength = zIndices.length;
266
+ const coefficients = arrayScratch;
267
+ const highestNonZeroCoef = fillCoefficientList(
268
+ coefficients,
269
+ zIndices,
270
+ xTable,
271
+ yTable,
272
+ yStride,
273
+ inputOrder,
274
+ );
275
+ /** @type {number[]} */
276
+ const reservedIndices = [];
277
+
278
+ const tmp = (zIndiceslength * (zIndiceslength + 1)) / 2;
279
+ const loopStop = Math.min(highestNonZeroCoef, outputOrder);
280
+ for (let d = 0; d <= loopStop; d++) {
281
+ for (i = d; i <= highestNonZeroCoef; i++) {
282
+ reservedIndices.length = 0;
283
+ const tempTerm = calculateCoefficientTerm(
284
+ x,
285
+ zIndices,
286
+ xTable,
287
+ d,
288
+ i,
289
+ reservedIndices,
290
+ );
291
+ const dimTwo = Math.floor((i * (1 - i)) / 2) + zIndiceslength * i;
292
+
293
+ for (let s = 0; s < yStride; s++) {
294
+ const dimOne = Math.floor(s * tmp);
295
+ const coef = coefficients[dimOne + dimTwo];
296
+ result[s + d * yStride] += coef * tempTerm;
297
+ }
274
298
  }
275
299
  }
276
- }
277
300
 
278
- return result;
279
- };
301
+ return result;
302
+ }
303
+ }
280
304
 
305
+ /**
306
+ * @param {number[]} coefficients
307
+ * @param {number[]} zIndices
308
+ * @param {number[]} xTable
309
+ * @param {number[]} yTable
310
+ * @param {number} yStride
311
+ * @param {number} inputOrder
312
+ * @returns {number}
313
+ *
314
+ * @private
315
+ */
281
316
  function fillCoefficientList(
282
317
  coefficients,
283
318
  zIndices,
@@ -338,4 +373,5 @@ function fillCoefficientList(
338
373
 
339
374
  return highestNonZero;
340
375
  }
376
+
341
377
  export default HermitePolynomialApproximation;
@@ -1,65 +1,73 @@
1
+ // @ts-check
2
+
1
3
  import DeveloperError from "./DeveloperError.js";
2
4
 
3
5
  /**
4
6
  * The interface for interpolation algorithms.
5
7
  *
6
- * @interface InterpolationAlgorithm
8
+ * @interface
7
9
  *
8
10
  * @see LagrangePolynomialApproximation
9
11
  * @see LinearApproximation
10
12
  * @see HermitePolynomialApproximation
11
13
  */
12
- const InterpolationAlgorithm = {};
14
+ class InterpolationAlgorithm {
15
+ /**
16
+ * Gets the name of this interpolation algorithm.
17
+ * @type {string}
18
+ */
19
+ type;
13
20
 
14
- /**
15
- * Gets the name of this interpolation algorithm.
16
- * @type {string}
17
- */
18
- InterpolationAlgorithm.type = undefined;
21
+ /**
22
+ * Given the desired degree, returns the number of data points required for interpolation.
23
+ *
24
+ * @function
25
+ * @param {number} degree The desired degree of interpolation.
26
+ * @returns {number} The number of required data points needed for the desired degree of interpolation.
27
+ */
28
+ getRequiredDataPoints(degree) {
29
+ DeveloperError.throwInstantiationError();
30
+ }
19
31
 
20
- /**
21
- * Given the desired degree, returns the number of data points required for interpolation.
22
- * @function
23
- *
24
- * @param {number} degree The desired degree of interpolation.
25
- * @returns {number} The number of required data points needed for the desired degree of interpolation.
26
- */
27
- InterpolationAlgorithm.getRequiredDataPoints =
28
- DeveloperError.throwInstantiationError;
32
+ /**
33
+ * Performs zero order interpolation.
34
+ *
35
+ * @function
36
+ * @param {number} x The independent variable for which the dependent variables will be interpolated.
37
+ * @param {number[]} xTable The array of independent variables to use to interpolate. The values
38
+ * in this array must be in increasing order and the same value must not occur twice in the array.
39
+ * @param {number[]} yTable The array of dependent variables to use to interpolate. For a set of three
40
+ * dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}.
41
+ * @param {number} yStride The number of dependent variable values in yTable corresponding to
42
+ * each independent variable value in xTable.
43
+ * @param {number[]} [result] An existing array into which to store the result.
44
+ * @returns {number[]} The array of interpolated values, or the result parameter if one was provided.
45
+ */
46
+ interpolateOrderZero(x, xTable, yTable, yStride, result) {
47
+ DeveloperError.throwInstantiationError();
48
+ }
29
49
 
30
- /**
31
- * Performs zero order interpolation.
32
- * @function
33
- *
34
- * @param {number} x The independent variable for which the dependent variables will be interpolated.
35
- * @param {number[]} xTable The array of independent variables to use to interpolate. The values
36
- * in this array must be in increasing order and the same value must not occur twice in the array.
37
- * @param {number[]} yTable The array of dependent variables to use to interpolate. For a set of three
38
- * dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}.
39
- * @param {number} yStride The number of dependent variable values in yTable corresponding to
40
- * each independent variable value in xTable.
41
- * @param {number[]} [result] An existing array into which to store the result.
42
- *
43
- * @returns {number[]} The array of interpolated values, or the result parameter if one was provided.
44
- */
45
- InterpolationAlgorithm.interpolateOrderZero =
46
- DeveloperError.throwInstantiationError;
50
+ /**
51
+ * Performs higher order interpolation. Not all interpolators need to support high-order interpolation,
52
+ * if this function remains undefined on implementing objects, interpolateOrderZero will be used instead.
53
+ *
54
+ * @function
55
+ * @optional
56
+ * @param {number} x The independent variable for which the dependent variables will be interpolated.
57
+ * @param {number[]} xTable The array of independent variables to use to interpolate. The values
58
+ * in this array must be in increasing order and the same value must not occur twice in the array.
59
+ * @param {number[]} yTable The array of dependent variables to use to interpolate. For a set of three
60
+ * dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}.
61
+ * @param {number} yStride The number of dependent variable values in yTable corresponding to
62
+ * each independent variable value in xTable.
63
+ * @param {number} inputOrder The number of derivatives supplied for input.
64
+ * @param {number} outputOrder The number of derivatives desired for output.
65
+ * @param {number[]} [result] An existing array into which to store the result.
66
+ * @returns {number[]} The array of interpolated values, or the result parameter if one was provided.
67
+ */
68
+ interpolate(x, xTable, yTable, yStride, inputOrder, outputOrder, result) {
69
+ DeveloperError.throwInstantiationError();
70
+ }
71
+ }
47
72
 
48
- /**
49
- * Performs higher order interpolation. Not all interpolators need to support high-order interpolation,
50
- * if this function remains undefined on implementing objects, interpolateOrderZero will be used instead.
51
- * @function
52
- * @param {number} x The independent variable for which the dependent variables will be interpolated.
53
- * @param {number[]} xTable The array of independent variables to use to interpolate. The values
54
- * in this array must be in increasing order and the same value must not occur twice in the array.
55
- * @param {number[]} yTable The array of dependent variables to use to interpolate. For a set of three
56
- * dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}.
57
- * @param {number} yStride The number of dependent variable values in yTable corresponding to
58
- * each independent variable value in xTable.
59
- * @param {number} inputOrder The number of derivatives supplied for input.
60
- * @param {number} outputOrder The number of derivatives desired for output.
61
- * @param {number[]} [result] An existing array into which to store the result.
62
- * @returns {number[]} The array of interpolated values, or the result parameter if one was provided.
63
- */
64
- InterpolationAlgorithm.interpolate = DeveloperError.throwInstantiationError;
65
73
  export default InterpolationAlgorithm;
@@ -4,7 +4,7 @@ import Resource from "./Resource.js";
4
4
 
5
5
  let defaultTokenCredit;
6
6
  const defaultAccessToken =
7
- "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIxMDYxM2JlMS00NTIzLTQ0YWItYTg5My00NzRkMDgwNThiZDciLCJpZCI6MjU5LCJzdWIiOiJDZXNpdW1KUyIsImlzcyI6Imh0dHBzOi8vYXBpLmNlc2l1bS5jb20iLCJhdWQiOiIxLjE0MiBSZWxlYXNlIC0gRGVsZXRlIG9uIEF1Z3VzdCAxLCAyMDI2IiwiaWF0IjoxNzc5NjkwODE2fQ.Eq05fkRTh1lFGZUqr9vZZorz4HO_6rY_UmYi3fIHYaU";
7
+ "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJkYjZkM2MyOS1mODRiLTRlMGQtYTYzMy0xNWYyYmNiZjE1NGUiLCJpZCI6MjU5LCJzdWIiOiJDZXNpdW1KUyIsImlzcyI6Imh0dHBzOi8vYXBpLmNlc2l1bS5jb20iLCJhdWQiOiIxLjE0NCBSZWxlYXNlIC0gRGVsZXRlIG9uIE9jdG9iZXIgMSwgMjAyNiIsImlhdCI6MTc4NDk1ODg5MH0.x3Ra1-m0GEx7jwv8wnz-bAt4SSG3_ZCC9zU_MwzfjA4";
8
8
  /**
9
9
  * Default settings for accessing the Cesium ion API.
10
10
  *
@@ -106,7 +106,7 @@ function convertTaiToUtc(julianDate, result) {
106
106
  //we're converting, so we subtract one to get the correct LeapSecond instance.
107
107
  return JulianDate.addSeconds(
108
108
  julianDate,
109
- -leapSeconds[--index].offset,
109
+ -leapSeconds[index - 1].offset,
110
110
  result,
111
111
  );
112
112
  }