@cesium/engine 24.0.0 → 26.0.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 (362) hide show
  1. package/Build/Workers/{chunk-6WLHJFD3.js → chunk-3VFEWOBI.js} +59 -32
  2. package/Build/Workers/{chunk-UQU4RXLT.js → chunk-424RNO3D.js} +50 -45
  3. package/Build/Workers/chunk-4MGMYHOO.js +147 -0
  4. package/Build/Workers/{chunk-AMIHNSST.js → chunk-4S7IE3LB.js} +2 -2
  5. package/Build/Workers/{chunk-J6AW5YHS.js → chunk-52JDLOEM.js} +14 -14
  6. package/Build/Workers/{chunk-6RMS4S72.js → chunk-54I6Y66F.js} +6 -6
  7. package/Build/Workers/{chunk-C6P4IG5P.js → chunk-6YEE6JDR.js} +6 -6
  8. package/Build/Workers/{chunk-72VYSVEW.js → chunk-7J2HKPRH.js} +11 -10
  9. package/Build/Workers/{chunk-7O5XJTVE.js → chunk-7WM2PX4V.js} +5 -5
  10. package/Build/Workers/{chunk-5A2SW66E.js → chunk-ACXQXN46.js} +16 -16
  11. package/Build/Workers/{chunk-VLDEUTOP.js → chunk-AYKR4VBR.js} +2 -2
  12. package/Build/Workers/{chunk-YQFTYQMZ.js → chunk-C6J67V5A.js} +3 -2
  13. package/Build/Workers/{chunk-D4EJ2NXG.js → chunk-C6KNZ7T4.js} +17 -17
  14. package/Build/Workers/{chunk-7MDYBRYJ.js → chunk-CFQP6LYM.js} +4 -4
  15. package/Build/Workers/{chunk-YAOZMOFL.js → chunk-CXOYE2WM.js} +5 -5
  16. package/Build/Workers/{chunk-B6SCUUFP.js → chunk-CZEYZU4N.js} +10 -10
  17. package/Build/Workers/{chunk-NPF7SSHZ.js → chunk-DBOEKL43.js} +7 -7
  18. package/Build/Workers/{chunk-44EMEGKW.js → chunk-DDWSZVMY.js} +5 -5
  19. package/Build/Workers/{chunk-7X322WP2.js → chunk-DOBXCNC3.js} +13 -13
  20. package/Build/Workers/{chunk-JCI63T3K.js → chunk-E7VQ76KE.js} +6 -6
  21. package/Build/Workers/{chunk-7TYLCBGK.js → chunk-EBSIOBXY.js} +12 -10
  22. package/Build/Workers/{chunk-GQUNK2XC.js → chunk-EF2QYXGA.js} +14 -14
  23. package/Build/Workers/{chunk-BJD6QGXZ.js → chunk-EPYXRCDB.js} +12 -12
  24. package/Build/Workers/{chunk-63SIWPLS.js → chunk-F6QDY6HU.js} +13 -13
  25. package/Build/Workers/{chunk-XY6HMDGI.js → chunk-FRQZECAO.js} +5 -5
  26. package/Build/Workers/{chunk-VMVOUQ5J.js → chunk-G7PXZRVF.js} +7 -7
  27. package/Build/Workers/{chunk-N65BAKSH.js → chunk-INUEEEQA.js} +8 -8
  28. package/Build/Workers/{chunk-7QRFIKWQ.js → chunk-IRBKFCEJ.js} +2 -2
  29. package/Build/Workers/{chunk-UIGVOKKI.js → chunk-IYOUHCZB.js} +3 -2
  30. package/Build/Workers/{chunk-5GXYJQ2K.js → chunk-J6BWOHUF.js} +3 -3
  31. package/Build/Workers/{chunk-A47HVBC5.js → chunk-KFSTQKNM.js} +7 -7
  32. package/Build/Workers/{chunk-EV3VGO6Y.js → chunk-KKOSKAZB.js} +17 -17
  33. package/Build/Workers/{chunk-6MPGQEHA.js → chunk-KSSWJIZW.js} +2 -2
  34. package/Build/Workers/{chunk-DHKPFLSJ.js → chunk-M3B5JKSM.js} +3 -2
  35. package/Build/Workers/chunk-MPZHGZU6.js +2342 -0
  36. package/Build/Workers/{chunk-YJZGW74L.js → chunk-MYP774IS.js} +2213 -1349
  37. package/Build/Workers/{chunk-LIB2H534.js → chunk-O3EA5HS7.js} +12 -11
  38. package/Build/Workers/{chunk-ILMFADZA.js → chunk-P3CK7MCY.js} +27 -5
  39. package/Build/Workers/chunk-Q3PY526V.js +3201 -0
  40. package/Build/Workers/chunk-QN67VG36.js +973 -0
  41. package/Build/Workers/{chunk-XJRBB253.js → chunk-QRWGUWI6.js} +11 -11
  42. package/Build/Workers/{chunk-AF3MU2RL.js → chunk-S4MCOY6I.js} +7 -6
  43. package/Build/Workers/{chunk-Y7HNNPNK.js → chunk-SMQZZOW6.js} +10 -10
  44. package/Build/Workers/{chunk-PVV64VFW.js → chunk-TKKIREQ6.js} +3 -2
  45. package/Build/Workers/{chunk-MKM27KGV.js → chunk-U3ZA64U7.js} +2 -2
  46. package/Build/Workers/{chunk-2N4KDHS3.js → chunk-UA25D5MX.js} +12 -11
  47. package/Build/Workers/{chunk-RQNJD3O4.js → chunk-UOOIQ3KX.js} +12 -12
  48. package/Build/Workers/{chunk-GOQBUCXH.js → chunk-V7VQKN6N.js} +709 -431
  49. package/Build/Workers/{chunk-LXMCPFFS.js → chunk-VQYETPWC.js} +4 -4
  50. package/Build/Workers/{chunk-NKT5K3K3.js → chunk-VWV2IJRB.js} +13 -12
  51. package/Build/Workers/chunk-XZMBNNDX.js +1287 -0
  52. package/Build/Workers/{chunk-ISY4EZCA.js → chunk-Y57HREW5.js} +4 -4
  53. package/Build/Workers/{chunk-EDXL4W76.js → chunk-Y5BF6AFU.js} +2 -2
  54. package/Build/Workers/{chunk-Q3C6VQH6.js → chunk-YLY7NKAB.js} +4 -4
  55. package/Build/Workers/{chunk-4TIG36AW.js → chunk-ZK3CF7ZD.js} +12 -12
  56. package/Build/Workers/{chunk-AJLTU6PF.js → chunk-ZP7JMQV4.js} +4 -1
  57. package/Build/Workers/{chunk-HXJMS2ZI.js → chunk-ZZ46LWL6.js} +1 -1
  58. package/Build/Workers/combineGeometry.js +24 -24
  59. package/Build/Workers/createBoxGeometry.js +18 -18
  60. package/Build/Workers/createBoxOutlineGeometry.js +16 -16
  61. package/Build/Workers/createCircleGeometry.js +26 -26
  62. package/Build/Workers/createCircleOutlineGeometry.js +19 -19
  63. package/Build/Workers/createCoplanarPolygonGeometry.js +33 -33
  64. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
  65. package/Build/Workers/createCorridorGeometry.js +29 -29
  66. package/Build/Workers/createCorridorOutlineGeometry.js +28 -28
  67. package/Build/Workers/createCylinderGeometry.js +20 -20
  68. package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
  69. package/Build/Workers/createEllipseGeometry.js +26 -26
  70. package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
  71. package/Build/Workers/createEllipsoidGeometry.js +19 -19
  72. package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
  73. package/Build/Workers/createFrustumGeometry.js +18 -18
  74. package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
  75. package/Build/Workers/createGeometry.js +24 -24
  76. package/Build/Workers/createGroundPolylineGeometry.js +175 -118
  77. package/Build/Workers/createPlaneGeometry.js +16 -16
  78. package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
  79. package/Build/Workers/createPolygonGeometry.js +32 -32
  80. package/Build/Workers/createPolygonOutlineGeometry.js +30 -30
  81. package/Build/Workers/createPolylineGeometry.js +25 -25
  82. package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
  83. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
  84. package/Build/Workers/createRectangleGeometry.js +27 -27
  85. package/Build/Workers/createRectangleOutlineGeometry.js +20 -20
  86. package/Build/Workers/createSimplePolylineGeometry.js +23 -23
  87. package/Build/Workers/createSphereGeometry.js +19 -19
  88. package/Build/Workers/createSphereOutlineGeometry.js +18 -18
  89. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  90. package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
  91. package/Build/Workers/createVectorTileGeometries.js +24 -24
  92. package/Build/Workers/createVectorTilePoints.js +13 -13
  93. package/Build/Workers/createVectorTilePolygons.js +22 -22
  94. package/Build/Workers/createVectorTilePolylines.js +14 -14
  95. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +25 -25
  96. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -22
  97. package/Build/Workers/createVerticesFromHeightmap.js +24 -23
  98. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +20 -20
  99. package/Build/Workers/createWallGeometry.js +24 -24
  100. package/Build/Workers/createWallOutlineGeometry.js +23 -23
  101. package/Build/Workers/decodeDraco.js +10 -10
  102. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  103. package/Build/Workers/decodeI3S.js +10 -10
  104. package/Build/Workers/gaussianSplatSorter.js +4 -4
  105. package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
  106. package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
  107. package/Build/Workers/transcodeKTX2.js +12 -9
  108. package/Build/Workers/transferTypedArrayTest.js +1 -1
  109. package/Build/Workers/upsampleQuantizedTerrainMesh.js +22 -22
  110. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +25 -25
  111. package/Source/Core/ArcType.js +6 -1
  112. package/Source/Core/ArticulationStageType.js +5 -1
  113. package/Source/Core/AssociativeArray.js +100 -94
  114. package/Source/Core/BoundingSphere.js +1296 -1300
  115. package/Source/Core/Cartesian2.js +1 -1
  116. package/Source/Core/Cartesian3.js +2 -3
  117. package/Source/Core/Cartesian4.js +1 -1
  118. package/Source/Core/Cartographic.js +257 -249
  119. package/Source/Core/ClockRange.js +6 -1
  120. package/Source/Core/ClockStep.js +6 -1
  121. package/Source/Core/Color.js +844 -835
  122. package/Source/Core/ComponentDatatype.js +39 -1
  123. package/Source/Core/CornerType.js +6 -1
  124. package/Source/Core/Credit.js +121 -124
  125. package/Source/Core/Ellipsoid.js +637 -660
  126. package/Source/Core/ExtrapolationType.js +6 -1
  127. package/Source/Core/GeocodeType.js +6 -1
  128. package/Source/Core/GeographicProjection.js +74 -74
  129. package/Source/Core/GeographicTilingScheme.js +179 -198
  130. package/Source/Core/GeometryOffsetAttribute.js +7 -1
  131. package/Source/Core/GeometryType.js +7 -1
  132. package/Source/Core/HeightmapEncoding.js +6 -1
  133. package/Source/Core/Iau2006XysData.js +24 -13
  134. package/Source/Core/IndexDatatype.js +3 -1
  135. package/Source/Core/InterpolationType.js +5 -1
  136. package/Source/Core/Intersect.js +6 -1
  137. package/Source/Core/Ion.js +1 -1
  138. package/Source/Core/IonGeocodeProviderType.js +5 -1
  139. package/Source/Core/JulianDate.js +850 -848
  140. package/Source/Core/KeyboardEventModifier.js +6 -1
  141. package/Source/Core/MapProjection.js +40 -44
  142. package/Source/Core/Matrix2.js +906 -893
  143. package/Source/Core/Matrix3.js +1643 -1575
  144. package/Source/Core/Matrix4.js +2903 -2872
  145. package/Source/Core/PixelFormat.js +3 -1
  146. package/Source/Core/PrimitiveType.js +11 -1
  147. package/Source/Core/Ray.js +62 -60
  148. package/Source/Core/Rectangle.js +913 -904
  149. package/Source/Core/ReferenceFrame.js +6 -1
  150. package/Source/Core/RequestScheduler.js +8 -3
  151. package/Source/Core/RequestState.js +6 -1
  152. package/Source/Core/RequestType.js +6 -1
  153. package/Source/Core/Resource.js +1 -1
  154. package/Source/Core/ScreenSpaceEventHandler.js +51 -41
  155. package/Source/Core/ScreenSpaceEventType.js +6 -1
  156. package/Source/Core/TerrainQuantization.js +6 -1
  157. package/Source/Core/TilingScheme.js +100 -98
  158. package/Source/Core/TimeConstants.js +6 -1
  159. package/Source/Core/TimeStandard.js +6 -1
  160. package/Source/Core/TrackingReferenceFrame.js +6 -1
  161. package/Source/Core/Visibility.js +6 -1
  162. package/Source/Core/VulkanConstants.js +6 -1
  163. package/Source/Core/WebGLConstants.js +6 -1
  164. package/Source/Core/WebMercatorProjection.js +108 -109
  165. package/Source/Core/WebMercatorTilingScheme.js +246 -242
  166. package/Source/Core/WindingOrder.js +3 -1
  167. package/Source/Core/createColorRamp.js +37 -0
  168. package/Source/Core/globalTypes.js +25 -0
  169. package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +1 -0
  170. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +1 -0
  171. package/Source/DataSources/StripeOrientation.js +6 -1
  172. package/Source/Renderer/BufferUsage.js +20 -9
  173. package/Source/Renderer/Context.js +2 -29
  174. package/Source/Renderer/DrawCommand.js +435 -403
  175. package/Source/Renderer/MipmapHint.js +5 -1
  176. package/Source/Renderer/Pass.js +10 -3
  177. package/Source/Renderer/PickId.js +44 -0
  178. package/Source/Renderer/PixelDatatype.js +3 -1
  179. package/Source/Renderer/RenderbufferFormat.js +5 -1
  180. package/Source/Renderer/ShaderDestination.js +4 -1
  181. package/Source/Renderer/TextureMagnificationFilter.js +3 -1
  182. package/Source/Renderer/TextureMinificationFilter.js +3 -1
  183. package/Source/Renderer/TextureWrap.js +5 -1
  184. package/Source/Renderer/createUniform.js +346 -239
  185. package/Source/Renderer/createUniformArray.js +494 -381
  186. package/Source/Scene/AlphaMode.js +5 -1
  187. package/Source/Scene/ArcGisBaseMapType.js +6 -1
  188. package/Source/Scene/ArcGisMapService.js +1 -1
  189. package/Source/Scene/AttributeType.js +3 -1
  190. package/Source/Scene/Axis.js +3 -1
  191. package/Source/Scene/BingMapsStyle.js +6 -1
  192. package/Source/Scene/BlendEquation.js +6 -1
  193. package/Source/Scene/BlendFunction.js +6 -1
  194. package/Source/Scene/BlendOption.js +6 -1
  195. package/Source/Scene/BlendingState.js +6 -1
  196. package/Source/Scene/BufferLoader.js +0 -2
  197. package/Source/Scene/BufferPoint.js +1 -0
  198. package/Source/Scene/BufferPointCollection.js +17 -1
  199. package/Source/Scene/BufferPolygon.js +3 -2
  200. package/Source/Scene/BufferPolygonCollection.js +13 -1
  201. package/Source/Scene/BufferPolyline.js +1 -0
  202. package/Source/Scene/BufferPolylineCollection.js +5 -1
  203. package/Source/Scene/BufferPrimitiveCollection.js +210 -43
  204. package/Source/Scene/CameraEventAggregator.js +30 -18
  205. package/Source/Scene/CameraEventType.js +6 -1
  206. package/Source/Scene/Cesium3DTile.js +54 -1
  207. package/Source/Scene/Cesium3DTileColorBlendMode.js +6 -1
  208. package/Source/Scene/Cesium3DTileContent.js +195 -254
  209. package/Source/Scene/Cesium3DTileContentFactory.js +10 -2
  210. package/Source/Scene/Cesium3DTileContentState.js +6 -1
  211. package/Source/Scene/Cesium3DTileContentType.js +3 -1
  212. package/Source/Scene/Cesium3DTileFeature.js +289 -306
  213. package/Source/Scene/Cesium3DTileOptimizationHint.js +6 -1
  214. package/Source/Scene/Cesium3DTilePass.js +5 -1
  215. package/Source/Scene/Cesium3DTilePointFeature.js +433 -511
  216. package/Source/Scene/Cesium3DTileRefine.js +6 -1
  217. package/Source/Scene/Cesium3DTileVectorFeature.js +586 -0
  218. package/Source/Scene/Cesium3DTileset.js +46 -6
  219. package/Source/Scene/ClassificationType.js +3 -1
  220. package/Source/Scene/CloudType.js +3 -1
  221. package/Source/Scene/ColorBlendMode.js +4 -1
  222. package/Source/Scene/Composite3DTileContent.js +254 -292
  223. package/Source/Scene/CullFace.js +6 -1
  224. package/Source/Scene/DepthFunction.js +6 -1
  225. package/Source/Scene/DynamicAtmosphereLightingType.js +3 -1
  226. package/Source/Scene/EdgeDisplayMode.js +50 -0
  227. package/Source/Scene/Empty3DTileContent.js +100 -132
  228. package/Source/Scene/EquirectangularPanorama.js +1 -0
  229. package/Source/Scene/ExpressionNodeType.js +6 -1
  230. package/Source/Scene/GaussianSplat3DTileContent.js +436 -478
  231. package/Source/Scene/GeoJsonPrimitive.js +874 -0
  232. package/Source/Scene/Geometry3DTileContent.js +151 -185
  233. package/Source/Scene/GltfBufferViewLoader.js +0 -2
  234. package/Source/Scene/GltfDracoLoader.js +0 -2
  235. package/Source/Scene/GltfImageLoader.js +0 -3
  236. package/Source/Scene/GltfIndexBufferLoader.js +0 -4
  237. package/Source/Scene/GltfJsonLoader.js +0 -2
  238. package/Source/Scene/GltfLoader.js +109 -5
  239. package/Source/Scene/GltfLoaderUtil.js +14 -0
  240. package/Source/Scene/GltfSpzLoader.js +0 -2
  241. package/Source/Scene/GltfStructuralMetadataLoader.js +0 -2
  242. package/Source/Scene/GltfTextureLoader.js +0 -2
  243. package/Source/Scene/GltfVertexBufferLoader.js +0 -4
  244. package/Source/Scene/HeightReference.js +5 -1
  245. package/Source/Scene/HorizontalOrigin.js +6 -1
  246. package/Source/Scene/ImageryProvider.js +1 -1
  247. package/Source/Scene/ImageryState.js +6 -1
  248. package/Source/Scene/Implicit3DTileContent.js +179 -214
  249. package/Source/Scene/ImplicitSubdivisionScheme.js +3 -1
  250. package/Source/Scene/InstanceAttributeSemantic.js +3 -1
  251. package/Source/Scene/IonWorldImageryStyle.js +6 -1
  252. package/Source/Scene/JobType.js +6 -1
  253. package/Source/Scene/LabelStyle.js +6 -1
  254. package/Source/Scene/MVTDataProvider.js +147 -0
  255. package/Source/Scene/MapMode2D.js +6 -1
  256. package/Source/Scene/MetadataComponentType.js +3 -1
  257. package/Source/Scene/MetadataSchemaLoader.js +0 -2
  258. package/Source/Scene/MetadataSemantic.js +6 -2
  259. package/Source/Scene/MetadataType.js +3 -1
  260. package/Source/Scene/Model/B3dmLoader.js +0 -3
  261. package/Source/Scene/Model/CustomShaderMode.js +3 -1
  262. package/Source/Scene/Model/CustomShaderTranslucencyMode.js +5 -1
  263. package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +78 -337
  264. package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +5 -1
  265. package/Source/Scene/Model/Extensions/Gpm/StorageType.js +5 -1
  266. package/Source/Scene/Model/GeoJsonLoader.js +0 -2
  267. package/Source/Scene/Model/I3dmLoader.js +0 -3
  268. package/Source/Scene/Model/InstancingPipelineStage.js +1 -1
  269. package/Source/Scene/Model/LightingModel.js +5 -1
  270. package/Source/Scene/Model/MaterialPipelineStage.js +184 -3
  271. package/Source/Scene/Model/Model.js +34 -0
  272. package/Source/Scene/Model/Model3DTileContent.js +424 -458
  273. package/Source/Scene/Model/ModelDrawCommand.js +31 -3
  274. package/Source/Scene/Model/ModelReader.js +474 -3
  275. package/Source/Scene/Model/ModelRuntimePrimitive.js +2 -1
  276. package/Source/Scene/Model/ModelType.js +3 -1
  277. package/Source/Scene/Model/ModelUtility.js +4 -0
  278. package/Source/Scene/Model/PntsLoader.js +4 -3
  279. package/Source/Scene/Model/StyleCommandsNeeded.js +3 -1
  280. package/Source/Scene/Model/UniformType.js +5 -1
  281. package/Source/Scene/Model/VaryingType.js +5 -1
  282. package/Source/Scene/Model/createVectorTileBuffersFromModelComponents.js +500 -139
  283. package/Source/Scene/Model/pickModel.js +94 -299
  284. package/Source/Scene/ModelAnimationLoop.js +6 -1
  285. package/Source/Scene/ModelAnimationState.js +6 -1
  286. package/Source/Scene/ModelComponents.js +47 -2
  287. package/Source/Scene/Multiple3DTileContent.js +291 -334
  288. package/Source/Scene/PrimitiveState.js +7 -1
  289. package/Source/Scene/QuadtreeOccluders.js +20 -15
  290. package/Source/Scene/QuadtreeTile.js +547 -541
  291. package/Source/Scene/QuadtreeTileLoadState.js +6 -1
  292. package/Source/Scene/QuadtreeTileProvider.js +159 -175
  293. package/Source/Scene/ResourceLoader.js +0 -1
  294. package/Source/Scene/ResourceLoaderState.js +7 -1
  295. package/Source/Scene/Scene.js +26 -0
  296. package/Source/Scene/SceneMode.js +4 -1
  297. package/Source/Scene/ShadowMode.js +3 -1
  298. package/Source/Scene/SkyBox.js +1 -1
  299. package/Source/Scene/SplitDirection.js +6 -1
  300. package/Source/Scene/StencilFunction.js +6 -1
  301. package/Source/Scene/StencilOperation.js +6 -1
  302. package/Source/Scene/TerrainState.js +7 -1
  303. package/Source/Scene/TileState.js +7 -1
  304. package/Source/Scene/Tileset3DTileContent.js +113 -146
  305. package/Source/Scene/Tonemapper.js +5 -1
  306. package/Source/Scene/UrlTemplate3DTilesDataProvider.js +499 -0
  307. package/Source/Scene/Vector3DTileContent.js +205 -234
  308. package/Source/Scene/VectorGltf3DTileContent.js +131 -61
  309. package/Source/Scene/VertexAttributeSemantic.js +3 -1
  310. package/Source/Scene/VerticalOrigin.js +6 -1
  311. package/Source/Scene/VoxelBoxShape.js +12 -6
  312. package/Source/Scene/VoxelContent.js +2 -0
  313. package/Source/Scene/VoxelCylinderShape.js +39 -38
  314. package/Source/Scene/VoxelEllipsoidShape.js +46 -96
  315. package/Source/Scene/VoxelMetadataOrder.js +6 -1
  316. package/Source/Scene/VoxelPrimitive.js +159 -175
  317. package/Source/Scene/VoxelProvider.js +64 -90
  318. package/Source/Scene/VoxelShapeType.js +3 -1
  319. package/Source/Scene/buildVectorGltfFromMVT.js +1059 -0
  320. package/Source/Scene/buildVoxelCustomShader.js +199 -0
  321. package/Source/Scene/decodeMVT.js +634 -0
  322. package/Source/Scene/renderBufferPointCollection.js +124 -127
  323. package/Source/Scene/renderBufferPolygonCollection.js +122 -122
  324. package/Source/Scene/renderBufferPolylineCollection.js +386 -238
  325. package/Source/Shaders/BufferPointMaterialFS.glsl +1 -0
  326. package/Source/Shaders/BufferPointMaterialFS.js +1 -0
  327. package/Source/Shaders/BufferPointMaterialVS.glsl +19 -9
  328. package/Source/Shaders/BufferPointMaterialVS.js +20 -10
  329. package/Source/Shaders/BufferPolygonMaterialVS.glsl +13 -4
  330. package/Source/Shaders/BufferPolygonMaterialVS.js +14 -5
  331. package/Source/Shaders/BufferPolylineMaterialVS.glsl +16 -2
  332. package/Source/Shaders/BufferPolylineMaterialVS.js +17 -3
  333. package/Source/Shaders/Builtin/Constants/passCesium3DTileEdgesDirect.glsl +9 -0
  334. package/Source/Shaders/Builtin/Constants/passCesium3DTileEdgesDirect.js +11 -0
  335. package/Source/Shaders/Builtin/Constants/passOverlay.glsl +1 -1
  336. package/Source/Shaders/Builtin/Constants/passOverlay.js +1 -1
  337. package/Source/Shaders/Builtin/CzmBuiltins.js +4 -0
  338. package/Source/Shaders/Builtin/Functions/computeTextureTransform.glsl +24 -0
  339. package/Source/Shaders/Builtin/Functions/computeTextureTransform.js +25 -0
  340. package/Source/Shaders/Model/ConstantLodStageFS.glsl +60 -0
  341. package/Source/Shaders/Model/ConstantLodStageFS.js +62 -0
  342. package/Source/Shaders/Model/ConstantLodStageVS.glsl +12 -0
  343. package/Source/Shaders/Model/ConstantLodStageVS.js +13 -0
  344. package/Source/Shaders/Model/EdgeVisibilityStageVS.glsl +0 -1
  345. package/Source/Shaders/Model/EdgeVisibilityStageVS.js +0 -1
  346. package/Source/Shaders/Model/MaterialStageFS.glsl +46 -20
  347. package/Source/Shaders/Model/MaterialStageFS.js +46 -20
  348. package/Source/Shaders/Voxels/convertLocalToBoxUv.glsl +0 -1
  349. package/Source/Shaders/Voxels/convertLocalToBoxUv.js +0 -1
  350. package/Source/Shaders/Voxels/convertLocalToCylinderUv.glsl +7 -9
  351. package/Source/Shaders/Voxels/convertLocalToCylinderUv.js +7 -9
  352. package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.glsl +7 -17
  353. package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.js +7 -17
  354. package/Source/Widget/CesiumWidget.js +11 -4
  355. package/index.d.ts +595 -343
  356. package/index.js +392 -378
  357. package/package.json +3 -3
  358. package/Build/Workers/chunk-DVB56LG7.js +0 -114
  359. package/Build/Workers/chunk-HKUES6UG.js +0 -2357
  360. package/Build/Workers/chunk-HRHRYFHS.js +0 -940
  361. package/Build/Workers/chunk-KLPGTXS3.js +0 -642
  362. package/Build/Workers/chunk-ZBZRTRJB.js +0 -1829
package/index.d.ts CHANGED
@@ -724,8 +724,7 @@ export enum ArcType {
724
724
  * A collection of key-value pairs that is stored as a hash for easy
725
725
  * lookup but also provides an array for fast iteration.
726
726
  */
727
- export class AssociativeArray {
728
- constructor();
727
+ export class AssociativeArray<T = unknown> {
729
728
  /**
730
729
  * Gets the number of items in the collection.
731
730
  */
@@ -735,7 +734,7 @@ export class AssociativeArray {
735
734
  * This is a live array that will automatically reflect the values in the collection,
736
735
  * it should not be modified directly.
737
736
  */
738
- values: any[];
737
+ values: T[];
739
738
  /**
740
739
  * Determines if the provided key is in the array.
741
740
  * @param key - The key to check.
@@ -748,13 +747,13 @@ export class AssociativeArray {
748
747
  * @param key - A unique identifier.
749
748
  * @param value - The value to associate with the provided key.
750
749
  */
751
- set(key: string | number, value: any): void;
750
+ set(key: string | number, value: T): void;
752
751
  /**
753
752
  * Retrieves the value associated with the provided key.
754
753
  * @param key - The key whose value is to be retrieved.
755
754
  * @returns The associated value, or undefined if the key does not exist in the collection.
756
755
  */
757
- get(key: string | number): any;
756
+ get(key: string | number): T;
758
757
  /**
759
758
  * Removes a key-value pair from the collection.
760
759
  * @param key - The key to be removed.
@@ -1052,7 +1051,7 @@ export class BoundingSphere {
1052
1051
  * @param [result] - The object onto which to store the result.
1053
1052
  * @returns The modified result parameter or a new BoundingSphere instance if none was provided.
1054
1053
  */
1055
- static fromRectangle2D(rectangle?: Rectangle, projection?: any, result?: BoundingSphere): BoundingSphere;
1054
+ static fromRectangle2D(rectangle?: Rectangle, projection?: MapProjection, result?: BoundingSphere): BoundingSphere;
1056
1055
  /**
1057
1056
  * Computes a bounding sphere from a rectangle projected in 2D. The bounding sphere accounts for the
1058
1057
  * object's minimum and maximum heights over the rectangle.
@@ -1063,7 +1062,7 @@ export class BoundingSphere {
1063
1062
  * @param [result] - The object onto which to store the result.
1064
1063
  * @returns The modified result parameter or a new BoundingSphere instance if none was provided.
1065
1064
  */
1066
- static fromRectangleWithHeights2D(rectangle?: Rectangle, projection?: any, minimumHeight?: number, maximumHeight?: number, result?: BoundingSphere): BoundingSphere;
1065
+ static fromRectangleWithHeights2D(rectangle?: Rectangle, projection?: MapProjection, minimumHeight?: number, maximumHeight?: number, result?: BoundingSphere): BoundingSphere;
1067
1066
  /**
1068
1067
  * Computes a bounding sphere from a rectangle in 3D. The bounding sphere is created using a subsample of points
1069
1068
  * on the ellipsoid and contained in the rectangle. It may not be accurate for all rectangles on all types of ellipsoids.
@@ -1165,10 +1164,6 @@ export class BoundingSphere {
1165
1164
  * @returns The modified result parameter or a new BoundingSphere instance if none was provided. (Returns undefined if sphere is undefined)
1166
1165
  */
1167
1166
  static clone(sphere: BoundingSphere, result?: BoundingSphere): BoundingSphere;
1168
- /**
1169
- * The number of elements used to pack the object into an array.
1170
- */
1171
- static packedLength: number;
1172
1167
  /**
1173
1168
  * Stores the provided instance into the provided array.
1174
1169
  * @param value - The value to pack.
@@ -1265,7 +1260,7 @@ export class BoundingSphere {
1265
1260
  * @param [result] - The object onto which to store the result.
1266
1261
  * @returns The modified result parameter or a new BoundingSphere instance if none was provided.
1267
1262
  */
1268
- static projectTo2D(sphere: BoundingSphere, projection?: any, result?: BoundingSphere): BoundingSphere;
1263
+ static projectTo2D(sphere: BoundingSphere, projection?: MapProjection, result?: BoundingSphere): BoundingSphere;
1269
1264
  /**
1270
1265
  * Determines whether or not a sphere is hidden from view by the occluder.
1271
1266
  * @param sphere - The bounding sphere surrounding the occluded object.
@@ -1337,6 +1332,10 @@ export class BoundingSphere {
1337
1332
  * @returns The radius of the BoundingSphere.
1338
1333
  */
1339
1334
  volume(): number;
1335
+ /**
1336
+ * The number of elements used to pack the object into an array.
1337
+ */
1338
+ static packedLength: number;
1340
1339
  }
1341
1340
 
1342
1341
  /**
@@ -2685,10 +2684,6 @@ export class Cartographic {
2685
2684
  * @returns <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
2686
2685
  */
2687
2686
  static equalsEpsilon(left?: Cartographic, right?: Cartographic, epsilon?: number): boolean;
2688
- /**
2689
- * An immutable Cartographic instance initialized to (0.0, 0.0, 0.0).
2690
- */
2691
- static readonly ZERO: Cartographic;
2692
2687
  /**
2693
2688
  * Duplicates this instance.
2694
2689
  * @param [result] - The object onto which to store the result.
@@ -2716,6 +2711,10 @@ export class Cartographic {
2716
2711
  * @returns A string representing the provided cartographic in the format '(longitude, latitude, height)'.
2717
2712
  */
2718
2713
  toString(): string;
2714
+ /**
2715
+ * An immutable Cartographic instance initialized to (0.0, 0.0, 0.0).
2716
+ */
2717
+ static readonly ZERO: Cartographic;
2719
2718
  }
2720
2719
 
2721
2720
  /**
@@ -3756,10 +3755,6 @@ export class Color {
3756
3755
  * @returns The color object, or undefined if the string was not a valid CSS color.
3757
3756
  */
3758
3757
  static fromCssColorString(color: string, result?: Color): Color;
3759
- /**
3760
- * The number of elements used to pack the object into an array.
3761
- */
3762
- static packedLength: number;
3763
3758
  /**
3764
3759
  * Stores the provided instance into the provided array.
3765
3760
  * @param value - The value to pack.
@@ -3952,6 +3947,10 @@ export class Color {
3952
3947
  * @returns The modified result parameter.
3953
3948
  */
3954
3949
  static divideByScalar(color: Color, scalar: number, result: Color): Color;
3950
+ /**
3951
+ * The number of elements used to pack the object into an array.
3952
+ */
3953
+ static packedLength: number;
3955
3954
  /**
3956
3955
  * An immutable Color instance initialized to CSS color #F0F8FF
3957
3956
  * <span class="colorSwath" style="background: #F0F8FF;"></span>
@@ -6040,23 +6039,6 @@ export class Ellipsoid {
6040
6039
  * @returns A new Ellipsoid instance.
6041
6040
  */
6042
6041
  static fromCartesian3(cartesian?: Cartesian3, result?: Ellipsoid): Ellipsoid;
6043
- /**
6044
- * An Ellipsoid instance initialized to the WGS84 standard.
6045
- */
6046
- static readonly WGS84: Ellipsoid;
6047
- /**
6048
- * An Ellipsoid instance initialized to radii of (1.0, 1.0, 1.0).
6049
- */
6050
- static readonly UNIT_SPHERE: Ellipsoid;
6051
- /**
6052
- * An Ellipsoid instance initialized to a sphere with the lunar radius.
6053
- */
6054
- static readonly MOON: Ellipsoid;
6055
- /**
6056
- * An Ellipsoid instance initialized to a sphere with the mean radii of Mars.
6057
- * Source: https://epsg.io/104905
6058
- */
6059
- static readonly MARS: Ellipsoid;
6060
6042
  /**
6061
6043
  * The default ellipsoid used when not otherwise specified.
6062
6044
  * @example
@@ -6076,10 +6058,6 @@ export class Ellipsoid {
6076
6058
  * @returns The cloned Ellipsoid.
6077
6059
  */
6078
6060
  clone(result?: Ellipsoid): Ellipsoid;
6079
- /**
6080
- * The number of elements used to pack the object into an array.
6081
- */
6082
- static packedLength: number;
6083
6061
  /**
6084
6062
  * Stores the provided instance into the provided array.
6085
6063
  * @param value - The value to pack.
@@ -6096,13 +6074,6 @@ export class Ellipsoid {
6096
6074
  * @returns The modified result parameter or a new Ellipsoid instance if one was not provided.
6097
6075
  */
6098
6076
  static unpack(array: number[], startingIndex?: number, result?: Ellipsoid): Ellipsoid;
6099
- /**
6100
- * Computes the unit vector directed from the center of this ellipsoid toward the provided Cartesian position.
6101
- * @param cartesian - The Cartesian for which to to determine the geocentric normal.
6102
- * @param [result] - The object onto which to store the result.
6103
- * @returns The modified result parameter or a new Cartesian3 instance if none was provided.
6104
- */
6105
- geocentricSurfaceNormal(cartesian: Cartesian3, result?: Cartesian3): Cartesian3;
6106
6077
  /**
6107
6078
  * Computes the normal of the plane tangent to the surface of the ellipsoid at the provided position.
6108
6079
  * @param cartographic - The cartographic position for which to to determine the geodetic normal.
@@ -6241,6 +6212,34 @@ export class Ellipsoid {
6241
6212
  * @returns The approximate area of the rectangle on the surface of this ellipsoid.
6242
6213
  */
6243
6214
  surfaceArea(rectangle: Rectangle): number;
6215
+ /**
6216
+ * An Ellipsoid instance initialized to the WGS84 standard.
6217
+ */
6218
+ static readonly WGS84: Ellipsoid;
6219
+ /**
6220
+ * An Ellipsoid instance initialized to radii of (1.0, 1.0, 1.0).
6221
+ */
6222
+ static readonly UNIT_SPHERE: Ellipsoid;
6223
+ /**
6224
+ * An Ellipsoid instance initialized to a sphere with the lunar radius.
6225
+ */
6226
+ static readonly MOON: Ellipsoid;
6227
+ /**
6228
+ * An Ellipsoid instance initialized to a sphere with the mean radii of Mars.
6229
+ * Source: https://epsg.io/104905
6230
+ */
6231
+ static readonly MARS: Ellipsoid;
6232
+ /**
6233
+ * The number of elements used to pack the object into an array.
6234
+ */
6235
+ static packedLength: number;
6236
+ /**
6237
+ * Computes the unit vector directed from the center of this ellipsoid toward the provided Cartesian position.
6238
+ * @param cartesian - The Cartesian for which to to determine the geocentric normal.
6239
+ * @param [result] - The object onto which to store the result.
6240
+ * @returns The modified result parameter or a new Cartesian3 instance if none was provided.
6241
+ */
6242
+ geocentricSurfaceNormal(cartesian: Cartesian3, result?: Cartesian3): Cartesian3;
6244
6243
  }
6245
6244
 
6246
6245
  /**
@@ -7034,6 +7033,9 @@ export class GeocoderService {
7034
7033
  geocode(query: string, type?: GeocodeType): Promise<GeocoderService.Result[]>;
7035
7034
  }
7036
7035
 
7036
+ export interface GeographicProjection extends MapProjection {
7037
+ }
7038
+
7037
7039
  /**
7038
7040
  * A simple map projection where longitude and latitude are linearly mapped to X and Y by multiplying
7039
7041
  * them by the {@link Ellipsoid#maximumRadius}. This projection
@@ -7041,7 +7043,7 @@ export class GeocoderService {
7041
7043
  * is also known as EPSG:4326.
7042
7044
  * @param [ellipsoid = Ellipsoid.default] - The ellipsoid.
7043
7045
  */
7044
- export class GeographicProjection {
7046
+ export class GeographicProjection implements MapProjection {
7045
7047
  constructor(ellipsoid?: Ellipsoid);
7046
7048
  /**
7047
7049
  * Gets the {@link Ellipsoid}.
@@ -7073,6 +7075,9 @@ export class GeographicProjection {
7073
7075
  unproject(cartesian: Cartesian3, result?: Cartographic): Cartographic;
7074
7076
  }
7075
7077
 
7078
+ export interface GeographicTilingScheme extends TilingScheme {
7079
+ }
7080
+
7076
7081
  /**
7077
7082
  * A tiling scheme for geometry referenced to a simple {@link GeographicProjection} where
7078
7083
  * longitude and latitude are directly mapped to X and Y. This projection is commonly
@@ -7086,7 +7091,7 @@ export class GeographicProjection {
7086
7091
  * @param [options.numberOfLevelZeroTilesY = 1] - The number of tiles in the Y direction at level zero of
7087
7092
  * the tile tree.
7088
7093
  */
7089
- export class GeographicTilingScheme {
7094
+ export class GeographicTilingScheme implements TilingScheme {
7090
7095
  constructor(options?: {
7091
7096
  ellipsoid?: Ellipsoid;
7092
7097
  rectangle?: Rectangle;
@@ -7138,7 +7143,7 @@ export class GeographicTilingScheme {
7138
7143
  * @returns The specified 'result', or a new object containing the rectangle
7139
7144
  * if 'result' is undefined.
7140
7145
  */
7141
- tileXYToNativeRectangle(x: number, y: number, level: number, result?: any): Rectangle;
7146
+ tileXYToNativeRectangle(x: number, y: number, level: number, result?: Rectangle): Rectangle;
7142
7147
  /**
7143
7148
  * Converts tile x, y coordinates and level to a cartographic rectangle in radians.
7144
7149
  * @param x - The integer x coordinate of the tile.
@@ -7149,7 +7154,7 @@ export class GeographicTilingScheme {
7149
7154
  * @returns The specified 'result', or a new object containing the rectangle
7150
7155
  * if 'result' is undefined.
7151
7156
  */
7152
- tileXYToRectangle(x: number, y: number, level: number, result?: any): Rectangle;
7157
+ tileXYToRectangle(x: number, y: number, level: number, result?: Rectangle): Rectangle;
7153
7158
  /**
7154
7159
  * Calculates the tile x, y coordinates of the tile containing
7155
7160
  * a given cartographic position.
@@ -9562,8 +9567,7 @@ export class LinearSpline {
9562
9567
  * Defines how geodetic ellipsoid coordinates ({@link Cartographic}) project to a
9563
9568
  * flat map like Cesium's 2D and Columbus View modes.
9564
9569
  */
9565
- export class MapProjection {
9566
- constructor();
9570
+ export interface MapProjection {
9567
9571
  /**
9568
9572
  * Gets the {@link Ellipsoid}.
9569
9573
  */
@@ -10101,10 +10105,6 @@ export interface Matrix2 extends ArrayLike<number> {
10101
10105
  */
10102
10106
  export class Matrix2 implements ArrayLike<number> {
10103
10107
  constructor(column0Row0?: number, column1Row0?: number, column0Row1?: number, column1Row1?: number);
10104
- /**
10105
- * The number of elements used to pack the object into an array.
10106
- */
10107
- static packedLength: number;
10108
10108
  /**
10109
10109
  * Stores the provided instance into the provided array.
10110
10110
  * @param value - The value to pack.
@@ -10143,25 +10143,6 @@ export class Matrix2 implements ArrayLike<number> {
10143
10143
  * @returns The modified result parameter or a new Matrix2 instance if one was not provided. (Returns undefined if matrix is undefined)
10144
10144
  */
10145
10145
  static clone(matrix: Matrix2, result?: Matrix2): Matrix2;
10146
- /**
10147
- * Creates a Matrix2 from 4 consecutive elements in an array.
10148
- * @example
10149
- * // Create the Matrix2:
10150
- * // [1.0, 2.0]
10151
- * // [1.0, 2.0]
10152
- *
10153
- * const v = [1.0, 1.0, 2.0, 2.0];
10154
- * const m = Cesium.Matrix2.fromArray(v);
10155
- *
10156
- * // Create same Matrix2 with using an offset into an array
10157
- * const v2 = [0.0, 0.0, 1.0, 1.0, 2.0, 2.0];
10158
- * const m2 = Cesium.Matrix2.fromArray(v2, 2);
10159
- * @param array - The array whose 4 consecutive elements correspond to the positions of the matrix. Assumes column-major order.
10160
- * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to first column first row position in the matrix.
10161
- * @param [result] - The object onto which to store the result.
10162
- * @returns The modified result parameter or a new Matrix2 instance if one was not provided.
10163
- */
10164
- static fromArray(array: number[], startingIndex?: number, result?: Matrix2): Matrix2;
10165
10146
  /**
10166
10147
  * Creates a Matrix2 instance from a column-major order array.
10167
10148
  * @param values - The column-major order array.
@@ -10249,7 +10230,7 @@ export class Matrix2 implements ArrayLike<number> {
10249
10230
  * @param result - The object onto which to store the result.
10250
10231
  * @returns The modified result parameter.
10251
10232
  */
10252
- static setColumn(matrix: Matrix2, index: number, cartesian: Cartesian2, result: Cartesian2): Matrix2;
10233
+ static setColumn(matrix: Matrix2, index: number, cartesian: Cartesian2, result: Matrix2): Matrix2;
10253
10234
  /**
10254
10235
  * Retrieves a copy of the matrix row at the provided index as a Cartesian2 instance.
10255
10236
  * @param matrix - The matrix to use.
@@ -10415,6 +10396,61 @@ export class Matrix2 implements ArrayLike<number> {
10415
10396
  * @returns <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
10416
10397
  */
10417
10398
  static equalsEpsilon(left?: Matrix2, right?: Matrix2, epsilon?: number): boolean;
10399
+ /**
10400
+ * Gets the number of items in the collection.
10401
+ */
10402
+ length: number;
10403
+ /**
10404
+ * Duplicates the provided Matrix2 instance.
10405
+ * @param [result] - The object onto which to store the result.
10406
+ * @returns The modified result parameter or a new Matrix2 instance if one was not provided.
10407
+ */
10408
+ clone(result?: Matrix2): Matrix2;
10409
+ /**
10410
+ * Compares this matrix to the provided matrix componentwise and returns
10411
+ * <code>true</code> if they are equal, <code>false</code> otherwise.
10412
+ * @param [right] - The right hand side matrix.
10413
+ * @returns <code>true</code> if they are equal, <code>false</code> otherwise.
10414
+ */
10415
+ equals(right?: Matrix2): boolean;
10416
+ /**
10417
+ * Compares this matrix to the provided matrix componentwise and returns
10418
+ * <code>true</code> if they are within the provided epsilon,
10419
+ * <code>false</code> otherwise.
10420
+ * @param [right] - The right hand side matrix.
10421
+ * @param [epsilon = 0] - The epsilon to use for equality testing.
10422
+ * @returns <code>true</code> if they are within the provided epsilon, <code>false</code> otherwise.
10423
+ */
10424
+ equalsEpsilon(right?: Matrix2, epsilon?: number): boolean;
10425
+ /**
10426
+ * Creates a string representing this Matrix with each row being
10427
+ * on a separate line and in the format '(column0, column1)'.
10428
+ * @returns A string representing the provided Matrix with each row being on a separate line and in the format '(column0, column1)'.
10429
+ */
10430
+ toString(): string;
10431
+ /**
10432
+ * The number of elements used to pack the object into an array.
10433
+ */
10434
+ static packedLength: number;
10435
+ /**
10436
+ * Creates a Matrix2 from 4 consecutive elements in an array.
10437
+ * @example
10438
+ * // Create the Matrix2:
10439
+ * // [1.0, 2.0]
10440
+ * // [1.0, 2.0]
10441
+ *
10442
+ * const v = [1.0, 1.0, 2.0, 2.0];
10443
+ * const m = Cesium.Matrix2.fromArray(v);
10444
+ *
10445
+ * // Create same Matrix2 with using an offset into an array
10446
+ * const v2 = [0.0, 0.0, 1.0, 1.0, 2.0, 2.0];
10447
+ * const m2 = Cesium.Matrix2.fromArray(v2, 2);
10448
+ * @param array - The array whose 4 consecutive elements correspond to the positions of the matrix. Assumes column-major order.
10449
+ * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to first column first row position in the matrix.
10450
+ * @param [result] - The object onto which to store the result.
10451
+ * @returns The modified result parameter or a new Matrix2 instance if one was not provided.
10452
+ */
10453
+ static fromArray(array: number[], startingIndex?: number, result?: Matrix2): Matrix2;
10418
10454
  /**
10419
10455
  * An immutable Matrix2 instance initialized to the identity matrix.
10420
10456
  */
@@ -10451,40 +10487,13 @@ export class Matrix2 implements ArrayLike<number> {
10451
10487
  * matrix[Cesium.Matrix2.COLUMN1ROW1] = 5.0; // set column 1, row 1 to 5.0
10452
10488
  */
10453
10489
  static readonly COLUMN1ROW1: number;
10454
- /**
10455
- * Gets the number of items in the collection.
10456
- */
10457
- length: number;
10458
- /**
10459
- * Duplicates the provided Matrix2 instance.
10460
- * @param [result] - The object onto which to store the result.
10461
- * @returns The modified result parameter or a new Matrix2 instance if one was not provided.
10462
- */
10463
- clone(result?: Matrix2): Matrix2;
10464
- /**
10465
- * Compares this matrix to the provided matrix componentwise and returns
10466
- * <code>true</code> if they are equal, <code>false</code> otherwise.
10467
- * @param [right] - The right hand side matrix.
10468
- * @returns <code>true</code> if they are equal, <code>false</code> otherwise.
10469
- */
10470
- equals(right?: Matrix2): boolean;
10471
- /**
10472
- * Compares this matrix to the provided matrix componentwise and returns
10473
- * <code>true</code> if they are within the provided epsilon,
10474
- * <code>false</code> otherwise.
10475
- * @param [right] - The right hand side matrix.
10476
- * @param [epsilon = 0] - The epsilon to use for equality testing.
10477
- * @returns <code>true</code> if they are within the provided epsilon, <code>false</code> otherwise.
10478
- */
10479
- equalsEpsilon(right?: Matrix2, epsilon?: number): boolean;
10480
- /**
10481
- * Creates a string representing this Matrix with each row being
10482
- * on a separate line and in the format '(column0, column1)'.
10483
- * @returns A string representing the provided Matrix with each row being on a separate line and in the format '(column0, column1)'.
10484
- */
10485
- toString(): string;
10486
10490
  }
10487
10491
 
10492
+ export type EigenDecompositionResult = {
10493
+ unitary?: Matrix3;
10494
+ diagonal?: Matrix3;
10495
+ };
10496
+
10488
10497
  export interface Matrix3 extends ArrayLike<number> {
10489
10498
  }
10490
10499
 
@@ -10503,10 +10512,6 @@ export interface Matrix3 extends ArrayLike<number> {
10503
10512
  */
10504
10513
  export class Matrix3 implements ArrayLike<number> {
10505
10514
  constructor(column0Row0?: number, column1Row0?: number, column2Row0?: number, column0Row1?: number, column1Row1?: number, column2Row1?: number, column0Row2?: number, column1Row2?: number, column2Row2?: number);
10506
- /**
10507
- * The number of elements used to pack the object into an array.
10508
- */
10509
- static packedLength: number;
10510
10515
  /**
10511
10516
  * Stores the provided instance into the provided array.
10512
10517
  * @param value - The value to pack.
@@ -10545,26 +10550,6 @@ export class Matrix3 implements ArrayLike<number> {
10545
10550
  * @returns The modified result parameter or a new Matrix3 instance if one was not provided. (Returns undefined if matrix is undefined)
10546
10551
  */
10547
10552
  static clone(matrix: Matrix3, result?: Matrix3): Matrix3;
10548
- /**
10549
- * Creates a Matrix3 from 9 consecutive elements in an array.
10550
- * @example
10551
- * // Create the Matrix3:
10552
- * // [1.0, 2.0, 3.0]
10553
- * // [1.0, 2.0, 3.0]
10554
- * // [1.0, 2.0, 3.0]
10555
- *
10556
- * const v = [1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0];
10557
- * const m = Cesium.Matrix3.fromArray(v);
10558
- *
10559
- * // Create same Matrix3 with using an offset into an array
10560
- * const v2 = [0.0, 0.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0];
10561
- * const m2 = Cesium.Matrix3.fromArray(v2, 2);
10562
- * @param array - The array whose 9 consecutive elements correspond to the positions of the matrix. Assumes column-major order.
10563
- * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to first column first row position in the matrix.
10564
- * @param [result] - The object onto which to store the result.
10565
- * @returns The modified result parameter or a new Matrix3 instance if one was not provided.
10566
- */
10567
- static fromArray(array: number[], startingIndex?: number, result?: Matrix3): Matrix3;
10568
10553
  /**
10569
10554
  * Creates a Matrix3 instance from a column-major order array.
10570
10555
  * @param values - The column-major order array.
@@ -10875,7 +10860,7 @@ export class Matrix3 implements ArrayLike<number> {
10875
10860
  * @param [result] - An object with unitary and diagonal properties which are matrices onto which to store the result.
10876
10861
  * @returns An object with unitary and diagonal properties which are the unitary and diagonal matrices, respectively.
10877
10862
  */
10878
- static computeEigenDecomposition(matrix: Matrix3, result?: any): any;
10863
+ static computeEigenDecomposition(matrix: Matrix3, result?: EigenDecompositionResult): EigenDecompositionResult;
10879
10864
  /**
10880
10865
  * Computes a matrix, which contains the absolute (unsigned) values of the provided matrix's elements.
10881
10866
  * @param matrix - The matrix with signed elements.
@@ -10921,50 +10906,6 @@ export class Matrix3 implements ArrayLike<number> {
10921
10906
  * @returns <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
10922
10907
  */
10923
10908
  static equalsEpsilon(left?: Matrix3, right?: Matrix3, epsilon?: number): boolean;
10924
- /**
10925
- * An immutable Matrix3 instance initialized to the identity matrix.
10926
- */
10927
- static readonly IDENTITY: Matrix3;
10928
- /**
10929
- * An immutable Matrix3 instance initialized to the zero matrix.
10930
- */
10931
- static readonly ZERO: Matrix3;
10932
- /**
10933
- * The index into Matrix3 for column 0, row 0.
10934
- */
10935
- static readonly COLUMN0ROW0: number;
10936
- /**
10937
- * The index into Matrix3 for column 0, row 1.
10938
- */
10939
- static readonly COLUMN0ROW1: number;
10940
- /**
10941
- * The index into Matrix3 for column 0, row 2.
10942
- */
10943
- static readonly COLUMN0ROW2: number;
10944
- /**
10945
- * The index into Matrix3 for column 1, row 0.
10946
- */
10947
- static readonly COLUMN1ROW0: number;
10948
- /**
10949
- * The index into Matrix3 for column 1, row 1.
10950
- */
10951
- static readonly COLUMN1ROW1: number;
10952
- /**
10953
- * The index into Matrix3 for column 1, row 2.
10954
- */
10955
- static readonly COLUMN1ROW2: number;
10956
- /**
10957
- * The index into Matrix3 for column 2, row 0.
10958
- */
10959
- static readonly COLUMN2ROW0: number;
10960
- /**
10961
- * The index into Matrix3 for column 2, row 1.
10962
- */
10963
- static readonly COLUMN2ROW1: number;
10964
- /**
10965
- * The index into Matrix3 for column 2, row 2.
10966
- */
10967
- static readonly COLUMN2ROW2: number;
10968
10909
  /**
10969
10910
  * Gets the number of items in the collection.
10970
10911
  */
@@ -10997,8 +10938,83 @@ export class Matrix3 implements ArrayLike<number> {
10997
10938
  * @returns A string representing the provided Matrix with each row being on a separate line and in the format '(column0, column1, column2)'.
10998
10939
  */
10999
10940
  toString(): string;
10941
+ /**
10942
+ * The number of elements used to pack the object into an array.
10943
+ */
10944
+ static packedLength: number;
10945
+ /**
10946
+ * Creates a Matrix3 from 9 consecutive elements in an array.
10947
+ * @example
10948
+ * // Create the Matrix3:
10949
+ * // [1.0, 2.0, 3.0]
10950
+ * // [1.0, 2.0, 3.0]
10951
+ * // [1.0, 2.0, 3.0]
10952
+ *
10953
+ * const v = [1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0];
10954
+ * const m = Cesium.Matrix3.fromArray(v);
10955
+ *
10956
+ * // Create same Matrix3 with using an offset into an array
10957
+ * const v2 = [0.0, 0.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0];
10958
+ * const m2 = Cesium.Matrix3.fromArray(v2, 2);
10959
+ * @param array - The array whose 9 consecutive elements correspond to the positions of the matrix. Assumes column-major order.
10960
+ * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to first column first row position in the matrix.
10961
+ * @param [result] - The object onto which to store the result.
10962
+ * @returns The modified result parameter or a new Matrix3 instance if one was not provided.
10963
+ */
10964
+ static fromArray(array: number[], startingIndex?: number, result?: Matrix3): Matrix3;
10965
+ /**
10966
+ * An immutable Matrix3 instance initialized to the identity matrix.
10967
+ */
10968
+ static readonly IDENTITY: Matrix3;
10969
+ /**
10970
+ * An immutable Matrix3 instance initialized to the zero matrix.
10971
+ */
10972
+ static readonly ZERO: Matrix3;
10973
+ /**
10974
+ * The index into Matrix3 for column 0, row 0.
10975
+ */
10976
+ static readonly COLUMN0ROW0: number;
10977
+ /**
10978
+ * The index into Matrix3 for column 0, row 1.
10979
+ */
10980
+ static readonly COLUMN0ROW1: number;
10981
+ /**
10982
+ * The index into Matrix3 for column 0, row 2.
10983
+ */
10984
+ static readonly COLUMN0ROW2: number;
10985
+ /**
10986
+ * The index into Matrix3 for column 1, row 0.
10987
+ */
10988
+ static readonly COLUMN1ROW0: number;
10989
+ /**
10990
+ * The index into Matrix3 for column 1, row 1.
10991
+ */
10992
+ static readonly COLUMN1ROW1: number;
10993
+ /**
10994
+ * The index into Matrix3 for column 1, row 2.
10995
+ */
10996
+ static readonly COLUMN1ROW2: number;
10997
+ /**
10998
+ * The index into Matrix3 for column 2, row 0.
10999
+ */
11000
+ static readonly COLUMN2ROW0: number;
11001
+ /**
11002
+ * The index into Matrix3 for column 2, row 1.
11003
+ */
11004
+ static readonly COLUMN2ROW1: number;
11005
+ /**
11006
+ * The index into Matrix3 for column 2, row 2.
11007
+ */
11008
+ static readonly COLUMN2ROW2: number;
11000
11009
  }
11001
11010
 
11011
+ export type Viewport = {
11012
+ x?: number;
11013
+ y?: number;
11014
+ width?: number;
11015
+ height?: number;
11016
+ };
11017
+
11002
11018
  export interface Matrix4 extends ArrayLike<number> {
11003
11019
  }
11004
11020
 
@@ -11024,10 +11040,6 @@ export interface Matrix4 extends ArrayLike<number> {
11024
11040
  */
11025
11041
  export class Matrix4 implements ArrayLike<number> {
11026
11042
  constructor(column0Row0?: number, column1Row0?: number, column2Row0?: number, column3Row0?: number, column0Row1?: number, column1Row1?: number, column2Row1?: number, column3Row1?: number, column0Row2?: number, column1Row2?: number, column2Row2?: number, column3Row2?: number, column0Row3?: number, column1Row3?: number, column2Row3?: number, column3Row3?: number);
11027
- /**
11028
- * The number of elements used to pack the object into an array.
11029
- */
11030
- static packedLength: number;
11031
11043
  /**
11032
11044
  * Stores the provided instance into the provided array.
11033
11045
  * @param value - The value to pack.
@@ -11066,27 +11078,6 @@ export class Matrix4 implements ArrayLike<number> {
11066
11078
  * @returns The modified result parameter or a new Matrix4 instance if one was not provided. (Returns undefined if matrix is undefined)
11067
11079
  */
11068
11080
  static clone(matrix: Matrix4, result?: Matrix4): Matrix4;
11069
- /**
11070
- * Creates a Matrix4 from 16 consecutive elements in an array.
11071
- * @example
11072
- * // Create the Matrix4:
11073
- * // [1.0, 2.0, 3.0, 4.0]
11074
- * // [1.0, 2.0, 3.0, 4.0]
11075
- * // [1.0, 2.0, 3.0, 4.0]
11076
- * // [1.0, 2.0, 3.0, 4.0]
11077
- *
11078
- * const v = [1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0, 3.0, 4.0, 4.0, 4.0, 4.0];
11079
- * const m = Cesium.Matrix4.fromArray(v);
11080
- *
11081
- * // Create same Matrix4 with using an offset into an array
11082
- * const v2 = [0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0, 3.0, 4.0, 4.0, 4.0, 4.0];
11083
- * const m2 = Cesium.Matrix4.fromArray(v2, 2);
11084
- * @param array - The array whose 16 consecutive elements correspond to the positions of the matrix. Assumes column-major order.
11085
- * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to first column first row position in the matrix.
11086
- * @param [result] - The object onto which to store the result.
11087
- * @returns The modified result parameter or a new Matrix4 instance if one was not provided.
11088
- */
11089
- static fromArray(array: number[], startingIndex?: number, result?: Matrix4): Matrix4;
11090
11081
  /**
11091
11082
  * Computes a Matrix4 instance from a column-major order array.
11092
11083
  * @param values - The column-major order array.
@@ -11244,7 +11235,7 @@ export class Matrix4 implements ArrayLike<number> {
11244
11235
  * @param [result] - The object in which the result will be stored.
11245
11236
  * @returns The modified result parameter.
11246
11237
  */
11247
- static computeViewportTransformation(viewport?: any, nearDepthRange?: number, farDepthRange?: number, result?: Matrix4): Matrix4;
11238
+ static computeViewportTransformation(viewport?: Viewport, nearDepthRange?: number, farDepthRange?: number, result?: Matrix4): Matrix4;
11248
11239
  /**
11249
11240
  * Computes a Matrix4 instance that transforms from world space to view space.
11250
11241
  * @param position - The position of the camera.
@@ -11750,6 +11741,63 @@ export class Matrix4 implements ArrayLike<number> {
11750
11741
  * @returns The modified result parameter.
11751
11742
  */
11752
11743
  static inverseTranspose(matrix: Matrix4, result: Matrix4): Matrix4;
11744
+ /**
11745
+ * Gets the number of items in the collection.
11746
+ */
11747
+ length: number;
11748
+ /**
11749
+ * Duplicates the provided Matrix4 instance.
11750
+ * @param [result] - The object onto which to store the result.
11751
+ * @returns The modified result parameter or a new Matrix4 instance if one was not provided.
11752
+ */
11753
+ clone(result?: Matrix4): Matrix4;
11754
+ /**
11755
+ * Compares this matrix to the provided matrix componentwise and returns
11756
+ * <code>true</code> if they are equal, <code>false</code> otherwise.
11757
+ * @param [right] - The right hand side matrix.
11758
+ * @returns <code>true</code> if they are equal, <code>false</code> otherwise.
11759
+ */
11760
+ equals(right?: Matrix4): boolean;
11761
+ /**
11762
+ * Compares this matrix to the provided matrix componentwise and returns
11763
+ * <code>true</code> if they are within the provided epsilon,
11764
+ * <code>false</code> otherwise.
11765
+ * @param [right] - The right hand side matrix.
11766
+ * @param [epsilon = 0] - The epsilon to use for equality testing.
11767
+ * @returns <code>true</code> if they are within the provided epsilon, <code>false</code> otherwise.
11768
+ */
11769
+ equalsEpsilon(right?: Matrix4, epsilon?: number): boolean;
11770
+ /**
11771
+ * Computes a string representing this Matrix with each row being
11772
+ * on a separate line and in the format '(column0, column1, column2, column3)'.
11773
+ * @returns A string representing the provided Matrix with each row being on a separate line and in the format '(column0, column1, column2, column3)'.
11774
+ */
11775
+ toString(): string;
11776
+ /**
11777
+ * The number of elements used to pack the object into an array.
11778
+ */
11779
+ static packedLength: number;
11780
+ /**
11781
+ * Creates a Matrix4 from 16 consecutive elements in an array.
11782
+ * @example
11783
+ * // Create the Matrix4:
11784
+ * // [1.0, 2.0, 3.0, 4.0]
11785
+ * // [1.0, 2.0, 3.0, 4.0]
11786
+ * // [1.0, 2.0, 3.0, 4.0]
11787
+ * // [1.0, 2.0, 3.0, 4.0]
11788
+ *
11789
+ * const v = [1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0, 3.0, 4.0, 4.0, 4.0, 4.0];
11790
+ * const m = Cesium.Matrix4.fromArray(v);
11791
+ *
11792
+ * // Create same Matrix4 with using an offset into an array
11793
+ * const v2 = [0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0, 3.0, 4.0, 4.0, 4.0, 4.0];
11794
+ * const m2 = Cesium.Matrix4.fromArray(v2, 2);
11795
+ * @param array - The array whose 16 consecutive elements correspond to the positions of the matrix. Assumes column-major order.
11796
+ * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to first column first row position in the matrix.
11797
+ * @param [result] - The object onto which to store the result.
11798
+ * @returns The modified result parameter or a new Matrix4 instance if one was not provided.
11799
+ */
11800
+ static fromArray(array: number[], startingIndex?: number, result?: Matrix4): Matrix4;
11753
11801
  /**
11754
11802
  * An immutable Matrix4 instance initialized to the identity matrix.
11755
11803
  */
@@ -11822,38 +11870,6 @@ export class Matrix4 implements ArrayLike<number> {
11822
11870
  * The index into Matrix4 for column 3, row 3.
11823
11871
  */
11824
11872
  static readonly COLUMN3ROW3: number;
11825
- /**
11826
- * Gets the number of items in the collection.
11827
- */
11828
- length: number;
11829
- /**
11830
- * Duplicates the provided Matrix4 instance.
11831
- * @param [result] - The object onto which to store the result.
11832
- * @returns The modified result parameter or a new Matrix4 instance if one was not provided.
11833
- */
11834
- clone(result?: Matrix4): Matrix4;
11835
- /**
11836
- * Compares this matrix to the provided matrix componentwise and returns
11837
- * <code>true</code> if they are equal, <code>false</code> otherwise.
11838
- * @param [right] - The right hand side matrix.
11839
- * @returns <code>true</code> if they are equal, <code>false</code> otherwise.
11840
- */
11841
- equals(right?: Matrix4): boolean;
11842
- /**
11843
- * Compares this matrix to the provided matrix componentwise and returns
11844
- * <code>true</code> if they are within the provided epsilon,
11845
- * <code>false</code> otherwise.
11846
- * @param [right] - The right hand side matrix.
11847
- * @param [epsilon = 0] - The epsilon to use for equality testing.
11848
- * @returns <code>true</code> if they are within the provided epsilon, <code>false</code> otherwise.
11849
- */
11850
- equalsEpsilon(right?: Matrix4, epsilon?: number): boolean;
11851
- /**
11852
- * Computes a string representing this Matrix with each row being
11853
- * on a separate line and in the format '(column0, column1, column2, column3)'.
11854
- * @returns A string representing the provided Matrix with each row being on a separate line and in the format '(column0, column1, column2, column3)'.
11855
- */
11856
- toString(): string;
11857
11873
  }
11858
11874
 
11859
11875
  /**
@@ -14558,10 +14574,6 @@ export class Rectangle {
14558
14574
  * Gets the height of the rectangle in radians.
14559
14575
  */
14560
14576
  readonly height: number;
14561
- /**
14562
- * The number of elements used to pack the object into an array.
14563
- */
14564
- static packedLength: number;
14565
14577
  /**
14566
14578
  * Stores the provided instance into the provided array.
14567
14579
  * @param value - The value to pack.
@@ -14787,6 +14799,10 @@ export class Rectangle {
14787
14799
  * @returns The modified result parameter or a new Rectangle instance if none was provided.
14788
14800
  */
14789
14801
  static subsection(rectangle: Rectangle, westLerp: number, southLerp: number, eastLerp: number, northLerp: number, result?: Rectangle): Rectangle;
14802
+ /**
14803
+ * The number of elements used to pack the object into an array.
14804
+ */
14805
+ static packedLength: number;
14790
14806
  /**
14791
14807
  * The largest possible rectangle.
14792
14808
  */
@@ -16106,25 +16122,25 @@ export class ScreenSpaceEventHandler {
16106
16122
  * Set a function to be executed on an input event.
16107
16123
  * @param action - Function to be executed when the input event occurs.
16108
16124
  * @param type - The ScreenSpaceEventType of input event.
16109
- * @param [modifier] - A KeyboardEventModifier key that is held when a <code>type</code>
16125
+ * @param [modifiers] - The KeyboardEventModifier keys that are held when a <code>type</code>
16110
16126
  * event occurs.
16111
16127
  */
16112
- setInputAction(action: ScreenSpaceEventHandler.PositionedEventCallback | ScreenSpaceEventHandler.MotionEventCallback | ScreenSpaceEventHandler.WheelEventCallback | ScreenSpaceEventHandler.TwoPointEventCallback | ScreenSpaceEventHandler.TwoPointMotionEventCallback, type: ScreenSpaceEventType, modifier?: KeyboardEventModifier): void;
16128
+ setInputAction(action: ScreenSpaceEventHandler.PositionedEventCallback | ScreenSpaceEventHandler.MotionEventCallback | ScreenSpaceEventHandler.WheelEventCallback | ScreenSpaceEventHandler.TwoPointEventCallback | ScreenSpaceEventHandler.TwoPointMotionEventCallback, type: ScreenSpaceEventType, modifiers?: KeyboardEventModifier[] | KeyboardEventModifier): void;
16113
16129
  /**
16114
16130
  * Returns the function to be executed on an input event.
16115
16131
  * @param type - The ScreenSpaceEventType of input event.
16116
- * @param [modifier] - A KeyboardEventModifier key that is held when a <code>type</code>
16132
+ * @param [modifiers] - The KeyboardEventModifier keys that are held when a <code>type</code>
16117
16133
  * event occurs.
16118
16134
  * @returns The function to be executed on an input event.
16119
16135
  */
16120
- getInputAction(type: ScreenSpaceEventType, modifier?: KeyboardEventModifier): ScreenSpaceEventHandler.PositionedEventCallback | ScreenSpaceEventHandler.MotionEventCallback | ScreenSpaceEventHandler.WheelEventCallback | ScreenSpaceEventHandler.TwoPointEventCallback | ScreenSpaceEventHandler.TwoPointMotionEventCallback;
16136
+ getInputAction(type: ScreenSpaceEventType, modifiers?: KeyboardEventModifier[] | KeyboardEventModifier): ScreenSpaceEventHandler.PositionedEventCallback | ScreenSpaceEventHandler.MotionEventCallback | ScreenSpaceEventHandler.WheelEventCallback | ScreenSpaceEventHandler.TwoPointEventCallback | ScreenSpaceEventHandler.TwoPointMotionEventCallback;
16121
16137
  /**
16122
16138
  * Removes the function to be executed on an input event.
16123
16139
  * @param type - The ScreenSpaceEventType of input event.
16124
- * @param [modifier] - A KeyboardEventModifier key that is held when a <code>type</code>
16140
+ * @param [modifiers] - The KeyboardEventModifier keys that are held when a <code>type</code>
16125
16141
  * event occurs.
16126
16142
  */
16127
- removeInputAction(type: ScreenSpaceEventType, modifier?: KeyboardEventModifier): void;
16143
+ removeInputAction(type: ScreenSpaceEventType, modifiers?: KeyboardEventModifier[] | KeyboardEventModifier): void;
16128
16144
  /**
16129
16145
  * Returns true if this object was destroyed; otherwise, false.
16130
16146
  * <br /><br />
@@ -17054,8 +17070,7 @@ export namespace TileProviderError {
17054
17070
  * At level of detail two, each of the level one tiles has four children, two in each direction.
17055
17071
  * This continues for as many levels as are present in the geometry or imagery source.
17056
17072
  */
17057
- export class TilingScheme {
17058
- constructor();
17073
+ export interface TilingScheme {
17059
17074
  /**
17060
17075
  * Gets the ellipsoid that is tiled by the tiling scheme.
17061
17076
  */
@@ -17101,7 +17116,7 @@ export class TilingScheme {
17101
17116
  * @returns The specified 'result', or a new object containing the rectangle
17102
17117
  * if 'result' is undefined.
17103
17118
  */
17104
- tileXYToNativeRectangle(x: number, y: number, level: number, result?: any): Rectangle;
17119
+ tileXYToNativeRectangle(x: number, y: number, level: number, result?: Rectangle): Rectangle;
17105
17120
  /**
17106
17121
  * Converts tile x, y coordinates and level to a cartographic rectangle in radians.
17107
17122
  * @param x - The integer x coordinate of the tile.
@@ -17112,7 +17127,7 @@ export class TilingScheme {
17112
17127
  * @returns The specified 'result', or a new object containing the rectangle
17113
17128
  * if 'result' is undefined.
17114
17129
  */
17115
- tileXYToRectangle(x: number, y: number, level: number, result?: any): Rectangle;
17130
+ tileXYToRectangle(x: number, y: number, level: number, result?: Rectangle): Rectangle;
17116
17131
  /**
17117
17132
  * Calculates the tile x, y coordinates of the tile containing
17118
17133
  * a given cartographic position.
@@ -18455,13 +18470,16 @@ export class WallOutlineGeometry {
18455
18470
  static createGeometry(wallGeometry: WallOutlineGeometry): Geometry | undefined;
18456
18471
  }
18457
18472
 
18473
+ export interface WebMercatorProjection extends MapProjection {
18474
+ }
18475
+
18458
18476
  /**
18459
18477
  * The map projection used by Google Maps, Bing Maps, and most of ArcGIS Online, EPSG:3857. This
18460
18478
  * projection use longitude and latitude expressed with the WGS84 and transforms them to Mercator using
18461
18479
  * the spherical (rather than ellipsoidal) equations.
18462
18480
  * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid.
18463
18481
  */
18464
- export class WebMercatorProjection {
18482
+ export class WebMercatorProjection implements MapProjection {
18465
18483
  constructor(ellipsoid?: Ellipsoid);
18466
18484
  /**
18467
18485
  * Gets the {@link Ellipsoid}.
@@ -18481,19 +18499,6 @@ export class WebMercatorProjection {
18481
18499
  * @returns The Mercator angle.
18482
18500
  */
18483
18501
  static geodeticLatitudeToMercatorAngle(latitude: number): number;
18484
- /**
18485
- * The maximum latitude (both North and South) supported by a Web Mercator
18486
- * (EPSG:3857) projection. Technically, the Mercator projection is defined
18487
- * for any latitude up to (but not including) 90 degrees, but it makes sense
18488
- * to cut it off sooner because it grows exponentially with increasing latitude.
18489
- * The logic behind this particular cutoff value, which is the one used by
18490
- * Google Maps, Bing Maps, and Esri, is that it makes the projection
18491
- * square. That is, the rectangle is equal in the X and Y directions.
18492
- *
18493
- * The constant value is computed by calling:
18494
- * WebMercatorProjection.mercatorAngleToGeodeticLatitude(Math.PI)
18495
- */
18496
- static MaximumLatitude: number;
18497
18502
  /**
18498
18503
  * Converts geodetic ellipsoid coordinates, in radians, to the equivalent Web Mercator
18499
18504
  * X, Y, Z coordinates expressed in meters and returned in a {@link Cartesian3}. The height
@@ -18514,6 +18519,24 @@ export class WebMercatorProjection {
18514
18519
  * @returns The equivalent cartographic coordinates.
18515
18520
  */
18516
18521
  unproject(cartesian: Cartesian3, result?: Cartographic): Cartographic;
18522
+ /**
18523
+ * The maximum latitude (both North and South) supported by a Web Mercator
18524
+ * (EPSG:3857) projection. Technically, the Mercator projection is defined
18525
+ * for any latitude up to (but not including) 90 degrees, but it makes sense
18526
+ * to cut it off sooner because it grows exponentially with increasing latitude.
18527
+ * The logic behind this particular cutoff value, which is the one used by
18528
+ * Google Maps, Bing Maps, and Esri, is that it makes the projection
18529
+ * square. That is, the rectangle is equal in the X and Y directions.
18530
+ *
18531
+ * The constant value is computed by calling:
18532
+ * WebMercatorProjection.mercatorAngleToGeodeticLatitude(Math.PI)
18533
+ */
18534
+ static MaximumLatitude: number;
18535
+ }
18536
+
18537
+ export const southwestScratch: any;
18538
+
18539
+ export interface WebMercatorTilingScheme extends TilingScheme {
18517
18540
  }
18518
18541
 
18519
18542
  /**
@@ -18535,7 +18558,7 @@ export class WebMercatorProjection {
18535
18558
  * globe is covered in the longitude direction and an equal distance is covered in the latitude
18536
18559
  * direction, resulting in a square projection.
18537
18560
  */
18538
- export class WebMercatorTilingScheme {
18561
+ export class WebMercatorTilingScheme implements TilingScheme {
18539
18562
  constructor(options?: {
18540
18563
  ellipsoid?: Ellipsoid;
18541
18564
  numberOfLevelZeroTilesX?: number;
@@ -18588,7 +18611,7 @@ export class WebMercatorTilingScheme {
18588
18611
  * @returns The specified 'result', or a new object containing the rectangle
18589
18612
  * if 'result' is undefined.
18590
18613
  */
18591
- tileXYToNativeRectangle(x: number, y: number, level: number, result?: any): Rectangle;
18614
+ tileXYToNativeRectangle(x: number, y: number, level: number, result?: Rectangle): Rectangle;
18592
18615
  /**
18593
18616
  * Converts tile x, y coordinates and level to a cartographic rectangle in radians.
18594
18617
  * @param x - The integer x coordinate of the tile.
@@ -18599,7 +18622,7 @@ export class WebMercatorTilingScheme {
18599
18622
  * @returns The specified 'result', or a new object containing the rectangle
18600
18623
  * if 'result' is undefined.
18601
18624
  */
18602
- tileXYToRectangle(x: number, y: number, level: number, result?: any): Rectangle;
18625
+ tileXYToRectangle(x: number, y: number, level: number, result?: Rectangle): Rectangle;
18603
18626
  /**
18604
18627
  * Calculates the tile x, y coordinates of the tile containing
18605
18628
  * a given cartographic position.
@@ -18917,6 +18940,31 @@ export type TypedArrayConstructor = Float64ArrayConstructor | Float32ArrayConstr
18917
18940
 
18918
18941
  export type Destroyable = any;
18919
18942
 
18943
+ /**
18944
+ * A GeoJSON position expressed as [longitude, latitude] or [longitude, latitude, altitude].
18945
+ */
18946
+ export type GeoJsonPosition = number[];
18947
+
18948
+ /**
18949
+ * A GeoJSON geometry object.
18950
+ */
18951
+ export type GeoJsonGeometry = any;
18952
+
18953
+ /**
18954
+ * A GeoJSON feature object.
18955
+ */
18956
+ export type GeoJsonFeature = any;
18957
+
18958
+ /**
18959
+ * A GeoJSON feature collection object.
18960
+ */
18961
+ export type GeoJsonFeatureCollection = any;
18962
+
18963
+ /**
18964
+ * A top-level GeoJSON object (Geometry, Feature, or FeatureCollection).
18965
+ */
18966
+ export type GeoJson = GeoJsonGeometry | GeoJsonFeature | GeoJsonFeatureCollection;
18967
+
18920
18968
  /**
18921
18969
  * Determines if a given date is a leap year.
18922
18970
  * @example
@@ -27653,11 +27701,14 @@ export class BufferPoint extends BufferPrimitive {
27653
27701
  }
27654
27702
 
27655
27703
  /**
27656
- * @property [options.modelMatrix = Matrix4.IDENTITY] - Transforms geometry from model to world coordinates.
27704
+ * @property [modelMatrix = Matrix4.IDENTITY] - Transforms geometry from model to world coordinates.
27657
27705
  */
27658
27706
  export type BufferPointOptions = {
27707
+ modelMatrix?: Matrix4;
27659
27708
  show?: boolean;
27660
27709
  material?: BufferPointMaterial;
27710
+ featureId?: number;
27711
+ pickObject?: any;
27661
27712
  position?: Cartesian3;
27662
27713
  };
27663
27714
 
@@ -27685,12 +27736,24 @@ export type BufferPointOptions = {
27685
27736
  * collection.get(i, point);
27686
27737
  * point.setMaterial(material);
27687
27738
  * }
27739
+ * @param [options.modelMatrix = Matrix4.IDENTITY] - Transforms geometry from model to world coordinates.
27740
+ * @param [options.allowPicking = false] - When <code>true</code>, primitives are pickable with {@link Scene#pick}. When <code>false</code>, memory and initialization cost are lower.
27741
+ * @param [options.boundingVolume] - Bounding volume, in world space, for the collection. When
27742
+ * unspecified, a bounding volume is computed automatically and updated when primitive positions change. When
27743
+ * specified, users are responsible for updating bounding volume as needed. Pre-computing the bounding volume
27744
+ * manually, and updating it only as needed, will improve performance for larger dynamic collections.
27688
27745
  */
27689
27746
  export class BufferPointCollection extends BufferPrimitiveCollection<BufferPoint> {
27690
27747
  constructor(options: {
27748
+ modelMatrix?: Matrix4;
27691
27749
  primitiveCountMax?: number;
27750
+ positionDatatype?: ComponentDatatype;
27751
+ positionNormalized?: boolean;
27692
27752
  show?: boolean;
27753
+ allowPicking?: boolean;
27754
+ boundingVolume?: BoundingSphere;
27693
27755
  debugShowBoundingVolume?: boolean;
27756
+ blendOption?: BlendOption;
27694
27757
  });
27695
27758
  /**
27696
27759
  * Adds a new point to the collection, with the specified options. A
@@ -27870,11 +27933,14 @@ export class BufferPolygon extends BufferPrimitive {
27870
27933
  }
27871
27934
 
27872
27935
  /**
27873
- * @property [options.modelMatrix = Matrix4.IDENTITY] - Transforms geometry from model to world coordinates.
27936
+ * @property [modelMatrix = Matrix4.IDENTITY] - Transforms geometry from model to world coordinates.
27874
27937
  */
27875
27938
  export type BufferPolygonOptions = {
27939
+ modelMatrix?: Matrix4;
27876
27940
  show?: boolean;
27877
27941
  material?: BufferPolygonMaterial;
27942
+ featureId?: number;
27943
+ pickObject?: any;
27878
27944
  positions?: TypedArray;
27879
27945
  holes?: TypedArray;
27880
27946
  triangles?: TypedArray;
@@ -27916,6 +27982,10 @@ export type BufferPolygonOptions = {
27916
27982
  * polygon.setMaterial(material);
27917
27983
  * }
27918
27984
  * @param [options.allowPicking = true] - When <code>true</code>, primitives are pickable with {@link Scene#pick}. When <code>false</code>, memory and initialization cost are lower.
27985
+ * @param [options.boundingVolume] - Bounding volume, in world space, for the collection. When
27986
+ * unspecified, a bounding volume is computed automatically and updated when primitive positions change. When
27987
+ * specified, users are responsible for updating bounding volume as needed. Pre-computing the bounding volume
27988
+ * manually, and updating it only as needed, will improve performance for larger dynamic collections.
27919
27989
  */
27920
27990
  export class BufferPolygonCollection extends BufferPrimitiveCollection<BufferPolygon> {
27921
27991
  constructor(options: {
@@ -27924,9 +27994,12 @@ export class BufferPolygonCollection extends BufferPrimitiveCollection<BufferPol
27924
27994
  holeCountMax?: number;
27925
27995
  triangleCountMax?: number;
27926
27996
  positionDatatype?: ComponentDatatype;
27997
+ positionNormalized?: boolean;
27927
27998
  show?: boolean;
27928
27999
  allowPicking?: boolean;
28000
+ boundingVolume?: BoundingSphere;
27929
28001
  debugShowBoundingVolume?: boolean;
28002
+ blendOption?: BlendOption;
27930
28003
  });
27931
28004
  /**
27932
28005
  * Duplicates the contents of this collection into the result collection.
@@ -28054,11 +28127,14 @@ export class BufferPolyline extends BufferPrimitive {
28054
28127
  }
28055
28128
 
28056
28129
  /**
28057
- * @property [options.modelMatrix = Matrix4.IDENTITY] - Transforms geometry from model to world coordinates.
28130
+ * @property [modelMatrix = Matrix4.IDENTITY] - Transforms geometry from model to world coordinates.
28058
28131
  */
28059
28132
  export type BufferPolylineOptions = {
28133
+ modelMatrix?: Matrix4;
28060
28134
  show?: boolean;
28061
28135
  material?: BufferPolylineMaterial;
28136
+ featureId?: number;
28137
+ pickObject?: any;
28062
28138
  positions?: TypedArray;
28063
28139
  };
28064
28140
 
@@ -28184,9 +28260,15 @@ export class BufferPrimitive {
28184
28260
  toJSON(): any;
28185
28261
  }
28186
28262
 
28263
+ /**
28264
+ * @property [modelMatrix = Matrix4.IDENTITY] - Transforms geometry from model to world coordinates.
28265
+ */
28187
28266
  export type BufferPrimitiveOptions = {
28267
+ modelMatrix?: Matrix4;
28188
28268
  show?: boolean;
28189
28269
  material?: BufferPrimitiveMaterial;
28270
+ featureId?: number;
28271
+ pickObject?: any;
28190
28272
  };
28191
28273
 
28192
28274
  /**
@@ -28197,7 +28279,14 @@ export type BufferPrimitiveOptions = {
28197
28279
  * {@link Color}, {@link Cartesian3}, and other objects can all be reused when working with large collections,
28198
28280
  * using the {@link https://en.wikipedia.org/wiki/Flyweight_pattern|flyweight pattern}.</p>
28199
28281
  * @param [options.modelMatrix = Matrix4.IDENTITY] - Transforms geometry from model to world coordinates.
28282
+ * @param [options.positionNormalized = false] - When <code>true</code>, integer position values are treated as normalized,
28283
+ * where the full integer range maps to [-1, 1] (signed) or [0, 1] (unsigned). Only relevant for integer position datatypes
28284
+ * (BYTE, UNSIGNED_BYTE, SHORT, UNSIGNED_SHORT).
28200
28285
  * @param [options.allowPicking = false] - When <code>true</code>, primitives are pickable with {@link Scene#pick}. When <code>false</code>, memory and initialization cost are lower.
28286
+ * @param [options.boundingVolume] - Bounding volume, in world space, for the collection. When
28287
+ * unspecified, a bounding volume is computed automatically and updated when primitive positions change. When
28288
+ * specified, users are responsible for updating bounding volume as needed. Pre-computing the bounding volume
28289
+ * manually, and updating it only as needed, will improve performance for larger dynamic collections.
28201
28290
  */
28202
28291
  export class BufferPrimitiveCollection<T extends BufferPrimitive> {
28203
28292
  constructor(options: {
@@ -28206,17 +28295,12 @@ export class BufferPrimitiveCollection<T extends BufferPrimitive> {
28206
28295
  vertexCountMax?: number;
28207
28296
  show?: boolean;
28208
28297
  positionDatatype?: ComponentDatatype;
28298
+ positionNormalized?: boolean;
28209
28299
  allowPicking?: boolean;
28300
+ boundingVolume?: BoundingSphere;
28210
28301
  debugShowBoundingVolume?: boolean;
28302
+ blendOption?: BlendOption;
28211
28303
  });
28212
- /**
28213
- * Default capacity of buffers on new collections. A quantity of elements:
28214
- * number of vertices in the vertex buffer, primitives in the primitive
28215
- * buffer, etc. This value is arbitrary, and collections cannot be resized,
28216
- * so specific per-buffer capacities should be provided in the collection
28217
- * constructor when available.
28218
- */
28219
- readonly DEFAULT_CAPACITY: number;
28220
28304
  /**
28221
28305
  * Determines if primitives in this collection will be shown.
28222
28306
  */
@@ -28224,17 +28308,9 @@ export class BufferPrimitiveCollection<T extends BufferPrimitive> {
28224
28308
  /**
28225
28309
  * Transforms geometry from model to world coordinates.
28226
28310
  */
28227
- modelMatrix: Matrix4;
28228
- /**
28229
- * Local bounding volume for all primitives in the collection, including both
28230
- * shown and hidden primitives.
28231
- */
28232
- boundingVolume: BoundingSphere;
28233
- /**
28234
- * World bounding volume for all primitives in the collection, including both
28235
- * shown and hidden primitives.
28236
- */
28237
- boundingVolumeWC: BoundingSphere;
28311
+ protected readonly _modelMatrix: Matrix4;
28312
+ protected readonly _boundingVolume: BoundingSphere;
28313
+ protected readonly _boundingVolumeAutoUpdate: boolean;
28238
28314
  /**
28239
28315
  * This property is for debugging only; it is not for production use nor is it optimized.
28240
28316
  * <p>
@@ -28324,6 +28400,25 @@ export class BufferPrimitiveCollection<T extends BufferPrimitive> {
28324
28400
  * {@link vertexCount}.
28325
28401
  */
28326
28402
  readonly vertexCountMax: number;
28403
+ /**
28404
+ * Transforms geometry from model to world coordinates.
28405
+ */
28406
+ readonly modelMatrix: Matrix4;
28407
+ /**
28408
+ * World-space bounding volume for all primitives in the collection, including both
28409
+ * shown and hidden primitives.
28410
+ */
28411
+ readonly boundingVolume: BoundingSphere;
28412
+ /**
28413
+ * The component datatype used to store position values.
28414
+ */
28415
+ readonly positionDatatype: ComponentDatatype;
28416
+ /**
28417
+ * When <code>true</code>, integer position values are treated as normalized
28418
+ * values, where the full integer range maps to [-1, 1] (signed) or [0, 1]
28419
+ * (unsigned).
28420
+ */
28421
+ readonly positionNormalized: boolean;
28327
28422
  /**
28328
28423
  * Returns a JSON-serializable array representing the collection. This encoding
28329
28424
  * is not memory-efficient, and should generally be used for debugging and
@@ -28334,6 +28429,14 @@ export class BufferPrimitiveCollection<T extends BufferPrimitive> {
28334
28429
  * primitive in the collection.
28335
28430
  */
28336
28431
  toJSON(): object[];
28432
+ /**
28433
+ * Default capacity of buffers on new collections. A quantity of elements:
28434
+ * number of vertices in the vertex buffer, primitives in the primitive
28435
+ * buffer, etc. This value is arbitrary, and collections cannot be resized,
28436
+ * so specific per-buffer capacities should be provided in the collection
28437
+ * constructor when available.
28438
+ */
28439
+ static readonly DEFAULT_CAPACITY: number;
28337
28440
  }
28338
28441
 
28339
28442
  /**
@@ -29279,8 +29382,7 @@ export enum Cesium3DTileColorBlendMode {
29279
29382
  * This type describes an interface and is not intended to be instantiated directly.
29280
29383
  * </p>
29281
29384
  */
29282
- export class Cesium3DTileContent {
29283
- constructor();
29385
+ export interface Cesium3DTileContent {
29284
29386
  /**
29285
29387
  * Gets the number of features in the tile.
29286
29388
  */
@@ -29383,7 +29485,7 @@ export class Cesium3DTileContent {
29383
29485
  * }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
29384
29486
  */
29385
29487
  export class Cesium3DTileFeature {
29386
- constructor();
29488
+ constructor(content: Cesium3DTileContent, batchId: number);
29387
29489
  /**
29388
29490
  * Gets or sets if the feature will be shown. This is set for all features
29389
29491
  * when a style's show is evaluated.
@@ -29531,7 +29633,7 @@ export class Cesium3DTileFeature {
29531
29633
  * }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
29532
29634
  */
29533
29635
  export class Cesium3DTilePointFeature {
29534
- constructor();
29636
+ constructor(content: Cesium3DTileContent, batchId: number, billboard: Billboard, label: Label, polyline: Polyline);
29535
29637
  /**
29536
29638
  * Gets or sets if the feature will be shown. This is set for all features
29537
29639
  * when a style's show is evaluated.
@@ -30423,6 +30525,8 @@ export class Cesium3DTileStyle {
30423
30525
  meta: StyleExpression;
30424
30526
  }
30425
30527
 
30528
+ export const point: any;
30529
+
30426
30530
  export namespace Cesium3DTilesVoxelProvider {
30427
30531
  /**
30428
30532
  * Initialization options for the Cesium3DTilesVoxelProvider constructor
@@ -30639,6 +30743,7 @@ export namespace Cesium3DTileset {
30639
30743
  * @property [debugColorizeTiles = false] - For debugging only. When true, assigns a random color to each tile.
30640
30744
  * @property [enableDebugWireframe = false] - For debugging only. This must be true for debugWireframe to work in WebGL1. This cannot be set after the tileset has been created.
30641
30745
  * @property [debugWireframe = false] - For debugging only. When true, render's each tile's content as a wireframe.
30746
+ * @property [edgeDisplayMode = EdgeDisplayMode.SURFACES_ONLY] - Controls how edges from the {@link https://github.com/KhronosGroup/glTF/pull/2479|EXT_mesh_primitive_edge_visibility} glTF extension are rendered relative to surface geometry.
30642
30747
  * @property [debugShowBoundingVolume = false] - For debugging only. When true, renders the bounding volume for each tile.
30643
30748
  * @property [debugShowContentBoundingVolume = false] - For debugging only. When true, renders the bounding volume for each tile's content.
30644
30749
  * @property [debugShowViewerRequestVolume = false] - For debugging only. When true, renders the viewer request volume for each tile.
@@ -30707,6 +30812,7 @@ export namespace Cesium3DTileset {
30707
30812
  debugColorizeTiles?: boolean;
30708
30813
  enableDebugWireframe?: boolean;
30709
30814
  debugWireframe?: boolean;
30815
+ edgeDisplayMode?: EdgeDisplayMode;
30710
30816
  debugShowBoundingVolume?: boolean;
30711
30817
  debugShowContentBoundingVolume?: boolean;
30712
30818
  debugShowViewerRequestVolume?: boolean;
@@ -31131,6 +31237,13 @@ export class Cesium3DTileset {
31131
31237
  * </p>
31132
31238
  */
31133
31239
  debugWireframe: boolean;
31240
+ /**
31241
+ * Controls how edges from the
31242
+ * {@link https://github.com/KhronosGroup/glTF/pull/2479|EXT_mesh_primitive_edge_visibility}
31243
+ * glTF extension are rendered relative to surface geometry. Tile content
31244
+ * primitives that do not declare the extension are unaffected.
31245
+ */
31246
+ edgeDisplayMode: EdgeDisplayMode;
31134
31247
  /**
31135
31248
  * This property is for debugging only; it is not optimized for production use.
31136
31249
  * <p>
@@ -31415,6 +31528,10 @@ export class Cesium3DTileset {
31415
31528
  * </p>
31416
31529
  */
31417
31530
  readonly heightReference: HeightReference | undefined;
31531
+ /**
31532
+ * The {@link CesiumWidget#scene} that the tileset will be rendered in, required for tilesets that specify a {@link heightReference} value for clamping 3D Tiles vector data content- like points, lines, and labels- to terrain or 3D tiles.
31533
+ */
31534
+ readonly scene: Scene | undefined;
31418
31535
  /**
31419
31536
  * Gets an ellipsoid describing the shape of the globe.
31420
31537
  */
@@ -31603,11 +31720,6 @@ export class Cesium3DTileset {
31603
31720
  getHeight(cartographic: Cartographic, scene: Scene): number | undefined;
31604
31721
  }
31605
31722
 
31606
- /**
31607
- * The {@link CesiumWidget#scene} that the tileset will be rendered in, required for tilesets that specify a {@link heightReference} value for clamping 3D Tiles vector data content- like points, lines, and labels- to terrain or 3D tiles.
31608
- */
31609
- export const of = "undefined";
31610
-
31611
31723
  /**
31612
31724
  * A ParticleEmitter that emits particles from a circle.
31613
31725
  * Particles will be positioned within a circle and have initial velocities going along the z vector.
@@ -33361,6 +33473,35 @@ export class DynamicEnvironmentMapManager {
33361
33473
  static readonly DEFAULT_SPHERICAL_HARMONIC_COEFFICIENTS: Cartesian3[];
33362
33474
  }
33363
33475
 
33476
+ /**
33477
+ * Defines how edges contributed by the
33478
+ * {@link https://github.com/KhronosGroup/glTF/pull/2479|EXT_mesh_primitive_edge_visibility}
33479
+ * glTF extension are rendered relative to surface geometry.
33480
+ * <p>
33481
+ * Primitives that do not include the extension are unaffected by this setting
33482
+ * and always render normally.
33483
+ * </p>
33484
+ */
33485
+ export enum EdgeDisplayMode {
33486
+ /**
33487
+ * Render surfaces only. Edges from the
33488
+ * {@link https://github.com/KhronosGroup/glTF/pull/2479|EXT_mesh_primitive_edge_visibility}
33489
+ * extension are hidden.
33490
+ */
33491
+ SURFACES_ONLY = 0,
33492
+ /**
33493
+ * Render both surfaces and edges. Edges from the
33494
+ * {@link https://github.com/KhronosGroup/glTF/pull/2479|EXT_mesh_primitive_edge_visibility}
33495
+ * extension are composited on top of the surface geometry.
33496
+ */
33497
+ SURFACES_AND_EDGES = 1,
33498
+ /**
33499
+ * Render edges only. Surface geometry is hidden for primitives that have edge visibility data,
33500
+ * approximating CAD-style wireframe rendering. Primitives without the extension are unaffected.
33501
+ */
33502
+ EDGES_ONLY = 2
33503
+ }
33504
+
33364
33505
  /**
33365
33506
  * An appearance for geometry on the surface of the ellipsoid like {@link PolygonGeometry}
33366
33507
  * and {@link RectangleGeometry}, which supports all materials like {@link MaterialAppearance}
@@ -33818,14 +33959,16 @@ export class FrameRateMonitor {
33818
33959
  destroy(): void;
33819
33960
  }
33820
33961
 
33962
+ export interface GaussianSplat3DTileContent extends Cesium3DTileContent {
33963
+ }
33964
+
33821
33965
  /**
33822
33966
  * Represents the contents of a glTF or glb using the {@link https://github.com/CesiumGS/glTF/tree/draft-splat-spz/extensions/2.0/Khronos/KHR_gaussian_splatting | KHR_gaussian_splatting} and {@link https://github.com/CesiumGS/glTF/tree/draft-splat-spz/extensions/2.0/Khronos/KHR_gaussian_splatting_compression_spz_2 | KHR_gaussian_splatting_compression_spz_2} extensions.
33823
33967
  * <p>
33824
33968
  * Implements the {@link Cesium3DTileContent} interface.
33825
33969
  * </p>
33826
33970
  */
33827
- export class GaussianSplat3DTileContent {
33828
- constructor();
33971
+ export class GaussianSplat3DTileContent implements Cesium3DTileContent {
33829
33972
  /**
33830
33973
  * Performs checks to ensure that the provided tileset has the Gaussian Splatting extensions.
33831
33974
  * @param tileset - The tileset to check for the extensions.
@@ -33890,7 +34033,7 @@ export class GaussianSplat3DTileContent {
33890
34033
  * The resource that this content was loaded from.
33891
34034
  * <p>
33892
34035
  */
33893
- readonly url: Resource;
34036
+ readonly url: string;
33894
34037
  /**
33895
34038
  * Returns whether the feature has this property.
33896
34039
  * @param batchId - The batchId for the feature.
@@ -33911,6 +34054,75 @@ export class GaussianSplat3DTileContent {
33911
34054
  getFeature(batchId: number): Cesium3DTileFeature;
33912
34055
  }
33913
34056
 
34057
+ export type GeoJsonPrimitiveConstructorOptions = {
34058
+ geoJson?: any;
34059
+ url?: Resource | string;
34060
+ ellipsoid?: Ellipsoid;
34061
+ allowPicking?: boolean;
34062
+ show?: boolean;
34063
+ pickObjectFactory?: (...params: any[]) => any;
34064
+ };
34065
+
34066
+ /**
34067
+ * Lightweight GeoJSON loader that converts features directly into
34068
+ * {@link BufferPointCollection}, {@link BufferPolylineCollection}, and
34069
+ * {@link BufferPolygonCollection}.
34070
+ *
34071
+ * Unlike {@link GeoJsonDataSource}, this path does not create entities.
34072
+ * Instead, it exposes high-throughput buffer primitive collections that can be
34073
+ * added directly to {@link Scene#primitives}.
34074
+ * @example
34075
+ * const loader = await Cesium.GeoJsonPrimitive.fromUrl("./data.geojson");
34076
+ * viewer.scene.primitives.add(loader);
34077
+ *
34078
+ * loader.points; // BufferPointCollection | undefined
34079
+ * loader.polylines; // BufferPolylineCollection | undefined
34080
+ * loader.polygons; // BufferPolygonCollection | undefined
34081
+ * loader.ids; // source feature IDs
34082
+ * loader.properties; // source feature properties
34083
+ */
34084
+ export class GeoJsonPrimitive {
34085
+ constructor(options?: GeoJsonPrimitiveConstructorOptions);
34086
+ /**
34087
+ * Loader source URL when created via {@link GeoJsonPrimitive.fromUrl}.
34088
+ */
34089
+ readonly url: string | undefined;
34090
+ /**
34091
+ * Feature count represented by the loaded collections.
34092
+ */
34093
+ readonly featureCount: number;
34094
+ /**
34095
+ * Lookup table from integer ID generated by GeoJsonPrimitive, to integer or string Feature ID from GeoJSON source.
34096
+ */
34097
+ readonly ids: (string | number | undefined)[];
34098
+ /**
34099
+ * Source GeoJSON properties, indexed by generated integer ID.
34100
+ */
34101
+ readonly properties: Record<string, unknown>[];
34102
+ /**
34103
+ * Buffer point collection for point geometries.
34104
+ */
34105
+ readonly points: BufferPointCollection | undefined;
34106
+ /**
34107
+ * Buffer polyline collection for linestring geometries.
34108
+ */
34109
+ readonly polylines: BufferPolylineCollection | undefined;
34110
+ /**
34111
+ * Buffer polygon collection for polygon geometries.
34112
+ */
34113
+ readonly polygons: BufferPolygonCollection | undefined;
34114
+ /**
34115
+ * Loads GeoJSON from a URL or {@link Resource}.
34116
+ */
34117
+ static fromUrl(url: Resource | string, options?: GeoJsonPrimitiveConstructorOptions): Promise<GeoJsonPrimitive>;
34118
+ /**
34119
+ * Creates a loader directly from a parsed GeoJSON object.
34120
+ */
34121
+ static fromGeoJson(geoJson: any, options?: GeoJsonPrimitiveConstructorOptions): GeoJsonPrimitive;
34122
+ getId(featureId: number): void;
34123
+ getProperties(featureId: number): void;
34124
+ }
34125
+
33914
34126
  /**
33915
34127
  * Describes the format in which to request GetFeatureInfo from a Web Map Service (WMS) or Web Map Tile Service (WMTS) server.
33916
34128
  * @param type - The type of response to expect from a GetFeatureInfo request. Valid
@@ -34316,6 +34528,15 @@ export class GlobeTranslucency {
34316
34528
  */
34317
34529
  export function loadGltfJson(): void;
34318
34530
 
34531
+ export type EXTMeshPolygonExtension = {
34532
+ count: number;
34533
+ indicesOffsets: number;
34534
+ loopIndices?: number;
34535
+ loopIndicesOffsets?: number;
34536
+ triangleIndices?: number;
34537
+ triangleIndicesOffsets?: number;
34538
+ };
34539
+
34319
34540
  /**
34320
34541
  * Removes an extension from gltf.extensions, gltf.extensionsUsed, gltf.extensionsRequired, and any other objects in the glTF if it is present.
34321
34542
  * @param gltf - A javascript object containing a glTF asset.
@@ -36787,7 +37008,7 @@ export class ImageryLayerFeatureInfo {
36787
37008
  *
36788
37009
  * See the documentation for each ImageryProvider class for more information about how they return images.
36789
37010
  */
36790
- export type ImageryTypes = HTMLImageElement | HTMLCanvasElement | ImageBitmap;
37011
+ export type ImageryTypes = HTMLImageElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas;
36791
37012
 
36792
37013
  /**
36793
37014
  * Provides imagery to be displayed on the surface of an ellipsoid. This type describes an
@@ -37611,6 +37832,32 @@ export class Light {
37611
37832
  intensity: number;
37612
37833
  }
37613
37834
 
37835
+ /**
37836
+ * A Mapbox Vector Tiles (MVT) data provider. Loads .mvt or .pbf tiles, converting tiles
37837
+ * dynamically (at runtime) into 3D Tiles.
37838
+ *
37839
+ * <div class="notice">
37840
+ * This object is normally not instantiated directly, use {@link MVTDataProvider.fromUrl}.
37841
+ * </div>
37842
+ */
37843
+ export class MVTDataProvider {
37844
+ /**
37845
+ * Creates an MVTDataProvider from the specified URL template and options.
37846
+ * @param url - URL template, containing {z}, {x}, and {y} placeholders.
37847
+ * @param [options] - Provider options.
37848
+ * @param [options.minZoom = 0] - Minimum zoom level represented in the generated tileset.
37849
+ * @param [options.maxZoom = 14] - Maximum zoom level represented in the generated tileset.
37850
+ * @param [options.extent] - Optional geographic extent in radians to constrain the generated tile tree.
37851
+ * @param [options.featureIdProperty] - MVT property name to use as feature ID.
37852
+ */
37853
+ static fromUrl(url: Resource | string, options?: {
37854
+ minZoom?: number;
37855
+ maxZoom?: number;
37856
+ extent?: Rectangle;
37857
+ featureIdProperty?: string;
37858
+ }): void;
37859
+ }
37860
+
37614
37861
  /**
37615
37862
  * Describes how the map will operate in 2D.
37616
37863
  */
@@ -39481,6 +39728,11 @@ export enum LightingModel {
39481
39728
  * {@link https://github.com/KhronosGroup/glTF/pull/2514|EXT_mesh_primitive_restart}
39482
39729
  * </li>
39483
39730
  * <li>
39731
+ * {@link https://github.com/KhronosGroup/glTF/pull/2479|EXT_mesh_primitive_edge_visibility}
39732
+ * (edges are hidden by default; set {@link EdgeDisplayMode} via
39733
+ * {@link Model#edgeDisplayMode} or {@link Cesium3DTileset#edgeDisplayMode} to display them)
39734
+ * </li>
39735
+ * <li>
39484
39736
  * {@link https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Vendor/EXT_meshopt_compression|EXT_meshopt_compression}
39485
39737
  * </li>
39486
39738
  * <li>
@@ -39653,6 +39905,13 @@ export class Model {
39653
39905
  * </p>
39654
39906
  */
39655
39907
  debugWireframe: boolean;
39908
+ /**
39909
+ * Controls how edges from the
39910
+ * {@link https://github.com/KhronosGroup/glTF/pull/2479|EXT_mesh_primitive_edge_visibility}
39911
+ * glTF extension are rendered relative to surface geometry. Primitives that
39912
+ * do not declare the extension are unaffected by this setting.
39913
+ */
39914
+ edgeDisplayMode: EdgeDisplayMode;
39656
39915
  /**
39657
39916
  * Whether or not to render the model.
39658
39917
  */
@@ -39952,6 +40211,7 @@ export class Model {
39952
40211
  * @param [options.color] - A color that blends with the model's rendered color.
39953
40212
  * @param [options.colorBlendMode = ColorBlendMode.HIGHLIGHT] - Defines how the color blends with the model.
39954
40213
  * @param [options.colorBlendAmount = 0.5] - Value used to determine the color strength when the <code>colorBlendMode</code> is <code>MIX</code>. A value of 0.0 results in the model's rendered color while a value of 1.0 results in a solid color, with any value in-between resulting in a mix of the two.
40214
+ * @param [options.edgeDisplayMode = EdgeDisplayMode.SURFACES_ONLY] - Controls how edges from the {@link https://github.com/KhronosGroup/glTF/pull/2479|EXT_mesh_primitive_edge_visibility} extension are rendered relative to surface geometry.
39955
40215
  * @param [options.silhouetteColor = Color.RED] - The silhouette color. If more than 256 models have silhouettes enabled, there is a small chance that overlapping models will have minor artifacts.
39956
40216
  * @param [options.silhouetteSize = 0.0] - The size of the silhouette in pixels.
39957
40217
  * @param [options.enableShowOutline = true] - Whether to enable outlines for models using the {@link https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/CESIUM_primitive_outline|CESIUM_primitive_outline} extension. This can be set false to avoid post-processing geometry at load time. When false, the showOutlines and outlineColor options are ignored.
@@ -40006,6 +40266,7 @@ export class Model {
40006
40266
  color?: Color;
40007
40267
  colorBlendMode?: ColorBlendMode;
40008
40268
  colorBlendAmount?: number;
40269
+ edgeDisplayMode?: EdgeDisplayMode;
40009
40270
  silhouetteColor?: Color;
40010
40271
  silhouetteSize?: number;
40011
40272
  enableShowOutline?: boolean;
@@ -43173,12 +43434,6 @@ export class PrimitiveCollection {
43173
43434
  destroy(): void;
43174
43435
  }
43175
43436
 
43176
- /**
43177
- * A simple Least Recently Used (LRU) cache implementation.
43178
- */
43179
- export class LRUCache {
43180
- }
43181
-
43182
43437
  /**
43183
43438
  * Creates a spatial hash key for the given longitude, latitude, and tile level.
43184
43439
  * The precision is adjusted based on the tile level and extent to achieve finer precision at higher levels.
@@ -44557,6 +44812,10 @@ export class SkyBox {
44557
44812
  * Gets or sets the the primitive object.
44558
44813
  */
44559
44814
  sources: any;
44815
+ /**
44816
+ * Determines if the sky box will be shown.
44817
+ */
44818
+ show: boolean;
44560
44819
  /**
44561
44820
  * Called when {@link Viewer} or {@link CesiumWidget} render the scene to
44562
44821
  * get the draw commands needed to render this primitive.
@@ -44594,11 +44853,6 @@ export class SkyBox {
44594
44853
  static createEarthSkyBox(): SkyBox;
44595
44854
  }
44596
44855
 
44597
- /**
44598
- * Determines if the sky box will be shown.
44599
- */
44600
- export var show: boolean;
44601
-
44602
44856
  /**
44603
44857
  * A ParticleEmitter that emits particles within a sphere.
44604
44858
  * Particles will be positioned randomly within the sphere and have initial velocities emanating from the center of the sphere.
@@ -45847,6 +46101,12 @@ export class VoxelCell {
45847
46101
  */
45848
46102
  export class VoxelContent {
45849
46103
  constructor();
46104
+ /**
46105
+ * The metadata for this voxel content.
46106
+ * The metadata is an array of typed arrays, one for each field.
46107
+ * The data for one field is a flattened 3D array ordered by X, then Y, then Z.
46108
+ */
46109
+ readonly metadata: Int8Array[] | Uint8Array[] | Int16Array[] | Uint16Array[] | Int32Array[] | Uint32Array[] | Float32Array[] | Float64Array[];
45850
46110
  /**
45851
46111
  * Constructs a VoxelContent from an array of metadata.
45852
46112
  * @param metadata - The metadata to use for this voxel content.
@@ -45855,13 +46115,6 @@ export class VoxelContent {
45855
46115
  static fromMetadataArray(metadata: Int8Array[] | Uint8Array[] | Int16Array[] | Uint16Array[] | Int32Array[] | Uint32Array[] | Float32Array[] | Float64Array[]): VoxelContent;
45856
46116
  }
45857
46117
 
45858
- /**
45859
- * The metadata for this voxel content.
45860
- * The metadata is an array of typed arrays, one for each field.
45861
- * The data for one field is a flattened 3D array ordered by X, then Y, then Z.
45862
- */
45863
- export const metadata: Int8Array[] | Uint8Array[] | Int16Array[] | Uint16Array[] | Int32Array[] | Uint32Array[] | Float32Array[] | Float64Array[];
45864
-
45865
46118
  /**
45866
46119
  * A primitive that renders voxel data from a {@link VoxelProvider}.
45867
46120
  * @param [options] - Object with the following properties:
@@ -46072,7 +46325,8 @@ export class VoxelPrimitive {
46072
46325
  */
46073
46326
  clippingPlanes: ClippingPlaneCollection;
46074
46327
  /**
46075
- * Gets or sets the custom shader. If undefined, {@link VoxelPrimitive.DefaultCustomShader} is set.
46328
+ * Gets or sets the custom shader. If undefined, attempt to build a default custom shader
46329
+ * appropriate to the metadata type. If that fails, use {@link VoxelPrimitive.DefaultCustomShader}.
46076
46330
  */
46077
46331
  customShader: CustomShader;
46078
46332
  /**
@@ -46105,7 +46359,21 @@ export class VoxelPrimitive {
46105
46359
  * This type describes an interface and is not intended to be instantiated directly.
46106
46360
  */
46107
46361
  export class VoxelProvider {
46108
- constructor();
46362
+ /**
46363
+ * Requests the data for a given tile.
46364
+ * @param [options] - Object with the following properties:
46365
+ * @param [options.tileLevel = 0] - The tile's level.
46366
+ * @param [options.tileX = 0] - The tile's X coordinate.
46367
+ * @param [options.tileY = 0] - The tile's Y coordinate.
46368
+ * @param [options.tileZ = 0] - The tile's Z coordinate.
46369
+ * @returns A promise resolving to a VoxelContent containing the data for the tile, or undefined if the request could not be scheduled this frame.
46370
+ */
46371
+ requestData(options?: {
46372
+ tileLevel?: number;
46373
+ tileX?: number;
46374
+ tileY?: number;
46375
+ tileZ?: number;
46376
+ }): Promise<VoxelContent> | undefined;
46109
46377
  /**
46110
46378
  * A transform from local space to global space.
46111
46379
  */
@@ -46167,27 +46435,11 @@ export class VoxelProvider {
46167
46435
  */
46168
46436
  readonly maximumTileCount: number | undefined;
46169
46437
  /**
46170
- * Requests the data for a given tile.
46171
- * @param [options] - Object with the following properties:
46172
- * @param [options.tileLevel = 0] - The tile's level.
46173
- * @param [options.tileX = 0] - The tile's X coordinate.
46174
- * @param [options.tileY = 0] - The tile's Y coordinate.
46175
- * @param [options.tileZ = 0] - The tile's Z coordinate.
46176
- * @returns A promise resolving to a VoxelContent containing the data for the tile, or undefined if the request could not be scheduled this frame.
46438
+ * The number of levels of detail containing available tiles in the tileset.
46177
46439
  */
46178
- requestData(options?: {
46179
- tileLevel?: number;
46180
- tileX?: number;
46181
- tileY?: number;
46182
- tileZ?: number;
46183
- }): Promise<VoxelContent> | undefined;
46440
+ readonly availableLevels: number | undefined;
46184
46441
  }
46185
46442
 
46186
- /**
46187
- * The number of levels of detail containing available tiles in the tileset.
46188
- */
46189
- export const availableLevels: number | undefined;
46190
-
46191
46443
  /**
46192
46444
  * An enum of voxel shapes. The shape controls how the voxel grid is mapped to 3D space.
46193
46445
  */
@@ -47195,7 +47447,7 @@ export class CesiumWidget {
47195
47447
  * @param [offset] - The offset from the center of the entity in the local east-north-up reference frame.
47196
47448
  * @returns A Promise that resolves to true if the zoom was successful or false if the target is not currently visualized in the scene or the zoom was cancelled.
47197
47449
  */
47198
- zoomTo(target: Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | Promise<Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | VoxelPrimitive>, offset?: HeadingPitchRange): Promise<boolean>;
47450
+ zoomTo(target: Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | Promise<Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | VoxelPrimitive | BufferPrimitiveCollection<BufferPrimitive>>, offset?: HeadingPitchRange): Promise<boolean>;
47199
47451
  /**
47200
47452
  * Flies the camera to the provided entity, entities, or data source.
47201
47453
  * If the data source is still in the process of loading or the visualization is otherwise still loading,
@@ -47217,7 +47469,7 @@ export class CesiumWidget {
47217
47469
  * @param [options.offset] - The offset from the target in the local east-north-up reference frame centered at the target.
47218
47470
  * @returns A Promise that resolves to true if the flight was successful or false if the target is not currently visualized in the scene or the flight was cancelled. //TODO: Cleanup entity mentions
47219
47471
  */
47220
- flyTo(target: Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | Promise<Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | VoxelPrimitive>, options?: {
47472
+ flyTo(target: Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | Promise<Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | VoxelPrimitive | BufferPrimitiveCollection<BufferPrimitive>>, options?: {
47221
47473
  duration?: number;
47222
47474
  maximumHeight?: number;
47223
47475
  offset?: HeadingPitchRange;