mars3d-cesium 1.122.1 → 1.124.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 (108) hide show
  1. package/Build/Cesium/Cesium.d.ts +1423 -930
  2. package/Build/Cesium/Cesium.js +6862 -6646
  3. package/Build/Cesium/ThirdParty/draco_decoder.wasm +0 -0
  4. package/Build/Cesium/Workers/{chunk-GFUBU5RD.js → chunk-2K72IAMD.js} +8 -8
  5. package/Build/Cesium/Workers/{chunk-45FCQ3FJ.js → chunk-44LKXGXW.js} +2 -2
  6. package/Build/Cesium/Workers/{chunk-CU5VINVO.js → chunk-46LYVLGL.js} +2 -2
  7. package/Build/Cesium/Workers/{chunk-3U6PIWIV.js → chunk-4ALHVD6K.js} +2 -2
  8. package/Build/Cesium/Workers/{chunk-6P5KAIBX.js → chunk-4BGNE6LH.js} +2 -2
  9. package/Build/Cesium/Workers/{chunk-BUNDO2NJ.js → chunk-4ULMZV5R.js} +2 -2
  10. package/Build/Cesium/Workers/{chunk-ZYB4DKDQ.js → chunk-5CZH3YOM.js} +2 -2
  11. package/Build/Cesium/Workers/{chunk-YEGGJGFV.js → chunk-64YODNAO.js} +2 -2
  12. package/Build/Cesium/Workers/{chunk-QTX6TFJQ.js → chunk-67ZE4UMX.js} +2 -2
  13. package/Build/Cesium/Workers/{chunk-2NAI7YQ3.js → chunk-6DFUP66D.js} +1 -1
  14. package/Build/Cesium/Workers/{chunk-ZPNGL6DU.js → chunk-6IQVYEBD.js} +2 -2
  15. package/Build/Cesium/Workers/{chunk-CTEHZS7O.js → chunk-72NMS5KE.js} +2 -2
  16. package/Build/Cesium/Workers/{chunk-UGB43LJM.js → chunk-A3VS2OZ2.js} +2 -2
  17. package/Build/Cesium/Workers/{chunk-ESVPYFZH.js → chunk-ADZK2JLO.js} +2 -2
  18. package/Build/Cesium/Workers/{chunk-ZDYLWKVC.js → chunk-AVHFP6LX.js} +2 -2
  19. package/Build/Cesium/Workers/{chunk-S5WIMI2N.js → chunk-BMKF5JTH.js} +2 -2
  20. package/Build/Cesium/Workers/{chunk-6X7WLTTW.js → chunk-BRDKDER4.js} +1 -1
  21. package/Build/Cesium/Workers/{chunk-6KLVDWWE.js → chunk-CJFJKB5V.js} +1 -1
  22. package/Build/Cesium/Workers/{chunk-YGSEQ273.js → chunk-D76R4V7H.js} +2 -2
  23. package/Build/Cesium/Workers/{chunk-RAYRECQS.js → chunk-DW4EQ6YI.js} +2 -2
  24. package/Build/Cesium/Workers/{chunk-WFZLZ2P5.js → chunk-E2XIHPTZ.js} +2 -2
  25. package/Build/Cesium/Workers/{chunk-PFE76RUV.js → chunk-EXYLABM3.js} +2 -2
  26. package/Build/Cesium/Workers/{chunk-ZKPELTMK.js → chunk-G6BZKWWN.js} +2 -2
  27. package/Build/Cesium/Workers/{chunk-P75RMBWR.js → chunk-GCVZZUCS.js} +2 -2
  28. package/Build/Cesium/Workers/{chunk-27UWHT4D.js → chunk-GNTVNTUY.js} +2 -2
  29. package/Build/Cesium/Workers/{chunk-2HIRFTYB.js → chunk-GP5GXDAP.js} +2 -2
  30. package/Build/Cesium/Workers/{chunk-QE3ZUOZY.js → chunk-GVFM5H7M.js} +2 -2
  31. package/Build/Cesium/Workers/{chunk-HBXZQO7G.js → chunk-HPB3ARQJ.js} +2 -2
  32. package/Build/Cesium/Workers/{chunk-RFPX772U.js → chunk-HWH6BBH6.js} +2 -2
  33. package/Build/Cesium/Workers/{chunk-UKRRGB4P.js → chunk-I66MFRXO.js} +2 -2
  34. package/Build/Cesium/Workers/{chunk-KJJX7FYJ.js → chunk-J27DO7RZ.js} +2 -2
  35. package/Build/Cesium/Workers/{chunk-3OZXQUAM.js → chunk-JHG5JGLM.js} +2 -2
  36. package/Build/Cesium/Workers/{chunk-5E2B6U7T.js → chunk-JKCZ5NAK.js} +2 -2
  37. package/Build/Cesium/Workers/{chunk-4TXI27XR.js → chunk-JLMPKQO4.js} +2 -2
  38. package/Build/Cesium/Workers/{chunk-2744EW7N.js → chunk-LKADYPHQ.js} +2 -2
  39. package/Build/Cesium/Workers/{chunk-AELLPJXN.js → chunk-LWGQRCCJ.js} +2 -2
  40. package/Build/Cesium/Workers/{chunk-ZIUWYBT3.js → chunk-M2TWLQFJ.js} +2 -2
  41. package/Build/Cesium/Workers/{chunk-U3H5JVOB.js → chunk-NIXFT7ZT.js} +2 -2
  42. package/Build/Cesium/Workers/chunk-OWPC6DLM.js +26 -0
  43. package/Build/Cesium/Workers/{chunk-4FSVUTPL.js → chunk-OX5CTLXY.js} +1 -1
  44. package/Build/Cesium/Workers/{chunk-A6IU7XS3.js → chunk-QIZB5B47.js} +2 -2
  45. package/Build/Cesium/Workers/{chunk-DELT5W27.js → chunk-QT33UL57.js} +2 -2
  46. package/Build/Cesium/Workers/{chunk-6YAFAZVV.js → chunk-RPAJTIFB.js} +2 -2
  47. package/Build/Cesium/Workers/{chunk-542N7J5N.js → chunk-S4WTTFQO.js} +2 -2
  48. package/Build/Cesium/Workers/{chunk-FEOZU7P7.js → chunk-SM4U4WO5.js} +2 -2
  49. package/Build/Cesium/Workers/{chunk-ZXPIMV2C.js → chunk-SP2S5UZD.js} +2 -2
  50. package/Build/Cesium/Workers/{chunk-XHJOIQBC.js → chunk-SXINKIB2.js} +2 -2
  51. package/Build/Cesium/Workers/{chunk-JGTLNH7T.js → chunk-T7AQS7YI.js} +2 -2
  52. package/Build/Cesium/Workers/{chunk-IFAARW2T.js → chunk-TP5B32RY.js} +1 -1
  53. package/Build/Cesium/Workers/{chunk-FHVNMDL2.js → chunk-TZGYF5KJ.js} +2 -2
  54. package/Build/Cesium/Workers/{chunk-35ZH4J6R.js → chunk-ULZ2QSU5.js} +2 -2
  55. package/Build/Cesium/Workers/{chunk-JQWRUZSV.js → chunk-YEUI4ZO2.js} +2 -2
  56. package/Build/Cesium/Workers/combineGeometry.js +2 -2
  57. package/Build/Cesium/Workers/createBoxGeometry.js +2 -2
  58. package/Build/Cesium/Workers/createBoxOutlineGeometry.js +2 -2
  59. package/Build/Cesium/Workers/createCircleGeometry.js +2 -2
  60. package/Build/Cesium/Workers/createCircleOutlineGeometry.js +2 -2
  61. package/Build/Cesium/Workers/createCoplanarPolygonGeometry.js +2 -2
  62. package/Build/Cesium/Workers/createCoplanarPolygonOutlineGeometry.js +2 -2
  63. package/Build/Cesium/Workers/createCorridorGeometry.js +2 -2
  64. package/Build/Cesium/Workers/createCorridorOutlineGeometry.js +2 -2
  65. package/Build/Cesium/Workers/createCylinderGeometry.js +2 -2
  66. package/Build/Cesium/Workers/createCylinderOutlineGeometry.js +2 -2
  67. package/Build/Cesium/Workers/createEllipseGeometry.js +2 -2
  68. package/Build/Cesium/Workers/createEllipseOutlineGeometry.js +2 -2
  69. package/Build/Cesium/Workers/createEllipsoidGeometry.js +2 -2
  70. package/Build/Cesium/Workers/createEllipsoidOutlineGeometry.js +2 -2
  71. package/Build/Cesium/Workers/createFrustumGeometry.js +2 -2
  72. package/Build/Cesium/Workers/createFrustumOutlineGeometry.js +2 -2
  73. package/Build/Cesium/Workers/createGeometry.js +2 -2
  74. package/Build/Cesium/Workers/createGroundPolylineGeometry.js +2 -2
  75. package/Build/Cesium/Workers/createPlaneGeometry.js +2 -2
  76. package/Build/Cesium/Workers/createPlaneOutlineGeometry.js +2 -2
  77. package/Build/Cesium/Workers/createPolygonGeometry.js +2 -2
  78. package/Build/Cesium/Workers/createPolygonOutlineGeometry.js +2 -2
  79. package/Build/Cesium/Workers/createPolylineGeometry.js +2 -2
  80. package/Build/Cesium/Workers/createPolylineVolumeGeometry.js +2 -2
  81. package/Build/Cesium/Workers/createPolylineVolumeOutlineGeometry.js +2 -2
  82. package/Build/Cesium/Workers/createRectangleGeometry.js +2 -2
  83. package/Build/Cesium/Workers/createRectangleOutlineGeometry.js +2 -2
  84. package/Build/Cesium/Workers/createSimplePolylineGeometry.js +2 -2
  85. package/Build/Cesium/Workers/createSphereGeometry.js +2 -2
  86. package/Build/Cesium/Workers/createSphereOutlineGeometry.js +2 -2
  87. package/Build/Cesium/Workers/createTaskProcessorWorker.js +2 -2
  88. package/Build/Cesium/Workers/createVectorTileClampedPolylines.js +2 -2
  89. package/Build/Cesium/Workers/createVectorTileGeometries.js +2 -2
  90. package/Build/Cesium/Workers/createVectorTilePoints.js +2 -2
  91. package/Build/Cesium/Workers/createVectorTilePolygons.js +2 -2
  92. package/Build/Cesium/Workers/createVectorTilePolylines.js +2 -2
  93. package/Build/Cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +2 -2
  94. package/Build/Cesium/Workers/createVerticesFromHeightmap.js +2 -2
  95. package/Build/Cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +2 -2
  96. package/Build/Cesium/Workers/createWallGeometry.js +2 -2
  97. package/Build/Cesium/Workers/createWallOutlineGeometry.js +2 -2
  98. package/Build/Cesium/Workers/decodeDraco.js +2 -2
  99. package/Build/Cesium/Workers/decodeGoogleEarthEnterprisePacket.js +2 -2
  100. package/Build/Cesium/Workers/decodeI3S.js +2 -2
  101. package/Build/Cesium/Workers/transcodeKTX2.js +2 -2
  102. package/Build/Cesium/Workers/transferTypedArrayTest.js +1 -1
  103. package/Build/Cesium/Workers/upsampleQuantizedTerrainMesh.js +2 -2
  104. package/Build/Cesium/index.cjs +9033 -8817
  105. package/Build/Cesium/index.js +9034 -8818
  106. package/README.md +141 -141
  107. package/package.json +1 -1
  108. package/Build/Cesium/Workers/chunk-GXCW7MIH.js +0 -26
@@ -1304,7 +1304,7 @@ export class BoundingSphere {
1304
1304
  static projectTo2D(sphere: BoundingSphere, projection?: any, result?: BoundingSphere): BoundingSphere;
1305
1305
  /**
1306
1306
  * Determines whether or not a sphere is hidden from view by the occluder.
1307
- * @param sphere - The bounding sphere surrounding the occludee object.
1307
+ * @param sphere - The bounding sphere surrounding the occluded object.
1308
1308
  * @param occluder - The occluder.
1309
1309
  * @returns <code>true</code> if the sphere is not visible; otherwise <code>false</code>.
1310
1310
  */
@@ -6247,7 +6247,7 @@ export class EllipsoidGeodesic {
6247
6247
  interpolateUsingFraction(fraction: number, result?: Cartographic): Cartographic;
6248
6248
  /**
6249
6249
  * Provides the location of a point at the indicated distance along the geodesic.
6250
- * @param distance - The distance from the inital point to the point of interest along the geodesic
6250
+ * @param distance - The distance from the initial point to the point of interest along the geodesic
6251
6251
  * @param [result] - The object in which to store the result.
6252
6252
  * @returns The location of the point along the geodesic.
6253
6253
  */
@@ -8010,6 +8010,27 @@ export class GoogleEarthEnterpriseTerrainProvider {
8010
8010
  loadTileDataAvailability(x: number, y: number, level: number): undefined;
8011
8011
  }
8012
8012
 
8013
+ /**
8014
+ * Provides geocoding through Google.
8015
+ * @param options - Object with the following properties:
8016
+ * @param options.key - An API key to use with the Google geocoding service
8017
+ */
8018
+ export class GoogleGeocoderService {
8019
+ constructor(options: {
8020
+ key: string;
8021
+ });
8022
+ /**
8023
+ * Gets the credit to display after a geocode is performed. Typically this is used to credit
8024
+ the geocoder service.
8025
+ */
8026
+ readonly credit: Credit | undefined;
8027
+ /**
8028
+ * Get a list of possible locations that match a search string.
8029
+ * @param query - The query to be sent to the geocoder service
8030
+ */
8031
+ geocode(query: string): Promise<GeocoderService.Result[]>;
8032
+ }
8033
+
8013
8034
  /**
8014
8035
  * Default settings for accessing the Google Maps API.
8015
8036
  <br/>
@@ -8968,24 +8989,49 @@ export namespace Ion {
8968
8989
  var defaultServer: string | Resource;
8969
8990
  }
8970
8991
 
8992
+ /**
8993
+ * Underlying geocoding services that can be used via Cesium ion.
8994
+ */
8995
+ export enum IonGeocodeProviderType {
8996
+ /**
8997
+ * Google geocoder, for use with Google data.
8998
+ */
8999
+ GOOGLE = "GOOGLE",
9000
+ /**
9001
+ * Bing geocoder, for use with Bing data.
9002
+ */
9003
+ BING = "BING",
9004
+ /**
9005
+ * Use the default geocoder as set on the server. Used when neither Bing or
9006
+ Google data is used.
9007
+ */
9008
+ DEFAULT = "DEFAULT"
9009
+ }
9010
+
8971
9011
  /**
8972
9012
  * Provides geocoding through Cesium ion.
8973
9013
  * @param options - Object with the following properties:
8974
9014
  * @param options.scene - The scene
8975
9015
  * @param [options.accessToken = Ion.defaultAccessToken] - The access token to use.
8976
9016
  * @param [options.server = Ion.defaultServer] - The resource to the Cesium ion API server.
9017
+ * @param [options.geocodeProviderType = IonGeocodeProviderType.DEFAULT] - The geocoder the Cesium ion API server should use to fulfill this request.
8977
9018
  */
8978
9019
  export class IonGeocoderService {
8979
9020
  constructor(options: {
8980
9021
  scene: Scene;
8981
9022
  accessToken?: string;
8982
9023
  server?: string | Resource;
9024
+ geocodeProviderType?: IonGeocodeProviderType;
8983
9025
  });
8984
9026
  /**
8985
9027
  * Gets the credit to display after a geocode is performed. Typically this is used to credit
8986
9028
  the geocoder service.
8987
9029
  */
8988
9030
  readonly credit: Credit | undefined;
9031
+ /**
9032
+ * The geocoding service that Cesium ion API server should use to fulfill geocding requests.
9033
+ */
9034
+ geocodeProviderType: IonGeocodeProviderType;
8989
9035
  /**
8990
9036
  * @param query - The query to be sent to the geocoder service
8991
9037
  * @param [type = GeocodeType.SEARCH] - The type of geocode to perform.
@@ -9099,6 +9145,37 @@ export namespace Iso8601 {
9099
9145
  const MAXIMUM_INTERVAL: TimeInterval;
9100
9146
  }
9101
9147
 
9148
+ /**
9149
+ * Default settings for accessing the iTwin platform.
9150
+ */
9151
+ export namespace ITwinPlatform {
9152
+ /**
9153
+ * Status states for a mesh-export export.
9154
+ Valid values are: <code>NotStarted</code>, <code>InProgress</code>, <code>Complete</code>, <code>Invalid</code>
9155
+ */
9156
+ enum ExportStatus {
9157
+ }
9158
+ /**
9159
+ * Types of mesh-export exports. CesiumJS only supports loading <code>3DTILES</code> type exports.
9160
+ Valid values are: <code>IMODEL</code>, <code>CESIUM</code>, <code>3DTILES</code>
9161
+ */
9162
+ enum ExportType {
9163
+ }
9164
+ /**
9165
+ * Types of Reality data
9166
+ */
9167
+ enum RealityDataType {
9168
+ }
9169
+ /**
9170
+ * Gets or sets the default iTwin access token. This token should have the <code>itwin-platform</code> scope.
9171
+ */
9172
+ var defaultAccessToken: string | undefined;
9173
+ /**
9174
+ * Gets or sets the default iTwin API endpoint.
9175
+ */
9176
+ var apiEndpoint: string | Resource;
9177
+ }
9178
+
9102
9179
  /**
9103
9180
  * Represents an astronomical Julian date, which is the number of days since noon on January 1, -4712 (4713 BC).
9104
9181
  For increased precision, this class stores the whole number part of the date and the seconds
@@ -12421,19 +12498,19 @@ export class OrthographicFrustum {
12421
12498
 
12422
12499
  /**
12423
12500
  * The viewing frustum is defined by 6 planes.
12424
- Each plane is represented by a {@link Cartesian4} object, where the x, y, and z components
12425
- define the unit vector normal to the plane, and the w component is the distance of the
12426
- plane from the origin/camera position.
12501
+ * Each plane is represented by a {@link Cartesian4} object, where the x, y, and z components
12502
+ * define the unit vector normal to the plane, and the w component is the distance of the
12503
+ * plane from the origin/camera position.
12427
12504
  * @example
12428
12505
  * const maxRadii = ellipsoid.maximumRadius;
12429
-
12430
- const frustum = new Cesium.OrthographicOffCenterFrustum();
12431
- frustum.right = maxRadii * Cesium.Math.PI;
12432
- frustum.left = -c.frustum.right;
12433
- frustum.top = c.frustum.right * (canvas.clientHeight / canvas.clientWidth);
12434
- frustum.bottom = -c.frustum.top;
12435
- frustum.near = 0.01 * maxRadii;
12436
- frustum.far = 50.0 * maxRadii;
12506
+ *
12507
+ * const frustum = new Cesium.OrthographicOffCenterFrustum();
12508
+ * frustum.right = maxRadii * Cesium.Math.PI;
12509
+ * frustum.left = -c.frustum.right;
12510
+ * frustum.top = c.frustum.right * (canvas.clientHeight / canvas.clientWidth);
12511
+ * frustum.bottom = -c.frustum.top;
12512
+ * frustum.near = 0.01 * maxRadii;
12513
+ * frustum.far = 50.0 * maxRadii;
12437
12514
  * @param [options] - An object with the following properties:
12438
12515
  * @param [options.left] - The left clipping plane distance.
12439
12516
  * @param [options.right] - The right clipping plane distance.
@@ -12483,8 +12560,8 @@ export class OrthographicOffCenterFrustum {
12483
12560
  * Creates a culling volume for this frustum.
12484
12561
  * @example
12485
12562
  * // Check if a bounding volume intersects the frustum.
12486
- const cullingVolume = frustum.computeCullingVolume(cameraPosition, cameraDirection, cameraUp);
12487
- const intersect = cullingVolume.computeVisibility(boundingVolume);
12563
+ * const cullingVolume = frustum.computeCullingVolume(cameraPosition, cameraDirection, cameraUp);
12564
+ * const intersect = cullingVolume.computeVisibility(boundingVolume);
12488
12565
  * @param position - The eye position.
12489
12566
  * @param direction - The view direction.
12490
12567
  * @param up - The up direction.
@@ -12495,8 +12572,8 @@ export class OrthographicOffCenterFrustum {
12495
12572
  * Returns the pixel's width and height in meters.
12496
12573
  * @example
12497
12574
  * // Example 1
12498
- // Get the width and height of a pixel.
12499
- const pixelSize = camera.frustum.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, 0.0, scene.pixelRatio, new Cesium.Cartesian2());
12575
+ * // Get the width and height of a pixel.
12576
+ * const pixelSize = camera.frustum.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, 0.0, scene.pixelRatio, new Cesium.Cartesian2());
12500
12577
  * @param drawingBufferWidth - The width of the drawing buffer.
12501
12578
  * @param drawingBufferHeight - The height of the drawing buffer.
12502
12579
  * @param distance - The distance to the near plane in meters.
@@ -12513,15 +12590,15 @@ export class OrthographicOffCenterFrustum {
12513
12590
  clone(result?: OrthographicOffCenterFrustum): OrthographicOffCenterFrustum;
12514
12591
  /**
12515
12592
  * Compares the provided OrthographicOffCenterFrustum componentwise and returns
12516
- <code>true</code> if they are equal, <code>false</code> otherwise.
12593
+ * <code>true</code> if they are equal, <code>false</code> otherwise.
12517
12594
  * @param [other] - The right hand side OrthographicOffCenterFrustum.
12518
12595
  * @returns <code>true</code> if they are equal, <code>false</code> otherwise.
12519
12596
  */
12520
12597
  equals(other?: OrthographicOffCenterFrustum): boolean;
12521
12598
  /**
12522
12599
  * Compares the provided OrthographicOffCenterFrustum componentwise and returns
12523
- <code>true</code> if they pass an absolute or relative tolerance test,
12524
- <code>false</code> otherwise.
12600
+ * <code>true</code> if they pass an absolute or relative tolerance test,
12601
+ * <code>false</code> otherwise.
12525
12602
  * @param other - The right hand side OrthographicOffCenterFrustum.
12526
12603
  * @param relativeEpsilon - The relative epsilon tolerance to use for equality testing.
12527
12604
  * @param [absoluteEpsilon = relativeEpsilon] - The absolute epsilon tolerance to use for equality testing.
@@ -14661,11 +14738,6 @@ export class Rectangle {
14661
14738
  * @returns <code>true</code> if the Rectangles are within the provided epsilon, <code>false</code> otherwise.
14662
14739
  */
14663
14740
  equalsEpsilon(other?: Rectangle, epsilon?: number): boolean;
14664
- /**
14665
- * Checks a Rectangle's properties and throws if they are not in valid ranges.
14666
- * @param rectangle - The rectangle to validate
14667
- */
14668
- static validate(rectangle: Rectangle): void;
14669
14741
  /**
14670
14742
  * Computes the southwest corner of a rectangle.
14671
14743
  * @param rectangle - The rectangle for which to find the corner
@@ -16144,7 +16216,7 @@ export namespace ScreenSpaceEventHandler {
16144
16216
 
16145
16217
  /**
16146
16218
  * Handles user input events. Custom functions can be added to be executed on
16147
- when the user enters input.
16219
+ * when the user enters input.
16148
16220
  * @param [element = document] - The element to add events to.
16149
16221
  */
16150
16222
  export class ScreenSpaceEventHandler {
@@ -16154,14 +16226,14 @@ export class ScreenSpaceEventHandler {
16154
16226
  * @param action - Function to be executed when the input event occurs.
16155
16227
  * @param type - The ScreenSpaceEventType of input event.
16156
16228
  * @param [modifier] - A KeyboardEventModifier key that is held when a <code>type</code>
16157
- event occurs.
16229
+ * event occurs.
16158
16230
  */
16159
16231
  setInputAction(action: ScreenSpaceEventHandler.PositionedEventCallback | ScreenSpaceEventHandler.MotionEventCallback | ScreenSpaceEventHandler.WheelEventCallback | ScreenSpaceEventHandler.TwoPointEventCallback | ScreenSpaceEventHandler.TwoPointMotionEventCallback, type: ScreenSpaceEventType, modifier?: KeyboardEventModifier): void;
16160
16232
  /**
16161
16233
  * Returns the function to be executed on an input event.
16162
16234
  * @param type - The ScreenSpaceEventType of input event.
16163
16235
  * @param [modifier] - A KeyboardEventModifier key that is held when a <code>type</code>
16164
- event occurs.
16236
+ * event occurs.
16165
16237
  * @returns The function to be executed on an input event.
16166
16238
  */
16167
16239
  getInputAction(type: ScreenSpaceEventType, modifier?: KeyboardEventModifier): ScreenSpaceEventHandler.PositionedEventCallback | ScreenSpaceEventHandler.MotionEventCallback | ScreenSpaceEventHandler.WheelEventCallback | ScreenSpaceEventHandler.TwoPointEventCallback | ScreenSpaceEventHandler.TwoPointMotionEventCallback;
@@ -16169,35 +16241,35 @@ export class ScreenSpaceEventHandler {
16169
16241
  * Removes the function to be executed on an input event.
16170
16242
  * @param type - The ScreenSpaceEventType of input event.
16171
16243
  * @param [modifier] - A KeyboardEventModifier key that is held when a <code>type</code>
16172
- event occurs.
16244
+ * event occurs.
16173
16245
  */
16174
16246
  removeInputAction(type: ScreenSpaceEventType, modifier?: KeyboardEventModifier): void;
16175
16247
  /**
16176
16248
  * Returns true if this object was destroyed; otherwise, false.
16177
- <br /><br />
16178
- If this object was destroyed, it should not be used; calling any function other than
16179
- <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
16249
+ * <br /><br />
16250
+ * If this object was destroyed, it should not be used; calling any function other than
16251
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
16180
16252
  * @returns <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
16181
16253
  */
16182
16254
  isDestroyed(): boolean;
16183
16255
  /**
16184
16256
  * Removes listeners held by this object.
16185
- <br /><br />
16186
- Once an object is destroyed, it should not be used; calling any function other than
16187
- <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
16188
- assign the return value (<code>undefined</code>) to the object as done in the example.
16257
+ * <br /><br />
16258
+ * Once an object is destroyed, it should not be used; calling any function other than
16259
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
16260
+ * assign the return value (<code>undefined</code>) to the object as done in the example.
16189
16261
  * @example
16190
16262
  * handler = handler && handler.destroy();
16191
16263
  */
16192
16264
  destroy(): void;
16193
16265
  /**
16194
16266
  * The amount of time, in milliseconds, that mouse events will be disabled after
16195
- receiving any touch events, such that any emulated mouse events will be ignored.
16267
+ * receiving any touch events, such that any emulated mouse events will be ignored.
16196
16268
  */
16197
16269
  static mouseEmulationIgnoreMilliseconds: number;
16198
16270
  /**
16199
16271
  * The amount of time, in milliseconds, before a touch on the screen becomes a
16200
- touch and hold.
16272
+ * touch and hold.
16201
16273
  */
16202
16274
  static touchHoldDelayMilliseconds: number;
16203
16275
  }
@@ -17599,6 +17671,34 @@ export enum TimeStandard {
17599
17671
  TAI = 1
17600
17672
  }
17601
17673
 
17674
+ /**
17675
+ * Constants for identifying well-known tracking reference frames.
17676
+ */
17677
+ export enum TrackingReferenceFrame {
17678
+ /**
17679
+ * Auto-detect algorithm. The reference frame used to track the Entity will
17680
+ be automatically selected based on its trajectory: near-surface slow moving
17681
+ objects will be tracked in the entity's local east-north-up reference
17682
+ frame, while faster objects like satellites will use VVLH (Vehicle Velocity,
17683
+ Local Horizontal).
17684
+ */
17685
+ AUTODETECT = 0,
17686
+ /**
17687
+ * The entity's local East-North-Up reference frame.
17688
+ */
17689
+ ENU = 1,
17690
+ /**
17691
+ * The entity's inertial reference frame. If entity has no defined orientation
17692
+ property, it falls back to auto-detect algorithm.
17693
+ */
17694
+ INERTIAL = 2,
17695
+ /**
17696
+ * The entity's inertial reference frame with orientation fixed to its
17697
+ {@link VelocityOrientationProperty}, ignoring its own orientation.
17698
+ */
17699
+ VELOCITY = 3
17700
+ }
17701
+
17602
17702
  /**
17603
17703
  * Contains functions for transforming positions to various reference frames.
17604
17704
  */
@@ -20905,6 +21005,7 @@ export namespace Entity {
20905
21005
  * @property [name] - A human readable name to display to users. It does not have to be unique.
20906
21006
  * @property [availability] - The availability, if any, associated with this object.
20907
21007
  * @property [show] - A boolean value indicating if the entity and its children are displayed.
21008
+ * @property [trackingReferenceFrame = TrackingReferenceFrame.AUTODETECT] - The reference frame used when this entity is being tracked. <br/> If <code>undefined</code>, reference frame is determined based on entity velocity: near-surface slow moving entities are tracked using the local east-north-up reference frame, whereas fast moving entities such as satellites are tracked using VVLH (Vehicle Velocity, Local Horizontal).
20908
21009
  * @property [description] - A string Property specifying an HTML description for this entity.
20909
21010
  * @property [position] - A Property specifying the entity position.
20910
21011
  * @property [orientation = Transforms.eastNorthUpToFixedFrame(position)] - A Property specifying the entity orientation in respect to Earth-fixed-Earth-centered (ECEF). If undefined, east-north-up at entity position is used.
@@ -20934,8 +21035,9 @@ export namespace Entity {
20934
21035
  name?: string;
20935
21036
  availability?: TimeIntervalCollection;
20936
21037
  show?: boolean;
21038
+ trackingReferenceFrame?: TrackingReferenceFrame;
20937
21039
  description?: Property | string;
20938
- position?: PositionProperty | Cartesian3 | CallbackProperty;
21040
+ position?: PositionProperty | Cartesian3 | CallbackPositionProperty;
20939
21041
  orientation?: Property | Quaternion;
20940
21042
  viewFrom?: Property | Cartesian3;
20941
21043
  parent?: Entity;
@@ -21000,6 +21102,10 @@ export class Entity {
21000
21102
  the entity is only displayed if the parent entity's show property is also true.
21001
21103
  */
21002
21104
  show: boolean;
21105
+ /**
21106
+ * Gets or sets the entity's tracking reference frame.
21107
+ */
21108
+ trackingReferenceFrame: TrackingReferenceFrame;
21003
21109
  /**
21004
21110
  * Gets whether this entity is being displayed, taking into account
21005
21111
  the visibility of any ancestor entities.
@@ -21758,10 +21864,10 @@ export class GeometryVisualizer {
21758
21864
  constructor(scene: Scene, entityCollection: EntityCollection, primitives?: PrimitiveCollection, groundPrimitives?: PrimitiveCollection);
21759
21865
  /**
21760
21866
  * Updates all of the primitives created by this visualizer to match their
21761
- Entity counterpart at the given time.
21867
+ * Entity counterpart at the given time.
21762
21868
  * @param time - The time to update to.
21763
21869
  * @returns True if the visualizer successfully updated to the provided time,
21764
- false if the visualizer is waiting for asynchronous primitives to be created.
21870
+ * false if the visualizer is waiting for asynchronous primitives to be created.
21765
21871
  */
21766
21872
  update(time: JulianDate): boolean;
21767
21873
  /**
@@ -22893,7 +22999,7 @@ export class ModelVisualizer {
22893
22999
  constructor(scene: Scene, entityCollection: EntityCollection);
22894
23000
  /**
22895
23001
  * Updates models created this visualizer to match their
22896
- Entity counterpart at the given time.
23002
+ * Entity counterpart at the given time.
22897
23003
  * @param time - The time to update to.
22898
23004
  * @returns This function always returns true.
22899
23005
  */
@@ -23969,10 +24075,10 @@ export class PolylineVisualizer {
23969
24075
  constructor(scene: Scene, entityCollection: EntityCollection, primitives?: PrimitiveCollection, groundPrimitives?: PrimitiveCollection);
23970
24076
  /**
23971
24077
  * Updates all of the primitives created by this visualizer to match their
23972
- Entity counterpart at the given time.
24078
+ * Entity counterpart at the given time.
23973
24079
  * @param time - The time to update to.
23974
24080
  * @returns True if the visualizer successfully updated to the provided time,
23975
- false if the visualizer is waiting for asynchronous primitives to be created.
24081
+ * false if the visualizer is waiting for asynchronous primitives to be created.
23976
24082
  */
23977
24083
  update(time: JulianDate): boolean;
23978
24084
  /**
@@ -24933,6 +25039,12 @@ export class SampledProperty {
24933
25039
  * @param [derivativeValues] - An array where each item is the array of derivatives at the equivalent time index.
24934
25040
  */
24935
25041
  addSamples(times: JulianDate[], values: Packable[], derivativeValues?: any[][]): void;
25042
+ /**
25043
+ * Retrieves the time of the provided sample associated with the index. A negative index accesses the list of samples in reverse order.
25044
+ * @param index - The index of samples list.
25045
+ * @returns The JulianDate time of the sample, or undefined if failed.
25046
+ */
25047
+ getSample(index: number): JulianDate | undefined;
24936
25048
  /**
24937
25049
  * Adds samples as a single packed array where each new sample is represented as a date,
24938
25050
  followed by the packed representation of the corresponding value and derivatives.
@@ -25953,6 +26065,12 @@ export class Atmosphere {
25953
26065
  be used for dynamically lighting all atmosphere-related rendering effects.
25954
26066
  */
25955
26067
  dynamicLighting: DynamicAtmosphereLightingType;
26068
+ /**
26069
+ * Returns <code>true</code> if the atmosphere shader requires a color correct step.
26070
+ * @param atmosphere - The atmosphere instance to check
26071
+ * @returns true if the atmosphere shader requires a color correct step
26072
+ */
26073
+ static requiresColorCorrect(atmosphere: Atmosphere): boolean;
25956
26074
  }
25957
26075
 
25958
26076
  /**
@@ -28358,6 +28476,7 @@ export namespace Cesium3DTileset {
28358
28476
  * @property [debugShowRenderingStatistics = false] - For debugging only. When true, draws labels to indicate the number of commands, points, triangles and features for each tile.
28359
28477
  * @property [debugShowMemoryUsage = false] - For debugging only. When true, draws labels to indicate the texture and geometry memory in megabytes used by each tile.
28360
28478
  * @property [debugShowUrl = false] - For debugging only. When true, draws labels to indicate the url of each tile.
28479
+ * @param [options.environmentMapOptions] - The properties for managing dynamic environment maps on this model.
28361
28480
  */
28362
28481
  type ConstructorOptions = {
28363
28482
  show?: boolean;
@@ -29125,6 +29244,14 @@ export class Cesium3DTileset {
29125
29244
  * The properties for managing image-based lighting on this tileset.
29126
29245
  */
29127
29246
  imageBasedLighting: ImageBasedLighting;
29247
+ /**
29248
+ * The properties for managing dynamic environment maps on this model. Affects lighting.
29249
+ * @example
29250
+ * // Change the ground color used for a tileset's environment map to a forest green
29251
+ const environmentMapManager = tileset.environmentMapManager;
29252
+ environmentMapManager.groundColor = Cesium.Color.fromCssColorString("#203b34");
29253
+ */
29254
+ readonly environmentMapManager: DynamicEnvironmentMapManager;
29128
29255
  /**
29129
29256
  * Indicates that only the tileset's vector tiles should be used for classification.
29130
29257
  */
@@ -30979,12 +31106,22 @@ export function createElevationBandMaterial(options: {
30979
31106
  }): Material;
30980
31107
 
30981
31108
  /**
30982
- * Creates a {@link Cesium3DTileset} instance for the Google Photorealistic 3D Tiles tileset.
31109
+ * Creates a {@link Cesium3DTileset} instance for the Google Photorealistic 3D
31110
+ Tiles tileset.
31111
+
31112
+ Google Photorealistic 3D Tiles can only be used with the Google geocoder. To
31113
+ confirm that you are aware of this restriction pass
31114
+ `usingOnlyWithGoogleGeocoder: true` to the apiOptions. Otherwise a one time
31115
+ warning will be displayed when this function is called.
30983
31116
  * @example
30984
- * const viewer = new Cesium.Viewer("cesiumContainer");
31117
+ * const viewer = new Cesium.Viewer("cesiumContainer", {
31118
+ geocoder: Cesium.IonGeocodeProviderType.GOOGLE
31119
+ });
30985
31120
 
30986
31121
  try {
30987
- const tileset = await Cesium.createGooglePhotorealistic3DTileset();
31122
+ const tileset = await Cesium.createGooglePhotorealistic3DTileset({
31123
+ onlyUsingWithGoogleGeocoder: true,
31124
+ });
30988
31125
  viewer.scene.primitives.add(tileset));
30989
31126
  } catch (error) {
30990
31127
  console.log(`Error creating tileset: ${error}`);
@@ -30993,18 +31130,26 @@ try {
30993
31130
  * // Use your own Google Maps API key
30994
31131
  Cesium.GoogleMaps.defaultApiKey = "your-api-key";
30995
31132
 
30996
- const viewer = new Cesium.Viewer("cesiumContainer");
31133
+ const viewer = new Cesium.Viewer("cesiumContainer". {
31134
+ geocoder: Cesium.IonGeocodeProviderType.GOOGLE
31135
+ });
30997
31136
 
30998
31137
  try {
30999
- const tileset = await Cesium.createGooglePhotorealistic3DTileset();
31138
+ const tileset = await Cesium.createGooglePhotorealistic3DTileset({
31139
+ onlyUsingWithGoogleGeocoder: true,
31140
+ });
31000
31141
  viewer.scene.primitives.add(tileset));
31001
31142
  } catch (error) {
31002
31143
  console.log(`Error creating tileset: ${error}`);
31003
31144
  }
31004
- * @param [key = GoogleMaps.defaultApiKey] - Your API key to access Google Photorealistic 3D Tiles. See {@link https://developers.google.com/maps/documentation/javascript/get-api-key} for instructions on how to create your own key.
31005
- * @param [options] - An object describing initialization options.
31145
+ * @param [apiOptions.key = GoogleMaps.defaultApiKey] - Your API key to access Google Photorealistic 3D Tiles. See {@link https://developers.google.com/maps/documentation/javascript/get-api-key} for instructions on how to create your own key.
31146
+ * @param [apiOptions.onlyUsingWithGoogleGeocoder] - Confirmation that this tileset will only be used with the Google geocoder.
31147
+ * @param [tilesetOptions] - An object describing initialization options.
31006
31148
  */
31007
- export function createGooglePhotorealistic3DTileset(key?: string, options?: Cesium3DTileset.ConstructorOptions): Promise<Cesium3DTileset>;
31149
+ export function createGooglePhotorealistic3DTileset(apiOptions?: {
31150
+ key?: string;
31151
+ onlyUsingWithGoogleGeocoder?: true;
31152
+ }, tilesetOptions?: Cesium3DTileset.ConstructorOptions): Promise<Cesium3DTileset>;
31008
31153
 
31009
31154
  /**
31010
31155
  * Creates a {@link Cesium3DTileset} instance for the
@@ -31600,14 +31745,55 @@ export enum DepthFunction {
31600
31745
 
31601
31746
  /**
31602
31747
  * Returns the type that the given class property has in a GLSL shader.
31603
-
31604
- It returns the same string as `PropertyTextureProperty.prototype.getGlslType`
31605
- for a property texture property with the given class property
31748
+ *
31749
+ * It returns the same string as `PropertyTextureProperty.prototype.getGlslType`
31750
+ * for a property texture property with the given class property
31606
31751
  * @param classProperty - The class property
31607
31752
  * @returns The GLSL shader type string for the property
31608
31753
  */
31609
31754
  export function getGlslType(classProperty: MetadataClassProperty): string;
31610
31755
 
31756
+ /**
31757
+ * Returns a shader statement that applies the inverse of the
31758
+ * value transform to the given value, based on the given offset
31759
+ * and scale.
31760
+ * @param input - The input value
31761
+ * @param offset - The offset
31762
+ * @param scale - The scale
31763
+ * @returns The statement
31764
+ */
31765
+ export function unapplyValueTransform(input: string, offset: string, scale: string): string;
31766
+
31767
+ /**
31768
+ * Returns a shader statement that applies the inverse of the
31769
+ * normalization, based on the given component type
31770
+ * @param input - The input value
31771
+ * @param componentType - The component type
31772
+ * @returns The statement
31773
+ */
31774
+ export function unnormalize(input: string, componentType: string): string;
31775
+
31776
+ /**
31777
+ * Creates a shader statement that returns the value of the specified
31778
+ * property, normalized to the range [0, 1].
31779
+ * @param classProperty - The class property
31780
+ * @param metadataProperty - The metadata property, either
31781
+ * a `PropertyTextureProperty` or a `PropertyAttributeProperty`
31782
+ * @returns The string
31783
+ */
31784
+ export function getSourceValueStringScalar(classProperty: MetadataClassProperty, metadataProperty: any): string;
31785
+
31786
+ /**
31787
+ * Creates a shader statement that returns the value of the specified
31788
+ * component of the given property, normalized to the range [0, 1].
31789
+ * @param classProperty - The class property
31790
+ * @param metadataProperty - The metadata property, either
31791
+ * a `PropertyTextureProperty` or a `PropertyAttributeProperty`
31792
+ * @param componentName - The name, in ["x", "y", "z", "w"]
31793
+ * @returns The string
31794
+ */
31795
+ export function getSourceValueStringComponent(classProperty: MetadataClassProperty, metadataProperty: any, componentName: string): string;
31796
+
31611
31797
  /**
31612
31798
  * A light that gets emitted in a single direction from infinitely far away.
31613
31799
  * @param options - Object with the following properties:
@@ -31711,6 +31897,136 @@ export enum DynamicAtmosphereLightingType {
31711
31897
  SUNLIGHT = 2
31712
31898
  }
31713
31899
 
31900
+ export namespace DynamicEnvironmentMapManager {
31901
+ /**
31902
+ * Options for the DynamicEnvironmentMapManager constructor
31903
+ * @property [enabled = true] - If true, the environment map and related properties will continue to update.
31904
+ * @property [mipmapLevels = 10] - The number of mipmap levels to generate for specular maps. More mipmap levels will produce a higher resolution specular reflection.
31905
+ * @property [maximumSecondsDifference = 3600] - The maximum amount of elapsed seconds before a new environment map is created.
31906
+ * @property [maximumPositionEpsilon = 1000] - The maximum difference in position before a new environment map is created, in meters. Small differences in position will not visibly affect results.
31907
+ * @property [atmosphereScatteringIntensity = 2.0] - The intensity of the scattered light emitted from the atmosphere. This should be adjusted relative to the value of {@link Scene.light} intensity.
31908
+ * @property [gamma = 1.0] - The gamma correction to apply to the range of light emitted from the environment. 1.0 uses the unmodified emitted light color.
31909
+ * @property [brightness = 1.0] - The brightness of light emitted from the environment. 1.0 uses the unmodified emitted environment color. Less than 1.0 makes the light darker while greater than 1.0 makes it brighter.
31910
+ * @property [saturation = 1.0] - The saturation of the light emitted from the environment. 1.0 uses the unmodified emitted environment color. Less than 1.0 reduces the saturation while greater than 1.0 increases it.
31911
+ * @property [groundColor = DynamicEnvironmentMapManager.AVERAGE_EARTH_GROUND_COLOR] - Solid color used to represent the ground.
31912
+ * @property [groundAlbedo = 0.31] - The percentage of light reflected from the ground. The average earth albedo is 0.31.
31913
+ */
31914
+ type ConstructorOptions = {
31915
+ enabled?: boolean;
31916
+ mipmapLevels?: number;
31917
+ maximumSecondsDifference?: number;
31918
+ maximumPositionEpsilon?: number;
31919
+ atmosphereScatteringIntensity?: number;
31920
+ gamma?: number;
31921
+ brightness?: number;
31922
+ saturation?: number;
31923
+ groundColor?: Color;
31924
+ groundAlbedo?: number;
31925
+ };
31926
+ }
31927
+
31928
+ /**
31929
+ * Generates an environment map at the given position based on scene's current lighting conditions. From this, it produces multiple levels of specular maps and spherical harmonic coefficients than can be used with {@link ImageBasedLighting} for models or tilesets.
31930
+ * @example
31931
+ * // Enable time-of-day environment mapping in a scene
31932
+ scene.atmosphere.dynamicLighting = Cesium.DynamicAtmosphereLightingType.SUNLIGHT;
31933
+
31934
+ // Decrease the directional lighting contribution
31935
+ scene.light.intensity = 0.5
31936
+
31937
+ // Increase the intensity of of the environment map lighting contribution
31938
+ const environmentMapManager = tileset.environmentMapManager;
31939
+ environmentMapManager.atmosphereScatteringIntensity = 3.0;
31940
+ * @example
31941
+ * // Change the ground color used for a model's environment map to a forest green
31942
+ const environmentMapManager = model.environmentMapManager;
31943
+ environmentMapManager.groundColor = Cesium.Color.fromCssColorString("#203b34");
31944
+ * @param [options] - An object describing initialization options.
31945
+ */
31946
+ export class DynamicEnvironmentMapManager {
31947
+ constructor(options?: DynamicEnvironmentMapManager.ConstructorOptions);
31948
+ /**
31949
+ * If true, the environment map and related properties will continue to update.
31950
+ */
31951
+ enabled: boolean;
31952
+ /**
31953
+ * The maximum amount of elapsed seconds before a new environment map is created.
31954
+ */
31955
+ maximumSecondsDifference: number;
31956
+ /**
31957
+ * The maximum difference in position before a new environment map is created, in meters. Small differences in position will not visibly affect results.
31958
+ */
31959
+ maximumPositionEpsilon: number;
31960
+ /**
31961
+ * The intensity of the scattered light emitted from the atmosphere. This should be adjusted relative to the value of {@link Scene.light} intensity.
31962
+ */
31963
+ atmosphereScatteringIntensity: number;
31964
+ /**
31965
+ * The gamma correction to apply to the range of light emitted from the environment. 1.0 uses the unmodified incoming light color.
31966
+ */
31967
+ gamma: number;
31968
+ /**
31969
+ * The brightness of light emitted from the environment. 1.0 uses the unmodified emitted environment color. Less than 1.0
31970
+ makes the light darker while greater than 1.0 makes it brighter.
31971
+ */
31972
+ brightness: number;
31973
+ /**
31974
+ * The saturation of the light emitted from the environment. 1.0 uses the unmodified emitted environment color. Less than 1.0 reduces the
31975
+ saturation while greater than 1.0 increases it.
31976
+ */
31977
+ saturation: number;
31978
+ /**
31979
+ * Solid color used to represent the ground.
31980
+ */
31981
+ groundColor: Color;
31982
+ /**
31983
+ * The percentage of light reflected from the ground. The average earth albedo is 0.31.
31984
+ */
31985
+ groundAlbedo: number;
31986
+ /**
31987
+ * The position around which the environment map is generated.
31988
+ */
31989
+ position: Cartesian3 | undefined;
31990
+ /**
31991
+ * Returns true if this object was destroyed; otherwise, false.
31992
+ <br /><br />
31993
+ If this object was destroyed, it should not be used; calling any function other than
31994
+ <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
31995
+ * @returns <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
31996
+ */
31997
+ isDestroyed(): boolean;
31998
+ /**
31999
+ * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
32000
+ release of WebGL resources, instead of relying on the garbage collector to destroy this object.
32001
+ <br /><br />
32002
+ Once an object is destroyed, it should not be used; calling any function other than
32003
+ <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
32004
+ assign the return value (<code>undefined</code>) to the object as done in the example.
32005
+ * @example
32006
+ * mapManager = mapManager && mapManager.destroy();
32007
+ */
32008
+ destroy(): void;
32009
+ /**
32010
+ * Returns <code>true</code> if dynamic updates are supported in the current WebGL rendering context.
32011
+ Dynamic updates requires the EXT_color_buffer_float or EXT_color_buffer_half_float extension.
32012
+ * @param scene - The object containing the rendering context
32013
+ * @returns true if supported
32014
+ */
32015
+ static isDynamicUpdateSupported(scene: Scene): boolean;
32016
+ /**
32017
+ * Average hue of ground color on earth, a warm green-gray.
32018
+ */
32019
+ static readonly AVERAGE_EARTH_GROUND_COLOR: Color;
32020
+ /**
32021
+ * The default third order spherical harmonic coefficients used for the diffuse color of image-based lighting, a white ambient light with low intensity.
32022
+ <p>
32023
+ There are nine <code>Cartesian3</code> coefficients.
32024
+ The order of the coefficients is: L<sub>0,0</sub>, L<sub>1,-1</sub>, L<sub>1,0</sub>, L<sub>1,1</sub>, L<sub>2,-2</sub>, L<sub>2,-1</sub>, L<sub>2,0</sub>, L<sub>2,1</sub>, L<sub>2,2</sub>
32025
+ </p>
32026
+ */
32027
+ static readonly DEFAULT_SPHERICAL_HARMONIC_COEFFICIENTS: Cartesian3[];
32028
+ }
32029
+
31714
32030
  /**
31715
32031
  * An appearance for geometry on the surface of the ellipsoid like {@link PolygonGeometry}
31716
32032
  and {@link RectangleGeometry}, which supports all materials like {@link MaterialAppearance}
@@ -31894,11 +32210,18 @@ export class Fog {
31894
32210
  constructor();
31895
32211
  /**
31896
32212
  * <code>true</code> if fog is enabled, <code>false</code> otherwise.
32213
+ * @example
32214
+ * // Disable fog in the scene
32215
+ viewer.scene.fog.enabled = false;
31897
32216
  */
31898
32217
  enabled: boolean;
31899
32218
  /**
31900
32219
  * <code>true</code> if fog is renderable in shaders, <code>false</code> otherwise.
31901
32220
  This allows to benefits from optimized tile loading strategy based on fog density without the actual visual rendering.
32221
+ * @example
32222
+ * // Use fog culling but don't render it
32223
+ viewer.scene.fog.enabled = true;
32224
+ viewer.scene.fog.renderable = false;
31902
32225
  */
31903
32226
  renderable: boolean;
31904
32227
  /**
@@ -31907,8 +32230,27 @@ export class Fog {
31907
32230
  The more dense the fog is, the more aggressively the terrain is culled. For example, if the camera is a height of
31908
32231
  1000.0m above the ellipsoid, increasing the value to 3.0e-3 will cause many tiles close to the viewer be culled.
31909
32232
  Decreasing the value will push the fog further from the viewer, but decrease performance as more of the terrain is rendered.
32233
+ * @example
32234
+ * // Double the default fog density
32235
+ viewer.scene.fog.density = 0.0012;
31910
32236
  */
31911
32237
  density: number;
32238
+ /**
32239
+ * A scalar used in the function to adjust density based on the height of the camera above the terrain.
32240
+ */
32241
+ heightScalar: number;
32242
+ /**
32243
+ * The maximum height fog is applied. If the camera is above this height fog will be disabled.
32244
+ */
32245
+ maxHeight: number;
32246
+ /**
32247
+ * A scalar that impacts the visual density of fog. This value does not impact the culling of terrain.
32248
+ Use in combination with the {@link Fog.density} to make fog appear more or less dense.
32249
+ * @example
32250
+ * // Increase fog appearance effect
32251
+ viewer.scene.fog.visualDensityScalar = 0.6;
32252
+ */
32253
+ visualDensityScalar: number;
31912
32254
  /**
31913
32255
  * A factor used to increase the screen space error of terrain tiles when they are partially in fog. The effect is to reduce
31914
32256
  the number of terrain tiles requested for rendering. If set to zero, the feature will be disabled. If the value is increased
@@ -31921,6 +32263,11 @@ export class Fog {
31921
32263
  the brightness at all.
31922
32264
  */
31923
32265
  minimumBrightness: number;
32266
+ /**
32267
+ * Exponent factor used in the function to adjust how density changes based on the height of the camera above the ellipsoid. Smaller values produce a more gradual transition as camera height increases.
32268
+ Value must be greater than 0.
32269
+ */
32270
+ heightFalloff: number;
31924
32271
  }
31925
32272
 
31926
32273
  /**
@@ -33847,7 +34194,6 @@ If a model or tileset creates an instance of ImageBasedLighting, it will handle
33847
34194
  Otherwise, the application is responsible for calling destroy().
33848
34195
  </p>
33849
34196
  * @param [options.imageBasedLightingFactor = Cartesian2(1.0, 1.0)] - Scales diffuse and specular image-based lighting from the earth, sky, atmosphere and star skybox.
33850
- * @param [options.luminanceAtZenith = 0.2] - The sun's luminance at the zenith in kilo candela per meter squared to use for this model's procedural environment map.
33851
34197
  * @param [options.sphericalHarmonicCoefficients] - The third order spherical harmonic coefficients used for the diffuse color of image-based lighting.
33852
34198
  * @param [options.specularEnvironmentMaps] - A URL to a KTX2 file that contains a cube map of the specular lighting and the convoluted specular mipmaps.
33853
34199
  */
@@ -33860,13 +34206,6 @@ export class ImageBasedLighting {
33860
34206
  disable those light sources.
33861
34207
  */
33862
34208
  imageBasedLightingFactor: Cartesian2;
33863
- /**
33864
- * The sun's luminance at the zenith in kilo candela per meter squared
33865
- to use for this model's procedural environment map. This is used when
33866
- {@link ImageBasedLighting#specularEnvironmentMaps} and {@link ImageBasedLighting#sphericalHarmonicCoefficients}
33867
- are not defined.
33868
- */
33869
- luminanceAtZenith: number;
33870
34209
  /**
33871
34210
  * The third order spherical harmonic coefficients used for the diffuse color of image-based lighting. When <code>undefined</code>, a diffuse irradiance
33872
34211
  computed from the atmosphere color is used.
@@ -33900,81 +34239,81 @@ export namespace ImageryLayer {
33900
34239
  /**
33901
34240
  * Initialization options for the ImageryLayer constructor.
33902
34241
  * @property [rectangle = imageryProvider.rectangle] - The rectangle of the layer. This rectangle
33903
- can limit the visible portion of the imagery provider.
34242
+ * can limit the visible portion of the imagery provider.
33904
34243
  * @property [alpha = 1.0] - The alpha blending value of this layer, from 0.0 to 1.0.
33905
- This can either be a simple number or a function with the signature
33906
- <code>function(frameState, layer, x, y, level)</code>. The function is passed the
33907
- current frame state, this layer, and the x, y, and level coordinates of the
33908
- imagery tile for which the alpha is required, and it is expected to return
33909
- the alpha value to use for the tile.
34244
+ * This can either be a simple number or a function with the signature
34245
+ * <code>function(frameState, layer, x, y, level)</code>. The function is passed the
34246
+ * current frame state, this layer, and the x, y, and level coordinates of the
34247
+ * imagery tile for which the alpha is required, and it is expected to return
34248
+ * the alpha value to use for the tile.
33910
34249
  * @property [nightAlpha = 1.0] - The alpha blending value of this layer on the night side of the globe, from 0.0 to 1.0.
33911
- This can either be a simple number or a function with the signature
33912
- <code>function(frameState, layer, x, y, level)</code>. The function is passed the
33913
- current frame state, this layer, and the x, y, and level coordinates of the
33914
- imagery tile for which the alpha is required, and it is expected to return
33915
- the alpha value to use for the tile. This only takes effect when <code>enableLighting</code> is <code>true</code>.
34250
+ * This can either be a simple number or a function with the signature
34251
+ * <code>function(frameState, layer, x, y, level)</code>. The function is passed the
34252
+ * current frame state, this layer, and the x, y, and level coordinates of the
34253
+ * imagery tile for which the alpha is required, and it is expected to return
34254
+ * the alpha value to use for the tile. This only takes effect when <code>enableLighting</code> is <code>true</code>.
33916
34255
  * @property [dayAlpha = 1.0] - The alpha blending value of this layer on the day side of the globe, from 0.0 to 1.0.
33917
- This can either be a simple number or a function with the signature
33918
- <code>function(frameState, layer, x, y, level)</code>. The function is passed the
33919
- current frame state, this layer, and the x, y, and level coordinates of the
33920
- imagery tile for which the alpha is required, and it is expected to return
33921
- the alpha value to use for the tile. This only takes effect when <code>enableLighting</code> is <code>true</code>.
34256
+ * This can either be a simple number or a function with the signature
34257
+ * <code>function(frameState, layer, x, y, level)</code>. The function is passed the
34258
+ * current frame state, this layer, and the x, y, and level coordinates of the
34259
+ * imagery tile for which the alpha is required, and it is expected to return
34260
+ * the alpha value to use for the tile. This only takes effect when <code>enableLighting</code> is <code>true</code>.
33922
34261
  * @property [brightness = 1.0] - The brightness of this layer. 1.0 uses the unmodified imagery
33923
- color. Less than 1.0 makes the imagery darker while greater than 1.0 makes it brighter.
33924
- This can either be a simple number or a function with the signature
33925
- <code>function(frameState, layer, x, y, level)</code>. The function is passed the
33926
- current frame state, this layer, and the x, y, and level coordinates of the
33927
- imagery tile for which the brightness is required, and it is expected to return
33928
- the brightness value to use for the tile. The function is executed for every
33929
- frame and for every tile, so it must be fast.
34262
+ * color. Less than 1.0 makes the imagery darker while greater than 1.0 makes it brighter.
34263
+ * This can either be a simple number or a function with the signature
34264
+ * <code>function(frameState, layer, x, y, level)</code>. The function is passed the
34265
+ * current frame state, this layer, and the x, y, and level coordinates of the
34266
+ * imagery tile for which the brightness is required, and it is expected to return
34267
+ * the brightness value to use for the tile. The function is executed for every
34268
+ * frame and for every tile, so it must be fast.
33930
34269
  * @property [contrast = 1.0] - The contrast of this layer. 1.0 uses the unmodified imagery color.
33931
- Less than 1.0 reduces the contrast while greater than 1.0 increases it.
33932
- This can either be a simple number or a function with the signature
33933
- <code>function(frameState, layer, x, y, level)</code>. The function is passed the
33934
- current frame state, this layer, and the x, y, and level coordinates of the
33935
- imagery tile for which the contrast is required, and it is expected to return
33936
- the contrast value to use for the tile. The function is executed for every
33937
- frame and for every tile, so it must be fast.
34270
+ * Less than 1.0 reduces the contrast while greater than 1.0 increases it.
34271
+ * This can either be a simple number or a function with the signature
34272
+ * <code>function(frameState, layer, x, y, level)</code>. The function is passed the
34273
+ * current frame state, this layer, and the x, y, and level coordinates of the
34274
+ * imagery tile for which the contrast is required, and it is expected to return
34275
+ * the contrast value to use for the tile. The function is executed for every
34276
+ * frame and for every tile, so it must be fast.
33938
34277
  * @property [hue = 0.0] - The hue of this layer. 0.0 uses the unmodified imagery color.
33939
- This can either be a simple number or a function with the signature
33940
- <code>function(frameState, layer, x, y, level)</code>. The function is passed the
33941
- current frame state, this layer, and the x, y, and level coordinates
33942
- of the imagery tile for which the hue is required, and it is expected to return
33943
- the contrast value to use for the tile. The function is executed for every
33944
- frame and for every tile, so it must be fast.
34278
+ * This can either be a simple number or a function with the signature
34279
+ * <code>function(frameState, layer, x, y, level)</code>. The function is passed the
34280
+ * current frame state, this layer, and the x, y, and level coordinates
34281
+ * of the imagery tile for which the hue is required, and it is expected to return
34282
+ * the contrast value to use for the tile. The function is executed for every
34283
+ * frame and for every tile, so it must be fast.
33945
34284
  * @property [saturation = 1.0] - The saturation of this layer. 1.0 uses the unmodified imagery color.
33946
- Less than 1.0 reduces the saturation while greater than 1.0 increases it.
33947
- This can either be a simple number or a function with the signature
33948
- <code>function(frameState, layer, x, y, level)</code>. The function is passed the
33949
- current frame state, this layer, and the x, y, and level coordinates
33950
- of the imagery tile for which the saturation is required, and it is expected to return
33951
- the contrast value to use for the tile. The function is executed for every
33952
- frame and for every tile, so it must be fast.
34285
+ * Less than 1.0 reduces the saturation while greater than 1.0 increases it.
34286
+ * This can either be a simple number or a function with the signature
34287
+ * <code>function(frameState, layer, x, y, level)</code>. The function is passed the
34288
+ * current frame state, this layer, and the x, y, and level coordinates
34289
+ * of the imagery tile for which the saturation is required, and it is expected to return
34290
+ * the contrast value to use for the tile. The function is executed for every
34291
+ * frame and for every tile, so it must be fast.
33953
34292
  * @property [gamma = 1.0] - The gamma correction to apply to this layer. 1.0 uses the unmodified imagery color.
33954
- This can either be a simple number or a function with the signature
33955
- <code>function(frameState, layer, x, y, level)</code>. The function is passed the
33956
- current frame state, this layer, and the x, y, and level coordinates of the
33957
- imagery tile for which the gamma is required, and it is expected to return
33958
- the gamma value to use for the tile. The function is executed for every
33959
- frame and for every tile, so it must be fast.
34293
+ * This can either be a simple number or a function with the signature
34294
+ * <code>function(frameState, layer, x, y, level)</code>. The function is passed the
34295
+ * current frame state, this layer, and the x, y, and level coordinates of the
34296
+ * imagery tile for which the gamma is required, and it is expected to return
34297
+ * the gamma value to use for the tile. The function is executed for every
34298
+ * frame and for every tile, so it must be fast.
33960
34299
  * @property [splitDirection = SplitDirection.NONE] - The {@link SplitDirection} split to apply to this layer.
33961
34300
  * @property [minificationFilter = TextureMinificationFilter.LINEAR] - The
33962
- texture minification filter to apply to this layer. Possible values
33963
- are <code>TextureMinificationFilter.LINEAR</code> and
33964
- <code>TextureMinificationFilter.NEAREST</code>.
34301
+ * texture minification filter to apply to this layer. Possible values
34302
+ * are <code>TextureMinificationFilter.LINEAR</code> and
34303
+ * <code>TextureMinificationFilter.NEAREST</code>.
33965
34304
  * @property [magnificationFilter = TextureMagnificationFilter.LINEAR] - The
33966
- texture minification filter to apply to this layer. Possible values
33967
- are <code>TextureMagnificationFilter.LINEAR</code> and
33968
- <code>TextureMagnificationFilter.NEAREST</code>.
34305
+ * texture minification filter to apply to this layer. Possible values
34306
+ * are <code>TextureMagnificationFilter.LINEAR</code> and
34307
+ * <code>TextureMagnificationFilter.NEAREST</code>.
33969
34308
  * @property [show = true] - True if the layer is shown; otherwise, false.
33970
34309
  * @property [maximumAnisotropy = maximum supported] - The maximum anisotropy level to use
33971
- for texture filtering. If this parameter is not specified, the maximum anisotropy supported
33972
- by the WebGL stack will be used. Larger values make the imagery look better in horizon
33973
- views.
34310
+ * for texture filtering. If this parameter is not specified, the maximum anisotropy supported
34311
+ * by the WebGL stack will be used. Larger values make the imagery look better in horizon
34312
+ * views.
33974
34313
  * @property [minimumTerrainLevel] - The minimum terrain level-of-detail at which to show this imagery layer,
33975
- or undefined to show it at all levels. Level zero is the least-detailed level.
34314
+ * or undefined to show it at all levels. Level zero is the least-detailed level.
33976
34315
  * @property [maximumTerrainLevel] - The maximum terrain level-of-detail at which to show this imagery layer,
33977
- or undefined to show it at all levels. Level zero is the least-detailed level.
34316
+ * or undefined to show it at all levels. Level zero is the least-detailed level.
33978
34317
  * @property [cutoutRectangle] - Cartographic rectangle for cutting out a portion of this ImageryLayer.
33979
34318
  * @property [colorToAlpha] - Color to be used as alpha.
33980
34319
  * @property [colorToAlphaThreshold = 0.004] - Threshold for color-to-alpha.
@@ -34009,22 +34348,22 @@ export namespace ImageryLayer {
34009
34348
 
34010
34349
  /**
34011
34350
  * An imagery layer that displays tiled image data from a single imagery provider
34012
- on a {@link Globe}.
34351
+ * on a {@link Globe}.
34013
34352
  * @example
34014
34353
  * // Add an OpenStreetMaps layer
34015
- const imageryLayer = new Cesium.ImageryLayer(new Cesium.OpenStreetMapImageryProvider({
34016
- url: "https://tile.openstreetmap.org/"
34017
- }));
34018
- scene.imageryLayers.add(imageryLayer);
34354
+ * const imageryLayer = new Cesium.ImageryLayer(new Cesium.OpenStreetMapImageryProvider({
34355
+ * url: "https://tile.openstreetmap.org/"
34356
+ * }));
34357
+ * scene.imageryLayers.add(imageryLayer);
34019
34358
  * @example
34020
34359
  * // Add Cesium ion's default world imagery layer
34021
- const imageryLayer = Cesium.ImageryLayer.fromWorldImagery();
34022
- scene.imageryLayers.add(imageryLayer);
34360
+ * const imageryLayer = Cesium.ImageryLayer.fromWorldImagery();
34361
+ * scene.imageryLayers.add(imageryLayer);
34023
34362
  * @example
34024
34363
  * // Add a new transparent layer from Cesium ion
34025
- const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
34026
- imageryLayer.alpha = 0.5;
34027
- scene.imageryLayers.add(imageryLayer);
34364
+ * const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
34365
+ * imageryLayer.alpha = 0.5;
34366
+ * scene.imageryLayers.add(imageryLayer);
34028
34367
  * @param [imageryProvider] - The imagery provider to use.
34029
34368
  * @param [options] - An object describing initialization options
34030
34369
  */
@@ -34032,27 +34371,27 @@ export class ImageryLayer {
34032
34371
  constructor(imageryProvider?: ImageryProvider, options?: ImageryLayer.ConstructorOptions);
34033
34372
  /**
34034
34373
  * The alpha blending value of this layer, with 0.0 representing fully transparent and
34035
- 1.0 representing fully opaque.
34374
+ * 1.0 representing fully opaque.
34036
34375
  */
34037
34376
  alpha: number;
34038
34377
  /**
34039
34378
  * The alpha blending value of this layer on the night side of the globe, with 0.0 representing fully transparent and
34040
- 1.0 representing fully opaque. This only takes effect when {@link Globe#enableLighting} is <code>true</code>.
34379
+ * 1.0 representing fully opaque. This only takes effect when {@link Globe#enableLighting} is <code>true</code>.
34041
34380
  */
34042
34381
  nightAlpha: number;
34043
34382
  /**
34044
34383
  * The alpha blending value of this layer on the day side of the globe, with 0.0 representing fully transparent and
34045
- 1.0 representing fully opaque. This only takes effect when {@link Globe#enableLighting} is <code>true</code>.
34384
+ * 1.0 representing fully opaque. This only takes effect when {@link Globe#enableLighting} is <code>true</code>.
34046
34385
  */
34047
34386
  dayAlpha: number;
34048
34387
  /**
34049
34388
  * The brightness of this layer. 1.0 uses the unmodified imagery color. Less than 1.0
34050
- makes the imagery darker while greater than 1.0 makes it brighter.
34389
+ * makes the imagery darker while greater than 1.0 makes it brighter.
34051
34390
  */
34052
34391
  brightness: number;
34053
34392
  /**
34054
34393
  * The contrast of this layer. 1.0 uses the unmodified imagery color. Less than 1.0 reduces
34055
- the contrast while greater than 1.0 increases it.
34394
+ * the contrast while greater than 1.0 increases it.
34056
34395
  */
34057
34396
  contrast: number;
34058
34397
  /**
@@ -34061,7 +34400,7 @@ export class ImageryLayer {
34061
34400
  hue: number;
34062
34401
  /**
34063
34402
  * The saturation of this layer. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the
34064
- saturation while greater than 1.0 increases it.
34403
+ * saturation while greater than 1.0 increases it.
34065
34404
  */
34066
34405
  saturation: number;
34067
34406
  /**
@@ -34074,20 +34413,20 @@ export class ImageryLayer {
34074
34413
  splitDirection: SplitDirection;
34075
34414
  /**
34076
34415
  * The {@link TextureMinificationFilter} to apply to this layer.
34077
- Possible values are {@link TextureMinificationFilter.LINEAR} (the default)
34078
- and {@link TextureMinificationFilter.NEAREST}.
34079
-
34080
- To take effect, this property must be set immediately after adding the imagery layer.
34081
- Once a texture is loaded it won't be possible to change the texture filter used.
34416
+ * Possible values are {@link TextureMinificationFilter.LINEAR} (the default)
34417
+ * and {@link TextureMinificationFilter.NEAREST}.
34418
+ *
34419
+ * To take effect, this property must be set immediately after adding the imagery layer.
34420
+ * Once a texture is loaded it won't be possible to change the texture filter used.
34082
34421
  */
34083
34422
  minificationFilter: TextureMinificationFilter;
34084
34423
  /**
34085
34424
  * The {@link TextureMagnificationFilter} to apply to this layer.
34086
- Possible values are {@link TextureMagnificationFilter.LINEAR} (the default)
34087
- and {@link TextureMagnificationFilter.NEAREST}.
34088
-
34089
- To take effect, this property must be set immediately after adding the imagery layer.
34090
- Once a texture is loaded it won't be possible to change the texture filter used.
34425
+ * Possible values are {@link TextureMagnificationFilter.LINEAR} (the default)
34426
+ * and {@link TextureMagnificationFilter.NEAREST}.
34427
+ *
34428
+ * To take effect, this property must be set immediately after adding the imagery layer.
34429
+ * Once a texture is loaded it won't be possible to change the texture filter used.
34091
34430
  */
34092
34431
  magnificationFilter: TextureMagnificationFilter;
34093
34432
  /**
@@ -34116,85 +34455,85 @@ export class ImageryLayer {
34116
34455
  readonly ready: boolean;
34117
34456
  /**
34118
34457
  * Gets an event that is raised when the imagery provider has been successfully created. Event listeners
34119
- are passed the created instance of {@link ImageryProvider}.
34458
+ * are passed the created instance of {@link ImageryProvider}.
34120
34459
  */
34121
34460
  readonly readyEvent: Event<ImageryLayer.ReadyEventCallback>;
34122
34461
  /**
34123
34462
  * Gets the rectangle of this layer. If this rectangle is smaller than the rectangle of the
34124
- {@link ImageryProvider}, only a portion of the imagery provider is shown.
34463
+ * {@link ImageryProvider}, only a portion of the imagery provider is shown.
34125
34464
  */
34126
34465
  readonly rectangle: Rectangle;
34127
34466
  /**
34128
34467
  * This value is used as the default brightness for the imagery layer if one is not provided during construction
34129
- or by the imagery provider. This value does not modify the brightness of the imagery.
34468
+ * or by the imagery provider. This value does not modify the brightness of the imagery.
34130
34469
  */
34131
34470
  static DEFAULT_BRIGHTNESS: number;
34132
34471
  /**
34133
34472
  * This value is used as the default contrast for the imagery layer if one is not provided during construction
34134
- or by the imagery provider. This value does not modify the contrast of the imagery.
34473
+ * or by the imagery provider. This value does not modify the contrast of the imagery.
34135
34474
  */
34136
34475
  static DEFAULT_CONTRAST: number;
34137
34476
  /**
34138
34477
  * This value is used as the default hue for the imagery layer if one is not provided during construction
34139
- or by the imagery provider. This value does not modify the hue of the imagery.
34478
+ * or by the imagery provider. This value does not modify the hue of the imagery.
34140
34479
  */
34141
34480
  static DEFAULT_HUE: number;
34142
34481
  /**
34143
34482
  * This value is used as the default saturation for the imagery layer if one is not provided during construction
34144
- or by the imagery provider. This value does not modify the saturation of the imagery.
34483
+ * or by the imagery provider. This value does not modify the saturation of the imagery.
34145
34484
  */
34146
34485
  static DEFAULT_SATURATION: number;
34147
34486
  /**
34148
34487
  * This value is used as the default gamma for the imagery layer if one is not provided during construction
34149
- or by the imagery provider. This value does not modify the gamma of the imagery.
34488
+ * or by the imagery provider. This value does not modify the gamma of the imagery.
34150
34489
  */
34151
34490
  static DEFAULT_GAMMA: number;
34152
34491
  /**
34153
34492
  * This value is used as the default split for the imagery layer if one is not provided during construction
34154
- or by the imagery provider.
34493
+ * or by the imagery provider.
34155
34494
  */
34156
34495
  static DEFAULT_SPLIT: SplitDirection;
34157
34496
  /**
34158
34497
  * This value is used as the default texture minification filter for the imagery layer if one is not provided
34159
- during construction or by the imagery provider.
34498
+ * during construction or by the imagery provider.
34160
34499
  */
34161
34500
  static DEFAULT_MINIFICATION_FILTER: TextureMinificationFilter;
34162
34501
  /**
34163
34502
  * This value is used as the default texture magnification filter for the imagery layer if one is not provided
34164
- during construction or by the imagery provider.
34503
+ * during construction or by the imagery provider.
34165
34504
  */
34166
34505
  static DEFAULT_MAGNIFICATION_FILTER: TextureMagnificationFilter;
34167
34506
  /**
34168
34507
  * This value is used as the default threshold for color-to-alpha if one is not provided
34169
- during construction or by the imagery provider.
34508
+ * during construction or by the imagery provider.
34170
34509
  */
34171
34510
  static DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD: number;
34172
34511
  /**
34173
34512
  * Create a new imagery layer from an asynchronous imagery provider. The layer will handle any asynchronous loads or errors, and begin rendering the imagery layer once ready.
34174
34513
  * @example
34175
34514
  * // Create a new base layer
34176
- const viewer = new Cesium.Viewer("cesiumContainer", {
34177
- baseLayer: Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
34178
- });
34515
+ * const viewer = new Cesium.Viewer("cesiumContainer", {
34516
+ * baseLayer: Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
34517
+ * });
34179
34518
  * @example
34180
34519
  * // Add a new transparent layer
34181
- const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
34182
- imageryLayer.alpha = 0.5;
34183
- viewer.imageryLayers.add(imageryLayer);
34520
+ * const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
34521
+ * imageryLayer.alpha = 0.5;
34522
+ * viewer.imageryLayers.add(imageryLayer);
34184
34523
  * @example
34185
34524
  * // Handle loading events
34186
- const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
34187
- viewer.imageryLayers.add(imageryLayer);
34188
-
34189
- imageryLayer.readyEvent.addEventListener(provider => {
34190
- imageryLayer.provider.errorEvent.addEventListener(error => {
34191
- alert(`Encountered an error while loading imagery tiles! ${error}`);
34192
- });
34193
- });
34194
-
34195
- imageryLayer.errorEvent.addEventListener(error => {
34196
- alert(`Encountered an error while creating an imagery layer! ${error}`);
34197
- });
34525
+ * const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
34526
+ * viewer.imageryLayers.add(imageryLayer);
34527
+ *
34528
+ * imageryLayer.readyEvent.addEventListener(provider => {
34529
+ * imageryLayer.provider.errorEvent.addEventListener(error => {
34530
+ * alert(`Encountered an error while loading imagery tiles! ${error}`);
34531
+ * });
34532
+ * });
34533
+ *
34534
+ * imageryLayer.errorEvent.addEventListener(error => {
34535
+ * alert(`Encountered an error while creating an imagery layer! ${error}`);
34536
+ * });
34198
34537
  * @param imageryProviderPromise - A promise which resolves to a imagery provider
34199
34538
  * @param options - An object describing initialization options
34200
34539
  * @returns The created imagery layer.
@@ -34204,70 +34543,70 @@ export class ImageryLayer {
34204
34543
  * Create a new imagery layer for ion's default global base imagery layer, currently Bing Maps. The layer will handle any asynchronous loads or errors, and begin rendering the imagery layer once ready.
34205
34544
  * @example
34206
34545
  * // Add a new transparent layer
34207
- const imageryLayer = Cesium.ImageryLayer.fromWorldImagery();
34208
- imageryLayer.alpha = 0.5;
34209
- viewer.imageryLayers.add(imageryLayer);
34546
+ * const imageryLayer = Cesium.ImageryLayer.fromWorldImagery();
34547
+ * imageryLayer.alpha = 0.5;
34548
+ * viewer.imageryLayers.add(imageryLayer);
34210
34549
  * @example
34211
34550
  * // Handle loading events
34212
- const imageryLayer = Cesium.ImageryLayer.fromWorldImagery();
34213
- viewer.imageryLayers.add(imageryLayer);
34214
-
34215
- imageryLayer.readyEvent.addEventListener(provider => {
34216
- imageryLayer.provider.errorEvent.addEventListener(error => {
34217
- alert(`Encountered an error while loading imagery tiles! ${error}`);
34218
- });
34219
- });
34220
-
34221
- imageryLayer.errorEvent.addEventListener(error => {
34222
- alert(`Encountered an error while creating an imagery layer! ${error}`);
34223
- });
34551
+ * const imageryLayer = Cesium.ImageryLayer.fromWorldImagery();
34552
+ * viewer.imageryLayers.add(imageryLayer);
34553
+ *
34554
+ * imageryLayer.readyEvent.addEventListener(provider => {
34555
+ * imageryLayer.provider.errorEvent.addEventListener(error => {
34556
+ * alert(`Encountered an error while loading imagery tiles! ${error}`);
34557
+ * });
34558
+ * });
34559
+ *
34560
+ * imageryLayer.errorEvent.addEventListener(error => {
34561
+ * alert(`Encountered an error while creating an imagery layer! ${error}`);
34562
+ * });
34224
34563
  * @param options - An object describing initialization options
34225
34564
  * @returns The created imagery layer.
34226
-
34227
- * @example
34228
- // Create a new base layer
34229
- const viewer = new Cesium.Viewer("cesiumContainer", {
34230
- baseLayer: Cesium.ImageryLayer.fromWorldImagery();
34231
- });
34565
+ *
34566
+ * * @example
34567
+ * // Create a new base layer
34568
+ * const viewer = new Cesium.Viewer("cesiumContainer", {
34569
+ * baseLayer: Cesium.ImageryLayer.fromWorldImagery();
34570
+ * });
34232
34571
  */
34233
34572
  static fromWorldImagery(options: ImageryLayer.WorldImageryConstructorOptions): ImageryLayer;
34234
34573
  /**
34235
34574
  * Gets a value indicating whether this layer is the base layer in the
34236
- {@link ImageryLayerCollection}. The base layer is the one that underlies all
34237
- others. It is special in that it is treated as if it has global rectangle, even if
34238
- it actually does not, by stretching the texels at the edges over the entire
34239
- globe.
34575
+ * {@link ImageryLayerCollection}. The base layer is the one that underlies all
34576
+ * others. It is special in that it is treated as if it has global rectangle, even if
34577
+ * it actually does not, by stretching the texels at the edges over the entire
34578
+ * globe.
34240
34579
  * @returns true if this is the base layer; otherwise, false.
34241
34580
  */
34242
34581
  isBaseLayer(): boolean;
34243
34582
  /**
34244
34583
  * Returns true if this object was destroyed; otherwise, false.
34245
- <br /><br />
34246
- If this object was destroyed, it should not be used; calling any function other than
34247
- <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
34584
+ * <br /><br />
34585
+ * If this object was destroyed, it should not be used; calling any function other than
34586
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
34248
34587
  * @returns True if this object was destroyed; otherwise, false.
34249
34588
  */
34250
34589
  isDestroyed(): boolean;
34251
34590
  /**
34252
34591
  * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
34253
- release of WebGL resources, instead of relying on the garbage collector to destroy this object.
34254
- <br /><br />
34255
- Once an object is destroyed, it should not be used; calling any function other than
34256
- <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
34257
- assign the return value (<code>undefined</code>) to the object as done in the example.
34592
+ * release of WebGL resources, instead of relying on the garbage collector to destroy this object.
34593
+ * <br /><br />
34594
+ * Once an object is destroyed, it should not be used; calling any function other than
34595
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
34596
+ * assign the return value (<code>undefined</code>) to the object as done in the example.
34258
34597
  * @example
34259
34598
  * imageryLayer = imageryLayer && imageryLayer.destroy();
34260
34599
  */
34261
34600
  destroy(): void;
34262
34601
  /**
34263
34602
  * Computes the intersection of this layer's rectangle with the imagery provider's availability rectangle,
34264
- producing the overall bounds of imagery that can be produced by this layer.
34603
+ * producing the overall bounds of imagery that can be produced by this layer.
34265
34604
  * @example
34266
34605
  * // Zoom to an imagery layer.
34267
- const imageryRectangle = imageryLayer.getImageryRectangle();
34268
- scene.camera.flyTo({
34269
- destination: rectangle
34270
- });
34606
+ * const imageryRectangle = imageryLayer.getImageryRectangle();
34607
+ * scene.camera.flyTo({
34608
+ * destination: rectangle
34609
+ * });
34271
34610
  * @returns A rectangle which defines the overall bounds of imagery that can be produced by this layer.
34272
34611
  */
34273
34612
  getImageryRectangle(): Rectangle;
@@ -34280,24 +34619,24 @@ export class ImageryLayerCollection {
34280
34619
  constructor();
34281
34620
  /**
34282
34621
  * An event that is raised when a layer is added to the collection. Event handlers are passed the layer that
34283
- was added and the index at which it was added.
34622
+ * was added and the index at which it was added.
34284
34623
  */
34285
34624
  layerAdded: Event;
34286
34625
  /**
34287
34626
  * An event that is raised when a layer is removed from the collection. Event handlers are passed the layer that
34288
- was removed and the index from which it was removed.
34627
+ * was removed and the index from which it was removed.
34289
34628
  */
34290
34629
  layerRemoved: Event;
34291
34630
  /**
34292
34631
  * An event that is raised when a layer changes position in the collection. Event handlers are passed the layer that
34293
- was moved, its new index after the move, and its old index prior to the move.
34632
+ * was moved, its new index after the move, and its old index prior to the move.
34294
34633
  */
34295
34634
  layerMoved: Event;
34296
34635
  /**
34297
34636
  * An event that is raised when a layer is shown or hidden by setting the
34298
- {@link ImageryLayer#show} property. Event handlers are passed a reference to this layer,
34299
- the index of the layer in the collection, and a flag that is true if the layer is now
34300
- shown or false if it is now hidden.
34637
+ * {@link ImageryLayer#show} property. Event handlers are passed a reference to this layer,
34638
+ * the index of the layer in the collection, and a flag that is true if the layer is now
34639
+ * shown or false if it is now hidden.
34301
34640
  */
34302
34641
  layerShownOrHidden: Event;
34303
34642
  /**
@@ -34308,27 +34647,27 @@ export class ImageryLayerCollection {
34308
34647
  * Adds a layer to the collection.
34309
34648
  * @example
34310
34649
  * const imageryLayer = Cesium.ImageryLayer.fromWorldImagery();
34311
- scene.imageryLayers.add(imageryLayer);
34650
+ * scene.imageryLayers.add(imageryLayer);
34312
34651
  * @example
34313
34652
  * const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
34314
- scene.imageryLayers.add(imageryLayer);
34653
+ * scene.imageryLayers.add(imageryLayer);
34315
34654
  * @param layer - the layer to add.
34316
34655
  * @param [index] - the index to add the layer at. If omitted, the layer will
34317
- be added on top of all existing layers.
34656
+ * be added on top of all existing layers.
34318
34657
  */
34319
34658
  add(layer: ImageryLayer, index?: number): void;
34320
34659
  /**
34321
34660
  * Creates a new layer using the given ImageryProvider and adds it to the collection.
34322
34661
  * @example
34323
34662
  * try {
34324
- const provider = await Cesium.IonImageryProvider.fromAssetId(3812);
34325
- scene.imageryLayers.addImageryProvider(provider);
34326
- } catch (error) {
34327
- console.log(`There was an error creating the imagery layer. ${error}`)
34328
- }
34663
+ * const provider = await Cesium.IonImageryProvider.fromAssetId(3812);
34664
+ * scene.imageryLayers.addImageryProvider(provider);
34665
+ * } catch (error) {
34666
+ * console.log(`There was an error creating the imagery layer. ${error}`)
34667
+ * }
34329
34668
  * @param imageryProvider - the imagery provider to create a new layer for.
34330
34669
  * @param [index] - the index to add the layer at. If omitted, the layer will
34331
- added on top of all existing layers.
34670
+ * added on top of all existing layers.
34332
34671
  * @returns The newly created layer.
34333
34672
  */
34334
34673
  addImageryProvider(imageryProvider: ImageryProvider, index?: number): ImageryLayer;
@@ -34337,7 +34676,7 @@ export class ImageryLayerCollection {
34337
34676
  * @param layer - The layer to remove.
34338
34677
  * @param [destroy = true] - whether to destroy the layers in addition to removing them.
34339
34678
  * @returns true if the layer was in the collection and was removed,
34340
- false if the layer was not in the collection.
34679
+ * false if the layer was not in the collection.
34341
34680
  */
34342
34681
  remove(layer: ImageryLayer, destroy?: boolean): boolean;
34343
34682
  /**
@@ -34385,57 +34724,57 @@ export class ImageryLayerCollection {
34385
34724
  lowerToBottom(layer: ImageryLayer): void;
34386
34725
  /**
34387
34726
  * Determines the imagery layers that are intersected by a pick ray. To compute a pick ray from a
34388
- location on the screen, use {@link Camera.getPickRay}.
34727
+ * location on the screen, use {@link Camera.getPickRay}.
34389
34728
  * @param ray - The ray to test for intersection.
34390
34729
  * @param scene - The scene.
34391
34730
  * @returns An array that includes all of
34392
- the layers that are intersected by a given pick ray. Undefined if
34393
- no layers are selected.
34731
+ * the layers that are intersected by a given pick ray. Undefined if
34732
+ * no layers are selected.
34394
34733
  */
34395
34734
  pickImageryLayers(ray: Ray, scene: Scene): ImageryLayer[] | undefined;
34396
34735
  /**
34397
34736
  * Asynchronously determines the imagery layer features that are intersected by a pick ray. The intersected imagery
34398
- layer features are found by invoking {@link ImageryProvider#pickFeatures} for each imagery layer tile intersected
34399
- by the pick ray. To compute a pick ray from a location on the screen, use {@link Camera.getPickRay}.
34737
+ * layer features are found by invoking {@link ImageryProvider#pickFeatures} for each imagery layer tile intersected
34738
+ * by the pick ray. To compute a pick ray from a location on the screen, use {@link Camera.getPickRay}.
34400
34739
  * @example
34401
34740
  * const pickRay = viewer.camera.getPickRay(windowPosition);
34402
- const featuresPromise = viewer.imageryLayers.pickImageryLayerFeatures(pickRay, viewer.scene);
34403
- if (!Cesium.defined(featuresPromise)) {
34404
- console.log('No features picked.');
34405
- } else {
34406
- Promise.resolve(featuresPromise).then(function(features) {
34407
- // This function is called asynchronously when the list if picked features is available.
34408
- console.log(`Number of features: ${features.length}`);
34409
- if (features.length > 0) {
34410
- console.log(`First feature name: ${features[0].name}`);
34411
- }
34412
- });
34413
- }
34741
+ * const featuresPromise = viewer.imageryLayers.pickImageryLayerFeatures(pickRay, viewer.scene);
34742
+ * if (!Cesium.defined(featuresPromise)) {
34743
+ * console.log('No features picked.');
34744
+ * } else {
34745
+ * Promise.resolve(featuresPromise).then(function(features) {
34746
+ * // This function is called asynchronously when the list if picked features is available.
34747
+ * console.log(`Number of features: ${features.length}`);
34748
+ * if (features.length > 0) {
34749
+ * console.log(`First feature name: ${features[0].name}`);
34750
+ * }
34751
+ * });
34752
+ * }
34414
34753
  * @param ray - The ray to test for intersection.
34415
34754
  * @param scene - The scene.
34416
34755
  * @returns A promise that resolves to an array of features intersected by the pick ray.
34417
- If it can be quickly determined that no features are intersected (for example,
34418
- because no active imagery providers support {@link ImageryProvider#pickFeatures}
34419
- or because the pick ray does not intersect the surface), this function will
34420
- return undefined.
34756
+ * If it can be quickly determined that no features are intersected (for example,
34757
+ * because no active imagery providers support {@link ImageryProvider#pickFeatures}
34758
+ * or because the pick ray does not intersect the surface), this function will
34759
+ * return undefined.
34421
34760
  */
34422
34761
  pickImageryLayerFeatures(ray: Ray, scene: Scene): Promise<ImageryLayerFeatureInfo[]> | undefined;
34423
34762
  /**
34424
34763
  * Returns true if this object was destroyed; otherwise, false.
34425
- <br /><br />
34426
- If this object was destroyed, it should not be used; calling any function other than
34427
- <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
34764
+ * <br /><br />
34765
+ * If this object was destroyed, it should not be used; calling any function other than
34766
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
34428
34767
  * @returns true if this object was destroyed; otherwise, false.
34429
34768
  */
34430
34769
  isDestroyed(): boolean;
34431
34770
  /**
34432
34771
  * Destroys the WebGL resources held by all layers in this collection. Explicitly destroying this
34433
- object allows for deterministic release of WebGL resources, instead of relying on the garbage
34434
- collector.
34435
- <br /><br />
34436
- Once this object is destroyed, it should not be used; calling any function other than
34437
- <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
34438
- assign the return value (<code>undefined</code>) to the object as done in the example.
34772
+ * object allows for deterministic release of WebGL resources, instead of relying on the garbage
34773
+ * collector.
34774
+ * <br /><br />
34775
+ * Once this object is destroyed, it should not be used; calling any function other than
34776
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
34777
+ * assign the return value (<code>undefined</code>) to the object as done in the example.
34439
34778
  * @example
34440
34779
  * layerCollection = layerCollection && layerCollection.destroy();
34441
34780
  */
@@ -34746,6 +35085,40 @@ export enum IonWorldImageryStyle {
34746
35085
  ROAD = 4
34747
35086
  }
34748
35087
 
35088
+ /**
35089
+ * Methods for loading iTwin platform data into CesiumJS
35090
+ */
35091
+ export namespace ITwinData {
35092
+ /**
35093
+ * Create a {@link Cesium3DTileset} for the given iModel id using iTwin's Mesh Export API.
35094
+
35095
+ If there is not a completed export available for the given iModel id, the returned promise will resolve to <code>undefined</code>.
35096
+ We recommend waiting 10-20 seconds and trying to load the tileset again.
35097
+ If all exports are Invalid this will throw an error.
35098
+ * @example
35099
+ * const tileset = await Cesium.ITwinData.createTilesetFromIModelId(iModelId);
35100
+ if (Cesium.defined(tileset)) {
35101
+ viewer.scene.primitives.add(tileset);
35102
+ }
35103
+ * @param iModelId - The id of the iModel to load
35104
+ * @param [options] - Object containing options to pass to the internally created {@link Cesium3DTileset}.
35105
+ * @returns A promise that will resolve to the created 3D tileset or <code>undefined</code> if there is no completed export for the given iModel id
35106
+ */
35107
+ function createTilesetFromIModelId(iModelId: string, options?: Cesium3DTileset.ConstructorOptions): Promise<Cesium3DTileset | undefined>;
35108
+ /**
35109
+ * Create a tileset for the specified reality data id. This function only works
35110
+ with 3D Tiles meshes and point clouds.
35111
+
35112
+ If the <code>type</code> or <code>rootDocument</code> are not provided this function
35113
+ will first request the full metadata for the specified reality data to fill these values.
35114
+ * @param iTwinId - The id of the iTwin to load data from
35115
+ * @param realityDataId - The id of the reality data to load
35116
+ * @param [type] - The type of this reality data
35117
+ * @param [rootDocument] - The path of the root document for this reality data
35118
+ */
35119
+ function createTilesetForRealityDataId(iTwinId: string, realityDataId: string, type?: ITwinPlatform.RealityDataType, rootDocument?: string): Promise<Cesium3DTileset>;
35120
+ }
35121
+
34749
35122
  export namespace Label {
34750
35123
  /**
34751
35124
  * Initialization options for the Label constructor
@@ -35578,216 +35951,216 @@ export enum MapMode2D {
35578
35951
 
35579
35952
  /**
35580
35953
  * A Material defines surface appearance through a combination of diffuse, specular,
35581
- normal, emission, and alpha components. These values are specified using a
35582
- JSON schema called Fabric which gets parsed and assembled into glsl shader code
35583
- behind-the-scenes. Check out the {@link https://github.com/CesiumGS/cesium/wiki/Fabric|wiki page}
35584
- for more details on Fabric.
35585
- <br /><br />
35586
- <style type="text/css">
35587
- #materialDescriptions code {
35588
- font-weight: normal;
35589
- font-family: Consolas, 'Lucida Console', Monaco, monospace;
35590
- color: #A35A00;
35591
- }
35592
- #materialDescriptions ul, #materialDescriptions ul ul {
35593
- list-style-type: none;
35594
- }
35595
- #materialDescriptions ul ul {
35596
- margin-bottom: 10px;
35597
- }
35598
- #materialDescriptions ul ul li {
35599
- font-weight: normal;
35600
- color: #000000;
35601
- text-indent: -2em;
35602
- margin-left: 2em;
35603
- }
35604
- #materialDescriptions ul li {
35605
- font-weight: bold;
35606
- color: #0053CF;
35607
- }
35608
- </style>
35609
-
35610
- Base material types and their uniforms:
35611
- <div id='materialDescriptions'>
35612
- <ul>
35613
- <li>Color</li>
35614
- <ul>
35615
- <li><code>color</code>: rgba color object.</li>
35616
- </ul>
35617
- <li>Image</li>
35618
- <ul>
35619
- <li><code>image</code>: path to image.</li>
35620
- <li><code>repeat</code>: Object with x and y values specifying the number of times to repeat the image.</li>
35621
- </ul>
35622
- <li>DiffuseMap</li>
35623
- <ul>
35624
- <li><code>image</code>: path to image.</li>
35625
- <li><code>channels</code>: Three character string containing any combination of r, g, b, and a for selecting the desired image channels.</li>
35626
- <li><code>repeat</code>: Object with x and y values specifying the number of times to repeat the image.</li>
35627
- </ul>
35628
- <li>AlphaMap</li>
35629
- <ul>
35630
- <li><code>image</code>: path to image.</li>
35631
- <li><code>channel</code>: One character string containing r, g, b, or a for selecting the desired image channel. </li>
35632
- <li><code>repeat</code>: Object with x and y values specifying the number of times to repeat the image.</li>
35633
- </ul>
35634
- <li>SpecularMap</li>
35635
- <ul>
35636
- <li><code>image</code>: path to image.</li>
35637
- <li><code>channel</code>: One character string containing r, g, b, or a for selecting the desired image channel. </li>
35638
- <li><code>repeat</code>: Object with x and y values specifying the number of times to repeat the image.</li>
35639
- </ul>
35640
- <li>EmissionMap</li>
35641
- <ul>
35642
- <li><code>image</code>: path to image.</li>
35643
- <li><code>channels</code>: Three character string containing any combination of r, g, b, and a for selecting the desired image channels. </li>
35644
- <li><code>repeat</code>: Object with x and y values specifying the number of times to repeat the image.</li>
35645
- </ul>
35646
- <li>BumpMap</li>
35647
- <ul>
35648
- <li><code>image</code>: path to image.</li>
35649
- <li><code>channel</code>: One character string containing r, g, b, or a for selecting the desired image channel. </li>
35650
- <li><code>repeat</code>: Object with x and y values specifying the number of times to repeat the image.</li>
35651
- <li><code>strength</code>: Bump strength value between 0.0 and 1.0 where 0.0 is small bumps and 1.0 is large bumps.</li>
35652
- </ul>
35653
- <li>NormalMap</li>
35654
- <ul>
35655
- <li><code>image</code>: path to image.</li>
35656
- <li><code>channels</code>: Three character string containing any combination of r, g, b, and a for selecting the desired image channels. </li>
35657
- <li><code>repeat</code>: Object with x and y values specifying the number of times to repeat the image.</li>
35658
- <li><code>strength</code>: Bump strength value between 0.0 and 1.0 where 0.0 is small bumps and 1.0 is large bumps.</li>
35659
- </ul>
35660
- <li>Grid</li>
35661
- <ul>
35662
- <li><code>color</code>: rgba color object for the whole material.</li>
35663
- <li><code>cellAlpha</code>: Alpha value for the cells between grid lines. This will be combined with color.alpha.</li>
35664
- <li><code>lineCount</code>: Object with x and y values specifying the number of columns and rows respectively.</li>
35665
- <li><code>lineThickness</code>: Object with x and y values specifying the thickness of grid lines (in pixels where available).</li>
35666
- <li><code>lineOffset</code>: Object with x and y values specifying the offset of grid lines (range is 0 to 1).</li>
35667
- </ul>
35668
- <li>Stripe</li>
35669
- <ul>
35670
- <li><code>horizontal</code>: Boolean that determines if the stripes are horizontal or vertical.</li>
35671
- <li><code>evenColor</code>: rgba color object for the stripe's first color.</li>
35672
- <li><code>oddColor</code>: rgba color object for the stripe's second color.</li>
35673
- <li><code>offset</code>: Number that controls at which point into the pattern to begin drawing; with 0.0 being the beginning of the even color, 1.0 the beginning of the odd color, 2.0 being the even color again, and any multiple or fractional values being in between.</li>
35674
- <li><code>repeat</code>: Number that controls the total number of stripes, half light and half dark.</li>
35675
- </ul>
35676
- <li>Checkerboard</li>
35677
- <ul>
35678
- <li><code>lightColor</code>: rgba color object for the checkerboard's light alternating color.</li>
35679
- <li><code>darkColor</code>: rgba color object for the checkerboard's dark alternating color.</li>
35680
- <li><code>repeat</code>: Object with x and y values specifying the number of columns and rows respectively.</li>
35681
- </ul>
35682
- <li>Dot</li>
35683
- <ul>
35684
- <li><code>lightColor</code>: rgba color object for the dot color.</li>
35685
- <li><code>darkColor</code>: rgba color object for the background color.</li>
35686
- <li><code>repeat</code>: Object with x and y values specifying the number of columns and rows of dots respectively.</li>
35687
- </ul>
35688
- <li>Water</li>
35689
- <ul>
35690
- <li><code>baseWaterColor</code>: rgba color object base color of the water.</li>
35691
- <li><code>blendColor</code>: rgba color object used when blending from water to non-water areas.</li>
35692
- <li><code>specularMap</code>: Single channel texture used to indicate areas of water.</li>
35693
- <li><code>normalMap</code>: Normal map for water normal perturbation.</li>
35694
- <li><code>frequency</code>: Number that controls the number of waves.</li>
35695
- <li><code>animationSpeed</code>: Number that controls the animations speed of the water.</li>
35696
- <li><code>amplitude</code>: Number that controls the amplitude of water waves.</li>
35697
- <li><code>specularIntensity</code>: Number that controls the intensity of specular reflections.</li>
35698
- </ul>
35699
- <li>RimLighting</li>
35700
- <ul>
35701
- <li><code>color</code>: diffuse color and alpha.</li>
35702
- <li><code>rimColor</code>: diffuse color and alpha of the rim.</li>
35703
- <li><code>width</code>: Number that determines the rim's width.</li>
35704
- </ul>
35705
- <li>Fade</li>
35706
- <ul>
35707
- <li><code>fadeInColor</code>: diffuse color and alpha at <code>time</code></li>
35708
- <li><code>fadeOutColor</code>: diffuse color and alpha at <code>maximumDistance</code> from <code>time</code></li>
35709
- <li><code>maximumDistance</code>: Number between 0.0 and 1.0 where the <code>fadeInColor</code> becomes the <code>fadeOutColor</code>. A value of 0.0 gives the entire material a color of <code>fadeOutColor</code> and a value of 1.0 gives the the entire material a color of <code>fadeInColor</code></li>
35710
- <li><code>repeat</code>: true if the fade should wrap around the texture coodinates.</li>
35711
- <li><code>fadeDirection</code>: Object with x and y values specifying if the fade should be in the x and y directions.</li>
35712
- <li><code>time</code>: Object with x and y values between 0.0 and 1.0 of the <code>fadeInColor</code> position</li>
35713
- </ul>
35714
- <li>PolylineArrow</li>
35715
- <ul>
35716
- <li><code>color</code>: diffuse color and alpha.</li>
35717
- </ul>
35718
- <li>PolylineDash</li>
35719
- <ul>
35720
- <li><code>color</code>: color for the line.</li>
35721
- <li><code>gapColor</code>: color for the gaps in the line.</li>
35722
- <li><code>dashLength</code>: Dash length in pixels.</li>
35723
- <li><code>dashPattern</code>: The 16 bit stipple pattern for the line..</li>
35724
- </ul>
35725
- <li>PolylineGlow</li>
35726
- <ul>
35727
- <li><code>color</code>: color and maximum alpha for the glow on the line.</li>
35728
- <li><code>glowPower</code>: strength of the glow, as a percentage of the total line width (less than 1.0).</li>
35729
- <li><code>taperPower</code>: strength of the tapering effect, as a percentage of the total line length. If 1.0 or higher, no taper effect is used.</li>
35730
- </ul>
35731
- <li>PolylineOutline</li>
35732
- <ul>
35733
- <li><code>color</code>: diffuse color and alpha for the interior of the line.</li>
35734
- <li><code>outlineColor</code>: diffuse color and alpha for the outline.</li>
35735
- <li><code>outlineWidth</code>: width of the outline in pixels.</li>
35736
- </ul>
35737
- <li>ElevationContour</li>
35738
- <ul>
35739
- <li><code>color</code>: color and alpha for the contour line.</li>
35740
- <li><code>spacing</code>: spacing for contour lines in meters.</li>
35741
- <li><code>width</code>: Number specifying the width of the grid lines in pixels.</li>
35742
- </ul>
35743
- <li>ElevationRamp</li>
35744
- <ul>
35745
- <li><code>image</code>: color ramp image to use for coloring the terrain.</li>
35746
- <li><code>minimumHeight</code>: minimum height for the ramp.</li>
35747
- <li><code>maximumHeight</code>: maximum height for the ramp.</li>
35748
- </ul>
35749
- <li>SlopeRamp</li>
35750
- <ul>
35751
- <li><code>image</code>: color ramp image to use for coloring the terrain by slope.</li>
35752
- </ul>
35753
- <li>AspectRamp</li>
35754
- <ul>
35755
- <li><code>image</code>: color ramp image to use for color the terrain by aspect.</li>
35756
- </ul>
35757
- <li>ElevationBand</li>
35758
- <ul>
35759
- <li><code>heights</code>: image of heights sorted from lowest to highest.</li>
35760
- <li><code>colors</code>: image of colors at the corresponding heights.</li>
35761
- </ul>
35762
- <li>WaterMask</li>
35763
- <ul>
35764
- <li><code>waterColor</code>: diffuse color and alpha for the areas covered by water.</li>
35765
- <li><code>landColor</code>: diffuse color and alpha for the areas covered by land.</li>
35766
- </ul>
35767
- </ul>
35768
- </ul>
35769
- </div>
35954
+ * normal, emission, and alpha components. These values are specified using a
35955
+ * JSON schema called Fabric which gets parsed and assembled into glsl shader code
35956
+ * behind-the-scenes. Check out the {@link https://github.com/CesiumGS/cesium/wiki/Fabric|wiki page}
35957
+ * for more details on Fabric.
35958
+ * <br /><br />
35959
+ * <style type="text/css">
35960
+ * #materialDescriptions code {
35961
+ * font-weight: normal;
35962
+ * font-family: Consolas, 'Lucida Console', Monaco, monospace;
35963
+ * color: #A35A00;
35964
+ * }
35965
+ * #materialDescriptions ul, #materialDescriptions ul ul {
35966
+ * list-style-type: none;
35967
+ * }
35968
+ * #materialDescriptions ul ul {
35969
+ * margin-bottom: 10px;
35970
+ * }
35971
+ * #materialDescriptions ul ul li {
35972
+ * font-weight: normal;
35973
+ * color: #000000;
35974
+ * text-indent: -2em;
35975
+ * margin-left: 2em;
35976
+ * }
35977
+ * #materialDescriptions ul li {
35978
+ * font-weight: bold;
35979
+ * color: #0053CF;
35980
+ * }
35981
+ * </style>
35982
+ *
35983
+ * Base material types and their uniforms:
35984
+ * <div id='materialDescriptions'>
35985
+ * <ul>
35986
+ * <li>Color</li>
35987
+ * <ul>
35988
+ * <li><code>color</code>: rgba color object.</li>
35989
+ * </ul>
35990
+ * <li>Image</li>
35991
+ * <ul>
35992
+ * <li><code>image</code>: path to image.</li>
35993
+ * <li><code>repeat</code>: Object with x and y values specifying the number of times to repeat the image.</li>
35994
+ * </ul>
35995
+ * <li>DiffuseMap</li>
35996
+ * <ul>
35997
+ * <li><code>image</code>: path to image.</li>
35998
+ * <li><code>channels</code>: Three character string containing any combination of r, g, b, and a for selecting the desired image channels.</li>
35999
+ * <li><code>repeat</code>: Object with x and y values specifying the number of times to repeat the image.</li>
36000
+ * </ul>
36001
+ * <li>AlphaMap</li>
36002
+ * <ul>
36003
+ * <li><code>image</code>: path to image.</li>
36004
+ * <li><code>channel</code>: One character string containing r, g, b, or a for selecting the desired image channel. </li>
36005
+ * <li><code>repeat</code>: Object with x and y values specifying the number of times to repeat the image.</li>
36006
+ * </ul>
36007
+ * <li>SpecularMap</li>
36008
+ * <ul>
36009
+ * <li><code>image</code>: path to image.</li>
36010
+ * <li><code>channel</code>: One character string containing r, g, b, or a for selecting the desired image channel. </li>
36011
+ * <li><code>repeat</code>: Object with x and y values specifying the number of times to repeat the image.</li>
36012
+ * </ul>
36013
+ * <li>EmissionMap</li>
36014
+ * <ul>
36015
+ * <li><code>image</code>: path to image.</li>
36016
+ * <li><code>channels</code>: Three character string containing any combination of r, g, b, and a for selecting the desired image channels. </li>
36017
+ * <li><code>repeat</code>: Object with x and y values specifying the number of times to repeat the image.</li>
36018
+ * </ul>
36019
+ * <li>BumpMap</li>
36020
+ * <ul>
36021
+ * <li><code>image</code>: path to image.</li>
36022
+ * <li><code>channel</code>: One character string containing r, g, b, or a for selecting the desired image channel. </li>
36023
+ * <li><code>repeat</code>: Object with x and y values specifying the number of times to repeat the image.</li>
36024
+ * <li><code>strength</code>: Bump strength value between 0.0 and 1.0 where 0.0 is small bumps and 1.0 is large bumps.</li>
36025
+ * </ul>
36026
+ * <li>NormalMap</li>
36027
+ * <ul>
36028
+ * <li><code>image</code>: path to image.</li>
36029
+ * <li><code>channels</code>: Three character string containing any combination of r, g, b, and a for selecting the desired image channels. </li>
36030
+ * <li><code>repeat</code>: Object with x and y values specifying the number of times to repeat the image.</li>
36031
+ * <li><code>strength</code>: Bump strength value between 0.0 and 1.0 where 0.0 is small bumps and 1.0 is large bumps.</li>
36032
+ * </ul>
36033
+ * <li>Grid</li>
36034
+ * <ul>
36035
+ * <li><code>color</code>: rgba color object for the whole material.</li>
36036
+ * <li><code>cellAlpha</code>: Alpha value for the cells between grid lines. This will be combined with color.alpha.</li>
36037
+ * <li><code>lineCount</code>: Object with x and y values specifying the number of columns and rows respectively.</li>
36038
+ * <li><code>lineThickness</code>: Object with x and y values specifying the thickness of grid lines (in pixels where available).</li>
36039
+ * <li><code>lineOffset</code>: Object with x and y values specifying the offset of grid lines (range is 0 to 1).</li>
36040
+ * </ul>
36041
+ * <li>Stripe</li>
36042
+ * <ul>
36043
+ * <li><code>horizontal</code>: Boolean that determines if the stripes are horizontal or vertical.</li>
36044
+ * <li><code>evenColor</code>: rgba color object for the stripe's first color.</li>
36045
+ * <li><code>oddColor</code>: rgba color object for the stripe's second color.</li>
36046
+ * <li><code>offset</code>: Number that controls at which point into the pattern to begin drawing; with 0.0 being the beginning of the even color, 1.0 the beginning of the odd color, 2.0 being the even color again, and any multiple or fractional values being in between.</li>
36047
+ * <li><code>repeat</code>: Number that controls the total number of stripes, half light and half dark.</li>
36048
+ * </ul>
36049
+ * <li>Checkerboard</li>
36050
+ * <ul>
36051
+ * <li><code>lightColor</code>: rgba color object for the checkerboard's light alternating color.</li>
36052
+ * <li><code>darkColor</code>: rgba color object for the checkerboard's dark alternating color.</li>
36053
+ * <li><code>repeat</code>: Object with x and y values specifying the number of columns and rows respectively.</li>
36054
+ * </ul>
36055
+ * <li>Dot</li>
36056
+ * <ul>
36057
+ * <li><code>lightColor</code>: rgba color object for the dot color.</li>
36058
+ * <li><code>darkColor</code>: rgba color object for the background color.</li>
36059
+ * <li><code>repeat</code>: Object with x and y values specifying the number of columns and rows of dots respectively.</li>
36060
+ * </ul>
36061
+ * <li>Water</li>
36062
+ * <ul>
36063
+ * <li><code>baseWaterColor</code>: rgba color object base color of the water.</li>
36064
+ * <li><code>blendColor</code>: rgba color object used when blending from water to non-water areas.</li>
36065
+ * <li><code>specularMap</code>: Single channel texture used to indicate areas of water.</li>
36066
+ * <li><code>normalMap</code>: Normal map for water normal perturbation.</li>
36067
+ * <li><code>frequency</code>: Number that controls the number of waves.</li>
36068
+ * <li><code>animationSpeed</code>: Number that controls the animations speed of the water.</li>
36069
+ * <li><code>amplitude</code>: Number that controls the amplitude of water waves.</li>
36070
+ * <li><code>specularIntensity</code>: Number that controls the intensity of specular reflections.</li>
36071
+ * </ul>
36072
+ * <li>RimLighting</li>
36073
+ * <ul>
36074
+ * <li><code>color</code>: diffuse color and alpha.</li>
36075
+ * <li><code>rimColor</code>: diffuse color and alpha of the rim.</li>
36076
+ * <li><code>width</code>: Number that determines the rim's width.</li>
36077
+ * </ul>
36078
+ * <li>Fade</li>
36079
+ * <ul>
36080
+ * <li><code>fadeInColor</code>: diffuse color and alpha at <code>time</code></li>
36081
+ * <li><code>fadeOutColor</code>: diffuse color and alpha at <code>maximumDistance</code> from <code>time</code></li>
36082
+ * <li><code>maximumDistance</code>: Number between 0.0 and 1.0 where the <code>fadeInColor</code> becomes the <code>fadeOutColor</code>. A value of 0.0 gives the entire material a color of <code>fadeOutColor</code> and a value of 1.0 gives the the entire material a color of <code>fadeInColor</code></li>
36083
+ * <li><code>repeat</code>: true if the fade should wrap around the texture coodinates.</li>
36084
+ * <li><code>fadeDirection</code>: Object with x and y values specifying if the fade should be in the x and y directions.</li>
36085
+ * <li><code>time</code>: Object with x and y values between 0.0 and 1.0 of the <code>fadeInColor</code> position</li>
36086
+ * </ul>
36087
+ * <li>PolylineArrow</li>
36088
+ * <ul>
36089
+ * <li><code>color</code>: diffuse color and alpha.</li>
36090
+ * </ul>
36091
+ * <li>PolylineDash</li>
36092
+ * <ul>
36093
+ * <li><code>color</code>: color for the line.</li>
36094
+ * <li><code>gapColor</code>: color for the gaps in the line.</li>
36095
+ * <li><code>dashLength</code>: Dash length in pixels.</li>
36096
+ * <li><code>dashPattern</code>: The 16 bit stipple pattern for the line..</li>
36097
+ * </ul>
36098
+ * <li>PolylineGlow</li>
36099
+ * <ul>
36100
+ * <li><code>color</code>: color and maximum alpha for the glow on the line.</li>
36101
+ * <li><code>glowPower</code>: strength of the glow, as a percentage of the total line width (less than 1.0).</li>
36102
+ * <li><code>taperPower</code>: strength of the tapering effect, as a percentage of the total line length. If 1.0 or higher, no taper effect is used.</li>
36103
+ * </ul>
36104
+ * <li>PolylineOutline</li>
36105
+ * <ul>
36106
+ * <li><code>color</code>: diffuse color and alpha for the interior of the line.</li>
36107
+ * <li><code>outlineColor</code>: diffuse color and alpha for the outline.</li>
36108
+ * <li><code>outlineWidth</code>: width of the outline in pixels.</li>
36109
+ * </ul>
36110
+ * <li>ElevationContour</li>
36111
+ * <ul>
36112
+ * <li><code>color</code>: color and alpha for the contour line.</li>
36113
+ * <li><code>spacing</code>: spacing for contour lines in meters.</li>
36114
+ * <li><code>width</code>: Number specifying the width of the grid lines in pixels.</li>
36115
+ * </ul>
36116
+ * <li>ElevationRamp</li>
36117
+ * <ul>
36118
+ * <li><code>image</code>: color ramp image to use for coloring the terrain.</li>
36119
+ * <li><code>minimumHeight</code>: minimum height for the ramp.</li>
36120
+ * <li><code>maximumHeight</code>: maximum height for the ramp.</li>
36121
+ * </ul>
36122
+ * <li>SlopeRamp</li>
36123
+ * <ul>
36124
+ * <li><code>image</code>: color ramp image to use for coloring the terrain by slope.</li>
36125
+ * </ul>
36126
+ * <li>AspectRamp</li>
36127
+ * <ul>
36128
+ * <li><code>image</code>: color ramp image to use for color the terrain by aspect.</li>
36129
+ * </ul>
36130
+ * <li>ElevationBand</li>
36131
+ * <ul>
36132
+ * <li><code>heights</code>: image of heights sorted from lowest to highest.</li>
36133
+ * <li><code>colors</code>: image of colors at the corresponding heights.</li>
36134
+ * </ul>
36135
+ * <li>WaterMask</li>
36136
+ * <ul>
36137
+ * <li><code>waterColor</code>: diffuse color and alpha for the areas covered by water.</li>
36138
+ * <li><code>landColor</code>: diffuse color and alpha for the areas covered by land.</li>
36139
+ * </ul>
36140
+ * </ul>
36141
+ * </ul>
36142
+ * </div>
35770
36143
  * @example
35771
36144
  * // Create a color material with fromType:
35772
- polygon.material = Cesium.Material.fromType('Color');
35773
- polygon.material.uniforms.color = new Cesium.Color(1.0, 1.0, 0.0, 1.0);
35774
-
35775
- // Create the default material:
35776
- polygon.material = new Cesium.Material();
35777
-
35778
- // Create a color material with full Fabric notation:
35779
- polygon.material = new Cesium.Material({
35780
- fabric: {
35781
- type: 'Color',
35782
- uniforms: {
35783
- color: new Cesium.Color(1.0, 1.0, 0.0, 1.0)
35784
- }
35785
- }
35786
- });
36145
+ * polygon.material = Cesium.Material.fromType('Color');
36146
+ * polygon.material.uniforms.color = new Cesium.Color(1.0, 1.0, 0.0, 1.0);
36147
+ *
36148
+ * // Create the default material:
36149
+ * polygon.material = new Cesium.Material();
36150
+ *
36151
+ * // Create a color material with full Fabric notation:
36152
+ * polygon.material = new Cesium.Material({
36153
+ * fabric: {
36154
+ * type: 'Color',
36155
+ * uniforms: {
36156
+ * color: new Cesium.Color(1.0, 1.0, 0.0, 1.0)
36157
+ * }
36158
+ * }
36159
+ * });
35787
36160
  * @param [options] - Object with the following properties:
35788
36161
  * @param [options.strict = false] - Throws errors for issues that would normally be ignored, including unused uniforms or materials.
35789
36162
  * @param [options.translucent = true] - When <code>true</code> or a function that returns <code>true</code>, the geometry
35790
- with this material is expected to appear translucent.
36163
+ * with this material is expected to appear translucent.
35791
36164
  * @param [options.minificationFilter = TextureMinificationFilter.LINEAR] - The {@link TextureMinificationFilter} to apply to this material's textures.
35792
36165
  * @param [options.magnificationFilter = TextureMagnificationFilter.LINEAR] - The {@link TextureMagnificationFilter} to apply to this material's textures.
35793
36166
  * @param options.fabric - The fabric JSON used to generate the material.
@@ -35818,17 +36191,17 @@ export class Material {
35818
36191
  uniforms: any;
35819
36192
  /**
35820
36193
  * When <code>true</code> or a function that returns <code>true</code>,
35821
- the geometry is expected to appear translucent.
36194
+ * the geometry is expected to appear translucent.
35822
36195
  */
35823
36196
  translucent: boolean | ((...params: any[]) => any);
35824
36197
  /**
35825
36198
  * Creates a new material using an existing material type.
35826
- <br /><br />
35827
- Shorthand for: new Material({fabric : {type : type}});
36199
+ * <br /><br />
36200
+ * Shorthand for: new Material({fabric : {type : type}});
35828
36201
  * @example
35829
36202
  * const material = Cesium.Material.fromType('Color', {
35830
- color: new Cesium.Color(1.0, 0.0, 0.0, 1.0)
35831
- });
36203
+ * color: new Cesium.Color(1.0, 0.0, 0.0, 1.0)
36204
+ * });
35832
36205
  * @param type - The base material type.
35833
36206
  * @param [uniforms] - Overrides for the default uniforms.
35834
36207
  * @returns New material object.
@@ -35841,19 +36214,19 @@ export class Material {
35841
36214
  isTranslucent(): boolean;
35842
36215
  /**
35843
36216
  * Returns true if this object was destroyed; otherwise, false.
35844
- <br /><br />
35845
- If this object was destroyed, it should not be used; calling any function other than
35846
- <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
36217
+ * <br /><br />
36218
+ * If this object was destroyed, it should not be used; calling any function other than
36219
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
35847
36220
  * @returns True if this object was destroyed; otherwise, false.
35848
36221
  */
35849
36222
  isDestroyed(): boolean;
35850
36223
  /**
35851
36224
  * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
35852
- release of WebGL resources, instead of relying on the garbage collector to destroy this object.
35853
- <br /><br />
35854
- Once an object is destroyed, it should not be used; calling any function other than
35855
- <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
35856
- assign the return value (<code>undefined</code>) to the object as done in the example.
36225
+ * release of WebGL resources, instead of relying on the garbage collector to destroy this object.
36226
+ * <br /><br />
36227
+ * Once an object is destroyed, it should not be used; calling any function other than
36228
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
36229
+ * assign the return value (<code>undefined</code>) to the object as done in the example.
35857
36230
  * @example
35858
36231
  * material = material && material.destroy();
35859
36232
  */
@@ -36292,10 +36665,18 @@ export class MetadataClassProperty {
36292
36665
  readonly semantic: string;
36293
36666
  /**
36294
36667
  * The offset to be added to property values as part of the value transform.
36668
+
36669
+ This is always defined, even when `hasValueTransform` is `false`. If
36670
+ the class property JSON itself did not define it, then it will be
36671
+ initialized to the default value.
36295
36672
  */
36296
36673
  readonly offset: number | number[] | number[][];
36297
36674
  /**
36298
36675
  * The scale to be multiplied to property values as part of the value transform.
36676
+
36677
+ This is always defined, even when `hasValueTransform` is `false`. If
36678
+ the class property JSON itself did not define it, then it will be
36679
+ initialized to the default value.
36299
36680
  */
36300
36681
  readonly scale: number | number[] | number[][];
36301
36682
  /**
@@ -36518,6 +36899,26 @@ export class MetadataSchema {
36518
36899
  readonly extensions: any;
36519
36900
  }
36520
36901
 
36902
+ /**
36903
+ * An instance of a metadata value.<br>
36904
+ <br>
36905
+ This can be one of the following types:
36906
+ <ul>
36907
+ <li><code>number</code> for type <code>SCALAR</code> and numeric component types except for <code>INT64</code> or <code>UINT64</code></li>
36908
+ <li><code>bigint</code> for type <code>SCALAR</code> and component type <code>INT64</code> or <code>UINT64</code></li>
36909
+ <li><code>string</code> for type <code>STRING</code> or <code>ENUM</code></li>
36910
+ <li><code>boolean</code> for type <code>BOOLEAN</code></li>
36911
+ <li><code>Cartesian2</code> for type <code>VEC2</code></li>
36912
+ <li><code>Cartesian3</code> for type <code>VEC3</code></li>
36913
+ <li><code>Cartesian4</code> for type <code>VEC4</code></li>
36914
+ <li><code>Matrix2</code> for type <code>MAT2</code></li>
36915
+ <li><code>Matrix3</code> for type <code>MAT3</code></li>
36916
+ <li><code>Matrix4</code> for type <code>MAT4</code></li>
36917
+ <li>Arrays of these types when the metadata value is an array</li>
36918
+ </ul>
36919
+ */
36920
+ export type MetadataValue = number | bigint | string | boolean | Cartesian2 | Cartesian3 | Cartesian4 | Matrix2 | Matrix3 | Matrix4 | number[] | bigint[] | string[] | boolean[] | Cartesian2[] | Cartesian3[] | Cartesian4[] | Matrix2[] | Matrix3[] | Matrix4[];
36921
+
36521
36922
  /**
36522
36923
  * An enum of metadata types. These metadata types are containers containing
36523
36924
  one or more components of type {@link MetadataComponentType}
@@ -37285,7 +37686,7 @@ export class Model {
37285
37686
  */
37286
37687
  enableVerticalExaggeration: boolean;
37287
37688
  /**
37288
- * The light color when shading the model. When <code>undefined</code> the scene's light color is used instead.
37689
+ * The directional light color when shading the model. When <code>undefined</code> the scene's light color is used instead.
37289
37690
  <p>
37290
37691
  Disabling additional light sources by setting
37291
37692
  <code>model.imageBasedLighting.imageBasedLightingFactor = new Cartesian2(0.0, 0.0)</code>
@@ -37297,6 +37698,14 @@ export class Model {
37297
37698
  * The properties for managing image-based lighting on this model.
37298
37699
  */
37299
37700
  imageBasedLighting: ImageBasedLighting;
37701
+ /**
37702
+ * The properties for managing dynamic environment maps on this model. Affects lighting.
37703
+ * @example
37704
+ * // Change the ground color used for a model's environment map to a forest green
37705
+ const environmentMapManager = model.environmentMapManager;
37706
+ environmentMapManager.groundColor = Cesium.Color.fromCssColorString("#203b34");
37707
+ */
37708
+ readonly environmentMapManager: DynamicEnvironmentMapManager;
37300
37709
  /**
37301
37710
  * Whether to cull back-facing geometry. When true, back face culling is
37302
37711
  determined by the material's doubleSided property; when false, back face
@@ -37536,6 +37945,7 @@ export class Model {
37536
37945
  * @param [options.clippingPolygons] - The {@link ClippingPolygonCollection} used to selectively disable rendering the model.
37537
37946
  * @param [options.lightColor] - The light color when shading the model. When <code>undefined</code> the scene's light color is used instead.
37538
37947
  * @param [options.imageBasedLighting] - The properties for managing image-based lighting on this model.
37948
+ * @param [options.environmentMapOptions] - The properties for managing dynamic environment maps on this model.
37539
37949
  * @param [options.backFaceCulling = true] - Whether to cull back-facing geometry. When true, back face culling is determined by the material's doubleSided property; when false, back face culling is disabled. Back faces are not culled if the model's color is translucent.
37540
37950
  * @param [options.credit] - A credit for the data source, which is displayed on the canvas.
37541
37951
  * @param [options.showCreditsOnScreen = false] - Whether to display the credits of this model on screen.
@@ -37589,6 +37999,7 @@ export class Model {
37589
37999
  clippingPolygons?: ClippingPolygonCollection;
37590
38000
  lightColor?: Cartesian3;
37591
38001
  imageBasedLighting?: ImageBasedLighting;
38002
+ environmentMapOptions?: DynamicEnvironmentMapManager.ConstructorOptions;
37592
38003
  backFaceCulling?: boolean;
37593
38004
  credit?: Credit | string;
37594
38005
  showCreditsOnScreen?: boolean;
@@ -38824,10 +39235,19 @@ export var className: string;
38824
39235
  export var propertyName: string;
38825
39236
 
38826
39237
  /**
38827
- * The optional ID of the metadata schema
39238
+ * The the `MetadataClassProperty` that is described by this
39239
+ structure, as obtained from the `MetadataSchema`
38828
39240
  */
38829
39241
  export var classProperty: MetadataClassProperty;
38830
39242
 
39243
+ /**
39244
+ * The `PropertyTextureProperty` or `PropertyAttributeProperty` that
39245
+ is described by this structure, as obtained from the property texture
39246
+ or property attribute of the `StructuralMetadata` that matches the
39247
+ class name and property name.
39248
+ */
39249
+ export var metadataProperty: any;
39250
+
38831
39251
  /**
38832
39252
  * Compute the rectangle that describes the part of the drawing buffer
38833
39253
  that is relevant for picking.
@@ -39821,32 +40241,20 @@ export class PostProcessStageCollection {
39821
40241
  surface receives light and regardless of the light's position.
39822
40242
  </p>
39823
40243
  <p>
39824
- The uniforms have the following properties: <code>intensity</code>, <code>bias</code>, <code>lengthCap</code>,
39825
- <code>stepSize</code>, <code>frustumLength</code>, <code>ambientOcclusionOnly</code>,
39826
- <code>delta</code>, <code>sigma</code>, and <code>blurStepSize</code>.
39827
- </p>
40244
+ The uniforms have the following properties:
39828
40245
  <ul>
39829
40246
  <li><code>intensity</code> is a scalar value used to lighten or darken the shadows exponentially. Higher values make the shadows darker. The default value is <code>3.0</code>.</li>
39830
-
39831
40247
  <li><code>bias</code> is a scalar value representing an angle in radians. If the dot product between the normal of the sample and the vector to the camera is less than this value,
39832
40248
  sampling stops in the current direction. This is used to remove shadows from near planar edges. The default value is <code>0.1</code>.</li>
39833
-
39834
40249
  <li><code>lengthCap</code> is a scalar value representing a length in meters. If the distance from the current sample to first sample is greater than this value,
39835
40250
  sampling stops in the current direction. The default value is <code>0.26</code>.</li>
39836
-
39837
- <li><code>stepSize</code> is a scalar value indicating the distance to the next texel sample in the current direction. The default value is <code>1.95</code>.</li>
39838
-
39839
- <li><code>frustumLength</code> is a scalar value in meters. If the current fragment has a distance from the camera greater than this value, ambient occlusion is not computed for the fragment.
39840
- The default value is <code>1000.0</code>.</li>
39841
-
40251
+ <li><code>directionCount</code> is the number of directions along which the ray marching will search for occluders. The default value is <code>8</code>.</li>
40252
+ <li><code>stepCount</code> is the number of steps the ray marching will take along each direction. The default value is <code>32</code>.</li>
40253
+ <li><code>randomTexture</code> is a texture where the red channel is a random value in [0.0, 1.0]. The default value is <code>undefined</code>. This texture needs to be set.</li>
39842
40254
  <li><code>ambientOcclusionOnly</code> is a boolean value. When <code>true</code>, only the shadows generated are written to the output. When <code>false</code>, the input texture is modulated
39843
40255
  with the ambient occlusion. This is a useful debug option for seeing the effects of changing the uniform values. The default value is <code>false</code>.</li>
39844
40256
  </ul>
39845
40257
  <p>
39846
- <code>delta</code>, <code>sigma</code>, and <code>blurStepSize</code> are the same properties as {@link PostProcessStageLibrary#createBlurStage}.
39847
- The blur is applied to the shadows generated from the image to make them smoother.
39848
- </p>
39849
- <p>
39850
40258
  When enabled, this stage will execute before all others.
39851
40259
  </p>
39852
40260
  */
@@ -40243,88 +40651,88 @@ export enum PostProcessStageSampleMode {
40243
40651
 
40244
40652
  /**
40245
40653
  * A primitive represents geometry in the {@link Scene}. The geometry can be from a single {@link GeometryInstance}
40246
- as shown in example 1 below, or from an array of instances, even if the geometry is from different
40247
- geometry types, e.g., an {@link RectangleGeometry} and an {@link EllipsoidGeometry} as shown in Code Example 2.
40248
- <p>
40249
- A primitive combines geometry instances with an {@link Appearance} that describes the full shading, including
40250
- {@link Material} and {@link RenderState}. Roughly, the geometry instance defines the structure and placement,
40251
- and the appearance defines the visual characteristics. Decoupling geometry and appearance allows us to mix
40252
- and match most of them and add a new geometry or appearance independently of each other.
40253
- </p>
40254
- <p>
40255
- Combining multiple instances into one primitive is called batching, and significantly improves performance for static data.
40256
- Instances can be individually picked; {@link Scene#pick} returns their {@link GeometryInstance#id}. Using
40257
- per-instance appearances like {@link PerInstanceColorAppearance}, each instance can also have a unique color.
40258
- </p>
40259
- <p>
40260
- {@link Geometry} can either be created and batched on a web worker or the main thread. The first two examples
40261
- show geometry that will be created on a web worker by using the descriptions of the geometry. The third example
40262
- shows how to create the geometry on the main thread by explicitly calling the <code>createGeometry</code> method.
40263
- </p>
40654
+ * as shown in example 1 below, or from an array of instances, even if the geometry is from different
40655
+ * geometry types, e.g., an {@link RectangleGeometry} and an {@link EllipsoidGeometry} as shown in Code Example 2.
40656
+ * <p>
40657
+ * A primitive combines geometry instances with an {@link Appearance} that describes the full shading, including
40658
+ * {@link Material} and {@link RenderState}. Roughly, the geometry instance defines the structure and placement,
40659
+ * and the appearance defines the visual characteristics. Decoupling geometry and appearance allows us to mix
40660
+ * and match most of them and add a new geometry or appearance independently of each other.
40661
+ * </p>
40662
+ * <p>
40663
+ * Combining multiple instances into one primitive is called batching, and significantly improves performance for static data.
40664
+ * Instances can be individually picked; {@link Scene#pick} returns their {@link GeometryInstance#id}. Using
40665
+ * per-instance appearances like {@link PerInstanceColorAppearance}, each instance can also have a unique color.
40666
+ * </p>
40667
+ * <p>
40668
+ * {@link Geometry} can either be created and batched on a web worker or the main thread. The first two examples
40669
+ * show geometry that will be created on a web worker by using the descriptions of the geometry. The third example
40670
+ * shows how to create the geometry on the main thread by explicitly calling the <code>createGeometry</code> method.
40671
+ * </p>
40264
40672
  * @example
40265
40673
  * // 1. Draw a translucent ellipse on the surface with a checkerboard pattern
40266
- const instance = new Cesium.GeometryInstance({
40267
- geometry : new Cesium.EllipseGeometry({
40268
- center : Cesium.Cartesian3.fromDegrees(-100.0, 20.0),
40269
- semiMinorAxis : 500000.0,
40270
- semiMajorAxis : 1000000.0,
40271
- rotation : Cesium.Math.PI_OVER_FOUR,
40272
- vertexFormat : Cesium.VertexFormat.POSITION_AND_ST
40273
- }),
40274
- id : 'object returned when this instance is picked and to get/set per-instance attributes'
40275
- });
40276
- scene.primitives.add(new Cesium.Primitive({
40277
- geometryInstances : instance,
40278
- appearance : new Cesium.EllipsoidSurfaceAppearance({
40279
- material : Cesium.Material.fromType('Checkerboard')
40280
- })
40281
- }));
40674
+ * const instance = new Cesium.GeometryInstance({
40675
+ * geometry : new Cesium.EllipseGeometry({
40676
+ * center : Cesium.Cartesian3.fromDegrees(-100.0, 20.0),
40677
+ * semiMinorAxis : 500000.0,
40678
+ * semiMajorAxis : 1000000.0,
40679
+ * rotation : Cesium.Math.PI_OVER_FOUR,
40680
+ * vertexFormat : Cesium.VertexFormat.POSITION_AND_ST
40681
+ * }),
40682
+ * id : 'object returned when this instance is picked and to get/set per-instance attributes'
40683
+ * });
40684
+ * scene.primitives.add(new Cesium.Primitive({
40685
+ * geometryInstances : instance,
40686
+ * appearance : new Cesium.EllipsoidSurfaceAppearance({
40687
+ * material : Cesium.Material.fromType('Checkerboard')
40688
+ * })
40689
+ * }));
40282
40690
  * @example
40283
40691
  * // 2. Draw different instances each with a unique color
40284
- const rectangleInstance = new Cesium.GeometryInstance({
40285
- geometry : new Cesium.RectangleGeometry({
40286
- rectangle : Cesium.Rectangle.fromDegrees(-140.0, 30.0, -100.0, 40.0),
40287
- vertexFormat : Cesium.PerInstanceColorAppearance.VERTEX_FORMAT
40288
- }),
40289
- id : 'rectangle',
40290
- attributes : {
40291
- color : new Cesium.ColorGeometryInstanceAttribute(0.0, 1.0, 1.0, 0.5)
40292
- }
40293
- });
40294
- const ellipsoidInstance = new Cesium.GeometryInstance({
40295
- geometry : new Cesium.EllipsoidGeometry({
40296
- radii : new Cesium.Cartesian3(500000.0, 500000.0, 1000000.0),
40297
- vertexFormat : Cesium.VertexFormat.POSITION_AND_NORMAL
40298
- }),
40299
- modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame(
40300
- Cesium.Cartesian3.fromDegrees(-95.59777, 40.03883)), new Cesium.Cartesian3(0.0, 0.0, 500000.0), new Cesium.Matrix4()),
40301
- id : 'ellipsoid',
40302
- attributes : {
40303
- color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.AQUA)
40304
- }
40305
- });
40306
- scene.primitives.add(new Cesium.Primitive({
40307
- geometryInstances : [rectangleInstance, ellipsoidInstance],
40308
- appearance : new Cesium.PerInstanceColorAppearance()
40309
- }));
40692
+ * const rectangleInstance = new Cesium.GeometryInstance({
40693
+ * geometry : new Cesium.RectangleGeometry({
40694
+ * rectangle : Cesium.Rectangle.fromDegrees(-140.0, 30.0, -100.0, 40.0),
40695
+ * vertexFormat : Cesium.PerInstanceColorAppearance.VERTEX_FORMAT
40696
+ * }),
40697
+ * id : 'rectangle',
40698
+ * attributes : {
40699
+ * color : new Cesium.ColorGeometryInstanceAttribute(0.0, 1.0, 1.0, 0.5)
40700
+ * }
40701
+ * });
40702
+ * const ellipsoidInstance = new Cesium.GeometryInstance({
40703
+ * geometry : new Cesium.EllipsoidGeometry({
40704
+ * radii : new Cesium.Cartesian3(500000.0, 500000.0, 1000000.0),
40705
+ * vertexFormat : Cesium.VertexFormat.POSITION_AND_NORMAL
40706
+ * }),
40707
+ * modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame(
40708
+ * Cesium.Cartesian3.fromDegrees(-95.59777, 40.03883)), new Cesium.Cartesian3(0.0, 0.0, 500000.0), new Cesium.Matrix4()),
40709
+ * id : 'ellipsoid',
40710
+ * attributes : {
40711
+ * color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.AQUA)
40712
+ * }
40713
+ * });
40714
+ * scene.primitives.add(new Cesium.Primitive({
40715
+ * geometryInstances : [rectangleInstance, ellipsoidInstance],
40716
+ * appearance : new Cesium.PerInstanceColorAppearance()
40717
+ * }));
40310
40718
  * @example
40311
40719
  * // 3. Create the geometry on the main thread.
40312
- scene.primitives.add(new Cesium.Primitive({
40313
- geometryInstances : new Cesium.GeometryInstance({
40314
- geometry : Cesium.EllipsoidGeometry.createGeometry(new Cesium.EllipsoidGeometry({
40315
- radii : new Cesium.Cartesian3(500000.0, 500000.0, 1000000.0),
40316
- vertexFormat : Cesium.VertexFormat.POSITION_AND_NORMAL
40317
- })),
40318
- modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame(
40319
- Cesium.Cartesian3.fromDegrees(-95.59777, 40.03883)), new Cesium.Cartesian3(0.0, 0.0, 500000.0), new Cesium.Matrix4()),
40320
- id : 'ellipsoid',
40321
- attributes : {
40322
- color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.AQUA)
40323
- }
40324
- }),
40325
- appearance : new Cesium.PerInstanceColorAppearance(),
40326
- asynchronous : false
40327
- }));
40720
+ * scene.primitives.add(new Cesium.Primitive({
40721
+ * geometryInstances : new Cesium.GeometryInstance({
40722
+ * geometry : Cesium.EllipsoidGeometry.createGeometry(new Cesium.EllipsoidGeometry({
40723
+ * radii : new Cesium.Cartesian3(500000.0, 500000.0, 1000000.0),
40724
+ * vertexFormat : Cesium.VertexFormat.POSITION_AND_NORMAL
40725
+ * })),
40726
+ * modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame(
40727
+ * Cesium.Cartesian3.fromDegrees(-95.59777, 40.03883)), new Cesium.Cartesian3(0.0, 0.0, 500000.0), new Cesium.Matrix4()),
40728
+ * id : 'ellipsoid',
40729
+ * attributes : {
40730
+ * color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.AQUA)
40731
+ * }
40732
+ * }),
40733
+ * appearance : new Cesium.PerInstanceColorAppearance(),
40734
+ * asynchronous : false
40735
+ * }));
40328
40736
  * @param [options] - Object with the following properties:
40329
40737
  * @param [options.geometryInstances] - The geometry instances - or a single geometry instance - to render.
40330
40738
  * @param [options.appearance] - The appearance used to render the primitive.
@@ -40360,67 +40768,67 @@ export class Primitive {
40360
40768
  });
40361
40769
  /**
40362
40770
  * The geometry instances rendered with this primitive. This may
40363
- be <code>undefined</code> if <code>options.releaseGeometryInstances</code>
40364
- is <code>true</code> when the primitive is constructed.
40365
- <p>
40366
- Changing this property after the primitive is rendered has no effect.
40367
- </p>
40771
+ * be <code>undefined</code> if <code>options.releaseGeometryInstances</code>
40772
+ * is <code>true</code> when the primitive is constructed.
40773
+ * <p>
40774
+ * Changing this property after the primitive is rendered has no effect.
40775
+ * </p>
40368
40776
  */
40369
40777
  readonly geometryInstances: GeometryInstance[] | GeometryInstance;
40370
40778
  /**
40371
40779
  * The {@link Appearance} used to shade this primitive. Each geometry
40372
- instance is shaded with the same appearance. Some appearances, like
40373
- {@link PerInstanceColorAppearance} allow giving each instance unique
40374
- properties.
40780
+ * instance is shaded with the same appearance. Some appearances, like
40781
+ * {@link PerInstanceColorAppearance} allow giving each instance unique
40782
+ * properties.
40375
40783
  */
40376
40784
  appearance: Appearance;
40377
40785
  /**
40378
40786
  * The {@link Appearance} used to shade this primitive when it fails the depth test. Each geometry
40379
- instance is shaded with the same appearance. Some appearances, like
40380
- {@link PerInstanceColorAppearance} allow giving each instance unique
40381
- properties.
40382
-
40383
- <p>
40384
- When using an appearance that requires a color attribute, like PerInstanceColorAppearance,
40385
- add a depthFailColor per-instance attribute instead.
40386
- </p>
40387
-
40388
- <p>
40389
- Requires the EXT_frag_depth WebGL extension to render properly. If the extension is not supported,
40390
- there may be artifacts.
40391
- </p>
40787
+ * instance is shaded with the same appearance. Some appearances, like
40788
+ * {@link PerInstanceColorAppearance} allow giving each instance unique
40789
+ * properties.
40790
+ *
40791
+ * <p>
40792
+ * When using an appearance that requires a color attribute, like PerInstanceColorAppearance,
40793
+ * add a depthFailColor per-instance attribute instead.
40794
+ * </p>
40795
+ *
40796
+ * <p>
40797
+ * Requires the EXT_frag_depth WebGL extension to render properly. If the extension is not supported,
40798
+ * there may be artifacts.
40799
+ * </p>
40392
40800
  */
40393
40801
  depthFailAppearance: Appearance;
40394
40802
  /**
40395
40803
  * The 4x4 transformation matrix that transforms the primitive (all geometry instances) from model to world coordinates.
40396
- When this is the identity matrix, the primitive is drawn in world coordinates, i.e., Earth's WGS84 coordinates.
40397
- Local reference frames can be used by providing a different transformation matrix, like that returned
40398
- by {@link Transforms.eastNorthUpToFixedFrame}.
40399
-
40400
- <p>
40401
- This property is only supported in 3D mode.
40402
- </p>
40804
+ * When this is the identity matrix, the primitive is drawn in world coordinates, i.e., Earth's WGS84 coordinates.
40805
+ * Local reference frames can be used by providing a different transformation matrix, like that returned
40806
+ * by {@link Transforms.eastNorthUpToFixedFrame}.
40807
+ *
40808
+ * <p>
40809
+ * This property is only supported in 3D mode.
40810
+ * </p>
40403
40811
  * @example
40404
40812
  * const origin = Cesium.Cartesian3.fromDegrees(-95.0, 40.0, 200000.0);
40405
- p.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(origin);
40813
+ * p.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(origin);
40406
40814
  */
40407
40815
  modelMatrix: Matrix4;
40408
40816
  /**
40409
40817
  * Determines if the primitive will be shown. This affects all geometry
40410
- instances in the primitive.
40818
+ * instances in the primitive.
40411
40819
  */
40412
40820
  show: boolean;
40413
40821
  /**
40414
40822
  * When <code>true</code>, the renderer frustum culls and horizon culls the primitive's commands
40415
- based on their bounding volume. Set this to <code>false</code> for a small performance gain
40416
- if you are manually culling the primitive.
40823
+ * based on their bounding volume. Set this to <code>false</code> for a small performance gain
40824
+ * if you are manually culling the primitive.
40417
40825
  */
40418
40826
  cull: boolean;
40419
40827
  /**
40420
40828
  * This property is for debugging only; it is not for production use nor is it optimized.
40421
- <p>
40422
- Draws the bounding sphere for each draw command in the primitive.
40423
- </p>
40829
+ * <p>
40830
+ * Draws the bounding sphere for each draw command in the primitive.
40831
+ * </p>
40424
40832
  */
40425
40833
  debugShowBoundingVolume: boolean;
40426
40834
  /**
@@ -40453,60 +40861,60 @@ export class Primitive {
40453
40861
  readonly compressVertices: boolean;
40454
40862
  /**
40455
40863
  * Determines if the primitive is complete and ready to render. If this property is
40456
- true, the primitive will be rendered the next time that {@link Primitive#update}
40457
- is called.
40864
+ * true, the primitive will be rendered the next time that {@link Primitive#update}
40865
+ * is called.
40458
40866
  * @example
40459
40867
  * // Wait for a primitive to become ready before accessing attributes
40460
- const removeListener = scene.postRender.addEventListener(() => {
40461
- if (!frustumPrimitive.ready) {
40462
- return;
40463
- }
40464
-
40465
- const attributes = primitive.getGeometryInstanceAttributes('an id');
40466
- attributes.color = Cesium.ColorGeometryInstanceAttribute.toValue(Cesium.Color.AQUA);
40467
-
40468
- removeListener();
40469
- });
40868
+ * const removeListener = scene.postRender.addEventListener(() => {
40869
+ * if (!frustumPrimitive.ready) {
40870
+ * return;
40871
+ * }
40872
+ *
40873
+ * const attributes = primitive.getGeometryInstanceAttributes('an id');
40874
+ * attributes.color = Cesium.ColorGeometryInstanceAttribute.toValue(Cesium.Color.AQUA);
40875
+ *
40876
+ * removeListener();
40877
+ * });
40470
40878
  */
40471
40879
  readonly ready: boolean;
40472
40880
  /**
40473
40881
  * Called when {@link Viewer} or {@link CesiumWidget} render the scene to
40474
- get the draw commands needed to render this primitive.
40475
- <p>
40476
- Do not call this function directly. This is documented just to
40477
- list the exceptions that may be propagated when the scene is rendered:
40478
- </p>
40882
+ * get the draw commands needed to render this primitive.
40883
+ * <p>
40884
+ * Do not call this function directly. This is documented just to
40885
+ * list the exceptions that may be propagated when the scene is rendered:
40886
+ * </p>
40479
40887
  */
40480
40888
  update(): void;
40481
40889
  /**
40482
40890
  * Returns the modifiable per-instance attributes for a {@link GeometryInstance}.
40483
40891
  * @example
40484
40892
  * const attributes = primitive.getGeometryInstanceAttributes('an id');
40485
- attributes.color = Cesium.ColorGeometryInstanceAttribute.toValue(Cesium.Color.AQUA);
40486
- attributes.show = Cesium.ShowGeometryInstanceAttribute.toValue(true);
40487
- attributes.distanceDisplayCondition = Cesium.DistanceDisplayConditionGeometryInstanceAttribute.toValue(100.0, 10000.0);
40488
- attributes.offset = Cesium.OffsetGeometryInstanceAttribute.toValue(Cartesian3.IDENTITY);
40893
+ * attributes.color = Cesium.ColorGeometryInstanceAttribute.toValue(Cesium.Color.AQUA);
40894
+ * attributes.show = Cesium.ShowGeometryInstanceAttribute.toValue(true);
40895
+ * attributes.distanceDisplayCondition = Cesium.DistanceDisplayConditionGeometryInstanceAttribute.toValue(100.0, 10000.0);
40896
+ * attributes.offset = Cesium.OffsetGeometryInstanceAttribute.toValue(Cartesian3.IDENTITY);
40489
40897
  * @param id - The id of the {@link GeometryInstance}.
40490
40898
  * @returns The typed array in the attribute's format or undefined if the is no instance with id.
40491
40899
  */
40492
40900
  getGeometryInstanceAttributes(id: any): any;
40493
40901
  /**
40494
40902
  * Returns true if this object was destroyed; otherwise, false.
40495
- <p>
40496
- If this object was destroyed, it should not be used; calling any function other than
40497
- <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
40498
- </p>
40903
+ * <p>
40904
+ * If this object was destroyed, it should not be used; calling any function other than
40905
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
40906
+ * </p>
40499
40907
  * @returns <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
40500
40908
  */
40501
40909
  isDestroyed(): boolean;
40502
40910
  /**
40503
40911
  * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
40504
- release of WebGL resources, instead of relying on the garbage collector to destroy this object.
40505
- <p>
40506
- Once an object is destroyed, it should not be used; calling any function other than
40507
- <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
40508
- assign the return value (<code>undefined</code>) to the object as done in the example.
40509
- </p>
40912
+ * release of WebGL resources, instead of relying on the garbage collector to destroy this object.
40913
+ * <p>
40914
+ * Once an object is destroyed, it should not be used; calling any function other than
40915
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
40916
+ * assign the return value (<code>undefined</code>) to the object as done in the example.
40917
+ * </p>
40510
40918
  * @example
40511
40919
  * e = e && e.destroy();
40512
40920
  */
@@ -40669,15 +41077,15 @@ export class PrimitiveCollection {
40669
41077
 
40670
41078
  /**
40671
41079
  * The container for all 3D graphical objects and state in a Cesium virtual scene. Generally,
40672
- a scene is not created directly; instead, it is implicitly created by {@link CesiumWidget}.
41080
+ * a scene is not created directly; instead, it is implicitly created by {@link CesiumWidget}.
40673
41081
  * @example
40674
41082
  * // Create scene without anisotropic texture filtering
40675
- const scene = new Cesium.Scene({
40676
- canvas : canvas,
40677
- contextOptions : {
40678
- allowTextureFilterAnisotropic : false
40679
- }
40680
- });
41083
+ * const scene = new Cesium.Scene({
41084
+ * canvas : canvas,
41085
+ * contextOptions : {
41086
+ * allowTextureFilterAnisotropic : false
41087
+ * }
41088
+ * });
40681
41089
  * @param options - Object with the following properties:
40682
41090
  * @param options.canvas - The HTML canvas element to create the scene for.
40683
41091
  * @param [options.contextOptions] - Context and WebGL creation properties.
@@ -40713,14 +41121,14 @@ export class Scene {
40713
41121
  });
40714
41122
  /**
40715
41123
  * Exceptions occurring in <code>render</code> are always caught in order to raise the
40716
- <code>renderError</code> event. If this property is true, the error is rethrown
40717
- after the event is raised. If this property is false, the <code>render</code> function
40718
- returns normally after raising the event.
41124
+ * <code>renderError</code> event. If this property is true, the error is rethrown
41125
+ * after the event is raised. If this property is false, the <code>render</code> function
41126
+ * returns normally after raising the event.
40719
41127
  */
40720
41128
  rethrowRenderErrors: boolean;
40721
41129
  /**
40722
41130
  * Determines whether or not to instantly complete the
40723
- scene transition animation on user input.
41131
+ * scene transition animation on user input.
40724
41132
  */
40725
41133
  completeMorphOnUserInput: boolean;
40726
41134
  /**
@@ -40757,106 +41165,106 @@ export class Scene {
40757
41165
  backgroundColor: Color;
40758
41166
  /**
40759
41167
  * The current morph transition time between 2D/Columbus View and 3D,
40760
- with 0.0 being 2D or Columbus View and 1.0 being 3D.
41168
+ * with 0.0 being 2D or Columbus View and 1.0 being 3D.
40761
41169
  */
40762
41170
  morphTime: number;
40763
41171
  /**
40764
41172
  * The far-to-near ratio of the multi-frustum when using a normal depth buffer.
40765
- <p>
40766
- This value is used to create the near and far values for each frustum of the multi-frustum. It is only used
40767
- when {@link Scene#logarithmicDepthBuffer} is <code>false</code>. When <code>logarithmicDepthBuffer</code> is
40768
- <code>true</code>, use {@link Scene#logarithmicDepthFarToNearRatio}.
40769
- </p>
41173
+ * <p>
41174
+ * This value is used to create the near and far values for each frustum of the multi-frustum. It is only used
41175
+ * when {@link Scene#logarithmicDepthBuffer} is <code>false</code>. When <code>logarithmicDepthBuffer</code> is
41176
+ * <code>true</code>, use {@link Scene#logarithmicDepthFarToNearRatio}.
41177
+ * </p>
40770
41178
  */
40771
41179
  farToNearRatio: number;
40772
41180
  /**
40773
41181
  * The far-to-near ratio of the multi-frustum when using a logarithmic depth buffer.
40774
- <p>
40775
- This value is used to create the near and far values for each frustum of the multi-frustum. It is only used
40776
- when {@link Scene#logarithmicDepthBuffer} is <code>true</code>. When <code>logarithmicDepthBuffer</code> is
40777
- <code>false</code>, use {@link Scene#farToNearRatio}.
40778
- </p>
41182
+ * <p>
41183
+ * This value is used to create the near and far values for each frustum of the multi-frustum. It is only used
41184
+ * when {@link Scene#logarithmicDepthBuffer} is <code>true</code>. When <code>logarithmicDepthBuffer</code> is
41185
+ * <code>false</code>, use {@link Scene#farToNearRatio}.
41186
+ * </p>
40779
41187
  */
40780
41188
  logarithmicDepthFarToNearRatio: number;
40781
41189
  /**
40782
41190
  * Determines the uniform depth size in meters of each frustum of the multifrustum in 2D. If a primitive or model close
40783
- to the surface shows z-fighting, decreasing this will eliminate the artifact, but decrease performance. On the
40784
- other hand, increasing this will increase performance but may cause z-fighting among primitives close to the surface.
41191
+ * to the surface shows z-fighting, decreasing this will eliminate the artifact, but decrease performance. On the
41192
+ * other hand, increasing this will increase performance but may cause z-fighting among primitives close to the surface.
40785
41193
  */
40786
41194
  nearToFarDistance2D: number;
40787
41195
  /**
40788
41196
  * The vertical exaggeration of the scene.
40789
- When set to 1.0, no exaggeration is applied.
41197
+ * When set to 1.0, no exaggeration is applied.
40790
41198
  */
40791
41199
  verticalExaggeration: number;
40792
41200
  /**
40793
41201
  * The reference height for vertical exaggeration of the scene.
40794
- When set to 0.0, the exaggeration is applied relative to the ellipsoid surface.
41202
+ * When set to 0.0, the exaggeration is applied relative to the ellipsoid surface.
40795
41203
  */
40796
41204
  verticalExaggerationRelativeHeight: number;
40797
41205
  /**
40798
41206
  * This property is for debugging only; it is not for production use.
40799
- <p>
40800
- A function that determines what commands are executed. As shown in the examples below,
40801
- the function receives the command's <code>owner</code> as an argument, and returns a boolean indicating if the
40802
- command should be executed.
40803
- </p>
40804
- <p>
40805
- The default is <code>undefined</code>, indicating that all commands are executed.
40806
- </p>
41207
+ * <p>
41208
+ * A function that determines what commands are executed. As shown in the examples below,
41209
+ * the function receives the command's <code>owner</code> as an argument, and returns a boolean indicating if the
41210
+ * command should be executed.
41211
+ * </p>
41212
+ * <p>
41213
+ * The default is <code>undefined</code>, indicating that all commands are executed.
41214
+ * </p>
40807
41215
  * @example
40808
41216
  * // Do not execute any commands.
40809
- scene.debugCommandFilter = function(command) {
40810
- return false;
40811
- };
40812
-
40813
- // Execute only the billboard's commands. That is, only draw the billboard.
40814
- const billboards = new Cesium.BillboardCollection();
40815
- scene.debugCommandFilter = function(command) {
40816
- return command.owner === billboards;
40817
- };
41217
+ * scene.debugCommandFilter = function(command) {
41218
+ * return false;
41219
+ * };
41220
+ *
41221
+ * // Execute only the billboard's commands. That is, only draw the billboard.
41222
+ * const billboards = new Cesium.BillboardCollection();
41223
+ * scene.debugCommandFilter = function(command) {
41224
+ * return command.owner === billboards;
41225
+ * };
40818
41226
  */
40819
41227
  debugCommandFilter: (...params: any[]) => any;
40820
41228
  /**
40821
41229
  * This property is for debugging only; it is not for production use.
40822
- <p>
40823
- When <code>true</code>, commands are randomly shaded. This is useful
40824
- for performance analysis to see what parts of a scene or model are
40825
- command-dense and could benefit from batching.
40826
- </p>
41230
+ * <p>
41231
+ * When <code>true</code>, commands are randomly shaded. This is useful
41232
+ * for performance analysis to see what parts of a scene or model are
41233
+ * command-dense and could benefit from batching.
41234
+ * </p>
40827
41235
  */
40828
41236
  debugShowCommands: boolean;
40829
41237
  /**
40830
41238
  * This property is for debugging only; it is not for production use.
40831
- <p>
40832
- When <code>true</code>, commands are shaded based on the frustums they
40833
- overlap. Commands in the closest frustum are tinted red, commands in
40834
- the next closest are green, and commands in the farthest frustum are
40835
- blue. If a command overlaps more than one frustum, the color components
40836
- are combined, e.g., a command overlapping the first two frustums is tinted
40837
- yellow.
40838
- </p>
41239
+ * <p>
41240
+ * When <code>true</code>, commands are shaded based on the frustums they
41241
+ * overlap. Commands in the closest frustum are tinted red, commands in
41242
+ * the next closest are green, and commands in the farthest frustum are
41243
+ * blue. If a command overlaps more than one frustum, the color components
41244
+ * are combined, e.g., a command overlapping the first two frustums is tinted
41245
+ * yellow.
41246
+ * </p>
40839
41247
  */
40840
41248
  debugShowFrustums: boolean;
40841
41249
  /**
40842
41250
  * This property is for debugging only; it is not for production use.
40843
- <p>
40844
- Displays frames per second and time between frames.
40845
- </p>
41251
+ * <p>
41252
+ * Displays frames per second and time between frames.
41253
+ * </p>
40846
41254
  */
40847
41255
  debugShowFramesPerSecond: boolean;
40848
41256
  /**
40849
41257
  * This property is for debugging only; it is not for production use.
40850
- <p>
40851
- Indicates which frustum will have depth information displayed.
40852
- </p>
41258
+ * <p>
41259
+ * Indicates which frustum will have depth information displayed.
41260
+ * </p>
40853
41261
  */
40854
41262
  debugShowDepthFrustum: number;
40855
41263
  /**
40856
41264
  * This property is for debugging only; it is not for production use.
40857
- <p>
40858
- When <code>true</code>, draws outlines to show the boundaries of the camera frustums
40859
- </p>
41265
+ * <p>
41266
+ * When <code>true</code>, draws outlines to show the boundaries of the camera frustums
41267
+ * </p>
40860
41268
  */
40861
41269
  debugShowFrustumPlanes: boolean;
40862
41270
  /**
@@ -40865,33 +41273,33 @@ export class Scene {
40865
41273
  useDepthPicking: boolean;
40866
41274
  /**
40867
41275
  * When <code>true</code>, enables picking translucent geometry using the depth buffer. Note that {@link Scene#useDepthPicking} must also be true for enabling this to work.
40868
-
40869
- <p>
40870
- There is a decrease in performance when enabled. There are extra draw calls to write depth for
40871
- translucent geometry.
40872
- </p>
41276
+ *
41277
+ * <p>
41278
+ * There is a decrease in performance when enabled. There are extra draw calls to write depth for
41279
+ * translucent geometry.
41280
+ * </p>
40873
41281
  * @example
40874
41282
  * // picking the position of a translucent primitive
40875
- viewer.screenSpaceEventHandler.setInputAction(function onLeftClick(movement) {
40876
- const pickedFeature = viewer.scene.pick(movement.position);
40877
- if (!Cesium.defined(pickedFeature)) {
40878
- // nothing picked
40879
- return;
40880
- }
40881
- const worldPosition = viewer.scene.pickPosition(movement.position);
40882
- }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
41283
+ * viewer.screenSpaceEventHandler.setInputAction(function onLeftClick(movement) {
41284
+ * const pickedFeature = viewer.scene.pick(movement.position);
41285
+ * if (!Cesium.defined(pickedFeature)) {
41286
+ * // nothing picked
41287
+ * return;
41288
+ * }
41289
+ * const worldPosition = viewer.scene.pickPosition(movement.position);
41290
+ * }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
40883
41291
  */
40884
41292
  pickTranslucentDepth: boolean;
40885
41293
  /**
40886
41294
  * Settings for atmosphere lighting effects affecting 3D Tiles and model rendering. This is not to be confused with
40887
- {@link Scene#skyAtmosphere} which is responsible for rendering the sky.
41295
+ * {@link Scene#skyAtmosphere} which is responsible for rendering the sky.
40888
41296
  */
40889
41297
  atmosphere: Atmosphere;
40890
41298
  /**
40891
41299
  * Blends the atmosphere to geometry far from the camera for horizon views. Allows for additional
40892
- performance improvements by rendering less geometry and dispatching less terrain requests.
40893
-
40894
- Disbaled by default if an ellipsoid other than WGS84 is used.
41300
+ * performance improvements by rendering less geometry and dispatching less terrain requests.
41301
+ *
41302
+ * Disbaled by default if an ellipsoid other than WGS84 is used.
40895
41303
  */
40896
41304
  fog: Fog;
40897
41305
  /**
@@ -40900,13 +41308,13 @@ export class Scene {
40900
41308
  shadowMap: ShadowMap;
40901
41309
  /**
40902
41310
  * When <code>false</code>, 3D Tiles will render normally. When <code>true</code>, classified 3D Tile geometry will render normally and
40903
- unclassified 3D Tile geometry will render with the color multiplied by {@link Scene#invertClassificationColor}.
41311
+ * unclassified 3D Tile geometry will render with the color multiplied by {@link Scene#invertClassificationColor}.
40904
41312
  */
40905
41313
  invertClassification: boolean;
40906
41314
  /**
40907
41315
  * The highlight color of unclassified 3D Tile geometry when {@link Scene#invertClassification} is <code>true</code>.
40908
- <p>When the color's alpha is less than 1.0, the unclassified portions of the 3D Tiles will not blend correctly with the classified positions of the 3D Tiles.</p>
40909
- <p>Also, when the color's alpha is less than 1.0, the WEBGL_depth_texture and EXT_frag_depth WebGL extensions must be supported.</p>
41316
+ * <p>When the color's alpha is less than 1.0, the unclassified portions of the 3D Tiles will not blend correctly with the classified positions of the 3D Tiles.</p>
41317
+ * <p>Also, when the color's alpha is less than 1.0, the WEBGL_depth_texture and EXT_frag_depth WebGL extensions must be supported.</p>
40910
41318
  */
40911
41319
  invertClassificationColor: Color;
40912
41320
  /**
@@ -40923,18 +41331,18 @@ export class Scene {
40923
41331
  postProcessStages: PostProcessStageCollection;
40924
41332
  /**
40925
41333
  * When <code>true</code>, rendering a frame will only occur when needed as determined by changes within the scene.
40926
- Enabling improves performance of the application, but requires using {@link Scene#requestRender}
40927
- to render a new frame explicitly in this mode. This will be necessary in many cases after making changes
40928
- to the scene in other parts of the API.
41334
+ * Enabling improves performance of the application, but requires using {@link Scene#requestRender}
41335
+ * to render a new frame explicitly in this mode. This will be necessary in many cases after making changes
41336
+ * to the scene in other parts of the API.
40929
41337
  */
40930
41338
  requestRenderMode: boolean;
40931
41339
  /**
40932
41340
  * If {@link Scene#requestRenderMode} is <code>true</code>, this value defines the maximum change in
40933
- simulation time allowed before a render is requested. Lower values increase the number of frames rendered
40934
- and higher values decrease the number of frames rendered. If <code>undefined</code>, changes to
40935
- the simulation time will never request a render.
40936
- This value impacts the rate of rendering for changes in the scene like lighting, entity property updates,
40937
- and animations.
41341
+ * simulation time allowed before a render is requested. Lower values increase the number of frames rendered
41342
+ * and higher values decrease the number of frames rendered. If <code>undefined</code>, changes to
41343
+ * the simulation time will never request a render.
41344
+ * This value impacts the rate of rendering for changes in the scene like lighting, entity property updates,
41345
+ * and animations.
40938
41346
  */
40939
41347
  maximumRenderTimeChange: number;
40940
41348
  /**
@@ -40951,7 +41359,7 @@ export class Scene {
40951
41359
  light: Light;
40952
41360
  /**
40953
41361
  * Use this to set the default value for {@link Scene#logarithmicDepthBuffer} in newly constructed Scenes
40954
- This property relies on fragmentDepth being supported.
41362
+ * This property relies on fragmentDepth being supported.
40955
41363
  */
40956
41364
  static defaultLogDepthBuffer: any;
40957
41365
  /**
@@ -41036,48 +41444,48 @@ export class Scene {
41036
41444
  readonly terrainProviderChanged: Event;
41037
41445
  /**
41038
41446
  * Gets the event that will be raised before the scene is updated or rendered. Subscribers to the event
41039
- receive the Scene instance as the first parameter and the current time as the second parameter.
41447
+ * receive the Scene instance as the first parameter and the current time as the second parameter.
41040
41448
  */
41041
41449
  readonly preUpdate: Event;
41042
41450
  /**
41043
41451
  * Gets the event that will be raised immediately after the scene is updated and before the scene is rendered.
41044
- Subscribers to the event receive the Scene instance as the first parameter and the current time as the second
41045
- parameter.
41452
+ * Subscribers to the event receive the Scene instance as the first parameter and the current time as the second
41453
+ * parameter.
41046
41454
  */
41047
41455
  readonly postUpdate: Event;
41048
41456
  /**
41049
41457
  * Gets the event that will be raised when an error is thrown inside the <code>render</code> function.
41050
- The Scene instance and the thrown error are the only two parameters passed to the event handler.
41051
- By default, errors are not rethrown after this event is raised, but that can be changed by setting
41052
- the <code>rethrowRenderErrors</code> property.
41458
+ * The Scene instance and the thrown error are the only two parameters passed to the event handler.
41459
+ * By default, errors are not rethrown after this event is raised, but that can be changed by setting
41460
+ * the <code>rethrowRenderErrors</code> property.
41053
41461
  */
41054
41462
  readonly renderError: Event;
41055
41463
  /**
41056
41464
  * Gets the event that will be raised after the scene is updated and immediately before the scene is rendered.
41057
- Subscribers to the event receive the Scene instance as the first parameter and the current time as the second
41058
- parameter.
41465
+ * Subscribers to the event receive the Scene instance as the first parameter and the current time as the second
41466
+ * parameter.
41059
41467
  */
41060
41468
  readonly preRender: Event;
41061
41469
  /**
41062
41470
  * Gets the event that will be raised immediately after the scene is rendered. Subscribers to the event
41063
- receive the Scene instance as the first parameter and the current time as the second parameter.
41471
+ * receive the Scene instance as the first parameter and the current time as the second parameter.
41064
41472
  */
41065
41473
  readonly postRender: Event;
41066
41474
  /**
41067
41475
  * Gets the simulation time when the scene was last rendered. Returns undefined if the scene has not yet been
41068
- rendered.
41476
+ * rendered.
41069
41477
  */
41070
41478
  readonly lastRenderTime: JulianDate;
41071
41479
  /**
41072
41480
  * This property is for debugging only; it is not for production use.
41073
- <p>
41074
- When {@link Scene.debugShowFrustums} is <code>true</code>, this contains
41075
- properties with statistics about the number of command execute per frustum.
41076
- <code>totalCommands</code> is the total number of commands executed, ignoring
41077
- overlap. <code>commandsInFrustums</code> is an array with the number of times
41078
- commands are executed redundantly, e.g., how many commands overlap two or
41079
- three frustums.
41080
- </p>
41481
+ * <p>
41482
+ * When {@link Scene.debugShowFrustums} is <code>true</code>, this contains
41483
+ * properties with statistics about the number of command execute per frustum.
41484
+ * <code>totalCommands</code> is the total number of commands executed, ignoring
41485
+ * overlap. <code>commandsInFrustums</code> is an array with the number of times
41486
+ * commands are executed redundantly, e.g., how many commands overlap two or
41487
+ * three frustums.
41488
+ * </p>
41081
41489
  */
41082
41490
  readonly debugFrustumStatistics: any;
41083
41491
  /**
@@ -41086,8 +41494,8 @@ export class Scene {
41086
41494
  readonly scene3DOnly: boolean;
41087
41495
  /**
41088
41496
  * Gets whether or not the scene has order independent translucency enabled.
41089
- Note that this only reflects the original construction option, and there are
41090
- other factors that could prevent OIT from functioning on a given system configuration.
41497
+ * Note that this only reflects the original construction option, and there are
41498
+ * other factors that could prevent OIT from functioning on a given system configuration.
41091
41499
  */
41092
41500
  readonly orderIndependentTranslucency: boolean;
41093
41501
  /**
@@ -41100,7 +41508,7 @@ export class Scene {
41100
41508
  mode: SceneMode;
41101
41509
  /**
41102
41510
  * When <code>true</code>, splits the scene into two viewports with steroscopic views for the left and right eyes.
41103
- Used for cardboard and WebVR.
41511
+ * Used for cardboard and WebVR.
41104
41512
  */
41105
41513
  useWebVR: boolean;
41106
41514
  /**
@@ -41113,14 +41521,14 @@ export class Scene {
41113
41521
  splitPosition: number;
41114
41522
  /**
41115
41523
  * The distance from the camera at which to disable the depth test of billboards, labels and points
41116
- to, for example, prevent clipping against terrain. When set to zero, the depth test should always
41117
- be applied. When less than zero, the depth test should never be applied. Setting the disableDepthTestDistance
41118
- property of a billboard, label or point will override this value.
41524
+ * to, for example, prevent clipping against terrain. When set to zero, the depth test should always
41525
+ * be applied. When less than zero, the depth test should never be applied. Setting the disableDepthTestDistance
41526
+ * property of a billboard, label or point will override this value.
41119
41527
  */
41120
41528
  minimumDisableDepthTestDistance: number;
41121
41529
  /**
41122
41530
  * Whether or not to use a logarithmic depth buffer. Enabling this option will allow for less frustums in the multi-frustum,
41123
- increasing performance. This property relies on fragmentDepth being supported.
41531
+ * increasing performance. This property relies on fragmentDepth being supported.
41124
41532
  */
41125
41533
  logarithmicDepthBuffer: boolean;
41126
41534
  /**
@@ -41155,30 +41563,30 @@ export class Scene {
41155
41563
  getCompressedTextureFormatSupported(format: string): boolean;
41156
41564
  /**
41157
41565
  * Update and render the scene. It is usually not necessary to call this function
41158
- directly because {@link CesiumWidget} will do it automatically.
41566
+ * directly because {@link CesiumWidget} will do it automatically.
41159
41567
  * @param [time] - The simulation time at which to render.
41160
41568
  */
41161
41569
  render(time?: JulianDate): void;
41162
41570
  /**
41163
41571
  * Requests a new rendered frame when {@link Scene#requestRenderMode} is set to <code>true</code>.
41164
- The render rate will not exceed the {@link CesiumWidget#targetFrameRate}.
41572
+ * The render rate will not exceed the {@link CesiumWidget#targetFrameRate}.
41165
41573
  */
41166
41574
  requestRender(): void;
41167
41575
  /**
41168
41576
  * Returns an object with a `primitive` property that contains the first (top) primitive in the scene
41169
- at a particular window coordinate or undefined if nothing is at the location. Other properties may
41170
- potentially be set depending on the type of primitive and may be used to further identify the picked object.
41171
- <p>
41172
- When a feature of a 3D Tiles tileset is picked, <code>pick</code> returns a {@link Cesium3DTileFeature} object.
41173
- </p>
41577
+ * at a particular window coordinate or undefined if nothing is at the location. Other properties may
41578
+ * potentially be set depending on the type of primitive and may be used to further identify the picked object.
41579
+ * <p>
41580
+ * When a feature of a 3D Tiles tileset is picked, <code>pick</code> returns a {@link Cesium3DTileFeature} object.
41581
+ * </p>
41174
41582
  * @example
41175
41583
  * // On mouse over, color the feature yellow.
41176
- handler.setInputAction(function(movement) {
41177
- const feature = scene.pick(movement.endPosition);
41178
- if (feature instanceof Cesium.Cesium3DTileFeature) {
41179
- feature.color = Cesium.Color.YELLOW;
41180
- }
41181
- }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
41584
+ * handler.setInputAction(function(movement) {
41585
+ * const feature = scene.pick(movement.endPosition);
41586
+ * if (feature instanceof Cesium.Cesium3DTileFeature) {
41587
+ * feature.color = Cesium.Color.YELLOW;
41588
+ * }
41589
+ * }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
41182
41590
  * @param windowPosition - Window coordinates to perform picking on.
41183
41591
  * @param [width = 3] - Width of the pick rectangle.
41184
41592
  * @param [height = 3] - Height of the pick rectangle.
@@ -41187,15 +41595,15 @@ export class Scene {
41187
41595
  pick(windowPosition: Cartesian2, width?: number, height?: number): any;
41188
41596
  /**
41189
41597
  * Returns a {@link VoxelCell} for the voxel sample rendered at a particular window coordinate,
41190
- or undefined if no voxel is rendered at that position.
41598
+ * or undefined if no voxel is rendered at that position.
41191
41599
  * @example
41192
41600
  * On left click, report the value of the "color" property at that voxel sample.
41193
- handler.setInputAction(function(movement) {
41194
- const voxelCell = scene.pickVoxel(movement.position);
41195
- if (defined(voxelCell)) {
41196
- console.log(voxelCell.getProperty("color"));
41197
- }
41198
- }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
41601
+ * handler.setInputAction(function(movement) {
41602
+ * const voxelCell = scene.pickVoxel(movement.position);
41603
+ * if (defined(voxelCell)) {
41604
+ * console.log(voxelCell.getProperty("color"));
41605
+ * }
41606
+ * }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
41199
41607
  * @param windowPosition - Window coordinates to perform picking on.
41200
41608
  * @param [width = 3] - Width of the pick rectangle.
41201
41609
  * @param [height = 3] - Height of the pick rectangle.
@@ -41206,33 +41614,34 @@ export class Scene {
41206
41614
  * Pick a metadata value at the given window position.
41207
41615
  * @param windowPosition - Window coordinates to perform picking on.
41208
41616
  * @param schemaId - The ID of the metadata schema to pick values
41209
- from. If this is `undefined`, then it will pick the values from the object
41210
- that match the given class- and property name, regardless of the schema ID.
41617
+ * from. If this is `undefined`, then it will pick the values from the object
41618
+ * that match the given class- and property name, regardless of the schema ID.
41211
41619
  * @param className - The name of the metadata class to pick
41212
- values from
41620
+ * values from
41213
41621
  * @param propertyName - The name of the metadata property to pick
41214
- values from
41215
- * @returns The metadata value
41622
+ * values from
41623
+ * @returns The metadata value, or `undefined` when
41624
+ * no matching metadata was found at the given position
41216
41625
  */
41217
- pickMetadata(windowPosition: Cartesian2, schemaId: string | undefined, className: string, propertyName: string): any;
41626
+ pickMetadata(windowPosition: Cartesian2, schemaId: string | undefined, className: string, propertyName: string): MetadataValue | undefined;
41218
41627
  /**
41219
41628
  * Pick the schema of the metadata of the object at the given position
41220
41629
  * @param windowPosition - Window coordinates to perform picking on.
41221
41630
  * @returns The metadata schema, or `undefined` if there is no object with
41222
- associated metadata at the given position.
41631
+ * associated metadata at the given position.
41223
41632
  */
41224
41633
  pickMetadataSchema(windowPosition: Cartesian2): MetadataSchema;
41225
41634
  /**
41226
41635
  * Returns the cartesian position reconstructed from the depth buffer and window position.
41227
- <p>
41228
- The position reconstructed from the depth buffer in 2D may be slightly different from those
41229
- reconstructed in 3D and Columbus view. This is caused by the difference in the distribution
41230
- of depth values of perspective and orthographic projection.
41231
- </p>
41232
- <p>
41233
- Set {@link Scene#pickTranslucentDepth} to <code>true</code> to include the depth of
41234
- translucent primitives; otherwise, this essentially picks through translucent primitives.
41235
- </p>
41636
+ * <p>
41637
+ * The position reconstructed from the depth buffer in 2D may be slightly different from those
41638
+ * reconstructed in 3D and Columbus view. This is caused by the difference in the distribution
41639
+ * of depth values of perspective and orthographic projection.
41640
+ * </p>
41641
+ * <p>
41642
+ * Set {@link Scene#pickTranslucentDepth} to <code>true</code> to include the depth of
41643
+ * translucent primitives; otherwise, this essentially picks through translucent primitives.
41644
+ * </p>
41236
41645
  * @param windowPosition - Window coordinates to perform picking on.
41237
41646
  * @param [result] - The object on which to restore the result.
41238
41647
  * @returns The cartesian position.
@@ -41240,9 +41649,9 @@ export class Scene {
41240
41649
  pickPosition(windowPosition: Cartesian2, result?: Cartesian3): Cartesian3;
41241
41650
  /**
41242
41651
  * Returns a list of objects, each containing a `primitive` property, for all primitives at
41243
- a particular window coordinate position. Other properties may also be set depending on the
41244
- type of primitive and may be used to further identify the picked object. The primitives in
41245
- the list are ordered by their visual order in the scene (front to back).
41652
+ * a particular window coordinate position. Other properties may also be set depending on the
41653
+ * type of primitive and may be used to further identify the picked object. The primitives in
41654
+ * the list are ordered by their visual order in the scene (front to back).
41246
41655
  * @example
41247
41656
  * const pickedObjects = scene.drillPick(new Cesium.Cartesian2(100.0, 200.0));
41248
41657
  * @param windowPosition - Window coordinates to perform picking on.
@@ -41254,16 +41663,16 @@ export class Scene {
41254
41663
  drillPick(windowPosition: Cartesian2, limit?: number, width?: number, height?: number): any[];
41255
41664
  /**
41256
41665
  * Returns the height of scene geometry at the given cartographic position or <code>undefined</code> if there was no
41257
- scene geometry to sample height from. The height of the input position is ignored. May be used to clamp objects to
41258
- the globe, 3D Tiles, or primitives in the scene.
41259
- <p>
41260
- This function only samples height from globe tiles and 3D Tiles that are rendered in the current view. Samples height
41261
- from all other primitives regardless of their visibility.
41262
- </p>
41666
+ * scene geometry to sample height from. The height of the input position is ignored. May be used to clamp objects to
41667
+ * the globe, 3D Tiles, or primitives in the scene.
41668
+ * <p>
41669
+ * This function only samples height from globe tiles and 3D Tiles that are rendered in the current view. Samples height
41670
+ * from all other primitives regardless of their visibility.
41671
+ * </p>
41263
41672
  * @example
41264
41673
  * const position = new Cesium.Cartographic(-1.31968, 0.698874);
41265
- const height = viewer.scene.sampleHeight(position);
41266
- console.log(height);
41674
+ * const height = viewer.scene.sampleHeight(position);
41675
+ * console.log(height);
41267
41676
  * @param position - The cartographic position to sample height from.
41268
41677
  * @param [objectsToExclude] - A list of primitives, entities, or 3D Tiles features to not sample height from.
41269
41678
  * @param [width = 0.1] - Width of the intersection volume in meters.
@@ -41272,16 +41681,16 @@ export class Scene {
41272
41681
  sampleHeight(position: Cartographic, objectsToExclude?: object[], width?: number): number;
41273
41682
  /**
41274
41683
  * Clamps the given cartesian position to the scene geometry along the geodetic surface normal. Returns the
41275
- clamped position or <code>undefined</code> if there was no scene geometry to clamp to. May be used to clamp
41276
- objects to the globe, 3D Tiles, or primitives in the scene.
41277
- <p>
41278
- This function only clamps to globe tiles and 3D Tiles that are rendered in the current view. Clamps to
41279
- all other primitives regardless of their visibility.
41280
- </p>
41684
+ * clamped position or <code>undefined</code> if there was no scene geometry to clamp to. May be used to clamp
41685
+ * objects to the globe, 3D Tiles, or primitives in the scene.
41686
+ * <p>
41687
+ * This function only clamps to globe tiles and 3D Tiles that are rendered in the current view. Clamps to
41688
+ * all other primitives regardless of their visibility.
41689
+ * </p>
41281
41690
  * @example
41282
41691
  * // Clamp an entity to the underlying scene geometry
41283
- const position = entity.position.getValue(Cesium.JulianDate.now());
41284
- entity.position = viewer.scene.clampToHeight(position);
41692
+ * const position = entity.position.getValue(Cesium.JulianDate.now());
41693
+ * entity.position = viewer.scene.clampToHeight(position);
41285
41694
  * @param cartesian - The cartesian position.
41286
41695
  * @param [objectsToExclude] - A list of primitives, entities, or 3D Tiles features to not clamp to.
41287
41696
  * @param [width = 0.1] - Width of the intersection volume in meters.
@@ -41291,20 +41700,20 @@ export class Scene {
41291
41700
  clampToHeight(cartesian: Cartesian3, objectsToExclude?: object[], width?: number, result?: Cartesian3): Cartesian3;
41292
41701
  /**
41293
41702
  * Initiates an asynchronous {@link Scene#sampleHeight} query for an array of {@link Cartographic} positions
41294
- using the maximum level of detail for 3D Tilesets in the scene. The height of the input positions is ignored.
41295
- Returns a promise that is resolved when the query completes. Each point height is modified in place.
41296
- If a height cannot be determined because no geometry can be sampled at that location, or another error occurs,
41297
- the height is set to undefined.
41703
+ * using the maximum level of detail for 3D Tilesets in the scene. The height of the input positions is ignored.
41704
+ * Returns a promise that is resolved when the query completes. Each point height is modified in place.
41705
+ * If a height cannot be determined because no geometry can be sampled at that location, or another error occurs,
41706
+ * the height is set to undefined.
41298
41707
  * @example
41299
41708
  * const positions = [
41300
- new Cesium.Cartographic(-1.31968, 0.69887),
41301
- new Cesium.Cartographic(-1.10489, 0.83923)
41302
- ];
41303
- const promise = viewer.scene.sampleHeightMostDetailed(positions);
41304
- promise.then(function(updatedPosition) {
41305
- // positions[0].height and positions[1].height have been updated.
41306
- // updatedPositions is just a reference to positions.
41307
- }
41709
+ * new Cesium.Cartographic(-1.31968, 0.69887),
41710
+ * new Cesium.Cartographic(-1.10489, 0.83923)
41711
+ * ];
41712
+ * const promise = viewer.scene.sampleHeightMostDetailed(positions);
41713
+ * promise.then(function(updatedPosition) {
41714
+ * // positions[0].height and positions[1].height have been updated.
41715
+ * // updatedPositions is just a reference to positions.
41716
+ * }
41308
41717
  * @param positions - The cartographic positions to update with sampled heights.
41309
41718
  * @param [objectsToExclude] - A list of primitives, entities, or 3D Tiles features to not sample height from.
41310
41719
  * @param [width = 0.1] - Width of the intersection volume in meters.
@@ -41313,19 +41722,19 @@ export class Scene {
41313
41722
  sampleHeightMostDetailed(positions: Cartographic[], objectsToExclude?: object[], width?: number): Promise<Cartographic[]>;
41314
41723
  /**
41315
41724
  * Initiates an asynchronous {@link Scene#clampToHeight} query for an array of {@link Cartesian3} positions
41316
- using the maximum level of detail for 3D Tilesets in the scene. Returns a promise that is resolved when
41317
- the query completes. Each position is modified in place. If a position cannot be clamped because no geometry
41318
- can be sampled at that location, or another error occurs, the element in the array is set to undefined.
41725
+ * using the maximum level of detail for 3D Tilesets in the scene. Returns a promise that is resolved when
41726
+ * the query completes. Each position is modified in place. If a position cannot be clamped because no geometry
41727
+ * can be sampled at that location, or another error occurs, the element in the array is set to undefined.
41319
41728
  * @example
41320
41729
  * const cartesians = [
41321
- entities[0].position.getValue(Cesium.JulianDate.now()),
41322
- entities[1].position.getValue(Cesium.JulianDate.now())
41323
- ];
41324
- const promise = viewer.scene.clampToHeightMostDetailed(cartesians);
41325
- promise.then(function(updatedCartesians) {
41326
- entities[0].position = updatedCartesians[0];
41327
- entities[1].position = updatedCartesians[1];
41328
- }
41730
+ * entities[0].position.getValue(Cesium.JulianDate.now()),
41731
+ * entities[1].position.getValue(Cesium.JulianDate.now())
41732
+ * ];
41733
+ * const promise = viewer.scene.clampToHeightMostDetailed(cartesians);
41734
+ * promise.then(function(updatedCartesians) {
41735
+ * entities[0].position = updatedCartesians[0];
41736
+ * entities[1].position = updatedCartesians[1];
41737
+ * }
41329
41738
  * @param cartesians - The cartesian positions to update with clamped positions.
41330
41739
  * @param [objectsToExclude] - A list of primitives, entities, or 3D Tiles features to not clamp to.
41331
41740
  * @param [width = 0.1] - Width of the intersection volume in meters.
@@ -41334,15 +41743,15 @@ export class Scene {
41334
41743
  clampToHeightMostDetailed(cartesians: Cartesian3[], objectsToExclude?: object[], width?: number): Promise<Cartesian3[]>;
41335
41744
  /**
41336
41745
  * Transforms a position in cartesian coordinates to canvas coordinates. This is commonly used to place an
41337
- HTML element at the same screen position as an object in the scene.
41746
+ * HTML element at the same screen position as an object in the scene.
41338
41747
  * @example
41339
41748
  * // Output the canvas position of longitude/latitude (0, 0) every time the mouse moves.
41340
- const scene = widget.scene;
41341
- const position = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
41342
- const handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
41343
- handler.setInputAction(function(movement) {
41344
- console.log(scene.cartesianToCanvasCoordinates(position));
41345
- }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
41749
+ * const scene = widget.scene;
41750
+ * const position = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
41751
+ * const handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
41752
+ * handler.setInputAction(function(movement) {
41753
+ * console.log(scene.cartesianToCanvasCoordinates(position));
41754
+ * }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
41346
41755
  * @param position - The position in cartesian coordinates.
41347
41756
  * @param [result] - An optional object to return the input position transformed to canvas coordinates.
41348
41757
  * @returns The modified result parameter or a new Cartesian2 instance if one was not provided. This may be <code>undefined</code> if the input position is near the center of the ellipsoid.
@@ -41371,34 +41780,34 @@ export class Scene {
41371
41780
  * Update the terrain providing surface geometry for the globe.
41372
41781
  * @example
41373
41782
  * // Use Cesium World Terrain
41374
- scene.setTerrain(Cesium.Terrain.fromWorldTerrain());
41783
+ * scene.setTerrain(Cesium.Terrain.fromWorldTerrain());
41375
41784
  * @example
41376
41785
  * // Use a custom terrain provider
41377
- const terrain = new Cesium.Terrain(Cesium.CesiumTerrainProvider.fromUrl("https://myTestTerrain.com"));
41378
- scene.setTerrain(terrain);
41379
-
41380
- terrain.errorEvent.addEventListener(error => {
41381
- alert(`Encountered an error while creating terrain! ${error}`);
41382
- });
41786
+ * const terrain = new Cesium.Terrain(Cesium.CesiumTerrainProvider.fromUrl("https://myTestTerrain.com"));
41787
+ * scene.setTerrain(terrain);
41788
+ *
41789
+ * terrain.errorEvent.addEventListener(error => {
41790
+ * alert(`Encountered an error while creating terrain! ${error}`);
41791
+ * });
41383
41792
  * @param terrain - The terrain provider async helper
41384
41793
  * @returns terrain The terrain provider async helper
41385
41794
  */
41386
41795
  setTerrain(terrain: Terrain): Terrain;
41387
41796
  /**
41388
41797
  * Returns true if this object was destroyed; otherwise, false.
41389
- <br /><br />
41390
- If this object was destroyed, it should not be used; calling any function other than
41391
- <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
41798
+ * <br /><br />
41799
+ * If this object was destroyed, it should not be used; calling any function other than
41800
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
41392
41801
  * @returns <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
41393
41802
  */
41394
41803
  isDestroyed(): boolean;
41395
41804
  /**
41396
41805
  * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
41397
- release of WebGL resources, instead of relying on the garbage collector to destroy this object.
41398
- <br /><br />
41399
- Once an object is destroyed, it should not be used; calling any function other than
41400
- <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
41401
- assign the return value (<code>undefined</code>) to the object as done in the example.
41806
+ * release of WebGL resources, instead of relying on the garbage collector to destroy this object.
41807
+ * <br /><br />
41808
+ * Once an object is destroyed, it should not be used; calling any function other than
41809
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
41810
+ * assign the return value (<code>undefined</code>) to the object as done in the example.
41402
41811
  * @example
41403
41812
  * scene = scene && scene.destroy();
41404
41813
  */
@@ -41407,11 +41816,11 @@ export class Scene {
41407
41816
 
41408
41817
  /**
41409
41818
  * Determine how translucent surfaces will be handled.
41410
-
41411
- When OIT is enabled, then this will delegate to OIT.executeCommands.
41412
- Otherwise, it will just be executeTranslucentCommandsBackToFront
41413
- for render passes, or executeTranslucentCommandsFrontToBack for
41414
- other passes.
41819
+ *
41820
+ * When OIT is enabled, then this will delegate to OIT.executeCommands.
41821
+ * Otherwise, it will just be executeTranslucentCommandsBackToFront
41822
+ * for render passes, or executeTranslucentCommandsFrontToBack for
41823
+ * other passes.
41415
41824
  * @param scene - The scene.
41416
41825
  * @returns A function to execute translucent commands.
41417
41826
  */
@@ -41672,13 +42081,13 @@ export enum SensorVolumePortionToDisplay {
41672
42081
 
41673
42082
  /**
41674
42083
  * <div class="notice">
41675
- Use {@link Viewer#shadowMap} to get the scene's shadow map. Do not construct this directly.
41676
- </div>
41677
-
41678
- <p>
41679
- The normalOffset bias pushes the shadows forward slightly, and may be disabled
41680
- for applications that require ultra precise shadows.
41681
- </p>
42084
+ * Use {@link Viewer#shadowMap} to get the scene's shadow map. Do not construct this directly.
42085
+ * </div>
42086
+ *
42087
+ * <p>
42088
+ * The normalOffset bias pushes the shadows forward slightly, and may be disabled
42089
+ * for applications that require ultra precise shadows.
42090
+ * </p>
41682
42091
  */
41683
42092
  export class ShadowMap {
41684
42093
  constructor();
@@ -42937,13 +43346,13 @@ const positron = new Cesium.UrlTemplateImageryProvider({
42937
43346
  });
42938
43347
  // Access a Web Map Service (WMS) server.
42939
43348
  const wms = new Cesium.UrlTemplateImageryProvider({
42940
- url : 'https://programs.communications.gov.au/geoserver/ows?tiled=true&' +
42941
- 'transparent=true&format=image%2Fpng&exceptions=application%2Fvnd.ogc.se_xml&' +
42942
- 'styles=&service=WMS&version=1.1.1&request=GetMap&' +
42943
- 'layers=public%3AMyBroadband_Availability&srs=EPSG%3A3857&' +
43349
+ url : 'https://services.ga.gov.au/gis/services/NM_Hydrology_and_Marine_Points/MapServer/WMSServer?' +
43350
+ 'tiled=true&transparent=true&format=image%2Fpng&exceptions=application%2Fvnd.ogc.se_xml&' +
43351
+ 'styles=&service=WMS&version=1.3.0&request=GetMap&' +
43352
+ 'layers=Bores&crs=EPSG%3A3857&' +
42944
43353
  'bbox={westProjected}%2C{southProjected}%2C{eastProjected}%2C{northProjected}&' +
42945
43354
  'width=256&height=256',
42946
- rectangle : Cesium.Rectangle.fromDegrees(96.799393, -43.598214999057824, 153.63925700000001, -9.2159219997013)
43355
+ rectangle : Cesium.Rectangle.fromDegrees(95.0, -55.0, 170.0, -1.0) // From GetCapabilities EX_GeographicBoundingBox
42947
43356
  });
42948
43357
  // Using custom tags in your template url.
42949
43358
  const custom = new Cesium.UrlTemplateImageryProvider({
@@ -43552,31 +43961,31 @@ export namespace WebMapServiceImageryProvider {
43552
43961
  * @property [parameters = WebMapServiceImageryProvider.DefaultParameters] - Additional parameters to pass to the WMS server in the GetMap URL.
43553
43962
  * @property [getFeatureInfoParameters = WebMapServiceImageryProvider.GetFeatureInfoDefaultParameters] - Additional parameters to pass to the WMS server in the GetFeatureInfo URL.
43554
43963
  * @property [enablePickFeatures = true] - If true, {@link WebMapServiceImageryProvider#pickFeatures} will invoke
43555
- the GetFeatureInfo operation on the WMS server and return the features included in the response. If false,
43556
- {@link WebMapServiceImageryProvider#pickFeatures} will immediately return undefined (indicating no pickable features)
43557
- without communicating with the server. Set this property to false if you know your WMS server does not support
43558
- GetFeatureInfo or if you don't want this provider's features to be pickable. Note that this can be dynamically
43559
- overridden by modifying the WebMapServiceImageryProvider#enablePickFeatures property.
43964
+ * the GetFeatureInfo operation on the WMS server and return the features included in the response. If false,
43965
+ * {@link WebMapServiceImageryProvider#pickFeatures} will immediately return undefined (indicating no pickable features)
43966
+ * without communicating with the server. Set this property to false if you know your WMS server does not support
43967
+ * GetFeatureInfo or if you don't want this provider's features to be pickable. Note that this can be dynamically
43968
+ * overridden by modifying the WebMapServiceImageryProvider#enablePickFeatures property.
43560
43969
  * @property [getFeatureInfoFormats = WebMapServiceImageryProvider.DefaultGetFeatureInfoFormats] - The formats
43561
- in which to try WMS GetFeatureInfo requests.
43970
+ * in which to try WMS GetFeatureInfo requests.
43562
43971
  * @property [rectangle = Rectangle.MAX_VALUE] - The rectangle of the layer.
43563
43972
  * @property [tilingScheme = new GeographicTilingScheme()] - The tiling scheme to use to divide the world into tiles.
43564
43973
  * @property [ellipsoid] - The ellipsoid. If the tilingScheme is specified,
43565
- this parameter is ignored and the tiling scheme's ellipsoid is used instead. If neither
43566
- parameter is specified, the WGS84 ellipsoid is used.
43974
+ * this parameter is ignored and the tiling scheme's ellipsoid is used instead. If neither
43975
+ * parameter is specified, the WGS84 ellipsoid is used.
43567
43976
  * @property [tileWidth = 256] - The width of each tile in pixels.
43568
43977
  * @property [tileHeight = 256] - The height of each tile in pixels.
43569
43978
  * @property [minimumLevel = 0] - The minimum level-of-detail supported by the imagery provider. Take care when
43570
- specifying this that the number of tiles at the minimum level is small, such as four or less. A larger number is
43571
- likely to result in rendering problems.
43979
+ * specifying this that the number of tiles at the minimum level is small, such as four or less. A larger number is
43980
+ * likely to result in rendering problems.
43572
43981
  * @property [maximumLevel] - The maximum level-of-detail supported by the imagery provider, or undefined if there is no limit.
43573
- If not specified, there is no limit.
43982
+ * If not specified, there is no limit.
43574
43983
  * @property [crs] - CRS specification, for use with WMS specification >= 1.3.0.
43575
43984
  * @property [srs] - SRS specification, for use with WMS specification 1.1.0 or 1.1.1
43576
43985
  * @property [credit] - A credit for the data source, which is displayed on the canvas.
43577
43986
  * @property [subdomains = 'abc'] - The subdomains to use for the <code>{s}</code> placeholder in the URL template.
43578
- If this parameter is a single string, each character in the string is a subdomain. If it is
43579
- an array, each element in the array is a subdomain.
43987
+ * If this parameter is a single string, each character in the string is a subdomain. If it is
43988
+ * an array, each element in the array is a subdomain.
43580
43989
  * @property [clock] - A Clock instance that is used when determining the value for the time dimension. Required when `times` is specified.
43581
43990
  * @property [times] - TimeIntervalCollection with its data property being an object containing time dynamic dimension and their values.
43582
43991
  * @property [getFeatureInfoUrl] - The getFeatureInfo URL of the WMS service. If the property is not defined then we use the property value of url.
@@ -43609,12 +44018,12 @@ export namespace WebMapServiceImageryProvider {
43609
44018
  * Provides tiled imagery hosted by a Web Map Service (WMS) server.
43610
44019
  * @example
43611
44020
  * const provider = new Cesium.WebMapServiceImageryProvider({
43612
- url : 'https://sampleserver1.arcgisonline.com/ArcGIS/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/WMSServer',
43613
- layers : '0',
43614
- proxy: new Cesium.DefaultProxy('/proxy/')
43615
- });
43616
- const imageryLayer = new Cesium.ImageryLayer(provider);
43617
- viewer.imageryLayers.add(imageryLayer);
44021
+ * url : 'https://sampleserver1.arcgisonline.com/ArcGIS/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/WMSServer',
44022
+ * layers : '0',
44023
+ * proxy: new Cesium.DefaultProxy('/proxy/')
44024
+ * });
44025
+ * const imageryLayer = new Cesium.ImageryLayer(provider);
44026
+ * viewer.imageryLayers.add(imageryLayer);
43618
44027
  * @param options - Object describing initialization options
43619
44028
  */
43620
44029
  export class WebMapServiceImageryProvider {
@@ -43657,35 +44066,35 @@ export class WebMapServiceImageryProvider {
43657
44066
  readonly rectangle: Rectangle;
43658
44067
  /**
43659
44068
  * Gets the tile discard policy. If not undefined, the discard policy is responsible
43660
- for filtering out "missing" tiles via its shouldDiscardImage function. If this function
43661
- returns undefined, no tiles are filtered.
44069
+ * for filtering out "missing" tiles via its shouldDiscardImage function. If this function
44070
+ * returns undefined, no tiles are filtered.
43662
44071
  */
43663
44072
  readonly tileDiscardPolicy: TileDiscardPolicy;
43664
44073
  /**
43665
44074
  * Gets an event that is raised when the imagery provider encounters an asynchronous error. By subscribing
43666
- to the event, you will be notified of the error and can potentially recover from it. Event listeners
43667
- are passed an instance of {@link TileProviderError}.
44075
+ * to the event, you will be notified of the error and can potentially recover from it. Event listeners
44076
+ * are passed an instance of {@link TileProviderError}.
43668
44077
  */
43669
44078
  readonly errorEvent: Event;
43670
44079
  /**
43671
44080
  * Gets the credit to display when this imagery provider is active. Typically this is used to credit
43672
- the source of the imagery.
44081
+ * the source of the imagery.
43673
44082
  */
43674
44083
  readonly credit: Credit;
43675
44084
  /**
43676
44085
  * Gets a value indicating whether or not the images provided by this imagery provider
43677
- include an alpha channel. If this property is false, an alpha channel, if present, will
43678
- be ignored. If this property is true, any images without an alpha channel will be treated
43679
- as if their alpha is 1.0 everywhere. When this property is false, memory usage
43680
- and texture upload time are reduced.
44086
+ * include an alpha channel. If this property is false, an alpha channel, if present, will
44087
+ * be ignored. If this property is true, any images without an alpha channel will be treated
44088
+ * as if their alpha is 1.0 everywhere. When this property is false, memory usage
44089
+ * and texture upload time are reduced.
43681
44090
  */
43682
44091
  readonly hasAlphaChannel: boolean;
43683
44092
  /**
43684
44093
  * Gets or sets a value indicating whether feature picking is enabled. If true, {@link WebMapServiceImageryProvider#pickFeatures} will
43685
- invoke the <code>GetFeatureInfo</code> service on the WMS server and attempt to interpret the features included in the response. If false,
43686
- {@link WebMapServiceImageryProvider#pickFeatures} will immediately return undefined (indicating no pickable
43687
- features) without communicating with the server. Set this property to false if you know your data
43688
- source does not support picking features or if you don't want this provider's features to be pickable.
44094
+ * invoke the <code>GetFeatureInfo</code> service on the WMS server and attempt to interpret the features included in the response. If false,
44095
+ * {@link WebMapServiceImageryProvider#pickFeatures} will immediately return undefined (indicating no pickable
44096
+ * features) without communicating with the server. Set this property to false if you know your data
44097
+ * source does not support picking features or if you don't want this provider's features to be pickable.
43689
44098
  */
43690
44099
  enablePickFeatures: boolean;
43691
44100
  /**
@@ -43694,8 +44103,8 @@ export class WebMapServiceImageryProvider {
43694
44103
  clock: Clock;
43695
44104
  /**
43696
44105
  * Gets or sets a time interval collection that is used to get time dynamic parameters. The data of each
43697
- TimeInterval is an object containing the keys and values of the properties that are used during
43698
- tile requests.
44106
+ * TimeInterval is an object containing the keys and values of the properties that are used during
44107
+ * tile requests.
43699
44108
  */
43700
44109
  times: TimeIntervalCollection;
43701
44110
  /**
@@ -43717,36 +44126,36 @@ export class WebMapServiceImageryProvider {
43717
44126
  * @param level - The tile level.
43718
44127
  * @param [request] - The request object. Intended for internal use only.
43719
44128
  * @returns A promise for the image that will resolve when the image is available, or
43720
- undefined if there are too many active requests to the server, and the request should be retried later.
44129
+ * undefined if there are too many active requests to the server, and the request should be retried later.
43721
44130
  */
43722
44131
  requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
43723
44132
  /**
43724
44133
  * Asynchronously determines what features, if any, are located at a given longitude and latitude within
43725
- a tile.
44134
+ * a tile.
43726
44135
  * @param x - The tile X coordinate.
43727
44136
  * @param y - The tile Y coordinate.
43728
44137
  * @param level - The tile level.
43729
44138
  * @param longitude - The longitude at which to pick features.
43730
44139
  * @param latitude - The latitude at which to pick features.
43731
44140
  * @returns A promise for the picked features that will resolve when the asynchronous
43732
- picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo}
43733
- instances. The array may be empty if no features are found at the given location.
44141
+ * picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo}
44142
+ * instances. The array may be empty if no features are found at the given location.
43734
44143
  */
43735
44144
  pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise<ImageryLayerFeatureInfo[]> | undefined;
43736
44145
  /**
43737
44146
  * The default parameters to include in the WMS URL to obtain images. The values are as follows:
43738
- service=WMS
43739
- version=1.1.1
43740
- request=GetMap
43741
- styles=
43742
- format=image/jpeg
44147
+ * service=WMS
44148
+ * version=1.1.1
44149
+ * request=GetMap
44150
+ * styles=
44151
+ * format=image/jpeg
43743
44152
  */
43744
44153
  static readonly DefaultParameters: any;
43745
44154
  /**
43746
44155
  * The default parameters to include in the WMS URL to get feature information. The values are as follows:
43747
- service=WMS
43748
- version=1.1.1
43749
- request=GetFeatureInfo
44156
+ * service=WMS
44157
+ * version=1.1.1
44158
+ * request=GetFeatureInfo
43750
44159
  */
43751
44160
  static readonly GetFeatureInfoDefaultParameters: any;
43752
44161
  }
@@ -43987,6 +44396,7 @@ const widget2 = new Cesium.CesiumWidget("cesiumContainer", {
43987
44396
  * @param container - The DOM element or ID that will contain the widget.
43988
44397
  * @param [options] - Object with the following properties:
43989
44398
  * @param [options.clock = new Clock()] - The clock to use to control current time.
44399
+ * @param [options.shouldAnimate = false] - <code>true</code> if the clock should attempt to advance simulation time by default, <code>false</code> otherwise.
43990
44400
  * @param [options.ellipsoid = Ellipsoid.default] - The default ellipsoid.
43991
44401
  * @param [options.baseLayer = ImageryLayer.fromWorldImagery()] - The bottommost imagery layer applied to the globe. If set to <code>false</code>, no imagery provider will be added.
43992
44402
  * @param [options.terrainProvider = new EllipsoidTerrainProvider(options.ellipsoid)] - The terrain provider.
@@ -44002,14 +44412,17 @@ const widget2 = new Cesium.CesiumWidget("cesiumContainer", {
44002
44412
  * @param [options.useBrowserRecommendedResolution = true] - If true, render at the browser's recommended resolution and ignore <code>window.devicePixelRatio</code>.
44003
44413
  * @param [options.targetFrameRate] - The target frame rate when using the default render loop.
44004
44414
  * @param [options.showRenderLoopErrors = true] - If true, this widget will automatically display an HTML panel to the user containing the error, if a render loop error occurs.
44415
+ * @param [options.automaticallyTrackDataSourceClocks = true] - If true, this widget will automatically track the clock settings of newly added DataSources, updating if the DataSource's clock changes. Set this to false if you want to configure the clock independently.
44005
44416
  * @param [options.contextOptions] - Context and WebGL creation properties passed to {@link Scene}.
44006
44417
  * @param [options.creditContainer] - The DOM element or ID that will contain the {@link CreditDisplay}. If not specified, the credits are added
44007
44418
  to the bottom of the widget itself.
44008
44419
  * @param [options.creditViewport] - The DOM element or ID that will contain the credit pop up created by the {@link CreditDisplay}. If not specified, it will appear over the widget itself.
44420
+ * @param [options.dataSources = new DataSourceCollection()] - The collection of data sources visualized by the widget. If this parameter is provided,
44421
+ the instance is assumed to be owned by the caller and will not be destroyed when the widget is destroyed.
44009
44422
  * @param [options.shadows = false] - Determines if shadows are cast by light sources.
44010
44423
  * @param [options.terrainShadows = ShadowMode.RECEIVE_ONLY] - Determines if the terrain casts or receives shadows from light sources.
44011
44424
  * @param [options.mapMode2D = MapMode2D.INFINITE_SCROLL] - Determines if the 2D map is rotatable or can be scrolled infinitely in the horizontal direction.
44012
- * @param [options.blurActiveElementOnCanvasFocus = true] - If true, the active element will blur when the viewer's canvas is clicked. Setting this to false is useful for cases when the canvas is clicked only for retrieving position or an entity data without actually meaning to set the canvas to be the active element.
44425
+ * @param [options.blurActiveElementOnCanvasFocus = true] - If true, the active element will blur when the widget's canvas is clicked. Setting this to false is useful for cases when the canvas is clicked only for retrieving position or an entity data without actually meaning to set the canvas to be the active element.
44013
44426
  * @param [options.requestRenderMode = false] - If true, rendering a frame will only occur when needed as determined by changes within the scene. Enabling improves performance of the application, but requires using {@link Scene#requestRender} to render a new frame explicitly in this mode. This will be necessary in many cases after making changes to the scene in other parts of the API. See {@link https://cesium.com/blog/2018/01/24/cesium-scene-rendering-performance/|Improving Performance with Explicit Rendering}.
44014
44427
  * @param [options.maximumRenderTimeChange = 0.0] - If requestRenderMode is true, this value defines the maximum change in simulation time allowed before a render is requested. See {@link https://cesium.com/blog/2018/01/24/cesium-scene-rendering-performance/|Improving Performance with Explicit Rendering}.
44015
44428
  * @param [options.msaaSamples = 4] - If provided, this value controls the rate of multisample antialiasing. Typical multisampling rates are 2, 4, and sometimes 8 samples per pixel. Higher sampling rates of MSAA may impact performance in exchange for improved visual quality. This value only applies to WebGL2 contexts that support multisample render targets. Set to 1 to disable MSAA.
@@ -44017,6 +44430,7 @@ const widget2 = new Cesium.CesiumWidget("cesiumContainer", {
44017
44430
  export class CesiumWidget {
44018
44431
  constructor(container: Element | string, options?: {
44019
44432
  clock?: Clock;
44433
+ shouldAnimate?: boolean;
44020
44434
  ellipsoid?: Ellipsoid;
44021
44435
  baseLayer?: ImageryLayer | false;
44022
44436
  terrainProvider?: TerrainProvider;
@@ -44032,9 +44446,11 @@ export class CesiumWidget {
44032
44446
  useBrowserRecommendedResolution?: boolean;
44033
44447
  targetFrameRate?: number;
44034
44448
  showRenderLoopErrors?: boolean;
44449
+ automaticallyTrackDataSourceClocks?: boolean;
44035
44450
  contextOptions?: ContextOptions;
44036
44451
  creditContainer?: Element | string;
44037
44452
  creditViewport?: Element | string;
44453
+ dataSources?: DataSourceCollection;
44038
44454
  shadows?: boolean;
44039
44455
  terrainShadows?: ShadowMode;
44040
44456
  mapMode2D?: MapMode2D;
@@ -44075,6 +44491,19 @@ export class CesiumWidget {
44075
44491
  * Manages the list of credits to display on screen and in the lightbox.
44076
44492
  */
44077
44493
  creditDisplay: CreditDisplay;
44494
+ /**
44495
+ * Gets the display used for {@link DataSource} visualization.
44496
+ */
44497
+ readonly dataSourceDisplay: DataSourceDisplay;
44498
+ /**
44499
+ * Gets the collection of entities not tied to a particular data source.
44500
+ This is a shortcut to [dataSourceDisplay.defaultDataSource.entities]{@link CesiumWidget#dataSourceDisplay}.
44501
+ */
44502
+ readonly entities: EntityCollection;
44503
+ /**
44504
+ * Gets the set of {@link DataSource} instances to be visualized.
44505
+ */
44506
+ readonly dataSources: DataSourceCollection;
44078
44507
  /**
44079
44508
  * Gets the camera.
44080
44509
  */
@@ -44128,6 +44557,25 @@ export class CesiumWidget {
44128
44557
  this flag is true or false.
44129
44558
  */
44130
44559
  useBrowserRecommendedResolution: boolean;
44560
+ /**
44561
+ * Gets or sets whether or not data sources can temporarily pause
44562
+ animation in order to avoid showing an incomplete picture to the user.
44563
+ For example, if asynchronous primitives are being processed in the
44564
+ background, the clock will not advance until the geometry is ready.
44565
+ */
44566
+ allowDataSourcesToSuspendAnimation: boolean;
44567
+ /**
44568
+ * Gets or sets the Entity instance currently being tracked by the camera.
44569
+ */
44570
+ trackedEntity: Entity | undefined;
44571
+ /**
44572
+ * Gets the event that is raised when the tracked entity changes.
44573
+ */
44574
+ readonly trackedEntityChanged: Event;
44575
+ /**
44576
+ * Gets or sets the data source to track with the widget's clock.
44577
+ */
44578
+ clockTrackedDataSource: DataSource;
44131
44579
  /**
44132
44580
  * Show an error panel to the user containing a title and a longer error message,
44133
44581
  which can be dismissed using an OK button. This panel is displayed automatically
@@ -44158,6 +44606,51 @@ export class CesiumWidget {
44158
44606
  unless <code>useDefaultRenderLoop</code> is set to false;
44159
44607
  */
44160
44608
  render(): void;
44609
+ /**
44610
+ * Asynchronously sets the camera to view the provided entity, entities, or data source.
44611
+ If the data source is still in the process of loading or the visualization is otherwise still loading,
44612
+ this method waits for the data to be ready before performing the zoom.
44613
+
44614
+ <p>The offset is heading/pitch/range in the local east-north-up reference frame centered at the center of the bounding sphere.
44615
+ The heading and the pitch angles are defined in the local east-north-up reference frame.
44616
+ The heading is the angle from y axis and increasing towards the x axis. Pitch is the rotation from the xy-plane. Positive pitch
44617
+ angles are above the plane. Negative pitch angles are below the plane. The range is the distance from the center. If the range is
44618
+ zero, a range will be computed such that the whole bounding sphere is visible.</p>
44619
+
44620
+ <p>In 2D, there must be a top down view. The camera will be placed above the target looking down. The height above the
44621
+ target will be the range. The heading will be determined from the offset. If the heading cannot be
44622
+ determined from the offset, the heading will be north.</p>
44623
+ * @param target - The entity, array of entities, entity collection, data source, Cesium3DTileset, point cloud, or imagery layer to view. You can also pass a promise that resolves to one of the previously mentioned types.
44624
+ * @param [offset] - The offset from the center of the entity in the local east-north-up reference frame.
44625
+ * @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.
44626
+ */
44627
+ zoomTo(target: Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | Promise<Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | VoxelPrimitive>, offset?: HeadingPitchRange): Promise<boolean>;
44628
+ /**
44629
+ * Flies the camera to the provided entity, entities, or data source.
44630
+ If the data source is still in the process of loading or the visualization is otherwise still loading,
44631
+ this method waits for the data to be ready before performing the flight.
44632
+
44633
+ <p>The offset is heading/pitch/range in the local east-north-up reference frame centered at the center of the bounding sphere.
44634
+ The heading and the pitch angles are defined in the local east-north-up reference frame.
44635
+ The heading is the angle from y axis and increasing towards the x axis. Pitch is the rotation from the xy-plane. Positive pitch
44636
+ angles are above the plane. Negative pitch angles are below the plane. The range is the distance from the center. If the range is
44637
+ zero, a range will be computed such that the whole bounding sphere is visible.</p>
44638
+
44639
+ <p>In 2D, there must be a top down view. The camera will be placed above the target looking down. The height above the
44640
+ target will be the range. The heading will be determined from the offset. If the heading cannot be
44641
+ determined from the offset, the heading will be north.</p>
44642
+ * @param target - The entity, array of entities, entity collection, data source, Cesium3DTileset, point cloud, or imagery layer to view. You can also pass a promise that resolves to one of the previously mentioned types.
44643
+ * @param [options] - Object with the following properties:
44644
+ * @param [options.duration = 3.0] - The duration of the flight in seconds.
44645
+ * @param [options.maximumHeight] - The maximum height at the peak of the flight.
44646
+ * @param [options.offset] - The offset from the target in the local east-north-up reference frame centered at the target.
44647
+ * @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
44648
+ */
44649
+ flyTo(target: Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | Promise<Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | VoxelPrimitive>, options?: {
44650
+ duration?: number;
44651
+ maximumHeight?: number;
44652
+ offset?: HeadingPitchRange;
44653
+ }): Promise<boolean>;
44161
44654
  }
44162
44655
 
44163
44656
  /**
@@ -44462,12 +44955,12 @@ export class BaseLayerPickerViewModel {
44462
44955
  });
44463
44956
  /**
44464
44957
  * Gets or sets an array of ProviderViewModel instances available for imagery selection.
44465
- This property is observable.
44958
+ * This property is observable.
44466
44959
  */
44467
44960
  imageryProviderViewModels: ProviderViewModel[];
44468
44961
  /**
44469
44962
  * Gets or sets an array of ProviderViewModel instances available for terrain selection.
44470
- This property is observable.
44963
+ * This property is observable.
44471
44964
  */
44472
44965
  terrainProviderViewModels: ProviderViewModel[];
44473
44966
  /**
@@ -44508,7 +45001,7 @@ export class BaseLayerPickerViewModel {
44508
45001
  * @param options.iconUrl - An icon representing the layer.
44509
45002
  * @param [options.category] - A category for the layer.
44510
45003
  * @param options.creationFunction - A function or Command
44511
- that creates one or more providers which will be added to the globe when this item is selected.
45004
+ * that creates one or more providers which will be added to the globe when this item is selected.
44512
45005
  */
44513
45006
  export class ProviderViewModel {
44514
45007
  constructor(options: {
@@ -44532,7 +45025,7 @@ export class ProviderViewModel {
44532
45025
  iconUrl: string;
44533
45026
  /**
44534
45027
  * Gets the Command that creates one or more providers which will be added to
44535
- the globe when this item is selected.
45028
+ * the globe when this item is selected.
44536
45029
  */
44537
45030
  readonly creationCommand: Command;
44538
45031
  /**
@@ -46093,7 +46586,7 @@ export namespace Viewer {
46093
46586
  * @property [baseLayerPicker = true] - If set to false, the BaseLayerPicker widget will not be created.
46094
46587
  * @property [fullscreenButton = true] - If set to false, the FullscreenButton widget will not be created.
46095
46588
  * @property [vrButton = false] - If set to true, the VRButton widget will be created.
46096
- * @property [geocoder = true] - If set to false, the Geocoder widget will not be created.
46589
+ * @property [geocoder = IonGeocodeProviderType.DEFAULT] - The geocoding service or services to use when searching with the Geocoder widget. If set to false, the Geocoder widget will not be created.
46097
46590
  * @property [homeButton = true] - If set to false, the HomeButton widget will not be created.
46098
46591
  * @property [infoBox = true] - If set to false, the InfoBox widget will not be created.
46099
46592
  * @property [sceneModePicker = true] - If set to false, the SceneModePicker widget will not be created.
@@ -46108,7 +46601,7 @@ export namespace Viewer {
46108
46601
  * @property [imageryProviderViewModels = createDefaultImageryProviderViewModels()] - The array of ProviderViewModels to be selectable from the BaseLayerPicker. This value is only valid if `baseLayerPicker` is set to true.
46109
46602
  * @property [selectedTerrainProviderViewModel] - The view model for the current base terrain layer, if not supplied the first available base layer is used. This value is only valid if `baseLayerPicker` is set to true.
46110
46603
  * @property [terrainProviderViewModels = createDefaultTerrainProviderViewModels()] - The array of ProviderViewModels to be selectable from the BaseLayerPicker. This value is only valid if `baseLayerPicker` is set to true.
46111
- * @property [baseLayer = ImageryLayer.fromWorldImagery()] - The bottommost imagery layer applied to the globe. If set to <code>false</code>, no imagery provider will be added. This value is only valid if `baseLayerPicker` is set to false.
46604
+ * @property [baseLayer = ImageryLayer.fromWorldImagery()] - The bottommost imagery layer applied to the globe. If set to <code>false</code>, no imagery provider will be added. This value is only valid if `baseLayerPicker` is set to false. Cannot be used when `globe` is set to false.
46112
46605
  * @property [ellipsoid = Ellipsoid.default] - The default ellipsoid.
46113
46606
  * @property [terrainProvider = new EllipsoidTerrainProvider()] - The terrain provider to use
46114
46607
  * @property [terrain] - A terrain object which handles asynchronous terrain provider. Can only specify if options.terrainProvider is undefined.
@@ -46144,7 +46637,7 @@ export namespace Viewer {
46144
46637
  baseLayerPicker?: boolean;
46145
46638
  fullscreenButton?: boolean;
46146
46639
  vrButton?: boolean;
46147
- geocoder?: boolean | GeocoderService[];
46640
+ geocoder?: boolean | IonGeocodeProviderType | GeocoderService[];
46148
46641
  homeButton?: boolean;
46149
46642
  infoBox?: boolean;
46150
46643
  sceneModePicker?: boolean;