@hztxi/cesium-engine 25.0.6 → 26.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (484) hide show
  1. package/Build/Workers/chunk-2GJAWJJT.js +1344 -0
  2. package/Build/Workers/chunk-2J2VS5RI.js +288 -0
  3. package/Build/Workers/chunk-2NCNUVAT.js +56 -0
  4. package/Build/Workers/chunk-2ZYRUVVU.js +301 -0
  5. package/Build/Workers/chunk-36IU7N4V.js +1284 -0
  6. package/Build/Workers/chunk-375SHKGW.js +44 -0
  7. package/Build/Workers/chunk-3BDLET5S.js +198 -0
  8. package/Build/Workers/chunk-3PRHI4KX.js +241 -0
  9. package/Build/Workers/chunk-3R6E2SH4.js +672 -0
  10. package/Build/Workers/chunk-3ZKKXEXL.js +415 -0
  11. package/Build/Workers/chunk-47KVKPTO.js +415 -0
  12. package/Build/Workers/chunk-4N227IPR.js +973 -0
  13. package/Build/Workers/chunk-4P6OAPBM.js +97 -0
  14. package/Build/Workers/chunk-4ZOLEPZK.js +519 -0
  15. package/Build/Workers/chunk-5EF3WWQG.js +352 -0
  16. package/Build/Workers/chunk-5FYUSABU.js +945 -0
  17. package/Build/Workers/chunk-5I76476T.js +288 -0
  18. package/Build/Workers/chunk-5PBZKBAP.js +511 -0
  19. package/Build/Workers/chunk-5RVAAW26.js +82 -0
  20. package/Build/Workers/chunk-5VWK76PO.js +511 -0
  21. package/Build/Workers/chunk-5WU37CUJ.js +630 -0
  22. package/Build/Workers/chunk-6EBDN5WS.js +97 -0
  23. package/Build/Workers/chunk-75HIWCEV.js +301 -0
  24. package/Build/Workers/chunk-77DBX23X.js +455 -0
  25. package/Build/Workers/chunk-7AMVPXZY.js +1992 -0
  26. package/Build/Workers/chunk-7BMDD6SM.js +124 -0
  27. package/Build/Workers/chunk-7GQOWCSN.js +959 -0
  28. package/Build/Workers/chunk-7J2ONMKC.js +198 -0
  29. package/Build/Workers/chunk-7MHUHXZZ.js +219 -0
  30. package/Build/Workers/chunk-7MQPHOAS.js +455 -0
  31. package/Build/Workers/chunk-7NJ5O7TP.js +387 -0
  32. package/Build/Workers/chunk-7OME2OKM.js +171 -0
  33. package/Build/Workers/chunk-7Y642MCO.js +352 -0
  34. package/Build/Workers/chunk-7ZFKBLUE.js +1054 -0
  35. package/Build/Workers/chunk-A2BROW3D.js +352 -0
  36. package/Build/Workers/chunk-A7LGY5XS.js +140 -0
  37. package/Build/Workers/chunk-AN2NVYL6.js +1483 -0
  38. package/Build/Workers/chunk-B4XOVZGA.js +476 -0
  39. package/Build/Workers/chunk-B7PT2VL5.js +630 -0
  40. package/Build/Workers/chunk-C6XQGBPV.js +476 -0
  41. package/Build/Workers/chunk-CAEC5DA2.js +57 -0
  42. package/Build/Workers/chunk-CBCOHH5O.js +837 -0
  43. package/Build/Workers/chunk-CDLPLYLV.js +1287 -0
  44. package/Build/Workers/chunk-CEKCKPFN.js +368 -0
  45. package/Build/Workers/chunk-CEMXKBQO.js +1800 -0
  46. package/Build/Workers/chunk-CHMDKP5L.js +2342 -0
  47. package/Build/Workers/chunk-CKW3STKA.js +1067 -0
  48. package/Build/Workers/chunk-CV5RICKT.js +1992 -0
  49. package/Build/Workers/chunk-CWGB3D4Z.js +257 -0
  50. package/Build/Workers/chunk-DBWSISJT.js +56 -0
  51. package/Build/Workers/chunk-DQEUGBGA.js +2719 -0
  52. package/Build/Workers/chunk-DSBSPPPJ.js +1344 -0
  53. package/Build/Workers/chunk-DSGLDRTI.js +278 -0
  54. package/Build/Workers/chunk-DUBE5G2H.js +497 -0
  55. package/Build/Workers/chunk-DXD7OPSP.js +1992 -0
  56. package/Build/Workers/chunk-DXECZBSA.js +368 -0
  57. package/Build/Workers/chunk-DZIRO6ZK.js +682 -0
  58. package/Build/Workers/chunk-E4CRPGX5.js +140 -0
  59. package/Build/Workers/chunk-E4IVMEBH.js +52 -0
  60. package/Build/Workers/chunk-E4PBNWWK.js +58 -0
  61. package/Build/Workers/chunk-E5MWOMVC.js +57 -0
  62. package/Build/Workers/chunk-ECN3VUMA.js +73 -0
  63. package/Build/Workers/chunk-ECSKVHUB.js +476 -0
  64. package/Build/Workers/chunk-EE3XBOQI.js +1483 -0
  65. package/Build/Workers/chunk-EHA2ZDPZ.js +415 -0
  66. package/Build/Workers/chunk-EKEKPAJF.js +454 -0
  67. package/Build/Workers/chunk-EL4B5CSQ.js +162 -0
  68. package/Build/Workers/chunk-EOHKUXPX.js +198 -0
  69. package/Build/Workers/chunk-ERENMHG2.js +754 -0
  70. package/Build/Workers/chunk-ESQGFRLZ.js +163 -0
  71. package/Build/Workers/chunk-FAYBQGKO.js +219 -0
  72. package/Build/Workers/chunk-FGCXPEZM.js +3201 -0
  73. package/Build/Workers/chunk-FHCRXPA6.js +44 -0
  74. package/Build/Workers/chunk-FQ42MT7M.js +58 -0
  75. package/Build/Workers/chunk-FQDYQG4P.js +1284 -0
  76. package/Build/Workers/chunk-FTCBY5HH.js +138 -0
  77. package/Build/Workers/chunk-FV4OWDV4.js +9230 -0
  78. package/Build/Workers/chunk-FYRNNQSL.js +280 -0
  79. package/Build/Workers/chunk-GI5RWJAY.js +101 -0
  80. package/Build/Workers/chunk-GNLMSDRO.js +945 -0
  81. package/Build/Workers/chunk-GVUJ6O3R.js +73 -0
  82. package/Build/Workers/chunk-HCGU7OCG.js +97 -0
  83. package/Build/Workers/chunk-HRIPVWSC.js +58 -0
  84. package/Build/Workers/chunk-IC3BR6SC.js +102 -0
  85. package/Build/Workers/chunk-IU3YAYPT.js +1344 -0
  86. package/Build/Workers/chunk-J7MZR7B2.js +1483 -0
  87. package/Build/Workers/chunk-JMF4ATAS.js +3794 -0
  88. package/Build/Workers/chunk-KEJKMITY.js +82 -0
  89. package/Build/Workers/chunk-KSIEJYNL.js +3822 -0
  90. package/Build/Workers/chunk-KT3GG7AW.js +754 -0
  91. package/Build/Workers/chunk-KW2QZDUS.js +147 -0
  92. package/Build/Workers/chunk-KYCEM22I.js +1800 -0
  93. package/Build/Workers/chunk-L6B5XPBL.js +73 -0
  94. package/Build/Workers/chunk-LGJXN2VP.js +352 -0
  95. package/Build/Workers/chunk-LJTQW46H.js +57 -0
  96. package/Build/Workers/chunk-LMQGYJME.js +672 -0
  97. package/Build/Workers/chunk-LOBYJQA4.js +76 -0
  98. package/Build/Workers/chunk-LOF32O7F.js +163 -0
  99. package/Build/Workers/chunk-LOTIJA7D.js +124 -0
  100. package/Build/Workers/chunk-LY2UG3HV.js +38 -0
  101. package/Build/Workers/chunk-M7Z3MPAX.js +973 -0
  102. package/Build/Workers/chunk-MHNLTQHO.js +3201 -0
  103. package/Build/Workers/chunk-ML7OMD72.js +2342 -0
  104. package/Build/Workers/chunk-NBTGXEMT.js +945 -0
  105. package/Build/Workers/chunk-NCPJBP24.js +140 -0
  106. package/Build/Workers/chunk-NFY5V6MR.js +102 -0
  107. package/Build/Workers/chunk-NQZC37F7.js +38 -0
  108. package/Build/Workers/chunk-O3X3D2Z3.js +352 -0
  109. package/Build/Workers/chunk-OBUIHPKF.js +352 -0
  110. package/Build/Workers/chunk-OYPSUED3.js +1067 -0
  111. package/Build/Workers/chunk-PAEWNYIV.js +138 -0
  112. package/Build/Workers/chunk-PANJ7YH6.js +102 -0
  113. package/Build/Workers/chunk-PCL3Y7H5.js +82 -0
  114. package/Build/Workers/chunk-PIIUGRQD.js +387 -0
  115. package/Build/Workers/chunk-POKD22OT.js +2719 -0
  116. package/Build/Workers/chunk-PQMA7MFS.js +9237 -0
  117. package/Build/Workers/chunk-PURIPUSY.js +682 -0
  118. package/Build/Workers/chunk-QIOOTLWN.js +56 -0
  119. package/Build/Workers/chunk-QQZPPXY4.js +3822 -0
  120. package/Build/Workers/chunk-QUPRALOD.js +101 -0
  121. package/Build/Workers/chunk-QXLQLGL2.js +1067 -0
  122. package/Build/Workers/chunk-RBEVHHXK.js +3201 -0
  123. package/Build/Workers/chunk-RC4YC3VU.js +278 -0
  124. package/Build/Workers/chunk-RGNNWVR6.js +171 -0
  125. package/Build/Workers/chunk-RHO5HV52.js +305 -0
  126. package/Build/Workers/chunk-SBBIEHYT.js +44 -0
  127. package/Build/Workers/chunk-SVCZUP5R.js +837 -0
  128. package/Build/Workers/chunk-SWVZTU6X.js +305 -0
  129. package/Build/Workers/chunk-T3EUPM5A.js +454 -0
  130. package/Build/Workers/chunk-TA6IU2XL.js +171 -0
  131. package/Build/Workers/chunk-TBHW5UME.js +973 -0
  132. package/Build/Workers/chunk-TLSGD5TR.js +280 -0
  133. package/Build/Workers/chunk-TOXDLWKZ.js +368 -0
  134. package/Build/Workers/chunk-TPOX6IOR.js +1054 -0
  135. package/Build/Workers/chunk-TZBM6TAB.js +124 -0
  136. package/Build/Workers/chunk-U2OY6MX6.js +398 -0
  137. package/Build/Workers/chunk-UCY4B5EV.js +288 -0
  138. package/Build/Workers/chunk-ULNBTI6R.js +138 -0
  139. package/Build/Workers/chunk-UMUS2AQQ.js +398 -0
  140. package/Build/Workers/chunk-UZ7GTP2L.js +162 -0
  141. package/Build/Workers/chunk-V52FEPCV.js +754 -0
  142. package/Build/Workers/chunk-VBEXZBG5.js +147 -0
  143. package/Build/Workers/chunk-VC76B6GM.js +959 -0
  144. package/Build/Workers/chunk-VCUOYHWC.js +519 -0
  145. package/Build/Workers/chunk-VJIL5H6K.js +2719 -0
  146. package/Build/Workers/chunk-VMF7KOGY.js +162 -0
  147. package/Build/Workers/chunk-W3C7OHXF.js +387 -0
  148. package/Build/Workers/chunk-W5OCKMPJ.js +101 -0
  149. package/Build/Workers/chunk-WB5GWYDP.js +455 -0
  150. package/Build/Workers/chunk-WN6MAL25.js +682 -0
  151. package/Build/Workers/chunk-WTR7KMQA.js +693 -0
  152. package/Build/Workers/chunk-WTTFMU3P.js +241 -0
  153. package/Build/Workers/chunk-WULONJZC.js +1800 -0
  154. package/Build/Workers/chunk-WZPMAVTV.js +511 -0
  155. package/Build/Workers/chunk-XHT5SVP4.js +52 -0
  156. package/Build/Workers/chunk-XITBARMZ.js +2342 -0
  157. package/Build/Workers/chunk-XLQZNQ4Z.js +163 -0
  158. package/Build/Workers/chunk-XZ6HDXKM.js +76 -0
  159. package/Build/Workers/chunk-Y7KVUJEB.js +219 -0
  160. package/Build/Workers/chunk-Y7NDFEQ3.js +398 -0
  161. package/Build/Workers/chunk-YBBQDYX2.js +301 -0
  162. package/Build/Workers/chunk-YHPYPVAB.js +837 -0
  163. package/Build/Workers/chunk-YNKK6BXY.js +454 -0
  164. package/Build/Workers/chunk-YRAJ74HR.js +305 -0
  165. package/Build/Workers/chunk-YULTZK5O.js +147 -0
  166. package/Build/Workers/chunk-YUNQYP3Z.js +9237 -0
  167. package/Build/Workers/chunk-Z6JV4DZG.js +1046 -0
  168. package/Build/Workers/chunk-Z7BONRW2.js +241 -0
  169. package/Build/Workers/chunk-ZK2R3DEJ.js +1054 -0
  170. package/Build/Workers/chunk-ZTK5EBUI.js +76 -0
  171. package/Build/Workers/chunk-ZZPDORJK.js +56 -0
  172. package/Build/Workers/combineGeometry.js +24 -24
  173. package/Build/Workers/createBoxGeometry.js +18 -18
  174. package/Build/Workers/createBoxOutlineGeometry.js +18 -18
  175. package/Build/Workers/createCircleGeometry.js +26 -26
  176. package/Build/Workers/createCircleOutlineGeometry.js +19 -19
  177. package/Build/Workers/createCoplanarPolygonGeometry.js +39 -39
  178. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +33 -33
  179. package/Build/Workers/createCorridorGeometry.js +36 -37
  180. package/Build/Workers/createCorridorOutlineGeometry.js +34 -35
  181. package/Build/Workers/createCylinderGeometry.js +20 -20
  182. package/Build/Workers/createCylinderOutlineGeometry.js +20 -20
  183. package/Build/Workers/createEllipseGeometry.js +26 -26
  184. package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
  185. package/Build/Workers/createEllipsoidGeometry.js +19 -19
  186. package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
  187. package/Build/Workers/createFrustumGeometry.js +18 -18
  188. package/Build/Workers/createFrustumOutlineGeometry.js +20 -20
  189. package/Build/Workers/createGeometry.js +25 -24
  190. package/Build/Workers/createGroundPolylineGeometry.js +98 -34
  191. package/Build/Workers/createMvtTile.js +111 -19
  192. package/Build/Workers/createPlaneGeometry.js +18 -18
  193. package/Build/Workers/createPlaneOutlineGeometry.js +17 -17
  194. package/Build/Workers/createPolygonGeometry.js +36 -36
  195. package/Build/Workers/createPolygonOutlineGeometry.js +33 -33
  196. package/Build/Workers/createPolylineGeometry.js +28 -28
  197. package/Build/Workers/createPolylineVolumeGeometry.js +38 -36
  198. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +32 -31
  199. package/Build/Workers/createRectangleGeometry.js +29 -29
  200. package/Build/Workers/createRectangleOutlineGeometry.js +23 -23
  201. package/Build/Workers/createSimplePolylineGeometry.js +26 -26
  202. package/Build/Workers/createSphereGeometry.js +19 -19
  203. package/Build/Workers/createSphereOutlineGeometry.js +18 -18
  204. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  205. package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
  206. package/Build/Workers/createVectorTileGeometries.js +24 -24
  207. package/Build/Workers/createVectorTilePoints.js +13 -13
  208. package/Build/Workers/createVectorTilePolygons.js +22 -22
  209. package/Build/Workers/createVectorTilePolylines.js +14 -14
  210. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +26 -26
  211. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +23 -23
  212. package/Build/Workers/createVerticesFromHeightmap.js +23 -23
  213. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +21 -21
  214. package/Build/Workers/createWallGeometry.js +26 -26
  215. package/Build/Workers/createWallOutlineGeometry.js +26 -26
  216. package/Build/Workers/decodeDraco.js +10 -10
  217. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +993 -2334
  218. package/Build/Workers/decodeI3S.js +10 -10
  219. package/Build/Workers/gaussianSplatSorter.js +4 -4
  220. package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
  221. package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
  222. package/Build/Workers/transcodeKTX2.js +6 -6
  223. package/Build/Workers/transferTypedArrayTest.js +1 -1
  224. package/Build/Workers/upsampleQuantizedTerrainMesh.js +23 -23
  225. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +26 -26
  226. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +1 -5
  227. package/Source/Core/BoundingRectangle.js +6 -8
  228. package/Source/Core/BoundingSphere.js +0 -3
  229. package/Source/Core/Cartesian2.js +1 -1
  230. package/Source/Core/Cartesian3.js +1 -1
  231. package/Source/Core/Cartesian4.js +1 -1
  232. package/Source/Core/Cesium3DTilesTerrainGeometryProcessor.js +3 -4
  233. package/Source/Core/Color.js +1 -0
  234. package/Source/Core/ComponentDatatype.js +35 -0
  235. package/Source/Core/CoplanarPolygonGeometry.js +2 -2
  236. package/Source/Core/CorridorGeometry.js +2 -4
  237. package/Source/Core/CorridorOutlineGeometry.js +1 -3
  238. package/Source/Core/EarthOrientationParameters.js +2 -2
  239. package/Source/Core/EllipseGeometryLibrary.js +2 -2
  240. package/Source/Core/EllipsoidGeodesic.js +3 -3
  241. package/Source/Core/EllipsoidRhumbLine.js +1 -1
  242. package/Source/Core/GroundPolylineGeometry.js +99 -4
  243. package/Source/Core/Heap.js +1 -1
  244. package/Source/Core/HermitePolynomialApproximation.js +215 -179
  245. package/Source/Core/InterpolationAlgorithm.js +58 -50
  246. package/Source/Core/Ion.js +1 -1
  247. package/Source/Core/JulianDate.js +1 -1
  248. package/Source/Core/LagrangePolynomialApproximation.js +55 -52
  249. package/Source/Core/LinearApproximation.js +69 -66
  250. package/Source/Core/MapProjection.js +1 -0
  251. package/Source/Core/Math.js +59 -0
  252. package/Source/Core/Matrix2.js +3 -3
  253. package/Source/Core/Matrix3.js +3 -3
  254. package/Source/Core/Matrix4.js +1 -1
  255. package/Source/Core/OrthographicFrustum.js +1 -1
  256. package/Source/Core/PerspectiveFrustum.js +1 -1
  257. package/Source/Core/PolygonGeometry.js +2 -2
  258. package/Source/Core/PolygonGeometryLibrary.js +1 -1
  259. package/Source/Core/PolygonOutlineGeometry.js +1 -1
  260. package/Source/Core/PolylineGeometry.js +1 -1
  261. package/Source/Core/PolylinePipeline.js +9 -2
  262. package/Source/Core/PolylineVolumeGeometryLibrary.js +1 -1
  263. package/Source/Core/Rectangle.js +7 -1
  264. package/Source/Core/RectangleOutlineGeometry.js +1 -1
  265. package/Source/Core/Resource.js +1 -1
  266. package/Source/Core/ScreenSpaceEventHandler.js +51 -41
  267. package/Source/Core/SimplePolylineGeometry.js +1 -1
  268. package/Source/Core/TerrainEncoding.js +2 -2
  269. package/Source/Core/TerrainMesh.js +3 -3
  270. package/Source/Core/TerrainPicker.js +180 -168
  271. package/Source/Core/TimeIntervalCollection.js +1 -3
  272. package/Source/Core/Tipsify.js +1 -1
  273. package/Source/Core/Transforms.js +5 -1
  274. package/Source/Core/VectorPipeline.js +1117 -0
  275. package/Source/Core/VectorProvider.js +429 -0
  276. package/Source/Core/WallOutlineGeometry.js +1 -1
  277. package/Source/Core/createColorRamp.js +37 -0
  278. package/Source/Core/getTimestamp.js +4 -2
  279. package/Source/Core/globalTypes.js +25 -0
  280. package/Source/Core/writeTextToCanvas.js +1 -0
  281. package/Source/DataSources/CompositeEntityCollection.js +0 -1
  282. package/Source/DataSources/CzmlDataSource.js +14 -0
  283. package/Source/DataSources/DataSourceDisplay.js +1 -1
  284. package/Source/DataSources/GeoJsonDataSource.js +0 -1
  285. package/Source/DataSources/GeometryVisualizer.js +1 -1
  286. package/Source/DataSources/KmlDataSource.js +529 -557
  287. package/Source/DataSources/PathGraphics.js +8 -1
  288. package/Source/DataSources/PathMode.js +27 -0
  289. package/Source/DataSources/PathVisualizer.js +298 -1
  290. package/Source/DataSources/PolylineGeometryUpdater.js +125 -7
  291. package/Source/DataSources/PolylineVisualizer.js +1 -1
  292. package/Source/DataSources/StaticOutlineGeometryBatch.js +1 -1
  293. package/Source/Renderer/AutomaticUniforms.js +23 -0
  294. package/Source/Renderer/Context.js +9 -3
  295. package/Source/Renderer/DrawCommand.js +22 -0
  296. package/Source/Renderer/Framebuffer.js +4 -0
  297. package/Source/Renderer/Pass.js +11 -9
  298. package/Source/Renderer/Texture.js +12 -1
  299. package/Source/Renderer/UniformState.js +7 -0
  300. package/Source/Renderer/VertexArray.js +1 -1
  301. package/Source/Renderer/createUniform.js +346 -239
  302. package/Source/Renderer/createUniformArray.js +494 -381
  303. package/Source/Scene/ArcGisMapServerImageryProvider.js +0 -5
  304. package/Source/Scene/ArcGisMapService.js +1 -1
  305. package/Source/Scene/Billboard.js +2 -1
  306. package/Source/Scene/BillboardCollection.js +15 -5
  307. package/Source/Scene/BillboardTexture.js +5 -3
  308. package/Source/Scene/BufferPointCollection.js +11 -1
  309. package/Source/Scene/BufferPolygonCollection.js +26 -0
  310. package/Source/Scene/BufferPolylineCollection.js +2 -0
  311. package/Source/Scene/BufferPrimitiveCollection.js +105 -32
  312. package/Source/Scene/Camera.js +137 -8
  313. package/Source/Scene/CameraEventAggregator.js +30 -18
  314. package/Source/Scene/CameraFlightPath.js +17 -0
  315. package/Source/Scene/Cesium3DTile.js +102 -4
  316. package/Source/Scene/Cesium3DTileContent.js +195 -254
  317. package/Source/Scene/Cesium3DTileContentFactory.js +10 -2
  318. package/Source/Scene/Cesium3DTileOptimizations.js +4 -6
  319. package/Source/Scene/Cesium3DTileStyle.js +40 -0
  320. package/Source/Scene/Cesium3DTileset.js +213 -8
  321. package/Source/Scene/Cesium3DTilesetTraversal.js +14 -0
  322. package/Source/Scene/ClippingPlaneCollection.js +4 -4
  323. package/Source/Scene/ClippingPolygon.js +2 -0
  324. package/Source/Scene/ClippingPolygonCollection.js +2 -2
  325. package/Source/Scene/ColumbusWorlds.js +190 -0
  326. package/Source/Scene/Composite3DTileContent.js +254 -292
  327. package/Source/Scene/Controllers/Controller.js +63 -0
  328. package/Source/Scene/Controllers/ControllerHost.js +78 -0
  329. package/Source/Scene/Controllers/HybridScreenSpacePanCameraController.js +106 -0
  330. package/Source/Scene/Controllers/MouseButton.js +32 -0
  331. package/Source/Scene/Controllers/ScreenSpaceElevatorCameraController.js +295 -0
  332. package/Source/Scene/Controllers/ScreenSpaceInputBindings.js +154 -0
  333. package/Source/Scene/Controllers/ScreenSpaceMapCameraController.js +310 -0
  334. package/Source/Scene/Controllers/ScreenSpaceTiltOrbitCameraController.js +642 -0
  335. package/Source/Scene/Controllers/ScreenSpaceZoomCameraController.js +431 -0
  336. package/Source/Scene/Controllers/defaultPickWorldPosition.js +84 -0
  337. package/Source/Scene/DerivedCommand.js +98 -0
  338. package/Source/Scene/EdgeDisplayMode.js +50 -0
  339. package/Source/Scene/EdgeFramebuffer.js +1 -5
  340. package/Source/Scene/Empty3DTileContent.js +100 -132
  341. package/Source/Scene/Expression.js +6 -8
  342. package/Source/Scene/FrameState.js +27 -0
  343. package/Source/Scene/GaussianSplat3DTileContent.js +436 -478
  344. package/Source/Scene/GeoJsonPrimitive.js +874 -0
  345. package/Source/Scene/Geometry3DTileContent.js +151 -185
  346. package/Source/Scene/Globe.js +110 -22
  347. package/Source/Scene/GlobeDepth.js +243 -6
  348. package/Source/Scene/GlobeSurfaceShaderSet.js +637 -540
  349. package/Source/Scene/GlobeSurfaceTile.js +575 -398
  350. package/Source/Scene/GlobeSurfaceTileProvider.js +2289 -1842
  351. package/Source/Scene/GltfBufferViewLoader.js +3 -3
  352. package/Source/Scene/GltfLoader.js +146 -3
  353. package/Source/Scene/GltfLoaderUtil.js +20 -4
  354. package/Source/Scene/GltfPipeline/forEachTextureInMaterial.js +10 -0
  355. package/Source/Scene/GltfPipeline/removeUnusedElements.js +21 -11
  356. package/Source/Scene/GltfSpzLoader.js +1 -1
  357. package/Source/Scene/GltfVertexBufferLoader.js +6 -3
  358. package/Source/Scene/GroundPolylinePrimitive.js +2 -1
  359. package/Source/Scene/I3SDataProvider.js +1 -1
  360. package/Source/Scene/I3SLayer.js +1 -1
  361. package/Source/Scene/I3SNode.js +2 -2
  362. package/Source/Scene/ImageryLayer.js +2 -2
  363. package/Source/Scene/ImageryLayerCollection.js +190 -6
  364. package/Source/Scene/Implicit3DTileContent.js +192 -216
  365. package/Source/Scene/ImplicitTileCoordinates.js +17 -0
  366. package/Source/Scene/IonImageryProvider.js +1 -5
  367. package/Source/Scene/Label.js +4 -4
  368. package/Source/Scene/LabelCollection.js +4 -1
  369. package/Source/Scene/MVTDataProvider.js +555 -0
  370. package/Source/Scene/Material.js +1 -0
  371. package/Source/Scene/Model/B3dmLoader.js +1 -2
  372. package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +82 -312
  373. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +4 -0
  374. package/Source/Scene/Model/I3dmLoader.js +1 -1
  375. package/Source/Scene/Model/InstancingPipelineStage.js +4 -7
  376. package/Source/Scene/Model/MaterialPipelineStage.js +124 -1
  377. package/Source/Scene/Model/Model.js +45 -10
  378. package/Source/Scene/Model/Model3DTileContent.js +424 -458
  379. package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +28 -1
  380. package/Source/Scene/Model/ModelDrawCommand.js +180 -8
  381. package/Source/Scene/Model/ModelDrawCommands.js +4 -0
  382. package/Source/Scene/Model/ModelSceneGraph.js +21 -0
  383. package/Source/Scene/Model/ModelUtility.js +5 -0
  384. package/Source/Scene/Model/PickingPipelineStage.js +29 -0
  385. package/Source/Scene/Model/PrimitiveRenderResources.js +24 -0
  386. package/Source/Scene/Model/createVectorTileBuffersFromModelComponents.js +645 -153
  387. package/Source/Scene/ModelComponents.js +112 -0
  388. package/Source/Scene/Multiple3DTileContent.js +291 -334
  389. package/Source/Scene/MvtLabelCandidates.js +295 -0
  390. package/Source/Scene/MvtLabelManager.js +1069 -0
  391. package/Source/Scene/Picking.js +19 -3
  392. package/Source/Scene/PlanarFillIdFramebuffer.js +172 -0
  393. package/Source/Scene/PntsParser.js +1 -1
  394. package/Source/Scene/Polyline.js +32 -5
  395. package/Source/Scene/PolylineCollection.js +39 -0
  396. package/Source/Scene/PostProcessStage.js +4 -2
  397. package/Source/Scene/Primitive.js +12 -13
  398. package/Source/Scene/PrimitivePipeline.js +158 -28
  399. package/Source/Scene/QuadtreePrimitive.js +3 -2
  400. package/Source/Scene/ResourceCache.js +7 -4
  401. package/Source/Scene/ResourceCacheKey.js +21 -18
  402. package/Source/Scene/Scene.js +655 -6
  403. package/Source/Scene/SceneTransforms.js +18 -0
  404. package/Source/Scene/ScreenSpaceCameraController.js +12 -3
  405. package/Source/Scene/ShadowMap.js +9 -3
  406. package/Source/Scene/ShadowMapShader.js +50 -2
  407. package/Source/Scene/SnapFramebuffer.js +121 -0
  408. package/Source/Scene/Snapping.js +184 -0
  409. package/Source/Scene/TerrainFillMesh.js +3 -2
  410. package/Source/Scene/Tileset3DTileContent.js +113 -146
  411. package/Source/Scene/UrlTemplate3DTilesDataProvider.js +543 -0
  412. package/Source/Scene/Vector3DTileContent.js +207 -237
  413. package/Source/Scene/VectorGltf3DTileContent.js +185 -45
  414. package/Source/Scene/View.js +10 -8
  415. package/Source/Scene/VoxelPrimitive.js +159 -175
  416. package/Source/Scene/VoxelProvider.js +64 -91
  417. package/Source/Scene/VoxelTraversal.js +1 -1
  418. package/Source/Scene/buildVectorGltfFromMVT.js +1208 -0
  419. package/Source/Scene/buildVoxelCustomShader.js +199 -0
  420. package/Source/Scene/createElevationBandMaterial.js +1 -1
  421. package/Source/Scene/decodeMVT.js +877 -0
  422. package/Source/Scene/findMeshoptExtension.js +23 -0
  423. package/Source/Scene/renderBufferPointCollection.js +114 -64
  424. package/Source/Scene/renderBufferPolygonCollection.js +245 -53
  425. package/Source/Scene/renderBufferPolylineCollection.js +271 -145
  426. package/Source/Shaders/BillboardCollectionVS.glsl +23 -25
  427. package/Source/Shaders/BillboardCollectionVS.js +23 -25
  428. package/Source/Shaders/BufferPointMaterialFS.glsl +1 -0
  429. package/Source/Shaders/BufferPointMaterialFS.js +1 -0
  430. package/Source/Shaders/BufferPointMaterialVS.glsl +19 -9
  431. package/Source/Shaders/BufferPointMaterialVS.js +20 -10
  432. package/Source/Shaders/BufferPolygonMaterialFS.glsl +13 -0
  433. package/Source/Shaders/BufferPolygonMaterialFS.js +13 -0
  434. package/Source/Shaders/BufferPolygonMaterialVS.glsl +22 -4
  435. package/Source/Shaders/BufferPolygonMaterialVS.js +23 -5
  436. package/Source/Shaders/BufferPolylineMaterialVS.glsl +16 -2
  437. package/Source/Shaders/BufferPolylineMaterialVS.js +17 -3
  438. package/Source/Shaders/Builtin/Constants/passCesium3DTile.glsl +1 -1
  439. package/Source/Shaders/Builtin/Constants/passCesium3DTile.js +1 -1
  440. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.glsl +1 -1
  441. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.js +1 -1
  442. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.glsl +1 -1
  443. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.js +1 -1
  444. package/Source/Shaders/Builtin/Constants/passCesium3DTileEdgesDirect.glsl +9 -0
  445. package/Source/Shaders/Builtin/Constants/passCesium3DTileEdgesDirect.js +11 -0
  446. package/Source/Shaders/Builtin/Constants/passCesium3DTilePlanarFillId.glsl +9 -0
  447. package/Source/Shaders/Builtin/Constants/passCesium3DTilePlanarFillId.js +11 -0
  448. package/Source/Shaders/Builtin/Constants/passClassification.glsl +1 -1
  449. package/Source/Shaders/Builtin/Constants/passClassification.js +1 -1
  450. package/Source/Shaders/Builtin/Constants/passGaussianSplats.glsl +1 -1
  451. package/Source/Shaders/Builtin/Constants/passGaussianSplats.js +1 -1
  452. package/Source/Shaders/Builtin/Constants/passOpaque.glsl +1 -1
  453. package/Source/Shaders/Builtin/Constants/passOpaque.js +1 -1
  454. package/Source/Shaders/Builtin/Constants/passOverlay.glsl +1 -1
  455. package/Source/Shaders/Builtin/Constants/passOverlay.js +1 -1
  456. package/Source/Shaders/Builtin/Constants/passTranslucent.glsl +1 -1
  457. package/Source/Shaders/Builtin/Constants/passTranslucent.js +1 -1
  458. package/Source/Shaders/Builtin/Constants/passVoxels.glsl +1 -1
  459. package/Source/Shaders/Builtin/Constants/passVoxels.js +1 -1
  460. package/Source/Shaders/Builtin/CzmBuiltins.js +4 -0
  461. package/Source/Shaders/GlobeFS.glsl +10 -6
  462. package/Source/Shaders/GlobeFS.js +10 -6
  463. package/Source/Shaders/Materials/PolylineGlowMaterial.glsl +1 -1
  464. package/Source/Shaders/Materials/PolylineGlowMaterial.js +1 -1
  465. package/Source/Shaders/Model/EdgeVisibilityStageVS.glsl +0 -1
  466. package/Source/Shaders/Model/EdgeVisibilityStageVS.js +0 -1
  467. package/Source/Shaders/Model/MaterialStageFS.glsl +8 -2
  468. package/Source/Shaders/Model/MaterialStageFS.js +8 -2
  469. package/Source/Shaders/Model/ModelFS.glsl +105 -0
  470. package/Source/Shaders/Model/ModelFS.js +105 -0
  471. package/Source/Shaders/PolylineShadowVolumeFS.glsl +14 -0
  472. package/Source/Shaders/PolylineShadowVolumeFS.js +14 -0
  473. package/Source/Shaders/RestoreDepth.glsl +8 -0
  474. package/Source/Shaders/RestoreDepth.js +10 -0
  475. package/Source/Shaders/VectorCommon.glsl +178 -0
  476. package/Source/Shaders/VectorCommon.js +180 -0
  477. package/Source/ThirdParty/zip-module.wasm +0 -0
  478. package/Source/Widget/CesiumWidget.js +30 -0
  479. package/Source/Workers/createMvtTile.js +39 -0
  480. package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +2 -2
  481. package/Source/Workers/incrementallyBuildTerrainPicker.js +2 -0
  482. package/index.d.ts +535 -1393
  483. package/index.js +125 -93
  484. package/package.json +13 -13
@@ -1,3 +1,5 @@
1
+ // @ts-check
2
+
1
3
  import defined from "./defined.js";
2
4
 
3
5
  /**
@@ -5,67 +7,68 @@ import defined from "./defined.js";
5
7
  *
6
8
  * @namespace LagrangePolynomialApproximation
7
9
  */
8
- const LagrangePolynomialApproximation = {
9
- type: "Lagrange",
10
- };
11
-
12
- /**
13
- * Given the desired degree, returns the number of data points required for interpolation.
14
- *
15
- * @param {number} degree The desired degree of interpolation.
16
- * @returns {number} The number of required data points needed for the desired degree of interpolation.
17
- */
18
- LagrangePolynomialApproximation.getRequiredDataPoints = function (degree) {
19
- return Math.max(degree + 1.0, 2);
20
- };
10
+ class LagrangePolynomialApproximation {
11
+ /**
12
+ * Gets the name of this interpolation algorithm.
13
+ * @type {string}
14
+ */
15
+ static get type() {
16
+ return "Lagrange";
17
+ }
21
18
 
22
- /**
23
- * Interpolates values using Lagrange Polynomial Approximation.
24
- *
25
- * @param {number} x The independent variable for which the dependent variables will be interpolated.
26
- * @param {number[]} xTable The array of independent variables to use to interpolate. The values
27
- * in this array must be in increasing order and the same value must not occur twice in the array.
28
- * @param {number[]} yTable The array of dependent variables to use to interpolate. For a set of three
29
- * dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}.
30
- * @param {number} yStride The number of dependent variable values in yTable corresponding to
31
- * each independent variable value in xTable.
32
- * @param {number[]} [result] An existing array into which to store the result.
33
- * @returns {number[]} The array of interpolated values, or the result parameter if one was provided.
34
- */
35
- LagrangePolynomialApproximation.interpolateOrderZero = function (
36
- x,
37
- xTable,
38
- yTable,
39
- yStride,
40
- result,
41
- ) {
42
- if (!defined(result)) {
43
- result = new Array(yStride);
19
+ /**
20
+ * Given the desired degree, returns the number of data points required for interpolation.
21
+ *
22
+ * @param {number} degree The desired degree of interpolation.
23
+ * @returns {number} The number of required data points needed for the desired degree of interpolation.
24
+ */
25
+ static getRequiredDataPoints(degree) {
26
+ return Math.max(degree + 1.0, 2);
44
27
  }
45
28
 
46
- let i;
47
- let j;
48
- const length = xTable.length;
29
+ /**
30
+ * Interpolates values using Lagrange Polynomial Approximation.
31
+ *
32
+ * @param {number} x The independent variable for which the dependent variables will be interpolated.
33
+ * @param {number[]} xTable The array of independent variables to use to interpolate. The values
34
+ * in this array must be in increasing order and the same value must not occur twice in the array.
35
+ * @param {number[]} yTable The array of dependent variables to use to interpolate. For a set of three
36
+ * dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}.
37
+ * @param {number} yStride The number of dependent variable values in yTable corresponding to
38
+ * each independent variable value in xTable.
39
+ * @param {number[]} [result] An existing array into which to store the result.
40
+ * @returns {number[]} The array of interpolated values, or the result parameter if one was provided.
41
+ */
42
+ static interpolateOrderZero(x, xTable, yTable, yStride, result) {
43
+ if (!defined(result)) {
44
+ result = new Array(yStride);
45
+ }
46
+
47
+ let i;
48
+ let j;
49
+ const length = xTable.length;
49
50
 
50
- for (i = 0; i < yStride; i++) {
51
- result[i] = 0;
52
- }
51
+ for (i = 0; i < yStride; i++) {
52
+ result[i] = 0;
53
+ }
53
54
 
54
- for (i = 0; i < length; i++) {
55
- let coefficient = 1;
55
+ for (i = 0; i < length; i++) {
56
+ let coefficient = 1;
56
57
 
57
- for (j = 0; j < length; j++) {
58
- if (j !== i) {
59
- const diffX = xTable[i] - xTable[j];
60
- coefficient *= (x - xTable[j]) / diffX;
58
+ for (j = 0; j < length; j++) {
59
+ if (j !== i) {
60
+ const diffX = xTable[i] - xTable[j];
61
+ coefficient *= (x - xTable[j]) / diffX;
62
+ }
61
63
  }
62
- }
63
64
 
64
- for (j = 0; j < yStride; j++) {
65
- result[j] += coefficient * yTable[i * yStride + j];
65
+ for (j = 0; j < yStride; j++) {
66
+ result[j] += coefficient * yTable[i * yStride + j];
67
+ }
66
68
  }
69
+
70
+ return result;
67
71
  }
72
+ }
68
73
 
69
- return result;
70
- };
71
74
  export default LagrangePolynomialApproximation;
@@ -1,3 +1,5 @@
1
+ // @ts-check
2
+
1
3
  import defined from "./defined.js";
2
4
  import DeveloperError from "./DeveloperError.js";
3
5
 
@@ -6,78 +8,79 @@ import DeveloperError from "./DeveloperError.js";
6
8
  *
7
9
  * @namespace LinearApproximation
8
10
  */
9
- const LinearApproximation = {
10
- type: "Linear",
11
- };
12
-
13
- /**
14
- * Given the desired degree, returns the number of data points required for interpolation.
15
- * Since linear interpolation can only generate a first degree polynomial, this function
16
- * always returns 2.
17
- * @param {number} degree The desired degree of interpolation.
18
- * @returns {number} This function always returns 2.
19
- *
20
- */
21
- LinearApproximation.getRequiredDataPoints = function (degree) {
22
- return 2;
23
- };
24
-
25
- /**
26
- * Interpolates values using linear approximation.
27
- *
28
- * @param {number} x The independent variable for which the dependent variables will be interpolated.
29
- * @param {number[]} xTable The array of independent variables to use to interpolate. The values
30
- * in this array must be in increasing order and the same value must not occur twice in the array.
31
- * @param {number[]} yTable The array of dependent variables to use to interpolate. For a set of three
32
- * dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}.
33
- * @param {number} yStride The number of dependent variable values in yTable corresponding to
34
- * each independent variable value in xTable.
35
- * @param {number[]} [result] An existing array into which to store the result.
36
- * @returns {number[]} The array of interpolated values, or the result parameter if one was provided.
37
- */
38
- LinearApproximation.interpolateOrderZero = function (
39
- x,
40
- xTable,
41
- yTable,
42
- yStride,
43
- result,
44
- ) {
45
- //>>includeStart('debug', pragmas.debug);
46
- if (xTable.length !== 2) {
47
- throw new DeveloperError(
48
- "The xTable provided to the linear interpolator must have exactly two elements.",
49
- );
50
- } else if (yStride <= 0) {
51
- throw new DeveloperError(
52
- "There must be at least 1 dependent variable for each independent variable.",
53
- );
11
+ class LinearApproximation {
12
+ /**
13
+ * Gets the name of this interpolation algorithm.
14
+ * @type {string}
15
+ */
16
+ static get type() {
17
+ return "Linear";
54
18
  }
55
- //>>includeEnd('debug');
56
19
 
57
- if (!defined(result)) {
58
- result = new Array(yStride);
20
+ /**
21
+ * Given the desired degree, returns the number of data points required for interpolation.
22
+ * Since linear interpolation can only generate a first degree polynomial, this function
23
+ * always returns 2.
24
+ * @param {number} degree The desired degree of interpolation.
25
+ * @returns {number} This function always returns 2.
26
+ *
27
+ */
28
+ static getRequiredDataPoints(degree) {
29
+ return 2;
59
30
  }
60
31
 
61
- let i;
62
- let y0;
63
- let y1;
64
- const x0 = xTable[0];
65
- const x1 = xTable[1];
32
+ /**
33
+ * Interpolates values using linear approximation.
34
+ *
35
+ * @param {number} x The independent variable for which the dependent variables will be interpolated.
36
+ * @param {number[]} xTable The array of independent variables to use to interpolate. The values
37
+ * in this array must be in increasing order and the same value must not occur twice in the array.
38
+ * @param {number[]} yTable The array of dependent variables to use to interpolate. For a set of three
39
+ * dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}.
40
+ * @param {number} yStride The number of dependent variable values in yTable corresponding to
41
+ * each independent variable value in xTable.
42
+ * @param {number[]} [result] An existing array into which to store the result.
43
+ * @returns {number[]} The array of interpolated values, or the result parameter if one was provided.
44
+ */
45
+ static interpolateOrderZero(x, xTable, yTable, yStride, result) {
46
+ //>>includeStart('debug', pragmas.debug);
47
+ if (xTable.length !== 2) {
48
+ throw new DeveloperError(
49
+ "The xTable provided to the linear interpolator must have exactly two elements.",
50
+ );
51
+ } else if (yStride <= 0) {
52
+ throw new DeveloperError(
53
+ "There must be at least 1 dependent variable for each independent variable.",
54
+ );
55
+ }
56
+ //>>includeEnd('debug');
66
57
 
67
- //>>includeStart('debug', pragmas.debug);
68
- if (x0 === x1) {
69
- throw new DeveloperError(
70
- "Divide by zero error: xTable[0] and xTable[1] are equal",
71
- );
72
- }
73
- //>>includeEnd('debug');
58
+ if (!defined(result)) {
59
+ result = new Array(yStride);
60
+ }
61
+
62
+ let i;
63
+ let y0;
64
+ let y1;
65
+ const x0 = xTable[0];
66
+ const x1 = xTable[1];
67
+
68
+ //>>includeStart('debug', pragmas.debug);
69
+ if (x0 === x1) {
70
+ throw new DeveloperError(
71
+ "Divide by zero error: xTable[0] and xTable[1] are equal",
72
+ );
73
+ }
74
+ //>>includeEnd('debug');
75
+
76
+ for (i = 0; i < yStride; i++) {
77
+ y0 = yTable[i];
78
+ y1 = yTable[i + yStride];
79
+ result[i] = ((y1 - y0) * x + x1 * y0 - x0 * y1) / (x1 - x0);
80
+ }
74
81
 
75
- for (i = 0; i < yStride; i++) {
76
- y0 = yTable[i];
77
- y1 = yTable[i + yStride];
78
- result[i] = ((y1 - y0) * x + x1 * y0 - x0 * y1) / (x1 - x0);
82
+ return result;
79
83
  }
84
+ }
80
85
 
81
- return result;
82
- };
83
86
  export default LinearApproximation;
@@ -21,6 +21,7 @@ class MapProjection {
21
21
  *
22
22
  * @type {Ellipsoid}
23
23
  * @readonly
24
+ * @constant
24
25
  */
25
26
  ellipsoid;
26
27
 
@@ -339,6 +339,64 @@ CesiumMath.lerp = function (p, q, time) {
339
339
  return (1.0 - time) * p + time * q;
340
340
  };
341
341
 
342
+ /** @typedef {Object} SmoothDampResult
343
+ * @property {number} value The new value after applying the smooth damp.
344
+ * @property {number} velocity The updated current velocity.
345
+ */
346
+
347
+ /**
348
+ * Gradually changes a value towards a target value over time. The smoothing function uses a spring-damping algorithm based on Game Programming Gems 4 Chapter 1.10.
349
+ * @param {number} p The current value.
350
+ * @param {number} q The target value.
351
+ * @param {number} velocity The current velocity.
352
+ * @param {number} [deltaTime=0.0] The time since the last call to this function. Value must be greater than or equal to 0.0.
353
+ * @param {number} [maximumSpeed=Number.POSITIVE_INFINITY] Optionally allows clamping to the specified maximum speed.
354
+ * @param {number} [smoothTime=0.0001] Approximately the time it will take to reach the target. A smaller value will reach the target faster. This value must be greater than or equal to 0.0001.
355
+ * @param {SmoothDampResult} [result] An object to store the result. If not provided, a new object will be created and returned.
356
+ * @returns {SmoothDampResult} An object containing the new value and the updated current velocity.
357
+ */
358
+ CesiumMath.smoothDamp = function (
359
+ p,
360
+ q,
361
+ velocity,
362
+ deltaTime = 0.0,
363
+ maximumSpeed = Number.POSITIVE_INFINITY,
364
+ smoothTime = 0.0001,
365
+ result = {},
366
+ ) {
367
+ //>>includeStart('debug', pragmas.debug);
368
+ Check.typeOf.number("p", p);
369
+ Check.typeOf.number("q", q);
370
+ Check.typeOf.number("velocity", velocity);
371
+ Check.typeOf.number.greaterThanOrEquals("deltaTime", deltaTime, 0.0);
372
+ Check.typeOf.number.greaterThanOrEquals("maximumSpeed", maximumSpeed, 0.0);
373
+ Check.typeOf.number.greaterThanOrEquals("smoothTime", smoothTime, 0.0001);
374
+ Check.typeOf.object("result", result);
375
+ //>>includeEnd('debug');
376
+
377
+ // As a fallback, prevent crashes even if smoothTime is too small
378
+ smoothTime = Math.max(0.0001, smoothTime);
379
+ const omega = 2.0 / smoothTime;
380
+
381
+ const x = omega * deltaTime;
382
+ const exp = 1.0 / (1.0 + x + 0.48 * x * x + 0.235 * x * x * x);
383
+
384
+ const maxChange = maximumSpeed * smoothTime;
385
+ let change = p - q;
386
+ change = CesiumMath.clamp(change, -maxChange, maxChange);
387
+
388
+ const target = p - change;
389
+
390
+ const temp = (velocity + omega * change) * deltaTime;
391
+
392
+ velocity = (velocity - omega * temp) * exp;
393
+
394
+ result.value = target + (change + temp) * exp;
395
+ result.velocity = velocity;
396
+
397
+ return result;
398
+ };
399
+
342
400
  /**
343
401
  * pi
344
402
  *
@@ -1122,4 +1180,5 @@ CesiumMath.fastApproximateAtan2 = function (x, y) {
1122
1180
  t = y < 0.0 ? -t : t;
1123
1181
  return t;
1124
1182
  };
1183
+
1125
1184
  export default CesiumMath;
@@ -55,7 +55,7 @@ class Matrix2 {
55
55
  array[startingIndex++] = value[0];
56
56
  array[startingIndex++] = value[1];
57
57
  array[startingIndex++] = value[2];
58
- array[startingIndex++] = value[3];
58
+ array[startingIndex] = value[3];
59
59
 
60
60
  return array;
61
61
  }
@@ -82,7 +82,7 @@ class Matrix2 {
82
82
  result[0] = array[startingIndex++];
83
83
  result[1] = array[startingIndex++];
84
84
  result[2] = array[startingIndex++];
85
- result[3] = array[startingIndex++];
85
+ result[3] = array[startingIndex];
86
86
  return result;
87
87
  }
88
88
 
@@ -914,7 +914,7 @@ class Matrix2 {
914
914
  * @param {Matrix2} matrix
915
915
  * @param {number[]} array
916
916
  * @param {number} offset
917
- * @private
917
+ * @ignore
918
918
  */
919
919
  static equalsArray(matrix, array, offset) {
920
920
  return (
@@ -95,7 +95,7 @@ class Matrix3 {
95
95
  array[startingIndex++] = value[5];
96
96
  array[startingIndex++] = value[6];
97
97
  array[startingIndex++] = value[7];
98
- array[startingIndex++] = value[8];
98
+ array[startingIndex] = value[8];
99
99
 
100
100
  return array;
101
101
  }
@@ -127,7 +127,7 @@ class Matrix3 {
127
127
  result[5] = array[startingIndex++];
128
128
  result[6] = array[startingIndex++];
129
129
  result[7] = array[startingIndex++];
130
- result[8] = array[startingIndex++];
130
+ result[8] = array[startingIndex];
131
131
  return result;
132
132
  }
133
133
 
@@ -1618,7 +1618,7 @@ class Matrix3 {
1618
1618
  * @param {Matrix3} matrix
1619
1619
  * @param {number[]} array
1620
1620
  * @param {number} offset
1621
- * @private
1621
+ * @ignore
1622
1622
  */
1623
1623
  static equalsArray(matrix, array, offset) {
1624
1624
  return (
@@ -2978,7 +2978,7 @@ class Matrix4 {
2978
2978
  * @param {Matrix4} matrix
2979
2979
  * @param {number[]} array
2980
2980
  * @param {number} offset
2981
- * @private
2981
+ * @ignore
2982
2982
  */
2983
2983
  static equalsArray(matrix, array, offset) {
2984
2984
  return (
@@ -185,7 +185,7 @@ Object.defineProperties(OrthographicFrustum.prototype, {
185
185
  },
186
186
  },
187
187
  /**
188
- * Gets the orthographic projection matrix computed from the view frustum.
188
+ * Gets the underlying {@link OrthographicOffCenterFrustum}
189
189
  * @memberof OrthographicFrustum.prototype
190
190
  * @type {OrthographicOffCenterFrustum}
191
191
  * @readonly
@@ -282,7 +282,7 @@ Object.defineProperties(PerspectiveFrustum.prototype, {
282
282
  },
283
283
 
284
284
  /**
285
- * Gets the orthographic projection matrix computed from the view frustum.
285
+ * Gets the underlying {@link PerspectiveOffCenterFrustum}.
286
286
  * @memberof PerspectiveFrustum.prototype
287
287
  * @type {PerspectiveOffCenterFrustum}
288
288
  * @readonly
@@ -858,7 +858,7 @@ PolygonGeometry.pack = function (value, array, startingIndex) {
858
858
  } else {
859
859
  array[startingIndex++] = -1.0;
860
860
  }
861
- array[startingIndex++] = value.packedLength;
861
+ array[startingIndex] = value.packedLength;
862
862
  return array;
863
863
  };
864
864
 
@@ -928,7 +928,7 @@ PolygonGeometry.unpack = function (array, startingIndex, result) {
928
928
  } else {
929
929
  startingIndex++;
930
930
  }
931
- const packedLength = array[startingIndex++];
931
+ const packedLength = array[startingIndex];
932
932
 
933
933
  if (!defined(result)) {
934
934
  result = new PolygonGeometry(dummyOptions);
@@ -694,7 +694,7 @@ function wirePolygon(
694
694
  for (const index of polygonsToWire) {
695
695
  polygonIndex = wirePolygon(
696
696
  polygons,
697
- ++polygonIndex,
697
+ polygonIndex + 1,
698
698
  positions,
699
699
  edgesOnPlane,
700
700
  0,
@@ -116,7 +116,7 @@ function createGeometryFromPositions(
116
116
  indices[index++] = i + 1;
117
117
  }
118
118
  indices[index++] = length - 1;
119
- indices[index++] = 0;
119
+ indices[index] = 0;
120
120
 
121
121
  return new GeometryInstance({
122
122
  geometry: new Geometry({
@@ -316,7 +316,7 @@ PolylineGeometry.createGeometry = function (polylineGeometry) {
316
316
  let removedArrayIndex = 0;
317
317
  let nextRemovedIndex = removedIndices[0];
318
318
  colors = colors.filter(function (color, index) {
319
- let remove = false;
319
+ let remove;
320
320
  if (colorsPerVertex) {
321
321
  remove =
322
322
  index === nextRemovedIndex || (index === 0 && nextRemovedIndex === 1);
@@ -21,9 +21,16 @@ PolylinePipeline.numberOfPoints = function (p0, p1, minDistance) {
21
21
  };
22
22
 
23
23
  PolylinePipeline.numberOfPointsRhumbLine = function (p0, p1, granularity) {
24
+ // Wrap the longitude delta to (-pi, pi]: EllipsoidRhumbLine always
25
+ // interpolates along the shortest rhumb path. A segment crossing the
26
+ // +/-180 meridian has a raw delta of nearly 2*pi but spans only a tiny arc;
27
+ // counting subdivisions from the raw delta over-tessellates that segment by
28
+ // up to ~360x, which skews index-based parameterizations (the polyline `st`
29
+ // attribute used by line materials): animations appear to stall at the
30
+ // antimeridian.
31
+ const deltaLongitude = CesiumMath.negativePiToPi(p0.longitude - p1.longitude);
24
32
  const radiansDistanceSquared =
25
- Math.pow(p0.longitude - p1.longitude, 2) +
26
- Math.pow(p0.latitude - p1.latitude, 2);
33
+ Math.pow(deltaLongitude, 2) + Math.pow(p0.latitude - p1.latitude, 2);
27
34
 
28
35
  return Math.max(
29
36
  1,
@@ -198,7 +198,7 @@ function convertShapeTo3DDuplicate(shape2D, boundingRectangle) {
198
198
  point = shape2D[0];
199
199
  shape[index++] = point.x - xOffset;
200
200
  shape[index++] = 0.0;
201
- shape[index++] = point.y - yOffset;
201
+ shape[index] = point.y - yOffset;
202
202
 
203
203
  return shape;
204
204
  }
@@ -711,13 +711,19 @@ class Rectangle {
711
711
  rectangleWest += CesiumMath.TWO_PI;
712
712
  }
713
713
 
714
- const west = CesiumMath.negativePiToPi(
714
+ let west = CesiumMath.negativePiToPi(
715
715
  Math.max(rectangleWest, otherRectangleWest),
716
716
  );
717
717
  const east = CesiumMath.negativePiToPi(
718
718
  Math.min(rectangleEast, otherRectangleEast),
719
719
  );
720
720
 
721
+ // +pi and -pi are the same longitude; use -pi here so a real intersection
722
+ // touching the antimeridian isn't mistaken for empty by the check below.
723
+ if (west === CesiumMath.PI && east < CesiumMath.PI) {
724
+ west = -CesiumMath.PI;
725
+ }
726
+
721
727
  if (
722
728
  (rectangle.west < rectangle.east ||
723
729
  otherRectangle.west < otherRectangle.east) &&
@@ -141,7 +141,7 @@ function constructRectangle(geometry, computedOptions) {
141
141
  indices[index++] = i + 1;
142
142
  }
143
143
  indices[index++] = positions.length / 3 - 1;
144
- indices[index++] = 0;
144
+ indices[index] = 0;
145
145
 
146
146
  const geo = new Geometry({
147
147
  attributes: new GeometryAttributes(),
@@ -173,7 +173,7 @@ function defaultClone(value, defaultValue) {
173
173
  *
174
174
  * @returns {Resource} If resource is a String, a Resource constructed with the url and options. Otherwise the resource parameter is returned.
175
175
  *
176
- * @private
176
+ * @ignore
177
177
  */
178
178
  Resource.createIfNeeded = function (resource) {
179
179
  if (resource instanceof Resource) {