@cesium/engine 22.2.0 → 23.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 (282) hide show
  1. package/Build/Workers/{chunk-YFEZPDAY.js → chunk-2GL2EUEE.js} +11 -11
  2. package/Build/Workers/{chunk-A3NUMZBG.js → chunk-2WI4HGJU.js} +6 -6
  3. package/Build/Workers/{chunk-3JB2X2PR.js → chunk-36LBFITA.js} +665 -366
  4. package/Build/Workers/{chunk-VSZ5DB2W.js → chunk-3B65YFXC.js} +1 -1
  5. package/Build/Workers/{chunk-PSHZAHFE.js → chunk-4LGFX2P5.js} +11 -11
  6. package/Build/Workers/{chunk-AMWXJ5A7.js → chunk-4UNQX2MP.js} +2 -2
  7. package/Build/Workers/{chunk-LDSQMLRC.js → chunk-52K3GJKG.js} +3 -3
  8. package/Build/Workers/{chunk-MSTAVM2N.js → chunk-56OHFSLH.js} +10 -10
  9. package/Build/Workers/{chunk-IWOSJVFQ.js → chunk-5A7YSAXT.js} +14 -14
  10. package/Build/Workers/{chunk-PMDPP22G.js → chunk-5JP5FG7U.js} +7 -7
  11. package/Build/Workers/{chunk-DIJ7IG5D.js → chunk-5R7SBUTW.js} +10 -10
  12. package/Build/Workers/chunk-5VKZVPO5.js +1829 -0
  13. package/Build/Workers/{chunk-L2FSBEW2.js → chunk-6FVFM2KB.js} +5 -5
  14. package/Build/Workers/{chunk-G6WQA27G.js → chunk-6SLGTBB2.js} +5 -5
  15. package/Build/Workers/{chunk-3HUEBDFC.js → chunk-7KRN6JPQ.js} +14 -14
  16. package/Build/Workers/{chunk-GMHDOQPH.js → chunk-AA33B6PU.js} +4 -4
  17. package/Build/Workers/{chunk-7CDQUIP5.js → chunk-AP6XWET5.js} +8 -8
  18. package/Build/Workers/{chunk-IVN5HSOI.js → chunk-APDKMX7W.js} +6 -6
  19. package/Build/Workers/{chunk-72LZ3FN6.js → chunk-ARCFIOKA.js} +12 -12
  20. package/Build/Workers/{chunk-UBJYWGMV.js → chunk-BNBD2YZK.js} +16 -16
  21. package/Build/Workers/{chunk-VGH2CSC7.js → chunk-DT5SJBKA.js} +29 -15
  22. package/Build/Workers/{chunk-ED4UXMYY.js → chunk-ESD4IEOU.js} +5 -5
  23. package/Build/Workers/{chunk-JFN2DQHY.js → chunk-FSDVXW7M.js} +5 -5
  24. package/Build/Workers/{chunk-JERDRSEI.js → chunk-G3YT7M7A.js} +1 -1
  25. package/Build/Workers/{chunk-NY3CWLIZ.js → chunk-GN5NEUDT.js} +8 -8
  26. package/Build/Workers/{chunk-O3GWUTWM.js → chunk-HYLEKKO5.js} +1 -1
  27. package/Build/Workers/{chunk-64PJ4MTB.js → chunk-HYTFXWMY.js} +7 -7
  28. package/Build/Workers/{chunk-FPRM6PCE.js → chunk-IFA7VHHP.js} +560 -306
  29. package/Build/Workers/{chunk-FM5XPC2E.js → chunk-IYVDOB5V.js} +4 -4
  30. package/Build/Workers/{chunk-P7ISUYLW.js → chunk-JUGY5AZN.js} +4 -4
  31. package/Build/Workers/{chunk-JONWM4IO.js → chunk-KPYU6YZG.js} +1 -1
  32. package/Build/Workers/{chunk-JUOSYFXT.js → chunk-L7RDJ4V7.js} +1 -1
  33. package/Build/Workers/{chunk-MWGB6DLR.js → chunk-LDQWNMEC.js} +1 -1
  34. package/Build/Workers/{chunk-C6FTHSJA.js → chunk-MQJG522T.js} +6 -6
  35. package/Build/Workers/{chunk-WH4HDRGN.js → chunk-MT5M7RLZ.js} +2 -2
  36. package/Build/Workers/{chunk-4ZQN7M7E.js → chunk-N4AWE7TZ.js} +10 -10
  37. package/Build/Workers/{chunk-SDUH3N6G.js → chunk-NAYRNPEP.js} +4 -4
  38. package/Build/Workers/{chunk-7OPRTZBT.js → chunk-NNHU33JK.js} +7 -7
  39. package/Build/Workers/{chunk-CQCEPC6N.js → chunk-NQCAZU7S.js} +13 -13
  40. package/Build/Workers/{chunk-35J4D6PX.js → chunk-NUYLNQKV.js} +2 -2
  41. package/Build/Workers/{chunk-I45CATZK.js → chunk-OC6X22PG.js} +9 -9
  42. package/Build/Workers/{chunk-7MGTX4WP.js → chunk-OHBM4YG4.js} +12 -12
  43. package/Build/Workers/{chunk-DCR62BCO.js → chunk-OMXN7YF4.js} +12 -12
  44. package/Build/Workers/{chunk-XPNY2VY3.js → chunk-OQ3EAJNW.js} +2 -2
  45. package/Build/Workers/{chunk-4I7BCCNU.js → chunk-OQBPOKPZ.js} +6 -6
  46. package/Build/Workers/{chunk-2JNPWPLE.js → chunk-PQVNT5CJ.js} +6 -6
  47. package/Build/Workers/{chunk-K64RQCRK.js → chunk-QA24Q62E.js} +17 -17
  48. package/Build/Workers/{chunk-K6BXEBAF.js → chunk-QQX7S5QT.js} +17 -17
  49. package/Build/Workers/{chunk-2YVTOY5Z.js → chunk-QTOHIXGF.js} +10 -10
  50. package/Build/Workers/{chunk-4MCPC4TE.js → chunk-R7M4XNPP.js} +8 -8
  51. package/Build/Workers/{chunk-C35SJ4QP.js → chunk-SGKTBHFQ.js} +13 -13
  52. package/Build/Workers/{chunk-BKYJBTHW.js → chunk-SQTRWKO2.js} +5 -5
  53. package/Build/Workers/{chunk-I4D5IP46.js → chunk-T43FXHNC.js} +7 -7
  54. package/Build/Workers/{chunk-QO6Z5UJE.js → chunk-UEEGWJJP.js} +2 -2
  55. package/Build/Workers/{chunk-ZUWF63QU.js → chunk-WKXDCVBO.js} +4 -4
  56. package/Build/Workers/{chunk-N5MNKWED.js → chunk-Y5AJSEEN.js} +2 -2
  57. package/Build/Workers/{chunk-V26Y7ZQL.js → chunk-ZIW5FCIW.js} +37 -27
  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 +22 -22
  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 +22 -22
  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 +20 -12
  107. package/Build/Workers/transcodeKTX2.js +6 -6
  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/AttributeCompression.js +53 -6
  112. package/Source/Core/BoxGeometry.js +1 -1
  113. package/Source/Core/Cartesian2.js +689 -684
  114. package/Source/Core/Cartesian3.js +1044 -1043
  115. package/Source/Core/Cartesian4.js +816 -813
  116. package/Source/Core/CornerType.js +1 -1
  117. package/Source/Core/CorridorGeometry.js +1 -1
  118. package/Source/Core/FeatureDetection.js +1 -32
  119. package/Source/Core/Geometry.js +1 -1
  120. package/Source/Core/GoogleMaps.js +23 -2
  121. package/Source/Core/IntersectionTests.js +2 -2
  122. package/Source/Core/Ion.js +1 -1
  123. package/Source/Core/OpenCageGeocoderService.js +2 -3
  124. package/Source/Core/PinBuilder.js +1 -1
  125. package/Source/Core/PolygonGeometry.js +1 -1
  126. package/Source/Core/PolylineGeometry.js +1 -1
  127. package/Source/Core/PolylineVolumeGeometry.js +1 -1
  128. package/Source/Core/RectangleGeometry.js +1 -1
  129. package/Source/Core/ScreenSpaceEventHandler.js +4 -8
  130. package/Source/Core/TerrainMesh.js +11 -8
  131. package/Source/Core/TerrainPicker.js +24 -7
  132. package/Source/Core/VideoSynchronizer.js +1 -1
  133. package/Source/Core/WallGeometry.js +1 -1
  134. package/Source/Core/globalTypes.js +16 -0
  135. package/Source/Core/writeTextToCanvas.js +40 -86
  136. package/Source/DataSources/BillboardGraphics.js +1 -1
  137. package/Source/DataSources/BoxGraphics.js +1 -1
  138. package/Source/DataSources/CallbackPositionProperty.js +1 -1
  139. package/Source/DataSources/CorridorGraphics.js +1 -1
  140. package/Source/DataSources/CzmlDataSource.js +1 -1
  141. package/Source/DataSources/EllipseGraphics.js +1 -1
  142. package/Source/DataSources/EllipsoidGraphics.js +1 -1
  143. package/Source/DataSources/Entity.js +1 -1
  144. package/Source/DataSources/EntityCluster.js +2 -2
  145. package/Source/DataSources/GeoJsonDataSource.js +2 -2
  146. package/Source/DataSources/GpxDataSource.js +1 -1
  147. package/Source/DataSources/KmlDataSource.js +1 -1
  148. package/Source/DataSources/KmlTour.js +1 -1
  149. package/Source/DataSources/LabelGraphics.js +1 -1
  150. package/Source/DataSources/ModelGraphics.js +1 -1
  151. package/Source/DataSources/PlaneGraphics.js +1 -1
  152. package/Source/DataSources/PolygonGraphics.js +1 -1
  153. package/Source/DataSources/PolylineGraphics.js +1 -1
  154. package/Source/DataSources/PolylineVolumeGraphics.js +1 -1
  155. package/Source/DataSources/RectangleGraphics.js +1 -1
  156. package/Source/DataSources/WallGraphics.js +1 -1
  157. package/Source/DataSources/exportKml.js +1 -1
  158. package/Source/Renderer/Context.js +11 -10
  159. package/Source/Renderer/ContextLimits.js +66 -33
  160. package/Source/Renderer/ShaderDestination.js +54 -13
  161. package/Source/Renderer/ShaderSource.js +19 -18
  162. package/Source/Renderer/Texture.js +1 -1
  163. package/Source/Renderer/Texture3D.js +166 -7
  164. package/Source/Renderer/TextureAtlas.js +2 -2
  165. package/Source/Scene/Appearance.js +1 -1
  166. package/Source/Scene/ArcGisMapService.js +1 -1
  167. package/Source/Scene/Billboard.js +8 -5
  168. package/Source/Scene/BillboardCollection.js +65 -26
  169. package/Source/Scene/BillboardTexture.js +4 -1
  170. package/Source/Scene/BufferLoader.js +65 -74
  171. package/Source/Scene/Camera.js +13 -2
  172. package/Source/Scene/ClippingPlaneCollection.js +2 -2
  173. package/Source/Scene/CloudCollection.js +2 -2
  174. package/Source/Scene/CubeMapPanorama.js +351 -0
  175. package/Source/Scene/CumulusCloud.js +1 -1
  176. package/Source/Scene/DerivedCommand.js +8 -31
  177. package/Source/Scene/DracoLoader.js +79 -78
  178. package/Source/Scene/DynamicEnvironmentMapManager.js +41 -26
  179. package/Source/Scene/EquirectangularPanorama.js +264 -0
  180. package/Source/Scene/Fog.js +1 -1
  181. package/Source/Scene/FrameState.js +7 -0
  182. package/Source/Scene/GaussianSplatPrimitive.js +907 -168
  183. package/Source/Scene/Globe.js +3 -10
  184. package/Source/Scene/GlobeSurfaceShaderSet.js +36 -32
  185. package/Source/Scene/GltfBufferViewLoader.js +109 -118
  186. package/Source/Scene/GltfDracoLoader.js +167 -176
  187. package/Source/Scene/GltfImageLoader.js +91 -101
  188. package/Source/Scene/GltfIndexBufferLoader.js +228 -241
  189. package/Source/Scene/GltfJsonLoader.js +90 -99
  190. package/Source/Scene/GltfLoader.js +323 -324
  191. package/Source/Scene/GltfSpzLoader.js +127 -134
  192. package/Source/Scene/GltfStructuralMetadataLoader.js +181 -186
  193. package/Source/Scene/GltfTextureLoader.js +217 -231
  194. package/Source/Scene/GltfVertexBufferLoader.js +267 -276
  195. package/Source/Scene/GoogleStreetViewCubeMapPanoramaProvider.js +341 -0
  196. package/Source/Scene/ImageBasedLighting.js +2 -2
  197. package/Source/Scene/ImageryLayerCollection.js +2 -2
  198. package/Source/Scene/ImageryProvider.js +2 -2
  199. package/Source/Scene/Label.js +7 -5
  200. package/Source/Scene/LabelCollection.js +60 -2
  201. package/Source/Scene/Material.js +1 -1
  202. package/Source/Scene/MaterialAppearance.js +1 -1
  203. package/Source/Scene/Megatexture.js +174 -242
  204. package/Source/Scene/MetadataClassProperty.js +212 -7
  205. package/Source/Scene/MetadataComponentType.js +162 -127
  206. package/Source/Scene/MetadataSchemaLoader.js +60 -67
  207. package/Source/Scene/MetadataTable.js +14 -0
  208. package/Source/Scene/MetadataTableProperty.js +14 -0
  209. package/Source/Scene/Model/B3dmLoader.js +216 -224
  210. package/Source/Scene/Model/CustomShader.js +6 -1
  211. package/Source/Scene/Model/CustomShaderPipelineStage.js +122 -7
  212. package/Source/Scene/Model/GeoJsonLoader.js +53 -61
  213. package/Source/Scene/Model/GeometryPipelineStage.js +17 -3
  214. package/Source/Scene/Model/I3dmLoader.js +232 -240
  215. package/Source/Scene/Model/MaterialPipelineStage.js +17 -0
  216. package/Source/Scene/Model/MetadataPipelineStage.js +438 -22
  217. package/Source/Scene/Model/Model.js +1 -1
  218. package/Source/Scene/Model/PntsLoader.js +78 -89
  219. package/Source/Scene/ModelComponents.js +10 -0
  220. package/Source/Scene/Panorama.js +53 -0
  221. package/Source/Scene/PanoramaProvider.js +43 -0
  222. package/Source/Scene/ParticleSystem.js +2 -2
  223. package/Source/Scene/PointPrimitive.js +1 -1
  224. package/Source/Scene/PointPrimitiveCollection.js +14 -22
  225. package/Source/Scene/Polyline.js +0 -1
  226. package/Source/Scene/PolylineCollection.js +1 -4
  227. package/Source/Scene/PolylineColorAppearance.js +1 -6
  228. package/Source/Scene/PolylineMaterialAppearance.js +1 -6
  229. package/Source/Scene/PostProcessStageCollection.js +1 -1
  230. package/Source/Scene/PropertyTable.js +43 -0
  231. package/Source/Scene/PropertyTexture.js +1 -1
  232. package/Source/Scene/PropertyTextureProperty.js +0 -97
  233. package/Source/Scene/QuadtreePrimitive.js +6 -3
  234. package/Source/Scene/ResourceLoader.js +84 -92
  235. package/Source/Scene/Scene.js +12 -0
  236. package/Source/Scene/ShadowMap.js +1 -2
  237. package/Source/Scene/SkyBox.js +29 -164
  238. package/Source/Scene/StructuralMetadata.js +18 -3
  239. package/Source/Scene/Vector3DTileClampedPolylines.js +1 -5
  240. package/Source/Scene/Vector3DTilePolylines.js +1 -5
  241. package/Source/Scene/VoxelPrimitive.js +16 -33
  242. package/Source/Scene/VoxelRenderResources.js +1 -8
  243. package/Source/Scene/VoxelTraversal.js +16 -61
  244. package/Source/Scene/WebMapTileServiceImageryProvider.js +1 -1
  245. package/Source/Scene/createElevationBandMaterial.js +1 -1
  246. package/Source/Scene/parseStructuralMetadata.js +244 -0
  247. package/Source/Scene/processVoxelProperties.js +1 -1
  248. package/Source/Shaders/BillboardCollectionFS.glsl +66 -40
  249. package/Source/Shaders/BillboardCollectionFS.js +67 -40
  250. package/Source/Shaders/BillboardCollectionVS.glsl +22 -31
  251. package/Source/Shaders/BillboardCollectionVS.js +22 -31
  252. package/Source/Shaders/Builtin/CzmBuiltins.js +4 -0
  253. package/Source/Shaders/Builtin/Functions/columbusViewMorph.glsl +8 -1
  254. package/Source/Shaders/Builtin/Functions/columbusViewMorph.js +8 -1
  255. package/Source/Shaders/Builtin/Functions/decodeRGB8.glsl +22 -0
  256. package/Source/Shaders/Builtin/Functions/decodeRGB8.js +24 -0
  257. package/Source/Shaders/Builtin/Functions/unpackTexture.glsl +35 -0
  258. package/Source/Shaders/Builtin/Functions/unpackTexture.js +37 -0
  259. package/Source/Shaders/CubeMapPanoramaVS.glsl +11 -0
  260. package/Source/Shaders/CubeMapPanoramaVS.js +13 -0
  261. package/Source/Shaders/Model/MetadataStageFS.glsl +2 -1
  262. package/Source/Shaders/Model/MetadataStageFS.js +2 -1
  263. package/Source/Shaders/Model/MetadataStageVS.glsl +2 -1
  264. package/Source/Shaders/Model/MetadataStageVS.js +2 -1
  265. package/Source/Shaders/Model/ModelFS.glsl +9 -1
  266. package/Source/Shaders/Model/ModelFS.js +9 -1
  267. package/Source/Shaders/Model/ModelVS.glsl +4 -2
  268. package/Source/Shaders/Model/ModelVS.js +4 -2
  269. package/Source/Shaders/PointPrimitiveCollectionVS.glsl +8 -39
  270. package/Source/Shaders/PointPrimitiveCollectionVS.js +8 -39
  271. package/Source/Shaders/Voxels/IntersectionUtils.glsl +1 -1
  272. package/Source/Shaders/Voxels/IntersectionUtils.js +1 -1
  273. package/Source/Shaders/Voxels/Megatexture.glsl +15 -83
  274. package/Source/Shaders/Voxels/Megatexture.js +15 -83
  275. package/Source/Shaders/Voxels/Octree.glsl +6 -9
  276. package/Source/Shaders/Voxels/Octree.js +6 -9
  277. package/Source/Widget/CesiumWidget.js +1 -1
  278. package/Source/Workers/incrementallyBuildTerrainPicker.js +16 -2
  279. package/index.d.ts +582 -193
  280. package/index.js +91 -83
  281. package/package.json +2 -1
  282. package/Build/Workers/chunk-ZGWX2R5I.js +0 -1443
package/index.d.ts CHANGED
@@ -1521,26 +1521,6 @@ export class Cartesian2 {
1521
1521
  * @returns The modified result parameter or a new Cartesian2 instance if one was not provided. (Returns undefined if cartesian is undefined)
1522
1522
  */
1523
1523
  static clone(cartesian: Cartesian2, result?: Cartesian2): Cartesian2;
1524
- /**
1525
- * Creates a Cartesian2 instance from an existing Cartesian3. This simply takes the
1526
- * x and y properties of the Cartesian3 and drops z.
1527
- * @param cartesian - The Cartesian3 instance to create a Cartesian2 instance from.
1528
- * @param [result] - The object onto which to store the result.
1529
- * @returns The modified result parameter or a new Cartesian2 instance if one was not provided.
1530
- */
1531
- static fromCartesian3(cartesian: Cartesian3, result?: Cartesian2): Cartesian2;
1532
- /**
1533
- * Creates a Cartesian2 instance from an existing Cartesian4. This simply takes the
1534
- * x and y properties of the Cartesian4 and drops z and w.
1535
- * @param cartesian - The Cartesian4 instance to create a Cartesian2 instance from.
1536
- * @param [result] - The object onto which to store the result.
1537
- * @returns The modified result parameter or a new Cartesian2 instance if one was not provided.
1538
- */
1539
- static fromCartesian4(cartesian: Cartesian4, result?: Cartesian2): Cartesian2;
1540
- /**
1541
- * The number of elements used to pack the object into an array.
1542
- */
1543
- static packedLength: number;
1544
1524
  /**
1545
1525
  * Stores the provided instance into the provided array.
1546
1526
  * @param value - The value to pack.
@@ -1548,7 +1528,7 @@ export class Cartesian2 {
1548
1528
  * @param [startingIndex = 0] - The index into the array at which to start packing the elements.
1549
1529
  * @returns The array that was packed into
1550
1530
  */
1551
- static pack(value: Cartesian2, array: number[], startingIndex?: number): number[];
1531
+ static pack(value: Cartesian2, array: number[] | TypedArray, startingIndex?: number): number[] | TypedArray;
1552
1532
  /**
1553
1533
  * Retrieves an instance from a packed array.
1554
1534
  * @param array - The packed array.
@@ -1556,14 +1536,14 @@ export class Cartesian2 {
1556
1536
  * @param [result] - The object into which to store the result.
1557
1537
  * @returns The modified result parameter or a new Cartesian2 instance if one was not provided.
1558
1538
  */
1559
- static unpack(array: number[], startingIndex?: number, result?: Cartesian2): Cartesian2;
1539
+ static unpack(array: number[] | TypedArray, startingIndex?: number, result?: Cartesian2): Cartesian2;
1560
1540
  /**
1561
1541
  * Flattens an array of Cartesian2s into an array of components.
1562
1542
  * @param array - The array of cartesians to pack.
1563
1543
  * @param [result] - The array onto which to store the result. If this is a typed array, it must have array.length * 2 components, else a {@link DeveloperError} will be thrown. If it is a regular array, it will be resized to have (array.length * 2) elements.
1564
1544
  * @returns The packed array.
1565
1545
  */
1566
- static packArray(array: Cartesian2[], result?: number[]): number[];
1546
+ static packArray(array: Cartesian2[], result?: number[] | TypedArray): number[] | TypedArray;
1567
1547
  /**
1568
1548
  * Unpacks an array of cartesian components into an array of Cartesian2s.
1569
1549
  * @param array - The array of components to unpack.
@@ -1571,22 +1551,6 @@ export class Cartesian2 {
1571
1551
  * @returns The unpacked array.
1572
1552
  */
1573
1553
  static unpackArray(array: number[], result?: Cartesian2[]): Cartesian2[];
1574
- /**
1575
- * Creates a Cartesian2 from two consecutive elements in an array.
1576
- * @example
1577
- * // Create a Cartesian2 with (1.0, 2.0)
1578
- * const v = [1.0, 2.0];
1579
- * const p = Cesium.Cartesian2.fromArray(v);
1580
- *
1581
- * // Create a Cartesian2 with (1.0, 2.0) using an offset into an array
1582
- * const v2 = [0.0, 0.0, 1.0, 2.0];
1583
- * const p2 = Cesium.Cartesian2.fromArray(v2, 2);
1584
- * @param array - The array whose two consecutive elements correspond to the x and y components, respectively.
1585
- * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to the x component.
1586
- * @param [result] - The object onto which to store the result.
1587
- * @returns The modified result parameter or a new Cartesian2 instance if one was not provided.
1588
- */
1589
- static fromArray(array: number[], startingIndex?: number, result?: Cartesian2): Cartesian2;
1590
1554
  /**
1591
1555
  * Computes the value of the maximum component for the supplied Cartesian.
1592
1556
  * @param cartesian - The cartesian to use.
@@ -1782,22 +1746,6 @@ export class Cartesian2 {
1782
1746
  * @returns <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
1783
1747
  */
1784
1748
  static equalsEpsilon(left?: Cartesian2, right?: Cartesian2, relativeEpsilon?: number, absoluteEpsilon?: number): boolean;
1785
- /**
1786
- * An immutable Cartesian2 instance initialized to (0.0, 0.0).
1787
- */
1788
- static readonly ZERO: Cartesian2;
1789
- /**
1790
- * An immutable Cartesian2 instance initialized to (1.0, 1.0).
1791
- */
1792
- static readonly ONE: Cartesian2;
1793
- /**
1794
- * An immutable Cartesian2 instance initialized to (1.0, 0.0).
1795
- */
1796
- static readonly UNIT_X: Cartesian2;
1797
- /**
1798
- * An immutable Cartesian2 instance initialized to (0.0, 1.0).
1799
- */
1800
- static readonly UNIT_Y: Cartesian2;
1801
1749
  /**
1802
1750
  * Duplicates this Cartesian2 instance.
1803
1751
  * @param [result] - The object onto which to store the result.
@@ -1826,6 +1774,58 @@ export class Cartesian2 {
1826
1774
  * @returns A string representing the provided Cartesian in the format '(x, y)'.
1827
1775
  */
1828
1776
  toString(): string;
1777
+ /**
1778
+ * Creates a Cartesian2 instance from an existing Cartesian3. This simply takes the
1779
+ * x and y properties of the Cartesian3 and drops z.
1780
+ * @param cartesian - The Cartesian3 instance to create a Cartesian2 instance from.
1781
+ * @param [result] - The object onto which to store the result.
1782
+ * @returns The modified result parameter or a new Cartesian2 instance if one was not provided.
1783
+ */
1784
+ static fromCartesian3(cartesian: Cartesian3, result?: Cartesian2): Cartesian2;
1785
+ /**
1786
+ * Creates a Cartesian2 instance from an existing Cartesian4. This simply takes the
1787
+ * x and y properties of the Cartesian4 and drops z and w.
1788
+ * @param cartesian - The Cartesian4 instance to create a Cartesian2 instance from.
1789
+ * @param [result] - The object onto which to store the result.
1790
+ * @returns The modified result parameter or a new Cartesian2 instance if one was not provided.
1791
+ */
1792
+ static fromCartesian4(cartesian: Cartesian4, result?: Cartesian2): Cartesian2;
1793
+ /**
1794
+ * The number of elements used to pack the object into an array.
1795
+ */
1796
+ static packedLength: number;
1797
+ /**
1798
+ * Creates a Cartesian2 from two consecutive elements in an array.
1799
+ * @example
1800
+ * // Create a Cartesian2 with (1.0, 2.0)
1801
+ * const v = [1.0, 2.0];
1802
+ * const p = Cesium.Cartesian2.fromArray(v);
1803
+ *
1804
+ * // Create a Cartesian2 with (1.0, 2.0) using an offset into an array
1805
+ * const v2 = [0.0, 0.0, 1.0, 2.0];
1806
+ * const p2 = Cesium.Cartesian2.fromArray(v2, 2);
1807
+ * @param array - The array whose two consecutive elements correspond to the x and y components, respectively.
1808
+ * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to the x component.
1809
+ * @param [result] - The object onto which to store the result.
1810
+ * @returns The modified result parameter or a new Cartesian2 instance if one was not provided.
1811
+ */
1812
+ static fromArray(array: number[], startingIndex?: number, result?: Cartesian2): Cartesian2;
1813
+ /**
1814
+ * An immutable Cartesian2 instance initialized to (0.0, 0.0).
1815
+ */
1816
+ static readonly ZERO: Cartesian2;
1817
+ /**
1818
+ * An immutable Cartesian2 instance initialized to (1.0, 1.0).
1819
+ */
1820
+ static readonly ONE: Cartesian2;
1821
+ /**
1822
+ * An immutable Cartesian2 instance initialized to (1.0, 0.0).
1823
+ */
1824
+ static readonly UNIT_X: Cartesian2;
1825
+ /**
1826
+ * An immutable Cartesian2 instance initialized to (0.0, 1.0).
1827
+ */
1828
+ static readonly UNIT_Y: Cartesian2;
1829
1829
  }
1830
1830
 
1831
1831
  /**
@@ -1871,18 +1871,6 @@ export class Cartesian3 {
1871
1871
  * @returns The modified result parameter or a new Cartesian3 instance if one was not provided. (Returns undefined if cartesian is undefined)
1872
1872
  */
1873
1873
  static clone(cartesian: Cartesian3, result?: Cartesian3): Cartesian3;
1874
- /**
1875
- * Creates a Cartesian3 instance from an existing Cartesian4. This simply takes the
1876
- * x, y, and z properties of the Cartesian4 and drops w.
1877
- * @param cartesian - The Cartesian4 instance to create a Cartesian3 instance from.
1878
- * @param [result] - The object onto which to store the result.
1879
- * @returns The modified result parameter or a new Cartesian3 instance if one was not provided.
1880
- */
1881
- static fromCartesian4(cartesian: Cartesian4, result?: Cartesian3): Cartesian3;
1882
- /**
1883
- * The number of elements used to pack the object into an array.
1884
- */
1885
- static packedLength: number;
1886
1874
  /**
1887
1875
  * Stores the provided instance into the provided array.
1888
1876
  * @param value - The value to pack.
@@ -1890,7 +1878,7 @@ export class Cartesian3 {
1890
1878
  * @param [startingIndex = 0] - The index into the array at which to start packing the elements.
1891
1879
  * @returns The array that was packed into
1892
1880
  */
1893
- static pack(value: Cartesian3, array: number[], startingIndex?: number): number[];
1881
+ static pack(value: Cartesian3, array: number[] | TypedArray, startingIndex?: number): number[] | TypedArray;
1894
1882
  /**
1895
1883
  * Retrieves an instance from a packed array.
1896
1884
  * @param array - The packed array.
@@ -1898,37 +1886,21 @@ export class Cartesian3 {
1898
1886
  * @param [result] - The object into which to store the result.
1899
1887
  * @returns The modified result parameter or a new Cartesian3 instance if one was not provided.
1900
1888
  */
1901
- static unpack(array: number[], startingIndex?: number, result?: Cartesian3): Cartesian3;
1889
+ static unpack(array: number[] | TypedArray, startingIndex?: number, result?: Cartesian3): Cartesian3;
1902
1890
  /**
1903
1891
  * Flattens an array of Cartesian3s into an array of components.
1904
1892
  * @param array - The array of cartesians to pack.
1905
1893
  * @param [result] - The array onto which to store the result. If this is a typed array, it must have array.length * 3 components, else a {@link DeveloperError} will be thrown. If it is a regular array, it will be resized to have (array.length * 3) elements.
1906
1894
  * @returns The packed array.
1907
1895
  */
1908
- static packArray(array: Cartesian3[], result?: number[]): number[];
1896
+ static packArray(array: Cartesian3[], result?: number[] | TypedArray): number[] | TypedArray;
1909
1897
  /**
1910
1898
  * Unpacks an array of cartesian components into an array of Cartesian3s.
1911
1899
  * @param array - The array of components to unpack.
1912
1900
  * @param [result] - The array onto which to store the result.
1913
1901
  * @returns The unpacked array.
1914
1902
  */
1915
- static unpackArray(array: number[], result?: Cartesian3[]): Cartesian3[];
1916
- /**
1917
- * Creates a Cartesian3 from three consecutive elements in an array.
1918
- * @example
1919
- * // Create a Cartesian3 with (1.0, 2.0, 3.0)
1920
- * const v = [1.0, 2.0, 3.0];
1921
- * const p = Cesium.Cartesian3.fromArray(v);
1922
- *
1923
- * // Create a Cartesian3 with (1.0, 2.0, 3.0) using an offset into an array
1924
- * const v2 = [0.0, 0.0, 1.0, 2.0, 3.0];
1925
- * const p2 = Cesium.Cartesian3.fromArray(v2, 2);
1926
- * @param array - The array whose three consecutive elements correspond to the x, y, and z components, respectively.
1927
- * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to the x component.
1928
- * @param [result] - The object onto which to store the result.
1929
- * @returns The modified result parameter or a new Cartesian3 instance if one was not provided.
1930
- */
1931
- static fromArray(array: number[], startingIndex?: number, result?: Cartesian3): Cartesian3;
1903
+ static unpackArray(array: number[] | TypedArray, result?: Cartesian3[]): Cartesian3[];
1932
1904
  /**
1933
1905
  * Computes the value of the maximum component for the supplied Cartesian.
1934
1906
  * @param cartesian - The cartesian to use.
@@ -1959,13 +1931,13 @@ export class Cartesian3 {
1959
1931
  static maximumByComponent(first: Cartesian3, second: Cartesian3, result: Cartesian3): Cartesian3;
1960
1932
  /**
1961
1933
  * Constrain a value to lie between two values.
1962
- * @param cartesian - The value to clamp.
1934
+ * @param value - The value to clamp.
1963
1935
  * @param min - The minimum bound.
1964
1936
  * @param max - The maximum bound.
1965
1937
  * @param result - The object into which to store the result.
1966
1938
  * @returns The clamped value such that min <= value <= max.
1967
1939
  */
1968
- static clamp(cartesian: Cartesian3, min: Cartesian3, max: Cartesian3, result: Cartesian3): Cartesian3;
1940
+ static clamp(value: Cartesian3, min: Cartesian3, max: Cartesian3, result: Cartesian3): Cartesian3;
1969
1941
  /**
1970
1942
  * Computes the provided Cartesian's squared magnitude.
1971
1943
  * @param cartesian - The Cartesian instance whose squared magnitude is to be computed.
@@ -2205,26 +2177,6 @@ export class Cartesian3 {
2205
2177
  * @returns The array of positions.
2206
2178
  */
2207
2179
  static fromRadiansArrayHeights(coordinates: number[], ellipsoid?: Ellipsoid, result?: Cartesian3[]): Cartesian3[];
2208
- /**
2209
- * An immutable Cartesian3 instance initialized to (0.0, 0.0, 0.0).
2210
- */
2211
- static readonly ZERO: Cartesian3;
2212
- /**
2213
- * An immutable Cartesian3 instance initialized to (1.0, 1.0, 1.0).
2214
- */
2215
- static readonly ONE: Cartesian3;
2216
- /**
2217
- * An immutable Cartesian3 instance initialized to (1.0, 0.0, 0.0).
2218
- */
2219
- static readonly UNIT_X: Cartesian3;
2220
- /**
2221
- * An immutable Cartesian3 instance initialized to (0.0, 1.0, 0.0).
2222
- */
2223
- static readonly UNIT_Y: Cartesian3;
2224
- /**
2225
- * An immutable Cartesian3 instance initialized to (0.0, 0.0, 1.0).
2226
- */
2227
- static readonly UNIT_Z: Cartesian3;
2228
2180
  /**
2229
2181
  * Duplicates this Cartesian3 instance.
2230
2182
  * @param [result] - The object onto which to store the result.
@@ -2253,6 +2205,54 @@ export class Cartesian3 {
2253
2205
  * @returns A string representing this Cartesian in the format '(x, y, z)'.
2254
2206
  */
2255
2207
  toString(): string;
2208
+ /**
2209
+ * Creates a Cartesian3 instance from an existing Cartesian4. This simply takes the
2210
+ * x, y, and z properties of the Cartesian4 and drops w.
2211
+ * @param cartesian - The Cartesian4 instance to create a Cartesian3 instance from.
2212
+ * @param [result] - The object onto which to store the result.
2213
+ * @returns The modified result parameter or a new Cartesian3 instance if one was not provided.
2214
+ */
2215
+ static fromCartesian4(cartesian: Cartesian4, result?: Cartesian3): Cartesian3;
2216
+ /**
2217
+ * The number of elements used to pack the object into an array.
2218
+ */
2219
+ static packedLength: number;
2220
+ /**
2221
+ * Creates a Cartesian3 from three consecutive elements in an array.
2222
+ * @example
2223
+ * // Create a Cartesian3 with (1.0, 2.0, 3.0)
2224
+ * const v = [1.0, 2.0, 3.0];
2225
+ * const p = Cesium.Cartesian3.fromArray(v);
2226
+ *
2227
+ * // Create a Cartesian3 with (1.0, 2.0, 3.0) using an offset into an array
2228
+ * const v2 = [0.0, 0.0, 1.0, 2.0, 3.0];
2229
+ * const p2 = Cesium.Cartesian3.fromArray(v2, 2);
2230
+ * @param array - The array whose three consecutive elements correspond to the x, y, and z components, respectively.
2231
+ * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to the x component.
2232
+ * @param [result] - The object onto which to store the result.
2233
+ * @returns The modified result parameter or a new Cartesian3 instance if one was not provided.
2234
+ */
2235
+ static fromArray(array: number[], startingIndex?: number, result?: Cartesian3): Cartesian3;
2236
+ /**
2237
+ * An immutable Cartesian3 instance initialized to (0.0, 0.0, 0.0).
2238
+ */
2239
+ static readonly ZERO: Cartesian3;
2240
+ /**
2241
+ * An immutable Cartesian3 instance initialized to (1.0, 1.0, 1.0).
2242
+ */
2243
+ static readonly ONE: Cartesian3;
2244
+ /**
2245
+ * An immutable Cartesian3 instance initialized to (1.0, 0.0, 0.0).
2246
+ */
2247
+ static readonly UNIT_X: Cartesian3;
2248
+ /**
2249
+ * An immutable Cartesian3 instance initialized to (0.0, 1.0, 0.0).
2250
+ */
2251
+ static readonly UNIT_Y: Cartesian3;
2252
+ /**
2253
+ * An immutable Cartesian3 instance initialized to (0.0, 0.0, 1.0).
2254
+ */
2255
+ static readonly UNIT_Z: Cartesian3;
2256
2256
  }
2257
2257
 
2258
2258
  /**
@@ -2305,10 +2305,6 @@ export class Cartesian4 {
2305
2305
  * @returns The modified result parameter or a new Cartesian4 instance if one was not provided. (Returns undefined if cartesian is undefined)
2306
2306
  */
2307
2307
  static clone(cartesian: Cartesian4, result?: Cartesian4): Cartesian4;
2308
- /**
2309
- * The number of elements used to pack the object into an array.
2310
- */
2311
- static packedLength: number;
2312
2308
  /**
2313
2309
  * Stores the provided instance into the provided array.
2314
2310
  * @param value - The value to pack.
@@ -2316,7 +2312,7 @@ export class Cartesian4 {
2316
2312
  * @param [startingIndex = 0] - The index into the array at which to start packing the elements.
2317
2313
  * @returns The array that was packed into
2318
2314
  */
2319
- static pack(value: Cartesian4, array: number[], startingIndex?: number): number[];
2315
+ static pack(value: Cartesian4, array: number[] | TypedArray, startingIndex?: number): number[] | TypedArray;
2320
2316
  /**
2321
2317
  * Retrieves an instance from a packed array.
2322
2318
  * @param array - The packed array.
@@ -2324,37 +2320,21 @@ export class Cartesian4 {
2324
2320
  * @param [result] - The object into which to store the result.
2325
2321
  * @returns The modified result parameter or a new Cartesian4 instance if one was not provided.
2326
2322
  */
2327
- static unpack(array: number[], startingIndex?: number, result?: Cartesian4): Cartesian4;
2323
+ static unpack(array: number[] | TypedArray, startingIndex?: number, result?: Cartesian4): Cartesian4;
2328
2324
  /**
2329
2325
  * Flattens an array of Cartesian4s into an array of components.
2330
2326
  * @param array - The array of cartesians to pack.
2331
2327
  * @param [result] - The array onto which to store the result. If this is a typed array, it must have array.length * 4 components, else a {@link DeveloperError} will be thrown. If it is a regular array, it will be resized to have (array.length * 4) elements.
2332
2328
  * @returns The packed array.
2333
2329
  */
2334
- static packArray(array: Cartesian4[], result?: number[]): number[];
2330
+ static packArray(array: Cartesian4[], result?: number[] | TypedArray): number[] | TypedArray;
2335
2331
  /**
2336
2332
  * Unpacks an array of cartesian components into an array of Cartesian4s.
2337
2333
  * @param array - The array of components to unpack.
2338
2334
  * @param [result] - The array onto which to store the result.
2339
2335
  * @returns The unpacked array.
2340
2336
  */
2341
- static unpackArray(array: number[], result?: Cartesian4[]): Cartesian4[];
2342
- /**
2343
- * Creates a Cartesian4 from four consecutive elements in an array.
2344
- * @example
2345
- * // Create a Cartesian4 with (1.0, 2.0, 3.0, 4.0)
2346
- * const v = [1.0, 2.0, 3.0, 4.0];
2347
- * const p = Cesium.Cartesian4.fromArray(v);
2348
- *
2349
- * // Create a Cartesian4 with (1.0, 2.0, 3.0, 4.0) using an offset into an array
2350
- * const v2 = [0.0, 0.0, 1.0, 2.0, 3.0, 4.0];
2351
- * const p2 = Cesium.Cartesian4.fromArray(v2, 2);
2352
- * @param array - The array whose four consecutive elements correspond to the x, y, z, and w components, respectively.
2353
- * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to the x component.
2354
- * @param [result] - The object onto which to store the result.
2355
- * @returns The modified result parameter or a new Cartesian4 instance if one was not provided.
2356
- */
2357
- static fromArray(array: number[], startingIndex?: number, result?: Cartesian4): Cartesian4;
2337
+ static unpackArray(array: number[] | TypedArray, result?: Cartesian4[]): Cartesian4[];
2358
2338
  /**
2359
2339
  * Computes the value of the maximum component for the supplied Cartesian.
2360
2340
  * @param cartesian - The cartesian to use.
@@ -2540,30 +2520,6 @@ export class Cartesian4 {
2540
2520
  * @returns <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
2541
2521
  */
2542
2522
  static equalsEpsilon(left?: Cartesian4, right?: Cartesian4, relativeEpsilon?: number, absoluteEpsilon?: number): boolean;
2543
- /**
2544
- * An immutable Cartesian4 instance initialized to (0.0, 0.0, 0.0, 0.0).
2545
- */
2546
- static readonly ZERO: Cartesian4;
2547
- /**
2548
- * An immutable Cartesian4 instance initialized to (1.0, 1.0, 1.0, 1.0).
2549
- */
2550
- static readonly ONE: Cartesian4;
2551
- /**
2552
- * An immutable Cartesian4 instance initialized to (1.0, 0.0, 0.0, 0.0).
2553
- */
2554
- static readonly UNIT_X: Cartesian4;
2555
- /**
2556
- * An immutable Cartesian4 instance initialized to (0.0, 1.0, 0.0, 0.0).
2557
- */
2558
- static readonly UNIT_Y: Cartesian4;
2559
- /**
2560
- * An immutable Cartesian4 instance initialized to (0.0, 0.0, 1.0, 0.0).
2561
- */
2562
- static readonly UNIT_Z: Cartesian4;
2563
- /**
2564
- * An immutable Cartesian4 instance initialized to (0.0, 0.0, 0.0, 1.0).
2565
- */
2566
- static readonly UNIT_W: Cartesian4;
2567
2523
  /**
2568
2524
  * Duplicates this Cartesian4 instance.
2569
2525
  * @param [result] - The object onto which to store the result.
@@ -2599,6 +2555,50 @@ export class Cartesian4 {
2599
2555
  * @returns A Cartesian4 representing the float packed to values in x, y, z, and w.
2600
2556
  */
2601
2557
  static packFloat(value: number, result?: Cartesian4): Cartesian4;
2558
+ /**
2559
+ * The number of elements used to pack the object into an array.
2560
+ */
2561
+ static packedLength: number;
2562
+ /**
2563
+ * Creates a Cartesian4 from four consecutive elements in an array.
2564
+ * @example
2565
+ * // Create a Cartesian4 with (1.0, 2.0, 3.0, 4.0)
2566
+ * const v = [1.0, 2.0, 3.0, 4.0];
2567
+ * const p = Cesium.Cartesian4.fromArray(v);
2568
+ *
2569
+ * // Create a Cartesian4 with (1.0, 2.0, 3.0, 4.0) using an offset into an array
2570
+ * const v2 = [0.0, 0.0, 1.0, 2.0, 3.0, 4.0];
2571
+ * const p2 = Cesium.Cartesian4.fromArray(v2, 2);
2572
+ * @param array - The array whose four consecutive elements correspond to the x, y, z, and w components, respectively.
2573
+ * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to the x component.
2574
+ * @param [result] - The object onto which to store the result.
2575
+ * @returns The modified result parameter or a new Cartesian4 instance if one was not provided.
2576
+ */
2577
+ static fromArray(array: number[], startingIndex?: number, result?: Cartesian4): Cartesian4;
2578
+ /**
2579
+ * An immutable Cartesian4 instance initialized to (0.0, 0.0, 0.0, 0.0).
2580
+ */
2581
+ static readonly ZERO: Cartesian4;
2582
+ /**
2583
+ * An immutable Cartesian4 instance initialized to (1.0, 1.0, 1.0, 1.0).
2584
+ */
2585
+ static readonly ONE: Cartesian4;
2586
+ /**
2587
+ * An immutable Cartesian4 instance initialized to (1.0, 0.0, 0.0, 0.0).
2588
+ */
2589
+ static readonly UNIT_X: Cartesian4;
2590
+ /**
2591
+ * An immutable Cartesian4 instance initialized to (0.0, 1.0, 0.0, 0.0).
2592
+ */
2593
+ static readonly UNIT_Y: Cartesian4;
2594
+ /**
2595
+ * An immutable Cartesian4 instance initialized to (0.0, 0.0, 1.0, 0.0).
2596
+ */
2597
+ static readonly UNIT_Z: Cartesian4;
2598
+ /**
2599
+ * An immutable Cartesian4 instance initialized to (0.0, 0.0, 0.0, 1.0).
2600
+ */
2601
+ static readonly UNIT_W: Cartesian4;
2602
2602
  }
2603
2603
 
2604
2604
  /**
@@ -8020,7 +8020,11 @@ export class GoogleGeocoderService {
8020
8020
  * Default settings for accessing the Google Maps API.
8021
8021
  * <br/>
8022
8022
  * An API key is only required if you are directly using any Google Maps APIs, such as through {@link createGooglePhotorealistic3DTileset}.
8023
- * Follow instructions for managing API keys for the Google Maps Platform at {@link https://developers.google.com/maps/documentation/embed/get-api-key}
8023
+ * Follow instructions for managing API keys for the Google Maps Platform at {@link https://developers.google.com/maps/documentation/embed/get-api-key}.
8024
+ * <br/>
8025
+ * You can enable multiple Google Maps Platform APIs on a single API key.
8026
+ * However, a separate {@link GoogleMaps.defaultStreetViewStaticApiKey}
8027
+ * is available if you prefer to use a dedicated key for the Street View Static API.
8024
8028
  */
8025
8029
  export namespace GoogleMaps {
8026
8030
  /**
@@ -8031,6 +8035,14 @@ export namespace GoogleMaps {
8031
8035
  * Gets or sets the default Google Map Tiles API endpoint.
8032
8036
  */
8033
8037
  var mapTilesApiEndpoint: string | Resource;
8038
+ /**
8039
+ * Gets or sets the default Google Maps Street View Static API key.
8040
+ */
8041
+ var defaultStreetViewStaticApiKey: undefined | string;
8042
+ /**
8043
+ * Gets or sets the default Google Street View Static API endpoint.
8044
+ */
8045
+ var streetViewStaticApiEndpoint: string | Resource;
8034
8046
  }
8035
8047
 
8036
8048
  /**
@@ -8801,7 +8813,7 @@ export namespace IntersectionTests {
8801
8813
  /**
8802
8814
  * Computes the intersection of a ray and a triangle as a parametric distance along the input ray. The result is negative when the triangle is behind the ray.
8803
8815
  *
8804
- * Implements {@link https://cadxfem.org/inf/Fast%20MinimumStorage%20RayTriangle%20Intersection.pdf|
8816
+ * Implements {@link https://cadxfem.org/inf/Fast MinimumStorage RayTriangle Intersection.pdf|
8805
8817
  * Fast Minimum Storage Ray/Triangle Intersection} by Tomas Moller and Ben Trumbore.
8806
8818
  * @param ray - The ray.
8807
8819
  * @param p0 - The first vertex of the triangle.
@@ -8815,7 +8827,7 @@ export namespace IntersectionTests {
8815
8827
  /**
8816
8828
  * Computes the intersection of a ray and a triangle as a Cartesian3 coordinate.
8817
8829
  *
8818
- * Implements {@link https://cadxfem.org/inf/Fast%20MinimumStorage%20RayTriangle%20Intersection.pdf|
8830
+ * Implements {@link https://cadxfem.org/inf/Fast MinimumStorage RayTriangle Intersection.pdf|
8819
8831
  * Fast Minimum Storage Ray/Triangle Intersection} by Tomas Moller and Ben Trumbore.
8820
8832
  * @param ray - The ray.
8821
8833
  * @param p0 - The first vertex of the triangle.
@@ -18896,6 +18908,16 @@ export function getImagePixels(image: HTMLImageElement | ImageBitmap, width: num
18896
18908
  */
18897
18909
  export function getTimestamp(): number;
18898
18910
 
18911
+ /**
18912
+ * Union of all numeric typed array types.
18913
+ */
18914
+ export type TypedArray = Float64Array | Float32Array | Uint32Array | Uint16Array | Uint8Array | Int32Array | Int16Array | Int8Array;
18915
+
18916
+ /**
18917
+ * Union of all numeric typed array constructor types.
18918
+ */
18919
+ export type TypedArrayConstructor = Float64ArrayConstructor | Float32ArrayConstructor | Uint32ArrayConstructor | Uint16ArrayConstructor | Uint8ArrayConstructor | Int32ArrayConstructor | Int16ArrayConstructor | Int8ArrayConstructor;
18920
+
18899
18921
  /**
18900
18922
  * Determines if a given date is a leap year.
18901
18923
  * @example
@@ -19065,6 +19087,15 @@ export function srgbToLinear(value: number): number;
19065
19087
  */
19066
19088
  export function subdivideArray(array: any[], numberOfArrays: number): void;
19067
19089
 
19090
+ /**
19091
+ * Computes dimensions for text, based on current canvas state.
19092
+ *
19093
+ * Rounds metrics, excluding width, to whole pixels. This is purely to minimize
19094
+ * rendering differences with migration to in-browser measureText(), and may be
19095
+ * revised in the future. See: github.com/CesiumGS/cesium/pull/13081
19096
+ */
19097
+ export function measureText(): void;
19098
+
19068
19099
  /**
19069
19100
  * Writes the given text into a new canvas. The canvas will be sized to fit the text.
19070
19101
  * If text is blank, returns undefined.
@@ -26576,7 +26607,7 @@ export namespace Billboard {
26576
26607
  * @property [pixelOffsetScaleByDistance] - A {@link NearFarScalar} Specifying near and far pixel offset scaling properties of a Billboard based on the billboard's distance from the camera.
26577
26608
  * @property [imageSubRegion] - A {@link BoundingRectangle} Specifying the sub-region of the image to use for the billboard, rather than the entire image.
26578
26609
  * @property [distanceDisplayCondition] - A {@link DistanceDisplayCondition} Specifying the distance from the camera at which this billboard will be displayed.
26579
- * @property [disableDepthTestDistance] - A number specifying the distance from the camera at which to disable the depth test to, for example, prevent clipping against terrain.
26610
+ * @property [disableDepthTestDistance] - The distance from the camera, beyond which, depth testing is disabled—to, for example, prevent clipping against terrain.
26580
26611
  * @property [splitDirection] - A {@link SplitDirection} Specifying the split property of the billboard.
26581
26612
  */
26582
26613
  type ConstructorOptions = {
@@ -26838,10 +26869,12 @@ export class Billboard {
26838
26869
  */
26839
26870
  distanceDisplayCondition: DistanceDisplayCondition;
26840
26871
  /**
26841
- * Gets or sets the distance from the camera at which to disable the depth test to, for example, prevent clipping against terrain.
26842
- * When set to zero, the depth test is always applied. When set to Number.POSITIVE_INFINITY, the depth test is never applied.
26872
+ * Gets or sets the distance from the camera, beyond which, depth testing is disbaled—to,
26873
+ * for example, prevent clipping against terrain. When set to <code>undefined</code> or
26874
+ * <code>0</code>, the depth test is always applied. When set to
26875
+ * <code>Number.POSITIVE_INFINITY</code>, the depth test is never applied.
26843
26876
  */
26844
- disableDepthTestDistance: number;
26877
+ disableDepthTestDistance: number | undefined;
26845
26878
  /**
26846
26879
  * Gets or sets the user-defined object returned when the billboard is picked.
26847
26880
  */
@@ -26970,6 +27003,8 @@ export const SVG_MAX_SIZE_PX = 512;
26970
27003
  * is used for rendering both opaque and translucent billboards. However, if either all of the billboards are completely opaque or all are completely translucent,
26971
27004
  * setting the technique to BlendOption.OPAQUE or BlendOption.TRANSLUCENT can improve performance by up to 2x.
26972
27005
  * @param [options.show = true] - Determines if the billboards in the collection will be shown.
27006
+ * @param [options.coarseDepthTestDistance] - The distance from the camera, beyond which, billboards are depth-tested against an approximation of the globe ellipsoid rather than against the full globe depth buffer. If unspecified, the default value is determined relative to the value of {@link Ellipsoid.default}.
27007
+ * @param [options.threePointDepthTestDistance] - The distance from the camera, within which, billboards with a {@link Billboard#heightReference} value of {@link HeightReference.CLAMP_TO_GROUND} or {@link HeightReference.CLAMP_TO_TERRAIN} are depth tested against three key points. This ensures that if any key point of the billboard is visible, the whole billboard will be visible. If unspecified, the default value is determined relative to the value of {@link Ellipsoid.default}.
26973
27008
  */
26974
27009
  export class BillboardCollection {
26975
27010
  constructor(options?: {
@@ -26978,6 +27013,8 @@ export class BillboardCollection {
26978
27013
  scene?: Scene;
26979
27014
  blendOption?: BlendOption;
26980
27015
  show?: boolean;
27016
+ coarseDepthTestDistance?: number;
27017
+ threePointDepthTestDistance?: number;
26981
27018
  });
26982
27019
  /**
26983
27020
  * Determines if billboards in this collection will be shown.
@@ -27036,6 +27073,29 @@ export class BillboardCollection {
27036
27073
  * in the collection.
27037
27074
  */
27038
27075
  readonly length: number;
27076
+ /**
27077
+ * The distance from the camera, beyond which, billboards are depth-tested against an approximation of
27078
+ * the globe ellipsoid rather than against the full globe depth buffer. When set to <code>0</code>, the
27079
+ * approximate depth test is always applied. When set to <code>Number.POSITIVE_INFINITY</code>, the
27080
+ * approximate depth test is never applied.
27081
+ * <br/><br/>
27082
+ * This setting only applies when a billboard's {@link Billboard#disableDepthTestDistance} value would
27083
+ * otherwise allow depth testing—i.e., distance from the camera to the billboard is less than a
27084
+ * billboard's {@link Billboard#disableDepthTestDistance} value.
27085
+ */
27086
+ coarseDepthTestDistance: number;
27087
+ /**
27088
+ * The distance from the camera, within which, billboards with a {@link Billboard#heightReference} value
27089
+ * of {@link HeightReference.CLAMP_TO_GROUND} or {@link HeightReference.CLAMP_TO_TERRAIN} are depth tested
27090
+ * against three key points. This ensures that if any key point of the billboard is visible, the whole
27091
+ * billboard will be visible. When set to <code>0</code>, this feature is disabled and portions of a
27092
+ * billboards behind terrain be clipped.
27093
+ * <br/><br/>
27094
+ * This setting only applies when a billboard's {@link Billboard#disableDepthTestDistance} value would
27095
+ * otherwise allow depth testing—i.e., distance from the camera to the billboard is less than a
27096
+ * billboard's {@link Billboard#disableDepthTestDistance} value.
27097
+ */
27098
+ threePointDepthTestDistance: number;
27039
27099
  /**
27040
27100
  * Creates and adds a billboard with the specified initial properties to the collection.
27041
27101
  * The added billboard is returned so it can be modified or removed from the collection later.
@@ -31709,6 +31769,97 @@ export class CreditDisplay {
31709
31769
  static cesiumCredit: Credit;
31710
31770
  }
31711
31771
 
31772
+ export namespace CubeMapPanorama {
31773
+ /**
31774
+ * Initialization options for the CubeMapPanorama constructor
31775
+ * @property [options.sources] - The source URL or <code>Image</code> object for each of the six cube map faces. See the example below.
31776
+ * @property [options.transform] - A 4x4 transformation matrix that defines the panorama’s position and orientation
31777
+ * @property [options.show = true] - Determines if this primitive will be shown.
31778
+ * @property [options.credit] - A credit for the panorama, which is displayed on the canvas.
31779
+ */
31780
+ type ConstructorOptions = {};
31781
+ }
31782
+
31783
+ /**
31784
+ * A {@link Panorama} that displays imagery in cube map format in a scene.
31785
+ * <p>
31786
+ * This is only supported in 3D. The cube map panorama is faded out when morphing to 2D or Columbus view. The size of
31787
+ * the cube map panorama must not exceed {@link Scene#maximumSkyBoxSize}.
31788
+ * </p>
31789
+ * @example
31790
+ * const modelMatrix = Cesium.Matrix4.getMatrix3(
31791
+ * Cesium.Transforms.localFrameToFixedFrameGenerator("north", "down")(
31792
+ * Cesium.Cartesian3.fromDegrees(longitude, latitude, height),
31793
+ * Cesium.Ellipsoid.default
31794
+ * ),
31795
+ * new Cesium.Matrix3()
31796
+ * );
31797
+ *
31798
+ *
31799
+ * scene.primitives.add(new Cesium.CubeMapPanorama({
31800
+ * sources : {
31801
+ * positiveX : 'cubemap_px.png',
31802
+ * negativeX : 'cubemap_nx.png',
31803
+ * positiveY : 'cubemap_py.png',
31804
+ * negativeY : 'cubemap_ny.png',
31805
+ * positiveZ : 'cubemap_pz.png',
31806
+ * negativeZ : 'cubemap_nz.png'
31807
+ * }
31808
+ * transform: modelMatrix,
31809
+ * }));
31810
+ * @param options - Object describing initialization options
31811
+ */
31812
+ export class CubeMapPanorama {
31813
+ constructor(options: CubeMapPanorama.ConstructorOptions);
31814
+ /**
31815
+ * The sources used to create the cube map faces: an object
31816
+ * with <code>positiveX</code>, <code>negativeX</code>, <code>positiveY</code>,
31817
+ * <code>negativeY</code>, <code>positiveZ</code>, and <code>negativeZ</code> properties.
31818
+ * These can be either URLs or <code>Image</code> objects.
31819
+ */
31820
+ sources: any;
31821
+ /**
31822
+ * Determines if the cube map panorama will be shown.
31823
+ */
31824
+ show: boolean;
31825
+ /**
31826
+ * Gets the transform of the panorama.
31827
+ */
31828
+ readonly transform: Matrix4;
31829
+ /**
31830
+ * Gets the credits of the panorama.
31831
+ */
31832
+ readonly credit: Credit;
31833
+ /**
31834
+ * Called when {@link Viewer} or {@link CesiumWidget} render the scene to
31835
+ * get the draw commands needed to render this primitive.
31836
+ * <p>
31837
+ * Do not call this function directly. This is documented just to
31838
+ * list the exceptions that may be propagated when the scene is rendered:
31839
+ * </p>
31840
+ */
31841
+ update(): void;
31842
+ /**
31843
+ * Returns true if this object was destroyed; otherwise, false.
31844
+ * <br /><br />
31845
+ * If this object was destroyed, it should not be used; calling any function other than
31846
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
31847
+ * @returns <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
31848
+ */
31849
+ isDestroyed(): boolean;
31850
+ /**
31851
+ * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
31852
+ * release of WebGL resources, instead of relying on the garbage collector to destroy this object.
31853
+ * <br /><br />
31854
+ * Once an object is destroyed, it should not be used; calling any function other than
31855
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
31856
+ * assign the return value (<code>undefined</code>) to the object as done in the example.
31857
+ * @example
31858
+ * cubeMapPanorama = cubeMapPanorama && cubeMapPanorama.destroy();
31859
+ */
31860
+ destroy(): void;
31861
+ }
31862
+
31712
31863
  /**
31713
31864
  * Determines which triangles, if any, are culled.
31714
31865
  */
@@ -32124,16 +32275,6 @@ export enum DepthFunction {
32124
32275
  ALWAYS = WebGLConstants.ALWAYS
32125
32276
  }
32126
32277
 
32127
- /**
32128
- * Returns the type that the given class property has in a GLSL shader.
32129
- *
32130
- * It returns the same string as `PropertyTextureProperty.prototype.getGlslType`
32131
- * for a property texture property with the given class property
32132
- * @param classProperty - The class property
32133
- * @returns The GLSL shader type string for the property
32134
- */
32135
- export function getGlslType(classProperty: MetadataClassProperty): string;
32136
-
32137
32278
  /**
32138
32279
  * Returns a shader statement that applies the inverse of the
32139
32280
  * value transform to the given value, based on the given offset
@@ -32282,7 +32423,7 @@ export namespace DynamicEnvironmentMapManager {
32282
32423
  /**
32283
32424
  * Options for the DynamicEnvironmentMapManager constructor
32284
32425
  * @property [enabled = true] - If true, the environment map and related properties will continue to update.
32285
- * @property [mipmapLevels = 7] - The number of mipmap levels to generate for specular maps. More mipmap levels will produce a higher resolution specular reflection.
32426
+ * @property [mipmapLevels = 7] - The maximum desired number of mipmap levels to generate for specular maps. More mipmap levels will produce a higher resolution specular reflection. The actual number of mipmaps used will be bounded by the cubemap texture size supported on the client machine. The number of mipmaps must be at least one for the environment map to be generated.
32286
32427
  * @property [maximumSecondsDifference = 3600] - The maximum amount of elapsed seconds before a new environment map is created.
32287
32428
  * @property [maximumPositionEpsilon = 1000] - The maximum difference in position before a new environment map is created, in meters. Small differences in position will not visibly affect results.
32288
32429
  * @property [atmosphereScatteringIntensity = 2.0] - The intensity of the scattered light emitted from the atmosphere. This should be adjusted relative to the value of {@link Scene.light} intensity.
@@ -32533,6 +32674,104 @@ export class EllipsoidSurfaceAppearance {
32533
32674
  getRenderState(): any;
32534
32675
  }
32535
32676
 
32677
+ export namespace EquirectangularPanorama {
32678
+ /**
32679
+ * Initialization options for the EquirectangularPanorama constructor
32680
+ * @property options.transform - A 4x4 transformation matrix that defines the panorama’s position and orientation
32681
+ * (for example, derived from a position and heading-pitch-roll).
32682
+ * @property options.image - A URL to an image resource, or a preloaded image object.
32683
+ * @property [options.radius = 100000.0] - The radius of the panorama in meters.
32684
+ * @property [options.repeatHorizontal = 1.0] - The number of times to repeat the texture horizontally.
32685
+ * @property [options.repeatVertical = 1.0] - The number of times to repeat the texture vertically.
32686
+ * @property [options.credit] - A credit for the panorama, which is displayed on the canvas.
32687
+ */
32688
+ type ConstructorOptions = {};
32689
+ }
32690
+
32691
+ /**
32692
+ * A {@link Panorama} that displays imagery in equirectangular format in a scene.
32693
+ * @example
32694
+ * const position = Cesium.Cartesian3.fromDegrees(
32695
+ * -75.1699, // longitude
32696
+ * 39.9522, // latitude
32697
+ * 100.0 // height in meters
32698
+ * );
32699
+ *
32700
+ * const heading = Cesium.Math.toRadians(45.0); // rotation about up axis
32701
+ * const pitch = Cesium.Math.toRadians(-30.0); // pitch (negative looks down)
32702
+ * const roll = Cesium.Math.toRadians(10.0); // roll about forward axis
32703
+ *
32704
+ * const hpr = new Cesium.HeadingPitchRoll(
32705
+ * heading,
32706
+ * pitch,
32707
+ * roll
32708
+ * );
32709
+ *
32710
+ * const modelMatrix = Cesium.Transforms.headingPitchRollToFixedFrame(
32711
+ * position,
32712
+ * hpr,
32713
+ * Cesium.Ellipsoid.WGS84,
32714
+ * Cesium.Transforms.eastNorthUpToFixedFrame
32715
+ * );
32716
+ *
32717
+ * scene.primitives.add(new Cesium.EquirectangularPanorama({
32718
+ * transform: modelMatrix,
32719
+ * image: 'path/to/image',
32720
+ * }));
32721
+ * @param options - Object describing initialization options
32722
+ */
32723
+ export class EquirectangularPanorama {
32724
+ constructor(options: EquirectangularPanorama.ConstructorOptions);
32725
+ /**
32726
+ * Gets the radius of the panorama.
32727
+ */
32728
+ readonly radius: number;
32729
+ /**
32730
+ * Gets the source image of the panorama.
32731
+ */
32732
+ readonly image: string | HTMLImageElement | HTMLCanvasElement | ImageBitmap;
32733
+ /**
32734
+ * Gets the transform of the panorama.
32735
+ */
32736
+ readonly transform: Matrix4;
32737
+ /**
32738
+ * Gets the credits of the panorama.
32739
+ */
32740
+ readonly credit: Credit;
32741
+ /**
32742
+ * Determines if the equirectangular panorama will be shown.
32743
+ */
32744
+ show: boolean;
32745
+ /**
32746
+ * Called when {@link Viewer} or {@link CesiumWidget} render the scene to
32747
+ * get the draw commands needed to render this primitive.
32748
+ * <p>
32749
+ * Do not call this function directly. This is documented just to
32750
+ * list the exceptions that may be propagated when the scene is rendered:
32751
+ * </p>
32752
+ */
32753
+ update(): void;
32754
+ /**
32755
+ * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
32756
+ * release of WebGL resources, instead of relying on the garbage collector to destroy this object.
32757
+ * <br /><br />
32758
+ * Once an object is destroyed, it should not be used; calling any function other than
32759
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
32760
+ * assign the return value (<code>undefined</code>) to the object as done in the example.
32761
+ * @example
32762
+ * equirectangularPanorama = equirectangularPanorama && equirectangularPanorama.destroy();
32763
+ */
32764
+ destroy(): void;
32765
+ /**
32766
+ * Returns true if this object was destroyed; otherwise, false.
32767
+ * <br /><br />
32768
+ * If this object was destroyed, it should not be used; calling any function other than
32769
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
32770
+ * @returns <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
32771
+ */
32772
+ isDestroyed(): boolean;
32773
+ }
32774
+
32536
32775
  /**
32537
32776
  * An expression for a style applied to a {@link Cesium3DTileset}.
32538
32777
  * <p>
@@ -33833,6 +34072,87 @@ export class GoogleEarthEnterpriseMapsProvider {
33833
34072
  static logoUrl: string;
33834
34073
  }
33835
34074
 
34075
+ /**
34076
+ * <div class="notice">
34077
+ * This object is normally not instantiated directly, use {@link GoogleStreetViewCubeMapPanoramaProvider.fromUrl}.
34078
+ * </div>
34079
+ *
34080
+ *
34081
+ * Creates a {@link PanoramaProvider} which provides imagery from {@link https://developers.google.com/maps/documentation/streetview|Google Street View Static API} to be displayed in a panorama.
34082
+ */
34083
+ export class GoogleStreetViewCubeMapPanoramaProvider {
34084
+ constructor();
34085
+ /**
34086
+ * Gets the panorama primitive for a requested position and orientation.
34087
+ * @example
34088
+ * const provider = await Cesium.GoogleStreetViewCubeMapPanoramaProvider.fromUrl({
34089
+ * key: 'your Google Streetview Static api key'
34090
+ * })
34091
+ *
34092
+ * const panoIdObject = provider.getNearestPanoId(position);
34093
+ * const position = Cartographic.fromDegrees(panoIdObject.location.lng, panoIdObject.location.lat, 0);
34094
+ *
34095
+ * const primitive = await provider.loadPanorama({
34096
+ * cartographic: position,
34097
+ * panoId: panoIdObject.panoId
34098
+ * });
34099
+ * viewer.scene.primitive.add(primitive);
34100
+ * @param options - Object with the following properties:
34101
+ * @param options.cartographic - The position to place the panorama in the scene.
34102
+ * @param [options.panoId] - The panoramaId identifier for the image in the Google API. If not provided this will be looked up for the provided cartographic location.
34103
+ * @param [options.tileSize] - Optional tile size override (square).
34104
+ * @param [options.signature] - Optional signature for signed URLs. See {@link https://developers.google.com/maps/documentation/streetview/digital-signature} for more information.
34105
+ * @param [options.credit] - A credit for the data source, which is displayed on the canvas.
34106
+ * @returns The panorama primitive textured with imagery.
34107
+ */
34108
+ loadPanorama(options: {
34109
+ cartographic: Cartographic;
34110
+ panoId?: string;
34111
+ tileSize?: number;
34112
+ signature?: string;
34113
+ credit?: Credit | string;
34114
+ }): CubeMapPanorama;
34115
+ /**
34116
+ * Gets the panoIds for the given cartographic location. See {@link https://developers.google.com/maps/documentation/tile/streetview#panoid-search}.
34117
+ * @example
34118
+ * const provider = await Cesium.GoogleStreetViewCubeMapPanoramaProvider.fromUrl({
34119
+ * key: 'your Google Streetview Static api key'
34120
+ * })
34121
+ * const panoIds = provider.getNearestPanoId(position);
34122
+ * @param position - The position to search for the nearest panoId.
34123
+ * @param [radius = 50] - The radius in meters to search for the nearest panoId.
34124
+ * @returns an object containing a panoId, latitude, and longitude of the closest panorama
34125
+ */
34126
+ getNearestPanoId(position: Cartographic, radius?: number): any;
34127
+ /**
34128
+ * Gets metadata for panoId. See {@link https://developers.google.com/maps/documentation/tile/streetview#metadata_response} for response object.
34129
+ * @example
34130
+ * const panoIdObject = provider.getNearestPanoId(position);
34131
+ * const panoIdMetadata = provider.getPanoIdMetadata(panoIdObject.panoId);
34132
+ * @returns object containing metadata for the panoId.
34133
+ */
34134
+ getPanoIdMetadata(panoId: string): any;
34135
+ /**
34136
+ * Creates a {@link PanoramaProvider} which provides cube face images from the {@link https://developers.google.com/maps/documentation/streetview|Google Street View Static API}.
34137
+ * @example
34138
+ * const provider = await Cesium.GoogleStreetViewCubeMapPanoramaProvider.fromUrl({
34139
+ * key: 'your Google Streetview Static api key'
34140
+ * })
34141
+ * @param options - Object with the following properties:
34142
+ * @param [options.key = GoogleMaps.defaultStreetViewStaticApiKey] - Your API key to access Google Street View Static API. See {@link https://developers.google.com/maps/documentation/javascript/get-api-key} for instructions on how to create your own key. If undefined, defaults to {@link GoogleMaps.defaultStreetViewStaticApiKey}. If that value is unavailable, falls back to {@link GoogleMaps.defaultApiKey}.
34143
+ * @param [options.url = GoogleMaps.streetViewStaticApiEndpoint] - The URL to access Google Street View Static API. See {@link https://developers.google.com/maps/documentation/streetview/overview} for more information.
34144
+ * @param [options.tileSize = 600] - Default width and height (in pixels) of each square tile.
34145
+ * @param [options.credit] - A credit for the data source, which is displayed on the canvas.
34146
+ * @returns A promise that resolves to the created GoogleStreetViewCubeMapPanoramaProvider.'
34147
+ */
34148
+ static fromUrl(options: {
34149
+ key?: string;
34150
+ url?: string | Resource;
34151
+ tileSize?: number;
34152
+ credit?: Credit | string;
34153
+ }): Promise<GoogleStreetViewCubeMapPanoramaProvider>;
34154
+ }
34155
+
33836
34156
  export namespace GridImageryProvider {
33837
34157
  /**
33838
34158
  * Initialization options for the GridImageryProvider constructor
@@ -35934,7 +36254,7 @@ export namespace Label {
35934
36254
  * @property [pixelOffsetScaleByDistance] - A {@link NearFarScalar} specifying near and far pixel offset scaling properties of the label based on the label's distance from the camera.
35935
36255
  * @property [scaleByDistance] - A {@link NearFarScalar} specifying near and far scaling properties of the label based on the label's distance from the camera.
35936
36256
  * @property [distanceDisplayCondition] - A {@link DistanceDisplayCondition} specifying at what distance from the camera that this label will be displayed.
35937
- * @property [disableDepthTestDistance] - A number specifying the distance from the camera at which to disable the depth test to, for example, prevent clipping against terrain.
36257
+ * @property [disableDepthTestDistance] - The distance from the camera, beyond which, depth testing is disabled—to, for example, prevent clipping against terrain.
35938
36258
  */
35939
36259
  type ConstructorOptions = {
35940
36260
  position: Cartesian3;
@@ -36168,10 +36488,11 @@ export class Label {
36168
36488
  */
36169
36489
  distanceDisplayCondition: DistanceDisplayCondition;
36170
36490
  /**
36171
- * Gets or sets the distance from the camera at which to disable the depth test to, for example, prevent clipping against terrain.
36172
- * When set to zero, the depth test is always applied. When set to Number.POSITIVE_INFINITY, the depth test is never applied.
36491
+ * Gets or sets the distance from the camera, beyond which, depth testing is disabled—to, for example, prevent clipping against terrain.
36492
+ * When set to <code>undefined</code> or
36493
+ * <code>0</code>, the depth test is always applied. When set to Number.<code>POSITIVE_INFINITY</code>, the depth test is never applied.
36173
36494
  */
36174
- disableDepthTestDistance: number;
36495
+ disableDepthTestDistance: number | undefined;
36175
36496
  /**
36176
36497
  * Gets or sets the user-defined value returned when the label is picked.
36177
36498
  */
@@ -36259,6 +36580,8 @@ export class Label {
36259
36580
  * is used for rendering both opaque and translucent labels. However, if either all of the labels are completely opaque or all are completely translucent,
36260
36581
  * setting the technique to BlendOption.OPAQUE or BlendOption.TRANSLUCENT can improve performance by up to 2x.
36261
36582
  * @param [options.show = true] - Determines if the labels in the collection will be shown.
36583
+ * @param [options.coarseDepthTestDistance] - The distance from the camera, beyond which, labels are depth-tested against an approximation of the globe ellipsoid rather than against the full globe depth buffer. If unspecified, the default value is determined relative to the value of {@link Ellipsoid.default}.
36584
+ * @param [options.threePointDepthTestDistance] - The distance from the camera, within which, lables with a {@link Label#heightReference} value of {@link HeightReference.CLAMP_TO_GROUND} or {@link HeightReference.CLAMP_TO_TERRAIN} are depth tested against three key points. This ensures that if any key point of the label is visible, the whole label will be visible. If unspecified, the default value is determined relative to the value of {@link Ellipsoid.default}.
36262
36585
  */
36263
36586
  export class LabelCollection {
36264
36587
  constructor(options?: {
@@ -36267,6 +36590,8 @@ export class LabelCollection {
36267
36590
  scene?: Scene;
36268
36591
  blendOption?: BlendOption;
36269
36592
  show?: boolean;
36593
+ coarseDepthTestDistance?: number;
36594
+ threePointDepthTestDistance?: number;
36270
36595
  });
36271
36596
  /**
36272
36597
  * Determines if labels in this collection will be shown.
@@ -36318,6 +36643,29 @@ export class LabelCollection {
36318
36643
  * in the collection.
36319
36644
  */
36320
36645
  readonly length: number;
36646
+ /**
36647
+ * The distance from the camera, beyond which, labels are depth-tested against an approximation of
36648
+ * the globe ellipsoid rather than against the full globe depth buffer. When set to <code>0</code>, the
36649
+ * approximate depth test is always applied. When set to <code>Number.POSITIVE_INFINITY</code>, the
36650
+ * approximate depth test is never applied.
36651
+ * <br/><br/>
36652
+ * This setting only applies when a label's {@link Label#disableDepthTestDistance} value would
36653
+ * otherwise allow depth testing—i.e., distance from the camera to the label is less than the
36654
+ * label's {@link Label#disableDepthTestDistance} value.
36655
+ */
36656
+ coarseDepthTestDistance: number;
36657
+ /**
36658
+ * The distance from the camera, within which, labels with a {@link Label#heightReference} value
36659
+ * of {@link HeightReference.CLAMP_TO_GROUND} or {@link HeightReference.CLAMP_TO_TERRAIN} are depth tested
36660
+ * against three key points. This ensures that if any key point of the label is visible, the whole
36661
+ * label will be visible. When set to <code>0</code>, this feature is disabled and portions of a
36662
+ * label behind terrain be clipped.
36663
+ * <br/><br/>
36664
+ * This setting only applies when a labels's {@link Label#disableDepthTestDistance} value would
36665
+ * otherwise allow depth testing—i.e., distance from the camera to the label is less than the
36666
+ * labels's {@link Label#disableDepthTestDistance} value.
36667
+ */
36668
+ threePointDepthTestDistance: number;
36321
36669
  /**
36322
36670
  * Creates and adds a label with the specified initial properties to the collection.
36323
36671
  * The added label is returned so it can be modified or removed from the collection later.
@@ -37313,6 +37661,11 @@ export namespace MaterialAppearance {
37313
37661
  }
37314
37662
  }
37315
37663
 
37664
+ /**
37665
+ * Gets or sets the nearest sampling flag.
37666
+ */
37667
+ export var nearestSampling: boolean;
37668
+
37316
37669
  /**
37317
37670
  * A metadata class.
37318
37671
  *
@@ -37407,8 +37760,8 @@ export class MetadataClassProperty {
37407
37760
  max?: number | number[] | number[][];
37408
37761
  offset?: number | number[] | number[][];
37409
37762
  scale?: number | number[] | number[][];
37410
- noData?: boolean | number | string | any[];
37411
- default?: boolean | number | string | any[];
37763
+ noData?: number | string | any[];
37764
+ default?: number | string | any[];
37412
37765
  required?: boolean;
37413
37766
  name?: string;
37414
37767
  description?: string;
@@ -37470,11 +37823,11 @@ export class MetadataClassProperty {
37470
37823
  /**
37471
37824
  * The no-data sentinel value that represents null values
37472
37825
  */
37473
- readonly noData: boolean | number | string | any[];
37826
+ readonly noData: number | string | any[];
37474
37827
  /**
37475
37828
  * A default value to use when an entity's property value is not defined.
37476
37829
  */
37477
- readonly default: boolean | number | string | any[];
37830
+ readonly default: number | string | any[];
37478
37831
  /**
37479
37832
  * Whether the property is required.
37480
37833
  */
@@ -37538,11 +37891,11 @@ export enum MetadataComponentType {
37538
37891
  */
37539
37892
  UINT32 = "UINT32",
37540
37893
  /**
37541
- * A 64-bit signed integer. This type requires BigInt support.
37894
+ * A 64-bit signed integer.
37542
37895
  */
37543
37896
  INT64 = "INT64",
37544
37897
  /**
37545
- * A 64-bit signed integer. This type requires BigInt support
37898
+ * A 64-bit signed integer.
37546
37899
  */
37547
37900
  UINT64 = "UINT64",
37548
37901
  /**
@@ -39610,6 +39963,45 @@ export class OpenStreetMapImageryProvider extends UrlTemplateImageryProvider {
39610
39963
  constructor(options: OpenStreetMapImageryProvider.ConstructorOptions);
39611
39964
  }
39612
39965
 
39966
+ /**
39967
+ * Displays panorama imagery in a scene. This type describes an interface and is not intended to be instantiated directly.
39968
+ */
39969
+ export class Panorama {
39970
+ constructor();
39971
+ /**
39972
+ * Determines if the panorama will be shown.
39973
+ */
39974
+ show: boolean;
39975
+ /**
39976
+ * Gets the transform of the panorama.
39977
+ */
39978
+ readonly transform: Matrix4;
39979
+ /**
39980
+ * Gets the credits of the panorama.
39981
+ */
39982
+ readonly credit: Credit;
39983
+ }
39984
+
39985
+ /**
39986
+ * Provides imagery to be displayed on the surface of an ellipsoid. This type describes an
39987
+ * interface and is not intended to be instantiated directly.
39988
+ */
39989
+ export class PanoramaProvider {
39990
+ constructor();
39991
+ /**
39992
+ * Returns a panorama provider.
39993
+ * @param options - Input options to create the panorama provider.
39994
+ * @returns The panorama provider for loading panoramas into a scene.
39995
+ */
39996
+ static fromUrl(options: any): PanoramaProvider;
39997
+ /**
39998
+ * Returns a panorama primitive.
39999
+ * @param options - Input options to create the panorama primitive.
40000
+ * @returns The panorama primitive for displaying panoramas in a scene.
40001
+ */
40002
+ loadPanorama(options: any): Panorama;
40003
+ }
40004
+
39613
40005
  /**
39614
40006
  * A particle emitted by a {@link ParticleSystem}.
39615
40007
  * @param options - An object with the following properties:
@@ -41206,7 +41598,7 @@ export class PostProcessStageCollection {
41206
41598
  readonly length: number;
41207
41599
  /**
41208
41600
  * Specifies the tonemapping algorithm used when rendering with high dynamic range.
41209
- * {@link https://sandcastle.cesium.com/?src=High%20Dynamic%20Range.html|Sandcastle Demo}
41601
+ * {@link https://sandcastle.cesium.com/?id=high-dynamic-range|Sandcastle Demo}
41210
41602
  * @example
41211
41603
  * viewer.scene.postProcessStages.tonemapper = Cesium.Tonemapper.ACES;
41212
41604
  */
@@ -43369,17 +43761,14 @@ export class SkyBox {
43369
43761
  sources?: any;
43370
43762
  show?: boolean;
43371
43763
  });
43372
- /**
43373
- * The sources used to create the cube map faces: an object
43374
- * with <code>positiveX</code>, <code>negativeX</code>, <code>positiveY</code>,
43375
- * <code>negativeY</code>, <code>positiveZ</code>, and <code>negativeZ</code> properties.
43376
- * These can be either URLs or <code>Image</code> objects.
43377
- */
43378
- sources: any;
43379
43764
  /**
43380
43765
  * Determines if the sky box will be shown.
43381
43766
  */
43382
43767
  show: boolean;
43768
+ /**
43769
+ * Gets or sets the the primitive object.
43770
+ */
43771
+ sources: any;
43383
43772
  /**
43384
43773
  * Called when {@link Viewer} or {@link CesiumWidget} render the scene to
43385
43774
  * get the draw commands needed to render this primitive.