mars3d-cesium 1.139.1 → 1.141.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 (135) hide show
  1. package/Build/Cesium/Cesium.d.ts +665 -387
  2. package/Build/Cesium/Cesium.js +2049 -729
  3. package/Build/Cesium/ThirdParty/Workers/zip-web-worker.js +1 -1
  4. package/Build/Cesium/ThirdParty/google-earth-dbroot-parser.js +1 -1
  5. package/Build/Cesium/ThirdParty/zip-module.wasm +0 -0
  6. package/Build/Cesium/Workers/{chunk-N7KGG35K.js → chunk-2ZUMP6FE.js} +2 -2
  7. package/Build/Cesium/Workers/{chunk-OVG6N3FT.js → chunk-3FTNCCYT.js} +2 -2
  8. package/Build/Cesium/Workers/chunk-4DV5ZZMP.js +26 -0
  9. package/Build/Cesium/Workers/chunk-5OG7DLNT.js +26 -0
  10. package/Build/Cesium/Workers/chunk-5VC6GKJD.js +26 -0
  11. package/Build/Cesium/Workers/chunk-5WIQWIDU.js +26 -0
  12. package/Build/Cesium/Workers/{chunk-VMP3DPFL.js → chunk-7CH4MFDA.js} +2 -2
  13. package/Build/Cesium/Workers/{chunk-EHA4PYAD.js → chunk-7DBMV4BS.js} +2 -2
  14. package/Build/Cesium/Workers/{chunk-7QWTAOAU.js → chunk-7E4Z2TKQ.js} +2 -2
  15. package/Build/Cesium/Workers/{chunk-VGZQN7XW.js → chunk-7NLQQSNP.js} +2 -2
  16. package/Build/Cesium/Workers/chunk-7WRUK24H.js +26 -0
  17. package/Build/Cesium/Workers/{chunk-SY4V6E4C.js → chunk-BCBAUFC4.js} +2 -2
  18. package/Build/Cesium/Workers/{chunk-QNVC4BBR.js → chunk-CDZ3XKVQ.js} +2 -2
  19. package/Build/Cesium/Workers/chunk-CGRCHWFG.js +26 -0
  20. package/Build/Cesium/Workers/{chunk-BW47DFUO.js → chunk-DIWYAFRL.js} +2 -2
  21. package/Build/Cesium/Workers/chunk-DPLTI5HQ.js +26 -0
  22. package/Build/Cesium/Workers/{chunk-47GLZ23P.js → chunk-EKDYIJLI.js} +2 -2
  23. package/Build/Cesium/Workers/{chunk-RSMK5PW4.js → chunk-ESGQYWWC.js} +2 -2
  24. package/Build/Cesium/Workers/{chunk-LZHKXJUY.js → chunk-FRM2YCDS.js} +3 -3
  25. package/Build/Cesium/Workers/{chunk-PMN5CMT6.js → chunk-GNV373C3.js} +2 -2
  26. package/Build/Cesium/Workers/chunk-GXMV6G6L.js +28 -0
  27. package/Build/Cesium/Workers/{chunk-N5WOJOOK.js → chunk-H5AVOACH.js} +2 -2
  28. package/Build/Cesium/Workers/{chunk-K6LQ2R4W.js → chunk-HGQZAEVQ.js} +2 -2
  29. package/Build/Cesium/Workers/{chunk-TKFY7AZS.js → chunk-HPSKSBFG.js} +2 -2
  30. package/Build/Cesium/Workers/{chunk-MHDM5F2E.js → chunk-I7E7ZFTX.js} +2 -2
  31. package/Build/Cesium/Workers/{chunk-HT2GZR6C.js → chunk-ILES6JJL.js} +2 -2
  32. package/Build/Cesium/Workers/{chunk-G77I5ZNK.js → chunk-JZEYWMXO.js} +2 -2
  33. package/Build/Cesium/Workers/chunk-K6GWWKQU.js +26 -0
  34. package/Build/Cesium/Workers/chunk-KSOWBQGD.js +26 -0
  35. package/Build/Cesium/Workers/{chunk-PE7VOXX3.js → chunk-KTQRKFCB.js} +2 -2
  36. package/Build/Cesium/Workers/{chunk-RK5SKUTT.js → chunk-KW5HG37J.js} +2 -2
  37. package/Build/Cesium/Workers/{chunk-PIN7V52L.js → chunk-L6WRMVET.js} +2 -2
  38. package/Build/Cesium/Workers/chunk-M6ON6VVV.js +26 -0
  39. package/Build/Cesium/Workers/chunk-N6EN2BOY.js +63 -0
  40. package/Build/Cesium/Workers/chunk-NAOK3KGT.js +26 -0
  41. package/Build/Cesium/Workers/{chunk-JAX6ZNDW.js → chunk-OBWPHK5H.js} +2 -2
  42. package/Build/Cesium/Workers/chunk-OUMYLVEO.js +26 -0
  43. package/Build/Cesium/Workers/{chunk-VEMOWGQN.js → chunk-PBVQ42HU.js} +2 -2
  44. package/Build/Cesium/Workers/chunk-R5O5DVZD.js +26 -0
  45. package/Build/Cesium/Workers/{chunk-YZJ43GTR.js → chunk-RLPCZZG4.js} +2 -2
  46. package/Build/Cesium/Workers/{chunk-7DZ3EOMD.js → chunk-SHB4D2PT.js} +2 -2
  47. package/Build/Cesium/Workers/chunk-SHV2E5IR.js +29 -0
  48. package/Build/Cesium/Workers/{chunk-YNN6VTA4.js → chunk-SINVTWVY.js} +2 -2
  49. package/Build/Cesium/Workers/{chunk-PXLYSIGJ.js → chunk-TMOFTMUE.js} +2 -2
  50. package/Build/Cesium/Workers/{chunk-MRSRLN7Z.js → chunk-TN5MKFRC.js} +2 -2
  51. package/Build/Cesium/Workers/{chunk-4NPKASTG.js → chunk-TOWGTZPA.js} +2 -2
  52. package/Build/Cesium/Workers/{chunk-HXNEJTMV.js → chunk-UASTG4AF.js} +2 -2
  53. package/Build/Cesium/Workers/{chunk-WSGCWETM.js → chunk-UDUMKSBO.js} +2 -2
  54. package/Build/Cesium/Workers/{chunk-FKH5TE25.js → chunk-UIR2RSB2.js} +2 -2
  55. package/Build/Cesium/Workers/chunk-ULKPUL26.js +26 -0
  56. package/Build/Cesium/Workers/{chunk-2ULFU7PH.js → chunk-V35VUQVS.js} +1 -1
  57. package/Build/Cesium/Workers/{chunk-OOILWTEU.js → chunk-VPREA3UD.js} +2 -2
  58. package/Build/Cesium/Workers/{chunk-6SWI5G47.js → chunk-WIGTKL4L.js} +2 -2
  59. package/Build/Cesium/Workers/{chunk-7DZHRJBF.js → chunk-XGFD24GJ.js} +2 -2
  60. package/Build/Cesium/Workers/{chunk-RYPH4OIB.js → chunk-Y66T7GYQ.js} +2 -2
  61. package/Build/Cesium/Workers/{chunk-ODQKUYAK.js → chunk-Y7MKUU32.js} +2 -2
  62. package/Build/Cesium/Workers/{chunk-QQOSH3TP.js → chunk-YJKT47HQ.js} +2 -2
  63. package/Build/Cesium/Workers/combineGeometry.js +2 -2
  64. package/Build/Cesium/Workers/createBoxGeometry.js +2 -2
  65. package/Build/Cesium/Workers/createBoxOutlineGeometry.js +2 -2
  66. package/Build/Cesium/Workers/createCircleGeometry.js +2 -2
  67. package/Build/Cesium/Workers/createCircleOutlineGeometry.js +2 -2
  68. package/Build/Cesium/Workers/createCoplanarPolygonGeometry.js +2 -2
  69. package/Build/Cesium/Workers/createCoplanarPolygonOutlineGeometry.js +2 -2
  70. package/Build/Cesium/Workers/createCorridorGeometry.js +2 -2
  71. package/Build/Cesium/Workers/createCorridorOutlineGeometry.js +2 -2
  72. package/Build/Cesium/Workers/createCylinderGeometry.js +2 -2
  73. package/Build/Cesium/Workers/createCylinderOutlineGeometry.js +2 -2
  74. package/Build/Cesium/Workers/createEllipseGeometry.js +2 -2
  75. package/Build/Cesium/Workers/createEllipseOutlineGeometry.js +2 -2
  76. package/Build/Cesium/Workers/createEllipsoidGeometry.js +2 -2
  77. package/Build/Cesium/Workers/createEllipsoidOutlineGeometry.js +2 -2
  78. package/Build/Cesium/Workers/createFrustumGeometry.js +2 -2
  79. package/Build/Cesium/Workers/createFrustumOutlineGeometry.js +2 -2
  80. package/Build/Cesium/Workers/createGeometry.js +2 -2
  81. package/Build/Cesium/Workers/createGroundPolylineGeometry.js +2 -2
  82. package/Build/Cesium/Workers/createPlaneGeometry.js +2 -2
  83. package/Build/Cesium/Workers/createPlaneOutlineGeometry.js +2 -2
  84. package/Build/Cesium/Workers/createPolygonGeometry.js +2 -2
  85. package/Build/Cesium/Workers/createPolygonOutlineGeometry.js +2 -2
  86. package/Build/Cesium/Workers/createPolylineGeometry.js +2 -2
  87. package/Build/Cesium/Workers/createPolylineVolumeGeometry.js +2 -2
  88. package/Build/Cesium/Workers/createPolylineVolumeOutlineGeometry.js +2 -2
  89. package/Build/Cesium/Workers/createRectangleGeometry.js +2 -2
  90. package/Build/Cesium/Workers/createRectangleOutlineGeometry.js +2 -2
  91. package/Build/Cesium/Workers/createSimplePolylineGeometry.js +2 -2
  92. package/Build/Cesium/Workers/createSphereGeometry.js +2 -2
  93. package/Build/Cesium/Workers/createSphereOutlineGeometry.js +2 -2
  94. package/Build/Cesium/Workers/createTaskProcessorWorker.js +2 -2
  95. package/Build/Cesium/Workers/createVectorTileClampedPolylines.js +2 -2
  96. package/Build/Cesium/Workers/createVectorTileGeometries.js +2 -2
  97. package/Build/Cesium/Workers/createVectorTilePoints.js +2 -2
  98. package/Build/Cesium/Workers/createVectorTilePolygons.js +2 -2
  99. package/Build/Cesium/Workers/createVectorTilePolylines.js +2 -2
  100. package/Build/Cesium/Workers/createVerticesFromCesium3DTilesTerrain.js +2 -2
  101. package/Build/Cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +2 -2
  102. package/Build/Cesium/Workers/createVerticesFromHeightmap.js +2 -2
  103. package/Build/Cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +2 -2
  104. package/Build/Cesium/Workers/createWallGeometry.js +2 -2
  105. package/Build/Cesium/Workers/createWallOutlineGeometry.js +2 -2
  106. package/Build/Cesium/Workers/decodeDraco.js +2 -2
  107. package/Build/Cesium/Workers/decodeGoogleEarthEnterprisePacket.js +2 -2
  108. package/Build/Cesium/Workers/decodeI3S.js +2 -2
  109. package/Build/Cesium/Workers/gaussianSplatSorter.js +2 -2
  110. package/Build/Cesium/Workers/gaussianSplatTextureGenerator.js +2 -2
  111. package/Build/Cesium/Workers/incrementallyBuildTerrainPicker.js +2 -2
  112. package/Build/Cesium/Workers/transcodeKTX2.js +6 -6
  113. package/Build/Cesium/Workers/transferTypedArrayTest.js +1 -1
  114. package/Build/Cesium/Workers/upsampleQuantizedTerrainMesh.js +2 -2
  115. package/Build/Cesium/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +2 -2
  116. package/Build/Cesium/index.cjs +2044 -724
  117. package/Build/Cesium/index.js +2044 -724
  118. package/package.json +1 -1
  119. package/Build/Cesium/Workers/chunk-4ISIXFEZ.js +0 -26
  120. package/Build/Cesium/Workers/chunk-CVU45D6V.js +0 -26
  121. package/Build/Cesium/Workers/chunk-DYSGNAJ3.js +0 -26
  122. package/Build/Cesium/Workers/chunk-EH4X2NLR.js +0 -26
  123. package/Build/Cesium/Workers/chunk-FJQZEMQL.js +0 -26
  124. package/Build/Cesium/Workers/chunk-HDKSL4V5.js +0 -26
  125. package/Build/Cesium/Workers/chunk-ICXKOMKV.js +0 -26
  126. package/Build/Cesium/Workers/chunk-IOE5KUUR.js +0 -26
  127. package/Build/Cesium/Workers/chunk-MM2VCDCU.js +0 -28
  128. package/Build/Cesium/Workers/chunk-QCAHC5JJ.js +0 -29
  129. package/Build/Cesium/Workers/chunk-RZQAYWJR.js +0 -26
  130. package/Build/Cesium/Workers/chunk-V5A4UHPW.js +0 -26
  131. package/Build/Cesium/Workers/chunk-WI65NDJG.js +0 -63
  132. package/Build/Cesium/Workers/chunk-WNUKCFRF.js +0 -26
  133. package/Build/Cesium/Workers/chunk-X4XAPTF7.js +0 -26
  134. package/Build/Cesium/Workers/chunk-XYCW7OEP.js +0 -26
  135. package/Build/Cesium/Workers/chunk-YT4A3ED4.js +0 -26
@@ -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.
@@ -1101,7 +1100,7 @@ export class BoundingSphere {
1101
1100
  * @param [result] - The object onto which to store the result.
1102
1101
  * @returns The modified result parameter or a new BoundingSphere instance if none was provided.
1103
1102
  */
1104
- static fromRectangle2D(rectangle?: Rectangle, projection?: any, result?: BoundingSphere): BoundingSphere;
1103
+ static fromRectangle2D(rectangle?: Rectangle, projection?: MapProjection, result?: BoundingSphere): BoundingSphere;
1105
1104
  /**
1106
1105
  * Computes a bounding sphere from a rectangle projected in 2D. The bounding sphere accounts for the
1107
1106
  object's minimum and maximum heights over the rectangle.
@@ -1112,7 +1111,7 @@ export class BoundingSphere {
1112
1111
  * @param [result] - The object onto which to store the result.
1113
1112
  * @returns The modified result parameter or a new BoundingSphere instance if none was provided.
1114
1113
  */
1115
- static fromRectangleWithHeights2D(rectangle?: Rectangle, projection?: any, minimumHeight?: number, maximumHeight?: number, result?: BoundingSphere): BoundingSphere;
1114
+ static fromRectangleWithHeights2D(rectangle?: Rectangle, projection?: MapProjection, minimumHeight?: number, maximumHeight?: number, result?: BoundingSphere): BoundingSphere;
1116
1115
  /**
1117
1116
  * Computes a bounding sphere from a rectangle in 3D. The bounding sphere is created using a subsample of points
1118
1117
  on the ellipsoid and contained in the rectangle. It may not be accurate for all rectangles on all types of ellipsoids.
@@ -1214,10 +1213,6 @@ export class BoundingSphere {
1214
1213
  * @returns The modified result parameter or a new BoundingSphere instance if none was provided. (Returns undefined if sphere is undefined)
1215
1214
  */
1216
1215
  static clone(sphere: BoundingSphere, result?: BoundingSphere): BoundingSphere;
1217
- /**
1218
- * The number of elements used to pack the object into an array.
1219
- */
1220
- static packedLength: number;
1221
1216
  /**
1222
1217
  * Stores the provided instance into the provided array.
1223
1218
  * @param value - The value to pack.
@@ -1314,7 +1309,7 @@ export class BoundingSphere {
1314
1309
  * @param [result] - The object onto which to store the result.
1315
1310
  * @returns The modified result parameter or a new BoundingSphere instance if none was provided.
1316
1311
  */
1317
- static projectTo2D(sphere: BoundingSphere, projection?: any, result?: BoundingSphere): BoundingSphere;
1312
+ static projectTo2D(sphere: BoundingSphere, projection?: MapProjection, result?: BoundingSphere): BoundingSphere;
1318
1313
  /**
1319
1314
  * Determines whether or not a sphere is hidden from view by the occluder.
1320
1315
  * @param sphere - The bounding sphere surrounding the occluded object.
@@ -1386,6 +1381,10 @@ export class BoundingSphere {
1386
1381
  * @returns The radius of the BoundingSphere.
1387
1382
  */
1388
1383
  volume(): number;
1384
+ /**
1385
+ * The number of elements used to pack the object into an array.
1386
+ */
1387
+ static packedLength: number;
1389
1388
  }
1390
1389
 
1391
1390
  /**
@@ -1592,7 +1591,7 @@ export class Cartesian2 {
1592
1591
  * @param [startingIndex = 0] - The index into the array at which to start packing the elements.
1593
1592
  * @returns The array that was packed into
1594
1593
  */
1595
- static pack(value: Cartesian2, array: number[] | TypedArray, startingIndex?: number): number[] | TypedArray;
1594
+ static pack(value: Cartesian2, array: number[], startingIndex?: number): number[];
1596
1595
  /**
1597
1596
  * Retrieves an instance from a packed array.
1598
1597
  * @param array - The packed array.
@@ -1600,14 +1599,14 @@ export class Cartesian2 {
1600
1599
  * @param [result] - The object into which to store the result.
1601
1600
  * @returns The modified result parameter or a new Cartesian2 instance if one was not provided.
1602
1601
  */
1603
- static unpack(array: number[] | TypedArray, startingIndex?: number, result?: Cartesian2): Cartesian2;
1602
+ static unpack(array: number[], startingIndex?: number, result?: Cartesian2): Cartesian2;
1604
1603
  /**
1605
1604
  * Flattens an array of Cartesian2s into an array of components.
1606
1605
  * @param array - The array of cartesians to pack.
1607
1606
  * @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.
1608
1607
  * @returns The packed array.
1609
1608
  */
1610
- static packArray(array: Cartesian2[], result?: number[] | TypedArray): number[] | TypedArray;
1609
+ static packArray(array: Cartesian2[], result?: number[]): number[];
1611
1610
  /**
1612
1611
  * Unpacks an array of cartesian components into an array of Cartesian2s.
1613
1612
  * @param array - The array of components to unpack.
@@ -1942,7 +1941,7 @@ export class Cartesian3 {
1942
1941
  * @param [startingIndex = 0] - The index into the array at which to start packing the elements.
1943
1942
  * @returns The array that was packed into
1944
1943
  */
1945
- static pack(value: Cartesian3, array: number[] | TypedArray, startingIndex?: number): number[] | TypedArray;
1944
+ static pack(value: Cartesian3, array: number[], startingIndex?: number): number[];
1946
1945
  /**
1947
1946
  * Retrieves an instance from a packed array.
1948
1947
  * @param array - The packed array.
@@ -1950,21 +1949,21 @@ export class Cartesian3 {
1950
1949
  * @param [result] - The object into which to store the result.
1951
1950
  * @returns The modified result parameter or a new Cartesian3 instance if one was not provided.
1952
1951
  */
1953
- static unpack(array: number[] | TypedArray, startingIndex?: number, result?: Cartesian3): Cartesian3;
1952
+ static unpack(array: number[], startingIndex?: number, result?: Cartesian3): Cartesian3;
1954
1953
  /**
1955
1954
  * Flattens an array of Cartesian3s into an array of components.
1956
1955
  * @param array - The array of cartesians to pack.
1957
1956
  * @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.
1958
1957
  * @returns The packed array.
1959
1958
  */
1960
- static packArray(array: Cartesian3[], result?: number[] | TypedArray): number[] | TypedArray;
1959
+ static packArray(array: Cartesian3[], result?: number[]): number[];
1961
1960
  /**
1962
1961
  * Unpacks an array of cartesian components into an array of Cartesian3s.
1963
1962
  * @param array - The array of components to unpack.
1964
1963
  * @param [result] - The array onto which to store the result.
1965
1964
  * @returns The unpacked array.
1966
1965
  */
1967
- static unpackArray(array: number[] | TypedArray, result?: Cartesian3[]): Cartesian3[];
1966
+ static unpackArray(array: number[], result?: Cartesian3[]): Cartesian3[];
1968
1967
  /**
1969
1968
  * Computes the value of the maximum component for the supplied Cartesian.
1970
1969
  * @param cartesian - The cartesian to use.
@@ -2376,7 +2375,7 @@ export class Cartesian4 {
2376
2375
  * @param [startingIndex = 0] - The index into the array at which to start packing the elements.
2377
2376
  * @returns The array that was packed into
2378
2377
  */
2379
- static pack(value: Cartesian4, array: number[] | TypedArray, startingIndex?: number): number[] | TypedArray;
2378
+ static pack(value: Cartesian4, array: number[], startingIndex?: number): number[];
2380
2379
  /**
2381
2380
  * Retrieves an instance from a packed array.
2382
2381
  * @param array - The packed array.
@@ -2384,21 +2383,21 @@ export class Cartesian4 {
2384
2383
  * @param [result] - The object into which to store the result.
2385
2384
  * @returns The modified result parameter or a new Cartesian4 instance if one was not provided.
2386
2385
  */
2387
- static unpack(array: number[] | TypedArray, startingIndex?: number, result?: Cartesian4): Cartesian4;
2386
+ static unpack(array: number[], startingIndex?: number, result?: Cartesian4): Cartesian4;
2388
2387
  /**
2389
2388
  * Flattens an array of Cartesian4s into an array of components.
2390
2389
  * @param array - The array of cartesians to pack.
2391
2390
  * @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.
2392
2391
  * @returns The packed array.
2393
2392
  */
2394
- static packArray(array: Cartesian4[], result?: number[] | TypedArray): number[] | TypedArray;
2393
+ static packArray(array: Cartesian4[], result?: number[]): number[];
2395
2394
  /**
2396
2395
  * Unpacks an array of cartesian components into an array of Cartesian4s.
2397
2396
  * @param array - The array of components to unpack.
2398
2397
  * @param [result] - The array onto which to store the result.
2399
2398
  * @returns The unpacked array.
2400
2399
  */
2401
- static unpackArray(array: number[] | TypedArray, result?: Cartesian4[]): Cartesian4[];
2400
+ static unpackArray(array: number[], result?: Cartesian4[]): Cartesian4[];
2402
2401
  /**
2403
2402
  * Computes the value of the maximum component for the supplied Cartesian.
2404
2403
  * @param cartesian - The cartesian to use.
@@ -2749,10 +2748,6 @@ export class Cartographic {
2749
2748
  * @returns <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
2750
2749
  */
2751
2750
  static equalsEpsilon(left?: Cartographic, right?: Cartographic, epsilon?: number): boolean;
2752
- /**
2753
- * An immutable Cartographic instance initialized to (0.0, 0.0, 0.0).
2754
- */
2755
- static readonly ZERO: Cartographic;
2756
2751
  /**
2757
2752
  * Duplicates this instance.
2758
2753
  * @param [result] - The object onto which to store the result.
@@ -2780,6 +2775,10 @@ export class Cartographic {
2780
2775
  * @returns A string representing the provided cartographic in the format '(longitude, latitude, height)'.
2781
2776
  */
2782
2777
  toString(): string;
2778
+ /**
2779
+ * An immutable Cartographic instance initialized to (0.0, 0.0, 0.0).
2780
+ */
2781
+ static readonly ZERO: Cartographic;
2783
2782
  }
2784
2783
 
2785
2784
  /**
@@ -3690,6 +3689,8 @@ export enum ClockStep {
3690
3689
  */
3691
3690
  export function clone(object: any, deep?: boolean): any;
3692
3691
 
3692
+ export function hue2rgb(): void;
3693
+
3693
3694
  /**
3694
3695
  * A color, specified using red, green, blue, and alpha values,
3695
3696
  which range from <code>0</code> (no intensity) to <code>1.0</code> (full intensity).
@@ -3827,10 +3828,6 @@ export class Color {
3827
3828
  * @returns The color object, or undefined if the string was not a valid CSS color.
3828
3829
  */
3829
3830
  static fromCssColorString(color: string, result?: Color): Color;
3830
- /**
3831
- * The number of elements used to pack the object into an array.
3832
- */
3833
- static packedLength: number;
3834
3831
  /**
3835
3832
  * Stores the provided instance into the provided array.
3836
3833
  * @param value - The value to pack.
@@ -3838,7 +3835,7 @@ export class Color {
3838
3835
  * @param [startingIndex = 0] - The index into the array at which to start packing the elements.
3839
3836
  * @returns The array that was packed into
3840
3837
  */
3841
- static pack(value: Color, array: number[], startingIndex?: number): number[];
3838
+ static pack(value: Color, array: number[] | TypedArray, startingIndex?: number): number[] | TypedArray;
3842
3839
  /**
3843
3840
  * Retrieves an instance from a packed array.
3844
3841
  * @param array - The packed array.
@@ -3846,7 +3843,7 @@ export class Color {
3846
3843
  * @param [result] - The object into which to store the result.
3847
3844
  * @returns The modified result parameter or a new Color instance if one was not provided.
3848
3845
  */
3849
- static unpack(array: number[], startingIndex?: number, result?: Color): Color;
3846
+ static unpack(array: number[] | TypedArray, startingIndex?: number, result?: Color): Color;
3850
3847
  /**
3851
3848
  * Converts a 'byte' color component in the range of 0 to 255 into
3852
3849
  a 'float' color component in the range of 0 to 1.0.
@@ -4023,6 +4020,10 @@ export class Color {
4023
4020
  * @returns The modified result parameter.
4024
4021
  */
4025
4022
  static divideByScalar(color: Color, scalar: number, result: Color): Color;
4023
+ /**
4024
+ * The number of elements used to pack the object into an array.
4025
+ */
4026
+ static packedLength: number;
4026
4027
  /**
4027
4028
  * An immutable Color instance initialized to CSS color #F0F8FF
4028
4029
  <span class="colorSwath" style="background: #F0F8FF;"></span>
@@ -6246,23 +6247,6 @@ export class Ellipsoid {
6246
6247
  * @returns A new Ellipsoid instance.
6247
6248
  */
6248
6249
  static fromCartesian3(cartesian?: Cartesian3, result?: Ellipsoid): Ellipsoid;
6249
- /**
6250
- * An Ellipsoid instance initialized to the WGS84 standard.
6251
- */
6252
- static readonly WGS84: Ellipsoid;
6253
- /**
6254
- * An Ellipsoid instance initialized to radii of (1.0, 1.0, 1.0).
6255
- */
6256
- static readonly UNIT_SPHERE: Ellipsoid;
6257
- /**
6258
- * An Ellipsoid instance initialized to a sphere with the lunar radius.
6259
- */
6260
- static readonly MOON: Ellipsoid;
6261
- /**
6262
- * An Ellipsoid instance initialized to a sphere with the mean radii of Mars.
6263
- Source: https://epsg.io/104905
6264
- */
6265
- static readonly MARS: Ellipsoid;
6266
6250
  /**
6267
6251
  * The default ellipsoid used when not otherwise specified.
6268
6252
  * @example
@@ -6282,10 +6266,6 @@ export class Ellipsoid {
6282
6266
  * @returns The cloned Ellipsoid.
6283
6267
  */
6284
6268
  clone(result?: Ellipsoid): Ellipsoid;
6285
- /**
6286
- * The number of elements used to pack the object into an array.
6287
- */
6288
- static packedLength: number;
6289
6269
  /**
6290
6270
  * Stores the provided instance into the provided array.
6291
6271
  * @param value - The value to pack.
@@ -6302,13 +6282,6 @@ export class Ellipsoid {
6302
6282
  * @returns The modified result parameter or a new Ellipsoid instance if one was not provided.
6303
6283
  */
6304
6284
  static unpack(array: number[], startingIndex?: number, result?: Ellipsoid): Ellipsoid;
6305
- /**
6306
- * Computes the unit vector directed from the center of this ellipsoid toward the provided Cartesian position.
6307
- * @param cartesian - The Cartesian for which to to determine the geocentric normal.
6308
- * @param [result] - The object onto which to store the result.
6309
- * @returns The modified result parameter or a new Cartesian3 instance if none was provided.
6310
- */
6311
- geocentricSurfaceNormal(cartesian: Cartesian3, result?: Cartesian3): Cartesian3;
6312
6285
  /**
6313
6286
  * Computes the normal of the plane tangent to the surface of the ellipsoid at the provided position.
6314
6287
  * @param cartographic - The cartographic position for which to to determine the geodetic normal.
@@ -6447,6 +6420,34 @@ export class Ellipsoid {
6447
6420
  * @returns The approximate area of the rectangle on the surface of this ellipsoid.
6448
6421
  */
6449
6422
  surfaceArea(rectangle: Rectangle): number;
6423
+ /**
6424
+ * An Ellipsoid instance initialized to the WGS84 standard.
6425
+ */
6426
+ static readonly WGS84: Ellipsoid;
6427
+ /**
6428
+ * An Ellipsoid instance initialized to radii of (1.0, 1.0, 1.0).
6429
+ */
6430
+ static readonly UNIT_SPHERE: Ellipsoid;
6431
+ /**
6432
+ * An Ellipsoid instance initialized to a sphere with the lunar radius.
6433
+ */
6434
+ static readonly MOON: Ellipsoid;
6435
+ /**
6436
+ * An Ellipsoid instance initialized to a sphere with the mean radii of Mars.
6437
+ Source: https://epsg.io/104905
6438
+ */
6439
+ static readonly MARS: Ellipsoid;
6440
+ /**
6441
+ * The number of elements used to pack the object into an array.
6442
+ */
6443
+ static packedLength: number;
6444
+ /**
6445
+ * Computes the unit vector directed from the center of this ellipsoid toward the provided Cartesian position.
6446
+ * @param cartesian - The Cartesian for which to to determine the geocentric normal.
6447
+ * @param [result] - The object onto which to store the result.
6448
+ * @returns The modified result parameter or a new Cartesian3 instance if none was provided.
6449
+ */
6450
+ geocentricSurfaceNormal(cartesian: Cartesian3, result?: Cartesian3): Cartesian3;
6450
6451
  }
6451
6452
 
6452
6453
  /**
@@ -7248,6 +7249,9 @@ export enum GeocodeType {
7248
7249
  AUTOCOMPLETE = 1
7249
7250
  }
7250
7251
 
7252
+ export interface GeographicProjection extends MapProjection {
7253
+ }
7254
+
7251
7255
  /**
7252
7256
  * A simple map projection where longitude and latitude are linearly mapped to X and Y by multiplying
7253
7257
  them by the {@link Ellipsoid#maximumRadius}. This projection
@@ -7255,7 +7259,7 @@ is commonly known as geographic, equirectangular, equidistant cylindrical, or pl
7255
7259
  is also known as EPSG:4326.
7256
7260
  * @param [ellipsoid = Ellipsoid.default] - The ellipsoid.
7257
7261
  */
7258
- export class GeographicProjection {
7262
+ export class GeographicProjection implements MapProjection {
7259
7263
  constructor(ellipsoid?: Ellipsoid);
7260
7264
  /**
7261
7265
  * Gets the {@link Ellipsoid}.
@@ -7287,6 +7291,9 @@ export class GeographicProjection {
7287
7291
  unproject(cartesian: Cartesian3, result?: Cartographic): Cartographic;
7288
7292
  }
7289
7293
 
7294
+ export interface GeographicTilingScheme extends TilingScheme {
7295
+ }
7296
+
7290
7297
  /**
7291
7298
  * A tiling scheme for geometry referenced to a simple {@link GeographicProjection} where
7292
7299
  longitude and latitude are directly mapped to X and Y. This projection is commonly
@@ -7300,7 +7307,7 @@ the tile tree.
7300
7307
  * @param [options.numberOfLevelZeroTilesY = 1] - The number of tiles in the Y direction at level zero of
7301
7308
  the tile tree.
7302
7309
  */
7303
- export class GeographicTilingScheme {
7310
+ export class GeographicTilingScheme implements TilingScheme {
7304
7311
  constructor(options?: {
7305
7312
  ellipsoid?: Ellipsoid;
7306
7313
  rectangle?: Rectangle;
@@ -7352,7 +7359,7 @@ export class GeographicTilingScheme {
7352
7359
  * @returns The specified 'result', or a new object containing the rectangle
7353
7360
  if 'result' is undefined.
7354
7361
  */
7355
- tileXYToNativeRectangle(x: number, y: number, level: number, result?: any): Rectangle;
7362
+ tileXYToNativeRectangle(x: number, y: number, level: number, result?: Rectangle): Rectangle;
7356
7363
  /**
7357
7364
  * Converts tile x, y coordinates and level to a cartographic rectangle in radians.
7358
7365
  * @param x - The integer x coordinate of the tile.
@@ -7363,7 +7370,7 @@ export class GeographicTilingScheme {
7363
7370
  * @returns The specified 'result', or a new object containing the rectangle
7364
7371
  if 'result' is undefined.
7365
7372
  */
7366
- tileXYToRectangle(x: number, y: number, level: number, result?: any): Rectangle;
7373
+ tileXYToRectangle(x: number, y: number, level: number, result?: Rectangle): Rectangle;
7367
7374
  /**
7368
7375
  * Calculates the tile x, y coordinates of the tile containing
7369
7376
  a given cartographic position.
@@ -8010,6 +8017,8 @@ export type TypedArray = Float64Array | Float32Array | Uint32Array | Uint16Array
8010
8017
  */
8011
8018
  export type TypedArrayConstructor = Float64ArrayConstructor | Float32ArrayConstructor | Uint32ArrayConstructor | Uint16ArrayConstructor | Uint8ArrayConstructor | Int32ArrayConstructor | Int16ArrayConstructor | Int8ArrayConstructor;
8012
8019
 
8020
+ export type Destroyable = any;
8021
+
8013
8022
  /**
8014
8023
  * <div class="notice">
8015
8024
  To construct GoogleEarthEnterpriseMetadata, call {@link GoogleEarthEnterpriseMetadata.fromUrl}. Do not call the constructor directly.
@@ -9859,12 +9868,11 @@ export class LinearSpline {
9859
9868
  * Defines how geodetic ellipsoid coordinates ({@link Cartographic}) project to a
9860
9869
  flat map like Cesium's 2D and Columbus View modes.
9861
9870
  */
9862
- export class MapProjection {
9863
- constructor();
9871
+ export interface MapProjection {
9864
9872
  /**
9865
9873
  * Gets the {@link Ellipsoid}.
9866
9874
  */
9867
- readonly ellipsoid: Ellipsoid;
9875
+ ellipsoid: Ellipsoid;
9868
9876
  /**
9869
9877
  * Projects {@link Cartographic} coordinates, in radians, to projection-specific map coordinates, in meters.
9870
9878
  * @param cartographic - The coordinates to project.
@@ -10398,10 +10406,6 @@ Constructor parameters are in row-major order for code readability.
10398
10406
  */
10399
10407
  export class Matrix2 implements ArrayLike<number> {
10400
10408
  constructor(column0Row0?: number, column1Row0?: number, column0Row1?: number, column1Row1?: number);
10401
- /**
10402
- * The number of elements used to pack the object into an array.
10403
- */
10404
- static packedLength: number;
10405
10409
  /**
10406
10410
  * Stores the provided instance into the provided array.
10407
10411
  * @param value - The value to pack.
@@ -10440,25 +10444,6 @@ export class Matrix2 implements ArrayLike<number> {
10440
10444
  * @returns The modified result parameter or a new Matrix2 instance if one was not provided. (Returns undefined if matrix is undefined)
10441
10445
  */
10442
10446
  static clone(matrix: Matrix2, result?: Matrix2): Matrix2;
10443
- /**
10444
- * Creates a Matrix2 from 4 consecutive elements in an array.
10445
- * @example
10446
- * // Create the Matrix2:
10447
- // [1.0, 2.0]
10448
- // [1.0, 2.0]
10449
-
10450
- const v = [1.0, 1.0, 2.0, 2.0];
10451
- const m = Cesium.Matrix2.fromArray(v);
10452
-
10453
- // Create same Matrix2 with using an offset into an array
10454
- const v2 = [0.0, 0.0, 1.0, 1.0, 2.0, 2.0];
10455
- const m2 = Cesium.Matrix2.fromArray(v2, 2);
10456
- * @param array - The array whose 4 consecutive elements correspond to the positions of the matrix. Assumes column-major order.
10457
- * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to first column first row position in the matrix.
10458
- * @param [result] - The object onto which to store the result.
10459
- * @returns The modified result parameter or a new Matrix2 instance if one was not provided.
10460
- */
10461
- static fromArray(array: number[], startingIndex?: number, result?: Matrix2): Matrix2;
10462
10447
  /**
10463
10448
  * Creates a Matrix2 instance from a column-major order array.
10464
10449
  * @param values - The column-major order array.
@@ -10546,7 +10531,7 @@ export class Matrix2 implements ArrayLike<number> {
10546
10531
  * @param result - The object onto which to store the result.
10547
10532
  * @returns The modified result parameter.
10548
10533
  */
10549
- static setColumn(matrix: Matrix2, index: number, cartesian: Cartesian2, result: Cartesian2): Matrix2;
10534
+ static setColumn(matrix: Matrix2, index: number, cartesian: Cartesian2, result: Matrix2): Matrix2;
10550
10535
  /**
10551
10536
  * Retrieves a copy of the matrix row at the provided index as a Cartesian2 instance.
10552
10537
  * @param matrix - The matrix to use.
@@ -10712,6 +10697,61 @@ export class Matrix2 implements ArrayLike<number> {
10712
10697
  * @returns <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
10713
10698
  */
10714
10699
  static equalsEpsilon(left?: Matrix2, right?: Matrix2, epsilon?: number): boolean;
10700
+ /**
10701
+ * Gets the number of items in the collection.
10702
+ */
10703
+ length: number;
10704
+ /**
10705
+ * Duplicates the provided Matrix2 instance.
10706
+ * @param [result] - The object onto which to store the result.
10707
+ * @returns The modified result parameter or a new Matrix2 instance if one was not provided.
10708
+ */
10709
+ clone(result?: Matrix2): Matrix2;
10710
+ /**
10711
+ * Compares this matrix to the provided matrix componentwise and returns
10712
+ <code>true</code> if they are equal, <code>false</code> otherwise.
10713
+ * @param [right] - The right hand side matrix.
10714
+ * @returns <code>true</code> if they are equal, <code>false</code> otherwise.
10715
+ */
10716
+ equals(right?: Matrix2): boolean;
10717
+ /**
10718
+ * Compares this matrix to the provided matrix componentwise and returns
10719
+ <code>true</code> if they are within the provided epsilon,
10720
+ <code>false</code> otherwise.
10721
+ * @param [right] - The right hand side matrix.
10722
+ * @param [epsilon = 0] - The epsilon to use for equality testing.
10723
+ * @returns <code>true</code> if they are within the provided epsilon, <code>false</code> otherwise.
10724
+ */
10725
+ equalsEpsilon(right?: Matrix2, epsilon?: number): boolean;
10726
+ /**
10727
+ * Creates a string representing this Matrix with each row being
10728
+ on a separate line and in the format '(column0, column1)'.
10729
+ * @returns A string representing the provided Matrix with each row being on a separate line and in the format '(column0, column1)'.
10730
+ */
10731
+ toString(): string;
10732
+ /**
10733
+ * The number of elements used to pack the object into an array.
10734
+ */
10735
+ static packedLength: number;
10736
+ /**
10737
+ * Creates a Matrix2 from 4 consecutive elements in an array.
10738
+ * @example
10739
+ * // Create the Matrix2:
10740
+ // [1.0, 2.0]
10741
+ // [1.0, 2.0]
10742
+
10743
+ const v = [1.0, 1.0, 2.0, 2.0];
10744
+ const m = Cesium.Matrix2.fromArray(v);
10745
+
10746
+ // Create same Matrix2 with using an offset into an array
10747
+ const v2 = [0.0, 0.0, 1.0, 1.0, 2.0, 2.0];
10748
+ const m2 = Cesium.Matrix2.fromArray(v2, 2);
10749
+ * @param array - The array whose 4 consecutive elements correspond to the positions of the matrix. Assumes column-major order.
10750
+ * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to first column first row position in the matrix.
10751
+ * @param [result] - The object onto which to store the result.
10752
+ * @returns The modified result parameter or a new Matrix2 instance if one was not provided.
10753
+ */
10754
+ static fromArray(array: number[], startingIndex?: number, result?: Matrix2): Matrix2;
10715
10755
  /**
10716
10756
  * An immutable Matrix2 instance initialized to the identity matrix.
10717
10757
  */
@@ -10748,40 +10788,13 @@ export class Matrix2 implements ArrayLike<number> {
10748
10788
  matrix[Cesium.Matrix2.COLUMN1ROW1] = 5.0; // set column 1, row 1 to 5.0
10749
10789
  */
10750
10790
  static readonly COLUMN1ROW1: number;
10751
- /**
10752
- * Gets the number of items in the collection.
10753
- */
10754
- length: number;
10755
- /**
10756
- * Duplicates the provided Matrix2 instance.
10757
- * @param [result] - The object onto which to store the result.
10758
- * @returns The modified result parameter or a new Matrix2 instance if one was not provided.
10759
- */
10760
- clone(result?: Matrix2): Matrix2;
10761
- /**
10762
- * Compares this matrix to the provided matrix componentwise and returns
10763
- <code>true</code> if they are equal, <code>false</code> otherwise.
10764
- * @param [right] - The right hand side matrix.
10765
- * @returns <code>true</code> if they are equal, <code>false</code> otherwise.
10766
- */
10767
- equals(right?: Matrix2): boolean;
10768
- /**
10769
- * Compares this matrix to the provided matrix componentwise and returns
10770
- <code>true</code> if they are within the provided epsilon,
10771
- <code>false</code> otherwise.
10772
- * @param [right] - The right hand side matrix.
10773
- * @param [epsilon = 0] - The epsilon to use for equality testing.
10774
- * @returns <code>true</code> if they are within the provided epsilon, <code>false</code> otherwise.
10775
- */
10776
- equalsEpsilon(right?: Matrix2, epsilon?: number): boolean;
10777
- /**
10778
- * Creates a string representing this Matrix with each row being
10779
- on a separate line and in the format '(column0, column1)'.
10780
- * @returns A string representing the provided Matrix with each row being on a separate line and in the format '(column0, column1)'.
10781
- */
10782
- toString(): string;
10783
10791
  }
10784
10792
 
10793
+ export type EigenDecompositionResult = {
10794
+ unitary?: Matrix3;
10795
+ diagonal?: Matrix3;
10796
+ };
10797
+
10785
10798
  export interface Matrix3 extends ArrayLike<number> {
10786
10799
  }
10787
10800
 
@@ -10800,10 +10813,6 @@ Constructor parameters are in row-major order for code readability.
10800
10813
  */
10801
10814
  export class Matrix3 implements ArrayLike<number> {
10802
10815
  constructor(column0Row0?: number, column1Row0?: number, column2Row0?: number, column0Row1?: number, column1Row1?: number, column2Row1?: number, column0Row2?: number, column1Row2?: number, column2Row2?: number);
10803
- /**
10804
- * The number of elements used to pack the object into an array.
10805
- */
10806
- static packedLength: number;
10807
10816
  /**
10808
10817
  * Stores the provided instance into the provided array.
10809
10818
  * @param value - The value to pack.
@@ -10842,26 +10851,6 @@ export class Matrix3 implements ArrayLike<number> {
10842
10851
  * @returns The modified result parameter or a new Matrix3 instance if one was not provided. (Returns undefined if matrix is undefined)
10843
10852
  */
10844
10853
  static clone(matrix: Matrix3, result?: Matrix3): Matrix3;
10845
- /**
10846
- * Creates a Matrix3 from 9 consecutive elements in an array.
10847
- * @example
10848
- * // Create the Matrix3:
10849
- // [1.0, 2.0, 3.0]
10850
- // [1.0, 2.0, 3.0]
10851
- // [1.0, 2.0, 3.0]
10852
-
10853
- const v = [1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0];
10854
- const m = Cesium.Matrix3.fromArray(v);
10855
-
10856
- // Create same Matrix3 with using an offset into an array
10857
- const v2 = [0.0, 0.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0];
10858
- const m2 = Cesium.Matrix3.fromArray(v2, 2);
10859
- * @param array - The array whose 9 consecutive elements correspond to the positions of the matrix. Assumes column-major order.
10860
- * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to first column first row position in the matrix.
10861
- * @param [result] - The object onto which to store the result.
10862
- * @returns The modified result parameter or a new Matrix3 instance if one was not provided.
10863
- */
10864
- static fromArray(array: number[], startingIndex?: number, result?: Matrix3): Matrix3;
10865
10854
  /**
10866
10855
  * Creates a Matrix3 instance from a column-major order array.
10867
10856
  * @param values - The column-major order array.
@@ -11172,7 +11161,7 @@ export class Matrix3 implements ArrayLike<number> {
11172
11161
  * @param [result] - An object with unitary and diagonal properties which are matrices onto which to store the result.
11173
11162
  * @returns An object with unitary and diagonal properties which are the unitary and diagonal matrices, respectively.
11174
11163
  */
11175
- static computeEigenDecomposition(matrix: Matrix3, result?: any): any;
11164
+ static computeEigenDecomposition(matrix: Matrix3, result?: EigenDecompositionResult): EigenDecompositionResult;
11176
11165
  /**
11177
11166
  * Computes a matrix, which contains the absolute (unsigned) values of the provided matrix's elements.
11178
11167
  * @param matrix - The matrix with signed elements.
@@ -11218,6 +11207,62 @@ export class Matrix3 implements ArrayLike<number> {
11218
11207
  * @returns <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
11219
11208
  */
11220
11209
  static equalsEpsilon(left?: Matrix3, right?: Matrix3, epsilon?: number): boolean;
11210
+ /**
11211
+ * Gets the number of items in the collection.
11212
+ */
11213
+ length: number;
11214
+ /**
11215
+ * Duplicates the provided Matrix3 instance.
11216
+ * @param [result] - The object onto which to store the result.
11217
+ * @returns The modified result parameter or a new Matrix3 instance if one was not provided.
11218
+ */
11219
+ clone(result?: Matrix3): Matrix3;
11220
+ /**
11221
+ * Compares this matrix to the provided matrix componentwise and returns
11222
+ <code>true</code> if they are equal, <code>false</code> otherwise.
11223
+ * @param [right] - The right hand side matrix.
11224
+ * @returns <code>true</code> if they are equal, <code>false</code> otherwise.
11225
+ */
11226
+ equals(right?: Matrix3): boolean;
11227
+ /**
11228
+ * Compares this matrix to the provided matrix componentwise and returns
11229
+ <code>true</code> if they are within the provided epsilon,
11230
+ <code>false</code> otherwise.
11231
+ * @param [right] - The right hand side matrix.
11232
+ * @param [epsilon = 0] - The epsilon to use for equality testing.
11233
+ * @returns <code>true</code> if they are within the provided epsilon, <code>false</code> otherwise.
11234
+ */
11235
+ equalsEpsilon(right?: Matrix3, epsilon?: number): boolean;
11236
+ /**
11237
+ * Creates a string representing this Matrix with each row being
11238
+ on a separate line and in the format '(column0, column1, column2)'.
11239
+ * @returns A string representing the provided Matrix with each row being on a separate line and in the format '(column0, column1, column2)'.
11240
+ */
11241
+ toString(): string;
11242
+ /**
11243
+ * The number of elements used to pack the object into an array.
11244
+ */
11245
+ static packedLength: number;
11246
+ /**
11247
+ * Creates a Matrix3 from 9 consecutive elements in an array.
11248
+ * @example
11249
+ * // Create the Matrix3:
11250
+ // [1.0, 2.0, 3.0]
11251
+ // [1.0, 2.0, 3.0]
11252
+ // [1.0, 2.0, 3.0]
11253
+
11254
+ const v = [1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0];
11255
+ const m = Cesium.Matrix3.fromArray(v);
11256
+
11257
+ // Create same Matrix3 with using an offset into an array
11258
+ const v2 = [0.0, 0.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0];
11259
+ const m2 = Cesium.Matrix3.fromArray(v2, 2);
11260
+ * @param array - The array whose 9 consecutive elements correspond to the positions of the matrix. Assumes column-major order.
11261
+ * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to first column first row position in the matrix.
11262
+ * @param [result] - The object onto which to store the result.
11263
+ * @returns The modified result parameter or a new Matrix3 instance if one was not provided.
11264
+ */
11265
+ static fromArray(array: number[], startingIndex?: number, result?: Matrix3): Matrix3;
11221
11266
  /**
11222
11267
  * An immutable Matrix3 instance initialized to the identity matrix.
11223
11268
  */
@@ -11262,40 +11307,15 @@ export class Matrix3 implements ArrayLike<number> {
11262
11307
  * The index into Matrix3 for column 2, row 2.
11263
11308
  */
11264
11309
  static readonly COLUMN2ROW2: number;
11265
- /**
11266
- * Gets the number of items in the collection.
11267
- */
11268
- length: number;
11269
- /**
11270
- * Duplicates the provided Matrix3 instance.
11271
- * @param [result] - The object onto which to store the result.
11272
- * @returns The modified result parameter or a new Matrix3 instance if one was not provided.
11273
- */
11274
- clone(result?: Matrix3): Matrix3;
11275
- /**
11276
- * Compares this matrix to the provided matrix componentwise and returns
11277
- <code>true</code> if they are equal, <code>false</code> otherwise.
11278
- * @param [right] - The right hand side matrix.
11279
- * @returns <code>true</code> if they are equal, <code>false</code> otherwise.
11280
- */
11281
- equals(right?: Matrix3): boolean;
11282
- /**
11283
- * Compares this matrix to the provided matrix componentwise and returns
11284
- <code>true</code> if they are within the provided epsilon,
11285
- <code>false</code> otherwise.
11286
- * @param [right] - The right hand side matrix.
11287
- * @param [epsilon = 0] - The epsilon to use for equality testing.
11288
- * @returns <code>true</code> if they are within the provided epsilon, <code>false</code> otherwise.
11289
- */
11290
- equalsEpsilon(right?: Matrix3, epsilon?: number): boolean;
11291
- /**
11292
- * Creates a string representing this Matrix with each row being
11293
- on a separate line and in the format '(column0, column1, column2)'.
11294
- * @returns A string representing the provided Matrix with each row being on a separate line and in the format '(column0, column1, column2)'.
11295
- */
11296
- toString(): string;
11297
11310
  }
11298
11311
 
11312
+ export type Viewport = {
11313
+ x?: number;
11314
+ y?: number;
11315
+ width?: number;
11316
+ height?: number;
11317
+ };
11318
+
11299
11319
  export interface Matrix4 extends ArrayLike<number> {
11300
11320
  }
11301
11321
 
@@ -11321,10 +11341,6 @@ Constructor parameters are in row-major order for code readability.
11321
11341
  */
11322
11342
  export class Matrix4 implements ArrayLike<number> {
11323
11343
  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);
11324
- /**
11325
- * The number of elements used to pack the object into an array.
11326
- */
11327
- static packedLength: number;
11328
11344
  /**
11329
11345
  * Stores the provided instance into the provided array.
11330
11346
  * @param value - The value to pack.
@@ -11363,27 +11379,6 @@ export class Matrix4 implements ArrayLike<number> {
11363
11379
  * @returns The modified result parameter or a new Matrix4 instance if one was not provided. (Returns undefined if matrix is undefined)
11364
11380
  */
11365
11381
  static clone(matrix: Matrix4, result?: Matrix4): Matrix4;
11366
- /**
11367
- * Creates a Matrix4 from 16 consecutive elements in an array.
11368
- * @example
11369
- * // Create the Matrix4:
11370
- // [1.0, 2.0, 3.0, 4.0]
11371
- // [1.0, 2.0, 3.0, 4.0]
11372
- // [1.0, 2.0, 3.0, 4.0]
11373
- // [1.0, 2.0, 3.0, 4.0]
11374
-
11375
- 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];
11376
- const m = Cesium.Matrix4.fromArray(v);
11377
-
11378
- // Create same Matrix4 with using an offset into an array
11379
- 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];
11380
- const m2 = Cesium.Matrix4.fromArray(v2, 2);
11381
- * @param array - The array whose 16 consecutive elements correspond to the positions of the matrix. Assumes column-major order.
11382
- * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to first column first row position in the matrix.
11383
- * @param [result] - The object onto which to store the result.
11384
- * @returns The modified result parameter or a new Matrix4 instance if one was not provided.
11385
- */
11386
- static fromArray(array: number[], startingIndex?: number, result?: Matrix4): Matrix4;
11387
11382
  /**
11388
11383
  * Computes a Matrix4 instance from a column-major order array.
11389
11384
  * @param values - The column-major order array.
@@ -11541,7 +11536,7 @@ export class Matrix4 implements ArrayLike<number> {
11541
11536
  * @param [result] - The object in which the result will be stored.
11542
11537
  * @returns The modified result parameter.
11543
11538
  */
11544
- static computeViewportTransformation(viewport?: any, nearDepthRange?: number, farDepthRange?: number, result?: Matrix4): Matrix4;
11539
+ static computeViewportTransformation(viewport?: Viewport, nearDepthRange?: number, farDepthRange?: number, result?: Matrix4): Matrix4;
11545
11540
  /**
11546
11541
  * Computes a Matrix4 instance that transforms from world space to view space.
11547
11542
  * @param position - The position of the camera.
@@ -12047,6 +12042,63 @@ export class Matrix4 implements ArrayLike<number> {
12047
12042
  * @returns The modified result parameter.
12048
12043
  */
12049
12044
  static inverseTranspose(matrix: Matrix4, result: Matrix4): Matrix4;
12045
+ /**
12046
+ * Gets the number of items in the collection.
12047
+ */
12048
+ length: number;
12049
+ /**
12050
+ * Duplicates the provided Matrix4 instance.
12051
+ * @param [result] - The object onto which to store the result.
12052
+ * @returns The modified result parameter or a new Matrix4 instance if one was not provided.
12053
+ */
12054
+ clone(result?: Matrix4): Matrix4;
12055
+ /**
12056
+ * Compares this matrix to the provided matrix componentwise and returns
12057
+ <code>true</code> if they are equal, <code>false</code> otherwise.
12058
+ * @param [right] - The right hand side matrix.
12059
+ * @returns <code>true</code> if they are equal, <code>false</code> otherwise.
12060
+ */
12061
+ equals(right?: Matrix4): boolean;
12062
+ /**
12063
+ * Compares this matrix to the provided matrix componentwise and returns
12064
+ <code>true</code> if they are within the provided epsilon,
12065
+ <code>false</code> otherwise.
12066
+ * @param [right] - The right hand side matrix.
12067
+ * @param [epsilon = 0] - The epsilon to use for equality testing.
12068
+ * @returns <code>true</code> if they are within the provided epsilon, <code>false</code> otherwise.
12069
+ */
12070
+ equalsEpsilon(right?: Matrix4, epsilon?: number): boolean;
12071
+ /**
12072
+ * Computes a string representing this Matrix with each row being
12073
+ on a separate line and in the format '(column0, column1, column2, column3)'.
12074
+ * @returns A string representing the provided Matrix with each row being on a separate line and in the format '(column0, column1, column2, column3)'.
12075
+ */
12076
+ toString(): string;
12077
+ /**
12078
+ * The number of elements used to pack the object into an array.
12079
+ */
12080
+ static packedLength: number;
12081
+ /**
12082
+ * Creates a Matrix4 from 16 consecutive elements in an array.
12083
+ * @example
12084
+ * // Create the Matrix4:
12085
+ // [1.0, 2.0, 3.0, 4.0]
12086
+ // [1.0, 2.0, 3.0, 4.0]
12087
+ // [1.0, 2.0, 3.0, 4.0]
12088
+ // [1.0, 2.0, 3.0, 4.0]
12089
+
12090
+ 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];
12091
+ const m = Cesium.Matrix4.fromArray(v);
12092
+
12093
+ // Create same Matrix4 with using an offset into an array
12094
+ 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];
12095
+ const m2 = Cesium.Matrix4.fromArray(v2, 2);
12096
+ * @param array - The array whose 16 consecutive elements correspond to the positions of the matrix. Assumes column-major order.
12097
+ * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to first column first row position in the matrix.
12098
+ * @param [result] - The object onto which to store the result.
12099
+ * @returns The modified result parameter or a new Matrix4 instance if one was not provided.
12100
+ */
12101
+ static fromArray(array: number[], startingIndex?: number, result?: Matrix4): Matrix4;
12050
12102
  /**
12051
12103
  * An immutable Matrix4 instance initialized to the identity matrix.
12052
12104
  */
@@ -12119,38 +12171,6 @@ export class Matrix4 implements ArrayLike<number> {
12119
12171
  * The index into Matrix4 for column 3, row 3.
12120
12172
  */
12121
12173
  static readonly COLUMN3ROW3: number;
12122
- /**
12123
- * Gets the number of items in the collection.
12124
- */
12125
- length: number;
12126
- /**
12127
- * Duplicates the provided Matrix4 instance.
12128
- * @param [result] - The object onto which to store the result.
12129
- * @returns The modified result parameter or a new Matrix4 instance if one was not provided.
12130
- */
12131
- clone(result?: Matrix4): Matrix4;
12132
- /**
12133
- * Compares this matrix to the provided matrix componentwise and returns
12134
- <code>true</code> if they are equal, <code>false</code> otherwise.
12135
- * @param [right] - The right hand side matrix.
12136
- * @returns <code>true</code> if they are equal, <code>false</code> otherwise.
12137
- */
12138
- equals(right?: Matrix4): boolean;
12139
- /**
12140
- * Compares this matrix to the provided matrix componentwise and returns
12141
- <code>true</code> if they are within the provided epsilon,
12142
- <code>false</code> otherwise.
12143
- * @param [right] - The right hand side matrix.
12144
- * @param [epsilon = 0] - The epsilon to use for equality testing.
12145
- * @returns <code>true</code> if they are within the provided epsilon, <code>false</code> otherwise.
12146
- */
12147
- equalsEpsilon(right?: Matrix4, epsilon?: number): boolean;
12148
- /**
12149
- * Computes a string representing this Matrix with each row being
12150
- on a separate line and in the format '(column0, column1, column2, column3)'.
12151
- * @returns A string representing the provided Matrix with each row being on a separate line and in the format '(column0, column1, column2, column3)'.
12152
- */
12153
- toString(): string;
12154
12174
  }
12155
12175
 
12156
12176
  /**
@@ -14932,10 +14952,6 @@ export class Rectangle {
14932
14952
  * Gets the height of the rectangle in radians.
14933
14953
  */
14934
14954
  readonly height: number;
14935
- /**
14936
- * The number of elements used to pack the object into an array.
14937
- */
14938
- static packedLength: number;
14939
14955
  /**
14940
14956
  * Stores the provided instance into the provided array.
14941
14957
  * @param value - The value to pack.
@@ -15161,6 +15177,10 @@ export class Rectangle {
15161
15177
  * @returns The modified result parameter or a new Rectangle instance if none was provided.
15162
15178
  */
15163
15179
  static subsection(rectangle: Rectangle, westLerp: number, southLerp: number, eastLerp: number, northLerp: number, result?: Rectangle): Rectangle;
15180
+ /**
15181
+ * The number of elements used to pack the object into an array.
15182
+ */
15183
+ static packedLength: number;
15164
15184
  /**
15165
15185
  * The largest possible rectangle.
15166
15186
  */
@@ -17512,8 +17532,7 @@ At level of detail one, each of the level zero tiles has four children, two in e
17512
17532
  At level of detail two, each of the level one tiles has four children, two in each direction.
17513
17533
  This continues for as many levels as are present in the geometry or imagery source.
17514
17534
  */
17515
- export class TilingScheme {
17516
- constructor();
17535
+ export interface TilingScheme {
17517
17536
  /**
17518
17537
  * Gets the ellipsoid that is tiled by the tiling scheme.
17519
17538
  */
@@ -17559,7 +17578,7 @@ export class TilingScheme {
17559
17578
  * @returns The specified 'result', or a new object containing the rectangle
17560
17579
  if 'result' is undefined.
17561
17580
  */
17562
- tileXYToNativeRectangle(x: number, y: number, level: number, result?: any): Rectangle;
17581
+ tileXYToNativeRectangle(x: number, y: number, level: number, result?: Rectangle): Rectangle;
17563
17582
  /**
17564
17583
  * Converts tile x, y coordinates and level to a cartographic rectangle in radians.
17565
17584
  * @param x - The integer x coordinate of the tile.
@@ -17570,7 +17589,7 @@ export class TilingScheme {
17570
17589
  * @returns The specified 'result', or a new object containing the rectangle
17571
17590
  if 'result' is undefined.
17572
17591
  */
17573
- tileXYToRectangle(x: number, y: number, level: number, result?: any): Rectangle;
17592
+ tileXYToRectangle(x: number, y: number, level: number, result?: Rectangle): Rectangle;
17574
17593
  /**
17575
17594
  * Calculates the tile x, y coordinates of the tile containing
17576
17595
  a given cartographic position.
@@ -18913,13 +18932,16 @@ export class WallOutlineGeometry {
18913
18932
  static createGeometry(wallGeometry: WallOutlineGeometry): Geometry | undefined;
18914
18933
  }
18915
18934
 
18935
+ export interface WebMercatorProjection extends MapProjection {
18936
+ }
18937
+
18916
18938
  /**
18917
18939
  * The map projection used by Google Maps, Bing Maps, and most of ArcGIS Online, EPSG:3857. This
18918
18940
  projection use longitude and latitude expressed with the WGS84 and transforms them to Mercator using
18919
18941
  the spherical (rather than ellipsoidal) equations.
18920
18942
  * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid.
18921
18943
  */
18922
- export class WebMercatorProjection {
18944
+ export class WebMercatorProjection implements MapProjection {
18923
18945
  constructor(ellipsoid?: Ellipsoid);
18924
18946
  /**
18925
18947
  * Gets the {@link Ellipsoid}.
@@ -18939,19 +18961,6 @@ export class WebMercatorProjection {
18939
18961
  * @returns The Mercator angle.
18940
18962
  */
18941
18963
  static geodeticLatitudeToMercatorAngle(latitude: number): number;
18942
- /**
18943
- * The maximum latitude (both North and South) supported by a Web Mercator
18944
- (EPSG:3857) projection. Technically, the Mercator projection is defined
18945
- for any latitude up to (but not including) 90 degrees, but it makes sense
18946
- to cut it off sooner because it grows exponentially with increasing latitude.
18947
- The logic behind this particular cutoff value, which is the one used by
18948
- Google Maps, Bing Maps, and Esri, is that it makes the projection
18949
- square. That is, the rectangle is equal in the X and Y directions.
18950
-
18951
- The constant value is computed by calling:
18952
- WebMercatorProjection.mercatorAngleToGeodeticLatitude(Math.PI)
18953
- */
18954
- static MaximumLatitude: number;
18955
18964
  /**
18956
18965
  * Converts geodetic ellipsoid coordinates, in radians, to the equivalent Web Mercator
18957
18966
  X, Y, Z coordinates expressed in meters and returned in a {@link Cartesian3}. The height
@@ -18972,6 +18981,24 @@ export class WebMercatorProjection {
18972
18981
  * @returns The equivalent cartographic coordinates.
18973
18982
  */
18974
18983
  unproject(cartesian: Cartesian3, result?: Cartographic): Cartographic;
18984
+ /**
18985
+ * The maximum latitude (both North and South) supported by a Web Mercator
18986
+ (EPSG:3857) projection. Technically, the Mercator projection is defined
18987
+ for any latitude up to (but not including) 90 degrees, but it makes sense
18988
+ to cut it off sooner because it grows exponentially with increasing latitude.
18989
+ The logic behind this particular cutoff value, which is the one used by
18990
+ Google Maps, Bing Maps, and Esri, is that it makes the projection
18991
+ square. That is, the rectangle is equal in the X and Y directions.
18992
+
18993
+ The constant value is computed by calling:
18994
+ WebMercatorProjection.mercatorAngleToGeodeticLatitude(Math.PI)
18995
+ */
18996
+ static MaximumLatitude: number;
18997
+ }
18998
+
18999
+ export const southwestScratch: any;
19000
+
19001
+ export interface WebMercatorTilingScheme extends TilingScheme {
18975
19002
  }
18976
19003
 
18977
19004
  /**
@@ -18993,7 +19020,7 @@ the default ellipsoid.
18993
19020
  globe is covered in the longitude direction and an equal distance is covered in the latitude
18994
19021
  direction, resulting in a square projection.
18995
19022
  */
18996
- export class WebMercatorTilingScheme {
19023
+ export class WebMercatorTilingScheme implements TilingScheme {
18997
19024
  constructor(options?: {
18998
19025
  ellipsoid?: Ellipsoid;
18999
19026
  numberOfLevelZeroTilesX?: number;
@@ -19046,7 +19073,7 @@ export class WebMercatorTilingScheme {
19046
19073
  * @returns The specified 'result', or a new object containing the rectangle
19047
19074
  if 'result' is undefined.
19048
19075
  */
19049
- tileXYToNativeRectangle(x: number, y: number, level: number, result?: any): Rectangle;
19076
+ tileXYToNativeRectangle(x: number, y: number, level: number, result?: Rectangle): Rectangle;
19050
19077
  /**
19051
19078
  * Converts tile x, y coordinates and level to a cartographic rectangle in radians.
19052
19079
  * @param x - The integer x coordinate of the tile.
@@ -19057,7 +19084,7 @@ export class WebMercatorTilingScheme {
19057
19084
  * @returns The specified 'result', or a new object containing the rectangle
19058
19085
  if 'result' is undefined.
19059
19086
  */
19060
- tileXYToRectangle(x: number, y: number, level: number, result?: any): Rectangle;
19087
+ tileXYToRectangle(x: number, y: number, level: number, result?: Rectangle): Rectangle;
19061
19088
  /**
19062
19089
  * Calculates the tile x, y coordinates of the tile containing
19063
19090
  a given cartographic position.
@@ -23437,6 +23464,7 @@ export namespace PathGraphics {
23437
23464
  * @property [resolution = 60] - A numeric Property specifying the maximum number of seconds to step when sampling the position.
23438
23465
  * @property [material = Color.WHITE] - A Property specifying the material used to draw the path.
23439
23466
  * @property [distanceDisplayCondition] - A Property specifying at what distance from the camera that this path will be displayed.
23467
+ * @property [relativeTo] - A Property specifying the frame in which to visualize the path. Use another entity's id to visualize the path relative to that entity, or use the string values "FIXED" or "INERTIAL" to visualize the path in those reference frames.
23440
23468
  */
23441
23469
  type ConstructorOptions = {
23442
23470
  show?: Property | boolean;
@@ -23446,6 +23474,7 @@ export namespace PathGraphics {
23446
23474
  resolution?: Property | number;
23447
23475
  material?: MaterialProperty | Color;
23448
23476
  distanceDisplayCondition?: Property | DistanceDisplayCondition;
23477
+ relativeTo?: Property | string;
23449
23478
  };
23450
23479
  }
23451
23480
 
@@ -23487,6 +23516,10 @@ export class PathGraphics {
23487
23516
  * Gets or sets the {@link DistanceDisplayCondition} Property specifying at what distance from the camera that this path will be displayed.
23488
23517
  */
23489
23518
  distanceDisplayCondition: Property | undefined;
23519
+ /**
23520
+ * Gets or sets the frame in which to visualize the path. Use another entity's id to visualize the path relative to that entity, or use the string values "FIXED" or "INERTIAL" to visualize the path in those reference frames.
23521
+ */
23522
+ relativeTo: Property | undefined;
23490
23523
  /**
23491
23524
  * Duplicates this instance.
23492
23525
  * @param [result] - The object onto which to store the result.
@@ -23501,6 +23534,32 @@ export class PathGraphics {
23501
23534
  merge(source: PathGraphics): void;
23502
23535
  }
23503
23536
 
23537
+ /**
23538
+ * Transforms a path entity's position into the local frame of the reference entity.
23539
+ If the reference entity has an orientation, uses that orientation to define the local frame.
23540
+ Otherwise, falls back to a VVLH (Vehicle Velocity Local Horizontal) frame derived from the reference entity's velocity.
23541
+ * @param time - The time at which to evaluate the orientation or VVLH frame.
23542
+ * @param pathEntityPos - The position of the path entity in the FIXED reference frame.
23543
+ * @param refEntityPos - The position of the reference entity in the FIXED reference frame.
23544
+ * @param refEntity - The reference entity whose frame to transform into.
23545
+ * @param result - The object onto which to store the result.
23546
+ * @returns The transformed position in the reference entity's local frame, or undefined if either input position is undefined.
23547
+ */
23548
+ export function transformToEntityFrame(time: JulianDate, pathEntityPos: Cartesian3, refEntityPos: Cartesian3, refEntity: Entity, result: Cartesian3): Cartesian3 | undefined;
23549
+
23550
+ /**
23551
+ * Compute the vehicle velocity, local horizontal (VVLH) transform for a position property at a given time.
23552
+ The VVLH axes is defined based on the motion of the provided position point as follows:
23553
+ - The X axis is directed toward the point's velocity vector, in the direction of motion.
23554
+ - The Y axis is along the angular momentum vector.
23555
+ - The Z axis is along the position vector.
23556
+ * @param time - The time at which to compute the VVLH transform.
23557
+ * @param positionProperty - The position to compute the VVLH frame for.
23558
+ * @param result - The object onto which to store the result.
23559
+ * @returns The VVLH transform.
23560
+ */
23561
+ export function computeVvlhTransform(time: JulianDate, positionProperty: PositionProperty, result: Matrix4): Matrix4;
23562
+
23504
23563
  /**
23505
23564
  * A {@link Visualizer} which maps {@link Entity#path} to a {@link Polyline}.
23506
23565
  * @param scene - The scene the primitives will be rendered in.
@@ -27620,11 +27679,14 @@ export class BufferPoint extends BufferPrimitive {
27620
27679
  }
27621
27680
 
27622
27681
  /**
27623
- * @property [options.modelMatrix = Matrix4.IDENTITY] - Transforms geometry from model to world coordinates.
27682
+ * @property [modelMatrix = Matrix4.IDENTITY] - Transforms geometry from model to world coordinates.
27624
27683
  */
27625
27684
  export type BufferPointOptions = {
27685
+ modelMatrix?: Matrix4;
27626
27686
  show?: boolean;
27627
- color?: Color;
27687
+ material?: BufferPointMaterial;
27688
+ featureId?: number;
27689
+ pickObject?: any;
27628
27690
  position?: Cartesian3;
27629
27691
  };
27630
27692
 
@@ -27638,24 +27700,30 @@ constructor when available.</p>
27638
27700
  * const collection = new BufferPointCollection({primitiveCountMax: 1024});
27639
27701
 
27640
27702
  const point = new BufferPoint();
27703
+ const material = new BufferPointMaterial({color: Color.WHITE});
27641
27704
 
27642
27705
  // Create a new point, temporarily bound to 'point' local variable.
27643
27706
  collection.add({
27644
27707
  position: new Cartesian3(0.0, 0.0, 0.0),
27645
- color: Color.WHITE,
27708
+ material
27646
27709
  }, point);
27647
27710
 
27648
27711
  // Iterate over all points in collection, temporarily binding 'point'
27649
- // local variable to each, and updating point color.
27712
+ // local variable to each, and updating point material.
27650
27713
  for (let i = 0; i < collection.primitiveCount; i++) {
27651
27714
  collection.get(i, point);
27652
- point.setColor(Color.RED);
27715
+ point.setMaterial(material);
27653
27716
  }
27717
+ * @param [options.modelMatrix = Matrix4.IDENTITY] - Transforms geometry from model to world coordinates.
27718
+ * @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.
27654
27719
  */
27655
27720
  export class BufferPointCollection extends BufferPrimitiveCollection<BufferPoint> {
27656
27721
  constructor(options: {
27722
+ modelMatrix?: Matrix4;
27657
27723
  primitiveCountMax?: number;
27658
27724
  show?: boolean;
27725
+ positionDatatype?: ComponentDatatype;
27726
+ allowPicking?: boolean;
27659
27727
  debugShowBoundingVolume?: boolean;
27660
27728
  });
27661
27729
  /**
@@ -27668,6 +27736,55 @@ export class BufferPointCollection extends BufferPrimitiveCollection<BufferPoint
27668
27736
  add(options: BufferPointOptions, result: BufferPoint): BufferPoint;
27669
27737
  }
27670
27738
 
27739
+ /**
27740
+ * @property [color = Color.WHITE] - Color of fill.
27741
+ * @property [outlineColor = Color.WHITE] - Color of outline.
27742
+ * @property [outlineWidth = 0.0] - Width of outline, 0-255px.
27743
+ * @property [size = 1.0] - Size of point, 0-255px.
27744
+ */
27745
+ export type BufferPointMaterialOptions = {
27746
+ color?: Color;
27747
+ outlineColor?: Color;
27748
+ outlineWidth?: number;
27749
+ size?: number;
27750
+ };
27751
+
27752
+ /**
27753
+ * Material description for a {@link BufferPoint}.
27754
+
27755
+ <p>BufferPointMaterial objects are {@link Packable|packable}, stored
27756
+ when calling {@link BufferPoint#setMaterial}. Subsequent changes to the
27757
+ material will not affect the point until setMaterial() is called again.</p>
27758
+ */
27759
+ export class BufferPointMaterial extends BufferPrimitiveMaterial {
27760
+ constructor(options?: BufferPointMaterialOptions);
27761
+ /**
27762
+ * Size of point, 0-255px.
27763
+ */
27764
+ size: number;
27765
+ static pack(material: BufferPointMaterial, view: DataView, byteOffset: number): void;
27766
+ static unpack(view: DataView, byteOffset: number, result: BufferPointMaterial): BufferPointMaterial;
27767
+ /**
27768
+ * Returns a JSON-serializable object representing the material. This encoding
27769
+ is not memory-efficient, and should generally be used for debugging and
27770
+ testing.
27771
+ * @returns JSON-serializable object.
27772
+ */
27773
+ toJSON(): any;
27774
+ /**
27775
+ * Color of fill.
27776
+ */
27777
+ color: Color;
27778
+ /**
27779
+ * Color of outline.
27780
+ */
27781
+ outlineColor: Color;
27782
+ /**
27783
+ * Width of outline, 0-255px.
27784
+ */
27785
+ outlineWidth: number;
27786
+ }
27787
+
27671
27788
  /**
27672
27789
  * View bound to the underlying buffer data of a {@link BufferPolygonCollection}.
27673
27790
 
@@ -27787,11 +27904,14 @@ export class BufferPolygon extends BufferPrimitive {
27787
27904
  }
27788
27905
 
27789
27906
  /**
27790
- * @property [options.modelMatrix = Matrix4.IDENTITY] - Transforms geometry from model to world coordinates.
27907
+ * @property [modelMatrix = Matrix4.IDENTITY] - Transforms geometry from model to world coordinates.
27791
27908
  */
27792
27909
  export type BufferPolygonOptions = {
27910
+ modelMatrix?: Matrix4;
27793
27911
  show?: boolean;
27794
- color?: Color;
27912
+ material?: BufferPolygonMaterial;
27913
+ featureId?: number;
27914
+ pickObject?: any;
27795
27915
  positions?: TypedArray;
27796
27916
  holes?: TypedArray;
27797
27917
  triangles?: TypedArray;
@@ -27816,21 +27936,23 @@ const collection = new BufferPolygonCollection({
27816
27936
  const polygon = new BufferPolygon();
27817
27937
  const positions = [ ... ];
27818
27938
  const holes = [ ... ];
27939
+ const material = new BufferPolygonMaterial({color: Color.WHITE});
27819
27940
 
27820
27941
  // Create a new polygon, temporarily bound to 'polygon' local variable.
27821
27942
  collection.add({
27822
27943
  positions: new Float64Array(positions),
27823
27944
  holes: new Uint32Array(holes),
27824
27945
  triangles: new Uint32Array(earcut(positions, holes, 3)),
27825
- color: Color.WHITE,
27946
+ material
27826
27947
  }, polygon);
27827
27948
 
27828
27949
  // Iterate over all polygons in collection, temporarily binding 'polygon'
27829
- // local variable to each, and updating polygon color.
27950
+ // local variable to each, and updating polygon material.
27830
27951
  for (let i = 0; i < collection.primitiveCount; i++) {
27831
27952
  collection.get(i, polygon);
27832
- polygon.setColor(Color.RED);
27953
+ polygon.setMaterial(material);
27833
27954
  }
27955
+ * @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.
27834
27956
  */
27835
27957
  export class BufferPolygonCollection extends BufferPrimitiveCollection<BufferPolygon> {
27836
27958
  constructor(options: {
@@ -27840,6 +27962,7 @@ export class BufferPolygonCollection extends BufferPrimitiveCollection<BufferPol
27840
27962
  triangleCountMax?: number;
27841
27963
  positionDatatype?: ComponentDatatype;
27842
27964
  show?: boolean;
27965
+ allowPicking?: boolean;
27843
27966
  debugShowBoundingVolume?: boolean;
27844
27967
  });
27845
27968
  /**
@@ -27887,6 +28010,47 @@ export class BufferPolygonCollection extends BufferPrimitiveCollection<BufferPol
27887
28010
  readonly triangleCountMax: number;
27888
28011
  }
27889
28012
 
28013
+ /**
28014
+ * @property [color = Color.WHITE] - Color of fill.
28015
+ * @property [outlineColor = Color.WHITE] - Color of outline.
28016
+ * @property [outlineWidth = 0.0] - Width of outline, 0-255px.
28017
+ */
28018
+ export type BufferPolygonMaterialOptions = {
28019
+ color?: Color;
28020
+ outlineColor?: Color;
28021
+ outlineWidth?: number;
28022
+ };
28023
+
28024
+ /**
28025
+ * Material description for a {@link BufferPolygon}.
28026
+
28027
+ <p>BufferPolygonMaterial objects are {@link Packable|packable}, stored
28028
+ when calling {@link BufferPolygon#setMaterial}. Subsequent changes to the
28029
+ material will not affect the polygon until setMaterial() is called again.</p>
28030
+ */
28031
+ export class BufferPolygonMaterial extends BufferPrimitiveMaterial {
28032
+ constructor(options?: BufferPolygonMaterialOptions);
28033
+ /**
28034
+ * Color of fill.
28035
+ */
28036
+ color: Color;
28037
+ /**
28038
+ * Color of outline.
28039
+ */
28040
+ outlineColor: Color;
28041
+ /**
28042
+ * Width of outline, 0-255px.
28043
+ */
28044
+ outlineWidth: number;
28045
+ /**
28046
+ * Returns a JSON-serializable object representing the material. This encoding
28047
+ is not memory-efficient, and should generally be used for debugging and
28048
+ testing.
28049
+ * @returns JSON-serializable object.
28050
+ */
28051
+ toJSON(): any;
28052
+ }
28053
+
27890
28054
  /**
27891
28055
  * View bound to the underlying buffer data of a {@link BufferPolylineCollection}.
27892
28056
 
@@ -27917,10 +28081,6 @@ export class BufferPolyline extends BufferPrimitive {
27917
28081
  */
27918
28082
  getPositions(result?: TypedArray): void;
27919
28083
  setPositions(positions: TypedArray): void;
27920
- /**
27921
- * Width of polyline, 0–255px.
27922
- */
27923
- width: number;
27924
28084
  /**
27925
28085
  * Returns a JSON-serializable object representing the polyline. This encoding
27926
28086
  is not memory-efficient, and should generally be used for debugging and
@@ -27931,13 +28091,15 @@ export class BufferPolyline extends BufferPrimitive {
27931
28091
  }
27932
28092
 
27933
28093
  /**
27934
- * @property [options.modelMatrix = Matrix4.IDENTITY] - Transforms geometry from model to world coordinates.
28094
+ * @property [modelMatrix = Matrix4.IDENTITY] - Transforms geometry from model to world coordinates.
27935
28095
  */
27936
28096
  export type BufferPolylineOptions = {
28097
+ modelMatrix?: Matrix4;
27937
28098
  show?: boolean;
27938
- color?: Color;
28099
+ material?: BufferPolylineMaterial;
28100
+ featureId?: number;
28101
+ pickObject?: any;
27939
28102
  positions?: TypedArray;
27940
- width?: number;
27941
28103
  };
27942
28104
 
27943
28105
  /**
@@ -27953,18 +28115,19 @@ constructor when available.</p>
27953
28115
  });
27954
28116
 
27955
28117
  const polyline = new BufferPolyline();
28118
+ const material = new BufferPolylineMaterial({color: Color.WHITE});
27956
28119
 
27957
28120
  // Create a new polyline, temporarily bound to 'polyline' local variable.
27958
28121
  collection.add({
27959
28122
  positions: new Float64Array([ ... ]),
27960
- color: Color.WHITE,
28123
+ material,
27961
28124
  }, polyline);
27962
28125
 
27963
28126
  // Iterate over all polylines in collection, temporarily binding 'polyline'
27964
- // local variable to each, and updating polyline color.
28127
+ // local variable to each, and updating polyline material.
27965
28128
  for (let i = 0; i < collection.primitiveCount; i++) {
27966
28129
  collection.get(i, polyline);
27967
- polyline.setColor(Color.RED);
28130
+ polyline.setMaterial(material);
27968
28131
  }
27969
28132
  */
27970
28133
  export class BufferPolylineCollection extends BufferPrimitiveCollection<BufferPolyline> {
@@ -27978,6 +28141,55 @@ export class BufferPolylineCollection extends BufferPrimitiveCollection<BufferPo
27978
28141
  add(options: BufferPolylineOptions, result: BufferPolyline): BufferPolyline;
27979
28142
  }
27980
28143
 
28144
+ /**
28145
+ * @property [color = Color.WHITE] - Color of fill.
28146
+ * @property [outlineColor = Color.WHITE] - Color of outline.
28147
+ * @property [outlineWidth = 0.0] - Width of outline, 0-255px.
28148
+ * @property [width = 1.0] - Width of line, 0-255px.
28149
+ */
28150
+ export type BufferPolylineMaterialOptions = {
28151
+ color?: Color;
28152
+ outlineColor?: Color;
28153
+ outlineWidth?: number;
28154
+ width?: number;
28155
+ };
28156
+
28157
+ /**
28158
+ * Material description for a {@link BufferPolyline}.
28159
+
28160
+ <p>BufferPolylineMaterial objects are {@link Packable|packable}, stored
28161
+ when calling {@link BufferPolyline#setMaterial}. Subsequent changes to the
28162
+ material will not affect the polyline until setMaterial() is called again.</p>
28163
+ */
28164
+ export class BufferPolylineMaterial extends BufferPrimitiveMaterial {
28165
+ constructor(options?: BufferPolylineMaterialOptions);
28166
+ /**
28167
+ * Width of polyline, 0–255px.
28168
+ */
28169
+ width: number;
28170
+ static pack(material: BufferPolylineMaterial, view: DataView, byteOffset: number): void;
28171
+ static unpack(view: DataView, byteOffset: number, result: BufferPolylineMaterial): BufferPolylineMaterial;
28172
+ /**
28173
+ * Returns a JSON-serializable object representing the material. This encoding
28174
+ is not memory-efficient, and should generally be used for debugging and
28175
+ testing.
28176
+ * @returns JSON-serializable object.
28177
+ */
28178
+ toJSON(): any;
28179
+ /**
28180
+ * Color of fill.
28181
+ */
28182
+ color: Color;
28183
+ /**
28184
+ * Color of outline.
28185
+ */
28186
+ outlineColor: Color;
28187
+ /**
28188
+ * Width of outline, 0-255px.
28189
+ */
28190
+ outlineWidth: number;
28191
+ }
28192
+
27981
28193
  /**
27982
28194
  * View bound to the underlying buffer data of a {@link BufferPrimitiveCollection}. Abstract.
27983
28195
 
@@ -28001,14 +28213,8 @@ export class BufferPrimitive {
28001
28213
  * Whether primitive is shown.
28002
28214
  */
28003
28215
  show: boolean;
28004
- /**
28005
- * Returns the color of primitive.
28006
- */
28007
- getColor(result: Color): Color;
28008
- /**
28009
- * Updates the color of primitive.
28010
- */
28011
- setColor(color: Color): void;
28216
+ getMaterial(result: BufferPrimitiveMaterial): BufferPrimitiveMaterial;
28217
+ setMaterial(material: BufferPrimitiveMaterial): void;
28012
28218
  /**
28013
28219
  * Returns a JSON-serializable object representing the primitive. This encoding
28014
28220
  is not memory-efficient, and should generally be used for debugging and
@@ -28018,9 +28224,15 @@ export class BufferPrimitive {
28018
28224
  toJSON(): any;
28019
28225
  }
28020
28226
 
28227
+ /**
28228
+ * @property [modelMatrix = Matrix4.IDENTITY] - Transforms geometry from model to world coordinates.
28229
+ */
28021
28230
  export type BufferPrimitiveOptions = {
28231
+ modelMatrix?: Matrix4;
28022
28232
  show?: boolean;
28023
- color?: Color;
28233
+ material?: BufferPrimitiveMaterial;
28234
+ featureId?: number;
28235
+ pickObject?: any;
28024
28236
  };
28025
28237
 
28026
28238
  /**
@@ -28031,6 +28243,7 @@ be careful to avoid allocating "N" instances of any related JavaScript object. {
28031
28243
  {@link Color}, {@link Cartesian3}, and other objects can all be reused when working with large collections,
28032
28244
  using the {@link https://en.wikipedia.org/wiki/Flyweight_pattern|flyweight pattern}.</p>
28033
28245
  * @param [options.modelMatrix = Matrix4.IDENTITY] - Transforms geometry from model to world coordinates.
28246
+ * @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.
28034
28247
  */
28035
28248
  export class BufferPrimitiveCollection<T extends BufferPrimitive> {
28036
28249
  constructor(options: {
@@ -28039,34 +28252,16 @@ export class BufferPrimitiveCollection<T extends BufferPrimitive> {
28039
28252
  vertexCountMax?: number;
28040
28253
  show?: boolean;
28041
28254
  positionDatatype?: ComponentDatatype;
28255
+ allowPicking?: boolean;
28042
28256
  debugShowBoundingVolume?: boolean;
28043
28257
  });
28044
- /**
28045
- * Default capacity of buffers on new collections. A quantity of elements:
28046
- number of vertices in the vertex buffer, primitives in the primitive
28047
- buffer, etc. This value is arbitrary, and collections cannot be resized,
28048
- so specific per-buffer capacities should be provided in the collection
28049
- constructor when available.
28050
- */
28051
- readonly DEFAULT_CAPACITY: number;
28052
28258
  /**
28053
28259
  * Determines if primitives in this collection will be shown.
28054
28260
  */
28055
28261
  show: boolean;
28056
- /**
28057
- * Transforms geometry from model to world coordinates.
28058
- */
28059
- modelMatrix: Matrix4;
28060
- /**
28061
- * Local bounding volume for all primitives in the collection, including both
28062
- shown and hidden primitives.
28063
- */
28064
- boundingVolume: BoundingSphere;
28065
- /**
28066
- * World bounding volume for all primitives in the collection, including both
28067
- shown and hidden primitives.
28068
- */
28069
- boundingVolumeWC: BoundingSphere;
28262
+ protected readonly _modelMatrix: Matrix4;
28263
+ protected readonly _boundingVolume: BoundingSphere;
28264
+ protected readonly _boundingVolumeWC: BoundingSphere;
28070
28265
  /**
28071
28266
  * This property is for debugging only; it is not for production use nor is it optimized.
28072
28267
  <p>
@@ -28156,6 +28351,20 @@ export class BufferPrimitiveCollection<T extends BufferPrimitive> {
28156
28351
  {@link vertexCount}.
28157
28352
  */
28158
28353
  readonly vertexCountMax: number;
28354
+ /**
28355
+ * Transforms geometry from model to world coordinates.
28356
+ */
28357
+ readonly modelMatrix: Matrix4;
28358
+ /**
28359
+ * Local bounding volume for all primitives in the collection, including both
28360
+ shown and hidden primitives.
28361
+ */
28362
+ readonly boundingVolume: BoundingSphere;
28363
+ /**
28364
+ * World bounding volume for all primitives in the collection, including both
28365
+ shown and hidden primitives.
28366
+ */
28367
+ readonly boundingVolumeWC: BoundingSphere;
28159
28368
  /**
28160
28369
  * Returns a JSON-serializable array representing the collection. This encoding
28161
28370
  is not memory-efficient, and should generally be used for debugging and
@@ -28166,6 +28375,68 @@ export class BufferPrimitiveCollection<T extends BufferPrimitive> {
28166
28375
  primitive in the collection.
28167
28376
  */
28168
28377
  toJSON(): object[];
28378
+ /**
28379
+ * Default capacity of buffers on new collections. A quantity of elements:
28380
+ number of vertices in the vertex buffer, primitives in the primitive
28381
+ buffer, etc. This value is arbitrary, and collections cannot be resized,
28382
+ so specific per-buffer capacities should be provided in the collection
28383
+ constructor when available.
28384
+ */
28385
+ static readonly DEFAULT_CAPACITY: number;
28386
+ }
28387
+
28388
+ /**
28389
+ * @property [color = Color.WHITE] - Color of fill.
28390
+ * @property [outlineColor = Color.WHITE] - Color of outline.
28391
+ * @property [outlineWidth = 0.0] - Width of outline, 0-255px.
28392
+ */
28393
+ export type BufferPrimitiveMaterialOptions = {
28394
+ color?: Color;
28395
+ outlineColor?: Color;
28396
+ outlineWidth?: number;
28397
+ };
28398
+
28399
+ /**
28400
+ * Material description for a {@link BufferPrimitive}. Abstract.
28401
+
28402
+ <p>BufferPrimitiveMaterial objects are {@link Packable|packable}, stored
28403
+ when calling {@link BufferPrimitive#setMaterial}. Subsequent changes to the
28404
+ material will not affect the primitive until setMaterial() is called again.</p>
28405
+ */
28406
+ export class BufferPrimitiveMaterial {
28407
+ constructor(options?: BufferPrimitiveMaterialOptions);
28408
+ /**
28409
+ * Color of fill.
28410
+ */
28411
+ color: Color;
28412
+ /**
28413
+ * Color of outline.
28414
+ */
28415
+ outlineColor: Color;
28416
+ /**
28417
+ * Width of outline, 0-255px.
28418
+ */
28419
+ outlineWidth: number;
28420
+ static packedLength: number;
28421
+ /**
28422
+ * Stores the provided material into the provided array.
28423
+ */
28424
+ static pack(material: BufferPrimitiveMaterial, view: DataView, byteOffset: number): void;
28425
+ /**
28426
+ * Retrieves a material from a packed array.
28427
+ * @param view - The packed array.
28428
+ * @param byteOffset - Starting index of the element to be unpacked.
28429
+ * @param result - Material into which results are unpacked.
28430
+ * @returns Modified result material, with results unpacked.
28431
+ */
28432
+ static unpack(view: DataView, byteOffset: number, result: BufferPrimitiveMaterial): BufferPrimitiveMaterial;
28433
+ /**
28434
+ * Returns a JSON-serializable object representing the material. This encoding
28435
+ is not memory-efficient, and should generally be used for debugging and
28436
+ testing.
28437
+ * @returns JSON-serializable object.
28438
+ */
28439
+ toJSON(): any;
28169
28440
  }
28170
28441
 
28171
28442
  /**
@@ -29161,7 +29432,7 @@ handler.setInputAction(function(movement) {
29161
29432
  }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
29162
29433
  */
29163
29434
  export class Cesium3DTileFeature {
29164
- constructor();
29435
+ constructor(content: Cesium3DTileContent, batchId: number);
29165
29436
  /**
29166
29437
  * Gets or sets if the feature will be shown. This is set for all features
29167
29438
  when a style's show is evaluated.
@@ -29309,7 +29580,7 @@ handler.setInputAction(function(movement) {
29309
29580
  }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
29310
29581
  */
29311
29582
  export class Cesium3DTilePointFeature {
29312
- constructor();
29583
+ constructor(content: Cesium3DTileContent, batchId: number, billboard: Billboard, label: Label, polyline: Polyline);
29313
29584
  /**
29314
29585
  * Gets or sets if the feature will be shown. This is set for all features
29315
29586
  when a style's show is evaluated.
@@ -30358,6 +30629,10 @@ export class Cesium3DTileset {
30358
30629
  </p>
30359
30630
  */
30360
30631
  readonly heightReference: HeightReference | undefined;
30632
+ /**
30633
+ * 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.
30634
+ */
30635
+ readonly scene: Scene | undefined;
30361
30636
  /**
30362
30637
  * Gets an ellipsoid describing the shape of the globe.
30363
30638
  */
@@ -30546,11 +30821,6 @@ export class Cesium3DTileset {
30546
30821
  getHeight(cartographic: Cartographic, scene: Scene): number | undefined;
30547
30822
  }
30548
30823
 
30549
- /**
30550
- * 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.
30551
- */
30552
- export const of = "undefined";
30553
-
30554
30824
  /**
30555
30825
  * A style that is applied to a {@link Cesium3DTileset}.
30556
30826
  <p>
@@ -31386,6 +31656,8 @@ export class Cesium3DTilesVoxelProvider extends VoxelProvider {
31386
31656
  }): Promise<VoxelContent> | undefined;
31387
31657
  }
31388
31658
 
31659
+ export const point: any;
31660
+
31389
31661
  /**
31390
31662
  * A ParticleEmitter that emits particles from a circle.
31391
31663
  Particles will be positioned within a circle and have initial velocities going along the z vector.
@@ -31894,12 +32166,14 @@ const polygons = new Cesium.ClippingPolygonCollection({
31894
32166
  * @param [options.polygons = []] - An array of {@link ClippingPolygon} objects used to selectively disable rendering on the inside of each polygon.
31895
32167
  * @param [options.enabled = true] - Determines whether the clipping polygons are active.
31896
32168
  * @param [options.inverse = false] - If true, a region will be clipped if it is outside of every polygon in the collection. Otherwise, a region will only be clipped if it is on the inside of any polygon.
32169
+ * @param [options.quality = 1.0] - A scalar that controls the resolution of the signed distance texture used for clipping. Values greater than 1.0 increase quality, values less than 1.0 decrease it. Must be greater than 0.0.
31897
32170
  */
31898
32171
  export class ClippingPolygonCollection {
31899
32172
  constructor(options?: {
31900
32173
  polygons?: ClippingPolygon[];
31901
32174
  enabled?: boolean;
31902
32175
  inverse?: boolean;
32176
+ quality?: number;
31903
32177
  });
31904
32178
  /**
31905
32179
  * If true, clipping will be enabled.
@@ -31911,6 +32185,11 @@ export class ClippingPolygonCollection {
31911
32185
  inside of any polygon.
31912
32186
  */
31913
32187
  inverse: boolean;
32188
+ /**
32189
+ * A scalar that controls the resolution of the signed distance texture used for clipping.
32190
+ Values greater than 1.0 increase quality, values less than 1.0 decrease it. Must be greater than 0.0.
32191
+ */
32192
+ quality: number;
31914
32193
  /**
31915
32194
  * An event triggered when a new clipping polygon is added to the collection. Event handlers
31916
32195
  are passed the new polygon and the index at which it was added.
@@ -32560,7 +32839,7 @@ export namespace CubeMapPanorama {
32560
32839
  /**
32561
32840
  * Initialization options for the CubeMapPanorama constructor
32562
32841
  * @property [options.sources] - The source URL or <code>Image</code> object for each of the six cube map faces. See the example below.
32563
- * @property [options.transform] - A 4x4 transformation matrix that defines the panorama’s position and orientation
32842
+ * @property [options.transform] - A 3x3 transformation matrix that defines the panorama’s orientation. If not specified, the default orientation is defined using the True Equator Mean Equinox (TEME) axes.
32564
32843
  * @property [options.show = true] - Determines if this primitive will be shown.
32565
32844
  * @property [options.credit] - A credit for the panorama, which is displayed on the canvas.
32566
32845
  */
@@ -32610,9 +32889,9 @@ export class CubeMapPanorama {
32610
32889
  */
32611
32890
  show: boolean;
32612
32891
  /**
32613
- * Gets the transform of the panorama.
32892
+ * Gets the transform of the panorama. If undefined, the default orientation uses the True Equator Mean Equinox (TEME) axes.
32614
32893
  */
32615
- readonly transform: Matrix4;
32894
+ readonly transform: Matrix3;
32616
32895
  /**
32617
32896
  * Gets the credits of the panorama.
32618
32897
  */
@@ -36682,7 +36961,7 @@ browsers, <code>ImageBitmap</code>.
36682
36961
 
36683
36962
  See the documentation for each ImageryProvider class for more information about how they return images.
36684
36963
  */
36685
- export type ImageryTypes = HTMLImageElement | HTMLCanvasElement | ImageBitmap;
36964
+ export type ImageryTypes = HTMLImageElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas;
36686
36965
 
36687
36966
  /**
36688
36967
  * Provides imagery to be displayed on the surface of an ellipsoid. This type describes an
@@ -38640,6 +38919,13 @@ export class MetadataClassProperty {
38640
38919
  * An object containing extensions.
38641
38920
  */
38642
38921
  readonly extensions: any;
38922
+ /**
38923
+ * Determines the byte size of a single property element, stored on the GPU.
38924
+ This differs from the CPU byte size if the element type is a 64-bit type that can be
38925
+ downcast to a 32-bit type for texture packing (only relevant for textures created from property tables).
38926
+ * @returns The byte size of a single property element on the GPU.
38927
+ */
38928
+ gpuBytesPerElement(): number;
38643
38929
  }
38644
38930
 
38645
38931
  /**
@@ -38919,14 +39205,6 @@ export enum MetadataType {
38919
39205
  ENUM = "ENUM"
38920
39206
  }
38921
39207
 
38922
- export const scratchPointPosition: any;
38923
-
38924
- export type VectorTileBuffers = {
38925
- points: BufferPointCollection[];
38926
- polylines: BufferPolylineCollection[];
38927
- polygons: BufferPolygonCollection[];
38928
- };
38929
-
38930
39208
  /**
38931
39209
  * An object describing a uniform, its type, and an initial value
38932
39210
  * @property type - The Glsl type of the uniform.
@@ -39114,6 +39392,15 @@ export enum CustomShaderTranslucencyMode {
39114
39392
  TRANSLUCENT = 2
39115
39393
  }
39116
39394
 
39395
+ /**
39396
+ * @property colors - The packed per-vertex colors.
39397
+ * @property count - The number of vertices.
39398
+ */
39399
+ export type VertexColorInfo = {
39400
+ colors: Float32Array;
39401
+ count: number;
39402
+ };
39403
+
39117
39404
  export namespace AnchorPointDirect {
39118
39405
  /**
39119
39406
  * Initialization options for the AnchorPointDirect constructor
@@ -43140,12 +43427,6 @@ export class PrimitiveCollection {
43140
43427
  destroy(): void;
43141
43428
  }
43142
43429
 
43143
- /**
43144
- * A simple Least Recently Used (LRU) cache implementation.
43145
- */
43146
- export class LRUCache {
43147
- }
43148
-
43149
43430
  /**
43150
43431
  * Creates a spatial hash key for the given longitude, latitude, and tile level.
43151
43432
  The precision is adjusted based on the tile level and extent to achieve finer precision at higher levels.
@@ -44524,6 +44805,10 @@ export class SkyBox {
44524
44805
  * Gets or sets the the primitive object.
44525
44806
  */
44526
44807
  sources: any;
44808
+ /**
44809
+ * Determines if the sky box will be shown.
44810
+ */
44811
+ show: boolean;
44527
44812
  /**
44528
44813
  * Called when {@link Viewer} or {@link CesiumWidget} render the scene to
44529
44814
  get the draw commands needed to render this primitive.
@@ -44561,11 +44846,6 @@ export class SkyBox {
44561
44846
  static createEarthSkyBox(): SkyBox;
44562
44847
  }
44563
44848
 
44564
- /**
44565
- * Determines if the sky box will be shown.
44566
- */
44567
- export var show: boolean;
44568
-
44569
44849
  /**
44570
44850
  * A ParticleEmitter that emits particles within a sphere.
44571
44851
  Particles will be positioned randomly within the sphere and have initial velocities emanating from the center of the sphere.
@@ -45643,18 +45923,6 @@ export class UrlTemplateImageryProvider {
45643
45923
  pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise<ImageryLayerFeatureInfo[]> | undefined;
45644
45924
  }
45645
45925
 
45646
- export function sumCollectionProperty(collections: any[] | undefined, propertyName: string): number;
45647
-
45648
- export function forEachCollection(collections: any[] | undefined, callback: (...params: any[]) => any): void;
45649
-
45650
- export function updateCollectionArray(collections: any[] | undefined, vectorModelMatrix: Matrix4, frameState: any): void;
45651
-
45652
- export function destroyCollectionArray(collections: any[] | undefined): void;
45653
-
45654
- export function makeDecodeModelOptions(tileset: any, tile: any, content: any, gltf: any): any;
45655
-
45656
- export function initializeVectorPrimitives(content: any): void;
45657
-
45658
45926
  /**
45659
45927
  * The vertical location of an origin relative to an object, e.g., a {@link Billboard}
45660
45928
  or {@link Label}. For example, setting the vertical origin to <code>TOP</code>
@@ -45826,6 +46094,12 @@ An object representing voxel content for a {@link Cesium3DTilesVoxelProvider}.
45826
46094
  */
45827
46095
  export class VoxelContent {
45828
46096
  constructor();
46097
+ /**
46098
+ * The metadata for this voxel content.
46099
+ The metadata is an array of typed arrays, one for each field.
46100
+ The data for one field is a flattened 3D array ordered by X, then Y, then Z.
46101
+ */
46102
+ readonly metadata: Int8Array[] | Uint8Array[] | Int16Array[] | Uint16Array[] | Int32Array[] | Uint32Array[] | Float32Array[] | Float64Array[];
45829
46103
  /**
45830
46104
  * Constructs a VoxelContent from an array of metadata.
45831
46105
  * @param metadata - The metadata to use for this voxel content.
@@ -45834,13 +46108,6 @@ export class VoxelContent {
45834
46108
  static fromMetadataArray(metadata: Int8Array[] | Uint8Array[] | Int16Array[] | Uint16Array[] | Int32Array[] | Uint32Array[] | Float32Array[] | Float64Array[]): VoxelContent;
45835
46109
  }
45836
46110
 
45837
- /**
45838
- * The metadata for this voxel content.
45839
- The metadata is an array of typed arrays, one for each field.
45840
- The data for one field is a flattened 3D array ordered by X, then Y, then Z.
45841
- */
45842
- export const metadata: Int8Array[] | Uint8Array[] | Int16Array[] | Uint16Array[] | Int32Array[] | Uint32Array[] | Float32Array[] | Float64Array[];
45843
-
45844
46111
  /**
45845
46112
  * A primitive that renders voxel data from a {@link VoxelProvider}.
45846
46113
  * @param [options] - Object with the following properties:
@@ -46145,6 +46412,10 @@ export class VoxelProvider {
46145
46412
  If this value is not known it can be undefined.
46146
46413
  */
46147
46414
  readonly maximumTileCount: number | undefined;
46415
+ /**
46416
+ * The number of levels of detail containing available tiles in the tileset.
46417
+ */
46418
+ readonly availableLevels: number | undefined;
46148
46419
  /**
46149
46420
  * Requests the data for a given tile.
46150
46421
  * @param [options] - Object with the following properties:
@@ -46162,11 +46433,6 @@ export class VoxelProvider {
46162
46433
  }): Promise<VoxelContent> | undefined;
46163
46434
  }
46164
46435
 
46165
- /**
46166
- * The number of levels of detail containing available tiles in the tileset.
46167
- */
46168
- export const availableLevels: number | undefined;
46169
-
46170
46436
  /**
46171
46437
  * An enum of voxel shapes. The shape controls how the voxel grid is mapped to 3D space.
46172
46438
  */
@@ -46493,25 +46759,37 @@ const shadedRelief2 = new Cesium.WebMapTileServiceImageryProvider({
46493
46759
  });
46494
46760
  viewer.imageryLayers.addImageryProvider(shadedRelief2);
46495
46761
  * @example
46496
- * // Example 3. NASA time dynamic weather data (RESTful)
46762
+ * // Example 3: NASA time dynamic snowpack data (RESTful)
46763
+ // Define time intervals for the layer based on the capabilities XML
46497
46764
  const times = Cesium.TimeIntervalCollection.fromIso8601({
46498
- iso8601: '2015-07-30/2017-06-16/P1D',
46499
- dataCallback: function dataCallback(interval, index) {
46500
- return {
46501
- Time: Cesium.JulianDate.toIso8601(interval.start)
46502
- };
46503
- }
46765
+ iso8601: '2025-01-01/2025-09-01/P5D', // Use the valid interval(s) from the Dimension section
46766
+ dataCallback: function(interval, index) {
46767
+ // Return an object with the Time variable used in the URL template
46768
+ return {
46769
+ Time: Cesium.JulianDate.toIso8601(interval.start, 0)
46770
+ };
46771
+ }
46504
46772
  });
46773
+ // Get the internal clock, set desired start, stop, and multiplier
46774
+ const clock = viewer.clock;
46775
+ clock.startTime = Cesium.JulianDate.fromIso8601('2025-01-01');
46776
+ clock.currentTime = Cesium.JulianDate.fromIso8601('2025-01-01');
46777
+ clock.stopTime = Cesium.JulianDate.fromIso8601('2025-09-01');
46778
+ clock.clockRange = Cesium.ClockRange.LOOP_STOP;
46779
+ clock.multiplier = 1; // 1 day per second
46780
+ clock.clockStep = Cesium.ClockStep.SYSTEM_CLOCK_MULTIPLIER;
46781
+
46782
+ viewer.timeline.zoomTo(clock.startTime, clock.stopTime);
46783
+
46505
46784
  const weather = new Cesium.WebMapTileServiceImageryProvider({
46506
- url : 'https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/AMSR2_Snow_Water_Equivalent/default/{Time}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png',
46507
- layer : 'AMSR2_Snow_Water_Equivalent',
46508
- style : 'default',
46509
- tileMatrixSetID : '2km',
46510
- maximumLevel : 5,
46511
- format : 'image/png',
46785
+ url: 'https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/AMSRU2_Snow_Water_Equivalent_5Day/default/{Time}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png',
46786
+ layer: 'AMSRU2_Snow_Water_Equivalent_5Day',
46787
+ style: 'default',
46788
+ tileMatrixSetID: 'GoogleMapsCompatible_Level6',
46789
+ format: 'image/png',
46512
46790
  clock: clock,
46513
46791
  times: times,
46514
- credit : new Cesium.Credit('NASA Global Imagery Browse Services for EOSDIS')
46792
+ credit: new Cesium.Credit('NASA Global Imagery Browse Services for EOSDIS')
46515
46793
  });
46516
46794
  viewer.imageryLayers.addImageryProvider(weather);
46517
46795
  * @example
@@ -46958,7 +47236,7 @@ export class CesiumWidget {
46958
47236
  * @param [offset] - The offset from the center of the entity in the local east-north-up reference frame.
46959
47237
  * @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.
46960
47238
  */
46961
- zoomTo(target: Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | Promise<Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | VoxelPrimitive>, offset?: HeadingPitchRange): Promise<boolean>;
47239
+ zoomTo(target: Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | Promise<Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | VoxelPrimitive | BufferPrimitiveCollection<BufferPrimitive>>, offset?: HeadingPitchRange): Promise<boolean>;
46962
47240
  /**
46963
47241
  * Flies the camera to the provided entity, entities, or data source.
46964
47242
  If the data source is still in the process of loading or the visualization is otherwise still loading,
@@ -46980,7 +47258,7 @@ export class CesiumWidget {
46980
47258
  * @param [options.offset] - The offset from the target in the local east-north-up reference frame centered at the target.
46981
47259
  * @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
46982
47260
  */
46983
- flyTo(target: Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | Promise<Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | VoxelPrimitive>, options?: {
47261
+ flyTo(target: Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | Promise<Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | VoxelPrimitive | BufferPrimitiveCollection<BufferPrimitive>>, options?: {
46984
47262
  duration?: number;
46985
47263
  maximumHeight?: number;
46986
47264
  offset?: HeadingPitchRange;
@@ -49320,7 +49598,7 @@ export class Viewer {
49320
49598
  * @param [offset] - The offset from the center of the entity in the local east-north-up reference frame.
49321
49599
  * @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.
49322
49600
  */
49323
- zoomTo(target: Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | Promise<Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | VoxelPrimitive>, offset?: HeadingPitchRange): Promise<boolean>;
49601
+ zoomTo(target: Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | Promise<Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | VoxelPrimitive | BufferPrimitiveCollection<BufferPrimitive>>, offset?: HeadingPitchRange): Promise<boolean>;
49324
49602
  /**
49325
49603
  * Flies the camera to the provided entity, entities, or data source.
49326
49604
  If the data source is still in the process of loading or the visualization is otherwise still loading,
@@ -49342,7 +49620,7 @@ export class Viewer {
49342
49620
  * @param [options.offset] - The offset from the target in the local east-north-up reference frame centered at the target.
49343
49621
  * @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
49344
49622
  */
49345
- flyTo(target: Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | Promise<Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | VoxelPrimitive>, options?: {
49623
+ flyTo(target: Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | Promise<Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | VoxelPrimitive | BufferPrimitiveCollection<BufferPrimitive>>, options?: {
49346
49624
  duration?: number;
49347
49625
  maximumHeight?: number;
49348
49626
  offset?: HeadingPitchRange;