@cesium/engine 4.0.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/Build/Workers/{chunk-SGRWJKNO.js → chunk-2AEUVYIC.js} +15 -15
  2. package/Build/Workers/{chunk-FKHRSGKP.js → chunk-2HEFBNI2.js} +13 -13
  3. package/Build/Workers/{chunk-2C65EKYA.js → chunk-2IZ2LJ3N.js} +1 -1
  4. package/Build/Workers/{chunk-YLS3FX3U.js → chunk-3ENSLRZD.js} +7 -7
  5. package/Build/Workers/{chunk-H6MBQ4W4.js → chunk-3FNFTDKS.js} +4 -4
  6. package/Build/Workers/{chunk-27R2KRIK.js → chunk-437Q4WBM.js} +6 -6
  7. package/Build/Workers/{chunk-RRUPTJ6P.js → chunk-54QBXZYE.js} +6 -6
  8. package/Build/Workers/{chunk-UN7AK64D.js → chunk-6EZ4NFIC.js} +2 -2
  9. package/Build/Workers/{chunk-YMJPANZZ.js → chunk-7FAOTOUR.js} +10 -34
  10. package/Build/Workers/{chunk-KAFF2QX3.js → chunk-7W3AMBD6.js} +5 -5
  11. package/Build/Workers/{chunk-PWDYKCNC.js → chunk-A7T4GOG3.js} +4 -4
  12. package/Build/Workers/{chunk-LGSGX2RH.js → chunk-AMGYJNEB.js} +10 -10
  13. package/Build/Workers/{chunk-F7P2HCYZ.js → chunk-ASJKRCO4.js} +2 -2
  14. package/Build/Workers/chunk-AXODHVUI.js +55 -0
  15. package/Build/Workers/{chunk-P7PWX5HR.js → chunk-BKVKFLIC.js} +7 -7
  16. package/Build/Workers/{chunk-YLAFWVOW.js → chunk-BWTCHYX6.js} +10 -10
  17. package/Build/Workers/{chunk-DJUTBX6A.js → chunk-BZHAJSUN.js} +2 -2
  18. package/Build/Workers/{chunk-LQRFWCNX.js → chunk-CBV4JE6S.js} +5 -5
  19. package/Build/Workers/{chunk-BT6YIL2N.js → chunk-CGHLEZ43.js} +1 -1
  20. package/Build/Workers/{chunk-TF5D2H7B.js → chunk-CLVX47CD.js} +5 -5
  21. package/Build/Workers/{chunk-P4M4QUNQ.js → chunk-DI3VM6NF.js} +6 -6
  22. package/Build/Workers/{chunk-U5LKG6LX.js → chunk-DUMQKN4C.js} +2 -2
  23. package/Build/Workers/{chunk-H52L6U76.js → chunk-DZUFRYQK.js} +11 -11
  24. package/Build/Workers/{chunk-RDCDRNJ7.js → chunk-EFUPZTUD.js} +6 -6
  25. package/Build/Workers/{chunk-PW5CA4MJ.js → chunk-EJWAO37W.js} +7 -7
  26. package/Build/Workers/{chunk-A6EA6KIE.js → chunk-EZPA2AXQ.js} +1 -1
  27. package/Build/Workers/{chunk-7CZEWQWE.js → chunk-FBRBVOAJ.js} +6 -6
  28. package/Build/Workers/{chunk-PGB3EFR7.js → chunk-FDNL4I6K.js} +6 -6
  29. package/Build/Workers/{chunk-FYHCAKU6.js → chunk-FK5BM4WD.js} +11 -11
  30. package/Build/Workers/{chunk-527JG4D7.js → chunk-GQ66IPL6.js} +1 -1
  31. package/Build/Workers/{chunk-V2LKNJGT.js → chunk-HW6ANEVG.js} +5 -5
  32. package/Build/Workers/{chunk-2NLMZNJI.js → chunk-HYNBEK4C.js} +4 -4
  33. package/Build/Workers/{chunk-N5MMDSD2.js → chunk-I6R5G76Q.js} +2 -2
  34. package/Build/Workers/{chunk-XZVQMPWG.js → chunk-J5YKECLG.js} +5 -5
  35. package/Build/Workers/{chunk-7IMAWM6A.js → chunk-KGVHVTX7.js} +229 -17
  36. package/Build/Workers/{chunk-QIS3NB7U.js → chunk-KXTDRKW5.js} +7 -7
  37. package/Build/Workers/{chunk-4VWUFKYW.js → chunk-LCMSJE5D.js} +12 -12
  38. package/Build/Workers/{chunk-XJCTFTBM.js → chunk-M57VBCI4.js} +5 -5
  39. package/Build/Workers/{chunk-EQ6ZAP37.js → chunk-MOSBHBQO.js} +7 -7
  40. package/Build/Workers/{chunk-FE2XG3SS.js → chunk-MQ32KIOU.js} +3 -3
  41. package/Build/Workers/{chunk-TVYIHH4V.js → chunk-PZKVP2WI.js} +14 -14
  42. package/Build/Workers/{chunk-NRETMGYL.js → chunk-SAYI6XNA.js} +13 -13
  43. package/Build/Workers/{chunk-5U4UHRZ2.js → chunk-TV4Q4TKV.js} +10 -10
  44. package/Build/Workers/{chunk-4V6RCTVH.js → chunk-TWN33EAP.js} +10 -10
  45. package/Build/Workers/{chunk-AXGQUPXA.js → chunk-VBOAZG67.js} +17 -17
  46. package/Build/Workers/{chunk-UGZGTV5K.js → chunk-VEPSTOBV.js} +8 -8
  47. package/Build/Workers/{chunk-C6MRR5YL.js → chunk-W2LZZCAF.js} +7 -7
  48. package/Build/Workers/{chunk-VSCXSFHE.js → chunk-XEOY7FXL.js} +13 -13
  49. package/Build/Workers/{chunk-QVJ6IRKV.js → chunk-XZKRFAT7.js} +1 -1
  50. package/Build/Workers/{chunk-I5MQWHBR.js → chunk-YOZZHZVR.js} +4 -4
  51. package/Build/Workers/{chunk-RDM3BKNC.js → chunk-Z6SS6KIF.js} +11 -11
  52. package/Build/Workers/{chunk-FVDTKX3F.js → chunk-ZADWOYGF.js} +2 -2
  53. package/Build/Workers/{chunk-G3MOT7BZ.js → chunk-ZBTL2GWA.js} +6 -6
  54. package/Build/Workers/{chunk-HCZR75II.js → chunk-ZEHXFKIR.js} +15 -15
  55. package/Build/Workers/combineGeometry.js +23 -23
  56. package/Build/Workers/createBoxGeometry.js +17 -17
  57. package/Build/Workers/createBoxOutlineGeometry.js +15 -15
  58. package/Build/Workers/createCircleGeometry.js +25 -25
  59. package/Build/Workers/createCircleOutlineGeometry.js +18 -18
  60. package/Build/Workers/createCoplanarPolygonGeometry.js +32 -32
  61. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +30 -30
  62. package/Build/Workers/createCorridorGeometry.js +29 -28
  63. package/Build/Workers/createCorridorOutlineGeometry.js +28 -27
  64. package/Build/Workers/createCylinderGeometry.js +19 -19
  65. package/Build/Workers/createCylinderOutlineGeometry.js +17 -17
  66. package/Build/Workers/createEllipseGeometry.js +25 -25
  67. package/Build/Workers/createEllipseOutlineGeometry.js +18 -18
  68. package/Build/Workers/createEllipsoidGeometry.js +18 -18
  69. package/Build/Workers/createEllipsoidOutlineGeometry.js +17 -17
  70. package/Build/Workers/createFrustumGeometry.js +17 -17
  71. package/Build/Workers/createFrustumOutlineGeometry.js +17 -17
  72. package/Build/Workers/createGeometry.js +23 -23
  73. package/Build/Workers/createGroundPolylineGeometry.js +21 -21
  74. package/Build/Workers/createPlaneGeometry.js +15 -15
  75. package/Build/Workers/createPlaneOutlineGeometry.js +14 -14
  76. package/Build/Workers/createPolygonGeometry.js +469 -60
  77. package/Build/Workers/createPolygonOutlineGeometry.js +29 -29
  78. package/Build/Workers/createPolylineGeometry.js +24 -24
  79. package/Build/Workers/createPolylineVolumeGeometry.js +33 -31
  80. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -26
  81. package/Build/Workers/createRectangleGeometry.js +26 -26
  82. package/Build/Workers/createRectangleOutlineGeometry.js +19 -19
  83. package/Build/Workers/createSimplePolylineGeometry.js +22 -22
  84. package/Build/Workers/createSphereGeometry.js +18 -18
  85. package/Build/Workers/createSphereOutlineGeometry.js +17 -17
  86. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  87. package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
  88. package/Build/Workers/createVectorTileGeometries.js +23 -23
  89. package/Build/Workers/createVectorTilePoints.js +12 -12
  90. package/Build/Workers/createVectorTilePolygons.js +21 -21
  91. package/Build/Workers/createVectorTilePolylines.js +14 -14
  92. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +21 -21
  93. package/Build/Workers/createVerticesFromHeightmap.js +21 -21
  94. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +18 -18
  95. package/Build/Workers/createWallGeometry.js +23 -23
  96. package/Build/Workers/createWallOutlineGeometry.js +22 -22
  97. package/Build/Workers/decodeDraco.js +11 -11
  98. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  99. package/Build/Workers/decodeI3S.js +9 -9
  100. package/Build/Workers/transcodeKTX2.js +7 -7
  101. package/Build/Workers/transferTypedArrayTest.js +1 -1
  102. package/Build/Workers/upsampleQuantizedTerrainMesh.js +21 -21
  103. package/Source/Core/Credit.js +7 -1
  104. package/Source/Core/GoogleMaps.js +8 -24
  105. package/Source/Core/Ion.js +1 -2
  106. package/Source/Core/PolygonGeometry.js +340 -27
  107. package/Source/Core/PolygonGeometryLibrary.js +302 -1
  108. package/Source/Core/Stereographic.js +247 -0
  109. package/Source/Core/TaskProcessor.js +53 -40
  110. package/Source/Core/buildModuleUrl.js +1 -1
  111. package/Source/Core/sampleTerrain.js +43 -10
  112. package/Source/Core/sampleTerrainMostDetailed.js +27 -3
  113. package/Source/Scene/ArcGisMapService.js +1 -2
  114. package/Source/Scene/Billboard.js +7 -0
  115. package/Source/Scene/Cesium3DTilePass.js +1 -1
  116. package/Source/Scene/Cesium3DTileset.js +38 -81
  117. package/Source/Scene/CreditDisplay.js +2 -2
  118. package/Source/Scene/LabelCollection.js +3 -1
  119. package/Source/Scene/Model/Model.js +16 -22
  120. package/Source/Scene/PostProcessStageLibrary.js +3 -3
  121. package/Source/Scene/PrimitiveCollection.js +39 -0
  122. package/Source/Scene/Scene.js +3 -0
  123. package/Source/Scene/createGooglePhotorealistic3DTileset.js +38 -8
  124. package/Source/Widget/CesiumWidget.js +2 -1
  125. package/index.d.ts +65 -31
  126. package/index.js +168 -167
  127. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import Cesium3DTileset from "./Cesium3DTileset.js";
2
2
  import defaultValue from "../Core/defaultValue.js";
3
3
  import defined from "../Core/defined.js";
4
+ import IonResource from "../Core/IonResource.js";
4
5
  import GoogleMaps from "../Core/GoogleMaps.js";
5
6
  import Resource from "../Core/Resource.js";
6
7
 
@@ -16,6 +17,17 @@ import Resource from "../Core/Resource.js";
16
17
  * @see GoogleMaps
17
18
  *
18
19
  * @example
20
+ * const viewer = new Cesium.Viewer("cesiumContainer");
21
+ *
22
+ * try {
23
+ * const tileset = await Cesium.createGooglePhotorealistic3DTileset();
24
+ * viewer.scene.primitives.add(tileset));
25
+ * } catch (error) {
26
+ * console.log(`Error creating tileset: ${error}`);
27
+ * }
28
+ *
29
+ * @example
30
+ * // Use your own Google Maps API key
19
31
  * Cesium.GoogleMaps.defaultApiKey = "your-api-key";
20
32
  *
21
33
  * const viewer = new Cesium.Viewer("cesiumContainer");
@@ -28,14 +40,6 @@ import Resource from "../Core/Resource.js";
28
40
  * }
29
41
  */
30
42
  async function createGooglePhotorealistic3DTileset(key, options) {
31
- key = defaultValue(key, GoogleMaps.defaultApiKey);
32
-
33
- let credits;
34
- const credit = GoogleMaps.getDefaultApiKeyCredit(key);
35
- if (defined(credit)) {
36
- credits = [credit];
37
- }
38
-
39
43
  options = defaultValue(options, {});
40
44
  options.showCreditsOnScreen = true;
41
45
  options.cacheBytes = defaultValue(options.cacheBytes, 1536 * 1024 * 1024);
@@ -44,6 +48,17 @@ async function createGooglePhotorealistic3DTileset(key, options) {
44
48
  1024 * 1024 * 1024
45
49
  );
46
50
 
51
+ key = defaultValue(key, GoogleMaps.defaultApiKey);
52
+ if (!defined(key)) {
53
+ return requestCachedIonTileset(options);
54
+ }
55
+
56
+ let credits;
57
+ const credit = GoogleMaps.getDefaultCredit();
58
+ if (defined(credit)) {
59
+ credits = [credit];
60
+ }
61
+
47
62
  const resource = new Resource({
48
63
  url: `${GoogleMaps.mapTilesApiEndpoint}3dtiles/root.json`,
49
64
  queryParameters: {
@@ -55,4 +70,19 @@ async function createGooglePhotorealistic3DTileset(key, options) {
55
70
  return Cesium3DTileset.fromUrl(resource, options);
56
71
  }
57
72
 
73
+ const metadataCache = {};
74
+ async function requestCachedIonTileset(options) {
75
+ const ionAssetId = 2275207;
76
+ const cacheKey = ionAssetId;
77
+
78
+ let promise = metadataCache[cacheKey];
79
+ if (!defined(promise)) {
80
+ promise = IonResource.fromAssetId(ionAssetId);
81
+ metadataCache[cacheKey] = promise;
82
+ }
83
+
84
+ const resource = await promise;
85
+ return Cesium3DTileset.fromUrl(resource, options);
86
+ }
87
+
58
88
  export default createGooglePhotorealistic3DTileset;
@@ -132,7 +132,7 @@ function configureCameraFrustum(widget) {
132
132
  * @param {boolean} [options.scene3DOnly=false] When <code>true</code>, each geometry instance will only be rendered in 3D to save GPU memory.
133
133
  * @param {boolean} [options.orderIndependentTranslucency=true] If true and the configuration supports it, use order independent translucency.
134
134
  * @param {MapProjection} [options.mapProjection=new GeographicProjection()] The map projection to use in 2D and Columbus View modes.
135
- * @param {Globe | false} [options.globe=new Globe(mapProjection.ellipsoid)] The globe to use in the scene. If set to <code>false</code>, no globe will be added.
135
+ * @param {Globe | false} [options.globe=new Globe(mapProjection.ellipsoid)] The globe to use in the scene. If set to <code>false</code>, no globe will be added and the sky atmosphere will be hidden by default.
136
136
  * @param {boolean} [options.useDefaultRenderLoop=true] True if this widget should control the render loop, false otherwise.
137
137
  * @param {boolean} [options.useBrowserRecommendedResolution=true] If true, render at the browser's recommended resolution and ignore <code>window.devicePixelRatio</code>.
138
138
  * @param {number} [options.targetFrameRate] The target frame rate when using the default render loop.
@@ -336,6 +336,7 @@ function CesiumWidget(container, options) {
336
336
  let skyAtmosphere = options.skyAtmosphere;
337
337
  if (!defined(skyAtmosphere)) {
338
338
  skyAtmosphere = new SkyAtmosphere(ellipsoid);
339
+ skyAtmosphere.show = options.globe !== false && globe.show;
339
340
  }
340
341
  if (skyAtmosphere !== false) {
341
342
  scene.skyAtmosphere = skyAtmosphere;
package/index.d.ts CHANGED
@@ -7568,15 +7568,14 @@ export class GoogleEarthEnterpriseTerrainProvider {
7568
7568
  /**
7569
7569
  * Default settings for accessing the Google Maps API.
7570
7570
  * <br/>
7571
- * An API key is only required if you are using any Google Maps APIs, such as {@link createGooglePhotorealistic3DTileset}.
7572
- * A default key is provided for evaluation purposes only.
7571
+ * An API key is only required if you are directly using any Google Maps APIs, such as through {@link createGooglePhotorealistic3DTileset}.
7573
7572
  * Follow instructions for managing API keys for the Google Maps Platform at {@link https://developers.google.com/maps/documentation/embed/get-api-key}
7574
7573
  */
7575
7574
  export namespace GoogleMaps {
7576
7575
  /**
7577
7576
  * Gets or sets the default Google Maps API key.
7578
7577
  */
7579
- var defaultApiKey: string;
7578
+ var defaultApiKey: undefined | string;
7580
7579
  /**
7581
7580
  * Gets or sets the default Google Map Tiles API endpoint.
7582
7581
  */
@@ -12874,6 +12873,15 @@ export class PolygonGeometry {
12874
12873
  * @param [result] - The object into which to store the result.
12875
12874
  */
12876
12875
  static unpack(array: number[], startingIndex?: number, result?: PolygonGeometry): void;
12876
+ /**
12877
+ * Computes a rectangle which encloses the polygon defined by the list of positions, including cases over the international date line and the poles.
12878
+ * @param positions - A linear ring defining the outer boundary of the polygon.
12879
+ * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid to be used as a reference.
12880
+ * @param [arcType = ArcType.GEODESIC] - The type of line the polygon edges must follow. Valid options are {@link ArcType.GEODESIC} and {@link ArcType.RHUMB}.
12881
+ * @param [result] - An object in which to store the result.
12882
+ * @returns The result rectangle
12883
+ */
12884
+ static computeRectangleFromPositions(positions: Cartesian3[], ellipsoid?: Ellipsoid, arcType?: ArcType, result?: Rectangle): Rectangle;
12877
12885
  /**
12878
12886
  * Returns the bounding rectangle given the provided options
12879
12887
  * @param options - Object with the following properties:
@@ -16086,6 +16094,15 @@ export class SteppedSpline {
16086
16094
  evaluate(time: number, result?: Cartesian3 | Quaternion): number | Cartesian3 | Quaternion;
16087
16095
  }
16088
16096
 
16097
+ /**
16098
+ * Represents a point in stereographic coordinates, which can be obtained by projecting a cartesian coordinate from one pole onto a tangent plane at the other pole.
16099
+ * The stereographic projection faithfully represents the relative directions of all great circles passing through its center point.
16100
+ * To faithfully represents angles everywhere, this is a conformal projection, which means points are projected onto an arbrary sphere.
16101
+ * @param [position] - The steroegraphic coordinates.
16102
+ * @param [tangentPlane] - The tangent plane onto which the point was projected.
16103
+ */
16104
+ export function Stereographic(position?: Cartesian2, tangentPlane?: EllipseGeometry): void;
16105
+
16089
16106
  /**
16090
16107
  * A wrapper around a web worker that allows scheduling tasks for a given worker,
16091
16108
  * returning results asynchronously via a promise.
@@ -18346,12 +18363,20 @@ export function queryToObject(queryString: string): any;
18346
18363
  * const updatedPositions = await Cesium.sampleTerrain(terrainProvider, 11, positions);
18347
18364
  * // positions[0].height and positions[1].height have been updated.
18348
18365
  * // updatedPositions is just a reference to positions.
18366
+ *
18367
+ * // To handle tile errors, pass true for the rejectOnTileFail parameter.
18368
+ * try {
18369
+ * const updatedPositions = await Cesium.sampleTerrain(terrainProvider, 11, positions, true);
18370
+ * } catch (error) {
18371
+ * // A tile request error occurred.
18372
+ * }
18349
18373
  * @param terrainProvider - The terrain provider from which to query heights.
18350
18374
  * @param level - The terrain level-of-detail from which to query terrain heights.
18351
18375
  * @param positions - The positions to update with terrain heights.
18376
+ * @param [rejectOnTileFail = false] - If true, for a failed terrain tile request the promise will be rejected. If false, returned heights will be undefined.
18352
18377
  * @returns A promise that resolves to the provided list of positions when terrain the query has completed.
18353
18378
  */
18354
- export function sampleTerrain(terrainProvider: TerrainProvider, level: number, positions: Cartographic[]): Promise<Cartographic[]>;
18379
+ export function sampleTerrain(terrainProvider: TerrainProvider, level: number, positions: Cartographic[], rejectOnTileFail?: boolean): Promise<Cartographic[]>;
18355
18380
 
18356
18381
  /**
18357
18382
  * Initiates a sampleTerrain() request at the maximum available tile level for a terrain dataset.
@@ -18365,12 +18390,20 @@ export function sampleTerrain(terrainProvider: TerrainProvider, level: number, p
18365
18390
  * const updatedPositions = await Cesium.sampleTerrainMostDetailed(terrainProvider, positions);
18366
18391
  * // positions[0].height and positions[1].height have been updated.
18367
18392
  * // updatedPositions is just a reference to positions.
18393
+ *
18394
+ * // To handle tile errors, pass true for the rejectOnTileFail parameter.
18395
+ * try {
18396
+ * const updatedPositions = await Cesium.sampleTerrainMostDetailed(terrainProvider, positions, true);
18397
+ * } catch (error) {
18398
+ * // A tile request error occurred.
18399
+ * }
18368
18400
  * @param terrainProvider - The terrain provider from which to query heights.
18369
18401
  * @param positions - The positions to update with terrain heights.
18402
+ * @param [rejectOnTileFail = false] - If true, for a failed terrain tile request the promise will be rejected. If false, returned heights will be undefined.
18370
18403
  * @returns A promise that resolves to the provided list of positions when terrain the query has completed. This
18371
18404
  * promise will reject if the terrain provider's `availability` property is undefined.
18372
18405
  */
18373
- export function sampleTerrainMostDetailed(terrainProvider: TerrainProvider, positions: Cartographic[]): Promise<Cartographic[]>;
18406
+ export function sampleTerrainMostDetailed(terrainProvider: TerrainProvider, positions: Cartographic[], rejectOnTileFail?: boolean): Promise<Cartographic[]>;
18374
18407
 
18375
18408
  /**
18376
18409
  * Subdivides an array into a number of smaller, equal sized arrays.
@@ -28597,7 +28630,6 @@ export namespace Cesium3DTileset {
28597
28630
  * @property [modelForwardAxis = Axis.X] - Which axis is considered forward when loading models for tile contents.
28598
28631
  * @property [shadows = ShadowMode.ENABLED] - Determines whether the tileset casts or receives shadows from light sources.
28599
28632
  * @property [maximumScreenSpaceError = 16] - The maximum screen space error used to drive level of detail refinement.
28600
- * @property [maximumMemoryUsage = 512] - The maximum amount of memory in MB that can be used by the tileset. Deprecated.
28601
28633
  * @property [cacheBytes = 536870912] - The size (in bytes) to which the tile cache will be trimmed, if the cache contains tiles not needed for the current view.
28602
28634
  * @property [maximumCacheOverflowBytes = 536870912] - The maximum additional memory (in bytes) to allow for cache headroom, if more than {@link Cesium3DTileset#cacheBytes} are needed for the current view.
28603
28635
  * @property [cullWithChildrenBounds = true] - Optimization option. Whether to cull tiles using the union of their children bounding volumes.
@@ -28659,7 +28691,6 @@ export namespace Cesium3DTileset {
28659
28691
  modelForwardAxis?: Axis;
28660
28692
  shadows?: ShadowMode;
28661
28693
  maximumScreenSpaceError?: number;
28662
- maximumMemoryUsage?: number;
28663
28694
  cacheBytes?: number;
28664
28695
  maximumCacheOverflowBytes?: number;
28665
28696
  cullWithChildrenBounds?: boolean;
@@ -29258,26 +29289,6 @@ export class Cesium3DTileset {
29258
29289
  * </p>
29259
29290
  */
29260
29291
  maximumScreenSpaceError: number;
29261
- /**
29262
- * The maximum amount of GPU memory (in MB) that may be used to cache tiles. This value is estimated from
29263
- * geometry, textures, and batch table textures of loaded tiles. For point clouds, this value also
29264
- * includes per-point metadata.
29265
- * <p>
29266
- * Tiles not in view are unloaded to enforce this.
29267
- * </p>
29268
- * <p>
29269
- * If decreasing this value results in unloading tiles, the tiles are unloaded the next frame.
29270
- * </p>
29271
- * <p>
29272
- * If tiles sized more than <code>maximumMemoryUsage</code> are needed
29273
- * to meet the desired screen space error, determined by {@link Cesium3DTileset#maximumScreenSpaceError},
29274
- * for the current view, then the memory usage of the tiles loaded will exceed
29275
- * <code>maximumMemoryUsage</code>. For example, if the maximum is 256 MB, but
29276
- * 300 MB of tiles are needed to meet the screen space error, then 300 MB of tiles may be loaded. When
29277
- * these tiles go out of view, they will be unloaded.
29278
- * </p>
29279
- */
29280
- maximumMemoryUsage: number;
29281
29292
  /**
29282
29293
  * The amount of GPU memory (in bytes) used to cache tiles. This memory usage is estimated from
29283
29294
  * geometry, textures, and batch table textures of loaded tiles. For point clouds, this value also
@@ -38585,16 +38596,16 @@ export namespace PostProcessStageLibrary {
38585
38596
  * </p>
38586
38597
  * @example
38587
38598
  * // multiple silhouette effects
38588
- * const yellowEdge = Cesium.PostProcessLibrary.createEdgeDetectionStage();
38599
+ * const yellowEdge = Cesium.PostProcessStageLibrary.createEdgeDetectionStage();
38589
38600
  * yellowEdge.uniforms.color = Cesium.Color.YELLOW;
38590
38601
  * yellowEdge.selected = [feature0];
38591
38602
  *
38592
- * const greenEdge = Cesium.PostProcessLibrary.createEdgeDetectionStage();
38603
+ * const greenEdge = Cesium.PostProcessStageLibrary.createEdgeDetectionStage();
38593
38604
  * greenEdge.uniforms.color = Cesium.Color.LIME;
38594
38605
  * greenEdge.selected = [feature1];
38595
38606
  *
38596
38607
  * // draw edges around feature0 and feature1
38597
- * postProcessStages.add(Cesium.PostProcessLibrary.createSilhouetteStage([yellowEdge, greenEdge]);
38608
+ * postProcessStages.add(Cesium.PostProcessStageLibrary.createSilhouetteStage([yellowEdge, greenEdge]);
38598
38609
  * @returns A post-process stage that applies an edge detection effect.
38599
38610
  */
38600
38611
  function createEdgeDetectionStage(): PostProcessStage;
@@ -39019,6 +39030,19 @@ export class PrimitiveCollection {
39019
39030
  * Gets the number of primitives in the collection.
39020
39031
  */
39021
39032
  readonly length: number;
39033
+ /**
39034
+ * An event that is raised when a primitive is added to the collection.
39035
+ * Event handlers are passed the primitive that was added.
39036
+ */
39037
+ readonly primitiveAdded: Event;
39038
+ /**
39039
+ * An event that is raised when a primitive is removed from the collection.
39040
+ * Event handlers are passed the primitive that was removed.
39041
+ * <p>
39042
+ * Note: Depending on the destroyPrimitives constructor option, the primitive may already be destroyed.
39043
+ * </p>
39044
+ */
39045
+ readonly primitiveRemoved: Event;
39022
39046
  /**
39023
39047
  * Adds a primitive to the collection.
39024
39048
  * @example
@@ -42216,6 +42240,16 @@ export function createElevationBandMaterial(options: {
42216
42240
  /**
42217
42241
  * Creates a {@link Cesium3DTileset} instance for the Google Photorealistic 3D Tiles tileset.
42218
42242
  * @example
42243
+ * const viewer = new Cesium.Viewer("cesiumContainer");
42244
+ *
42245
+ * try {
42246
+ * const tileset = await Cesium.createGooglePhotorealistic3DTileset();
42247
+ * viewer.scene.primitives.add(tileset));
42248
+ * } catch (error) {
42249
+ * console.log(`Error creating tileset: ${error}`);
42250
+ * }
42251
+ * @example
42252
+ * // Use your own Google Maps API key
42219
42253
  * Cesium.GoogleMaps.defaultApiKey = "your-api-key";
42220
42254
  *
42221
42255
  * const viewer = new Cesium.Viewer("cesiumContainer");
@@ -42370,7 +42404,7 @@ export function createWorldImageryAsync(options?: {
42370
42404
  * @param [options.scene3DOnly = false] - When <code>true</code>, each geometry instance will only be rendered in 3D to save GPU memory.
42371
42405
  * @param [options.orderIndependentTranslucency = true] - If true and the configuration supports it, use order independent translucency.
42372
42406
  * @param [options.mapProjection = new GeographicProjection()] - The map projection to use in 2D and Columbus View modes.
42373
- * @param [options.globe = new Globe(mapProjection.ellipsoid)] - The globe to use in the scene. If set to <code>false</code>, no globe will be added.
42407
+ * @param [options.globe = new Globe(mapProjection.ellipsoid)] - The globe to use in the scene. If set to <code>false</code>, no globe will be added and the sky atmosphere will be hidden by default.
42374
42408
  * @param [options.useDefaultRenderLoop = true] - True if this widget should control the render loop, false otherwise.
42375
42409
  * @param [options.useBrowserRecommendedResolution = true] - If true, render at the browser's recommended resolution and ignore <code>window.devicePixelRatio</code>.
42376
42410
  * @param [options.targetFrameRate] - The target frame rate when using the default render loop.