mars3d-cesium 1.123.0 → 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 +1165 -919
  2. package/Build/Cesium/Cesium.js +15267 -15223
  3. package/Build/Cesium/ThirdParty/draco_decoder.wasm +0 -0
  4. package/Build/Cesium/Workers/{chunk-LHS5TN3A.js → chunk-2K72IAMD.js} +8 -8
  5. package/Build/Cesium/Workers/{chunk-SBSN37OV.js → chunk-44LKXGXW.js} +2 -2
  6. package/Build/Cesium/Workers/{chunk-JMKX5LA4.js → chunk-46LYVLGL.js} +2 -2
  7. package/Build/Cesium/Workers/{chunk-TXRUVZNW.js → chunk-4ALHVD6K.js} +2 -2
  8. package/Build/Cesium/Workers/{chunk-COHZ2JB7.js → chunk-4BGNE6LH.js} +2 -2
  9. package/Build/Cesium/Workers/{chunk-EDC54NGV.js → chunk-4ULMZV5R.js} +2 -2
  10. package/Build/Cesium/Workers/{chunk-FTOES7XH.js → chunk-5CZH3YOM.js} +2 -2
  11. package/Build/Cesium/Workers/{chunk-YD4YMPR5.js → chunk-64YODNAO.js} +2 -2
  12. package/Build/Cesium/Workers/{chunk-WKX2ITME.js → chunk-67ZE4UMX.js} +2 -2
  13. package/Build/Cesium/Workers/{chunk-VK54TPWB.js → chunk-6DFUP66D.js} +1 -1
  14. package/Build/Cesium/Workers/{chunk-SMMN4GPT.js → chunk-6IQVYEBD.js} +2 -2
  15. package/Build/Cesium/Workers/{chunk-2F7L2RGC.js → chunk-72NMS5KE.js} +2 -2
  16. package/Build/Cesium/Workers/{chunk-47CVRIWA.js → chunk-A3VS2OZ2.js} +2 -2
  17. package/Build/Cesium/Workers/{chunk-5QRBSDNH.js → chunk-ADZK2JLO.js} +2 -2
  18. package/Build/Cesium/Workers/{chunk-QBNVYZHU.js → chunk-AVHFP6LX.js} +2 -2
  19. package/Build/Cesium/Workers/{chunk-XHJZTBW7.js → chunk-BMKF5JTH.js} +2 -2
  20. package/Build/Cesium/Workers/{chunk-OIX67ZCI.js → chunk-BRDKDER4.js} +1 -1
  21. package/Build/Cesium/Workers/{chunk-N3KGKZC7.js → chunk-CJFJKB5V.js} +1 -1
  22. package/Build/Cesium/Workers/{chunk-OJBCZK5U.js → chunk-D76R4V7H.js} +2 -2
  23. package/Build/Cesium/Workers/{chunk-LPKBSZSZ.js → chunk-DW4EQ6YI.js} +2 -2
  24. package/Build/Cesium/Workers/{chunk-VXKUVLIL.js → chunk-E2XIHPTZ.js} +2 -2
  25. package/Build/Cesium/Workers/{chunk-2AOCWALB.js → chunk-EXYLABM3.js} +2 -2
  26. package/Build/Cesium/Workers/{chunk-2ONF4UBQ.js → chunk-G6BZKWWN.js} +2 -2
  27. package/Build/Cesium/Workers/{chunk-L7M7ODUD.js → chunk-GCVZZUCS.js} +2 -2
  28. package/Build/Cesium/Workers/{chunk-FRO3S7ZW.js → chunk-GNTVNTUY.js} +2 -2
  29. package/Build/Cesium/Workers/{chunk-KTKT276N.js → chunk-GP5GXDAP.js} +2 -2
  30. package/Build/Cesium/Workers/{chunk-VXJH6QPP.js → chunk-GVFM5H7M.js} +2 -2
  31. package/Build/Cesium/Workers/{chunk-7GKPKMMB.js → chunk-HPB3ARQJ.js} +2 -2
  32. package/Build/Cesium/Workers/{chunk-UJJDUZCJ.js → chunk-HWH6BBH6.js} +2 -2
  33. package/Build/Cesium/Workers/{chunk-UHLOCCK2.js → chunk-I66MFRXO.js} +2 -2
  34. package/Build/Cesium/Workers/{chunk-IA43MZW2.js → chunk-J27DO7RZ.js} +2 -2
  35. package/Build/Cesium/Workers/{chunk-DKFNYOM5.js → chunk-JHG5JGLM.js} +2 -2
  36. package/Build/Cesium/Workers/{chunk-QLIKE64X.js → chunk-JKCZ5NAK.js} +2 -2
  37. package/Build/Cesium/Workers/{chunk-C4DGH4KK.js → chunk-JLMPKQO4.js} +2 -2
  38. package/Build/Cesium/Workers/{chunk-W5NVY4O7.js → chunk-LKADYPHQ.js} +2 -2
  39. package/Build/Cesium/Workers/{chunk-WBEU4D2Z.js → chunk-LWGQRCCJ.js} +2 -2
  40. package/Build/Cesium/Workers/{chunk-WNUBI3U3.js → chunk-M2TWLQFJ.js} +2 -2
  41. package/Build/Cesium/Workers/{chunk-TAIG2RY7.js → chunk-NIXFT7ZT.js} +2 -2
  42. package/Build/Cesium/Workers/chunk-OWPC6DLM.js +26 -0
  43. package/Build/Cesium/Workers/{chunk-OZC25V6I.js → chunk-OX5CTLXY.js} +1 -1
  44. package/Build/Cesium/Workers/{chunk-ITQ6GZSV.js → chunk-QIZB5B47.js} +2 -2
  45. package/Build/Cesium/Workers/{chunk-RW2T2TEA.js → chunk-QT33UL57.js} +2 -2
  46. package/Build/Cesium/Workers/{chunk-GVMNFWLR.js → chunk-RPAJTIFB.js} +2 -2
  47. package/Build/Cesium/Workers/{chunk-4IEQ3QMK.js → chunk-S4WTTFQO.js} +2 -2
  48. package/Build/Cesium/Workers/{chunk-JS2Z67M6.js → chunk-SM4U4WO5.js} +2 -2
  49. package/Build/Cesium/Workers/{chunk-AV2MPTWK.js → chunk-SP2S5UZD.js} +2 -2
  50. package/Build/Cesium/Workers/{chunk-AFRMUD5P.js → chunk-SXINKIB2.js} +2 -2
  51. package/Build/Cesium/Workers/{chunk-5CIZ66OR.js → chunk-T7AQS7YI.js} +2 -2
  52. package/Build/Cesium/Workers/{chunk-ZMGX2JB6.js → chunk-TP5B32RY.js} +1 -1
  53. package/Build/Cesium/Workers/{chunk-EBH64KJD.js → chunk-TZGYF5KJ.js} +2 -2
  54. package/Build/Cesium/Workers/{chunk-PMRSPAQV.js → chunk-ULZ2QSU5.js} +2 -2
  55. package/Build/Cesium/Workers/{chunk-ZEA4QVSF.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 +7721 -7677
  105. package/Build/Cesium/index.js +15266 -15222
  106. package/README.md +141 -141
  107. package/package.json +1 -1
  108. package/Build/Cesium/Workers/chunk-6UVO3FQO.js +0 -26
@@ -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.
@@ -30994,12 +31106,22 @@ export function createElevationBandMaterial(options: {
30994
31106
  }): Material;
30995
31107
 
30996
31108
  /**
30997
- * 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.
30998
31116
  * @example
30999
- * const viewer = new Cesium.Viewer("cesiumContainer");
31117
+ * const viewer = new Cesium.Viewer("cesiumContainer", {
31118
+ geocoder: Cesium.IonGeocodeProviderType.GOOGLE
31119
+ });
31000
31120
 
31001
31121
  try {
31002
- const tileset = await Cesium.createGooglePhotorealistic3DTileset();
31122
+ const tileset = await Cesium.createGooglePhotorealistic3DTileset({
31123
+ onlyUsingWithGoogleGeocoder: true,
31124
+ });
31003
31125
  viewer.scene.primitives.add(tileset));
31004
31126
  } catch (error) {
31005
31127
  console.log(`Error creating tileset: ${error}`);
@@ -31008,18 +31130,26 @@ try {
31008
31130
  * // Use your own Google Maps API key
31009
31131
  Cesium.GoogleMaps.defaultApiKey = "your-api-key";
31010
31132
 
31011
- const viewer = new Cesium.Viewer("cesiumContainer");
31133
+ const viewer = new Cesium.Viewer("cesiumContainer". {
31134
+ geocoder: Cesium.IonGeocodeProviderType.GOOGLE
31135
+ });
31012
31136
 
31013
31137
  try {
31014
- const tileset = await Cesium.createGooglePhotorealistic3DTileset();
31138
+ const tileset = await Cesium.createGooglePhotorealistic3DTileset({
31139
+ onlyUsingWithGoogleGeocoder: true,
31140
+ });
31015
31141
  viewer.scene.primitives.add(tileset));
31016
31142
  } catch (error) {
31017
31143
  console.log(`Error creating tileset: ${error}`);
31018
31144
  }
31019
- * @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.
31020
- * @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.
31021
31148
  */
31022
- 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>;
31023
31153
 
31024
31154
  /**
31025
31155
  * Creates a {@link Cesium3DTileset} instance for the
@@ -31615,14 +31745,55 @@ export enum DepthFunction {
31615
31745
 
31616
31746
  /**
31617
31747
  * Returns the type that the given class property has in a GLSL shader.
31618
-
31619
- It returns the same string as `PropertyTextureProperty.prototype.getGlslType`
31620
- 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
31621
31751
  * @param classProperty - The class property
31622
31752
  * @returns The GLSL shader type string for the property
31623
31753
  */
31624
31754
  export function getGlslType(classProperty: MetadataClassProperty): string;
31625
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
+
31626
31797
  /**
31627
31798
  * A light that gets emitted in a single direction from infinitely far away.
31628
31799
  * @param options - Object with the following properties:
@@ -31835,10 +32006,25 @@ export class DynamicEnvironmentMapManager {
31835
32006
  * mapManager = mapManager && mapManager.destroy();
31836
32007
  */
31837
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;
31838
32016
  /**
31839
32017
  * Average hue of ground color on earth, a warm green-gray.
31840
32018
  */
31841
- static AVERAGE_EARTH_GROUND_COLOR: Color;
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[];
31842
32028
  }
31843
32029
 
31844
32030
  /**
@@ -34053,81 +34239,81 @@ export namespace ImageryLayer {
34053
34239
  /**
34054
34240
  * Initialization options for the ImageryLayer constructor.
34055
34241
  * @property [rectangle = imageryProvider.rectangle] - The rectangle of the layer. This rectangle
34056
- can limit the visible portion of the imagery provider.
34242
+ * can limit the visible portion of the imagery provider.
34057
34243
  * @property [alpha = 1.0] - The alpha blending value of this layer, from 0.0 to 1.0.
34058
- This can either be a simple number or a function with the signature
34059
- <code>function(frameState, layer, x, y, level)</code>. The function is passed the
34060
- current frame state, this layer, and the x, y, and level coordinates of the
34061
- imagery tile for which the alpha is required, and it is expected to return
34062
- 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.
34063
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.
34064
- This can either be a simple number or a function with the signature
34065
- <code>function(frameState, layer, x, y, level)</code>. The function is passed the
34066
- current frame state, this layer, and the x, y, and level coordinates of the
34067
- imagery tile for which the alpha is required, and it is expected to return
34068
- 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>.
34069
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.
34070
- This can either be a simple number or a function with the signature
34071
- <code>function(frameState, layer, x, y, level)</code>. The function is passed the
34072
- current frame state, this layer, and the x, y, and level coordinates of the
34073
- imagery tile for which the alpha is required, and it is expected to return
34074
- 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>.
34075
34261
  * @property [brightness = 1.0] - The brightness of this layer. 1.0 uses the unmodified imagery
34076
- color. Less than 1.0 makes the imagery darker while greater than 1.0 makes it brighter.
34077
- This can either be a simple number or a function with the signature
34078
- <code>function(frameState, layer, x, y, level)</code>. The function is passed the
34079
- current frame state, this layer, and the x, y, and level coordinates of the
34080
- imagery tile for which the brightness is required, and it is expected to return
34081
- the brightness value to use for the tile. The function is executed for every
34082
- 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.
34083
34269
  * @property [contrast = 1.0] - The contrast of this layer. 1.0 uses the unmodified imagery color.
34084
- Less than 1.0 reduces the contrast while greater than 1.0 increases it.
34085
- This can either be a simple number or a function with the signature
34086
- <code>function(frameState, layer, x, y, level)</code>. The function is passed the
34087
- current frame state, this layer, and the x, y, and level coordinates of the
34088
- imagery tile for which the contrast is required, and it is expected to return
34089
- the contrast value to use for the tile. The function is executed for every
34090
- 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.
34091
34277
  * @property [hue = 0.0] - The hue of this layer. 0.0 uses the unmodified imagery color.
34092
- This can either be a simple number or a function with the signature
34093
- <code>function(frameState, layer, x, y, level)</code>. The function is passed the
34094
- current frame state, this layer, and the x, y, and level coordinates
34095
- of the imagery tile for which the hue is required, and it is expected to return
34096
- the contrast value to use for the tile. The function is executed for every
34097
- 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.
34098
34284
  * @property [saturation = 1.0] - The saturation of this layer. 1.0 uses the unmodified imagery color.
34099
- Less than 1.0 reduces the saturation while greater than 1.0 increases it.
34100
- This can either be a simple number or a function with the signature
34101
- <code>function(frameState, layer, x, y, level)</code>. The function is passed the
34102
- current frame state, this layer, and the x, y, and level coordinates
34103
- of the imagery tile for which the saturation is required, and it is expected to return
34104
- the contrast value to use for the tile. The function is executed for every
34105
- 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.
34106
34292
  * @property [gamma = 1.0] - The gamma correction to apply to this layer. 1.0 uses the unmodified imagery color.
34107
- This can either be a simple number or a function with the signature
34108
- <code>function(frameState, layer, x, y, level)</code>. The function is passed the
34109
- current frame state, this layer, and the x, y, and level coordinates of the
34110
- imagery tile for which the gamma is required, and it is expected to return
34111
- the gamma value to use for the tile. The function is executed for every
34112
- 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.
34113
34299
  * @property [splitDirection = SplitDirection.NONE] - The {@link SplitDirection} split to apply to this layer.
34114
34300
  * @property [minificationFilter = TextureMinificationFilter.LINEAR] - The
34115
- texture minification filter to apply to this layer. Possible values
34116
- are <code>TextureMinificationFilter.LINEAR</code> and
34117
- <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>.
34118
34304
  * @property [magnificationFilter = TextureMagnificationFilter.LINEAR] - The
34119
- texture minification filter to apply to this layer. Possible values
34120
- are <code>TextureMagnificationFilter.LINEAR</code> and
34121
- <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>.
34122
34308
  * @property [show = true] - True if the layer is shown; otherwise, false.
34123
34309
  * @property [maximumAnisotropy = maximum supported] - The maximum anisotropy level to use
34124
- for texture filtering. If this parameter is not specified, the maximum anisotropy supported
34125
- by the WebGL stack will be used. Larger values make the imagery look better in horizon
34126
- 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.
34127
34313
  * @property [minimumTerrainLevel] - The minimum terrain level-of-detail at which to show this imagery layer,
34128
- 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.
34129
34315
  * @property [maximumTerrainLevel] - The maximum terrain level-of-detail at which to show this imagery layer,
34130
- 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.
34131
34317
  * @property [cutoutRectangle] - Cartographic rectangle for cutting out a portion of this ImageryLayer.
34132
34318
  * @property [colorToAlpha] - Color to be used as alpha.
34133
34319
  * @property [colorToAlphaThreshold = 0.004] - Threshold for color-to-alpha.
@@ -34162,22 +34348,22 @@ export namespace ImageryLayer {
34162
34348
 
34163
34349
  /**
34164
34350
  * An imagery layer that displays tiled image data from a single imagery provider
34165
- on a {@link Globe}.
34351
+ * on a {@link Globe}.
34166
34352
  * @example
34167
34353
  * // Add an OpenStreetMaps layer
34168
- const imageryLayer = new Cesium.ImageryLayer(new Cesium.OpenStreetMapImageryProvider({
34169
- url: "https://tile.openstreetmap.org/"
34170
- }));
34171
- 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);
34172
34358
  * @example
34173
34359
  * // Add Cesium ion's default world imagery layer
34174
- const imageryLayer = Cesium.ImageryLayer.fromWorldImagery();
34175
- scene.imageryLayers.add(imageryLayer);
34360
+ * const imageryLayer = Cesium.ImageryLayer.fromWorldImagery();
34361
+ * scene.imageryLayers.add(imageryLayer);
34176
34362
  * @example
34177
34363
  * // Add a new transparent layer from Cesium ion
34178
- const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
34179
- imageryLayer.alpha = 0.5;
34180
- scene.imageryLayers.add(imageryLayer);
34364
+ * const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
34365
+ * imageryLayer.alpha = 0.5;
34366
+ * scene.imageryLayers.add(imageryLayer);
34181
34367
  * @param [imageryProvider] - The imagery provider to use.
34182
34368
  * @param [options] - An object describing initialization options
34183
34369
  */
@@ -34185,27 +34371,27 @@ export class ImageryLayer {
34185
34371
  constructor(imageryProvider?: ImageryProvider, options?: ImageryLayer.ConstructorOptions);
34186
34372
  /**
34187
34373
  * The alpha blending value of this layer, with 0.0 representing fully transparent and
34188
- 1.0 representing fully opaque.
34374
+ * 1.0 representing fully opaque.
34189
34375
  */
34190
34376
  alpha: number;
34191
34377
  /**
34192
34378
  * The alpha blending value of this layer on the night side of the globe, with 0.0 representing fully transparent and
34193
- 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>.
34194
34380
  */
34195
34381
  nightAlpha: number;
34196
34382
  /**
34197
34383
  * The alpha blending value of this layer on the day side of the globe, with 0.0 representing fully transparent and
34198
- 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>.
34199
34385
  */
34200
34386
  dayAlpha: number;
34201
34387
  /**
34202
34388
  * The brightness of this layer. 1.0 uses the unmodified imagery color. Less than 1.0
34203
- 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.
34204
34390
  */
34205
34391
  brightness: number;
34206
34392
  /**
34207
34393
  * The contrast of this layer. 1.0 uses the unmodified imagery color. Less than 1.0 reduces
34208
- the contrast while greater than 1.0 increases it.
34394
+ * the contrast while greater than 1.0 increases it.
34209
34395
  */
34210
34396
  contrast: number;
34211
34397
  /**
@@ -34214,7 +34400,7 @@ export class ImageryLayer {
34214
34400
  hue: number;
34215
34401
  /**
34216
34402
  * The saturation of this layer. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the
34217
- saturation while greater than 1.0 increases it.
34403
+ * saturation while greater than 1.0 increases it.
34218
34404
  */
34219
34405
  saturation: number;
34220
34406
  /**
@@ -34227,20 +34413,20 @@ export class ImageryLayer {
34227
34413
  splitDirection: SplitDirection;
34228
34414
  /**
34229
34415
  * The {@link TextureMinificationFilter} to apply to this layer.
34230
- Possible values are {@link TextureMinificationFilter.LINEAR} (the default)
34231
- and {@link TextureMinificationFilter.NEAREST}.
34232
-
34233
- To take effect, this property must be set immediately after adding the imagery layer.
34234
- 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.
34235
34421
  */
34236
34422
  minificationFilter: TextureMinificationFilter;
34237
34423
  /**
34238
34424
  * The {@link TextureMagnificationFilter} to apply to this layer.
34239
- Possible values are {@link TextureMagnificationFilter.LINEAR} (the default)
34240
- and {@link TextureMagnificationFilter.NEAREST}.
34241
-
34242
- To take effect, this property must be set immediately after adding the imagery layer.
34243
- 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.
34244
34430
  */
34245
34431
  magnificationFilter: TextureMagnificationFilter;
34246
34432
  /**
@@ -34269,85 +34455,85 @@ export class ImageryLayer {
34269
34455
  readonly ready: boolean;
34270
34456
  /**
34271
34457
  * Gets an event that is raised when the imagery provider has been successfully created. Event listeners
34272
- are passed the created instance of {@link ImageryProvider}.
34458
+ * are passed the created instance of {@link ImageryProvider}.
34273
34459
  */
34274
34460
  readonly readyEvent: Event<ImageryLayer.ReadyEventCallback>;
34275
34461
  /**
34276
34462
  * Gets the rectangle of this layer. If this rectangle is smaller than the rectangle of the
34277
- {@link ImageryProvider}, only a portion of the imagery provider is shown.
34463
+ * {@link ImageryProvider}, only a portion of the imagery provider is shown.
34278
34464
  */
34279
34465
  readonly rectangle: Rectangle;
34280
34466
  /**
34281
34467
  * This value is used as the default brightness for the imagery layer if one is not provided during construction
34282
- 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.
34283
34469
  */
34284
34470
  static DEFAULT_BRIGHTNESS: number;
34285
34471
  /**
34286
34472
  * This value is used as the default contrast for the imagery layer if one is not provided during construction
34287
- 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.
34288
34474
  */
34289
34475
  static DEFAULT_CONTRAST: number;
34290
34476
  /**
34291
34477
  * This value is used as the default hue for the imagery layer if one is not provided during construction
34292
- 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.
34293
34479
  */
34294
34480
  static DEFAULT_HUE: number;
34295
34481
  /**
34296
34482
  * This value is used as the default saturation for the imagery layer if one is not provided during construction
34297
- 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.
34298
34484
  */
34299
34485
  static DEFAULT_SATURATION: number;
34300
34486
  /**
34301
34487
  * This value is used as the default gamma for the imagery layer if one is not provided during construction
34302
- 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.
34303
34489
  */
34304
34490
  static DEFAULT_GAMMA: number;
34305
34491
  /**
34306
34492
  * This value is used as the default split for the imagery layer if one is not provided during construction
34307
- or by the imagery provider.
34493
+ * or by the imagery provider.
34308
34494
  */
34309
34495
  static DEFAULT_SPLIT: SplitDirection;
34310
34496
  /**
34311
34497
  * This value is used as the default texture minification filter for the imagery layer if one is not provided
34312
- during construction or by the imagery provider.
34498
+ * during construction or by the imagery provider.
34313
34499
  */
34314
34500
  static DEFAULT_MINIFICATION_FILTER: TextureMinificationFilter;
34315
34501
  /**
34316
34502
  * This value is used as the default texture magnification filter for the imagery layer if one is not provided
34317
- during construction or by the imagery provider.
34503
+ * during construction or by the imagery provider.
34318
34504
  */
34319
34505
  static DEFAULT_MAGNIFICATION_FILTER: TextureMagnificationFilter;
34320
34506
  /**
34321
34507
  * This value is used as the default threshold for color-to-alpha if one is not provided
34322
- during construction or by the imagery provider.
34508
+ * during construction or by the imagery provider.
34323
34509
  */
34324
34510
  static DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD: number;
34325
34511
  /**
34326
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.
34327
34513
  * @example
34328
34514
  * // Create a new base layer
34329
- const viewer = new Cesium.Viewer("cesiumContainer", {
34330
- baseLayer: Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
34331
- });
34515
+ * const viewer = new Cesium.Viewer("cesiumContainer", {
34516
+ * baseLayer: Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
34517
+ * });
34332
34518
  * @example
34333
34519
  * // Add a new transparent layer
34334
- const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
34335
- imageryLayer.alpha = 0.5;
34336
- viewer.imageryLayers.add(imageryLayer);
34520
+ * const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
34521
+ * imageryLayer.alpha = 0.5;
34522
+ * viewer.imageryLayers.add(imageryLayer);
34337
34523
  * @example
34338
34524
  * // Handle loading events
34339
- const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
34340
- viewer.imageryLayers.add(imageryLayer);
34341
-
34342
- imageryLayer.readyEvent.addEventListener(provider => {
34343
- imageryLayer.provider.errorEvent.addEventListener(error => {
34344
- alert(`Encountered an error while loading imagery tiles! ${error}`);
34345
- });
34346
- });
34347
-
34348
- imageryLayer.errorEvent.addEventListener(error => {
34349
- alert(`Encountered an error while creating an imagery layer! ${error}`);
34350
- });
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
+ * });
34351
34537
  * @param imageryProviderPromise - A promise which resolves to a imagery provider
34352
34538
  * @param options - An object describing initialization options
34353
34539
  * @returns The created imagery layer.
@@ -34357,70 +34543,70 @@ export class ImageryLayer {
34357
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.
34358
34544
  * @example
34359
34545
  * // Add a new transparent layer
34360
- const imageryLayer = Cesium.ImageryLayer.fromWorldImagery();
34361
- imageryLayer.alpha = 0.5;
34362
- viewer.imageryLayers.add(imageryLayer);
34546
+ * const imageryLayer = Cesium.ImageryLayer.fromWorldImagery();
34547
+ * imageryLayer.alpha = 0.5;
34548
+ * viewer.imageryLayers.add(imageryLayer);
34363
34549
  * @example
34364
34550
  * // Handle loading events
34365
- const imageryLayer = Cesium.ImageryLayer.fromWorldImagery();
34366
- viewer.imageryLayers.add(imageryLayer);
34367
-
34368
- imageryLayer.readyEvent.addEventListener(provider => {
34369
- imageryLayer.provider.errorEvent.addEventListener(error => {
34370
- alert(`Encountered an error while loading imagery tiles! ${error}`);
34371
- });
34372
- });
34373
-
34374
- imageryLayer.errorEvent.addEventListener(error => {
34375
- alert(`Encountered an error while creating an imagery layer! ${error}`);
34376
- });
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
+ * });
34377
34563
  * @param options - An object describing initialization options
34378
34564
  * @returns The created imagery layer.
34379
-
34380
- * @example
34381
- // Create a new base layer
34382
- const viewer = new Cesium.Viewer("cesiumContainer", {
34383
- baseLayer: Cesium.ImageryLayer.fromWorldImagery();
34384
- });
34565
+ *
34566
+ * * @example
34567
+ * // Create a new base layer
34568
+ * const viewer = new Cesium.Viewer("cesiumContainer", {
34569
+ * baseLayer: Cesium.ImageryLayer.fromWorldImagery();
34570
+ * });
34385
34571
  */
34386
34572
  static fromWorldImagery(options: ImageryLayer.WorldImageryConstructorOptions): ImageryLayer;
34387
34573
  /**
34388
34574
  * Gets a value indicating whether this layer is the base layer in the
34389
- {@link ImageryLayerCollection}. The base layer is the one that underlies all
34390
- others. It is special in that it is treated as if it has global rectangle, even if
34391
- it actually does not, by stretching the texels at the edges over the entire
34392
- 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.
34393
34579
  * @returns true if this is the base layer; otherwise, false.
34394
34580
  */
34395
34581
  isBaseLayer(): boolean;
34396
34582
  /**
34397
34583
  * Returns true if this object was destroyed; otherwise, false.
34398
- <br /><br />
34399
- If this object was destroyed, it should not be used; calling any function other than
34400
- <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.
34401
34587
  * @returns True if this object was destroyed; otherwise, false.
34402
34588
  */
34403
34589
  isDestroyed(): boolean;
34404
34590
  /**
34405
34591
  * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
34406
- release of WebGL resources, instead of relying on the garbage collector to destroy this object.
34407
- <br /><br />
34408
- Once an object is destroyed, it should not be used; calling any function other than
34409
- <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
34410
- 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.
34411
34597
  * @example
34412
34598
  * imageryLayer = imageryLayer && imageryLayer.destroy();
34413
34599
  */
34414
34600
  destroy(): void;
34415
34601
  /**
34416
34602
  * Computes the intersection of this layer's rectangle with the imagery provider's availability rectangle,
34417
- 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.
34418
34604
  * @example
34419
34605
  * // Zoom to an imagery layer.
34420
- const imageryRectangle = imageryLayer.getImageryRectangle();
34421
- scene.camera.flyTo({
34422
- destination: rectangle
34423
- });
34606
+ * const imageryRectangle = imageryLayer.getImageryRectangle();
34607
+ * scene.camera.flyTo({
34608
+ * destination: rectangle
34609
+ * });
34424
34610
  * @returns A rectangle which defines the overall bounds of imagery that can be produced by this layer.
34425
34611
  */
34426
34612
  getImageryRectangle(): Rectangle;
@@ -34433,24 +34619,24 @@ export class ImageryLayerCollection {
34433
34619
  constructor();
34434
34620
  /**
34435
34621
  * An event that is raised when a layer is added to the collection. Event handlers are passed the layer that
34436
- was added and the index at which it was added.
34622
+ * was added and the index at which it was added.
34437
34623
  */
34438
34624
  layerAdded: Event;
34439
34625
  /**
34440
34626
  * An event that is raised when a layer is removed from the collection. Event handlers are passed the layer that
34441
- was removed and the index from which it was removed.
34627
+ * was removed and the index from which it was removed.
34442
34628
  */
34443
34629
  layerRemoved: Event;
34444
34630
  /**
34445
34631
  * An event that is raised when a layer changes position in the collection. Event handlers are passed the layer that
34446
- 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.
34447
34633
  */
34448
34634
  layerMoved: Event;
34449
34635
  /**
34450
34636
  * An event that is raised when a layer is shown or hidden by setting the
34451
- {@link ImageryLayer#show} property. Event handlers are passed a reference to this layer,
34452
- the index of the layer in the collection, and a flag that is true if the layer is now
34453
- 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.
34454
34640
  */
34455
34641
  layerShownOrHidden: Event;
34456
34642
  /**
@@ -34461,27 +34647,27 @@ export class ImageryLayerCollection {
34461
34647
  * Adds a layer to the collection.
34462
34648
  * @example
34463
34649
  * const imageryLayer = Cesium.ImageryLayer.fromWorldImagery();
34464
- scene.imageryLayers.add(imageryLayer);
34650
+ * scene.imageryLayers.add(imageryLayer);
34465
34651
  * @example
34466
34652
  * const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
34467
- scene.imageryLayers.add(imageryLayer);
34653
+ * scene.imageryLayers.add(imageryLayer);
34468
34654
  * @param layer - the layer to add.
34469
34655
  * @param [index] - the index to add the layer at. If omitted, the layer will
34470
- be added on top of all existing layers.
34656
+ * be added on top of all existing layers.
34471
34657
  */
34472
34658
  add(layer: ImageryLayer, index?: number): void;
34473
34659
  /**
34474
34660
  * Creates a new layer using the given ImageryProvider and adds it to the collection.
34475
34661
  * @example
34476
34662
  * try {
34477
- const provider = await Cesium.IonImageryProvider.fromAssetId(3812);
34478
- scene.imageryLayers.addImageryProvider(provider);
34479
- } catch (error) {
34480
- console.log(`There was an error creating the imagery layer. ${error}`)
34481
- }
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
+ * }
34482
34668
  * @param imageryProvider - the imagery provider to create a new layer for.
34483
34669
  * @param [index] - the index to add the layer at. If omitted, the layer will
34484
- added on top of all existing layers.
34670
+ * added on top of all existing layers.
34485
34671
  * @returns The newly created layer.
34486
34672
  */
34487
34673
  addImageryProvider(imageryProvider: ImageryProvider, index?: number): ImageryLayer;
@@ -34490,7 +34676,7 @@ export class ImageryLayerCollection {
34490
34676
  * @param layer - The layer to remove.
34491
34677
  * @param [destroy = true] - whether to destroy the layers in addition to removing them.
34492
34678
  * @returns true if the layer was in the collection and was removed,
34493
- false if the layer was not in the collection.
34679
+ * false if the layer was not in the collection.
34494
34680
  */
34495
34681
  remove(layer: ImageryLayer, destroy?: boolean): boolean;
34496
34682
  /**
@@ -34538,57 +34724,57 @@ export class ImageryLayerCollection {
34538
34724
  lowerToBottom(layer: ImageryLayer): void;
34539
34725
  /**
34540
34726
  * Determines the imagery layers that are intersected by a pick ray. To compute a pick ray from a
34541
- location on the screen, use {@link Camera.getPickRay}.
34727
+ * location on the screen, use {@link Camera.getPickRay}.
34542
34728
  * @param ray - The ray to test for intersection.
34543
34729
  * @param scene - The scene.
34544
34730
  * @returns An array that includes all of
34545
- the layers that are intersected by a given pick ray. Undefined if
34546
- no layers are selected.
34731
+ * the layers that are intersected by a given pick ray. Undefined if
34732
+ * no layers are selected.
34547
34733
  */
34548
34734
  pickImageryLayers(ray: Ray, scene: Scene): ImageryLayer[] | undefined;
34549
34735
  /**
34550
34736
  * Asynchronously determines the imagery layer features that are intersected by a pick ray. The intersected imagery
34551
- layer features are found by invoking {@link ImageryProvider#pickFeatures} for each imagery layer tile intersected
34552
- 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}.
34553
34739
  * @example
34554
34740
  * const pickRay = viewer.camera.getPickRay(windowPosition);
34555
- const featuresPromise = viewer.imageryLayers.pickImageryLayerFeatures(pickRay, viewer.scene);
34556
- if (!Cesium.defined(featuresPromise)) {
34557
- console.log('No features picked.');
34558
- } else {
34559
- Promise.resolve(featuresPromise).then(function(features) {
34560
- // This function is called asynchronously when the list if picked features is available.
34561
- console.log(`Number of features: ${features.length}`);
34562
- if (features.length > 0) {
34563
- console.log(`First feature name: ${features[0].name}`);
34564
- }
34565
- });
34566
- }
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
+ * }
34567
34753
  * @param ray - The ray to test for intersection.
34568
34754
  * @param scene - The scene.
34569
34755
  * @returns A promise that resolves to an array of features intersected by the pick ray.
34570
- If it can be quickly determined that no features are intersected (for example,
34571
- because no active imagery providers support {@link ImageryProvider#pickFeatures}
34572
- or because the pick ray does not intersect the surface), this function will
34573
- 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.
34574
34760
  */
34575
34761
  pickImageryLayerFeatures(ray: Ray, scene: Scene): Promise<ImageryLayerFeatureInfo[]> | undefined;
34576
34762
  /**
34577
34763
  * Returns true if this object was destroyed; otherwise, false.
34578
- <br /><br />
34579
- If this object was destroyed, it should not be used; calling any function other than
34580
- <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.
34581
34767
  * @returns true if this object was destroyed; otherwise, false.
34582
34768
  */
34583
34769
  isDestroyed(): boolean;
34584
34770
  /**
34585
34771
  * Destroys the WebGL resources held by all layers in this collection. Explicitly destroying this
34586
- object allows for deterministic release of WebGL resources, instead of relying on the garbage
34587
- collector.
34588
- <br /><br />
34589
- Once this object is destroyed, it should not be used; calling any function other than
34590
- <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
34591
- 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.
34592
34778
  * @example
34593
34779
  * layerCollection = layerCollection && layerCollection.destroy();
34594
34780
  */
@@ -34899,6 +35085,40 @@ export enum IonWorldImageryStyle {
34899
35085
  ROAD = 4
34900
35086
  }
34901
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
+
34902
35122
  export namespace Label {
34903
35123
  /**
34904
35124
  * Initialization options for the Label constructor
@@ -35731,216 +35951,216 @@ export enum MapMode2D {
35731
35951
 
35732
35952
  /**
35733
35953
  * A Material defines surface appearance through a combination of diffuse, specular,
35734
- normal, emission, and alpha components. These values are specified using a
35735
- JSON schema called Fabric which gets parsed and assembled into glsl shader code
35736
- behind-the-scenes. Check out the {@link https://github.com/CesiumGS/cesium/wiki/Fabric|wiki page}
35737
- for more details on Fabric.
35738
- <br /><br />
35739
- <style type="text/css">
35740
- #materialDescriptions code {
35741
- font-weight: normal;
35742
- font-family: Consolas, 'Lucida Console', Monaco, monospace;
35743
- color: #A35A00;
35744
- }
35745
- #materialDescriptions ul, #materialDescriptions ul ul {
35746
- list-style-type: none;
35747
- }
35748
- #materialDescriptions ul ul {
35749
- margin-bottom: 10px;
35750
- }
35751
- #materialDescriptions ul ul li {
35752
- font-weight: normal;
35753
- color: #000000;
35754
- text-indent: -2em;
35755
- margin-left: 2em;
35756
- }
35757
- #materialDescriptions ul li {
35758
- font-weight: bold;
35759
- color: #0053CF;
35760
- }
35761
- </style>
35762
-
35763
- Base material types and their uniforms:
35764
- <div id='materialDescriptions'>
35765
- <ul>
35766
- <li>Color</li>
35767
- <ul>
35768
- <li><code>color</code>: rgba color object.</li>
35769
- </ul>
35770
- <li>Image</li>
35771
- <ul>
35772
- <li><code>image</code>: path to image.</li>
35773
- <li><code>repeat</code>: Object with x and y values specifying the number of times to repeat the image.</li>
35774
- </ul>
35775
- <li>DiffuseMap</li>
35776
- <ul>
35777
- <li><code>image</code>: path to image.</li>
35778
- <li><code>channels</code>: Three character string containing any combination of r, g, b, and a for selecting the desired image channels.</li>
35779
- <li><code>repeat</code>: Object with x and y values specifying the number of times to repeat the image.</li>
35780
- </ul>
35781
- <li>AlphaMap</li>
35782
- <ul>
35783
- <li><code>image</code>: path to image.</li>
35784
- <li><code>channel</code>: One character string containing r, g, b, or a for selecting the desired image channel. </li>
35785
- <li><code>repeat</code>: Object with x and y values specifying the number of times to repeat the image.</li>
35786
- </ul>
35787
- <li>SpecularMap</li>
35788
- <ul>
35789
- <li><code>image</code>: path to image.</li>
35790
- <li><code>channel</code>: One character string containing r, g, b, or a for selecting the desired image channel. </li>
35791
- <li><code>repeat</code>: Object with x and y values specifying the number of times to repeat the image.</li>
35792
- </ul>
35793
- <li>EmissionMap</li>
35794
- <ul>
35795
- <li><code>image</code>: path to image.</li>
35796
- <li><code>channels</code>: Three character string containing any combination of r, g, b, and a for selecting the desired image channels. </li>
35797
- <li><code>repeat</code>: Object with x and y values specifying the number of times to repeat the image.</li>
35798
- </ul>
35799
- <li>BumpMap</li>
35800
- <ul>
35801
- <li><code>image</code>: path to image.</li>
35802
- <li><code>channel</code>: One character string containing r, g, b, or a for selecting the desired image channel. </li>
35803
- <li><code>repeat</code>: Object with x and y values specifying the number of times to repeat the image.</li>
35804
- <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>
35805
- </ul>
35806
- <li>NormalMap</li>
35807
- <ul>
35808
- <li><code>image</code>: path to image.</li>
35809
- <li><code>channels</code>: Three character string containing any combination of r, g, b, and a for selecting the desired image channels. </li>
35810
- <li><code>repeat</code>: Object with x and y values specifying the number of times to repeat the image.</li>
35811
- <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>
35812
- </ul>
35813
- <li>Grid</li>
35814
- <ul>
35815
- <li><code>color</code>: rgba color object for the whole material.</li>
35816
- <li><code>cellAlpha</code>: Alpha value for the cells between grid lines. This will be combined with color.alpha.</li>
35817
- <li><code>lineCount</code>: Object with x and y values specifying the number of columns and rows respectively.</li>
35818
- <li><code>lineThickness</code>: Object with x and y values specifying the thickness of grid lines (in pixels where available).</li>
35819
- <li><code>lineOffset</code>: Object with x and y values specifying the offset of grid lines (range is 0 to 1).</li>
35820
- </ul>
35821
- <li>Stripe</li>
35822
- <ul>
35823
- <li><code>horizontal</code>: Boolean that determines if the stripes are horizontal or vertical.</li>
35824
- <li><code>evenColor</code>: rgba color object for the stripe's first color.</li>
35825
- <li><code>oddColor</code>: rgba color object for the stripe's second color.</li>
35826
- <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>
35827
- <li><code>repeat</code>: Number that controls the total number of stripes, half light and half dark.</li>
35828
- </ul>
35829
- <li>Checkerboard</li>
35830
- <ul>
35831
- <li><code>lightColor</code>: rgba color object for the checkerboard's light alternating color.</li>
35832
- <li><code>darkColor</code>: rgba color object for the checkerboard's dark alternating color.</li>
35833
- <li><code>repeat</code>: Object with x and y values specifying the number of columns and rows respectively.</li>
35834
- </ul>
35835
- <li>Dot</li>
35836
- <ul>
35837
- <li><code>lightColor</code>: rgba color object for the dot color.</li>
35838
- <li><code>darkColor</code>: rgba color object for the background color.</li>
35839
- <li><code>repeat</code>: Object with x and y values specifying the number of columns and rows of dots respectively.</li>
35840
- </ul>
35841
- <li>Water</li>
35842
- <ul>
35843
- <li><code>baseWaterColor</code>: rgba color object base color of the water.</li>
35844
- <li><code>blendColor</code>: rgba color object used when blending from water to non-water areas.</li>
35845
- <li><code>specularMap</code>: Single channel texture used to indicate areas of water.</li>
35846
- <li><code>normalMap</code>: Normal map for water normal perturbation.</li>
35847
- <li><code>frequency</code>: Number that controls the number of waves.</li>
35848
- <li><code>animationSpeed</code>: Number that controls the animations speed of the water.</li>
35849
- <li><code>amplitude</code>: Number that controls the amplitude of water waves.</li>
35850
- <li><code>specularIntensity</code>: Number that controls the intensity of specular reflections.</li>
35851
- </ul>
35852
- <li>RimLighting</li>
35853
- <ul>
35854
- <li><code>color</code>: diffuse color and alpha.</li>
35855
- <li><code>rimColor</code>: diffuse color and alpha of the rim.</li>
35856
- <li><code>width</code>: Number that determines the rim's width.</li>
35857
- </ul>
35858
- <li>Fade</li>
35859
- <ul>
35860
- <li><code>fadeInColor</code>: diffuse color and alpha at <code>time</code></li>
35861
- <li><code>fadeOutColor</code>: diffuse color and alpha at <code>maximumDistance</code> from <code>time</code></li>
35862
- <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>
35863
- <li><code>repeat</code>: true if the fade should wrap around the texture coodinates.</li>
35864
- <li><code>fadeDirection</code>: Object with x and y values specifying if the fade should be in the x and y directions.</li>
35865
- <li><code>time</code>: Object with x and y values between 0.0 and 1.0 of the <code>fadeInColor</code> position</li>
35866
- </ul>
35867
- <li>PolylineArrow</li>
35868
- <ul>
35869
- <li><code>color</code>: diffuse color and alpha.</li>
35870
- </ul>
35871
- <li>PolylineDash</li>
35872
- <ul>
35873
- <li><code>color</code>: color for the line.</li>
35874
- <li><code>gapColor</code>: color for the gaps in the line.</li>
35875
- <li><code>dashLength</code>: Dash length in pixels.</li>
35876
- <li><code>dashPattern</code>: The 16 bit stipple pattern for the line..</li>
35877
- </ul>
35878
- <li>PolylineGlow</li>
35879
- <ul>
35880
- <li><code>color</code>: color and maximum alpha for the glow on the line.</li>
35881
- <li><code>glowPower</code>: strength of the glow, as a percentage of the total line width (less than 1.0).</li>
35882
- <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>
35883
- </ul>
35884
- <li>PolylineOutline</li>
35885
- <ul>
35886
- <li><code>color</code>: diffuse color and alpha for the interior of the line.</li>
35887
- <li><code>outlineColor</code>: diffuse color and alpha for the outline.</li>
35888
- <li><code>outlineWidth</code>: width of the outline in pixels.</li>
35889
- </ul>
35890
- <li>ElevationContour</li>
35891
- <ul>
35892
- <li><code>color</code>: color and alpha for the contour line.</li>
35893
- <li><code>spacing</code>: spacing for contour lines in meters.</li>
35894
- <li><code>width</code>: Number specifying the width of the grid lines in pixels.</li>
35895
- </ul>
35896
- <li>ElevationRamp</li>
35897
- <ul>
35898
- <li><code>image</code>: color ramp image to use for coloring the terrain.</li>
35899
- <li><code>minimumHeight</code>: minimum height for the ramp.</li>
35900
- <li><code>maximumHeight</code>: maximum height for the ramp.</li>
35901
- </ul>
35902
- <li>SlopeRamp</li>
35903
- <ul>
35904
- <li><code>image</code>: color ramp image to use for coloring the terrain by slope.</li>
35905
- </ul>
35906
- <li>AspectRamp</li>
35907
- <ul>
35908
- <li><code>image</code>: color ramp image to use for color the terrain by aspect.</li>
35909
- </ul>
35910
- <li>ElevationBand</li>
35911
- <ul>
35912
- <li><code>heights</code>: image of heights sorted from lowest to highest.</li>
35913
- <li><code>colors</code>: image of colors at the corresponding heights.</li>
35914
- </ul>
35915
- <li>WaterMask</li>
35916
- <ul>
35917
- <li><code>waterColor</code>: diffuse color and alpha for the areas covered by water.</li>
35918
- <li><code>landColor</code>: diffuse color and alpha for the areas covered by land.</li>
35919
- </ul>
35920
- </ul>
35921
- </ul>
35922
- </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>
35923
36143
  * @example
35924
36144
  * // Create a color material with fromType:
35925
- polygon.material = Cesium.Material.fromType('Color');
35926
- polygon.material.uniforms.color = new Cesium.Color(1.0, 1.0, 0.0, 1.0);
35927
-
35928
- // Create the default material:
35929
- polygon.material = new Cesium.Material();
35930
-
35931
- // Create a color material with full Fabric notation:
35932
- polygon.material = new Cesium.Material({
35933
- fabric: {
35934
- type: 'Color',
35935
- uniforms: {
35936
- color: new Cesium.Color(1.0, 1.0, 0.0, 1.0)
35937
- }
35938
- }
35939
- });
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
+ * });
35940
36160
  * @param [options] - Object with the following properties:
35941
36161
  * @param [options.strict = false] - Throws errors for issues that would normally be ignored, including unused uniforms or materials.
35942
36162
  * @param [options.translucent = true] - When <code>true</code> or a function that returns <code>true</code>, the geometry
35943
- with this material is expected to appear translucent.
36163
+ * with this material is expected to appear translucent.
35944
36164
  * @param [options.minificationFilter = TextureMinificationFilter.LINEAR] - The {@link TextureMinificationFilter} to apply to this material's textures.
35945
36165
  * @param [options.magnificationFilter = TextureMagnificationFilter.LINEAR] - The {@link TextureMagnificationFilter} to apply to this material's textures.
35946
36166
  * @param options.fabric - The fabric JSON used to generate the material.
@@ -35971,17 +36191,17 @@ export class Material {
35971
36191
  uniforms: any;
35972
36192
  /**
35973
36193
  * When <code>true</code> or a function that returns <code>true</code>,
35974
- the geometry is expected to appear translucent.
36194
+ * the geometry is expected to appear translucent.
35975
36195
  */
35976
36196
  translucent: boolean | ((...params: any[]) => any);
35977
36197
  /**
35978
36198
  * Creates a new material using an existing material type.
35979
- <br /><br />
35980
- Shorthand for: new Material({fabric : {type : type}});
36199
+ * <br /><br />
36200
+ * Shorthand for: new Material({fabric : {type : type}});
35981
36201
  * @example
35982
36202
  * const material = Cesium.Material.fromType('Color', {
35983
- color: new Cesium.Color(1.0, 0.0, 0.0, 1.0)
35984
- });
36203
+ * color: new Cesium.Color(1.0, 0.0, 0.0, 1.0)
36204
+ * });
35985
36205
  * @param type - The base material type.
35986
36206
  * @param [uniforms] - Overrides for the default uniforms.
35987
36207
  * @returns New material object.
@@ -35994,19 +36214,19 @@ export class Material {
35994
36214
  isTranslucent(): boolean;
35995
36215
  /**
35996
36216
  * Returns true if this object was destroyed; otherwise, false.
35997
- <br /><br />
35998
- If this object was destroyed, it should not be used; calling any function other than
35999
- <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.
36000
36220
  * @returns True if this object was destroyed; otherwise, false.
36001
36221
  */
36002
36222
  isDestroyed(): boolean;
36003
36223
  /**
36004
36224
  * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
36005
- release of WebGL resources, instead of relying on the garbage collector to destroy this object.
36006
- <br /><br />
36007
- Once an object is destroyed, it should not be used; calling any function other than
36008
- <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
36009
- 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.
36010
36230
  * @example
36011
36231
  * material = material && material.destroy();
36012
36232
  */
@@ -36445,10 +36665,18 @@ export class MetadataClassProperty {
36445
36665
  readonly semantic: string;
36446
36666
  /**
36447
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.
36448
36672
  */
36449
36673
  readonly offset: number | number[] | number[][];
36450
36674
  /**
36451
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.
36452
36680
  */
36453
36681
  readonly scale: number | number[] | number[][];
36454
36682
  /**
@@ -36671,6 +36899,26 @@ export class MetadataSchema {
36671
36899
  readonly extensions: any;
36672
36900
  }
36673
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
+
36674
36922
  /**
36675
36923
  * An enum of metadata types. These metadata types are containers containing
36676
36924
  one or more components of type {@link MetadataComponentType}
@@ -38987,10 +39235,19 @@ export var className: string;
38987
39235
  export var propertyName: string;
38988
39236
 
38989
39237
  /**
38990
- * The optional ID of the metadata schema
39238
+ * The the `MetadataClassProperty` that is described by this
39239
+ structure, as obtained from the `MetadataSchema`
38991
39240
  */
38992
39241
  export var classProperty: MetadataClassProperty;
38993
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
+
38994
39251
  /**
38995
39252
  * Compute the rectangle that describes the part of the drawing buffer
38996
39253
  that is relevant for picking.
@@ -39984,32 +40241,20 @@ export class PostProcessStageCollection {
39984
40241
  surface receives light and regardless of the light's position.
39985
40242
  </p>
39986
40243
  <p>
39987
- The uniforms have the following properties: <code>intensity</code>, <code>bias</code>, <code>lengthCap</code>,
39988
- <code>stepSize</code>, <code>frustumLength</code>, <code>ambientOcclusionOnly</code>,
39989
- <code>delta</code>, <code>sigma</code>, and <code>blurStepSize</code>.
39990
- </p>
40244
+ The uniforms have the following properties:
39991
40245
  <ul>
39992
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>
39993
-
39994
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,
39995
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>
39996
-
39997
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,
39998
40250
  sampling stops in the current direction. The default value is <code>0.26</code>.</li>
39999
-
40000
- <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>
40001
-
40002
- <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.
40003
- The default value is <code>1000.0</code>.</li>
40004
-
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>
40005
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
40006
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>
40007
40256
  </ul>
40008
40257
  <p>
40009
- <code>delta</code>, <code>sigma</code>, and <code>blurStepSize</code> are the same properties as {@link PostProcessStageLibrary#createBlurStage}.
40010
- The blur is applied to the shadows generated from the image to make them smoother.
40011
- </p>
40012
- <p>
40013
40258
  When enabled, this stage will execute before all others.
40014
40259
  </p>
40015
40260
  */
@@ -40406,88 +40651,88 @@ export enum PostProcessStageSampleMode {
40406
40651
 
40407
40652
  /**
40408
40653
  * A primitive represents geometry in the {@link Scene}. The geometry can be from a single {@link GeometryInstance}
40409
- as shown in example 1 below, or from an array of instances, even if the geometry is from different
40410
- geometry types, e.g., an {@link RectangleGeometry} and an {@link EllipsoidGeometry} as shown in Code Example 2.
40411
- <p>
40412
- A primitive combines geometry instances with an {@link Appearance} that describes the full shading, including
40413
- {@link Material} and {@link RenderState}. Roughly, the geometry instance defines the structure and placement,
40414
- and the appearance defines the visual characteristics. Decoupling geometry and appearance allows us to mix
40415
- and match most of them and add a new geometry or appearance independently of each other.
40416
- </p>
40417
- <p>
40418
- Combining multiple instances into one primitive is called batching, and significantly improves performance for static data.
40419
- Instances can be individually picked; {@link Scene#pick} returns their {@link GeometryInstance#id}. Using
40420
- per-instance appearances like {@link PerInstanceColorAppearance}, each instance can also have a unique color.
40421
- </p>
40422
- <p>
40423
- {@link Geometry} can either be created and batched on a web worker or the main thread. The first two examples
40424
- show geometry that will be created on a web worker by using the descriptions of the geometry. The third example
40425
- shows how to create the geometry on the main thread by explicitly calling the <code>createGeometry</code> method.
40426
- </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>
40427
40672
  * @example
40428
40673
  * // 1. Draw a translucent ellipse on the surface with a checkerboard pattern
40429
- const instance = new Cesium.GeometryInstance({
40430
- geometry : new Cesium.EllipseGeometry({
40431
- center : Cesium.Cartesian3.fromDegrees(-100.0, 20.0),
40432
- semiMinorAxis : 500000.0,
40433
- semiMajorAxis : 1000000.0,
40434
- rotation : Cesium.Math.PI_OVER_FOUR,
40435
- vertexFormat : Cesium.VertexFormat.POSITION_AND_ST
40436
- }),
40437
- id : 'object returned when this instance is picked and to get/set per-instance attributes'
40438
- });
40439
- scene.primitives.add(new Cesium.Primitive({
40440
- geometryInstances : instance,
40441
- appearance : new Cesium.EllipsoidSurfaceAppearance({
40442
- material : Cesium.Material.fromType('Checkerboard')
40443
- })
40444
- }));
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
+ * }));
40445
40690
  * @example
40446
40691
  * // 2. Draw different instances each with a unique color
40447
- const rectangleInstance = new Cesium.GeometryInstance({
40448
- geometry : new Cesium.RectangleGeometry({
40449
- rectangle : Cesium.Rectangle.fromDegrees(-140.0, 30.0, -100.0, 40.0),
40450
- vertexFormat : Cesium.PerInstanceColorAppearance.VERTEX_FORMAT
40451
- }),
40452
- id : 'rectangle',
40453
- attributes : {
40454
- color : new Cesium.ColorGeometryInstanceAttribute(0.0, 1.0, 1.0, 0.5)
40455
- }
40456
- });
40457
- const ellipsoidInstance = new Cesium.GeometryInstance({
40458
- geometry : new Cesium.EllipsoidGeometry({
40459
- radii : new Cesium.Cartesian3(500000.0, 500000.0, 1000000.0),
40460
- vertexFormat : Cesium.VertexFormat.POSITION_AND_NORMAL
40461
- }),
40462
- modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame(
40463
- Cesium.Cartesian3.fromDegrees(-95.59777, 40.03883)), new Cesium.Cartesian3(0.0, 0.0, 500000.0), new Cesium.Matrix4()),
40464
- id : 'ellipsoid',
40465
- attributes : {
40466
- color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.AQUA)
40467
- }
40468
- });
40469
- scene.primitives.add(new Cesium.Primitive({
40470
- geometryInstances : [rectangleInstance, ellipsoidInstance],
40471
- appearance : new Cesium.PerInstanceColorAppearance()
40472
- }));
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
+ * }));
40473
40718
  * @example
40474
40719
  * // 3. Create the geometry on the main thread.
40475
- scene.primitives.add(new Cesium.Primitive({
40476
- geometryInstances : new Cesium.GeometryInstance({
40477
- geometry : Cesium.EllipsoidGeometry.createGeometry(new Cesium.EllipsoidGeometry({
40478
- radii : new Cesium.Cartesian3(500000.0, 500000.0, 1000000.0),
40479
- vertexFormat : Cesium.VertexFormat.POSITION_AND_NORMAL
40480
- })),
40481
- modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame(
40482
- Cesium.Cartesian3.fromDegrees(-95.59777, 40.03883)), new Cesium.Cartesian3(0.0, 0.0, 500000.0), new Cesium.Matrix4()),
40483
- id : 'ellipsoid',
40484
- attributes : {
40485
- color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.AQUA)
40486
- }
40487
- }),
40488
- appearance : new Cesium.PerInstanceColorAppearance(),
40489
- asynchronous : false
40490
- }));
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
+ * }));
40491
40736
  * @param [options] - Object with the following properties:
40492
40737
  * @param [options.geometryInstances] - The geometry instances - or a single geometry instance - to render.
40493
40738
  * @param [options.appearance] - The appearance used to render the primitive.
@@ -40523,67 +40768,67 @@ export class Primitive {
40523
40768
  });
40524
40769
  /**
40525
40770
  * The geometry instances rendered with this primitive. This may
40526
- be <code>undefined</code> if <code>options.releaseGeometryInstances</code>
40527
- is <code>true</code> when the primitive is constructed.
40528
- <p>
40529
- Changing this property after the primitive is rendered has no effect.
40530
- </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>
40531
40776
  */
40532
40777
  readonly geometryInstances: GeometryInstance[] | GeometryInstance;
40533
40778
  /**
40534
40779
  * The {@link Appearance} used to shade this primitive. Each geometry
40535
- instance is shaded with the same appearance. Some appearances, like
40536
- {@link PerInstanceColorAppearance} allow giving each instance unique
40537
- properties.
40780
+ * instance is shaded with the same appearance. Some appearances, like
40781
+ * {@link PerInstanceColorAppearance} allow giving each instance unique
40782
+ * properties.
40538
40783
  */
40539
40784
  appearance: Appearance;
40540
40785
  /**
40541
40786
  * The {@link Appearance} used to shade this primitive when it fails the depth test. Each geometry
40542
- instance is shaded with the same appearance. Some appearances, like
40543
- {@link PerInstanceColorAppearance} allow giving each instance unique
40544
- properties.
40545
-
40546
- <p>
40547
- When using an appearance that requires a color attribute, like PerInstanceColorAppearance,
40548
- add a depthFailColor per-instance attribute instead.
40549
- </p>
40550
-
40551
- <p>
40552
- Requires the EXT_frag_depth WebGL extension to render properly. If the extension is not supported,
40553
- there may be artifacts.
40554
- </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>
40555
40800
  */
40556
40801
  depthFailAppearance: Appearance;
40557
40802
  /**
40558
40803
  * The 4x4 transformation matrix that transforms the primitive (all geometry instances) from model to world coordinates.
40559
- When this is the identity matrix, the primitive is drawn in world coordinates, i.e., Earth's WGS84 coordinates.
40560
- Local reference frames can be used by providing a different transformation matrix, like that returned
40561
- by {@link Transforms.eastNorthUpToFixedFrame}.
40562
-
40563
- <p>
40564
- This property is only supported in 3D mode.
40565
- </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>
40566
40811
  * @example
40567
40812
  * const origin = Cesium.Cartesian3.fromDegrees(-95.0, 40.0, 200000.0);
40568
- p.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(origin);
40813
+ * p.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(origin);
40569
40814
  */
40570
40815
  modelMatrix: Matrix4;
40571
40816
  /**
40572
40817
  * Determines if the primitive will be shown. This affects all geometry
40573
- instances in the primitive.
40818
+ * instances in the primitive.
40574
40819
  */
40575
40820
  show: boolean;
40576
40821
  /**
40577
40822
  * When <code>true</code>, the renderer frustum culls and horizon culls the primitive's commands
40578
- based on their bounding volume. Set this to <code>false</code> for a small performance gain
40579
- 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.
40580
40825
  */
40581
40826
  cull: boolean;
40582
40827
  /**
40583
40828
  * This property is for debugging only; it is not for production use nor is it optimized.
40584
- <p>
40585
- Draws the bounding sphere for each draw command in the primitive.
40586
- </p>
40829
+ * <p>
40830
+ * Draws the bounding sphere for each draw command in the primitive.
40831
+ * </p>
40587
40832
  */
40588
40833
  debugShowBoundingVolume: boolean;
40589
40834
  /**
@@ -40616,60 +40861,60 @@ export class Primitive {
40616
40861
  readonly compressVertices: boolean;
40617
40862
  /**
40618
40863
  * Determines if the primitive is complete and ready to render. If this property is
40619
- true, the primitive will be rendered the next time that {@link Primitive#update}
40620
- is called.
40864
+ * true, the primitive will be rendered the next time that {@link Primitive#update}
40865
+ * is called.
40621
40866
  * @example
40622
40867
  * // Wait for a primitive to become ready before accessing attributes
40623
- const removeListener = scene.postRender.addEventListener(() => {
40624
- if (!frustumPrimitive.ready) {
40625
- return;
40626
- }
40627
-
40628
- const attributes = primitive.getGeometryInstanceAttributes('an id');
40629
- attributes.color = Cesium.ColorGeometryInstanceAttribute.toValue(Cesium.Color.AQUA);
40630
-
40631
- removeListener();
40632
- });
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
+ * });
40633
40878
  */
40634
40879
  readonly ready: boolean;
40635
40880
  /**
40636
40881
  * Called when {@link Viewer} or {@link CesiumWidget} render the scene to
40637
- get the draw commands needed to render this primitive.
40638
- <p>
40639
- Do not call this function directly. This is documented just to
40640
- list the exceptions that may be propagated when the scene is rendered:
40641
- </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>
40642
40887
  */
40643
40888
  update(): void;
40644
40889
  /**
40645
40890
  * Returns the modifiable per-instance attributes for a {@link GeometryInstance}.
40646
40891
  * @example
40647
40892
  * const attributes = primitive.getGeometryInstanceAttributes('an id');
40648
- attributes.color = Cesium.ColorGeometryInstanceAttribute.toValue(Cesium.Color.AQUA);
40649
- attributes.show = Cesium.ShowGeometryInstanceAttribute.toValue(true);
40650
- attributes.distanceDisplayCondition = Cesium.DistanceDisplayConditionGeometryInstanceAttribute.toValue(100.0, 10000.0);
40651
- 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);
40652
40897
  * @param id - The id of the {@link GeometryInstance}.
40653
40898
  * @returns The typed array in the attribute's format or undefined if the is no instance with id.
40654
40899
  */
40655
40900
  getGeometryInstanceAttributes(id: any): any;
40656
40901
  /**
40657
40902
  * Returns true if this object was destroyed; otherwise, false.
40658
- <p>
40659
- If this object was destroyed, it should not be used; calling any function other than
40660
- <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
40661
- </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>
40662
40907
  * @returns <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
40663
40908
  */
40664
40909
  isDestroyed(): boolean;
40665
40910
  /**
40666
40911
  * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
40667
- release of WebGL resources, instead of relying on the garbage collector to destroy this object.
40668
- <p>
40669
- Once an object is destroyed, it should not be used; calling any function other than
40670
- <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
40671
- assign the return value (<code>undefined</code>) to the object as done in the example.
40672
- </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>
40673
40918
  * @example
40674
40919
  * e = e && e.destroy();
40675
40920
  */
@@ -40832,15 +41077,15 @@ export class PrimitiveCollection {
40832
41077
 
40833
41078
  /**
40834
41079
  * The container for all 3D graphical objects and state in a Cesium virtual scene. Generally,
40835
- 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}.
40836
41081
  * @example
40837
41082
  * // Create scene without anisotropic texture filtering
40838
- const scene = new Cesium.Scene({
40839
- canvas : canvas,
40840
- contextOptions : {
40841
- allowTextureFilterAnisotropic : false
40842
- }
40843
- });
41083
+ * const scene = new Cesium.Scene({
41084
+ * canvas : canvas,
41085
+ * contextOptions : {
41086
+ * allowTextureFilterAnisotropic : false
41087
+ * }
41088
+ * });
40844
41089
  * @param options - Object with the following properties:
40845
41090
  * @param options.canvas - The HTML canvas element to create the scene for.
40846
41091
  * @param [options.contextOptions] - Context and WebGL creation properties.
@@ -40876,14 +41121,14 @@ export class Scene {
40876
41121
  });
40877
41122
  /**
40878
41123
  * Exceptions occurring in <code>render</code> are always caught in order to raise the
40879
- <code>renderError</code> event. If this property is true, the error is rethrown
40880
- after the event is raised. If this property is false, the <code>render</code> function
40881
- 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.
40882
41127
  */
40883
41128
  rethrowRenderErrors: boolean;
40884
41129
  /**
40885
41130
  * Determines whether or not to instantly complete the
40886
- scene transition animation on user input.
41131
+ * scene transition animation on user input.
40887
41132
  */
40888
41133
  completeMorphOnUserInput: boolean;
40889
41134
  /**
@@ -40920,106 +41165,106 @@ export class Scene {
40920
41165
  backgroundColor: Color;
40921
41166
  /**
40922
41167
  * The current morph transition time between 2D/Columbus View and 3D,
40923
- 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.
40924
41169
  */
40925
41170
  morphTime: number;
40926
41171
  /**
40927
41172
  * The far-to-near ratio of the multi-frustum when using a normal depth buffer.
40928
- <p>
40929
- This value is used to create the near and far values for each frustum of the multi-frustum. It is only used
40930
- when {@link Scene#logarithmicDepthBuffer} is <code>false</code>. When <code>logarithmicDepthBuffer</code> is
40931
- <code>true</code>, use {@link Scene#logarithmicDepthFarToNearRatio}.
40932
- </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>
40933
41178
  */
40934
41179
  farToNearRatio: number;
40935
41180
  /**
40936
41181
  * The far-to-near ratio of the multi-frustum when using a logarithmic depth buffer.
40937
- <p>
40938
- This value is used to create the near and far values for each frustum of the multi-frustum. It is only used
40939
- when {@link Scene#logarithmicDepthBuffer} is <code>true</code>. When <code>logarithmicDepthBuffer</code> is
40940
- <code>false</code>, use {@link Scene#farToNearRatio}.
40941
- </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>
40942
41187
  */
40943
41188
  logarithmicDepthFarToNearRatio: number;
40944
41189
  /**
40945
41190
  * Determines the uniform depth size in meters of each frustum of the multifrustum in 2D. If a primitive or model close
40946
- to the surface shows z-fighting, decreasing this will eliminate the artifact, but decrease performance. On the
40947
- 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.
40948
41193
  */
40949
41194
  nearToFarDistance2D: number;
40950
41195
  /**
40951
41196
  * The vertical exaggeration of the scene.
40952
- When set to 1.0, no exaggeration is applied.
41197
+ * When set to 1.0, no exaggeration is applied.
40953
41198
  */
40954
41199
  verticalExaggeration: number;
40955
41200
  /**
40956
41201
  * The reference height for vertical exaggeration of the scene.
40957
- 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.
40958
41203
  */
40959
41204
  verticalExaggerationRelativeHeight: number;
40960
41205
  /**
40961
41206
  * This property is for debugging only; it is not for production use.
40962
- <p>
40963
- A function that determines what commands are executed. As shown in the examples below,
40964
- the function receives the command's <code>owner</code> as an argument, and returns a boolean indicating if the
40965
- command should be executed.
40966
- </p>
40967
- <p>
40968
- The default is <code>undefined</code>, indicating that all commands are executed.
40969
- </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>
40970
41215
  * @example
40971
41216
  * // Do not execute any commands.
40972
- scene.debugCommandFilter = function(command) {
40973
- return false;
40974
- };
40975
-
40976
- // Execute only the billboard's commands. That is, only draw the billboard.
40977
- const billboards = new Cesium.BillboardCollection();
40978
- scene.debugCommandFilter = function(command) {
40979
- return command.owner === billboards;
40980
- };
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
+ * };
40981
41226
  */
40982
41227
  debugCommandFilter: (...params: any[]) => any;
40983
41228
  /**
40984
41229
  * This property is for debugging only; it is not for production use.
40985
- <p>
40986
- When <code>true</code>, commands are randomly shaded. This is useful
40987
- for performance analysis to see what parts of a scene or model are
40988
- command-dense and could benefit from batching.
40989
- </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>
40990
41235
  */
40991
41236
  debugShowCommands: boolean;
40992
41237
  /**
40993
41238
  * This property is for debugging only; it is not for production use.
40994
- <p>
40995
- When <code>true</code>, commands are shaded based on the frustums they
40996
- overlap. Commands in the closest frustum are tinted red, commands in
40997
- the next closest are green, and commands in the farthest frustum are
40998
- blue. If a command overlaps more than one frustum, the color components
40999
- are combined, e.g., a command overlapping the first two frustums is tinted
41000
- yellow.
41001
- </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>
41002
41247
  */
41003
41248
  debugShowFrustums: boolean;
41004
41249
  /**
41005
41250
  * This property is for debugging only; it is not for production use.
41006
- <p>
41007
- Displays frames per second and time between frames.
41008
- </p>
41251
+ * <p>
41252
+ * Displays frames per second and time between frames.
41253
+ * </p>
41009
41254
  */
41010
41255
  debugShowFramesPerSecond: boolean;
41011
41256
  /**
41012
41257
  * This property is for debugging only; it is not for production use.
41013
- <p>
41014
- Indicates which frustum will have depth information displayed.
41015
- </p>
41258
+ * <p>
41259
+ * Indicates which frustum will have depth information displayed.
41260
+ * </p>
41016
41261
  */
41017
41262
  debugShowDepthFrustum: number;
41018
41263
  /**
41019
41264
  * This property is for debugging only; it is not for production use.
41020
- <p>
41021
- When <code>true</code>, draws outlines to show the boundaries of the camera frustums
41022
- </p>
41265
+ * <p>
41266
+ * When <code>true</code>, draws outlines to show the boundaries of the camera frustums
41267
+ * </p>
41023
41268
  */
41024
41269
  debugShowFrustumPlanes: boolean;
41025
41270
  /**
@@ -41028,33 +41273,33 @@ export class Scene {
41028
41273
  useDepthPicking: boolean;
41029
41274
  /**
41030
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.
41031
-
41032
- <p>
41033
- There is a decrease in performance when enabled. There are extra draw calls to write depth for
41034
- translucent geometry.
41035
- </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>
41036
41281
  * @example
41037
41282
  * // picking the position of a translucent primitive
41038
- viewer.screenSpaceEventHandler.setInputAction(function onLeftClick(movement) {
41039
- const pickedFeature = viewer.scene.pick(movement.position);
41040
- if (!Cesium.defined(pickedFeature)) {
41041
- // nothing picked
41042
- return;
41043
- }
41044
- const worldPosition = viewer.scene.pickPosition(movement.position);
41045
- }, 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);
41046
41291
  */
41047
41292
  pickTranslucentDepth: boolean;
41048
41293
  /**
41049
41294
  * Settings for atmosphere lighting effects affecting 3D Tiles and model rendering. This is not to be confused with
41050
- {@link Scene#skyAtmosphere} which is responsible for rendering the sky.
41295
+ * {@link Scene#skyAtmosphere} which is responsible for rendering the sky.
41051
41296
  */
41052
41297
  atmosphere: Atmosphere;
41053
41298
  /**
41054
41299
  * Blends the atmosphere to geometry far from the camera for horizon views. Allows for additional
41055
- performance improvements by rendering less geometry and dispatching less terrain requests.
41056
-
41057
- 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.
41058
41303
  */
41059
41304
  fog: Fog;
41060
41305
  /**
@@ -41063,13 +41308,13 @@ export class Scene {
41063
41308
  shadowMap: ShadowMap;
41064
41309
  /**
41065
41310
  * When <code>false</code>, 3D Tiles will render normally. When <code>true</code>, classified 3D Tile geometry will render normally and
41066
- 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}.
41067
41312
  */
41068
41313
  invertClassification: boolean;
41069
41314
  /**
41070
41315
  * The highlight color of unclassified 3D Tile geometry when {@link Scene#invertClassification} is <code>true</code>.
41071
- <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>
41072
- <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>
41073
41318
  */
41074
41319
  invertClassificationColor: Color;
41075
41320
  /**
@@ -41086,18 +41331,18 @@ export class Scene {
41086
41331
  postProcessStages: PostProcessStageCollection;
41087
41332
  /**
41088
41333
  * When <code>true</code>, rendering a frame will only occur when needed as determined by changes within the scene.
41089
- Enabling improves performance of the application, but requires using {@link Scene#requestRender}
41090
- to render a new frame explicitly in this mode. This will be necessary in many cases after making changes
41091
- 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.
41092
41337
  */
41093
41338
  requestRenderMode: boolean;
41094
41339
  /**
41095
41340
  * If {@link Scene#requestRenderMode} is <code>true</code>, this value defines the maximum change in
41096
- simulation time allowed before a render is requested. Lower values increase the number of frames rendered
41097
- and higher values decrease the number of frames rendered. If <code>undefined</code>, changes to
41098
- the simulation time will never request a render.
41099
- This value impacts the rate of rendering for changes in the scene like lighting, entity property updates,
41100
- 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.
41101
41346
  */
41102
41347
  maximumRenderTimeChange: number;
41103
41348
  /**
@@ -41114,7 +41359,7 @@ export class Scene {
41114
41359
  light: Light;
41115
41360
  /**
41116
41361
  * Use this to set the default value for {@link Scene#logarithmicDepthBuffer} in newly constructed Scenes
41117
- This property relies on fragmentDepth being supported.
41362
+ * This property relies on fragmentDepth being supported.
41118
41363
  */
41119
41364
  static defaultLogDepthBuffer: any;
41120
41365
  /**
@@ -41199,48 +41444,48 @@ export class Scene {
41199
41444
  readonly terrainProviderChanged: Event;
41200
41445
  /**
41201
41446
  * Gets the event that will be raised before the scene is updated or rendered. Subscribers to the event
41202
- 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.
41203
41448
  */
41204
41449
  readonly preUpdate: Event;
41205
41450
  /**
41206
41451
  * Gets the event that will be raised immediately after the scene is updated and before the scene is rendered.
41207
- Subscribers to the event receive the Scene instance as the first parameter and the current time as the second
41208
- parameter.
41452
+ * Subscribers to the event receive the Scene instance as the first parameter and the current time as the second
41453
+ * parameter.
41209
41454
  */
41210
41455
  readonly postUpdate: Event;
41211
41456
  /**
41212
41457
  * Gets the event that will be raised when an error is thrown inside the <code>render</code> function.
41213
- The Scene instance and the thrown error are the only two parameters passed to the event handler.
41214
- By default, errors are not rethrown after this event is raised, but that can be changed by setting
41215
- 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.
41216
41461
  */
41217
41462
  readonly renderError: Event;
41218
41463
  /**
41219
41464
  * Gets the event that will be raised after the scene is updated and immediately before the scene is rendered.
41220
- Subscribers to the event receive the Scene instance as the first parameter and the current time as the second
41221
- parameter.
41465
+ * Subscribers to the event receive the Scene instance as the first parameter and the current time as the second
41466
+ * parameter.
41222
41467
  */
41223
41468
  readonly preRender: Event;
41224
41469
  /**
41225
41470
  * Gets the event that will be raised immediately after the scene is rendered. Subscribers to the event
41226
- 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.
41227
41472
  */
41228
41473
  readonly postRender: Event;
41229
41474
  /**
41230
41475
  * Gets the simulation time when the scene was last rendered. Returns undefined if the scene has not yet been
41231
- rendered.
41476
+ * rendered.
41232
41477
  */
41233
41478
  readonly lastRenderTime: JulianDate;
41234
41479
  /**
41235
41480
  * This property is for debugging only; it is not for production use.
41236
- <p>
41237
- When {@link Scene.debugShowFrustums} is <code>true</code>, this contains
41238
- properties with statistics about the number of command execute per frustum.
41239
- <code>totalCommands</code> is the total number of commands executed, ignoring
41240
- overlap. <code>commandsInFrustums</code> is an array with the number of times
41241
- commands are executed redundantly, e.g., how many commands overlap two or
41242
- three frustums.
41243
- </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>
41244
41489
  */
41245
41490
  readonly debugFrustumStatistics: any;
41246
41491
  /**
@@ -41249,8 +41494,8 @@ export class Scene {
41249
41494
  readonly scene3DOnly: boolean;
41250
41495
  /**
41251
41496
  * Gets whether or not the scene has order independent translucency enabled.
41252
- Note that this only reflects the original construction option, and there are
41253
- 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.
41254
41499
  */
41255
41500
  readonly orderIndependentTranslucency: boolean;
41256
41501
  /**
@@ -41263,7 +41508,7 @@ export class Scene {
41263
41508
  mode: SceneMode;
41264
41509
  /**
41265
41510
  * When <code>true</code>, splits the scene into two viewports with steroscopic views for the left and right eyes.
41266
- Used for cardboard and WebVR.
41511
+ * Used for cardboard and WebVR.
41267
41512
  */
41268
41513
  useWebVR: boolean;
41269
41514
  /**
@@ -41276,14 +41521,14 @@ export class Scene {
41276
41521
  splitPosition: number;
41277
41522
  /**
41278
41523
  * The distance from the camera at which to disable the depth test of billboards, labels and points
41279
- to, for example, prevent clipping against terrain. When set to zero, the depth test should always
41280
- be applied. When less than zero, the depth test should never be applied. Setting the disableDepthTestDistance
41281
- 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.
41282
41527
  */
41283
41528
  minimumDisableDepthTestDistance: number;
41284
41529
  /**
41285
41530
  * Whether or not to use a logarithmic depth buffer. Enabling this option will allow for less frustums in the multi-frustum,
41286
- increasing performance. This property relies on fragmentDepth being supported.
41531
+ * increasing performance. This property relies on fragmentDepth being supported.
41287
41532
  */
41288
41533
  logarithmicDepthBuffer: boolean;
41289
41534
  /**
@@ -41318,30 +41563,30 @@ export class Scene {
41318
41563
  getCompressedTextureFormatSupported(format: string): boolean;
41319
41564
  /**
41320
41565
  * Update and render the scene. It is usually not necessary to call this function
41321
- directly because {@link CesiumWidget} will do it automatically.
41566
+ * directly because {@link CesiumWidget} will do it automatically.
41322
41567
  * @param [time] - The simulation time at which to render.
41323
41568
  */
41324
41569
  render(time?: JulianDate): void;
41325
41570
  /**
41326
41571
  * Requests a new rendered frame when {@link Scene#requestRenderMode} is set to <code>true</code>.
41327
- The render rate will not exceed the {@link CesiumWidget#targetFrameRate}.
41572
+ * The render rate will not exceed the {@link CesiumWidget#targetFrameRate}.
41328
41573
  */
41329
41574
  requestRender(): void;
41330
41575
  /**
41331
41576
  * Returns an object with a `primitive` property that contains the first (top) primitive in the scene
41332
- at a particular window coordinate or undefined if nothing is at the location. Other properties may
41333
- potentially be set depending on the type of primitive and may be used to further identify the picked object.
41334
- <p>
41335
- When a feature of a 3D Tiles tileset is picked, <code>pick</code> returns a {@link Cesium3DTileFeature} object.
41336
- </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>
41337
41582
  * @example
41338
41583
  * // On mouse over, color the feature yellow.
41339
- handler.setInputAction(function(movement) {
41340
- const feature = scene.pick(movement.endPosition);
41341
- if (feature instanceof Cesium.Cesium3DTileFeature) {
41342
- feature.color = Cesium.Color.YELLOW;
41343
- }
41344
- }, 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);
41345
41590
  * @param windowPosition - Window coordinates to perform picking on.
41346
41591
  * @param [width = 3] - Width of the pick rectangle.
41347
41592
  * @param [height = 3] - Height of the pick rectangle.
@@ -41350,15 +41595,15 @@ export class Scene {
41350
41595
  pick(windowPosition: Cartesian2, width?: number, height?: number): any;
41351
41596
  /**
41352
41597
  * Returns a {@link VoxelCell} for the voxel sample rendered at a particular window coordinate,
41353
- or undefined if no voxel is rendered at that position.
41598
+ * or undefined if no voxel is rendered at that position.
41354
41599
  * @example
41355
41600
  * On left click, report the value of the "color" property at that voxel sample.
41356
- handler.setInputAction(function(movement) {
41357
- const voxelCell = scene.pickVoxel(movement.position);
41358
- if (defined(voxelCell)) {
41359
- console.log(voxelCell.getProperty("color"));
41360
- }
41361
- }, 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);
41362
41607
  * @param windowPosition - Window coordinates to perform picking on.
41363
41608
  * @param [width = 3] - Width of the pick rectangle.
41364
41609
  * @param [height = 3] - Height of the pick rectangle.
@@ -41369,33 +41614,34 @@ export class Scene {
41369
41614
  * Pick a metadata value at the given window position.
41370
41615
  * @param windowPosition - Window coordinates to perform picking on.
41371
41616
  * @param schemaId - The ID of the metadata schema to pick values
41372
- from. If this is `undefined`, then it will pick the values from the object
41373
- 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.
41374
41619
  * @param className - The name of the metadata class to pick
41375
- values from
41620
+ * values from
41376
41621
  * @param propertyName - The name of the metadata property to pick
41377
- values from
41378
- * @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
41379
41625
  */
41380
- pickMetadata(windowPosition: Cartesian2, schemaId: string | undefined, className: string, propertyName: string): any;
41626
+ pickMetadata(windowPosition: Cartesian2, schemaId: string | undefined, className: string, propertyName: string): MetadataValue | undefined;
41381
41627
  /**
41382
41628
  * Pick the schema of the metadata of the object at the given position
41383
41629
  * @param windowPosition - Window coordinates to perform picking on.
41384
41630
  * @returns The metadata schema, or `undefined` if there is no object with
41385
- associated metadata at the given position.
41631
+ * associated metadata at the given position.
41386
41632
  */
41387
41633
  pickMetadataSchema(windowPosition: Cartesian2): MetadataSchema;
41388
41634
  /**
41389
41635
  * Returns the cartesian position reconstructed from the depth buffer and window position.
41390
- <p>
41391
- The position reconstructed from the depth buffer in 2D may be slightly different from those
41392
- reconstructed in 3D and Columbus view. This is caused by the difference in the distribution
41393
- of depth values of perspective and orthographic projection.
41394
- </p>
41395
- <p>
41396
- Set {@link Scene#pickTranslucentDepth} to <code>true</code> to include the depth of
41397
- translucent primitives; otherwise, this essentially picks through translucent primitives.
41398
- </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>
41399
41645
  * @param windowPosition - Window coordinates to perform picking on.
41400
41646
  * @param [result] - The object on which to restore the result.
41401
41647
  * @returns The cartesian position.
@@ -41403,9 +41649,9 @@ export class Scene {
41403
41649
  pickPosition(windowPosition: Cartesian2, result?: Cartesian3): Cartesian3;
41404
41650
  /**
41405
41651
  * Returns a list of objects, each containing a `primitive` property, for all primitives at
41406
- a particular window coordinate position. Other properties may also be set depending on the
41407
- type of primitive and may be used to further identify the picked object. The primitives in
41408
- 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).
41409
41655
  * @example
41410
41656
  * const pickedObjects = scene.drillPick(new Cesium.Cartesian2(100.0, 200.0));
41411
41657
  * @param windowPosition - Window coordinates to perform picking on.
@@ -41417,16 +41663,16 @@ export class Scene {
41417
41663
  drillPick(windowPosition: Cartesian2, limit?: number, width?: number, height?: number): any[];
41418
41664
  /**
41419
41665
  * Returns the height of scene geometry at the given cartographic position or <code>undefined</code> if there was no
41420
- scene geometry to sample height from. The height of the input position is ignored. May be used to clamp objects to
41421
- the globe, 3D Tiles, or primitives in the scene.
41422
- <p>
41423
- This function only samples height from globe tiles and 3D Tiles that are rendered in the current view. Samples height
41424
- from all other primitives regardless of their visibility.
41425
- </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>
41426
41672
  * @example
41427
41673
  * const position = new Cesium.Cartographic(-1.31968, 0.698874);
41428
- const height = viewer.scene.sampleHeight(position);
41429
- console.log(height);
41674
+ * const height = viewer.scene.sampleHeight(position);
41675
+ * console.log(height);
41430
41676
  * @param position - The cartographic position to sample height from.
41431
41677
  * @param [objectsToExclude] - A list of primitives, entities, or 3D Tiles features to not sample height from.
41432
41678
  * @param [width = 0.1] - Width of the intersection volume in meters.
@@ -41435,16 +41681,16 @@ export class Scene {
41435
41681
  sampleHeight(position: Cartographic, objectsToExclude?: object[], width?: number): number;
41436
41682
  /**
41437
41683
  * Clamps the given cartesian position to the scene geometry along the geodetic surface normal. Returns the
41438
- clamped position or <code>undefined</code> if there was no scene geometry to clamp to. May be used to clamp
41439
- objects to the globe, 3D Tiles, or primitives in the scene.
41440
- <p>
41441
- This function only clamps to globe tiles and 3D Tiles that are rendered in the current view. Clamps to
41442
- all other primitives regardless of their visibility.
41443
- </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>
41444
41690
  * @example
41445
41691
  * // Clamp an entity to the underlying scene geometry
41446
- const position = entity.position.getValue(Cesium.JulianDate.now());
41447
- entity.position = viewer.scene.clampToHeight(position);
41692
+ * const position = entity.position.getValue(Cesium.JulianDate.now());
41693
+ * entity.position = viewer.scene.clampToHeight(position);
41448
41694
  * @param cartesian - The cartesian position.
41449
41695
  * @param [objectsToExclude] - A list of primitives, entities, or 3D Tiles features to not clamp to.
41450
41696
  * @param [width = 0.1] - Width of the intersection volume in meters.
@@ -41454,20 +41700,20 @@ export class Scene {
41454
41700
  clampToHeight(cartesian: Cartesian3, objectsToExclude?: object[], width?: number, result?: Cartesian3): Cartesian3;
41455
41701
  /**
41456
41702
  * Initiates an asynchronous {@link Scene#sampleHeight} query for an array of {@link Cartographic} positions
41457
- using the maximum level of detail for 3D Tilesets in the scene. The height of the input positions is ignored.
41458
- Returns a promise that is resolved when the query completes. Each point height is modified in place.
41459
- If a height cannot be determined because no geometry can be sampled at that location, or another error occurs,
41460
- 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.
41461
41707
  * @example
41462
41708
  * const positions = [
41463
- new Cesium.Cartographic(-1.31968, 0.69887),
41464
- new Cesium.Cartographic(-1.10489, 0.83923)
41465
- ];
41466
- const promise = viewer.scene.sampleHeightMostDetailed(positions);
41467
- promise.then(function(updatedPosition) {
41468
- // positions[0].height and positions[1].height have been updated.
41469
- // updatedPositions is just a reference to positions.
41470
- }
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
+ * }
41471
41717
  * @param positions - The cartographic positions to update with sampled heights.
41472
41718
  * @param [objectsToExclude] - A list of primitives, entities, or 3D Tiles features to not sample height from.
41473
41719
  * @param [width = 0.1] - Width of the intersection volume in meters.
@@ -41476,19 +41722,19 @@ export class Scene {
41476
41722
  sampleHeightMostDetailed(positions: Cartographic[], objectsToExclude?: object[], width?: number): Promise<Cartographic[]>;
41477
41723
  /**
41478
41724
  * Initiates an asynchronous {@link Scene#clampToHeight} query for an array of {@link Cartesian3} positions
41479
- using the maximum level of detail for 3D Tilesets in the scene. Returns a promise that is resolved when
41480
- the query completes. Each position is modified in place. If a position cannot be clamped because no geometry
41481
- 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.
41482
41728
  * @example
41483
41729
  * const cartesians = [
41484
- entities[0].position.getValue(Cesium.JulianDate.now()),
41485
- entities[1].position.getValue(Cesium.JulianDate.now())
41486
- ];
41487
- const promise = viewer.scene.clampToHeightMostDetailed(cartesians);
41488
- promise.then(function(updatedCartesians) {
41489
- entities[0].position = updatedCartesians[0];
41490
- entities[1].position = updatedCartesians[1];
41491
- }
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
+ * }
41492
41738
  * @param cartesians - The cartesian positions to update with clamped positions.
41493
41739
  * @param [objectsToExclude] - A list of primitives, entities, or 3D Tiles features to not clamp to.
41494
41740
  * @param [width = 0.1] - Width of the intersection volume in meters.
@@ -41497,15 +41743,15 @@ export class Scene {
41497
41743
  clampToHeightMostDetailed(cartesians: Cartesian3[], objectsToExclude?: object[], width?: number): Promise<Cartesian3[]>;
41498
41744
  /**
41499
41745
  * Transforms a position in cartesian coordinates to canvas coordinates. This is commonly used to place an
41500
- 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.
41501
41747
  * @example
41502
41748
  * // Output the canvas position of longitude/latitude (0, 0) every time the mouse moves.
41503
- const scene = widget.scene;
41504
- const position = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
41505
- const handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
41506
- handler.setInputAction(function(movement) {
41507
- console.log(scene.cartesianToCanvasCoordinates(position));
41508
- }, 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);
41509
41755
  * @param position - The position in cartesian coordinates.
41510
41756
  * @param [result] - An optional object to return the input position transformed to canvas coordinates.
41511
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.
@@ -41534,34 +41780,34 @@ export class Scene {
41534
41780
  * Update the terrain providing surface geometry for the globe.
41535
41781
  * @example
41536
41782
  * // Use Cesium World Terrain
41537
- scene.setTerrain(Cesium.Terrain.fromWorldTerrain());
41783
+ * scene.setTerrain(Cesium.Terrain.fromWorldTerrain());
41538
41784
  * @example
41539
41785
  * // Use a custom terrain provider
41540
- const terrain = new Cesium.Terrain(Cesium.CesiumTerrainProvider.fromUrl("https://myTestTerrain.com"));
41541
- scene.setTerrain(terrain);
41542
-
41543
- terrain.errorEvent.addEventListener(error => {
41544
- alert(`Encountered an error while creating terrain! ${error}`);
41545
- });
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
+ * });
41546
41792
  * @param terrain - The terrain provider async helper
41547
41793
  * @returns terrain The terrain provider async helper
41548
41794
  */
41549
41795
  setTerrain(terrain: Terrain): Terrain;
41550
41796
  /**
41551
41797
  * Returns true if this object was destroyed; otherwise, false.
41552
- <br /><br />
41553
- If this object was destroyed, it should not be used; calling any function other than
41554
- <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.
41555
41801
  * @returns <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
41556
41802
  */
41557
41803
  isDestroyed(): boolean;
41558
41804
  /**
41559
41805
  * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
41560
- release of WebGL resources, instead of relying on the garbage collector to destroy this object.
41561
- <br /><br />
41562
- Once an object is destroyed, it should not be used; calling any function other than
41563
- <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
41564
- 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.
41565
41811
  * @example
41566
41812
  * scene = scene && scene.destroy();
41567
41813
  */
@@ -41570,11 +41816,11 @@ export class Scene {
41570
41816
 
41571
41817
  /**
41572
41818
  * Determine how translucent surfaces will be handled.
41573
-
41574
- When OIT is enabled, then this will delegate to OIT.executeCommands.
41575
- Otherwise, it will just be executeTranslucentCommandsBackToFront
41576
- for render passes, or executeTranslucentCommandsFrontToBack for
41577
- 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.
41578
41824
  * @param scene - The scene.
41579
41825
  * @returns A function to execute translucent commands.
41580
41826
  */
@@ -41835,13 +42081,13 @@ export enum SensorVolumePortionToDisplay {
41835
42081
 
41836
42082
  /**
41837
42083
  * <div class="notice">
41838
- Use {@link Viewer#shadowMap} to get the scene's shadow map. Do not construct this directly.
41839
- </div>
41840
-
41841
- <p>
41842
- The normalOffset bias pushes the shadows forward slightly, and may be disabled
41843
- for applications that require ultra precise shadows.
41844
- </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>
41845
42091
  */
41846
42092
  export class ShadowMap {
41847
42093
  constructor();
@@ -43100,13 +43346,13 @@ const positron = new Cesium.UrlTemplateImageryProvider({
43100
43346
  });
43101
43347
  // Access a Web Map Service (WMS) server.
43102
43348
  const wms = new Cesium.UrlTemplateImageryProvider({
43103
- url : 'https://programs.communications.gov.au/geoserver/ows?tiled=true&' +
43104
- 'transparent=true&format=image%2Fpng&exceptions=application%2Fvnd.ogc.se_xml&' +
43105
- 'styles=&service=WMS&version=1.1.1&request=GetMap&' +
43106
- '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&' +
43107
43353
  'bbox={westProjected}%2C{southProjected}%2C{eastProjected}%2C{northProjected}&' +
43108
43354
  'width=256&height=256',
43109
- 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
43110
43356
  });
43111
43357
  // Using custom tags in your template url.
43112
43358
  const custom = new Cesium.UrlTemplateImageryProvider({
@@ -43715,31 +43961,31 @@ export namespace WebMapServiceImageryProvider {
43715
43961
  * @property [parameters = WebMapServiceImageryProvider.DefaultParameters] - Additional parameters to pass to the WMS server in the GetMap URL.
43716
43962
  * @property [getFeatureInfoParameters = WebMapServiceImageryProvider.GetFeatureInfoDefaultParameters] - Additional parameters to pass to the WMS server in the GetFeatureInfo URL.
43717
43963
  * @property [enablePickFeatures = true] - If true, {@link WebMapServiceImageryProvider#pickFeatures} will invoke
43718
- the GetFeatureInfo operation on the WMS server and return the features included in the response. If false,
43719
- {@link WebMapServiceImageryProvider#pickFeatures} will immediately return undefined (indicating no pickable features)
43720
- without communicating with the server. Set this property to false if you know your WMS server does not support
43721
- GetFeatureInfo or if you don't want this provider's features to be pickable. Note that this can be dynamically
43722
- 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.
43723
43969
  * @property [getFeatureInfoFormats = WebMapServiceImageryProvider.DefaultGetFeatureInfoFormats] - The formats
43724
- in which to try WMS GetFeatureInfo requests.
43970
+ * in which to try WMS GetFeatureInfo requests.
43725
43971
  * @property [rectangle = Rectangle.MAX_VALUE] - The rectangle of the layer.
43726
43972
  * @property [tilingScheme = new GeographicTilingScheme()] - The tiling scheme to use to divide the world into tiles.
43727
43973
  * @property [ellipsoid] - The ellipsoid. If the tilingScheme is specified,
43728
- this parameter is ignored and the tiling scheme's ellipsoid is used instead. If neither
43729
- 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.
43730
43976
  * @property [tileWidth = 256] - The width of each tile in pixels.
43731
43977
  * @property [tileHeight = 256] - The height of each tile in pixels.
43732
43978
  * @property [minimumLevel = 0] - The minimum level-of-detail supported by the imagery provider. Take care when
43733
- specifying this that the number of tiles at the minimum level is small, such as four or less. A larger number is
43734
- 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.
43735
43981
  * @property [maximumLevel] - The maximum level-of-detail supported by the imagery provider, or undefined if there is no limit.
43736
- If not specified, there is no limit.
43982
+ * If not specified, there is no limit.
43737
43983
  * @property [crs] - CRS specification, for use with WMS specification >= 1.3.0.
43738
43984
  * @property [srs] - SRS specification, for use with WMS specification 1.1.0 or 1.1.1
43739
43985
  * @property [credit] - A credit for the data source, which is displayed on the canvas.
43740
43986
  * @property [subdomains = 'abc'] - The subdomains to use for the <code>{s}</code> placeholder in the URL template.
43741
- If this parameter is a single string, each character in the string is a subdomain. If it is
43742
- 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.
43743
43989
  * @property [clock] - A Clock instance that is used when determining the value for the time dimension. Required when `times` is specified.
43744
43990
  * @property [times] - TimeIntervalCollection with its data property being an object containing time dynamic dimension and their values.
43745
43991
  * @property [getFeatureInfoUrl] - The getFeatureInfo URL of the WMS service. If the property is not defined then we use the property value of url.
@@ -43772,12 +44018,12 @@ export namespace WebMapServiceImageryProvider {
43772
44018
  * Provides tiled imagery hosted by a Web Map Service (WMS) server.
43773
44019
  * @example
43774
44020
  * const provider = new Cesium.WebMapServiceImageryProvider({
43775
- url : 'https://sampleserver1.arcgisonline.com/ArcGIS/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/WMSServer',
43776
- layers : '0',
43777
- proxy: new Cesium.DefaultProxy('/proxy/')
43778
- });
43779
- const imageryLayer = new Cesium.ImageryLayer(provider);
43780
- 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);
43781
44027
  * @param options - Object describing initialization options
43782
44028
  */
43783
44029
  export class WebMapServiceImageryProvider {
@@ -43820,35 +44066,35 @@ export class WebMapServiceImageryProvider {
43820
44066
  readonly rectangle: Rectangle;
43821
44067
  /**
43822
44068
  * Gets the tile discard policy. If not undefined, the discard policy is responsible
43823
- for filtering out "missing" tiles via its shouldDiscardImage function. If this function
43824
- 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.
43825
44071
  */
43826
44072
  readonly tileDiscardPolicy: TileDiscardPolicy;
43827
44073
  /**
43828
44074
  * Gets an event that is raised when the imagery provider encounters an asynchronous error. By subscribing
43829
- to the event, you will be notified of the error and can potentially recover from it. Event listeners
43830
- 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}.
43831
44077
  */
43832
44078
  readonly errorEvent: Event;
43833
44079
  /**
43834
44080
  * Gets the credit to display when this imagery provider is active. Typically this is used to credit
43835
- the source of the imagery.
44081
+ * the source of the imagery.
43836
44082
  */
43837
44083
  readonly credit: Credit;
43838
44084
  /**
43839
44085
  * Gets a value indicating whether or not the images provided by this imagery provider
43840
- include an alpha channel. If this property is false, an alpha channel, if present, will
43841
- be ignored. If this property is true, any images without an alpha channel will be treated
43842
- as if their alpha is 1.0 everywhere. When this property is false, memory usage
43843
- 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.
43844
44090
  */
43845
44091
  readonly hasAlphaChannel: boolean;
43846
44092
  /**
43847
44093
  * Gets or sets a value indicating whether feature picking is enabled. If true, {@link WebMapServiceImageryProvider#pickFeatures} will
43848
- invoke the <code>GetFeatureInfo</code> service on the WMS server and attempt to interpret the features included in the response. If false,
43849
- {@link WebMapServiceImageryProvider#pickFeatures} will immediately return undefined (indicating no pickable
43850
- features) without communicating with the server. Set this property to false if you know your data
43851
- 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.
43852
44098
  */
43853
44099
  enablePickFeatures: boolean;
43854
44100
  /**
@@ -43857,8 +44103,8 @@ export class WebMapServiceImageryProvider {
43857
44103
  clock: Clock;
43858
44104
  /**
43859
44105
  * Gets or sets a time interval collection that is used to get time dynamic parameters. The data of each
43860
- TimeInterval is an object containing the keys and values of the properties that are used during
43861
- tile requests.
44106
+ * TimeInterval is an object containing the keys and values of the properties that are used during
44107
+ * tile requests.
43862
44108
  */
43863
44109
  times: TimeIntervalCollection;
43864
44110
  /**
@@ -43880,36 +44126,36 @@ export class WebMapServiceImageryProvider {
43880
44126
  * @param level - The tile level.
43881
44127
  * @param [request] - The request object. Intended for internal use only.
43882
44128
  * @returns A promise for the image that will resolve when the image is available, or
43883
- 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.
43884
44130
  */
43885
44131
  requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
43886
44132
  /**
43887
44133
  * Asynchronously determines what features, if any, are located at a given longitude and latitude within
43888
- a tile.
44134
+ * a tile.
43889
44135
  * @param x - The tile X coordinate.
43890
44136
  * @param y - The tile Y coordinate.
43891
44137
  * @param level - The tile level.
43892
44138
  * @param longitude - The longitude at which to pick features.
43893
44139
  * @param latitude - The latitude at which to pick features.
43894
44140
  * @returns A promise for the picked features that will resolve when the asynchronous
43895
- picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo}
43896
- 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.
43897
44143
  */
43898
44144
  pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise<ImageryLayerFeatureInfo[]> | undefined;
43899
44145
  /**
43900
44146
  * The default parameters to include in the WMS URL to obtain images. The values are as follows:
43901
- service=WMS
43902
- version=1.1.1
43903
- request=GetMap
43904
- styles=
43905
- format=image/jpeg
44147
+ * service=WMS
44148
+ * version=1.1.1
44149
+ * request=GetMap
44150
+ * styles=
44151
+ * format=image/jpeg
43906
44152
  */
43907
44153
  static readonly DefaultParameters: any;
43908
44154
  /**
43909
44155
  * The default parameters to include in the WMS URL to get feature information. The values are as follows:
43910
- service=WMS
43911
- version=1.1.1
43912
- request=GetFeatureInfo
44156
+ * service=WMS
44157
+ * version=1.1.1
44158
+ * request=GetFeatureInfo
43913
44159
  */
43914
44160
  static readonly GetFeatureInfoDefaultParameters: any;
43915
44161
  }
@@ -44709,12 +44955,12 @@ export class BaseLayerPickerViewModel {
44709
44955
  });
44710
44956
  /**
44711
44957
  * Gets or sets an array of ProviderViewModel instances available for imagery selection.
44712
- This property is observable.
44958
+ * This property is observable.
44713
44959
  */
44714
44960
  imageryProviderViewModels: ProviderViewModel[];
44715
44961
  /**
44716
44962
  * Gets or sets an array of ProviderViewModel instances available for terrain selection.
44717
- This property is observable.
44963
+ * This property is observable.
44718
44964
  */
44719
44965
  terrainProviderViewModels: ProviderViewModel[];
44720
44966
  /**
@@ -44755,7 +45001,7 @@ export class BaseLayerPickerViewModel {
44755
45001
  * @param options.iconUrl - An icon representing the layer.
44756
45002
  * @param [options.category] - A category for the layer.
44757
45003
  * @param options.creationFunction - A function or Command
44758
- 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.
44759
45005
  */
44760
45006
  export class ProviderViewModel {
44761
45007
  constructor(options: {
@@ -44779,7 +45025,7 @@ export class ProviderViewModel {
44779
45025
  iconUrl: string;
44780
45026
  /**
44781
45027
  * Gets the Command that creates one or more providers which will be added to
44782
- the globe when this item is selected.
45028
+ * the globe when this item is selected.
44783
45029
  */
44784
45030
  readonly creationCommand: Command;
44785
45031
  /**
@@ -46340,7 +46586,7 @@ export namespace Viewer {
46340
46586
  * @property [baseLayerPicker = true] - If set to false, the BaseLayerPicker widget will not be created.
46341
46587
  * @property [fullscreenButton = true] - If set to false, the FullscreenButton widget will not be created.
46342
46588
  * @property [vrButton = false] - If set to true, the VRButton widget will be created.
46343
- * @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.
46344
46590
  * @property [homeButton = true] - If set to false, the HomeButton widget will not be created.
46345
46591
  * @property [infoBox = true] - If set to false, the InfoBox widget will not be created.
46346
46592
  * @property [sceneModePicker = true] - If set to false, the SceneModePicker widget will not be created.
@@ -46355,7 +46601,7 @@ export namespace Viewer {
46355
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.
46356
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.
46357
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.
46358
- * @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.
46359
46605
  * @property [ellipsoid = Ellipsoid.default] - The default ellipsoid.
46360
46606
  * @property [terrainProvider = new EllipsoidTerrainProvider()] - The terrain provider to use
46361
46607
  * @property [terrain] - A terrain object which handles asynchronous terrain provider. Can only specify if options.terrainProvider is undefined.
@@ -46391,7 +46637,7 @@ export namespace Viewer {
46391
46637
  baseLayerPicker?: boolean;
46392
46638
  fullscreenButton?: boolean;
46393
46639
  vrButton?: boolean;
46394
- geocoder?: boolean | GeocoderService[];
46640
+ geocoder?: boolean | IonGeocodeProviderType | GeocoderService[];
46395
46641
  homeButton?: boolean;
46396
46642
  infoBox?: boolean;
46397
46643
  sceneModePicker?: boolean;