mars3d-cesium 1.92.5 → 1.93.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 (87) hide show
  1. package/Build/Cesium/Cesium.d.ts +1403 -928
  2. package/Build/Cesium/Cesium.js +9 -43
  3. package/Build/Cesium/ThirdParty/Workers/z-worker-pako.js +1 -1
  4. package/Build/Cesium/ThirdParty/google-earth-dbroot-parser.js +1 -1
  5. package/Build/Cesium/Widgets/Timeline/Timeline.css +1 -1
  6. package/Build/Cesium/Widgets/widgets.css +1 -1
  7. package/Build/Cesium/Workers/{AttributeCompression-7a823eb1.js → AttributeCompression-6e71d14f.js} +1 -1
  8. package/Build/Cesium/Workers/{AxisAlignedBoundingBox-ef345290.js → AxisAlignedBoundingBox-5ba8fa79.js} +1 -1
  9. package/Build/Cesium/Workers/{BoundingRectangle-ffeef844.js → BoundingRectangle-00ff5b29.js} +1 -1
  10. package/Build/Cesium/Workers/{BoxGeometry-c0d41d4f.js → BoxGeometry-769f040a.js} +1 -1
  11. package/Build/Cesium/Workers/{Color-75e74066.js → Color-451a8720.js} +1 -1
  12. package/Build/Cesium/Workers/{CoplanarPolygonGeometryLibrary-0d63b099.js → CoplanarPolygonGeometryLibrary-5f6be5a7.js} +1 -1
  13. package/Build/Cesium/Workers/{CorridorGeometryLibrary-0169e68d.js → CorridorGeometryLibrary-0cda5b97.js} +1 -1
  14. package/Build/Cesium/Workers/{CylinderGeometry-068eebd3.js → CylinderGeometry-723ca1ba.js} +1 -1
  15. package/Build/Cesium/Workers/{EllipseGeometry-eeb1db07.js → EllipseGeometry-43f9e5b7.js} +1 -1
  16. package/Build/Cesium/Workers/{EllipseGeometryLibrary-eedf4d0b.js → EllipseGeometryLibrary-2b119a38.js} +1 -1
  17. package/Build/Cesium/Workers/{EllipseOutlineGeometry-7c871752.js → EllipseOutlineGeometry-5a39395e.js} +1 -1
  18. package/Build/Cesium/Workers/{EllipsoidGeodesic-7d405754.js → EllipsoidGeodesic-f4459924.js} +1 -1
  19. package/Build/Cesium/Workers/{EllipsoidGeometry-954ef938.js → EllipsoidGeometry-418f414a.js} +1 -1
  20. package/Build/Cesium/Workers/{EllipsoidOutlineGeometry-79998e39.js → EllipsoidOutlineGeometry-1081cab8.js} +1 -1
  21. package/Build/Cesium/Workers/{EllipsoidRhumbLine-7b6199fa.js → EllipsoidRhumbLine-94e77fa4.js} +1 -1
  22. package/Build/Cesium/Workers/{EllipsoidTangentPlane-330be9cc.js → EllipsoidTangentPlane-01395a15.js} +1 -1
  23. package/Build/Cesium/Workers/{EncodedCartesian3-ee8e4156.js → EncodedCartesian3-20914bf5.js} +1 -1
  24. package/Build/Cesium/Workers/{FrustumGeometry-1e1111d8.js → FrustumGeometry-a1fefbf4.js} +1 -1
  25. package/Build/Cesium/Workers/GeometryAttribute-b7edcc35.js +1 -0
  26. package/Build/Cesium/Workers/{GeometryInstance-86b030a6.js → GeometryInstance-19ac39d5.js} +1 -1
  27. package/Build/Cesium/Workers/{GeometryPipeline-b15e7fd0.js → GeometryPipeline-311a1f9e.js} +1 -1
  28. package/Build/Cesium/Workers/{IntersectionTests-f15438d8.js → IntersectionTests-94cb8698.js} +1 -1
  29. package/Build/Cesium/Workers/{Matrix2-1509208a.js → Matrix2-e6265fb0.js} +0 -0
  30. package/Build/Cesium/Workers/{OrientedBoundingBox-fa9056b2.js → OrientedBoundingBox-0f36ec8f.js} +1 -1
  31. package/Build/Cesium/Workers/{Plane-e3daa19b.js → Plane-042297c7.js} +1 -1
  32. package/Build/Cesium/Workers/{PolygonGeometryLibrary-cb0bc5e9.js → PolygonGeometryLibrary-a64b67ab.js} +1 -1
  33. package/Build/Cesium/Workers/{PolygonPipeline-32699305.js → PolygonPipeline-1015dc5c.js} +1 -1
  34. package/Build/Cesium/Workers/{PolylinePipeline-39d7619d.js → PolylinePipeline-256ec228.js} +1 -1
  35. package/Build/Cesium/Workers/{PolylineVolumeGeometryLibrary-bd0bbdaf.js → PolylineVolumeGeometryLibrary-c9777b58.js} +1 -1
  36. package/Build/Cesium/Workers/{PrimitivePipeline-e1f3eb3d.js → PrimitivePipeline-9bc85f23.js} +1 -1
  37. package/Build/Cesium/Workers/{RectangleGeometryLibrary-a44974f6.js → RectangleGeometryLibrary-dfe005a4.js} +1 -1
  38. package/Build/Cesium/Workers/{TerrainEncoding-341cc7d2.js → TerrainEncoding-7f4829f1.js} +1 -1
  39. package/Build/Cesium/Workers/Transforms-06c05e21.js +39 -0
  40. package/Build/Cesium/Workers/WallGeometryLibrary-0ff0aa92.js +1 -0
  41. package/Build/Cesium/Workers/{WebMercatorProjection-2d827489.js → WebMercatorProjection-50f5da31.js} +1 -1
  42. package/Build/Cesium/Workers/combineGeometry.js +1 -1
  43. package/Build/Cesium/Workers/createBoxGeometry.js +1 -1
  44. package/Build/Cesium/Workers/createBoxOutlineGeometry.js +1 -1
  45. package/Build/Cesium/Workers/createCircleGeometry.js +1 -1
  46. package/Build/Cesium/Workers/createCircleOutlineGeometry.js +1 -1
  47. package/Build/Cesium/Workers/createCoplanarPolygonGeometry.js +1 -1
  48. package/Build/Cesium/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
  49. package/Build/Cesium/Workers/createCorridorGeometry.js +1 -1
  50. package/Build/Cesium/Workers/createCorridorOutlineGeometry.js +1 -1
  51. package/Build/Cesium/Workers/createCylinderGeometry.js +1 -1
  52. package/Build/Cesium/Workers/createCylinderOutlineGeometry.js +1 -1
  53. package/Build/Cesium/Workers/createEllipseGeometry.js +1 -1
  54. package/Build/Cesium/Workers/createEllipseOutlineGeometry.js +1 -1
  55. package/Build/Cesium/Workers/createEllipsoidGeometry.js +1 -1
  56. package/Build/Cesium/Workers/createEllipsoidOutlineGeometry.js +1 -1
  57. package/Build/Cesium/Workers/createFrustumGeometry.js +1 -1
  58. package/Build/Cesium/Workers/createFrustumOutlineGeometry.js +1 -1
  59. package/Build/Cesium/Workers/createGeometry.js +1 -1
  60. package/Build/Cesium/Workers/createGroundPolylineGeometry.js +1 -1
  61. package/Build/Cesium/Workers/createPlaneGeometry.js +1 -1
  62. package/Build/Cesium/Workers/createPlaneOutlineGeometry.js +1 -1
  63. package/Build/Cesium/Workers/createPolygonGeometry.js +1 -1
  64. package/Build/Cesium/Workers/createPolygonOutlineGeometry.js +1 -1
  65. package/Build/Cesium/Workers/createPolylineGeometry.js +1 -1
  66. package/Build/Cesium/Workers/createPolylineVolumeGeometry.js +1 -1
  67. package/Build/Cesium/Workers/createPolylineVolumeOutlineGeometry.js +1 -1
  68. package/Build/Cesium/Workers/createRectangleGeometry.js +1 -1
  69. package/Build/Cesium/Workers/createRectangleOutlineGeometry.js +1 -1
  70. package/Build/Cesium/Workers/createSimplePolylineGeometry.js +1 -1
  71. package/Build/Cesium/Workers/createSphereGeometry.js +1 -1
  72. package/Build/Cesium/Workers/createSphereOutlineGeometry.js +1 -1
  73. package/Build/Cesium/Workers/createVectorTileClampedPolylines.js +1 -1
  74. package/Build/Cesium/Workers/createVectorTileGeometries.js +1 -1
  75. package/Build/Cesium/Workers/createVectorTilePoints.js +1 -1
  76. package/Build/Cesium/Workers/createVectorTilePolygons.js +1 -1
  77. package/Build/Cesium/Workers/createVectorTilePolylines.js +1 -1
  78. package/Build/Cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
  79. package/Build/Cesium/Workers/createVerticesFromHeightmap.js +2 -2
  80. package/Build/Cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +1 -1
  81. package/Build/Cesium/Workers/createWallGeometry.js +1 -1
  82. package/Build/Cesium/Workers/createWallOutlineGeometry.js +1 -1
  83. package/Build/Cesium/Workers/upsampleQuantizedTerrainMesh.js +1 -1
  84. package/package.json +4 -4
  85. package/Build/Cesium/Workers/GeometryAttribute-71155085.js +0 -1
  86. package/Build/Cesium/Workers/Transforms-bf323bcf.js +0 -39
  87. package/Build/Cesium/Workers/WallGeometryLibrary-0cfe87c2.js +0 -1
@@ -1,12 +1,4 @@
1
1
  declare module "mars3d-cesium" {
2
-
3
- /**
4
- * Private interfaces to support PropertyBag being a dictionary-like object.
5
- */
6
- interface DictionaryLike {
7
- [index: string]: any;
8
- }
9
-
10
2
  /**
11
3
  * Enum containing WebGL Constant values by name.
12
4
  for use without an active WebGL context, or in cases where certain constants are unavailable using the WebGL context
@@ -700,9 +692,9 @@ export class ArcGISTiledElevationTerrainProvider {
700
692
  * @param x - The X coordinate of the tile for which to request geometry.
701
693
  * @param y - The Y coordinate of the tile for which to request geometry.
702
694
  * @param level - The level of the tile for which to request geometry.
703
- * @returns Undefined if nothing need to be loaded or a Promise that resolves when all required tiles are loaded
695
+ * @returns This provider does not support loading availability.
704
696
  */
705
- loadTileDataAvailability(x: number, y: number, level: number): undefined | Promise<void>;
697
+ loadTileDataAvailability(x: number, y: number, level: number): undefined;
706
698
  }
707
699
 
708
700
  /**
@@ -1152,7 +1144,7 @@ export class BoundingSphere {
1152
1144
  static fromEncodedCartesianVertices(positionsHigh?: number[], positionsLow?: number[], result?: BoundingSphere): BoundingSphere;
1153
1145
  /**
1154
1146
  * Computes a bounding sphere from the corner points of an axis-aligned bounding box. The sphere
1155
- tighly and fully encompases the box.
1147
+ tightly and fully encompasses the box.
1156
1148
  * @example
1157
1149
  * // Create a bounding sphere around the unit cube
1158
1150
  const sphere = Cesium.BoundingSphere.fromCornerPoints(new Cesium.Cartesian3(-0.5, -0.5, -0.5), new Cesium.Cartesian3(0.5, 0.5, 0.5));
@@ -4522,6 +4514,51 @@ export class CompressedTextureBuffer {
4522
4514
  clone(): CompressedTextureBuffer;
4523
4515
  }
4524
4516
 
4517
+ /**
4518
+ * A spline that evaluates to a constant value. Although this follows the {@link Spline} interface,
4519
+ it does not maintain an internal array of times since its value never changes.
4520
+ * @example
4521
+ * const position = new Cesium.Cartesian3(1.0, 2.0, 3.0);
4522
+ const spline = new Cesium.ConstantSpline(position);
4523
+
4524
+ const p0 = spline.evaluate(0.0);
4525
+ * @param value - The constant value that the spline evaluates to.
4526
+ */
4527
+ export class ConstantSpline {
4528
+ constructor(value: number | Cartesian3 | Quaternion);
4529
+ /**
4530
+ * The constant value that the spline evaluates to.
4531
+ */
4532
+ readonly value: number | Cartesian3 | Quaternion;
4533
+ /**
4534
+ * Finds an index <code>i</code> in <code>times</code> such that the parameter
4535
+ <code>time</code> is in the interval <code>[times[i], times[i + 1]]</code>.
4536
+
4537
+ Since a constant spline has no internal times array, this will throw an error.
4538
+ * @param time - The time.
4539
+ */
4540
+ findTimeInterval(time: number): void;
4541
+ /**
4542
+ * Wraps the given time to the period covered by the spline.
4543
+ * @param time - The time.
4544
+ * @returns The time, wrapped around to the updated animation.
4545
+ */
4546
+ wrapTime(time: number): number;
4547
+ /**
4548
+ * Clamps the given time to the period covered by the spline.
4549
+ * @param time - The time.
4550
+ * @returns The time, clamped to the animation period.
4551
+ */
4552
+ clampTime(time: number): number;
4553
+ /**
4554
+ * Evaluates the curve at a given time.
4555
+ * @param time - The time at which to evaluate the curve.
4556
+ * @param [result] - The object onto which to store the result.
4557
+ * @returns The modified result parameter or the value that the constant spline represents.
4558
+ */
4559
+ evaluate(time: number, result?: Cartesian3 | Quaternion): number | Cartesian3 | Quaternion;
4560
+ }
4561
+
4525
4562
  /**
4526
4563
  * A description of a polygon composed of arbitrary coplanar positions.
4527
4564
  * @example
@@ -6337,9 +6374,9 @@ export class EllipsoidTerrainProvider {
6337
6374
  * @param x - The X coordinate of the tile for which to request geometry.
6338
6375
  * @param y - The Y coordinate of the tile for which to request geometry.
6339
6376
  * @param level - The level of the tile for which to request geometry.
6340
- * @returns Undefined if nothing need to be loaded or a Promise that resolves when all required tiles are loaded
6377
+ * @returns This provider does not support loading availability.
6341
6378
  */
6342
- loadTileDataAvailability(x: number, y: number, level: number): undefined | Promise<void>;
6379
+ loadTileDataAvailability(x: number, y: number, level: number): undefined;
6343
6380
  }
6344
6381
 
6345
6382
  /**
@@ -6358,7 +6395,7 @@ evt.addEventListener(MyObject.prototype.myListener, myObjectInstance);
6358
6395
  evt.raiseEvent('1', '2');
6359
6396
  evt.removeEventListener(MyObject.prototype.myListener);
6360
6397
  */
6361
- export class Event {
6398
+ export class Event<Listener extends (...args: any[]) => void = (...args: any[]) => void> {
6362
6399
  constructor();
6363
6400
  /**
6364
6401
  * The number of listeners currently subscribed to the event.
@@ -6373,19 +6410,19 @@ export class Event {
6373
6410
  pointer in which the listener function will execute.
6374
6411
  * @returns A function that will remove this event listener when invoked.
6375
6412
  */
6376
- addEventListener(listener: (...params: any[]) => any, scope?: any): Event.RemoveCallback;
6413
+ addEventListener(listener: Listener, scope?: any): Event.RemoveCallback;
6377
6414
  /**
6378
6415
  * Unregisters a previously registered callback.
6379
6416
  * @param listener - The function to be unregistered.
6380
6417
  * @param [scope] - The scope that was originally passed to addEventListener.
6381
6418
  * @returns <code>true</code> if the listener was removed; <code>false</code> if the listener and scope are not registered with the event.
6382
6419
  */
6383
- removeEventListener(listener: (...params: any[]) => any, scope?: any): boolean;
6420
+ removeEventListener(listener: Listener, scope?: any): boolean;
6384
6421
  /**
6385
6422
  * Raises the event by calling each registered listener with all supplied arguments.
6386
6423
  * @param arguments - This method takes any number of parameters and passes them through to the listener functions.
6387
6424
  */
6388
- raiseEvent(...arguments: any[]): void;
6425
+ raiseEvent(...arguments: Parameters<Listener>[]): void;
6389
6426
  }
6390
6427
 
6391
6428
  export namespace Event {
@@ -6447,7 +6484,12 @@ are some guidelines:
6447
6484
  <li>To avoid cluttering the code, check the flag in as few places as possible. Ideally this would be a single place.</li>
6448
6485
  </ul>
6449
6486
  */
6450
- export const ExperimentalFeatures: any;
6487
+ export namespace ExperimentalFeatures {
6488
+ /**
6489
+ * Toggles the usage of the ModelExperimental class.
6490
+ */
6491
+ var enableModelExperimental: boolean;
6492
+ }
6451
6493
 
6452
6494
  /**
6453
6495
  * Constants to determine how an interpolated value is extrapolated
@@ -7717,9 +7759,8 @@ export class GoogleEarthEnterpriseTerrainProvider {
7717
7759
  * @param x - The X coordinate of the tile for which to request geometry.
7718
7760
  * @param y - The Y coordinate of the tile for which to request geometry.
7719
7761
  * @param level - The level of the tile for which to request geometry.
7720
- * @returns Undefined if nothing need to be loaded or a Promise that resolves when all required tiles are loaded
7721
7762
  */
7722
- loadTileDataAvailability(x: number, y: number, level: number): undefined | Promise<void>;
7763
+ loadTileDataAvailability(x: number, y: number, level: number): undefined;
7723
7764
  }
7724
7765
 
7725
7766
  /**
@@ -8091,8 +8132,7 @@ export class HeightmapTerrainData {
8091
8132
  * @param descendantY - The Y coordinate within the tiling scheme of the descendant tile for which we are upsampling.
8092
8133
  * @param descendantLevel - The level within the tiling scheme of the descendant tile for which we are upsampling.
8093
8134
  * @returns A promise for upsampled heightmap terrain data for the descendant tile,
8094
- or undefined if too many asynchronous upsample operations are in progress and the request has been
8095
- deferred.
8135
+ or undefined if the mesh is unavailable.
8096
8136
  */
8097
8137
  upsample(tilingScheme: TilingScheme, thisX: number, thisY: number, thisLevel: number, descendantX: number, descendantY: number, descendantLevel: number): Promise<HeightmapTerrainData> | undefined;
8098
8138
  /**
@@ -8194,9 +8234,9 @@ const p0 = spline.evaluate(times[0]);
8194
8234
  * @param options - Object with the following properties:
8195
8235
  * @param options.times - An array of strictly increasing, unit-less, floating-point times at each point.
8196
8236
  The values are in no way connected to the clock time. They are the parameterization for the curve.
8197
- * @param options.points - The array of {@link Cartesian3} control points.
8198
- * @param options.inTangents - The array of {@link Cartesian3} incoming tangents at each control point.
8199
- * @param options.outTangents - The array of {@link Cartesian3} outgoing tangents at each control point.
8237
+ * @param options.points - The array of control points.
8238
+ * @param options.inTangents - The array of incoming tangents at each control point.
8239
+ * @param options.outTangents - The array of outgoing tangents at each control point.
8200
8240
  */
8201
8241
  export class HermiteSpline {
8202
8242
  constructor(options: {
@@ -8210,15 +8250,15 @@ export class HermiteSpline {
8210
8250
  */
8211
8251
  readonly times: number[];
8212
8252
  /**
8213
- * An array of {@link Cartesian3} control points.
8253
+ * An array of control points.
8214
8254
  */
8215
8255
  readonly points: Cartesian3[];
8216
8256
  /**
8217
- * An array of {@link Cartesian3} incoming tangents at each control point.
8257
+ * An array of incoming tangents at each control point.
8218
8258
  */
8219
8259
  readonly inTangents: Cartesian3[];
8220
8260
  /**
8221
- * An array of {@link Cartesian3} outgoing tangents at each control point.
8261
+ * An array of outgoing tangents at each control point.
8222
8262
  */
8223
8263
  readonly outTangents: Cartesian3[];
8224
8264
  /**
@@ -8276,7 +8316,7 @@ export class HermiteSpline {
8276
8316
  * @param options - Object with the following properties:
8277
8317
  * @param options.times - The array of control point times.
8278
8318
  * @param options.points - The array of control points.
8279
- * @returns A hermite spline or a linear spline if less than 3 control points were given.
8319
+ * @returns A hermite spline, or a linear spline if less than 3 control points were given.
8280
8320
  */
8281
8321
  static createNaturalCubic(options: {
8282
8322
  times: number[];
@@ -8304,11 +8344,11 @@ export class HermiteSpline {
8304
8344
  * @param options.points - The array of control points.
8305
8345
  * @param options.firstTangent - The outgoing tangent of the first control point.
8306
8346
  * @param options.lastTangent - The incoming tangent of the last control point.
8307
- * @returns A hermite spline or a linear spline if less than 3 control points were given.
8347
+ * @returns A hermite spline, or a linear spline if less than 3 control points were given.
8308
8348
  */
8309
8349
  static createClampedCubic(options: {
8310
8350
  times: number[];
8311
- points: Cartesian3[];
8351
+ points: number[] | Cartesian3[];
8312
8352
  firstTangent: Cartesian3;
8313
8353
  lastTangent: Cartesian3;
8314
8354
  }): HermiteSpline | LinearSpline;
@@ -8751,7 +8791,7 @@ export class IonResource extends Resource {
8751
8791
  preferImageBitmap?: boolean;
8752
8792
  flipY?: boolean;
8753
8793
  skipColorSpaceConversion?: boolean;
8754
- }): Promise<ImageBitmap> | Promise<HTMLImageElement> | undefined;
8794
+ }): Promise<ImageBitmap | HTMLImageElement> | undefined;
8755
8795
  }
8756
8796
 
8757
8797
  /**
@@ -8781,7 +8821,7 @@ export namespace Iso8601 {
8781
8821
  * A {@link TimeInterval} representing the largest interval representable by an ISO8601 interval.
8782
8822
  This is equivalent to the interval string '0000-01-01T00:00:00Z/9999-12-31T24:00:00Z'
8783
8823
  */
8784
- const MAXIMUM_INTERVAL: JulianDate;
8824
+ const MAXIMUM_INTERVAL: TimeInterval;
8785
8825
  }
8786
8826
 
8787
8827
  /**
@@ -9117,12 +9157,12 @@ const p0 = spline.evaluate(times[0]);
9117
9157
  * @param options - Object with the following properties:
9118
9158
  * @param options.times - An array of strictly increasing, unit-less, floating-point times at each point.
9119
9159
  The values are in no way connected to the clock time. They are the parameterization for the curve.
9120
- * @param options.points - The array of {@link Cartesian3} control points.
9160
+ * @param options.points - The array of control points.
9121
9161
  */
9122
9162
  export class LinearSpline {
9123
9163
  constructor(options: {
9124
9164
  times: number[];
9125
- points: Cartesian3[];
9165
+ points: number[] | Cartesian3[];
9126
9166
  });
9127
9167
  /**
9128
9168
  * An array of times for the control points.
@@ -9131,7 +9171,7 @@ export class LinearSpline {
9131
9171
  /**
9132
9172
  * An array of {@link Cartesian3} control points.
9133
9173
  */
9134
- readonly points: Cartesian3[];
9174
+ readonly points: number[] | Cartesian3[];
9135
9175
  /**
9136
9176
  * Finds an index <code>i</code> in <code>times</code> such that the parameter
9137
9177
  <code>time</code> is in the interval <code>[times[i], times[i + 1]]</code>.
@@ -9157,7 +9197,7 @@ export class LinearSpline {
9157
9197
  * @param [result] - The object onto which to store the result.
9158
9198
  * @returns The modified result parameter or a new instance of the point on the curve at the given time.
9159
9199
  */
9160
- evaluate(time: number, result?: Cartesian3): Cartesian3;
9200
+ evaluate(time: number, result?: Cartesian3): number | Cartesian3;
9161
9201
  }
9162
9202
 
9163
9203
  /**
@@ -9758,8 +9798,12 @@ export class Matrix2 implements ArrayLike<number> {
9758
9798
  // Create same Matrix2 with using an offset into an array
9759
9799
  const v2 = [0.0, 0.0, 1.0, 1.0, 2.0, 2.0];
9760
9800
  const m2 = Cesium.Matrix2.fromArray(v2, 2);
9801
+ * @param array - The array whose 4 consecutive elements correspond to the positions of the matrix. Assumes column-major order.
9802
+ * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to first column first row position in the matrix.
9803
+ * @param [result] - The object onto which to store the result.
9804
+ * @returns The modified result parameter or a new Matrix2 instance if one was not provided.
9761
9805
  */
9762
- static fromArray: any;
9806
+ static fromArray(array: number[], startingIndex?: number, result?: Matrix2): Matrix2;
9763
9807
  /**
9764
9808
  * Creates a Matrix2 instance from a column-major order array.
9765
9809
  * @param values - The column-major order array.
@@ -10156,8 +10200,12 @@ export class Matrix3 implements ArrayLike<number> {
10156
10200
  // Create same Matrix3 with using an offset into an array
10157
10201
  const v2 = [0.0, 0.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0];
10158
10202
  const m2 = Cesium.Matrix3.fromArray(v2, 2);
10203
+ * @param array - The array whose 9 consecutive elements correspond to the positions of the matrix. Assumes column-major order.
10204
+ * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to first column first row position in the matrix.
10205
+ * @param [result] - The object onto which to store the result.
10206
+ * @returns The modified result parameter or a new Matrix3 instance if one was not provided.
10159
10207
  */
10160
- static fromArray: any;
10208
+ static fromArray(array: number[], startingIndex?: number, result?: Matrix3): Matrix3;
10161
10209
  /**
10162
10210
  * Creates a Matrix3 instance from a column-major order array.
10163
10211
  * @param values - The column-major order array.
@@ -11474,6 +11522,58 @@ export function mergeSort(array: any[], comparator: mergeSortComparator, userDef
11474
11522
  */
11475
11523
  export type mergeSortComparator = (a: any, b: any, userDefinedObject?: any) => number;
11476
11524
 
11525
+ /**
11526
+ * A spline that linearly interpolates over an array of weight values used by morph targets.
11527
+ * @example
11528
+ * const times = [ 0.0, 1.5, 3.0, 4.5, 6.0 ];
11529
+ const weights = [0.0, 1.0, 0.25, 0.75, 0.5, 0.5, 0.75, 0.25, 1.0, 0.0]; //Two targets
11530
+ const spline = new Cesium.WeightSpline({
11531
+ times : times,
11532
+ weights : weights
11533
+ });
11534
+
11535
+ const p0 = spline.evaluate(times[0]);
11536
+ * @param options - Object with the following properties:
11537
+ * @param options.times - An array of strictly increasing, unit-less, floating-point times at each point.
11538
+ The values are in no way connected to the clock time. They are the parameterization for the curve.
11539
+ * @param options.weights - The array of floating-point control weights given. The weights are ordered such
11540
+ that all weights for the targets are given in chronological order and order in which they appear in
11541
+ the glTF from which the morph targets come. This means for 2 targets, weights = [w(0,0), w(0,1), w(1,0), w(1,1) ...]
11542
+ where i and j in w(i,j) are the time indices and target indices, respectively.
11543
+ */
11544
+ export class MorphWeightSpline {
11545
+ constructor(options: {
11546
+ times: number[];
11547
+ weights: number[];
11548
+ });
11549
+ /**
11550
+ * Finds an index <code>i</code> in <code>times</code> such that the parameter
11551
+ <code>time</code> is in the interval <code>[times[i], times[i + 1]]</code>.
11552
+ * @param time - The time.
11553
+ * @returns The index for the element at the start of the interval.
11554
+ */
11555
+ findTimeInterval(time: number): number;
11556
+ /**
11557
+ * Wraps the given time to the period covered by the spline.
11558
+ * @param time - The time.
11559
+ * @returns The time, wrapped around to the updated animation.
11560
+ */
11561
+ wrapTime(time: number): number;
11562
+ /**
11563
+ * Clamps the given time to the period covered by the spline.
11564
+ * @param time - The time.
11565
+ * @returns The time, clamped to the animation period.
11566
+ */
11567
+ clampTime(time: number): number;
11568
+ /**
11569
+ * Evaluates the curve at a given time.
11570
+ * @param time - The time at which to evaluate the curve.
11571
+ * @param [result] - The object onto which to store the result.
11572
+ * @returns The modified result parameter or a new instance of the point on the curve at the given time.
11573
+ */
11574
+ evaluate(time: number, result?: number[]): number[];
11575
+ }
11576
+
11477
11577
  /**
11478
11578
  * Represents a scalar value's lower and upper bound at a near distance and far distance in eye space.
11479
11579
  * @param [near = 0.0] - The lower bound of the camera range.
@@ -14746,6 +14846,36 @@ export enum RequestType {
14746
14846
  OTHER = 3
14747
14847
  }
14748
14848
 
14849
+ export namespace Resource {
14850
+ /**
14851
+ * Initialization options for the Resource constructor
14852
+ * @property url - The url of the resource.
14853
+ * @property [queryParameters] - An object containing query parameters that will be sent when retrieving the resource.
14854
+ * @property [templateValues] - Key/Value pairs that are used to replace template values (eg. {x}).
14855
+ * @property [headers = {}] - Additional HTTP headers that will be sent.
14856
+ * @property [proxy] - A proxy to be used when loading the resource.
14857
+ * @property [retryCallback] - The Function to call when a request for this resource fails. If it returns true, the request will be retried.
14858
+ * @property [retryAttempts = 0] - The number of times the retryCallback should be called before giving up.
14859
+ * @property [request] - A Request object that will be used. Intended for internal use only.
14860
+ */
14861
+ type ConstructorOptions = {
14862
+ url: string;
14863
+ queryParameters?: any;
14864
+ templateValues?: any;
14865
+ headers?: any;
14866
+ proxy?: Proxy;
14867
+ retryCallback?: Resource.RetryCallback;
14868
+ retryAttempts?: number;
14869
+ request?: Request;
14870
+ };
14871
+ /**
14872
+ * A function that returns the value of the property.
14873
+ * @param [resource] - The resource that failed to load.
14874
+ * @param [error] - The error that occurred during the loading of the resource.
14875
+ */
14876
+ type RetryCallback = (resource?: Resource, error?: Error) => boolean | Promise<boolean>;
14877
+ }
14878
+
14749
14879
  /**
14750
14880
  * A resource that includes the location and any other parameters we need to retrieve it or create derived resources. It also provides the ability to retry requests.
14751
14881
  * @example
@@ -14777,27 +14907,10 @@ const resource = new Resource({
14777
14907
  retryCallback: refreshTokenRetryCallback,
14778
14908
  retryAttempts: 1
14779
14909
  });
14780
- * @param options - A url or an object with the following properties
14781
- * @param options.url - The url of the resource.
14782
- * @param [options.queryParameters] - An object containing query parameters that will be sent when retrieving the resource.
14783
- * @param [options.templateValues] - Key/Value pairs that are used to replace template values (eg. {x}).
14784
- * @param [options.headers = {}] - Additional HTTP headers that will be sent.
14785
- * @param [options.proxy] - A proxy to be used when loading the resource.
14786
- * @param [options.retryCallback] - The Function to call when a request for this resource fails. If it returns true, the request will be retried.
14787
- * @param [options.retryAttempts = 0] - The number of times the retryCallback should be called before giving up.
14788
- * @param [options.request] - A Request object that will be used. Intended for internal use only.
14910
+ * @param options - A url or an object describing initialization options
14789
14911
  */
14790
14912
  export class Resource {
14791
- constructor(options: {
14792
- url: string;
14793
- queryParameters?: any;
14794
- templateValues?: any;
14795
- headers?: any;
14796
- proxy?: Proxy;
14797
- retryCallback?: Resource.RetryCallback;
14798
- retryAttempts?: number;
14799
- request?: Request;
14800
- });
14913
+ constructor(options: string | Resource.ConstructorOptions);
14801
14914
  /**
14802
14915
  * Additional HTTP headers that will be sent with the request.
14803
14916
  */
@@ -15032,7 +15145,7 @@ export class Resource {
15032
15145
  preferImageBitmap?: boolean;
15033
15146
  flipY?: boolean;
15034
15147
  skipColorSpaceConversion?: boolean;
15035
- }): Promise<ImageBitmap> | Promise<HTMLImageElement> | undefined;
15148
+ }): Promise<ImageBitmap | HTMLImageElement> | undefined;
15036
15149
  /**
15037
15150
  * Creates a Resource and calls fetchImage() on it.
15038
15151
  * @param options - A url or an object with the following properties
@@ -15063,7 +15176,7 @@ export class Resource {
15063
15176
  preferBlob?: boolean;
15064
15177
  preferImageBitmap?: boolean;
15065
15178
  skipColorSpaceConversion?: boolean;
15066
- }): Promise<ImageBitmap> | Promise<HTMLImageElement> | undefined;
15179
+ }): Promise<ImageBitmap | HTMLImageElement> | undefined;
15067
15180
  /**
15068
15181
  * Asynchronously loads the given resource as text. Returns a promise that will resolve to
15069
15182
  a String once loaded, or reject if the resource failed to load. The data is loaded
@@ -15595,15 +15708,6 @@ export class Resource {
15595
15708
  static readonly DEFAULT: Resource;
15596
15709
  }
15597
15710
 
15598
- export namespace Resource {
15599
- /**
15600
- * A function that returns the value of the property.
15601
- * @param [resource] - The resource that failed to load.
15602
- * @param [error] - The error that occurred during the loading of the resource.
15603
- */
15604
- type RetryCallback = (resource?: Resource, error?: Error) => boolean | Promise<boolean>;
15605
- }
15606
-
15607
15711
  /**
15608
15712
  * Constructs an exception object that is thrown due to an error that can occur at runtime, e.g.,
15609
15713
  out of memory, could not compile shader, etc. If a function may throw this
@@ -15683,6 +15787,58 @@ Promise.resolve(promise).then(function(updatedPositions) {
15683
15787
  */
15684
15788
  export function sampleTerrainMostDetailed(terrainProvider: TerrainProvider, positions: Cartographic[]): Promise<Cartographic[]>;
15685
15789
 
15790
+ export namespace ScreenSpaceEventHandler {
15791
+ /**
15792
+ * An Event that occurs at a single position on screen.
15793
+ */
15794
+ type PositionedEvent = {
15795
+ position: Cartesian2;
15796
+ };
15797
+ /**
15798
+ * @param event - The event which triggered the listener
15799
+ */
15800
+ type PositionedEventCallback = (event: ScreenSpaceEventHandler.PositionedEvent) => void;
15801
+ /**
15802
+ * An Event that starts at one position and ends at another.
15803
+ */
15804
+ type MotionEvent = {
15805
+ startPosition: Cartesian2;
15806
+ endPosition: Cartesian2;
15807
+ };
15808
+ /**
15809
+ * @param event - The event which triggered the listener
15810
+ */
15811
+ type MotionEventCallback = (event: ScreenSpaceEventHandler.MotionEvent) => void;
15812
+ /**
15813
+ * An Event that occurs at a two positions on screen.
15814
+ */
15815
+ type TwoPointEvent = {
15816
+ position1: Cartesian2;
15817
+ position2: Cartesian2;
15818
+ };
15819
+ /**
15820
+ * @param event - The event which triggered the listener
15821
+ */
15822
+ type TwoPointEventCallback = (event: ScreenSpaceEventHandler.TwoPointEvent) => void;
15823
+ /**
15824
+ * An Event that starts at a two positions on screen and moves to two other positions.
15825
+ */
15826
+ type TwoPointMotionEvent = {
15827
+ position1: Cartesian2;
15828
+ position2: Cartesian2;
15829
+ previousPosition1: Cartesian2;
15830
+ previousPosition2: Cartesian2;
15831
+ };
15832
+ /**
15833
+ * @param event - The event which triggered the listener
15834
+ */
15835
+ type TwoPointMotionEventCallback = (event: ScreenSpaceEventHandler.TwoPointMotionEvent) => void;
15836
+ /**
15837
+ * @param delta - The amount that the mouse wheel moved
15838
+ */
15839
+ type WheelEventCallback = (delta: number) => void;
15840
+ }
15841
+
15686
15842
  /**
15687
15843
  * Handles user input events. Custom functions can be added to be executed on
15688
15844
  when the user enters input.
@@ -15697,7 +15853,7 @@ export class ScreenSpaceEventHandler {
15697
15853
  * @param [modifier] - A KeyboardEventModifier key that is held when a <code>type</code>
15698
15854
  event occurs.
15699
15855
  */
15700
- setInputAction(action: (...params: any[]) => any, type: number, modifier?: number): void;
15856
+ setInputAction(action: ScreenSpaceEventHandler.PositionedEventCallback | ScreenSpaceEventHandler.MotionEventCallback | ScreenSpaceEventHandler.WheelEventCallback | ScreenSpaceEventHandler.TwoPointEventCallback | ScreenSpaceEventHandler.TwoPointMotionEventCallback, type: ScreenSpaceEventType, modifier?: KeyboardEventModifier): void;
15701
15857
  /**
15702
15858
  * Returns the function to be executed on an input event.
15703
15859
  * @param type - The ScreenSpaceEventType of input event.
@@ -15705,14 +15861,14 @@ export class ScreenSpaceEventHandler {
15705
15861
  event occurs.
15706
15862
  * @returns The function to be executed on an input event.
15707
15863
  */
15708
- getInputAction(type: number, modifier?: number): (...params: any[]) => any;
15864
+ getInputAction(type: ScreenSpaceEventType, modifier?: KeyboardEventModifier): ScreenSpaceEventHandler.PositionedEventCallback | ScreenSpaceEventHandler.MotionEventCallback | ScreenSpaceEventHandler.WheelEventCallback | ScreenSpaceEventHandler.TwoPointEventCallback | ScreenSpaceEventHandler.TwoPointMotionEventCallback;
15709
15865
  /**
15710
15866
  * Removes the function to be executed on an input event.
15711
15867
  * @param type - The ScreenSpaceEventType of input event.
15712
15868
  * @param [modifier] - A KeyboardEventModifier key that is held when a <code>type</code>
15713
15869
  event occurs.
15714
15870
  */
15715
- removeInputAction(type: number, modifier?: number): void;
15871
+ removeInputAction(type: ScreenSpaceEventType, modifier?: KeyboardEventModifier): void;
15716
15872
  /**
15717
15873
  * Returns true if this object was destroyed; otherwise, false.
15718
15874
  <br /><br />
@@ -16163,6 +16319,68 @@ export class Spline {
16163
16319
  clampTime(time: number): number;
16164
16320
  }
16165
16321
 
16322
+ /**
16323
+ * A spline that is composed of piecewise constants representing a step function.
16324
+ * @example
16325
+ * const times = [ 0.0, 1.5, 3.0, 4.5, 6.0 ];
16326
+ const spline = new Cesium.SteppedSpline({
16327
+ times : times,
16328
+ points : [
16329
+ new Cesium.Cartesian3(1235398.0, -4810983.0, 4146266.0),
16330
+ new Cesium.Cartesian3(1372574.0, -5345182.0, 4606657.0),
16331
+ new Cesium.Cartesian3(-757983.0, -5542796.0, 4514323.0),
16332
+ new Cesium.Cartesian3(-2821260.0, -5248423.0, 4021290.0),
16333
+ new Cesium.Cartesian3(-2539788.0, -4724797.0, 3620093.0)
16334
+ ]
16335
+ });
16336
+
16337
+ const p0 = spline.evaluate(times[0]);
16338
+ * @param options - Object with the following properties:
16339
+ * @param options.times - An array of strictly increasing, unit-less, floating-point times at each point. The values are in no way connected to the clock time. They are the parameterization for the curve.
16340
+ * @param options.points - The array of control points.
16341
+ */
16342
+ export class SteppedSpline {
16343
+ constructor(options: {
16344
+ times: number[];
16345
+ points: number[] | Cartesian3[] | Quaternion[];
16346
+ });
16347
+ /**
16348
+ * An array of times for the control points.
16349
+ */
16350
+ readonly times: number[];
16351
+ /**
16352
+ * An array of control points.
16353
+ */
16354
+ readonly points: number[] | Cartesian3[] | Quaternion[];
16355
+ /**
16356
+ * Finds an index <code>i</code> in <code>times</code> such that the parameter
16357
+ <code>time</code> is in the interval <code>[times[i], times[i + 1]]</code>.
16358
+ * @param time - The time.
16359
+ * @param startIndex - The index from which to start the search.
16360
+ * @returns The index for the element at the start of the interval.
16361
+ */
16362
+ findTimeInterval(time: number, startIndex: number): number;
16363
+ /**
16364
+ * Wraps the given time to the period covered by the spline.
16365
+ * @param time - The time.
16366
+ * @returns The time, wrapped around to the updated animation.
16367
+ */
16368
+ wrapTime(time: number): number;
16369
+ /**
16370
+ * Clamps the given time to the period covered by the spline.
16371
+ * @param time - The time.
16372
+ * @returns The time, clamped to the animation period.
16373
+ */
16374
+ clampTime(time: number): number;
16375
+ /**
16376
+ * Evaluates the curve at a given time.
16377
+ * @param time - The time at which to evaluate the curve.
16378
+ * @param [result] - The object onto which to store the result.
16379
+ * @returns The modified result parameter or a new instance of the point on the curve at the given time.
16380
+ */
16381
+ evaluate(time: number, result?: Cartesian3 | Quaternion): number | Cartesian3 | Quaternion;
16382
+ }
16383
+
16166
16384
  /**
16167
16385
  * Subdivides an array into a number of smaller, equal sized arrays.
16168
16386
  * @param array - The array to divide.
@@ -16301,6 +16519,14 @@ export class TerrainData {
16301
16519
  wasCreatedByUpsampling(): boolean;
16302
16520
  }
16303
16521
 
16522
+ export namespace TerrainProvider {
16523
+ /**
16524
+ * A function that is called when an error occurs.
16525
+ * @param err - An object holding details about the error that occurred.
16526
+ */
16527
+ type ErrorEvent = (this: TerrainProvider, err: TileProviderError) => void;
16528
+ }
16529
+
16304
16530
  /**
16305
16531
  * Provides terrain or other geometry for the surface of an ellipsoid. The surface geometry is
16306
16532
  organized into a pyramid of tiles according to a {@link TilingScheme}. This type describes an
@@ -16313,7 +16539,7 @@ export class TerrainProvider {
16313
16539
  to the event, you will be notified of the error and can potentially recover from it. Event listeners
16314
16540
  are passed an instance of {@link TileProviderError}.
16315
16541
  */
16316
- readonly errorEvent: Event;
16542
+ readonly errorEvent: Event<TerrainProvider.ErrorEvent>;
16317
16543
  /**
16318
16544
  * Gets the credit to display when this terrain provider is active. Typically this is used to credit
16319
16545
  the source of the terrain. This function should
@@ -18056,66 +18282,6 @@ export class WebMercatorTilingScheme {
18056
18282
  positionToTileXY(position: Cartographic, level: number, result?: Cartesian2): Cartesian2;
18057
18283
  }
18058
18284
 
18059
- /**
18060
- * A spline that linearly interpolates over an array of weight values used by morph targets.
18061
- * @example
18062
- * const times = [ 0.0, 1.5, 3.0, 4.5, 6.0 ];
18063
- const weights = [0.0, 1.0, 0.25, 0.75, 0.5, 0.5, 0.75, 0.25, 1.0, 0.0]; //Two targets
18064
- const spline = new Cesium.WeightSpline({
18065
- times : times,
18066
- weights : weights
18067
- });
18068
-
18069
- const p0 = spline.evaluate(times[0]);
18070
- * @param options - Object with the following properties:
18071
- * @param options.times - An array of strictly increasing, unit-less, floating-point times at each point.
18072
- The values are in no way connected to the clock time. They are the parameterization for the curve.
18073
- * @param options.weights - The array of floating-point control weights given. The weights are ordered such
18074
- that all weights for the targets are given in chronological order and order in which they appear in
18075
- the glTF from which the morph targets come. This means for 2 targets, weights = [w(0,0), w(0,1), w(1,0), w(1,1) ...]
18076
- where i and j in w(i,j) are the time indices and target indices, respectively.
18077
- */
18078
- export class WeightSpline {
18079
- constructor(options: {
18080
- times: number[];
18081
- weights: number[];
18082
- });
18083
- /**
18084
- * An array of times for the control weights.
18085
- */
18086
- readonly times: number[];
18087
- /**
18088
- * An array of floating-point array control weights.
18089
- */
18090
- readonly weights: number[];
18091
- /**
18092
- * Finds an index <code>i</code> in <code>times</code> such that the parameter
18093
- <code>time</code> is in the interval <code>[times[i], times[i + 1]]</code>.
18094
- * @param time - The time.
18095
- * @returns The index for the element at the start of the interval.
18096
- */
18097
- findTimeInterval(time: number): number;
18098
- /**
18099
- * Wraps the given time to the period covered by the spline.
18100
- * @param time - The time.
18101
- * @returns The time, wrapped around to the updated animation.
18102
- */
18103
- wrapTime(time: number): number;
18104
- /**
18105
- * Clamps the given time to the period covered by the spline.
18106
- * @param time - The time.
18107
- * @returns The time, clamped to the animation period.
18108
- */
18109
- clampTime(time: number): number;
18110
- /**
18111
- * Evaluates the curve at a given time.
18112
- * @param time - The time at which to evaluate the curve.
18113
- * @param [result] - The object onto which to store the result.
18114
- * @returns The modified result parameter or a new instance of the point on the curve at the given time.
18115
- */
18116
- evaluate(time: number, result?: number[]): number[];
18117
- }
18118
-
18119
18285
  /**
18120
18286
  * Winding order defines the order of vertices for a triangle to be considered front-facing.
18121
18287
  */
@@ -18546,11 +18712,11 @@ export class CallbackProperty {
18546
18712
  readonly definitionChanged: Event;
18547
18713
  /**
18548
18714
  * Gets the value of the property.
18549
- * @param [time] - The time for which to retrieve the value. This parameter is unused since the value does not change with respect to time.
18715
+ * @param time - The time for which to retrieve the value.
18550
18716
  * @param [result] - The object to store the value into, if omitted, a new instance is created and returned.
18551
18717
  * @returns The modified result parameter or a new instance if the result parameter was not supplied or is unsupported.
18552
18718
  */
18553
- getValue(time?: JulianDate, result?: any): any;
18719
+ getValue(time: JulianDate, result?: any): any;
18554
18720
  /**
18555
18721
  * Sets the callback to be used.
18556
18722
  * @param callback - The function to be called when the property is evaluated.
@@ -18569,10 +18735,10 @@ export class CallbackProperty {
18569
18735
  export namespace CallbackProperty {
18570
18736
  /**
18571
18737
  * A function that returns the value of the property.
18572
- * @param [time] - The time for which to retrieve the value.
18573
- * @param [result] - The object to store the value into, if omitted, a new instance is created and returned.
18738
+ * @param time - The time for which to retrieve the value.
18739
+ * @param [result] - The object to store the value into. If omitted, the function must create and return a new instance.
18574
18740
  */
18575
- type Callback = (time?: JulianDate, result?: any) => any;
18741
+ type Callback = (time: JulianDate, result?: any) => any;
18576
18742
  }
18577
18743
 
18578
18744
  export namespace Cesium3DTilesetGraphics {
@@ -18960,7 +19126,7 @@ export class CompositePositionProperty {
18960
19126
  * @param [result] - The object to store the value into, if omitted, a new instance is created and returned.
18961
19127
  * @returns The modified result parameter or a new instance if the result parameter was not supplied.
18962
19128
  */
18963
- getValue(time: JulianDate, result?: any): any;
19129
+ getValue(time: JulianDate, result?: Cartesian3): Cartesian3 | undefined;
18964
19130
  /**
18965
19131
  * Gets the value of the property at the provided time and in the provided reference frame.
18966
19132
  * @param time - The time for which to retrieve the value.
@@ -18968,7 +19134,7 @@ export class CompositePositionProperty {
18968
19134
  * @param [result] - The object to store the value into, if omitted, a new instance is created and returned.
18969
19135
  * @returns The modified result parameter or a new instance if the result parameter was not supplied.
18970
19136
  */
18971
- getValueInReferenceFrame(time: JulianDate, referenceFrame: ReferenceFrame, result?: Cartesian3): Cartesian3;
19137
+ getValueInReferenceFrame(time: JulianDate, referenceFrame: ReferenceFrame, result?: Cartesian3): Cartesian3 | undefined;
18972
19138
  /**
18973
19139
  * Compares this property to the provided property and returns
18974
19140
  <code>true</code> if they are equal, <code>false</code> otherwise.
@@ -19515,7 +19681,7 @@ export class CylinderGraphics {
19515
19681
 
19516
19682
  export namespace CzmlDataSource {
19517
19683
  /**
19518
- * Initialization options for the `load` method.
19684
+ * Initialization options for the <code>load</code> method.
19519
19685
  * @property [sourceUri] - Overrides the url to use for resolving relative links.
19520
19686
  * @property [credit] - A credit for the data source, which is displayed on the canvas.
19521
19687
  */
@@ -19523,6 +19689,7 @@ export namespace CzmlDataSource {
19523
19689
  sourceUri?: Resource | string;
19524
19690
  credit?: Credit | string;
19525
19691
  };
19692
+ type UpdaterFunction = (entity: Entity, packet: any, entityCollection: EntityCollection, sourceUri: string) => void;
19526
19693
  }
19527
19694
 
19528
19695
  /**
@@ -19583,17 +19750,14 @@ export class CzmlDataSource {
19583
19750
  /**
19584
19751
  * Gets the array of CZML processing functions.
19585
19752
  */
19586
- static updaters: any[];
19753
+ static updaters: CzmlDataSource.UpdaterFunction[];
19587
19754
  /**
19588
19755
  * Processes the provided url or CZML object without clearing any existing data.
19589
19756
  * @param czml - A url or CZML object to be processed.
19590
- * @param [options] - An object with the following properties:
19591
- * @param [options.sourceUri] - Overrides the url to use for resolving relative links.
19757
+ * @param [options] - An object specifying configuration options
19592
19758
  * @returns A promise that resolves to this instances once the data is processed.
19593
19759
  */
19594
- process(czml: Resource | string | any, options?: {
19595
- sourceUri?: string;
19596
- }): Promise<CzmlDataSource>;
19760
+ process(czml: Resource | string | any, options?: CzmlDataSource.LoadOptions): Promise<CzmlDataSource>;
19597
19761
  /**
19598
19762
  * Loads the provided url or CZML object, replacing any existing data.
19599
19763
  * @param czml - A url or CZML object to be processed.
@@ -19676,11 +19840,11 @@ export class DataSource {
19676
19840
  /**
19677
19841
  * Gets an event that will be raised if an error is encountered during processing.
19678
19842
  */
19679
- errorEvent: Event;
19843
+ errorEvent: Event<(arg0: this, arg1: RequestErrorEvent) => void>;
19680
19844
  /**
19681
19845
  * Gets an event that will be raised when the value of isLoading changes.
19682
19846
  */
19683
- loadingEvent: Event;
19847
+ loadingEvent: Event<(arg0: this, arg1: boolean) => void>;
19684
19848
  /**
19685
19849
  * Gets whether or not this data source should be displayed.
19686
19850
  */
@@ -20602,7 +20766,7 @@ export class EntityCluster {
20602
20766
  /**
20603
20767
  * Gets the event that will be raised when a new cluster will be displayed. The signature of the event listener is {@link EntityCluster.newClusterCallback}.
20604
20768
  */
20605
- clusterEvent: Event;
20769
+ clusterEvent: Event<EntityCluster.newClusterCallback>;
20606
20770
  /**
20607
20771
  * Gets or sets whether clustering billboard entities is enabled.
20608
20772
  */
@@ -20636,10 +20800,14 @@ export namespace EntityCluster {
20636
20800
  cluster.label.text = entities.length.toLocaleString();
20637
20801
  });
20638
20802
  * @param clusteredEntities - An array of the entities contained in the cluster.
20639
- * @param cluster - An object containing billboard, label, and point properties. The values are the same as
20640
- billboard, label and point entities, but must be the values of the ConstantProperty.
20803
+ * @param cluster - An object containing the Billboard, Label, and Point
20804
+ primitives that represent this cluster of entities.
20641
20805
  */
20642
- type newClusterCallback = (clusteredEntities: Entity[], cluster: any) => void;
20806
+ type newClusterCallback = (clusteredEntities: Entity[], cluster: {
20807
+ billboard: Billboard;
20808
+ label: Label;
20809
+ point: PointPrimitive;
20810
+ }) => void;
20643
20811
  }
20644
20812
 
20645
20813
  /**
@@ -20665,19 +20833,11 @@ export class EntityCollection {
20665
20833
  are corresponding calls to {@link EntityCollection#resumeEvents}.
20666
20834
  */
20667
20835
  resumeEvents(): void;
20668
- /**
20669
- * The signature of the event generated by {@link EntityCollection#collectionChanged}.
20670
- * @param collection - The collection that triggered the event.
20671
- * @param added - The array of {@link Entity} instances that have been added to the collection.
20672
- * @param removed - The array of {@link Entity} instances that have been removed from the collection.
20673
- * @param changed - The array of {@link Entity} instances that have been modified.
20674
- */
20675
- static collectionChangedEventCallback(collection: EntityCollection, added: Entity[], removed: Entity[], changed: Entity[]): void;
20676
20836
  /**
20677
20837
  * Gets the event that is fired when entities are added or removed from the collection.
20678
- The generated event is a {@link EntityCollection.collectionChangedEventCallback}.
20838
+ The generated event is a {@link EntityCollection.CollectionChangedEventCallback}.
20679
20839
  */
20680
- readonly collectionChanged: Event;
20840
+ readonly collectionChanged: Event<EntityCollection.CollectionChangedEventCallback>;
20681
20841
  /**
20682
20842
  * Gets a globally unique identifier for this collection.
20683
20843
  */
@@ -20747,6 +20907,17 @@ export class EntityCollection {
20747
20907
  getOrCreateEntity(id: string): Entity;
20748
20908
  }
20749
20909
 
20910
+ export namespace EntityCollection {
20911
+ /**
20912
+ * The signature of the event generated by {@link EntityCollection#collectionChanged}.
20913
+ * @param collection - The collection that triggered the event.
20914
+ * @param added - The array of {@link Entity} instances that have been added to the collection.
20915
+ * @param removed - The array of {@link Entity} instances that have been removed from the collection.
20916
+ * @param changed - The array of {@link Entity} instances that have been modified.
20917
+ */
20918
+ type CollectionChangedEventCallback = (collection: EntityCollection, added: Entity[], removed: Entity[], changed: Entity[]) => void;
20919
+ }
20920
+
20750
20921
  /**
20751
20922
  * A utility object for tracking an entity with the camera.
20752
20923
  * @param entity - The entity to track with the camera.
@@ -20857,8 +21028,9 @@ export type exportKmlModelCallback = (model: ModelGraphics, time: JulianDate, ex
20857
21028
 
20858
21029
  export namespace GeoJsonDataSource {
20859
21030
  /**
20860
- * Initialization options for the `load` method.
21031
+ * Initialization options for the <code>load</code> method.
20861
21032
  * @property [sourceUri] - Overrides the url to use for resolving relative links.
21033
+ * @property [describe = GeoJsonDataSource.defaultDescribeProperty] - A function which returns a Property object (or just a string).
20862
21034
  * @property [markerSize = GeoJsonDataSource.markerSize] - The default size of the map pin created for each point, in pixels.
20863
21035
  * @property [markerSymbol = GeoJsonDataSource.markerSymbol] - The default symbol of the map pin created for each point.
20864
21036
  * @property [markerColor = GeoJsonDataSource.markerColor] - The default color of the map pin created for each point.
@@ -20870,6 +21042,7 @@ export namespace GeoJsonDataSource {
20870
21042
  */
20871
21043
  type LoadOptions = {
20872
21044
  sourceUri?: string;
21045
+ describe?: GeoJsonDataSource.describe;
20873
21046
  markerSize?: number;
20874
21047
  markerSymbol?: string;
20875
21048
  markerColor?: Color;
@@ -21007,32 +21180,17 @@ export class GeoJsonDataSource {
21007
21180
  /**
21008
21181
  * Asynchronously loads the provided GeoJSON or TopoJSON data, replacing any existing data.
21009
21182
  * @param data - A url, GeoJSON object, or TopoJSON object to be loaded.
21010
- * @param [options] - An object with the following properties:
21011
- * @param [options.sourceUri] - Overrides the url to use for resolving relative links.
21012
- * @param [options.describe = GeoJsonDataSource.defaultDescribeProperty] - A function which returns a Property object (or just a string),
21013
- which converts the properties into an html description.
21014
- * @param [options.markerSize = GeoJsonDataSource.markerSize] - The default size of the map pin created for each point, in pixels.
21015
- * @param [options.markerSymbol = GeoJsonDataSource.markerSymbol] - The default symbol of the map pin created for each point.
21016
- * @param [options.markerColor = GeoJsonDataSource.markerColor] - The default color of the map pin created for each point.
21017
- * @param [options.stroke = GeoJsonDataSource.stroke] - The default color of polylines and polygon outlines.
21018
- * @param [options.strokeWidth = GeoJsonDataSource.strokeWidth] - The default width of polylines and polygon outlines.
21019
- * @param [options.fill = GeoJsonDataSource.fill] - The default color for polygon interiors.
21020
- * @param [options.clampToGround = GeoJsonDataSource.clampToGround] - true if we want the features clamped to the ground.
21021
- * @param [options.credit] - A credit for the data source, which is displayed on the canvas.
21183
+ * @param [options] - An object specifying configuration options
21022
21184
  * @returns a promise that will resolve when the GeoJSON is loaded.
21023
21185
  */
21024
- load(data: Resource | string | any, options?: {
21025
- sourceUri?: string;
21026
- describe?: GeoJsonDataSource.describe;
21027
- markerSize?: number;
21028
- markerSymbol?: string;
21029
- markerColor?: Color;
21030
- stroke?: Color;
21031
- strokeWidth?: number;
21032
- fill?: Color;
21033
- clampToGround?: boolean;
21034
- credit?: Credit | string;
21035
- }): Promise<GeoJsonDataSource>;
21186
+ load(data: Resource | string | any, options?: GeoJsonDataSource.LoadOptions): Promise<GeoJsonDataSource>;
21187
+ /**
21188
+ * Asynchronously loads the provided GeoJSON or TopoJSON data, without replacing any existing data.
21189
+ * @param data - A url, GeoJSON object, or TopoJSON object to be loaded.
21190
+ * @param [options] - An object specifying configuration options
21191
+ * @returns a promise that will resolve when the GeoJSON is loaded.
21192
+ */
21193
+ process(data: Resource | string | any, options?: GeoJsonDataSource.LoadOptions): Promise<GeoJsonDataSource>;
21036
21194
  /**
21037
21195
  * Updates the data source to the provided time. This function is optional and
21038
21196
  is not required to be implemented. It is provided for data sources which
@@ -21503,40 +21661,40 @@ export namespace KmlDataSource {
21503
21661
 
21504
21662
  /**
21505
21663
  * A {@link DataSource} which processes Keyhole Markup Language 2.2 (KML).
21506
- * <p>
21507
- * KML support in Cesium is incomplete, but a large amount of the standard,
21508
- * as well as Google's <code>gx</code> extension namespace, is supported. See Github issue
21509
- * {@link https://github.com/CesiumGS/cesium/issues/873|#873} for a
21510
- * detailed list of what is and isn't supported. Cesium will also write information to the
21511
- * console when it encounters most unsupported features.
21512
- * </p>
21513
- * <p>
21514
- * Non visual feature data, such as <code>atom:author</code> and <code>ExtendedData</code>
21515
- * is exposed via an instance of {@link KmlFeatureData}, which is added to each {@link Entity}
21516
- * under the <code>kml</code> property.
21517
- * </p>
21664
+ <p>
21665
+ KML support in Cesium is incomplete, but a large amount of the standard,
21666
+ as well as Google's <code>gx</code> extension namespace, is supported. See Github issue
21667
+ {@link https://github.com/CesiumGS/cesium/issues/873|#873} for a
21668
+ detailed list of what is and isn't supported. Cesium will also write information to the
21669
+ console when it encounters most unsupported features.
21670
+ </p>
21671
+ <p>
21672
+ Non visual feature data, such as <code>atom:author</code> and <code>ExtendedData</code>
21673
+ is exposed via an instance of {@link KmlFeatureData}, which is added to each {@link Entity}
21674
+ under the <code>kml</code> property.
21675
+ </p>
21518
21676
  * @example
21519
21677
  * const viewer = new Cesium.Viewer('cesiumContainer');
21520
- * viewer.dataSources.add(Cesium.KmlDataSource.load('../../SampleData/facilities.kmz',
21521
- * {
21522
- * camera: viewer.scene.camera,
21523
- * canvas: viewer.scene.canvas
21524
- * })
21525
- * );
21678
+ viewer.dataSources.add(Cesium.KmlDataSource.load('../../SampleData/facilities.kmz',
21679
+ {
21680
+ camera: viewer.scene.camera,
21681
+ canvas: viewer.scene.canvas
21682
+ })
21683
+ );
21526
21684
  * @param [options] - Object describing initialization options
21527
21685
  */
21528
21686
  export class KmlDataSource {
21529
21687
  constructor(options?: KmlDataSource.ConstructorOptions);
21530
21688
  /**
21531
21689
  * The current size of this Canvas will be used to populate the Link parameters
21532
- * for client height and width.
21690
+ for client height and width.
21533
21691
  */
21534
21692
  canvas: HTMLCanvasElement | undefined;
21535
21693
  /**
21536
21694
  * The position and orientation of this {@link Camera} will be used to
21537
- * populate various camera parameters when making network requests.
21538
- * Camera movement will determine when to trigger NetworkLink refresh if
21539
- * <code>viewRefreshMode</code> is <code>onStop</code>.
21695
+ populate various camera parameters when making network requests.
21696
+ Camera movement will determine when to trigger NetworkLink refresh if
21697
+ <code>viewRefreshMode</code> is <code>onStop</code>.
21540
21698
  */
21541
21699
  camera: Camera | undefined;
21542
21700
  /**
@@ -21548,13 +21706,13 @@ export class KmlDataSource {
21548
21706
  static load(data: Resource | string | Document | Blob, options?: KmlDataSource.ConstructorOptions): Promise<KmlDataSource>;
21549
21707
  /**
21550
21708
  * Gets or sets a human-readable name for this instance.
21551
- * This will be automatically be set to the KML document name on load.
21709
+ This will be automatically be set to the KML document name on load.
21552
21710
  */
21553
21711
  name: string;
21554
21712
  /**
21555
21713
  * Gets the clock settings defined by the loaded KML. This represents the total
21556
- * availability interval for all time-dynamic data. If the KML does not contain
21557
- * time-dynamic data, this value is undefined.
21714
+ availability interval for all time-dynamic data. If the KML does not contain
21715
+ time-dynamic data, this value is undefined.
21558
21716
  */
21559
21717
  clock: DataSourceClock;
21560
21718
  /**
@@ -21647,8 +21805,8 @@ export class KmlFeatureData {
21647
21805
  snippet: string;
21648
21806
  /**
21649
21807
  * Gets the extended data, parsed into a JSON object.
21650
- * Currently only the <code>Data</code> property is supported.
21651
- * <code>SchemaData</code> and custom data are ignored.
21808
+ Currently only the <code>Data</code> property is supported.
21809
+ <code>SchemaData</code> and custom data are ignored.
21652
21810
  */
21653
21811
  extendedData: string;
21654
21812
  }
@@ -22296,7 +22454,7 @@ export class ModelVisualizer {
22296
22454
  constructor(scene: Scene, entityCollection: EntityCollection);
22297
22455
  /**
22298
22456
  * Updates models created this visualizer to match their
22299
- * Entity counterpart at the given time.
22457
+ Entity counterpart at the given time.
22300
22458
  * @param time - The time to update to.
22301
22459
  * @returns This function always returns true.
22302
22460
  */
@@ -23538,7 +23696,7 @@ export class PositionProperty {
23538
23696
  * @param [result] - The object to store the value into, if omitted, a new instance is created and returned.
23539
23697
  * @returns The modified result parameter or a new instance if the result parameter was not supplied.
23540
23698
  */
23541
- getValue(time: JulianDate, result?: Cartesian3): Cartesian3;
23699
+ getValue(time: JulianDate, result?: Cartesian3): Cartesian3 | undefined;
23542
23700
  /**
23543
23701
  * Gets the value of the property at the provided time and in the provided reference frame.
23544
23702
  * @param time - The time for which to retrieve the value.
@@ -23546,7 +23704,7 @@ export class PositionProperty {
23546
23704
  * @param [result] - The object to store the value into, if omitted, a new instance is created and returned.
23547
23705
  * @returns The modified result parameter or a new instance if the result parameter was not supplied.
23548
23706
  */
23549
- getValueInReferenceFrame(time: JulianDate, referenceFrame: ReferenceFrame, result?: Cartesian3): Cartesian3;
23707
+ getValueInReferenceFrame(time: JulianDate, referenceFrame: ReferenceFrame, result?: Cartesian3): Cartesian3 | undefined;
23550
23708
  /**
23551
23709
  * Compares this property to the provided property and returns
23552
23710
  <code>true</code> if they are equal, <code>false</code> otherwise.
@@ -23680,7 +23838,7 @@ export class PropertyArray {
23680
23838
  equals(other?: Property): boolean;
23681
23839
  }
23682
23840
 
23683
- export interface PropertyBag extends DictionaryLike {
23841
+ export interface PropertyBag extends Record<string, any> {
23684
23842
  }
23685
23843
 
23686
23844
  /**
@@ -23688,7 +23846,7 @@ export interface PropertyBag extends DictionaryLike {
23688
23846
  * @param [value] - An object, containing key-value mapping of property names to properties.
23689
23847
  * @param [createPropertyCallback] - A function that will be called when the value of any of the properties in value are not a Property.
23690
23848
  */
23691
- export class PropertyBag implements DictionaryLike {
23849
+ export class PropertyBag implements Record<string, any> {
23692
23850
  constructor(value?: any, createPropertyCallback?: (...params: any[]) => any);
23693
23851
  /**
23694
23852
  * Gets the names of all properties registered on this instance.
@@ -24150,7 +24308,7 @@ export class SampledPositionProperty {
24150
24308
  * @param [result] - The object to store the value into, if omitted, a new instance is created and returned.
24151
24309
  * @returns The modified result parameter or a new instance if the result parameter was not supplied.
24152
24310
  */
24153
- getValue(time: JulianDate, result?: Cartesian3): Cartesian3;
24311
+ getValue(time: JulianDate, result?: Cartesian3): Cartesian3 | undefined;
24154
24312
  /**
24155
24313
  * Gets the position at the provided time and in the provided reference frame.
24156
24314
  * @param time - The time for which to retrieve the value.
@@ -24158,7 +24316,7 @@ export class SampledPositionProperty {
24158
24316
  * @param [result] - The object to store the value into, if omitted, a new instance is created and returned.
24159
24317
  * @returns The modified result parameter or a new instance if the result parameter was not supplied.
24160
24318
  */
24161
- getValueInReferenceFrame(time: JulianDate, referenceFrame: ReferenceFrame, result?: Cartesian3): Cartesian3;
24319
+ getValueInReferenceFrame(time: JulianDate, referenceFrame: ReferenceFrame, result?: Cartesian3): Cartesian3 | undefined;
24162
24320
  /**
24163
24321
  * Sets the algorithm and degree to use when interpolating a position.
24164
24322
  * @param [options] - Object with the following properties:
@@ -24460,18 +24618,18 @@ export class TimeIntervalCollectionPositionProperty {
24460
24618
  /**
24461
24619
  * Gets the interval collection.
24462
24620
  */
24463
- intervals: TimeIntervalCollection;
24621
+ readonly intervals: TimeIntervalCollection;
24464
24622
  /**
24465
24623
  * Gets the reference frame in which the position is defined.
24466
24624
  */
24467
- referenceFrame: ReferenceFrame;
24625
+ readonly referenceFrame: ReferenceFrame;
24468
24626
  /**
24469
24627
  * Gets the value of the property at the provided time in the fixed frame.
24470
24628
  * @param time - The time for which to retrieve the value.
24471
24629
  * @param [result] - The object to store the value into, if omitted, a new instance is created and returned.
24472
24630
  * @returns The modified result parameter or a new instance if the result parameter was not supplied.
24473
24631
  */
24474
- getValue(time: JulianDate, result?: any): any;
24632
+ getValue(time: JulianDate, result?: any): Cartesian3 | undefined;
24475
24633
  /**
24476
24634
  * Gets the value of the property at the provided time and in the provided reference frame.
24477
24635
  * @param time - The time for which to retrieve the value.
@@ -24479,7 +24637,7 @@ export class TimeIntervalCollectionPositionProperty {
24479
24637
  * @param [result] - The object to store the value into, if omitted, a new instance is created and returned.
24480
24638
  * @returns The modified result parameter or a new instance if the result parameter was not supplied.
24481
24639
  */
24482
- getValueInReferenceFrame(time: JulianDate, referenceFrame: ReferenceFrame, result?: Cartesian3): Cartesian3;
24640
+ getValueInReferenceFrame(time: JulianDate, referenceFrame: ReferenceFrame, result?: Cartesian3): Cartesian3 | undefined;
24483
24641
  /**
24484
24642
  * Compares this property to the provided property and returns
24485
24643
  <code>true</code> if they are equal, <code>false</code> otherwise.
@@ -24537,7 +24695,7 @@ export class TimeIntervalCollectionProperty {
24537
24695
  /**
24538
24696
  * Gets the interval collection.
24539
24697
  */
24540
- intervals: TimeIntervalCollection;
24698
+ readonly intervals: TimeIntervalCollection;
24541
24699
  /**
24542
24700
  * Gets the value of the property at the provided time.
24543
24701
  * @param time - The time for which to retrieve the value.
@@ -24966,37 +25124,37 @@ export namespace ArcGisMapServerImageryProvider {
24966
25124
  * @property url - The URL of the ArcGIS MapServer service.
24967
25125
  * @property [token] - The ArcGIS token used to authenticate with the ArcGIS MapServer service.
24968
25126
  * @property [tileDiscardPolicy] - The policy that determines if a tile
24969
- * is invalid and should be discarded. If this value is not specified, a default
24970
- * {@link DiscardMissingTileImagePolicy} is used for tiled map servers, and a
24971
- * {@link NeverTileDiscardPolicy} is used for non-tiled map servers. In the former case,
24972
- * we request tile 0,0 at the maximum tile level and check pixels (0,0), (200,20), (20,200),
24973
- * (80,110), and (160, 130). If all of these pixels are transparent, the discard check is
24974
- * disabled and no tiles are discarded. If any of them have a non-transparent color, any
24975
- * tile that has the same values in these pixel locations is discarded. The end result of
24976
- * these defaults should be correct tile discarding for a standard ArcGIS Server. To ensure
24977
- * that no tiles are discarded, construct and pass a {@link NeverTileDiscardPolicy} for this
24978
- * parameter.
25127
+ is invalid and should be discarded. If this value is not specified, a default
25128
+ {@link DiscardMissingTileImagePolicy} is used for tiled map servers, and a
25129
+ {@link NeverTileDiscardPolicy} is used for non-tiled map servers. In the former case,
25130
+ we request tile 0,0 at the maximum tile level and check pixels (0,0), (200,20), (20,200),
25131
+ (80,110), and (160, 130). If all of these pixels are transparent, the discard check is
25132
+ disabled and no tiles are discarded. If any of them have a non-transparent color, any
25133
+ tile that has the same values in these pixel locations is discarded. The end result of
25134
+ these defaults should be correct tile discarding for a standard ArcGIS Server. To ensure
25135
+ that no tiles are discarded, construct and pass a {@link NeverTileDiscardPolicy} for this
25136
+ parameter.
24979
25137
  * @property [usePreCachedTilesIfAvailable = true] - If true, the server's pre-cached
24980
- * tiles are used if they are available. If false, any pre-cached tiles are ignored and the
24981
- * 'export' service is used.
25138
+ tiles are used if they are available. If false, any pre-cached tiles are ignored and the
25139
+ 'export' service is used.
24982
25140
  * @property [layers] - A comma-separated list of the layers to show, or undefined if all layers should be shown.
24983
25141
  * @property [enablePickFeatures = true] - If true, {@link ArcGisMapServerImageryProvider#pickFeatures} will invoke
24984
- * the Identify service on the MapServer and return the features included in the response. If false,
24985
- * {@link ArcGisMapServerImageryProvider#pickFeatures} will immediately return undefined (indicating no pickable features)
24986
- * without communicating with the server. Set this property to false if you don't want this provider's features to
24987
- * be pickable. Can be overridden by setting the {@link ArcGisMapServerImageryProvider#enablePickFeatures} property on the object.
25142
+ the Identify service on the MapServer and return the features included in the response. If false,
25143
+ {@link ArcGisMapServerImageryProvider#pickFeatures} will immediately return undefined (indicating no pickable features)
25144
+ without communicating with the server. Set this property to false if you don't want this provider's features to
25145
+ be pickable. Can be overridden by setting the {@link ArcGisMapServerImageryProvider#enablePickFeatures} property on the object.
24988
25146
  * @property [rectangle = Rectangle.MAX_VALUE] - The rectangle of the layer. This parameter is ignored when accessing
24989
- * a tiled layer.
25147
+ a tiled layer.
24990
25148
  * @property [tilingScheme = new GeographicTilingScheme()] - The tiling scheme to use to divide the world into tiles.
24991
- * This parameter is ignored when accessing a tiled server.
25149
+ This parameter is ignored when accessing a tiled server.
24992
25150
  * @property [ellipsoid] - The ellipsoid. If the tilingScheme is specified and used,
24993
- * this parameter is ignored and the tiling scheme's ellipsoid is used instead. If neither
24994
- * parameter is specified, the WGS84 ellipsoid is used.
25151
+ this parameter is ignored and the tiling scheme's ellipsoid is used instead. If neither
25152
+ parameter is specified, the WGS84 ellipsoid is used.
24995
25153
  * @property [credit] - A credit for the data source, which is displayed on the canvas. This parameter is ignored when accessing a tiled server.
24996
25154
  * @property [tileWidth = 256] - The width of each tile in pixels. This parameter is ignored when accessing a tiled server.
24997
25155
  * @property [tileHeight = 256] - The height of each tile in pixels. This parameter is ignored when accessing a tiled server.
24998
25156
  * @property [maximumLevel] - The maximum tile level to request, or undefined if there is no maximum. This parameter is ignored when accessing
24999
- * a tiled server.
25157
+ a tiled server.
25000
25158
  */
25001
25159
  type ConstructorOptions = {
25002
25160
  url: Resource | string;
@@ -25017,38 +25175,38 @@ export namespace ArcGisMapServerImageryProvider {
25017
25175
 
25018
25176
  /**
25019
25177
  * Provides tiled imagery hosted by an ArcGIS MapServer. By default, the server's pre-cached tiles are
25020
- * used, if available.
25178
+ used, if available.
25021
25179
  * @example
25022
25180
  * const esri = new Cesium.ArcGisMapServerImageryProvider({
25023
- * url : 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer'
25024
- * });
25181
+ url : 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer'
25182
+ });
25025
25183
  * @param options - Object describing initialization options
25026
25184
  */
25027
25185
  export class ArcGisMapServerImageryProvider {
25028
25186
  constructor(options: ArcGisMapServerImageryProvider.ConstructorOptions);
25029
25187
  /**
25030
25188
  * The default alpha blending value of this provider, with 0.0 representing fully transparent and
25031
- * 1.0 representing fully opaque.
25189
+ 1.0 representing fully opaque.
25032
25190
  */
25033
25191
  defaultAlpha: number | undefined;
25034
25192
  /**
25035
25193
  * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and
25036
- * 1.0 representing fully opaque.
25194
+ 1.0 representing fully opaque.
25037
25195
  */
25038
25196
  defaultNightAlpha: number | undefined;
25039
25197
  /**
25040
25198
  * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and
25041
- * 1.0 representing fully opaque.
25199
+ 1.0 representing fully opaque.
25042
25200
  */
25043
25201
  defaultDayAlpha: number | undefined;
25044
25202
  /**
25045
25203
  * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0
25046
- * makes the imagery darker while greater than 1.0 makes it brighter.
25204
+ makes the imagery darker while greater than 1.0 makes it brighter.
25047
25205
  */
25048
25206
  defaultBrightness: number | undefined;
25049
25207
  /**
25050
25208
  * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces
25051
- * the contrast while greater than 1.0 increases it.
25209
+ the contrast while greater than 1.0 increases it.
25052
25210
  */
25053
25211
  defaultContrast: number | undefined;
25054
25212
  /**
@@ -25057,7 +25215,7 @@ export class ArcGisMapServerImageryProvider {
25057
25215
  defaultHue: number | undefined;
25058
25216
  /**
25059
25217
  * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the
25060
- * saturation while greater than 1.0 increases it.
25218
+ saturation while greater than 1.0 increases it.
25061
25219
  */
25062
25220
  defaultSaturation: number | undefined;
25063
25221
  /**
@@ -25074,9 +25232,9 @@ export class ArcGisMapServerImageryProvider {
25074
25232
  defaultMagnificationFilter: TextureMagnificationFilter;
25075
25233
  /**
25076
25234
  * Gets or sets a value indicating whether feature picking is enabled. If true, {@link ArcGisMapServerImageryProvider#pickFeatures} will
25077
- * invoke the "identify" operation on the ArcGIS server and return the features included in the response. If false,
25078
- * {@link ArcGisMapServerImageryProvider#pickFeatures} will immediately return undefined (indicating no pickable features)
25079
- * without communicating with the server.
25235
+ invoke the "identify" operation on the ArcGIS server and return the features included in the response. If false,
25236
+ {@link ArcGisMapServerImageryProvider#pickFeatures} will immediately return undefined (indicating no pickable features)
25237
+ without communicating with the server.
25080
25238
  */
25081
25239
  enablePickFeatures: boolean;
25082
25240
  /**
@@ -25093,45 +25251,45 @@ export class ArcGisMapServerImageryProvider {
25093
25251
  readonly proxy: Proxy;
25094
25252
  /**
25095
25253
  * Gets the width of each tile, in pixels. This function should
25096
- * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25254
+ not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25097
25255
  */
25098
25256
  readonly tileWidth: number;
25099
25257
  /**
25100
25258
  * Gets the height of each tile, in pixels. This function should
25101
- * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25259
+ not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25102
25260
  */
25103
25261
  readonly tileHeight: number;
25104
25262
  /**
25105
25263
  * Gets the maximum level-of-detail that can be requested. This function should
25106
- * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25264
+ not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25107
25265
  */
25108
25266
  readonly maximumLevel: number | undefined;
25109
25267
  /**
25110
25268
  * Gets the minimum level-of-detail that can be requested. This function should
25111
- * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25269
+ not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25112
25270
  */
25113
25271
  readonly minimumLevel: number;
25114
25272
  /**
25115
25273
  * Gets the tiling scheme used by this provider. This function should
25116
- * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25274
+ not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25117
25275
  */
25118
25276
  readonly tilingScheme: TilingScheme;
25119
25277
  /**
25120
25278
  * Gets the rectangle, in radians, of the imagery provided by this instance. This function should
25121
- * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25279
+ not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25122
25280
  */
25123
25281
  readonly rectangle: Rectangle;
25124
25282
  /**
25125
25283
  * Gets the tile discard policy. If not undefined, the discard policy is responsible
25126
- * for filtering out "missing" tiles via its shouldDiscardImage function. If this function
25127
- * returns undefined, no tiles are filtered. This function should
25128
- * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25284
+ for filtering out "missing" tiles via its shouldDiscardImage function. If this function
25285
+ returns undefined, no tiles are filtered. This function should
25286
+ not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25129
25287
  */
25130
25288
  readonly tileDiscardPolicy: TileDiscardPolicy;
25131
25289
  /**
25132
25290
  * Gets an event that is raised when the imagery provider encounters an asynchronous error. By subscribing
25133
- * to the event, you will be notified of the error and can potentially recover from it. Event listeners
25134
- * are passed an instance of {@link TileProviderError}.
25291
+ to the event, you will be notified of the error and can potentially recover from it. Event listeners
25292
+ are passed an instance of {@link TileProviderError}.
25135
25293
  */
25136
25294
  readonly errorEvent: Event;
25137
25295
  /**
@@ -25144,22 +25302,22 @@ export class ArcGisMapServerImageryProvider {
25144
25302
  readonly readyPromise: Promise<boolean>;
25145
25303
  /**
25146
25304
  * Gets the credit to display when this imagery provider is active. Typically this is used to credit
25147
- * the source of the imagery. This function should not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25305
+ the source of the imagery. This function should not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25148
25306
  */
25149
25307
  readonly credit: Credit;
25150
25308
  /**
25151
25309
  * Gets a value indicating whether this imagery provider is using pre-cached tiles from the
25152
- * ArcGIS MapServer. If the imagery provider is not yet ready ({@link ArcGisMapServerImageryProvider#ready}), this function
25153
- * will return the value of `options.usePreCachedTilesIfAvailable`, even if the MapServer does
25154
- * not have pre-cached tiles.
25310
+ ArcGIS MapServer. If the imagery provider is not yet ready ({@link ArcGisMapServerImageryProvider#ready}), this function
25311
+ will return the value of `options.usePreCachedTilesIfAvailable`, even if the MapServer does
25312
+ not have pre-cached tiles.
25155
25313
  */
25156
25314
  readonly usingPrecachedTiles: boolean;
25157
25315
  /**
25158
25316
  * Gets a value indicating whether or not the images provided by this imagery provider
25159
- * include an alpha channel. If this property is false, an alpha channel, if present, will
25160
- * be ignored. If this property is true, any images without an alpha channel will be treated
25161
- * as if their alpha is 1.0 everywhere. When this property is false, memory usage
25162
- * and texture upload time are reduced.
25317
+ include an alpha channel. If this property is false, an alpha channel, if present, will
25318
+ be ignored. If this property is true, any images without an alpha channel will be treated
25319
+ as if their alpha is 1.0 everywhere. When this property is false, memory usage
25320
+ and texture upload time are reduced.
25163
25321
  */
25164
25322
  readonly hasAlphaChannel: boolean;
25165
25323
  /**
@@ -25176,29 +25334,27 @@ export class ArcGisMapServerImageryProvider {
25176
25334
  getTileCredits(x: number, y: number, level: number): Credit[];
25177
25335
  /**
25178
25336
  * Requests the image for a given tile. This function should
25179
- * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25337
+ not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25180
25338
  * @param x - The tile X coordinate.
25181
25339
  * @param y - The tile Y coordinate.
25182
25340
  * @param level - The tile level.
25183
25341
  * @param [request] - The request object. Intended for internal use only.
25184
25342
  * @returns A promise for the image that will resolve when the image is available, or
25185
- * undefined if there are too many active requests to the server, and the request
25186
- * should be retried later. The resolved image may be either an
25187
- * Image or a Canvas DOM object.
25343
+ undefined if there are too many active requests to the server, and the request should be retried later.
25188
25344
  */
25189
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
25345
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
25190
25346
  /**
25191
25347
  * /**
25192
- * Asynchronously determines what features, if any, are located at a given longitude and latitude within
25193
- * a tile. This function should not be called before {@link ImageryProvider#ready} returns true.
25348
+ Asynchronously determines what features, if any, are located at a given longitude and latitude within
25349
+ a tile. This function should not be called before {@link ImageryProvider#ready} returns true.
25194
25350
  * @param x - The tile X coordinate.
25195
25351
  * @param y - The tile Y coordinate.
25196
25352
  * @param level - The tile level.
25197
25353
  * @param longitude - The longitude at which to pick features.
25198
25354
  * @param latitude - The latitude at which to pick features.
25199
25355
  * @returns A promise for the picked features that will resolve when the asynchronous
25200
- * picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo}
25201
- * instances. The array may be empty if no features are found at the given location.
25356
+ picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo}
25357
+ instances. The array may be empty if no features are found at the given location.
25202
25358
  */
25203
25359
  pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise<ImageryLayerFeatureInfo[]> | undefined;
25204
25360
  }
@@ -25223,19 +25379,19 @@ export enum Axis {
25223
25379
 
25224
25380
  /**
25225
25381
  * A viewport-aligned image positioned in the 3D scene, that is created
25226
- * and rendered using a {@link BillboardCollection}. A billboard is created and its initial
25227
- * properties are set by calling {@link BillboardCollection#add}.
25228
- * <br /><br />
25229
- * <div align='center'>
25230
- * <img src='Images/Billboard.png' width='400' height='300' /><br />
25231
- * Example billboards
25232
- * </div>
25382
+ and rendered using a {@link BillboardCollection}. A billboard is created and its initial
25383
+ properties are set by calling {@link BillboardCollection#add}.
25384
+ <br /><br />
25385
+ <div align='center'>
25386
+ <img src='Images/Billboard.png' width='400' height='300' /><br />
25387
+ Example billboards
25388
+ </div>
25233
25389
  */
25234
25390
  export class Billboard {
25235
25391
  constructor();
25236
25392
  /**
25237
25393
  * Determines if this billboard will be shown. Use this to hide or show a billboard, instead
25238
- * of removing it and re-adding it to the collection.
25394
+ of removing it and re-adding it to the collection.
25239
25395
  */
25240
25396
  show: boolean;
25241
25397
  /**
@@ -25248,159 +25404,159 @@ export class Billboard {
25248
25404
  heightReference: HeightReference;
25249
25405
  /**
25250
25406
  * Gets or sets the pixel offset in screen space from the origin of this billboard. This is commonly used
25251
- * to align multiple billboards and labels at the same position, e.g., an image and text. The
25252
- * screen space origin is the top, left corner of the canvas; <code>x</code> increases from
25253
- * left to right, and <code>y</code> increases from top to bottom.
25254
- * <br /><br />
25255
- * <div align='center'>
25256
- * <table border='0' cellpadding='5'><tr>
25257
- * <td align='center'><code>default</code><br/><img src='Images/Billboard.setPixelOffset.default.png' width='250' height='188' /></td>
25258
- * <td align='center'><code>b.pixeloffset = new Cartesian2(50, 25);</code><br/><img src='Images/Billboard.setPixelOffset.x50y-25.png' width='250' height='188' /></td>
25259
- * </tr></table>
25260
- * The billboard's origin is indicated by the yellow point.
25261
- * </div>
25407
+ to align multiple billboards and labels at the same position, e.g., an image and text. The
25408
+ screen space origin is the top, left corner of the canvas; <code>x</code> increases from
25409
+ left to right, and <code>y</code> increases from top to bottom.
25410
+ <br /><br />
25411
+ <div align='center'>
25412
+ <table border='0' cellpadding='5'><tr>
25413
+ <td align='center'><code>default</code><br/><img src='Images/Billboard.setPixelOffset.default.png' width='250' height='188' /></td>
25414
+ <td align='center'><code>b.pixeloffset = new Cartesian2(50, 25);</code><br/><img src='Images/Billboard.setPixelOffset.x50y-25.png' width='250' height='188' /></td>
25415
+ </tr></table>
25416
+ The billboard's origin is indicated by the yellow point.
25417
+ </div>
25262
25418
  */
25263
25419
  pixelOffset: Cartesian2;
25264
25420
  /**
25265
25421
  * Gets or sets near and far scaling properties of a Billboard based on the billboard's distance from the camera.
25266
- * A billboard's scale will interpolate between the {@link NearFarScalar#nearValue} and
25267
- * {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds
25268
- * of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}.
25269
- * Outside of these ranges the billboard's scale remains clamped to the nearest bound. If undefined,
25270
- * scaleByDistance will be disabled.
25422
+ A billboard's scale will interpolate between the {@link NearFarScalar#nearValue} and
25423
+ {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds
25424
+ of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}.
25425
+ Outside of these ranges the billboard's scale remains clamped to the nearest bound. If undefined,
25426
+ scaleByDistance will be disabled.
25271
25427
  * @example
25272
25428
  * // Example 1.
25273
- * // Set a billboard's scaleByDistance to scale by 1.5 when the
25274
- * // camera is 1500 meters from the billboard and disappear as
25275
- * // the camera distance approaches 8.0e6 meters.
25276
- * b.scaleByDistance = new Cesium.NearFarScalar(1.5e2, 1.5, 8.0e6, 0.0);
25429
+ // Set a billboard's scaleByDistance to scale by 1.5 when the
25430
+ // camera is 1500 meters from the billboard and disappear as
25431
+ // the camera distance approaches 8.0e6 meters.
25432
+ b.scaleByDistance = new Cesium.NearFarScalar(1.5e2, 1.5, 8.0e6, 0.0);
25277
25433
  * @example
25278
25434
  * // Example 2.
25279
- * // disable scaling by distance
25280
- * b.scaleByDistance = undefined;
25435
+ // disable scaling by distance
25436
+ b.scaleByDistance = undefined;
25281
25437
  */
25282
25438
  scaleByDistance: NearFarScalar;
25283
25439
  /**
25284
25440
  * Gets or sets near and far translucency properties of a Billboard based on the billboard's distance from the camera.
25285
- * A billboard's translucency will interpolate between the {@link NearFarScalar#nearValue} and
25286
- * {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds
25287
- * of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}.
25288
- * Outside of these ranges the billboard's translucency remains clamped to the nearest bound. If undefined,
25289
- * translucencyByDistance will be disabled.
25441
+ A billboard's translucency will interpolate between the {@link NearFarScalar#nearValue} and
25442
+ {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds
25443
+ of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}.
25444
+ Outside of these ranges the billboard's translucency remains clamped to the nearest bound. If undefined,
25445
+ translucencyByDistance will be disabled.
25290
25446
  * @example
25291
25447
  * // Example 1.
25292
- * // Set a billboard's translucency to 1.0 when the
25293
- * // camera is 1500 meters from the billboard and disappear as
25294
- * // the camera distance approaches 8.0e6 meters.
25295
- * b.translucencyByDistance = new Cesium.NearFarScalar(1.5e2, 1.0, 8.0e6, 0.0);
25448
+ // Set a billboard's translucency to 1.0 when the
25449
+ // camera is 1500 meters from the billboard and disappear as
25450
+ // the camera distance approaches 8.0e6 meters.
25451
+ b.translucencyByDistance = new Cesium.NearFarScalar(1.5e2, 1.0, 8.0e6, 0.0);
25296
25452
  * @example
25297
25453
  * // Example 2.
25298
- * // disable translucency by distance
25299
- * b.translucencyByDistance = undefined;
25454
+ // disable translucency by distance
25455
+ b.translucencyByDistance = undefined;
25300
25456
  */
25301
25457
  translucencyByDistance: NearFarScalar;
25302
25458
  /**
25303
25459
  * Gets or sets near and far pixel offset scaling properties of a Billboard based on the billboard's distance from the camera.
25304
- * A billboard's pixel offset will be scaled between the {@link NearFarScalar#nearValue} and
25305
- * {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds
25306
- * of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}.
25307
- * Outside of these ranges the billboard's pixel offset scale remains clamped to the nearest bound. If undefined,
25308
- * pixelOffsetScaleByDistance will be disabled.
25460
+ A billboard's pixel offset will be scaled between the {@link NearFarScalar#nearValue} and
25461
+ {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds
25462
+ of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}.
25463
+ Outside of these ranges the billboard's pixel offset scale remains clamped to the nearest bound. If undefined,
25464
+ pixelOffsetScaleByDistance will be disabled.
25309
25465
  * @example
25310
25466
  * // Example 1.
25311
- * // Set a billboard's pixel offset scale to 0.0 when the
25312
- * // camera is 1500 meters from the billboard and scale pixel offset to 10.0 pixels
25313
- * // in the y direction the camera distance approaches 8.0e6 meters.
25314
- * b.pixelOffset = new Cesium.Cartesian2(0.0, 1.0);
25315
- * b.pixelOffsetScaleByDistance = new Cesium.NearFarScalar(1.5e2, 0.0, 8.0e6, 10.0);
25467
+ // Set a billboard's pixel offset scale to 0.0 when the
25468
+ // camera is 1500 meters from the billboard and scale pixel offset to 10.0 pixels
25469
+ // in the y direction the camera distance approaches 8.0e6 meters.
25470
+ b.pixelOffset = new Cesium.Cartesian2(0.0, 1.0);
25471
+ b.pixelOffsetScaleByDistance = new Cesium.NearFarScalar(1.5e2, 0.0, 8.0e6, 10.0);
25316
25472
  * @example
25317
25473
  * // Example 2.
25318
- * // disable pixel offset by distance
25319
- * b.pixelOffsetScaleByDistance = undefined;
25474
+ // disable pixel offset by distance
25475
+ b.pixelOffsetScaleByDistance = undefined;
25320
25476
  */
25321
25477
  pixelOffsetScaleByDistance: NearFarScalar;
25322
25478
  /**
25323
25479
  * Gets or sets the 3D Cartesian offset applied to this billboard in eye coordinates. Eye coordinates is a left-handed
25324
- * coordinate system, where <code>x</code> points towards the viewer's right, <code>y</code> points up, and
25325
- * <code>z</code> points into the screen. Eye coordinates use the same scale as world and model coordinates,
25326
- * which is typically meters.
25327
- * <br /><br />
25328
- * An eye offset is commonly used to arrange multiple billboards or objects at the same position, e.g., to
25329
- * arrange a billboard above its corresponding 3D model.
25330
- * <br /><br />
25331
- * Below, the billboard is positioned at the center of the Earth but an eye offset makes it always
25332
- * appear on top of the Earth regardless of the viewer's or Earth's orientation.
25333
- * <br /><br />
25334
- * <div align='center'>
25335
- * <table border='0' cellpadding='5'><tr>
25336
- * <td align='center'><img src='Images/Billboard.setEyeOffset.one.png' width='250' height='188' /></td>
25337
- * <td align='center'><img src='Images/Billboard.setEyeOffset.two.png' width='250' height='188' /></td>
25338
- * </tr></table>
25339
- * <code>b.eyeOffset = new Cartesian3(0.0, 8000000.0, 0.0);</code><br /><br />
25340
- * </div>
25480
+ coordinate system, where <code>x</code> points towards the viewer's right, <code>y</code> points up, and
25481
+ <code>z</code> points into the screen. Eye coordinates use the same scale as world and model coordinates,
25482
+ which is typically meters.
25483
+ <br /><br />
25484
+ An eye offset is commonly used to arrange multiple billboards or objects at the same position, e.g., to
25485
+ arrange a billboard above its corresponding 3D model.
25486
+ <br /><br />
25487
+ Below, the billboard is positioned at the center of the Earth but an eye offset makes it always
25488
+ appear on top of the Earth regardless of the viewer's or Earth's orientation.
25489
+ <br /><br />
25490
+ <div align='center'>
25491
+ <table border='0' cellpadding='5'><tr>
25492
+ <td align='center'><img src='Images/Billboard.setEyeOffset.one.png' width='250' height='188' /></td>
25493
+ <td align='center'><img src='Images/Billboard.setEyeOffset.two.png' width='250' height='188' /></td>
25494
+ </tr></table>
25495
+ <code>b.eyeOffset = new Cartesian3(0.0, 8000000.0, 0.0);</code><br /><br />
25496
+ </div>
25341
25497
  */
25342
25498
  eyeOffset: Cartesian3;
25343
25499
  /**
25344
25500
  * Gets or sets the horizontal origin of this billboard, which determines if the billboard is
25345
- * to the left, center, or right of its anchor position.
25346
- * <br /><br />
25347
- * <div align='center'>
25348
- * <img src='Images/Billboard.setHorizontalOrigin.png' width='648' height='196' /><br />
25349
- * </div>
25501
+ to the left, center, or right of its anchor position.
25502
+ <br /><br />
25503
+ <div align='center'>
25504
+ <img src='Images/Billboard.setHorizontalOrigin.png' width='648' height='196' /><br />
25505
+ </div>
25350
25506
  * @example
25351
25507
  * // Use a bottom, left origin
25352
- * b.horizontalOrigin = Cesium.HorizontalOrigin.LEFT;
25353
- * b.verticalOrigin = Cesium.VerticalOrigin.BOTTOM;
25508
+ b.horizontalOrigin = Cesium.HorizontalOrigin.LEFT;
25509
+ b.verticalOrigin = Cesium.VerticalOrigin.BOTTOM;
25354
25510
  */
25355
25511
  horizontalOrigin: HorizontalOrigin;
25356
25512
  /**
25357
25513
  * Gets or sets the vertical origin of this billboard, which determines if the billboard is
25358
- * to the above, below, or at the center of its anchor position.
25359
- * <br /><br />
25360
- * <div align='center'>
25361
- * <img src='Images/Billboard.setVerticalOrigin.png' width='695' height='175' /><br />
25362
- * </div>
25514
+ to the above, below, or at the center of its anchor position.
25515
+ <br /><br />
25516
+ <div align='center'>
25517
+ <img src='Images/Billboard.setVerticalOrigin.png' width='695' height='175' /><br />
25518
+ </div>
25363
25519
  * @example
25364
25520
  * // Use a bottom, left origin
25365
- * b.horizontalOrigin = Cesium.HorizontalOrigin.LEFT;
25366
- * b.verticalOrigin = Cesium.VerticalOrigin.BOTTOM;
25521
+ b.horizontalOrigin = Cesium.HorizontalOrigin.LEFT;
25522
+ b.verticalOrigin = Cesium.VerticalOrigin.BOTTOM;
25367
25523
  */
25368
25524
  verticalOrigin: VerticalOrigin;
25369
25525
  /**
25370
25526
  * Gets or sets the uniform scale that is multiplied with the billboard's image size in pixels.
25371
- * A scale of <code>1.0</code> does not change the size of the billboard; a scale greater than
25372
- * <code>1.0</code> enlarges the billboard; a positive scale less than <code>1.0</code> shrinks
25373
- * the billboard.
25374
- * <br /><br />
25375
- * <div align='center'>
25376
- * <img src='Images/Billboard.setScale.png' width='400' height='300' /><br/>
25377
- * From left to right in the above image, the scales are <code>0.5</code>, <code>1.0</code>,
25378
- * and <code>2.0</code>.
25379
- * </div>
25527
+ A scale of <code>1.0</code> does not change the size of the billboard; a scale greater than
25528
+ <code>1.0</code> enlarges the billboard; a positive scale less than <code>1.0</code> shrinks
25529
+ the billboard.
25530
+ <br /><br />
25531
+ <div align='center'>
25532
+ <img src='Images/Billboard.setScale.png' width='400' height='300' /><br/>
25533
+ From left to right in the above image, the scales are <code>0.5</code>, <code>1.0</code>,
25534
+ and <code>2.0</code>.
25535
+ </div>
25380
25536
  */
25381
25537
  scale: number;
25382
25538
  /**
25383
25539
  * Gets or sets the color that is multiplied with the billboard's texture. This has two common use cases. First,
25384
- * the same white texture may be used by many different billboards, each with a different color, to create
25385
- * colored billboards. Second, the color's alpha component can be used to make the billboard translucent as shown below.
25386
- * An alpha of <code>0.0</code> makes the billboard transparent, and <code>1.0</code> makes the billboard opaque.
25387
- * <br /><br />
25388
- * <div align='center'>
25389
- * <table border='0' cellpadding='5'><tr>
25390
- * <td align='center'><code>default</code><br/><img src='Images/Billboard.setColor.Alpha255.png' width='250' height='188' /></td>
25391
- * <td align='center'><code>alpha : 0.5</code><br/><img src='Images/Billboard.setColor.Alpha127.png' width='250' height='188' /></td>
25392
- * </tr></table>
25393
- * </div>
25394
- * <br />
25395
- * The red, green, blue, and alpha values are indicated by <code>value</code>'s <code>red</code>, <code>green</code>,
25396
- * <code>blue</code>, and <code>alpha</code> properties as shown in Example 1. These components range from <code>0.0</code>
25397
- * (no intensity) to <code>1.0</code> (full intensity).
25540
+ the same white texture may be used by many different billboards, each with a different color, to create
25541
+ colored billboards. Second, the color's alpha component can be used to make the billboard translucent as shown below.
25542
+ An alpha of <code>0.0</code> makes the billboard transparent, and <code>1.0</code> makes the billboard opaque.
25543
+ <br /><br />
25544
+ <div align='center'>
25545
+ <table border='0' cellpadding='5'><tr>
25546
+ <td align='center'><code>default</code><br/><img src='Images/Billboard.setColor.Alpha255.png' width='250' height='188' /></td>
25547
+ <td align='center'><code>alpha : 0.5</code><br/><img src='Images/Billboard.setColor.Alpha127.png' width='250' height='188' /></td>
25548
+ </tr></table>
25549
+ </div>
25550
+ <br />
25551
+ The red, green, blue, and alpha values are indicated by <code>value</code>'s <code>red</code>, <code>green</code>,
25552
+ <code>blue</code>, and <code>alpha</code> properties as shown in Example 1. These components range from <code>0.0</code>
25553
+ (no intensity) to <code>1.0</code> (full intensity).
25398
25554
  * @example
25399
25555
  * // Example 1. Assign yellow.
25400
- * b.color = Cesium.Color.YELLOW;
25556
+ b.color = Cesium.Color.YELLOW;
25401
25557
  * @example
25402
25558
  * // Example 2. Make a billboard 50% translucent.
25403
- * b.color = new Cesium.Color(1.0, 1.0, 1.0, 0.5);
25559
+ b.color = new Cesium.Color(1.0, 1.0, 1.0, 0.5);
25404
25560
  */
25405
25561
  color: Color;
25406
25562
  /**
@@ -25409,20 +25565,20 @@ export class Billboard {
25409
25565
  rotation: number;
25410
25566
  /**
25411
25567
  * Gets or sets the aligned axis in world space. The aligned axis is the unit vector that the billboard up vector points towards.
25412
- * The default is the zero vector, which means the billboard is aligned to the screen up vector.
25568
+ The default is the zero vector, which means the billboard is aligned to the screen up vector.
25413
25569
  * @example
25414
25570
  * // Example 1.
25415
- * // Have the billboard up vector point north
25416
- * billboard.alignedAxis = Cesium.Cartesian3.UNIT_Z;
25571
+ // Have the billboard up vector point north
25572
+ billboard.alignedAxis = Cesium.Cartesian3.UNIT_Z;
25417
25573
  * @example
25418
25574
  * // Example 2.
25419
- * // Have the billboard point east.
25420
- * billboard.alignedAxis = Cesium.Cartesian3.UNIT_Z;
25421
- * billboard.rotation = -Cesium.Math.PI_OVER_TWO;
25575
+ // Have the billboard point east.
25576
+ billboard.alignedAxis = Cesium.Cartesian3.UNIT_Z;
25577
+ billboard.rotation = -Cesium.Math.PI_OVER_TWO;
25422
25578
  * @example
25423
25579
  * // Example 3.
25424
- * // Reset the aligned axis
25425
- * billboard.alignedAxis = Cesium.Cartesian3.ZERO;
25580
+ // Reset the aligned axis
25581
+ billboard.alignedAxis = Cesium.Cartesian3.ZERO;
25426
25582
  */
25427
25583
  alignedAxis: Cartesian3;
25428
25584
  /**
@@ -25435,7 +25591,7 @@ export class Billboard {
25435
25591
  height: number;
25436
25592
  /**
25437
25593
  * Gets or sets if the billboard size is in meters or pixels. <code>true</code> to size the billboard in meters;
25438
- * otherwise, the size is in pixels.
25594
+ otherwise, the size is in pixels.
25439
25595
  */
25440
25596
  sizeInMeters: boolean;
25441
25597
  /**
@@ -25444,7 +25600,7 @@ export class Billboard {
25444
25600
  distanceDisplayCondition: DistanceDisplayCondition;
25445
25601
  /**
25446
25602
  * Gets or sets the distance from the camera at which to disable the depth test to, for example, prevent clipping against terrain.
25447
- * When set to zero, the depth test is always applied. When set to Number.POSITIVE_INFINITY, the depth test is never applied.
25603
+ When set to zero, the depth test is always applied. When set to Number.POSITIVE_INFINITY, the depth test is never applied.
25448
25604
  */
25449
25605
  disableDepthTestDistance: number;
25450
25606
  /**
@@ -25453,72 +25609,72 @@ export class Billboard {
25453
25609
  id: any;
25454
25610
  /**
25455
25611
  * <p>
25456
- * Gets or sets the image to be used for this billboard. If a texture has already been created for the
25457
- * given image, the existing texture is used.
25458
- * </p>
25459
- * <p>
25460
- * This property can be set to a loaded Image, a URL which will be loaded as an Image automatically,
25461
- * a canvas, or another billboard's image property (from the same billboard collection).
25462
- * </p>
25612
+ Gets or sets the image to be used for this billboard. If a texture has already been created for the
25613
+ given image, the existing texture is used.
25614
+ </p>
25615
+ <p>
25616
+ This property can be set to a loaded Image, a URL which will be loaded as an Image automatically,
25617
+ a canvas, or another billboard's image property (from the same billboard collection).
25618
+ </p>
25463
25619
  * @example
25464
25620
  * // load an image from a URL
25465
- * b.image = 'some/image/url.png';
25466
- *
25467
- * // assuming b1 and b2 are billboards in the same billboard collection,
25468
- * // use the same image for both billboards.
25469
- * b2.image = b1.image;
25621
+ b.image = 'some/image/url.png';
25622
+
25623
+ // assuming b1 and b2 are billboards in the same billboard collection,
25624
+ // use the same image for both billboards.
25625
+ b2.image = b1.image;
25470
25626
  */
25471
25627
  image: string;
25472
25628
  /**
25473
25629
  * When <code>true</code>, this billboard is ready to render, i.e., the image
25474
- * has been downloaded and the WebGL resources are created.
25630
+ has been downloaded and the WebGL resources are created.
25475
25631
  */
25476
25632
  readonly ready: boolean;
25477
25633
  /**
25478
25634
  * <p>
25479
- * Sets the image to be used for this billboard. If a texture has already been created for the
25480
- * given id, the existing texture is used.
25481
- * </p>
25482
- * <p>
25483
- * This function is useful for dynamically creating textures that are shared across many billboards.
25484
- * Only the first billboard will actually call the function and create the texture, while subsequent
25485
- * billboards created with the same id will simply re-use the existing texture.
25486
- * </p>
25487
- * <p>
25488
- * To load an image from a URL, setting the {@link Billboard#image} property is more convenient.
25489
- * </p>
25635
+ Sets the image to be used for this billboard. If a texture has already been created for the
25636
+ given id, the existing texture is used.
25637
+ </p>
25638
+ <p>
25639
+ This function is useful for dynamically creating textures that are shared across many billboards.
25640
+ Only the first billboard will actually call the function and create the texture, while subsequent
25641
+ billboards created with the same id will simply re-use the existing texture.
25642
+ </p>
25643
+ <p>
25644
+ To load an image from a URL, setting the {@link Billboard#image} property is more convenient.
25645
+ </p>
25490
25646
  * @example
25491
25647
  * // create a billboard image dynamically
25492
- * function drawImage(id) {
25493
- * // create and draw an image using a canvas
25494
- * const canvas = document.createElement('canvas');
25495
- * const context2D = canvas.getContext('2d');
25496
- * // ... draw image
25497
- * return canvas;
25498
- * }
25499
- * // drawImage will be called to create the texture
25500
- * b.setImage('myImage', drawImage);
25501
- *
25502
- * // subsequent billboards created in the same collection using the same id will use the existing
25503
- * // texture, without the need to create the canvas or draw the image
25504
- * b2.setImage('myImage', drawImage);
25648
+ function drawImage(id) {
25649
+ // create and draw an image using a canvas
25650
+ const canvas = document.createElement('canvas');
25651
+ const context2D = canvas.getContext('2d');
25652
+ // ... draw image
25653
+ return canvas;
25654
+ }
25655
+ // drawImage will be called to create the texture
25656
+ b.setImage('myImage', drawImage);
25657
+
25658
+ // subsequent billboards created in the same collection using the same id will use the existing
25659
+ // texture, without the need to create the canvas or draw the image
25660
+ b2.setImage('myImage', drawImage);
25505
25661
  * @param id - The id of the image. This can be any string that uniquely identifies the image.
25506
25662
  * @param image - The image to load. This parameter
25507
- * can either be a loaded Image or Canvas, a URL which will be loaded as an Image automatically,
25508
- * or a function which will be called to create the image if it hasn't been loaded already.
25663
+ can either be a loaded Image or Canvas, a URL which will be loaded as an Image automatically,
25664
+ or a function which will be called to create the image if it hasn't been loaded already.
25509
25665
  */
25510
25666
  setImage(id: string, image: HTMLImageElement | HTMLCanvasElement | string | Resource | Billboard.CreateImageCallback): void;
25511
25667
  /**
25512
25668
  * Uses a sub-region of the image with the given id as the image for this billboard,
25513
- * measured in pixels from the bottom-left.
25669
+ measured in pixels from the bottom-left.
25514
25670
  * @param id - The id of the image to use.
25515
25671
  * @param subRegion - The sub-region of the image.
25516
25672
  */
25517
25673
  setImageSubRegion(id: string, subRegion: BoundingRectangle): void;
25518
25674
  /**
25519
25675
  * Computes the screen-space position of the billboard's origin, taking into account eye and pixel offsets.
25520
- * The screen space origin is the top, left corner of the canvas; <code>x</code> increases from
25521
- * left to right, and <code>y</code> increases from top to bottom.
25676
+ The screen space origin is the top, left corner of the canvas; <code>x</code> increases from
25677
+ left to right, and <code>y</code> increases from top to bottom.
25522
25678
  * @example
25523
25679
  * console.log(b.computeScreenSpacePosition(scene).toString());
25524
25680
  * @param scene - The scene.
@@ -25528,7 +25684,7 @@ export class Billboard {
25528
25684
  computeScreenSpacePosition(scene: Scene, result?: Cartesian2): Cartesian2;
25529
25685
  /**
25530
25686
  * Determines if this billboard equals another billboard. Billboards are equal if all their properties
25531
- * are equal. Billboards in different collections can be equal.
25687
+ are equal. Billboards in different collections can be equal.
25532
25688
  * @param other - The billboard to compare for equality.
25533
25689
  * @returns <code>true</code> if the billboards are equal; otherwise, <code>false</code>.
25534
25690
  */
@@ -25936,11 +26092,9 @@ export class BingMapsImageryProvider {
25936
26092
  * @param level - The tile level.
25937
26093
  * @param [request] - The request object. Intended for internal use only.
25938
26094
  * @returns A promise for the image that will resolve when the image is available, or
25939
- undefined if there are too many active requests to the server, and the request
25940
- should be retried later. The resolved image may be either an
25941
- Image or a Canvas DOM object.
26095
+ undefined if there are too many active requests to the server, and the request should be retried later.
25942
26096
  */
25943
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
26097
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
25944
26098
  /**
25945
26099
  * Picking features is not currently supported by this imagery provider, so this function simply returns
25946
26100
  undefined.
@@ -25949,12 +26103,9 @@ export class BingMapsImageryProvider {
25949
26103
  * @param level - The tile level.
25950
26104
  * @param longitude - The longitude at which to pick features.
25951
26105
  * @param latitude - The latitude at which to pick features.
25952
- * @returns A promise for the picked features that will resolve when the asynchronous
25953
- picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo}
25954
- instances. The array may be empty if no features are found at the given location.
25955
- It may also be undefined if picking is not supported.
26106
+ * @returns Undefined since picking is not supported.
25956
26107
  */
25957
- pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise<ImageryLayerFeatureInfo[]> | undefined;
26108
+ pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): undefined;
25958
26109
  /**
25959
26110
  * Converts a tiles (x, y, level) position into a quadkey used to request an image
25960
26111
  from a Bing Maps server.
@@ -26175,6 +26326,28 @@ export class BoxEmitter {
26175
26326
  dimensions: Cartesian3;
26176
26327
  }
26177
26328
 
26329
+ /**
26330
+ * An orientation given by a pair of unit vectors
26331
+ * @property direction - The unit "direction" vector
26332
+ * @property up - The unit "up" vector
26333
+ */
26334
+ export type DirectionUp = {
26335
+ direction: Cartesian3;
26336
+ up: Cartesian3;
26337
+ };
26338
+
26339
+ /**
26340
+ * An orientation given by numeric heading, pitch, and roll
26341
+ * @property heading - The heading in radians
26342
+ * @property pitch - The pitch in radians
26343
+ * @property roll - The roll in meters
26344
+ */
26345
+ export type HeadingPitchRollValues = {
26346
+ heading: number;
26347
+ pitch: number;
26348
+ roll: number;
26349
+ };
26350
+
26178
26351
  /**
26179
26352
  * The camera is defined by a position, orientation, and view frustum.
26180
26353
  <br /><br />
@@ -26379,7 +26552,7 @@ export class Camera {
26379
26552
  */
26380
26553
  setView(options: {
26381
26554
  destination?: Cartesian3 | Rectangle;
26382
- orientation?: any;
26555
+ orientation?: HeadingPitchRollValues | DirectionUp;
26383
26556
  endTransform?: Matrix4;
26384
26557
  convert?: boolean;
26385
26558
  }): void;
@@ -30860,6 +31033,33 @@ export class Globe {
30860
31033
  * Enable the ground atmosphere, which is drawn over the globe when viewed from a distance between <code>lightingFadeInDistance</code> and <code>lightingFadeOutDistance</code>.
30861
31034
  */
30862
31035
  showGroundAtmosphere: boolean;
31036
+ /**
31037
+ * The intensity of the light that is used for computing the ground atmosphere color.
31038
+ */
31039
+ atmosphereLightIntensity: number;
31040
+ /**
31041
+ * The Rayleigh scattering coefficient used in the atmospheric scattering equations for the ground atmosphere.
31042
+ */
31043
+ atmosphereRayleighCoefficient: Cartesian3;
31044
+ /**
31045
+ * The Mie scattering coefficient used in the atmospheric scattering equations for the ground atmosphere.
31046
+ */
31047
+ atmosphereMieCoefficient: Cartesian3;
31048
+ /**
31049
+ * The Rayleigh scale height used in the atmospheric scattering equations for the ground atmosphere, in meters.
31050
+ */
31051
+ atmosphereRayleighScaleHeight: number;
31052
+ /**
31053
+ * The Mie scale height used in the atmospheric scattering equations for the ground atmosphere, in meters.
31054
+ */
31055
+ atmosphereMieScaleHeight: number;
31056
+ /**
31057
+ * The anisotropy of the medium to consider for Mie scattering.
31058
+ <p>
31059
+ Valid values are between -1.0 and 1.0.
31060
+ </p>
31061
+ */
31062
+ atmosphereMieAnisotropy: number;
30863
31063
  /**
30864
31064
  * The distance where everything becomes lit. This only takes effect
30865
31065
  when <code>enableLighting</code> or <code>showGroundAtmosphere</code> is <code>true</code>.
@@ -30992,7 +31192,7 @@ export class Globe {
30992
31192
  * Gets or sets the material appearance of the Globe. This can be one of several built-in {@link Material} objects or a custom material, scripted with
30993
31193
  {@link https://github.com/CesiumGS/cesium/wiki/Fabric|Fabric}.
30994
31194
  */
30995
- material: Material;
31195
+ material: Material | undefined;
30996
31196
  /**
30997
31197
  * The color to render the back side of the globe when the camera is underground or the globe is translucent,
30998
31198
  blended with the globe color based on the camera's distance.
@@ -31151,8 +31351,8 @@ export namespace GoogleEarthEnterpriseImageryProvider {
31151
31351
  * @property metadata - A metadata object that can be used to share metadata requests with a GoogleEarthEnterpriseTerrainProvider.
31152
31352
  * @property [ellipsoid] - The ellipsoid. If not specified, the WGS84 ellipsoid is used.
31153
31353
  * @property [tileDiscardPolicy] - The policy that determines if a tile
31154
- * is invalid and should be discarded. If this value is not specified, a default
31155
- * is to discard tiles that fail to download.
31354
+ is invalid and should be discarded. If this value is not specified, a default
31355
+ is to discard tiles that fail to download.
31156
31356
  * @property [credit] - A credit for the data source, which is displayed on the canvas.
31157
31357
  */
31158
31358
  type ConstructorOptions = {
@@ -31166,41 +31366,41 @@ export namespace GoogleEarthEnterpriseImageryProvider {
31166
31366
 
31167
31367
  /**
31168
31368
  * Provides tiled imagery using the Google Earth Enterprise REST API.
31169
- *
31170
- * Notes: This provider is for use with the 3D Earth API of Google Earth Enterprise,
31171
- * {@link GoogleEarthEnterpriseMapsProvider} should be used with 2D Maps API.
31369
+
31370
+ Notes: This provider is for use with the 3D Earth API of Google Earth Enterprise,
31371
+ {@link GoogleEarthEnterpriseMapsProvider} should be used with 2D Maps API.
31172
31372
  * @example
31173
31373
  * const geeMetadata = new GoogleEarthEnterpriseMetadata('http://www.earthenterprise.org/3d');
31174
- * const gee = new Cesium.GoogleEarthEnterpriseImageryProvider({
31175
- * metadata : geeMetadata
31176
- * });
31374
+ const gee = new Cesium.GoogleEarthEnterpriseImageryProvider({
31375
+ metadata : geeMetadata
31376
+ });
31177
31377
  * @param options - Object describing initialization options
31178
31378
  */
31179
31379
  export class GoogleEarthEnterpriseImageryProvider {
31180
31380
  constructor(options: GoogleEarthEnterpriseImageryProvider.ConstructorOptions);
31181
31381
  /**
31182
31382
  * The default alpha blending value of this provider, with 0.0 representing fully transparent and
31183
- * 1.0 representing fully opaque.
31383
+ 1.0 representing fully opaque.
31184
31384
  */
31185
31385
  defaultAlpha: number | undefined;
31186
31386
  /**
31187
31387
  * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and
31188
- * 1.0 representing fully opaque.
31388
+ 1.0 representing fully opaque.
31189
31389
  */
31190
31390
  defaultNightAlpha: number | undefined;
31191
31391
  /**
31192
31392
  * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and
31193
- * 1.0 representing fully opaque.
31393
+ 1.0 representing fully opaque.
31194
31394
  */
31195
31395
  defaultDayAlpha: number | undefined;
31196
31396
  /**
31197
31397
  * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0
31198
- * makes the imagery darker while greater than 1.0 makes it brighter.
31398
+ makes the imagery darker while greater than 1.0 makes it brighter.
31199
31399
  */
31200
31400
  defaultBrightness: number | undefined;
31201
31401
  /**
31202
31402
  * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces
31203
- * the contrast while greater than 1.0 increases it.
31403
+ the contrast while greater than 1.0 increases it.
31204
31404
  */
31205
31405
  defaultContrast: number | undefined;
31206
31406
  /**
@@ -31209,7 +31409,7 @@ export class GoogleEarthEnterpriseImageryProvider {
31209
31409
  defaultHue: number | undefined;
31210
31410
  /**
31211
31411
  * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the
31212
- * saturation while greater than 1.0 increases it.
31412
+ saturation while greater than 1.0 increases it.
31213
31413
  */
31214
31414
  defaultSaturation: number | undefined;
31215
31415
  /**
@@ -31234,45 +31434,45 @@ export class GoogleEarthEnterpriseImageryProvider {
31234
31434
  readonly proxy: Proxy;
31235
31435
  /**
31236
31436
  * Gets the width of each tile, in pixels. This function should
31237
- * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31437
+ not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31238
31438
  */
31239
31439
  readonly tileWidth: number;
31240
31440
  /**
31241
31441
  * Gets the height of each tile, in pixels. This function should
31242
- * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31442
+ not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31243
31443
  */
31244
31444
  readonly tileHeight: number;
31245
31445
  /**
31246
31446
  * Gets the maximum level-of-detail that can be requested. This function should
31247
- * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31447
+ not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31248
31448
  */
31249
31449
  readonly maximumLevel: number | undefined;
31250
31450
  /**
31251
31451
  * Gets the minimum level-of-detail that can be requested. This function should
31252
- * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31452
+ not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31253
31453
  */
31254
31454
  readonly minimumLevel: number;
31255
31455
  /**
31256
31456
  * Gets the tiling scheme used by this provider. This function should
31257
- * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31457
+ not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31258
31458
  */
31259
31459
  readonly tilingScheme: TilingScheme;
31260
31460
  /**
31261
31461
  * Gets the rectangle, in radians, of the imagery provided by this instance. This function should
31262
- * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31462
+ not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31263
31463
  */
31264
31464
  readonly rectangle: Rectangle;
31265
31465
  /**
31266
31466
  * Gets the tile discard policy. If not undefined, the discard policy is responsible
31267
- * for filtering out "missing" tiles via its shouldDiscardImage function. If this function
31268
- * returns undefined, no tiles are filtered. This function should
31269
- * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31467
+ for filtering out "missing" tiles via its shouldDiscardImage function. If this function
31468
+ returns undefined, no tiles are filtered. This function should
31469
+ not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31270
31470
  */
31271
31471
  readonly tileDiscardPolicy: TileDiscardPolicy;
31272
31472
  /**
31273
31473
  * Gets an event that is raised when the imagery provider encounters an asynchronous error. By subscribing
31274
- * to the event, you will be notified of the error and can potentially recover from it. Event listeners
31275
- * are passed an instance of {@link TileProviderError}.
31474
+ to the event, you will be notified of the error and can potentially recover from it. Event listeners
31475
+ are passed an instance of {@link TileProviderError}.
31276
31476
  */
31277
31477
  readonly errorEvent: Event;
31278
31478
  /**
@@ -31285,15 +31485,15 @@ export class GoogleEarthEnterpriseImageryProvider {
31285
31485
  readonly readyPromise: Promise<boolean>;
31286
31486
  /**
31287
31487
  * Gets the credit to display when this imagery provider is active. Typically this is used to credit
31288
- * the source of the imagery. This function should not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31488
+ the source of the imagery. This function should not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31289
31489
  */
31290
31490
  readonly credit: Credit;
31291
31491
  /**
31292
31492
  * Gets a value indicating whether or not the images provided by this imagery provider
31293
- * include an alpha channel. If this property is false, an alpha channel, if present, will
31294
- * be ignored. If this property is true, any images without an alpha channel will be treated
31295
- * as if their alpha is 1.0 everywhere. Setting this property to false reduces memory usage
31296
- * and texture upload time.
31493
+ include an alpha channel. If this property is false, an alpha channel, if present, will
31494
+ be ignored. If this property is true, any images without an alpha channel will be treated
31495
+ as if their alpha is 1.0 everywhere. Setting this property to false reduces memory usage
31496
+ and texture upload time.
31297
31497
  */
31298
31498
  readonly hasAlphaChannel: boolean;
31299
31499
  /**
@@ -31306,31 +31506,26 @@ export class GoogleEarthEnterpriseImageryProvider {
31306
31506
  getTileCredits(x: number, y: number, level: number): Credit[];
31307
31507
  /**
31308
31508
  * Requests the image for a given tile. This function should
31309
- * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31509
+ not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31310
31510
  * @param x - The tile X coordinate.
31311
31511
  * @param y - The tile Y coordinate.
31312
31512
  * @param level - The tile level.
31313
31513
  * @param [request] - The request object. Intended for internal use only.
31314
31514
  * @returns A promise for the image that will resolve when the image is available, or
31315
- * undefined if there are too many active requests to the server, and the request
31316
- * should be retried later. The resolved image may be either an
31317
- * Image or a Canvas DOM object.
31515
+ undefined if there are too many active requests to the server, and the request should be retried later.
31318
31516
  */
31319
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
31517
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
31320
31518
  /**
31321
31519
  * Picking features is not currently supported by this imagery provider, so this function simply returns
31322
- * undefined.
31520
+ undefined.
31323
31521
  * @param x - The tile X coordinate.
31324
31522
  * @param y - The tile Y coordinate.
31325
31523
  * @param level - The tile level.
31326
31524
  * @param longitude - The longitude at which to pick features.
31327
31525
  * @param latitude - The latitude at which to pick features.
31328
- * @returns A promise for the picked features that will resolve when the asynchronous
31329
- * picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo}
31330
- * instances. The array may be empty if no features are found at the given location.
31331
- * It may also be undefined if picking is not supported.
31526
+ * @returns Undefined since picking is not supported.
31332
31527
  */
31333
- pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise<ImageryLayerFeatureInfo[]> | undefined;
31528
+ pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): undefined;
31334
31529
  }
31335
31530
 
31336
31531
  export namespace GoogleEarthEnterpriseMapsProvider {
@@ -31548,11 +31743,9 @@ export class GoogleEarthEnterpriseMapsProvider {
31548
31743
  * @param level - The tile level.
31549
31744
  * @param [request] - The request object. Intended for internal use only.
31550
31745
  * @returns A promise for the image that will resolve when the image is available, or
31551
- undefined if there are too many active requests to the server, and the request
31552
- should be retried later. The resolved image may be either an
31553
- Image or a Canvas DOM object.
31746
+ undefined if there are too many active requests to the server, and the request should be retried later.
31554
31747
  */
31555
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
31748
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
31556
31749
  /**
31557
31750
  * Picking features is not currently supported by this imagery provider, so this function simply returns
31558
31751
  undefined.
@@ -31561,12 +31754,9 @@ export class GoogleEarthEnterpriseMapsProvider {
31561
31754
  * @param level - The tile level.
31562
31755
  * @param longitude - The longitude at which to pick features.
31563
31756
  * @param latitude - The latitude at which to pick features.
31564
- * @returns A promise for the picked features that will resolve when the asynchronous
31565
- picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo}
31566
- instances. The array may be empty if no features are found at the given location.
31567
- It may also be undefined if picking is not supported.
31757
+ * @returns Undefined since picking is not supported.
31568
31758
  */
31569
- pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise<ImageryLayerFeatureInfo[]> | undefined;
31759
+ pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): undefined;
31570
31760
  /**
31571
31761
  * Gets or sets the URL to the Google Earth logo for display in the credit.
31572
31762
  */
@@ -31578,8 +31768,8 @@ export namespace GridImageryProvider {
31578
31768
  * Initialization options for the GridImageryProvider constructor
31579
31769
  * @property [tilingScheme = new GeographicTilingScheme()] - The tiling scheme for which to draw tiles.
31580
31770
  * @property [ellipsoid] - The ellipsoid. If the tilingScheme is specified,
31581
- * this parameter is ignored and the tiling scheme's ellipsoid is used instead. If neither
31582
- * parameter is specified, the WGS84 ellipsoid is used.
31771
+ this parameter is ignored and the tiling scheme's ellipsoid is used instead. If neither
31772
+ parameter is specified, the WGS84 ellipsoid is used.
31583
31773
  * @property [cells = 8] - The number of grids cells.
31584
31774
  * @property [color = Color(1.0, 1.0, 1.0, 0.4)] - The color to draw grid lines.
31585
31775
  * @property [glowColor = Color(0.0, 1.0, 0.0, 0.05)] - The color to draw glow for grid lines.
@@ -31605,34 +31795,34 @@ export namespace GridImageryProvider {
31605
31795
 
31606
31796
  /**
31607
31797
  * An {@link ImageryProvider} that draws a wireframe grid on every tile with controllable background and glow.
31608
- * May be useful for custom rendering effects or debugging terrain.
31798
+ May be useful for custom rendering effects or debugging terrain.
31609
31799
  * @param options - Object describing initialization options
31610
31800
  */
31611
31801
  export class GridImageryProvider {
31612
31802
  constructor(options: GridImageryProvider.ConstructorOptions);
31613
31803
  /**
31614
31804
  * The default alpha blending value of this provider, with 0.0 representing fully transparent and
31615
- * 1.0 representing fully opaque.
31805
+ 1.0 representing fully opaque.
31616
31806
  */
31617
31807
  defaultAlpha: number | undefined;
31618
31808
  /**
31619
31809
  * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and
31620
- * 1.0 representing fully opaque.
31810
+ 1.0 representing fully opaque.
31621
31811
  */
31622
31812
  defaultNightAlpha: number | undefined;
31623
31813
  /**
31624
31814
  * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and
31625
- * 1.0 representing fully opaque.
31815
+ 1.0 representing fully opaque.
31626
31816
  */
31627
31817
  defaultDayAlpha: number | undefined;
31628
31818
  /**
31629
31819
  * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0
31630
- * makes the imagery darker while greater than 1.0 makes it brighter.
31820
+ makes the imagery darker while greater than 1.0 makes it brighter.
31631
31821
  */
31632
31822
  defaultBrightness: number | undefined;
31633
31823
  /**
31634
31824
  * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces
31635
- * the contrast while greater than 1.0 increases it.
31825
+ the contrast while greater than 1.0 increases it.
31636
31826
  */
31637
31827
  defaultContrast: number | undefined;
31638
31828
  /**
@@ -31641,7 +31831,7 @@ export class GridImageryProvider {
31641
31831
  defaultHue: number | undefined;
31642
31832
  /**
31643
31833
  * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the
31644
- * saturation while greater than 1.0 increases it.
31834
+ saturation while greater than 1.0 increases it.
31645
31835
  */
31646
31836
  defaultSaturation: number | undefined;
31647
31837
  /**
@@ -31662,45 +31852,45 @@ export class GridImageryProvider {
31662
31852
  readonly proxy: Proxy;
31663
31853
  /**
31664
31854
  * Gets the width of each tile, in pixels. This function should
31665
- * not be called before {@link GridImageryProvider#ready} returns true.
31855
+ not be called before {@link GridImageryProvider#ready} returns true.
31666
31856
  */
31667
31857
  readonly tileWidth: number;
31668
31858
  /**
31669
31859
  * Gets the height of each tile, in pixels. This function should
31670
- * not be called before {@link GridImageryProvider#ready} returns true.
31860
+ not be called before {@link GridImageryProvider#ready} returns true.
31671
31861
  */
31672
31862
  readonly tileHeight: number;
31673
31863
  /**
31674
31864
  * Gets the maximum level-of-detail that can be requested. This function should
31675
- * not be called before {@link GridImageryProvider#ready} returns true.
31865
+ not be called before {@link GridImageryProvider#ready} returns true.
31676
31866
  */
31677
31867
  readonly maximumLevel: number | undefined;
31678
31868
  /**
31679
31869
  * Gets the minimum level-of-detail that can be requested. This function should
31680
- * not be called before {@link GridImageryProvider#ready} returns true.
31870
+ not be called before {@link GridImageryProvider#ready} returns true.
31681
31871
  */
31682
31872
  readonly minimumLevel: number;
31683
31873
  /**
31684
31874
  * Gets the tiling scheme used by this provider. This function should
31685
- * not be called before {@link GridImageryProvider#ready} returns true.
31875
+ not be called before {@link GridImageryProvider#ready} returns true.
31686
31876
  */
31687
31877
  readonly tilingScheme: TilingScheme;
31688
31878
  /**
31689
31879
  * Gets the rectangle, in radians, of the imagery provided by this instance. This function should
31690
- * not be called before {@link GridImageryProvider#ready} returns true.
31880
+ not be called before {@link GridImageryProvider#ready} returns true.
31691
31881
  */
31692
31882
  readonly rectangle: Rectangle;
31693
31883
  /**
31694
31884
  * Gets the tile discard policy. If not undefined, the discard policy is responsible
31695
- * for filtering out "missing" tiles via its shouldDiscardImage function. If this function
31696
- * returns undefined, no tiles are filtered. This function should
31697
- * not be called before {@link GridImageryProvider#ready} returns true.
31885
+ for filtering out "missing" tiles via its shouldDiscardImage function. If this function
31886
+ returns undefined, no tiles are filtered. This function should
31887
+ not be called before {@link GridImageryProvider#ready} returns true.
31698
31888
  */
31699
31889
  readonly tileDiscardPolicy: TileDiscardPolicy;
31700
31890
  /**
31701
31891
  * Gets an event that is raised when the imagery provider encounters an asynchronous error. By subscribing
31702
- * to the event, you will be notified of the error and can potentially recover from it. Event listeners
31703
- * are passed an instance of {@link TileProviderError}.
31892
+ to the event, you will be notified of the error and can potentially recover from it. Event listeners
31893
+ are passed an instance of {@link TileProviderError}.
31704
31894
  */
31705
31895
  readonly errorEvent: Event;
31706
31896
  /**
@@ -31713,15 +31903,15 @@ export class GridImageryProvider {
31713
31903
  readonly readyPromise: Promise<boolean>;
31714
31904
  /**
31715
31905
  * Gets the credit to display when this imagery provider is active. Typically this is used to credit
31716
- * the source of the imagery. This function should not be called before {@link GridImageryProvider#ready} returns true.
31906
+ the source of the imagery. This function should not be called before {@link GridImageryProvider#ready} returns true.
31717
31907
  */
31718
31908
  readonly credit: Credit;
31719
31909
  /**
31720
31910
  * Gets a value indicating whether or not the images provided by this imagery provider
31721
- * include an alpha channel. If this property is false, an alpha channel, if present, will
31722
- * be ignored. If this property is true, any images without an alpha channel will be treated
31723
- * as if their alpha is 1.0 everywhere. When this property is false, memory usage
31724
- * and texture upload time are reduced.
31911
+ include an alpha channel. If this property is false, an alpha channel, if present, will
31912
+ be ignored. If this property is true, any images without an alpha channel will be treated
31913
+ as if their alpha is 1.0 everywhere. When this property is false, memory usage
31914
+ and texture upload time are reduced.
31725
31915
  */
31726
31916
  readonly hasAlphaChannel: boolean;
31727
31917
  /**
@@ -31742,31 +31932,25 @@ export class GridImageryProvider {
31742
31932
  getTileCredits(x: number, y: number, level: number): Credit[];
31743
31933
  /**
31744
31934
  * Requests the image for a given tile. This function should
31745
- * not be called before {@link GridImageryProvider#ready} returns true.
31935
+ not be called before {@link GridImageryProvider#ready} returns true.
31746
31936
  * @param x - The tile X coordinate.
31747
31937
  * @param y - The tile Y coordinate.
31748
31938
  * @param level - The tile level.
31749
31939
  * @param [request] - The request object. Intended for internal use only.
31750
- * @returns A promise for the image that will resolve when the image is available, or
31751
- * undefined if there are too many active requests to the server, and the request
31752
- * should be retried later. The resolved image may be either an
31753
- * Image or a Canvas DOM object.
31940
+ * @returns The resolved image as a Canvas DOM object.
31754
31941
  */
31755
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
31942
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLCanvasElement>;
31756
31943
  /**
31757
31944
  * Picking features is not currently supported by this imagery provider, so this function simply returns
31758
- * undefined.
31945
+ undefined.
31759
31946
  * @param x - The tile X coordinate.
31760
31947
  * @param y - The tile Y coordinate.
31761
31948
  * @param level - The tile level.
31762
31949
  * @param longitude - The longitude at which to pick features.
31763
31950
  * @param latitude - The latitude at which to pick features.
31764
- * @returns A promise for the picked features that will resolve when the asynchronous
31765
- * picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo}
31766
- * instances. The array may be empty if no features are found at the given location.
31767
- * It may also be undefined if picking is not supported.
31951
+ * @returns Undefined since picking is not supported.
31768
31952
  */
31769
- pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise<ImageryLayerFeatureInfo[]> | undefined;
31953
+ pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): undefined;
31770
31954
  }
31771
31955
 
31772
31956
  /**
@@ -32569,24 +32753,24 @@ export class ImageryLayerCollection {
32569
32753
  constructor();
32570
32754
  /**
32571
32755
  * An event that is raised when a layer is added to the collection. Event handlers are passed the layer that
32572
- * was added and the index at which it was added.
32756
+ was added and the index at which it was added.
32573
32757
  */
32574
32758
  layerAdded: Event;
32575
32759
  /**
32576
32760
  * An event that is raised when a layer is removed from the collection. Event handlers are passed the layer that
32577
- * was removed and the index from which it was removed.
32761
+ was removed and the index from which it was removed.
32578
32762
  */
32579
32763
  layerRemoved: Event;
32580
32764
  /**
32581
32765
  * An event that is raised when a layer changes position in the collection. Event handlers are passed the layer that
32582
- * was moved, its new index after the move, and its old index prior to the move.
32766
+ was moved, its new index after the move, and its old index prior to the move.
32583
32767
  */
32584
32768
  layerMoved: Event;
32585
32769
  /**
32586
32770
  * An event that is raised when a layer is shown or hidden by setting the
32587
- * {@link ImageryLayer#show} property. Event handlers are passed a reference to this layer,
32588
- * the index of the layer in the collection, and a flag that is true if the layer is now
32589
- * shown or false if it is now hidden.
32771
+ {@link ImageryLayer#show} property. Event handlers are passed a reference to this layer,
32772
+ the index of the layer in the collection, and a flag that is true if the layer is now
32773
+ shown or false if it is now hidden.
32590
32774
  */
32591
32775
  layerShownOrHidden: Event;
32592
32776
  /**
@@ -32597,14 +32781,14 @@ export class ImageryLayerCollection {
32597
32781
  * Adds a layer to the collection.
32598
32782
  * @param layer - the layer to add.
32599
32783
  * @param [index] - the index to add the layer at. If omitted, the layer will
32600
- * be added on top of all existing layers.
32784
+ be added on top of all existing layers.
32601
32785
  */
32602
32786
  add(layer: ImageryLayer, index?: number): void;
32603
32787
  /**
32604
32788
  * Creates a new layer using the given ImageryProvider and adds it to the collection.
32605
32789
  * @param imageryProvider - the imagery provider to create a new layer for.
32606
32790
  * @param [index] - the index to add the layer at. If omitted, the layer will
32607
- * added on top of all existing layers.
32791
+ added on top of all existing layers.
32608
32792
  * @returns The newly created layer.
32609
32793
  */
32610
32794
  addImageryProvider(imageryProvider: ImageryProvider, index?: number): ImageryLayer;
@@ -32613,7 +32797,7 @@ export class ImageryLayerCollection {
32613
32797
  * @param layer - The layer to remove.
32614
32798
  * @param [destroy = true] - whether to destroy the layers in addition to removing them.
32615
32799
  * @returns true if the layer was in the collection and was removed,
32616
- * false if the layer was not in the collection.
32800
+ false if the layer was not in the collection.
32617
32801
  */
32618
32802
  remove(layer: ImageryLayer, destroy?: boolean): boolean;
32619
32803
  /**
@@ -32661,57 +32845,57 @@ export class ImageryLayerCollection {
32661
32845
  lowerToBottom(layer: ImageryLayer): void;
32662
32846
  /**
32663
32847
  * Determines the imagery layers that are intersected by a pick ray. To compute a pick ray from a
32664
- * location on the screen, use {@link Camera.getPickRay}.
32848
+ location on the screen, use {@link Camera.getPickRay}.
32665
32849
  * @param ray - The ray to test for intersection.
32666
32850
  * @param scene - The scene.
32667
32851
  * @returns An array that includes all of
32668
- * the layers that are intersected by a given pick ray. Undefined if
32669
- * no layers are selected.
32852
+ the layers that are intersected by a given pick ray. Undefined if
32853
+ no layers are selected.
32670
32854
  */
32671
32855
  pickImageryLayers(ray: Ray, scene: Scene): ImageryLayer[] | undefined;
32672
32856
  /**
32673
32857
  * Asynchronously determines the imagery layer features that are intersected by a pick ray. The intersected imagery
32674
- * layer features are found by invoking {@link ImageryProvider#pickFeatures} for each imagery layer tile intersected
32675
- * by the pick ray. To compute a pick ray from a location on the screen, use {@link Camera.getPickRay}.
32858
+ layer features are found by invoking {@link ImageryProvider#pickFeatures} for each imagery layer tile intersected
32859
+ by the pick ray. To compute a pick ray from a location on the screen, use {@link Camera.getPickRay}.
32676
32860
  * @example
32677
32861
  * const pickRay = viewer.camera.getPickRay(windowPosition);
32678
- * const featuresPromise = viewer.imageryLayers.pickImageryLayerFeatures(pickRay, viewer.scene);
32679
- * if (!Cesium.defined(featuresPromise)) {
32680
- * console.log('No features picked.');
32681
- * } else {
32682
- * Promise.resolve(featuresPromise).then(function(features) {
32683
- * // This function is called asynchronously when the list if picked features is available.
32684
- * console.log('Number of features: ' + features.length);
32685
- * if (features.length > 0) {
32686
- * console.log('First feature name: ' + features[0].name);
32687
- * }
32688
- * });
32689
- * }
32862
+ const featuresPromise = viewer.imageryLayers.pickImageryLayerFeatures(pickRay, viewer.scene);
32863
+ if (!Cesium.defined(featuresPromise)) {
32864
+ console.log('No features picked.');
32865
+ } else {
32866
+ Promise.resolve(featuresPromise).then(function(features) {
32867
+ // This function is called asynchronously when the list if picked features is available.
32868
+ console.log('Number of features: ' + features.length);
32869
+ if (features.length > 0) {
32870
+ console.log('First feature name: ' + features[0].name);
32871
+ }
32872
+ });
32873
+ }
32690
32874
  * @param ray - The ray to test for intersection.
32691
32875
  * @param scene - The scene.
32692
32876
  * @returns A promise that resolves to an array of features intersected by the pick ray.
32693
- * If it can be quickly determined that no features are intersected (for example,
32694
- * because no active imagery providers support {@link ImageryProvider#pickFeatures}
32695
- * or because the pick ray does not intersect the surface), this function will
32696
- * return undefined.
32877
+ If it can be quickly determined that no features are intersected (for example,
32878
+ because no active imagery providers support {@link ImageryProvider#pickFeatures}
32879
+ or because the pick ray does not intersect the surface), this function will
32880
+ return undefined.
32697
32881
  */
32698
32882
  pickImageryLayerFeatures(ray: Ray, scene: Scene): Promise<ImageryLayerFeatureInfo[]> | undefined;
32699
32883
  /**
32700
32884
  * Returns true if this object was destroyed; otherwise, false.
32701
- * <br /><br />
32702
- * If this object was destroyed, it should not be used; calling any function other than
32703
- * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
32885
+ <br /><br />
32886
+ If this object was destroyed, it should not be used; calling any function other than
32887
+ <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
32704
32888
  * @returns true if this object was destroyed; otherwise, false.
32705
32889
  */
32706
32890
  isDestroyed(): boolean;
32707
32891
  /**
32708
32892
  * Destroys the WebGL resources held by all layers in this collection. Explicitly destroying this
32709
- * object allows for deterministic release of WebGL resources, instead of relying on the garbage
32710
- * collector.
32711
- * <br /><br />
32712
- * Once this object is destroyed, it should not be used; calling any function other than
32713
- * <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
32714
- * assign the return value (<code>undefined</code>) to the object as done in the example.
32893
+ object allows for deterministic release of WebGL resources, instead of relying on the garbage
32894
+ collector.
32895
+ <br /><br />
32896
+ Once this object is destroyed, it should not be used; calling any function other than
32897
+ <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
32898
+ assign the return value (<code>undefined</code>) to the object as done in the example.
32715
32899
  * @example
32716
32900
  * layerCollection = layerCollection && layerCollection.destroy();
32717
32901
  */
@@ -32760,6 +32944,16 @@ export class ImageryLayerFeatureInfo {
32760
32944
  configureDescriptionFromProperties(properties: any): void;
32761
32945
  }
32762
32946
 
32947
+ /**
32948
+ * The format in which {@link ImageryProvider} methods return an image may
32949
+ vary by provider, configuration, or server settings. Most common are
32950
+ <code>HTMLImageElement</code>, <code>HTMLCanvasElement</code>, or on supported
32951
+ browsers, <code>ImageBitmap</code>.
32952
+
32953
+ See the documentation for each ImageryProvider class for more information about how they return images.
32954
+ */
32955
+ export type ImageryTypes = HTMLImageElement | HTMLCanvasElement | ImageBitmap;
32956
+
32763
32957
  /**
32764
32958
  * Provides imagery to be displayed on the surface of an ellipsoid. This type describes an
32765
32959
  interface and is not intended to be instantiated directly.
@@ -32900,12 +33094,10 @@ export class ImageryProvider {
32900
33094
  * @param y - The tile Y coordinate.
32901
33095
  * @param level - The tile level.
32902
33096
  * @param [request] - The request object. Intended for internal use only.
32903
- * @returns A promise for the image that will resolve when the image is available, or
32904
- undefined if there are too many active requests to the server, and the request
32905
- should be retried later. The resolved image may be either an
32906
- Image or a Canvas DOM object.
33097
+ * @returns Returns a promise for the image that will resolve when the image is available, or
33098
+ undefined if there are too many active requests to the server, and the request should be retried later.
32907
33099
  */
32908
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
33100
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
32909
33101
  /**
32910
33102
  * Asynchronously determines what features, if any, are located at a given longitude and latitude within
32911
33103
  a tile. This function should not be called before {@link ImageryProvider#ready} returns true.
@@ -32928,11 +33120,9 @@ export class ImageryProvider {
32928
33120
  * @param imageryProvider - The imagery provider for the URL.
32929
33121
  * @param url - The URL of the image.
32930
33122
  * @returns A promise for the image that will resolve when the image is available, or
32931
- undefined if there are too many active requests to the server, and the request
32932
- should be retried later. The resolved image may be either an
32933
- Image or a Canvas DOM object.
33123
+ undefined if there are too many active requests to the server, and the request should be retried later.
32934
33124
  */
32935
- static loadImage(imageryProvider: ImageryProvider, url: Resource | string): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
33125
+ static loadImage(imageryProvider: ImageryProvider, url: Resource | string): Promise<ImageryTypes | CompressedTextureBuffer> | undefined;
32936
33126
  }
32937
33127
 
32938
33128
  /**
@@ -33098,11 +33288,9 @@ export class IonImageryProvider {
33098
33288
  * @param level - The tile level.
33099
33289
  * @param [request] - The request object. Intended for internal use only.
33100
33290
  * @returns A promise for the image that will resolve when the image is available, or
33101
- undefined if there are too many active requests to the server, and the request
33102
- should be retried later. The resolved image may be either an
33103
- Image or a Canvas DOM object.
33291
+ undefined if there are too many active requests to the server, and the request should be retried later.
33104
33292
  */
33105
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
33293
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
33106
33294
  /**
33107
33295
  * Asynchronously determines what features, if any, are located at a given longitude and latitude within
33108
33296
  a tile. This function should not be called before {@link IonImageryProvider#ready} returns true.
@@ -33403,33 +33591,33 @@ export class Label {
33403
33591
 
33404
33592
  /**
33405
33593
  * A renderable collection of labels. Labels are viewport-aligned text positioned in the 3D scene.
33406
- * Each label can have a different font, color, scale, etc.
33407
- * <br /><br />
33408
- * <div align='center'>
33409
- * <img src='Images/Label.png' width='400' height='300' /><br />
33410
- * Example labels
33411
- * </div>
33412
- * <br /><br />
33413
- * Labels are added and removed from the collection using {@link LabelCollection#add}
33414
- * and {@link LabelCollection#remove}.
33594
+ Each label can have a different font, color, scale, etc.
33595
+ <br /><br />
33596
+ <div align='center'>
33597
+ <img src='Images/Label.png' width='400' height='300' /><br />
33598
+ Example labels
33599
+ </div>
33600
+ <br /><br />
33601
+ Labels are added and removed from the collection using {@link LabelCollection#add}
33602
+ and {@link LabelCollection#remove}.
33415
33603
  * @example
33416
33604
  * // Create a label collection with two labels
33417
- * const labels = scene.primitives.add(new Cesium.LabelCollection());
33418
- * labels.add({
33419
- * position : new Cesium.Cartesian3(1.0, 2.0, 3.0),
33420
- * text : 'A label'
33421
- * });
33422
- * labels.add({
33423
- * position : new Cesium.Cartesian3(4.0, 5.0, 6.0),
33424
- * text : 'Another label'
33425
- * });
33605
+ const labels = scene.primitives.add(new Cesium.LabelCollection());
33606
+ labels.add({
33607
+ position : new Cesium.Cartesian3(1.0, 2.0, 3.0),
33608
+ text : 'A label'
33609
+ });
33610
+ labels.add({
33611
+ position : new Cesium.Cartesian3(4.0, 5.0, 6.0),
33612
+ text : 'Another label'
33613
+ });
33426
33614
  * @param [options] - Object with the following properties:
33427
33615
  * @param [options.modelMatrix = Matrix4.IDENTITY] - The 4x4 transformation matrix that transforms each label from model to world coordinates.
33428
33616
  * @param [options.debugShowBoundingVolume = false] - For debugging only. Determines if this primitive's commands' bounding spheres are shown.
33429
33617
  * @param [options.scene] - Must be passed in for labels that use the height reference property or will be depth tested against the globe.
33430
33618
  * @param [options.blendOption = BlendOption.OPAQUE_AND_TRANSLUCENT] - The label blending option. The default
33431
- * is used for rendering both opaque and translucent labels. However, if either all of the labels are completely opaque or all are completely translucent,
33432
- * setting the technique to BlendOption.OPAQUE or BlendOption.TRANSLUCENT can improve performance by up to 2x.
33619
+ is used for rendering both opaque and translucent labels. However, if either all of the labels are completely opaque or all are completely translucent,
33620
+ setting the technique to BlendOption.OPAQUE or BlendOption.TRANSLUCENT can improve performance by up to 2x.
33433
33621
  * @param [options.show = true] - Determines if the labels in the collection will be shown.
33434
33622
  */
33435
33623
  export class LabelCollection {
@@ -33446,85 +33634,85 @@ export class LabelCollection {
33446
33634
  show: boolean;
33447
33635
  /**
33448
33636
  * The 4x4 transformation matrix that transforms each label in this collection from model to world coordinates.
33449
- * When this is the identity matrix, the labels are drawn in world coordinates, i.e., Earth's WGS84 coordinates.
33450
- * Local reference frames can be used by providing a different transformation matrix, like that returned
33451
- * by {@link Transforms.eastNorthUpToFixedFrame}.
33637
+ When this is the identity matrix, the labels are drawn in world coordinates, i.e., Earth's WGS84 coordinates.
33638
+ Local reference frames can be used by providing a different transformation matrix, like that returned
33639
+ by {@link Transforms.eastNorthUpToFixedFrame}.
33452
33640
  * @example
33453
33641
  * const center = Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883);
33454
- * labels.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(center);
33455
- * labels.add({
33456
- * position : new Cesium.Cartesian3(0.0, 0.0, 0.0),
33457
- * text : 'Center'
33458
- * });
33459
- * labels.add({
33460
- * position : new Cesium.Cartesian3(1000000.0, 0.0, 0.0),
33461
- * text : 'East'
33462
- * });
33463
- * labels.add({
33464
- * position : new Cesium.Cartesian3(0.0, 1000000.0, 0.0),
33465
- * text : 'North'
33466
- * });
33467
- * labels.add({
33468
- * position : new Cesium.Cartesian3(0.0, 0.0, 1000000.0),
33469
- * text : 'Up'
33470
- * });
33642
+ labels.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(center);
33643
+ labels.add({
33644
+ position : new Cesium.Cartesian3(0.0, 0.0, 0.0),
33645
+ text : 'Center'
33646
+ });
33647
+ labels.add({
33648
+ position : new Cesium.Cartesian3(1000000.0, 0.0, 0.0),
33649
+ text : 'East'
33650
+ });
33651
+ labels.add({
33652
+ position : new Cesium.Cartesian3(0.0, 1000000.0, 0.0),
33653
+ text : 'North'
33654
+ });
33655
+ labels.add({
33656
+ position : new Cesium.Cartesian3(0.0, 0.0, 1000000.0),
33657
+ text : 'Up'
33658
+ });
33471
33659
  */
33472
33660
  modelMatrix: Matrix4;
33473
33661
  /**
33474
33662
  * This property is for debugging only; it is not for production use nor is it optimized.
33475
- * <p>
33476
- * Draws the bounding sphere for each draw command in the primitive.
33477
- * </p>
33663
+ <p>
33664
+ Draws the bounding sphere for each draw command in the primitive.
33665
+ </p>
33478
33666
  */
33479
33667
  debugShowBoundingVolume: boolean;
33480
33668
  /**
33481
33669
  * The label blending option. The default is used for rendering both opaque and translucent labels.
33482
- * However, if either all of the labels are completely opaque or all are completely translucent,
33483
- * setting the technique to BlendOption.OPAQUE or BlendOption.TRANSLUCENT can improve
33484
- * performance by up to 2x.
33670
+ However, if either all of the labels are completely opaque or all are completely translucent,
33671
+ setting the technique to BlendOption.OPAQUE or BlendOption.TRANSLUCENT can improve
33672
+ performance by up to 2x.
33485
33673
  */
33486
33674
  blendOption: BlendOption;
33487
33675
  /**
33488
33676
  * Returns the number of labels in this collection. This is commonly used with
33489
- * {@link LabelCollection#get} to iterate over all the labels
33490
- * in the collection.
33677
+ {@link LabelCollection#get} to iterate over all the labels
33678
+ in the collection.
33491
33679
  */
33492
33680
  length: number;
33493
33681
  /**
33494
33682
  * Creates and adds a label with the specified initial properties to the collection.
33495
- * The added label is returned so it can be modified or removed from the collection later.
33683
+ The added label is returned so it can be modified or removed from the collection later.
33496
33684
  * @example
33497
33685
  * // Example 1: Add a label, specifying all the default values.
33498
- * const l = labels.add({
33499
- * show : true,
33500
- * position : Cesium.Cartesian3.ZERO,
33501
- * text : '',
33502
- * font : '30px sans-serif',
33503
- * fillColor : Cesium.Color.WHITE,
33504
- * outlineColor : Cesium.Color.BLACK,
33505
- * outlineWidth : 1.0,
33506
- * showBackground : false,
33507
- * backgroundColor : new Cesium.Color(0.165, 0.165, 0.165, 0.8),
33508
- * backgroundPadding : new Cesium.Cartesian2(7, 5),
33509
- * style : Cesium.LabelStyle.FILL,
33510
- * pixelOffset : Cesium.Cartesian2.ZERO,
33511
- * eyeOffset : Cesium.Cartesian3.ZERO,
33512
- * horizontalOrigin : Cesium.HorizontalOrigin.LEFT,
33513
- * verticalOrigin : Cesium.VerticalOrigin.BASELINE,
33514
- * scale : 1.0,
33515
- * translucencyByDistance : undefined,
33516
- * pixelOffsetScaleByDistance : undefined,
33517
- * heightReference : HeightReference.NONE,
33518
- * distanceDisplayCondition : undefined
33519
- * });
33686
+ const l = labels.add({
33687
+ show : true,
33688
+ position : Cesium.Cartesian3.ZERO,
33689
+ text : '',
33690
+ font : '30px sans-serif',
33691
+ fillColor : Cesium.Color.WHITE,
33692
+ outlineColor : Cesium.Color.BLACK,
33693
+ outlineWidth : 1.0,
33694
+ showBackground : false,
33695
+ backgroundColor : new Cesium.Color(0.165, 0.165, 0.165, 0.8),
33696
+ backgroundPadding : new Cesium.Cartesian2(7, 5),
33697
+ style : Cesium.LabelStyle.FILL,
33698
+ pixelOffset : Cesium.Cartesian2.ZERO,
33699
+ eyeOffset : Cesium.Cartesian3.ZERO,
33700
+ horizontalOrigin : Cesium.HorizontalOrigin.LEFT,
33701
+ verticalOrigin : Cesium.VerticalOrigin.BASELINE,
33702
+ scale : 1.0,
33703
+ translucencyByDistance : undefined,
33704
+ pixelOffsetScaleByDistance : undefined,
33705
+ heightReference : HeightReference.NONE,
33706
+ distanceDisplayCondition : undefined
33707
+ });
33520
33708
  * @example
33521
33709
  * // Example 2: Specify only the label's cartographic position,
33522
- * // text, and font.
33523
- * const l = labels.add({
33524
- * position : Cesium.Cartesian3.fromRadians(longitude, latitude, height),
33525
- * text : 'Hello World',
33526
- * font : '24px Helvetica',
33527
- * });
33710
+ // text, and font.
33711
+ const l = labels.add({
33712
+ position : Cesium.Cartesian3.fromRadians(longitude, latitude, height),
33713
+ text : 'Hello World',
33714
+ font : '24px Helvetica',
33715
+ });
33528
33716
  * @param [options] - A template describing the label's properties as shown in Example 1.
33529
33717
  * @returns The label that was added to the collection.
33530
33718
  */
@@ -33533,7 +33721,7 @@ export class LabelCollection {
33533
33721
  * Removes a label from the collection. Once removed, a label is no longer usable.
33534
33722
  * @example
33535
33723
  * const l = labels.add(...);
33536
- * labels.remove(l); // Returns true
33724
+ labels.remove(l); // Returns true
33537
33725
  * @param label - The label to remove.
33538
33726
  * @returns <code>true</code> if the label was removed; <code>false</code> if the label was not found in the collection.
33539
33727
  */
@@ -33542,8 +33730,8 @@ export class LabelCollection {
33542
33730
  * Removes all labels from the collection.
33543
33731
  * @example
33544
33732
  * labels.add(...);
33545
- * labels.add(...);
33546
- * labels.removeAll();
33733
+ labels.add(...);
33734
+ labels.removeAll();
33547
33735
  */
33548
33736
  removeAll(): void;
33549
33737
  /**
@@ -33554,36 +33742,36 @@ export class LabelCollection {
33554
33742
  contains(label: Label): boolean;
33555
33743
  /**
33556
33744
  * Returns the label in the collection at the specified index. Indices are zero-based
33557
- * and increase as labels are added. Removing a label shifts all labels after
33558
- * it to the left, changing their indices. This function is commonly used with
33559
- * {@link LabelCollection#length} to iterate over all the labels
33560
- * in the collection.
33745
+ and increase as labels are added. Removing a label shifts all labels after
33746
+ it to the left, changing their indices. This function is commonly used with
33747
+ {@link LabelCollection#length} to iterate over all the labels
33748
+ in the collection.
33561
33749
  * @example
33562
33750
  * // Toggle the show property of every label in the collection
33563
- * const len = labels.length;
33564
- * for (let i = 0; i < len; ++i) {
33565
- * const l = billboards.get(i);
33566
- * l.show = !l.show;
33567
- * }
33751
+ const len = labels.length;
33752
+ for (let i = 0; i < len; ++i) {
33753
+ const l = billboards.get(i);
33754
+ l.show = !l.show;
33755
+ }
33568
33756
  * @param index - The zero-based index of the billboard.
33569
33757
  * @returns The label at the specified index.
33570
33758
  */
33571
33759
  get(index: number): Label;
33572
33760
  /**
33573
33761
  * Returns true if this object was destroyed; otherwise, false.
33574
- * <br /><br />
33575
- * If this object was destroyed, it should not be used; calling any function other than
33576
- * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
33762
+ <br /><br />
33763
+ If this object was destroyed, it should not be used; calling any function other than
33764
+ <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
33577
33765
  * @returns True if this object was destroyed; otherwise, false.
33578
33766
  */
33579
33767
  isDestroyed(): boolean;
33580
33768
  /**
33581
33769
  * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
33582
- * release of WebGL resources, instead of relying on the garbage collector to destroy this object.
33583
- * <br /><br />
33584
- * Once an object is destroyed, it should not be used; calling any function other than
33585
- * <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
33586
- * assign the return value (<code>undefined</code>) to the object as done in the example.
33770
+ release of WebGL resources, instead of relying on the garbage collector to destroy this object.
33771
+ <br /><br />
33772
+ Once an object is destroyed, it should not be used; calling any function other than
33773
+ <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
33774
+ assign the return value (<code>undefined</code>) to the object as done in the example.
33587
33775
  * @example
33588
33776
  * labels = labels && labels.destroy();
33589
33777
  */
@@ -33802,11 +33990,9 @@ export class MapboxImageryProvider {
33802
33990
  * @param level - The tile level.
33803
33991
  * @param [request] - The request object. Intended for internal use only.
33804
33992
  * @returns A promise for the image that will resolve when the image is available, or
33805
- undefined if there are too many active requests to the server, and the request
33806
- should be retried later. The resolved image may be either an
33807
- Image or a Canvas DOM object.
33993
+ undefined if there are too many active requests to the server, and the request should be retried later.
33808
33994
  */
33809
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
33995
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
33810
33996
  /**
33811
33997
  * Asynchronously determines what features, if any, are located at a given longitude and latitude within
33812
33998
  a tile. This function should not be called before {@link MapboxImageryProvider#ready} returns true.
@@ -34007,11 +34193,9 @@ export class MapboxStyleImageryProvider {
34007
34193
  * @param level - The tile level.
34008
34194
  * @param [request] - The request object. Intended for internal use only.
34009
34195
  * @returns A promise for the image that will resolve when the image is available, or
34010
- undefined if there are too many active requests to the server, and the request
34011
- should be retried later. The resolved image may be either an
34012
- Image or a Canvas DOM object.
34196
+ undefined if there are too many active requests to the server, and the request should be retried later.
34013
34197
  */
34014
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
34198
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
34015
34199
  /**
34016
34200
  * Asynchronously determines what features, if any, are located at a given longitude and latitude within
34017
34201
  a tile. This function should not be called before {@link MapboxStyleImageryProvider#ready} returns true.
@@ -34725,8 +34909,8 @@ export class Model {
34725
34909
  Local reference frames can be used by providing a different transformation matrix, like that returned
34726
34910
  by {@link Transforms.eastNorthUpToFixedFrame}.
34727
34911
  * @example
34728
- * const origin = Cartesian3.fromDegrees(-95.0, 40.0, 200000.0);
34729
- m.modelMatrix = Transforms.eastNorthUpToFixedFrame(origin);
34912
+ * const origin = Cesium.Cartesian3.fromDegrees(-95.0, 40.0, 200000.0);
34913
+ m.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(origin);
34730
34914
  */
34731
34915
  modelMatrix: Matrix4;
34732
34916
  /**
@@ -34831,7 +35015,7 @@ export class Model {
34831
35015
  account glTF animations and skins nor does it take into account {@link Model#minimumPixelSize}.
34832
35016
  * @example
34833
35017
  * // Center in WGS84 coordinates
34834
- const center = Matrix4.multiplyByPoint(model.modelMatrix, model.boundingSphere.center, new Cartesian3());
35018
+ const center = Cesium.Matrix4.multiplyByPoint(model.modelMatrix, model.boundingSphere.center, new Cesium.Cartesian3());
34835
35019
  */
34836
35020
  readonly boundingSphere: BoundingSphere;
34837
35021
  /**
@@ -34885,7 +35069,7 @@ export class Model {
34885
35069
  /**
34886
35070
  * The light color when shading the model. When <code>undefined</code> the scene's light color is used instead.
34887
35071
  <p>
34888
- For example, disabling additional light sources by setting <code>model.imageBasedLightingFactor = new Cartesian2(0.0, 0.0)</code> will make the
35072
+ For example, disabling additional light sources by setting <code>model.imageBasedLightingFactor = new Cesium.Cartesian2(0.0, 0.0)</code> will make the
34889
35073
  model much darker. Here, increasing the intensity of the light source will make the model brighter.
34890
35074
  </p>
34891
35075
  */
@@ -34978,15 +35162,15 @@ export class Model {
34978
35162
  </p>
34979
35163
  * @example
34980
35164
  * // Example 1. Create a model from a glTF asset
34981
- const model = scene.primitives.add(Model.fromGltf({
35165
+ const model = scene.primitives.add(Cesium.Model.fromGltf({
34982
35166
  url : './duck/duck.gltf'
34983
35167
  }));
34984
35168
  * @example
34985
35169
  * // Example 2. Create model and provide all properties and events
34986
- const origin = Cartesian3.fromDegrees(-95.0, 40.0, 200000.0);
34987
- const modelMatrix = Transforms.eastNorthUpToFixedFrame(origin);
35170
+ const origin = Cesium.Cartesian3.fromDegrees(-95.0, 40.0, 200000.0);
35171
+ const modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(origin);
34988
35172
 
34989
- const model = scene.primitives.add(Model.fromGltf({
35173
+ const model = scene.primitives.add(Cesium.Model.fromGltf({
34990
35174
  url : './duck/duck.gltf',
34991
35175
  show : true, // default
34992
35176
  modelMatrix : modelMatrix,
@@ -35083,7 +35267,7 @@ export class Model {
35083
35267
  * @example
35084
35268
  * // Apply non-uniform scale to node LOD3sp
35085
35269
  const node = model.getNode('LOD3sp');
35086
- node.matrix = Matrix4.fromScale(new Cartesian3(5.0, 1.0, 1.0), node.matrix);
35270
+ node.matrix = Cesium.Matrix4.fromScale(new Cesium.Cartesian3(5.0, 1.0, 1.0), node.matrix);
35087
35271
  * @param name - The glTF name of the node.
35088
35272
  * @returns The node or <code>undefined</code> if no node with <code>name</code> exists.
35089
35273
  */
@@ -35607,7 +35791,9 @@ the Model from your source data type.
35607
35791
  * @param [options.scale = 1.0] - A uniform scale applied to this model.
35608
35792
  * @param [options.minimumPixelSize = 0.0] - The approximate minimum pixel size of the model regardless of zoom.
35609
35793
  * @param [options.maximumScale] - The maximum scale size of a model. An upper limit for minimumPixelSize.
35794
+ * @param [options.clampAnimations = true] - Determines if the model's animations should hold a pose over frames where no keyframes are specified.
35610
35795
  * @param [options.debugShowBoundingVolume = false] - For debugging only. Draws the bounding sphere for each draw command in the model.
35796
+ * @param [options.debugWireframe = false] - For debugging only. Draws the model in wireframe.
35611
35797
  * @param [options.cull = true] - Whether or not to cull the model using frustum/horizon culling. If the model is part of a 3D Tiles tileset, this property will always be false, since the 3D Tiles culling system is used.
35612
35798
  * @param [options.opaquePass = Pass.OPAQUE] - The pass to use in the {@link DrawCommand} for the opaque portions of the model.
35613
35799
  * @param [options.allowPicking = true] - When <code>true</code>, each primitive is pickable with {@link Scene#pick}.
@@ -35635,7 +35821,9 @@ export class ModelExperimental {
35635
35821
  scale?: number;
35636
35822
  minimumPixelSize?: number;
35637
35823
  maximumScale?: number;
35824
+ clampAnimations?: boolean;
35638
35825
  debugShowBoundingVolume?: boolean;
35826
+ debugWireframe?: boolean;
35639
35827
  cull?: boolean;
35640
35828
  opaquePass?: boolean;
35641
35829
  allowPicking?: boolean;
@@ -35670,6 +35858,14 @@ export class ModelExperimental {
35670
35858
  </p>
35671
35859
  */
35672
35860
  readonly readyPromise: Promise<ModelExperimental>;
35861
+ /**
35862
+ * The currently playing glTF animations.
35863
+ */
35864
+ readonly activeAnimations: ModelExperimentalAnimationCollection;
35865
+ /**
35866
+ * Determines if the model's animations should hold a pose over frames where no keyframes are specified.
35867
+ */
35868
+ clampAnimations: boolean;
35673
35869
  /**
35674
35870
  * Point cloud shading settings for controlling point cloud attenuation
35675
35871
  and lighting. For 3D Tiles, this is inherited from the
@@ -35694,7 +35890,9 @@ export class ModelExperimental {
35694
35890
  */
35695
35891
  colorBlendAmount: number;
35696
35892
  /**
35697
- * Gets the model's bounding sphere.
35893
+ * Gets the model's bounding sphere in its local coordinate system. This does not
35894
+ take into account glTF animations, skins, or morph targets. It also does not
35895
+ account for {@link ModelExperimental#minimumPixelSize}.
35698
35896
  */
35699
35897
  readonly boundingSphere: BoundingSphere;
35700
35898
  /**
@@ -35704,6 +35902,13 @@ export class ModelExperimental {
35704
35902
  </p>
35705
35903
  */
35706
35904
  debugShowBoundingVolume: boolean;
35905
+ /**
35906
+ * This property is for debugging only; it is not for production use nor is it optimized.
35907
+ <p>
35908
+ Draws the model in wireframe.
35909
+ </p>
35910
+ */
35911
+ debugWireframe: boolean;
35707
35912
  /**
35708
35913
  * Whether or not to render the model.
35709
35914
  */
@@ -35834,6 +36039,7 @@ export class ModelExperimental {
35834
36039
  * @param [options.incrementallyLoadTextures = true] - Determine if textures may continue to stream in after the model is loaded.
35835
36040
  * @param [options.releaseGltfJson = false] - When true, the glTF JSON is released once the glTF is loaded. This is is especially useful for cases like 3D Tiles, where each .gltf model is unique and caching the glTF JSON is not effective.
35836
36041
  * @param [options.debugShowBoundingVolume = false] - For debugging only. Draws the bounding sphere for each draw command in the model.
36042
+ * @param [options.debugWireframe = false] - For debugging only. Draws the model in wireframe.
35837
36043
  * @param [options.cull = true] - Whether or not to cull the model using frustum/horizon culling. If the model is part of a 3D Tiles tileset, this property will always be false, since the 3D Tiles culling system is used.
35838
36044
  * @param [options.opaquePass = Pass.OPAQUE] - The pass to use in the {@link DrawCommand} for the opaque portions of the model.
35839
36045
  * @param [options.upAxis = Axis.Y] - The up-axis of the glTF model.
@@ -35867,6 +36073,7 @@ export class ModelExperimental {
35867
36073
  incrementallyLoadTextures?: boolean;
35868
36074
  releaseGltfJson?: boolean;
35869
36075
  debugShowBoundingVolume?: boolean;
36076
+ debugWireframe?: boolean;
35870
36077
  cull?: boolean;
35871
36078
  opaquePass?: boolean;
35872
36079
  upAxis?: Axis;
@@ -35908,14 +36115,275 @@ export var modelMatrix: Matrix4;
35908
36115
  export var style: Cesium3DTileStyle;
35909
36116
 
35910
36117
  /**
35911
- * The indices of the children of this node in the scene graph.
36118
+ * An active animation derived from a glTF asset. An active animation is an
36119
+ animation that is either currently playing or scheduled to be played due to
36120
+ being added to a model's {@link ModelExperimentalAnimationCollection}. An active animation
36121
+ is an instance of an animation; for example, there can be multiple active
36122
+ animations for the same glTF animation, each with a different start time.
36123
+ <p>
36124
+ Create this by calling {@link ModelExperimentalAnimationCollection#add}.
36125
+ </p>
35912
36126
  */
35913
- export const children: number[];
36127
+ export class ModelExperimentalAnimation {
36128
+ constructor();
36129
+ /**
36130
+ * When <code>true</code>, the animation is removed after it stops playing.
36131
+ This is slightly more efficient that not removing it, but if, for example,
36132
+ time is reversed, the animation is not played again.
36133
+ */
36134
+ removeOnStop: boolean;
36135
+ /**
36136
+ * The event fired when this animation is started. This can be used, for
36137
+ example, to play a sound or start a particle system, when the animation starts.
36138
+ <p>
36139
+ This event is fired at the end of the frame after the scene is rendered.
36140
+ </p>
36141
+ * @example
36142
+ * animation.start.addEventListener(function(model, animation) {
36143
+ console.log('Animation started: ' + animation.name);
36144
+ });
36145
+ */
36146
+ start: Event;
36147
+ /**
36148
+ * The event fired when on each frame when this animation is updated. The
36149
+ current time of the animation, relative to the glTF animation time span, is
36150
+ passed to the event, which allows, for example, starting new animations at a
36151
+ specific time relative to a playing animation.
36152
+ <p>
36153
+ This event is fired at the end of the frame after the scene is rendered.
36154
+ </p>
36155
+ * @example
36156
+ * animation.update.addEventListener(function(model, animation, time) {
36157
+ console.log('Animation updated: ' + animation.name + '. glTF animation time: ' + time);
36158
+ });
36159
+ */
36160
+ update: Event;
36161
+ /**
36162
+ * The event fired when this animation is stopped. This can be used, for
36163
+ example, to play a sound or start a particle system, when the animation stops.
36164
+ <p>
36165
+ This event is fired at the end of the frame after the scene is rendered.
36166
+ </p>
36167
+ * @example
36168
+ * animation.stop.addEventListener(function(model, animation) {
36169
+ console.log('Animation stopped: ' + animation.name);
36170
+ });
36171
+ */
36172
+ stop: Event;
36173
+ /**
36174
+ * The name that identifies this animation in the model, if it exists.
36175
+ */
36176
+ readonly name: string;
36177
+ /**
36178
+ * The scene time to start playing this animation. When this is <code>undefined</code>,
36179
+ the animation starts at the next frame.
36180
+ */
36181
+ readonly startTime: JulianDate;
36182
+ /**
36183
+ * The delay, in seconds, from {@link ModelExperimentalAnimation#startTime} to start playing.
36184
+ */
36185
+ readonly delay: number;
36186
+ /**
36187
+ * The scene time to stop playing this animation. When this is <code>undefined</code>,
36188
+ the animation is played for its full duration and perhaps repeated depending on
36189
+ {@link ModelExperimentalAnimation#loop}.
36190
+ */
36191
+ readonly stopTime: JulianDate;
36192
+ /**
36193
+ * Values greater than <code>1.0</code> increase the speed that the animation is played relative
36194
+ to the scene clock speed; values less than <code>1.0</code> decrease the speed. A value of
36195
+ <code>1.0</code> plays the animation at the speed in the glTF animation mapped to the scene
36196
+ clock speed. For example, if the scene is played at 2x real-time, a two-second glTF animation
36197
+ will play in one second even if <code>multiplier</code> is <code>1.0</code>.
36198
+ */
36199
+ readonly multiplier: number;
36200
+ /**
36201
+ * When <code>true</code>, the animation is played in reverse.
36202
+ */
36203
+ readonly reverse: boolean;
36204
+ /**
36205
+ * Determines if and how the animation is looped.
36206
+ */
36207
+ readonly loop: ModelAnimationLoop;
36208
+ }
35914
36209
 
35915
36210
  /**
35916
- * Update stages to apply to this primitive.
36211
+ * A collection of active model animations. Access this using {@link ModelExperimental#activeAnimations}.
35917
36212
  */
35918
- export var updateStages: any;
36213
+ export class ModelExperimentalAnimationCollection {
36214
+ constructor();
36215
+ /**
36216
+ * The event fired when an animation is added to the collection. This can be used, for
36217
+ example, to keep a UI in sync.
36218
+ * @example
36219
+ * model.activeAnimations.animationAdded.addEventListener(function(model, animation) {
36220
+ console.log('Animation added: ' + animation.name);
36221
+ });
36222
+ */
36223
+ animationAdded: Event;
36224
+ /**
36225
+ * The event fired when an animation is removed from the collection. This can be used, for
36226
+ example, to keep a UI in sync.
36227
+ * @example
36228
+ * model.activeAnimations.animationRemoved.addEventListener(function(model, animation) {
36229
+ console.log('Animation removed: ' + animation.name);
36230
+ });
36231
+ */
36232
+ animationRemoved: Event;
36233
+ /**
36234
+ * The number of animations in the collection.
36235
+ */
36236
+ readonly length: number;
36237
+ /**
36238
+ * The model that owns this animation collection.
36239
+ */
36240
+ readonly model: ModelExperimental;
36241
+ /**
36242
+ * Creates and adds an animation with the specified initial properties to the collection.
36243
+ <p>
36244
+ This raises the {@link ModelExperimentalAnimationCollection#animationAdded} event so, for example, a UI can stay in sync.
36245
+ </p>
36246
+ * @example
36247
+ * // Example 1. Add an animation by name
36248
+ model.activeAnimations.add({
36249
+ name : 'animation name'
36250
+ });
36251
+ * @example
36252
+ * // Example 2. Add an animation by index
36253
+ model.activeAnimations.add({
36254
+ index : 0
36255
+ });
36256
+ * @example
36257
+ * // Example 3. Add an animation and provide all properties and events
36258
+ const startTime = Cesium.JulianDate.now();
36259
+
36260
+ const animation = model.activeAnimations.add({
36261
+ name : 'another animation name',
36262
+ startTime : startTime,
36263
+ delay : 0.0, // Play at startTime (default)
36264
+ stopTime : Cesium.JulianDate.addSeconds(startTime, 4.0, new Cesium.JulianDate()),
36265
+ removeOnStop : false, // Do not remove when animation stops (default)
36266
+ multiplier : 2.0, // Play at double speed
36267
+ reverse : true, // Play in reverse
36268
+ loop : Cesium.ModelAnimationLoop.REPEAT // Loop the animation
36269
+ });
36270
+
36271
+ animation.start.addEventListener(function(model, animation) {
36272
+ console.log('Animation started: ' + animation.name);
36273
+ });
36274
+ animation.update.addEventListener(function(model, animation, time) {
36275
+ console.log('Animation updated: ' + animation.name + '. glTF animation time: ' + time);
36276
+ });
36277
+ animation.stop.addEventListener(function(model, animation) {
36278
+ console.log('Animation stopped: ' + animation.name);
36279
+ });
36280
+ * @param options - Object with the following properties:
36281
+ * @param [options.name] - The glTF animation name that identifies the animation. Must be defined if <code>options.index</code> is <code>undefined</code>.
36282
+ * @param [options.index] - The glTF animation index that identifies the animation. Must be defined if <code>options.name</code> is <code>undefined</code>.
36283
+ * @param [options.startTime] - The scene time to start playing the animation. When this is <code>undefined</code>, the animation starts at the next frame.
36284
+ * @param [options.delay = 0.0] - The delay, in seconds, from <code>startTime</code> to start playing. This will only affect the animation if <code>options.loop</code> is ModelAnimationLoop.NONE.
36285
+ * @param [options.stopTime] - The scene time to stop playing the animation. When this is <code>undefined</code>, the animation is played for its full duration.
36286
+ * @param [options.removeOnStop = false] - When <code>true</code>, the animation is removed after it stops playing. This will only affect the animation if <code>options.loop</code> is ModelAnimationLoop.NONE.
36287
+ * @param [options.multiplier = 1.0] - Values greater than <code>1.0</code> increase the speed that the animation is played relative to the scene clock speed; values less than <code>1.0</code> decrease the speed.
36288
+ * @param [options.reverse = false] - When <code>true</code>, the animation is played in reverse.
36289
+ * @param [options.loop = ModelAnimationLoop.NONE] - Determines if and how the animation is looped.
36290
+ * @returns The animation that was added to the collection.
36291
+ */
36292
+ add(options: {
36293
+ name?: string;
36294
+ index?: number;
36295
+ startTime?: JulianDate;
36296
+ delay?: number;
36297
+ stopTime?: JulianDate;
36298
+ removeOnStop?: boolean;
36299
+ multiplier?: number;
36300
+ reverse?: boolean;
36301
+ loop?: ModelAnimationLoop;
36302
+ }): ModelAnimation;
36303
+ /**
36304
+ * Creates and adds animations with the specified initial properties to the collection
36305
+ for all animations in the model.
36306
+ <p>
36307
+ This raises the {@link ModelExperimentalAnimationCollection#animationAdded} event for each model so, for example, a UI can stay in sync.
36308
+ </p>
36309
+ * @example
36310
+ * model.activeAnimations.addAll({
36311
+ multiplier : 0.5, // Play at half-speed
36312
+ loop : Cesium.ModelAnimationLoop.REPEAT // Loop the animations
36313
+ });
36314
+ * @param [options] - Object with the following properties:
36315
+ * @param [options.startTime] - The scene time to start playing the animations. When this is <code>undefined</code>, the animations starts at the next frame.
36316
+ * @param [options.delay = 0.0] - The delay, in seconds, from <code>startTime</code> to start playing. This will only affect the animation if <code>options.loop</code> is ModelAnimationLoop.NONE.
36317
+ * @param [options.stopTime] - The scene time to stop playing the animations. When this is <code>undefined</code>, the animations are played for its full duration.
36318
+ * @param [options.removeOnStop = false] - When <code>true</code>, the animations are removed after they stop playing. This will only affect the animation if <code>options.loop</code> is ModelAnimationLoop.NONE.
36319
+ * @param [options.multiplier = 1.0] - Values greater than <code>1.0</code> increase the speed that the animations play relative to the scene clock speed; values less than <code>1.0</code> decrease the speed.
36320
+ * @param [options.reverse = false] - When <code>true</code>, the animations are played in reverse.
36321
+ * @param [options.loop = ModelAnimationLoop.NONE] - Determines if and how the animations are looped.
36322
+ * @returns An array of {@link ModelExperimentalAnimation} objects, one for each animation added to the collection. If there are no glTF animations, the array is empty.
36323
+ */
36324
+ addAll(options?: {
36325
+ startTime?: JulianDate;
36326
+ delay?: number;
36327
+ stopTime?: JulianDate;
36328
+ removeOnStop?: boolean;
36329
+ multiplier?: number;
36330
+ reverse?: boolean;
36331
+ loop?: ModelAnimationLoop;
36332
+ }): ModelExperimentalAnimation[];
36333
+ /**
36334
+ * Removes an animation from the collection.
36335
+ <p>
36336
+ This raises the {@link ModelExperimentalAnimationCollection#animationRemoved} event so, for example, a UI can stay in sync.
36337
+ </p>
36338
+ <p>
36339
+ An animation can also be implicitly removed from the collection by setting {@link ModelExperimentalAnimationCollection#removeOnStop} to
36340
+ <code>true</code>. The {@link ModelExperimentalAnimationCollection#animationRemoved} event is still fired when the animation is removed.
36341
+ </p>
36342
+ * @example
36343
+ * const a = model.activeAnimations.add({
36344
+ name : 'animation name'
36345
+ });
36346
+ model.activeAnimations.remove(a); // Returns true
36347
+ * @param runtimeAnimation - The runtime animation to remove.
36348
+ * @returns <code>true</code> if the animation was removed; <code>false</code> if the animation was not found in the collection.
36349
+ */
36350
+ remove(runtimeAnimation: ModelExperimentalAnimation): boolean;
36351
+ /**
36352
+ * Removes all animations from the collection.
36353
+ <p>
36354
+ This raises the {@link ModelExperimentalAnimationCollection#animationRemoved} event for each
36355
+ animation so, for example, a UI can stay in sync.
36356
+ </p>
36357
+ */
36358
+ removeAll(): void;
36359
+ /**
36360
+ * Determines whether this collection contains a given animation.
36361
+ * @param runtimeAnimation - The runtime animation to check for.
36362
+ * @returns <code>true</code> if this collection contains the animation, <code>false</code> otherwise.
36363
+ */
36364
+ contains(runtimeAnimation: ModelExperimentalAnimation): boolean;
36365
+ /**
36366
+ * Returns the animation in the collection at the specified index. Indices are zero-based
36367
+ and increase as animations are added. Removing an animation shifts all animations after
36368
+ it to the left, changing their indices. This function is commonly used to iterate over
36369
+ all the animations in the collection.
36370
+ * @example
36371
+ * // Output the names of all the animations in the collection.
36372
+ const animations = model.activeAnimations;
36373
+ const length = animations.length;
36374
+ for (let i = 0; i < length; ++i) {
36375
+ console.log(animations.get(i).name);
36376
+ }
36377
+ * @param index - The zero-based index of the animation.
36378
+ * @returns The runtime animation at the specified index.
36379
+ */
36380
+ get(index: number): ModelExperimentalAnimation;
36381
+ }
36382
+
36383
+ /**
36384
+ * The indices of the children of this node in the scene graph.
36385
+ */
36386
+ export const children: number[];
35919
36387
 
35920
36388
  /**
35921
36389
  * A feature of a {@link ModelExperimental}.
@@ -36024,11 +36492,6 @@ export class ModelFeature {
36024
36492
  setProperty(name: string, value: any): boolean;
36025
36493
  }
36026
36494
 
36027
- /**
36028
- * The bounding sphere that contains all the vertices in this primitive.
36029
- */
36030
- export var boundingSphere: BoundingSphere;
36031
-
36032
36495
  /**
36033
36496
  * A simple struct that serves as a value of a <code>sampler2D</code>-valued
36034
36497
  uniform. This is used with {@link CustomShader} and {@link TextureManager}
@@ -36040,8 +36503,8 @@ uniform. This is used with {@link CustomShader} and {@link TextureManager}
36040
36503
  * @param [options.repeat = true] - When defined, the texture sampler will be set to wrap in both directions
36041
36504
  * @param [options.pixelFormat = PixelFormat.RGBA] - When options.typedArray is defined, this is used to determine the pixel format of the texture
36042
36505
  * @param [options.pixelDatatype = PixelDatatype.UNSIGNED_BYTE] - When options.typedArray is defined, this is the data type of pixel values in the typed array.
36043
- * @param [textureMinificationFilter = TextureMinificationFilter.LINEAR] - The minification filter of the texture sampler.
36044
- * @param [textureMagnificationFilter = TextureMagnificationFilter.LINEAR] - The magnification filter of the texture sampler.
36506
+ * @param [options.minificationFilter = TextureMinificationFilter.LINEAR] - The minification filter of the texture sampler.
36507
+ * @param [options.magnificationFilter = TextureMagnificationFilter.LINEAR] - The magnification filter of the texture sampler.
36045
36508
  * @param [options.maximumAnisotropy = 1.0] - The maximum anisotropy of the texture sampler
36046
36509
  */
36047
36510
  export class TextureUniform {
@@ -36053,8 +36516,10 @@ export class TextureUniform {
36053
36516
  repeat?: boolean;
36054
36517
  pixelFormat?: PixelFormat;
36055
36518
  pixelDatatype?: PixelDatatype;
36519
+ minificationFilter?: TextureMinificationFilter;
36520
+ magnificationFilter?: TextureMagnificationFilter;
36056
36521
  maximumAnisotropy?: number;
36057
- }, textureMinificationFilter?: TextureMinificationFilter, textureMagnificationFilter?: TextureMagnificationFilter);
36522
+ });
36058
36523
  }
36059
36524
 
36060
36525
  /**
@@ -38230,88 +38695,88 @@ export enum PostProcessStageSampleMode {
38230
38695
 
38231
38696
  /**
38232
38697
  * A primitive represents geometry in the {@link Scene}. The geometry can be from a single {@link GeometryInstance}
38233
- * as shown in example 1 below, or from an array of instances, even if the geometry is from different
38234
- * geometry types, e.g., an {@link RectangleGeometry} and an {@link EllipsoidGeometry} as shown in Code Example 2.
38235
- * <p>
38236
- * A primitive combines geometry instances with an {@link Appearance} that describes the full shading, including
38237
- * {@link Material} and {@link RenderState}. Roughly, the geometry instance defines the structure and placement,
38238
- * and the appearance defines the visual characteristics. Decoupling geometry and appearance allows us to mix
38239
- * and match most of them and add a new geometry or appearance independently of each other.
38240
- * </p>
38241
- * <p>
38242
- * Combining multiple instances into one primitive is called batching, and significantly improves performance for static data.
38243
- * Instances can be individually picked; {@link Scene#pick} returns their {@link GeometryInstance#id}. Using
38244
- * per-instance appearances like {@link PerInstanceColorAppearance}, each instance can also have a unique color.
38245
- * </p>
38246
- * <p>
38247
- * {@link Geometry} can either be created and batched on a web worker or the main thread. The first two examples
38248
- * show geometry that will be created on a web worker by using the descriptions of the geometry. The third example
38249
- * shows how to create the geometry on the main thread by explicitly calling the <code>createGeometry</code> method.
38250
- * </p>
38698
+ as shown in example 1 below, or from an array of instances, even if the geometry is from different
38699
+ geometry types, e.g., an {@link RectangleGeometry} and an {@link EllipsoidGeometry} as shown in Code Example 2.
38700
+ <p>
38701
+ A primitive combines geometry instances with an {@link Appearance} that describes the full shading, including
38702
+ {@link Material} and {@link RenderState}. Roughly, the geometry instance defines the structure and placement,
38703
+ and the appearance defines the visual characteristics. Decoupling geometry and appearance allows us to mix
38704
+ and match most of them and add a new geometry or appearance independently of each other.
38705
+ </p>
38706
+ <p>
38707
+ Combining multiple instances into one primitive is called batching, and significantly improves performance for static data.
38708
+ Instances can be individually picked; {@link Scene#pick} returns their {@link GeometryInstance#id}. Using
38709
+ per-instance appearances like {@link PerInstanceColorAppearance}, each instance can also have a unique color.
38710
+ </p>
38711
+ <p>
38712
+ {@link Geometry} can either be created and batched on a web worker or the main thread. The first two examples
38713
+ show geometry that will be created on a web worker by using the descriptions of the geometry. The third example
38714
+ shows how to create the geometry on the main thread by explicitly calling the <code>createGeometry</code> method.
38715
+ </p>
38251
38716
  * @example
38252
38717
  * // 1. Draw a translucent ellipse on the surface with a checkerboard pattern
38253
- * const instance = new Cesium.GeometryInstance({
38254
- * geometry : new Cesium.EllipseGeometry({
38255
- * center : Cesium.Cartesian3.fromDegrees(-100.0, 20.0),
38256
- * semiMinorAxis : 500000.0,
38257
- * semiMajorAxis : 1000000.0,
38258
- * rotation : Cesium.Math.PI_OVER_FOUR,
38259
- * vertexFormat : Cesium.VertexFormat.POSITION_AND_ST
38260
- * }),
38261
- * id : 'object returned when this instance is picked and to get/set per-instance attributes'
38262
- * });
38263
- * scene.primitives.add(new Cesium.Primitive({
38264
- * geometryInstances : instance,
38265
- * appearance : new Cesium.EllipsoidSurfaceAppearance({
38266
- * material : Cesium.Material.fromType('Checkerboard')
38267
- * })
38268
- * }));
38718
+ const instance = new Cesium.GeometryInstance({
38719
+ geometry : new Cesium.EllipseGeometry({
38720
+ center : Cesium.Cartesian3.fromDegrees(-100.0, 20.0),
38721
+ semiMinorAxis : 500000.0,
38722
+ semiMajorAxis : 1000000.0,
38723
+ rotation : Cesium.Math.PI_OVER_FOUR,
38724
+ vertexFormat : Cesium.VertexFormat.POSITION_AND_ST
38725
+ }),
38726
+ id : 'object returned when this instance is picked and to get/set per-instance attributes'
38727
+ });
38728
+ scene.primitives.add(new Cesium.Primitive({
38729
+ geometryInstances : instance,
38730
+ appearance : new Cesium.EllipsoidSurfaceAppearance({
38731
+ material : Cesium.Material.fromType('Checkerboard')
38732
+ })
38733
+ }));
38269
38734
  * @example
38270
38735
  * // 2. Draw different instances each with a unique color
38271
- * const rectangleInstance = new Cesium.GeometryInstance({
38272
- * geometry : new Cesium.RectangleGeometry({
38273
- * rectangle : Cesium.Rectangle.fromDegrees(-140.0, 30.0, -100.0, 40.0),
38274
- * vertexFormat : Cesium.PerInstanceColorAppearance.VERTEX_FORMAT
38275
- * }),
38276
- * id : 'rectangle',
38277
- * attributes : {
38278
- * color : new Cesium.ColorGeometryInstanceAttribute(0.0, 1.0, 1.0, 0.5)
38279
- * }
38280
- * });
38281
- * const ellipsoidInstance = new Cesium.GeometryInstance({
38282
- * geometry : new Cesium.EllipsoidGeometry({
38283
- * radii : new Cesium.Cartesian3(500000.0, 500000.0, 1000000.0),
38284
- * vertexFormat : Cesium.VertexFormat.POSITION_AND_NORMAL
38285
- * }),
38286
- * modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame(
38287
- * Cesium.Cartesian3.fromDegrees(-95.59777, 40.03883)), new Cesium.Cartesian3(0.0, 0.0, 500000.0), new Cesium.Matrix4()),
38288
- * id : 'ellipsoid',
38289
- * attributes : {
38290
- * color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.AQUA)
38291
- * }
38292
- * });
38293
- * scene.primitives.add(new Cesium.Primitive({
38294
- * geometryInstances : [rectangleInstance, ellipsoidInstance],
38295
- * appearance : new Cesium.PerInstanceColorAppearance()
38296
- * }));
38736
+ const rectangleInstance = new Cesium.GeometryInstance({
38737
+ geometry : new Cesium.RectangleGeometry({
38738
+ rectangle : Cesium.Rectangle.fromDegrees(-140.0, 30.0, -100.0, 40.0),
38739
+ vertexFormat : Cesium.PerInstanceColorAppearance.VERTEX_FORMAT
38740
+ }),
38741
+ id : 'rectangle',
38742
+ attributes : {
38743
+ color : new Cesium.ColorGeometryInstanceAttribute(0.0, 1.0, 1.0, 0.5)
38744
+ }
38745
+ });
38746
+ const ellipsoidInstance = new Cesium.GeometryInstance({
38747
+ geometry : new Cesium.EllipsoidGeometry({
38748
+ radii : new Cesium.Cartesian3(500000.0, 500000.0, 1000000.0),
38749
+ vertexFormat : Cesium.VertexFormat.POSITION_AND_NORMAL
38750
+ }),
38751
+ modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame(
38752
+ Cesium.Cartesian3.fromDegrees(-95.59777, 40.03883)), new Cesium.Cartesian3(0.0, 0.0, 500000.0), new Cesium.Matrix4()),
38753
+ id : 'ellipsoid',
38754
+ attributes : {
38755
+ color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.AQUA)
38756
+ }
38757
+ });
38758
+ scene.primitives.add(new Cesium.Primitive({
38759
+ geometryInstances : [rectangleInstance, ellipsoidInstance],
38760
+ appearance : new Cesium.PerInstanceColorAppearance()
38761
+ }));
38297
38762
  * @example
38298
38763
  * // 3. Create the geometry on the main thread.
38299
- * scene.primitives.add(new Cesium.Primitive({
38300
- * geometryInstances : new Cesium.GeometryInstance({
38301
- * geometry : Cesium.EllipsoidGeometry.createGeometry(new Cesium.EllipsoidGeometry({
38302
- * radii : new Cesium.Cartesian3(500000.0, 500000.0, 1000000.0),
38303
- * vertexFormat : Cesium.VertexFormat.POSITION_AND_NORMAL
38304
- * })),
38305
- * modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame(
38306
- * Cesium.Cartesian3.fromDegrees(-95.59777, 40.03883)), new Cesium.Cartesian3(0.0, 0.0, 500000.0), new Cesium.Matrix4()),
38307
- * id : 'ellipsoid',
38308
- * attributes : {
38309
- * color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.AQUA)
38310
- * }
38311
- * }),
38312
- * appearance : new Cesium.PerInstanceColorAppearance(),
38313
- * asynchronous : false
38314
- * }));
38764
+ scene.primitives.add(new Cesium.Primitive({
38765
+ geometryInstances : new Cesium.GeometryInstance({
38766
+ geometry : Cesium.EllipsoidGeometry.createGeometry(new Cesium.EllipsoidGeometry({
38767
+ radii : new Cesium.Cartesian3(500000.0, 500000.0, 1000000.0),
38768
+ vertexFormat : Cesium.VertexFormat.POSITION_AND_NORMAL
38769
+ })),
38770
+ modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame(
38771
+ Cesium.Cartesian3.fromDegrees(-95.59777, 40.03883)), new Cesium.Cartesian3(0.0, 0.0, 500000.0), new Cesium.Matrix4()),
38772
+ id : 'ellipsoid',
38773
+ attributes : {
38774
+ color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.AQUA)
38775
+ }
38776
+ }),
38777
+ appearance : new Cesium.PerInstanceColorAppearance(),
38778
+ asynchronous : false
38779
+ }));
38315
38780
  * @param [options] - Object with the following properties:
38316
38781
  * @param [options.geometryInstances] - The geometry instances - or a single geometry instance - to render.
38317
38782
  * @param [options.appearance] - The appearance used to render the primitive.
@@ -38347,67 +38812,67 @@ export class Primitive {
38347
38812
  });
38348
38813
  /**
38349
38814
  * The geometry instances rendered with this primitive. This may
38350
- * be <code>undefined</code> if <code>options.releaseGeometryInstances</code>
38351
- * is <code>true</code> when the primitive is constructed.
38352
- * <p>
38353
- * Changing this property after the primitive is rendered has no effect.
38354
- * </p>
38815
+ be <code>undefined</code> if <code>options.releaseGeometryInstances</code>
38816
+ is <code>true</code> when the primitive is constructed.
38817
+ <p>
38818
+ Changing this property after the primitive is rendered has no effect.
38819
+ </p>
38355
38820
  */
38356
38821
  readonly geometryInstances: GeometryInstance[] | GeometryInstance;
38357
38822
  /**
38358
38823
  * The {@link Appearance} used to shade this primitive. Each geometry
38359
- * instance is shaded with the same appearance. Some appearances, like
38360
- * {@link PerInstanceColorAppearance} allow giving each instance unique
38361
- * properties.
38824
+ instance is shaded with the same appearance. Some appearances, like
38825
+ {@link PerInstanceColorAppearance} allow giving each instance unique
38826
+ properties.
38362
38827
  */
38363
38828
  appearance: Appearance;
38364
38829
  /**
38365
38830
  * The {@link Appearance} used to shade this primitive when it fails the depth test. Each geometry
38366
- * instance is shaded with the same appearance. Some appearances, like
38367
- * {@link PerInstanceColorAppearance} allow giving each instance unique
38368
- * properties.
38369
- *
38370
- * <p>
38371
- * When using an appearance that requires a color attribute, like PerInstanceColorAppearance,
38372
- * add a depthFailColor per-instance attribute instead.
38373
- * </p>
38374
- *
38375
- * <p>
38376
- * Requires the EXT_frag_depth WebGL extension to render properly. If the extension is not supported,
38377
- * there may be artifacts.
38378
- * </p>
38831
+ instance is shaded with the same appearance. Some appearances, like
38832
+ {@link PerInstanceColorAppearance} allow giving each instance unique
38833
+ properties.
38834
+
38835
+ <p>
38836
+ When using an appearance that requires a color attribute, like PerInstanceColorAppearance,
38837
+ add a depthFailColor per-instance attribute instead.
38838
+ </p>
38839
+
38840
+ <p>
38841
+ Requires the EXT_frag_depth WebGL extension to render properly. If the extension is not supported,
38842
+ there may be artifacts.
38843
+ </p>
38379
38844
  */
38380
38845
  depthFailAppearance: Appearance;
38381
38846
  /**
38382
38847
  * The 4x4 transformation matrix that transforms the primitive (all geometry instances) from model to world coordinates.
38383
- * When this is the identity matrix, the primitive is drawn in world coordinates, i.e., Earth's WGS84 coordinates.
38384
- * Local reference frames can be used by providing a different transformation matrix, like that returned
38385
- * by {@link Transforms.eastNorthUpToFixedFrame}.
38386
- *
38387
- * <p>
38388
- * This property is only supported in 3D mode.
38389
- * </p>
38848
+ When this is the identity matrix, the primitive is drawn in world coordinates, i.e., Earth's WGS84 coordinates.
38849
+ Local reference frames can be used by providing a different transformation matrix, like that returned
38850
+ by {@link Transforms.eastNorthUpToFixedFrame}.
38851
+
38852
+ <p>
38853
+ This property is only supported in 3D mode.
38854
+ </p>
38390
38855
  * @example
38391
38856
  * const origin = Cesium.Cartesian3.fromDegrees(-95.0, 40.0, 200000.0);
38392
- * p.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(origin);
38857
+ p.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(origin);
38393
38858
  */
38394
38859
  modelMatrix: Matrix4;
38395
38860
  /**
38396
38861
  * Determines if the primitive will be shown. This affects all geometry
38397
- * instances in the primitive.
38862
+ instances in the primitive.
38398
38863
  */
38399
38864
  show: boolean;
38400
38865
  /**
38401
38866
  * When <code>true</code>, the renderer frustum culls and horizon culls the primitive's commands
38402
- * based on their bounding volume. Set this to <code>false</code> for a small performance gain
38403
- * if you are manually culling the primitive.
38867
+ based on their bounding volume. Set this to <code>false</code> for a small performance gain
38868
+ if you are manually culling the primitive.
38404
38869
  */
38405
38870
  cull: boolean;
38406
38871
  /**
38407
38872
  * This property is for debugging only; it is not for production use nor is it optimized.
38408
- * <p>
38409
- * Draws the bounding sphere for each draw command in the primitive.
38410
- * </p>
38873
+ <p>
38874
+ Draws the bounding sphere for each draw command in the primitive.
38875
+ </p>
38411
38876
  */
38412
38877
  debugShowBoundingVolume: boolean;
38413
38878
  /**
@@ -38440,8 +38905,8 @@ export class Primitive {
38440
38905
  readonly compressVertices: boolean;
38441
38906
  /**
38442
38907
  * Determines if the primitive is complete and ready to render. If this property is
38443
- * true, the primitive will be rendered the next time that {@link Primitive#update}
38444
- * is called.
38908
+ true, the primitive will be rendered the next time that {@link Primitive#update}
38909
+ is called.
38445
38910
  */
38446
38911
  readonly ready: boolean;
38447
38912
  /**
@@ -38450,42 +38915,42 @@ export class Primitive {
38450
38915
  readonly readyPromise: Promise<Primitive>;
38451
38916
  /**
38452
38917
  * Called when {@link Viewer} or {@link CesiumWidget} render the scene to
38453
- * get the draw commands needed to render this primitive.
38454
- * <p>
38455
- * Do not call this function directly. This is documented just to
38456
- * list the exceptions that may be propagated when the scene is rendered:
38457
- * </p>
38918
+ get the draw commands needed to render this primitive.
38919
+ <p>
38920
+ Do not call this function directly. This is documented just to
38921
+ list the exceptions that may be propagated when the scene is rendered:
38922
+ </p>
38458
38923
  */
38459
38924
  update(): void;
38460
38925
  /**
38461
38926
  * Returns the modifiable per-instance attributes for a {@link GeometryInstance}.
38462
38927
  * @example
38463
38928
  * const attributes = primitive.getGeometryInstanceAttributes('an id');
38464
- * attributes.color = Cesium.ColorGeometryInstanceAttribute.toValue(Cesium.Color.AQUA);
38465
- * attributes.show = Cesium.ShowGeometryInstanceAttribute.toValue(true);
38466
- * attributes.distanceDisplayCondition = Cesium.DistanceDisplayConditionGeometryInstanceAttribute.toValue(100.0, 10000.0);
38467
- * attributes.offset = Cesium.OffsetGeometryInstanceAttribute.toValue(Cartesian3.IDENTITY);
38929
+ attributes.color = Cesium.ColorGeometryInstanceAttribute.toValue(Cesium.Color.AQUA);
38930
+ attributes.show = Cesium.ShowGeometryInstanceAttribute.toValue(true);
38931
+ attributes.distanceDisplayCondition = Cesium.DistanceDisplayConditionGeometryInstanceAttribute.toValue(100.0, 10000.0);
38932
+ attributes.offset = Cesium.OffsetGeometryInstanceAttribute.toValue(Cartesian3.IDENTITY);
38468
38933
  * @param id - The id of the {@link GeometryInstance}.
38469
38934
  * @returns The typed array in the attribute's format or undefined if the is no instance with id.
38470
38935
  */
38471
38936
  getGeometryInstanceAttributes(id: any): any;
38472
38937
  /**
38473
38938
  * Returns true if this object was destroyed; otherwise, false.
38474
- * <p>
38475
- * If this object was destroyed, it should not be used; calling any function other than
38476
- * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
38477
- * </p>
38939
+ <p>
38940
+ If this object was destroyed, it should not be used; calling any function other than
38941
+ <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
38942
+ </p>
38478
38943
  * @returns <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
38479
38944
  */
38480
38945
  isDestroyed(): boolean;
38481
38946
  /**
38482
38947
  * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
38483
- * release of WebGL resources, instead of relying on the garbage collector to destroy this object.
38484
- * <p>
38485
- * Once an object is destroyed, it should not be used; calling any function other than
38486
- * <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
38487
- * assign the return value (<code>undefined</code>) to the object as done in the example.
38488
- * </p>
38948
+ release of WebGL resources, instead of relying on the garbage collector to destroy this object.
38949
+ <p>
38950
+ Once an object is destroyed, it should not be used; calling any function other than
38951
+ <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
38952
+ assign the return value (<code>undefined</code>) to the object as done in the example.
38953
+ </p>
38489
38954
  * @example
38490
38955
  * e = e && e.destroy();
38491
38956
  */
@@ -39799,12 +40264,9 @@ export class SingleTileImageryProvider {
39799
40264
  * @param y - The tile Y coordinate.
39800
40265
  * @param level - The tile level.
39801
40266
  * @param [request] - The request object. Intended for internal use only.
39802
- * @returns A promise for the image that will resolve when the image is available, or
39803
- undefined if there are too many active requests to the server, and the request
39804
- should be retried later. The resolved image may be either an
39805
- Image or a Canvas DOM object.
40267
+ * @returns The resolved image
39806
40268
  */
39807
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
40269
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
39808
40270
  /**
39809
40271
  * Picking features is not currently supported by this imagery provider, so this function simply returns
39810
40272
  undefined.
@@ -39813,18 +40275,14 @@ export class SingleTileImageryProvider {
39813
40275
  * @param level - The tile level.
39814
40276
  * @param longitude - The longitude at which to pick features.
39815
40277
  * @param latitude - The latitude at which to pick features.
39816
- * @returns A promise for the picked features that will resolve when the asynchronous
39817
- picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo}
39818
- instances. The array may be empty if no features are found at the given location.
39819
- It may also be undefined if picking is not supported.
40278
+ * @returns Undefined since picking is not supported.
39820
40279
  */
39821
- pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise<ImageryLayerFeatureInfo[]> | undefined;
40280
+ pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): undefined;
39822
40281
  }
39823
40282
 
39824
40283
  /**
39825
- * An atmosphere drawn around the limb of the provided ellipsoid. Based on
39826
- {@link https://developer.nvidia.com/gpugems/GPUGems2/gpugems2_chapter16.html|Accurate Atmospheric Scattering}
39827
- in GPU Gems 2.
40284
+ * An atmosphere drawn around the limb of the provided ellipsoid. Based on
40285
+ {@link http://nishitalab.org/user/nis/cdrom/sig93_nis.pdf|Display of The Earth Taking Into Account Atmospheric Scattering}.
39828
40286
  <p>
39829
40287
  This is only supported in 3D. Atmosphere is faded out when morphing to 2D or Columbus view.
39830
40288
  </p>
@@ -39843,6 +40301,33 @@ export class SkyAtmosphere {
39843
40301
  This produces better looking atmosphere with a slight performance penalty.
39844
40302
  */
39845
40303
  perFragmentAtmosphere: boolean;
40304
+ /**
40305
+ * The intensity of the light that is used for computing the sky atmosphere color.
40306
+ */
40307
+ atmosphereLightIntensity: number;
40308
+ /**
40309
+ * The Rayleigh scattering coefficient used in the atmospheric scattering equations for the sky atmosphere.
40310
+ */
40311
+ atmosphereRayleighCoefficient: Cartesian3;
40312
+ /**
40313
+ * The Mie scattering coefficient used in the atmospheric scattering equations for the sky atmosphere.
40314
+ */
40315
+ atmosphereMieCoefficient: Cartesian3;
40316
+ /**
40317
+ * The Rayleigh scale height used in the atmospheric scattering equations for the sky atmosphere, in meters.
40318
+ */
40319
+ atmosphereRayleighScaleHeight: number;
40320
+ /**
40321
+ * The Mie scale height used in the atmospheric scattering equations for the sky atmosphere, in meters.
40322
+ */
40323
+ atmosphereMieScaleHeight: number;
40324
+ /**
40325
+ * The anisotropy of the medium to consider for Mie scattering.
40326
+ <p>
40327
+ Valid values are between -1.0 and 1.0.
40328
+ </p>
40329
+ */
40330
+ atmosphereMieAnisotropy: number;
39846
40331
  /**
39847
40332
  * The hue shift to apply to the atmosphere. Defaults to 0.0 (no shift).
39848
40333
  A hue shift of 1.0 indicates a complete rotation of the hues available.
@@ -40162,8 +40647,8 @@ export namespace TileCoordinatesImageryProvider {
40162
40647
  * Initialization options for the TileCoordinatesImageryProvider constructor
40163
40648
  * @property [tilingScheme = new GeographicTilingScheme()] - The tiling scheme for which to draw tiles.
40164
40649
  * @property [ellipsoid] - The ellipsoid. If the tilingScheme is specified,
40165
- * this parameter is ignored and the tiling scheme's ellipsoid is used instead. If neither
40166
- * parameter is specified, the WGS84 ellipsoid is used.
40650
+ this parameter is ignored and the tiling scheme's ellipsoid is used instead. If neither
40651
+ parameter is specified, the WGS84 ellipsoid is used.
40167
40652
  * @property [color = Color.YELLOW] - The color to draw the tile box and label.
40168
40653
  * @property [tileWidth = 256] - The width of the tile for level-of-detail selection purposes.
40169
40654
  * @property [tileHeight = 256] - The height of the tile for level-of-detail selection purposes.
@@ -40179,35 +40664,35 @@ export namespace TileCoordinatesImageryProvider {
40179
40664
 
40180
40665
  /**
40181
40666
  * An {@link ImageryProvider} that draws a box around every rendered tile in the tiling scheme, and draws
40182
- * a label inside it indicating the X, Y, Level coordinates of the tile. This is mostly useful for
40183
- * debugging terrain and imagery rendering problems.
40667
+ a label inside it indicating the X, Y, Level coordinates of the tile. This is mostly useful for
40668
+ debugging terrain and imagery rendering problems.
40184
40669
  * @param [options] - Object describing initialization options
40185
40670
  */
40186
40671
  export class TileCoordinatesImageryProvider {
40187
40672
  constructor(options?: TileCoordinatesImageryProvider.ConstructorOptions);
40188
40673
  /**
40189
40674
  * The default alpha blending value of this provider, with 0.0 representing fully transparent and
40190
- * 1.0 representing fully opaque.
40675
+ 1.0 representing fully opaque.
40191
40676
  */
40192
40677
  defaultAlpha: number | undefined;
40193
40678
  /**
40194
40679
  * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and
40195
- * 1.0 representing fully opaque.
40680
+ 1.0 representing fully opaque.
40196
40681
  */
40197
40682
  defaultNightAlpha: number | undefined;
40198
40683
  /**
40199
40684
  * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and
40200
- * 1.0 representing fully opaque.
40685
+ 1.0 representing fully opaque.
40201
40686
  */
40202
40687
  defaultDayAlpha: number | undefined;
40203
40688
  /**
40204
40689
  * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0
40205
- * makes the imagery darker while greater than 1.0 makes it brighter.
40690
+ makes the imagery darker while greater than 1.0 makes it brighter.
40206
40691
  */
40207
40692
  defaultBrightness: number | undefined;
40208
40693
  /**
40209
40694
  * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces
40210
- * the contrast while greater than 1.0 increases it.
40695
+ the contrast while greater than 1.0 increases it.
40211
40696
  */
40212
40697
  defaultContrast: number | undefined;
40213
40698
  /**
@@ -40216,7 +40701,7 @@ export class TileCoordinatesImageryProvider {
40216
40701
  defaultHue: number | undefined;
40217
40702
  /**
40218
40703
  * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the
40219
- * saturation while greater than 1.0 increases it.
40704
+ saturation while greater than 1.0 increases it.
40220
40705
  */
40221
40706
  defaultSaturation: number | undefined;
40222
40707
  /**
@@ -40237,45 +40722,45 @@ export class TileCoordinatesImageryProvider {
40237
40722
  readonly proxy: Proxy;
40238
40723
  /**
40239
40724
  * Gets the width of each tile, in pixels. This function should
40240
- * not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40725
+ not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40241
40726
  */
40242
40727
  readonly tileWidth: number;
40243
40728
  /**
40244
40729
  * Gets the height of each tile, in pixels. This function should
40245
- * not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40730
+ not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40246
40731
  */
40247
40732
  readonly tileHeight: number;
40248
40733
  /**
40249
40734
  * Gets the maximum level-of-detail that can be requested. This function should
40250
- * not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40735
+ not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40251
40736
  */
40252
40737
  readonly maximumLevel: number | undefined;
40253
40738
  /**
40254
40739
  * Gets the minimum level-of-detail that can be requested. This function should
40255
- * not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40740
+ not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40256
40741
  */
40257
40742
  readonly minimumLevel: number;
40258
40743
  /**
40259
40744
  * Gets the tiling scheme used by this provider. This function should
40260
- * not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40745
+ not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40261
40746
  */
40262
40747
  readonly tilingScheme: TilingScheme;
40263
40748
  /**
40264
40749
  * Gets the rectangle, in radians, of the imagery provided by this instance. This function should
40265
- * not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40750
+ not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40266
40751
  */
40267
40752
  readonly rectangle: Rectangle;
40268
40753
  /**
40269
40754
  * Gets the tile discard policy. If not undefined, the discard policy is responsible
40270
- * for filtering out "missing" tiles via its shouldDiscardImage function. If this function
40271
- * returns undefined, no tiles are filtered. This function should
40272
- * not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40755
+ for filtering out "missing" tiles via its shouldDiscardImage function. If this function
40756
+ returns undefined, no tiles are filtered. This function should
40757
+ not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40273
40758
  */
40274
40759
  readonly tileDiscardPolicy: TileDiscardPolicy;
40275
40760
  /**
40276
40761
  * Gets an event that is raised when the imagery provider encounters an asynchronous error. By subscribing
40277
- * to the event, you will be notified of the error and can potentially recover from it. Event listeners
40278
- * are passed an instance of {@link TileProviderError}.
40762
+ to the event, you will be notified of the error and can potentially recover from it. Event listeners
40763
+ are passed an instance of {@link TileProviderError}.
40279
40764
  */
40280
40765
  readonly errorEvent: Event;
40281
40766
  /**
@@ -40288,15 +40773,15 @@ export class TileCoordinatesImageryProvider {
40288
40773
  readonly readyPromise: Promise<boolean>;
40289
40774
  /**
40290
40775
  * Gets the credit to display when this imagery provider is active. Typically this is used to credit
40291
- * the source of the imagery. This function should not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40776
+ the source of the imagery. This function should not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40292
40777
  */
40293
40778
  readonly credit: Credit;
40294
40779
  /**
40295
40780
  * Gets a value indicating whether or not the images provided by this imagery provider
40296
- * include an alpha channel. If this property is false, an alpha channel, if present, will
40297
- * be ignored. If this property is true, any images without an alpha channel will be treated
40298
- * as if their alpha is 1.0 everywhere. Setting this property to false reduces memory usage
40299
- * and texture upload time.
40781
+ include an alpha channel. If this property is false, an alpha channel, if present, will
40782
+ be ignored. If this property is true, any images without an alpha channel will be treated
40783
+ as if their alpha is 1.0 everywhere. Setting this property to false reduces memory usage
40784
+ and texture upload time.
40300
40785
  */
40301
40786
  readonly hasAlphaChannel: boolean;
40302
40787
  /**
@@ -40309,31 +40794,25 @@ export class TileCoordinatesImageryProvider {
40309
40794
  getTileCredits(x: number, y: number, level: number): Credit[];
40310
40795
  /**
40311
40796
  * Requests the image for a given tile. This function should
40312
- * not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40797
+ not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40313
40798
  * @param x - The tile X coordinate.
40314
40799
  * @param y - The tile Y coordinate.
40315
40800
  * @param level - The tile level.
40316
40801
  * @param [request] - The request object. Intended for internal use only.
40317
- * @returns A promise for the image that will resolve when the image is available, or
40318
- * undefined if there are too many active requests to the server, and the request
40319
- * should be retried later. The resolved image may be either an
40320
- * Image or a Canvas DOM object.
40802
+ * @returns The resolved image as a Canvas DOM object.
40321
40803
  */
40322
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
40804
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLCanvasElement>;
40323
40805
  /**
40324
40806
  * Picking features is not currently supported by this imagery provider, so this function simply returns
40325
- * undefined.
40807
+ undefined.
40326
40808
  * @param x - The tile X coordinate.
40327
40809
  * @param y - The tile Y coordinate.
40328
40810
  * @param level - The tile level.
40329
40811
  * @param longitude - The longitude at which to pick features.
40330
40812
  * @param latitude - The latitude at which to pick features.
40331
- * @returns A promise for the picked features that will resolve when the asynchronous
40332
- * picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo}
40333
- * instances. The array may be empty if no features are found at the given location.
40334
- * It may also be undefined if picking is not supported.
40813
+ * @returns Undefined since picking is not supported.
40335
40814
  */
40336
- pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise<ImageryLayerFeatureInfo[]> | undefined;
40815
+ pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): undefined;
40337
40816
  }
40338
40817
 
40339
40818
  /**
@@ -40962,11 +41441,9 @@ export class UrlTemplateImageryProvider {
40962
41441
  * @param level - The tile level.
40963
41442
  * @param [request] - The request object. Intended for internal use only.
40964
41443
  * @returns A promise for the image that will resolve when the image is available, or
40965
- undefined if there are too many active requests to the server, and the request
40966
- should be retried later. The resolved image may be either an
40967
- Image or a Canvas DOM object.
41444
+ undefined if there are too many active requests to the server, and the request should be retried later.
40968
41445
  */
40969
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
41446
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
40970
41447
  /**
40971
41448
  * Asynchronously determines what features, if any, are located at a given longitude and latitude within
40972
41449
  a tile. This function should not be called before {@link ImageryProvider#ready} returns true.
@@ -41321,11 +41798,9 @@ export class WebMapServiceImageryProvider {
41321
41798
  * @param level - The tile level.
41322
41799
  * @param [request] - The request object. Intended for internal use only.
41323
41800
  * @returns A promise for the image that will resolve when the image is available, or
41324
- undefined if there are too many active requests to the server, and the request
41325
- should be retried later. The resolved image may be either an
41326
- Image or a Canvas DOM object.
41801
+ undefined if there are too many active requests to the server, and the request should be retried later.
41327
41802
  */
41328
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
41803
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
41329
41804
  /**
41330
41805
  * Asynchronously determines what features, if any, are located at a given longitude and latitude within
41331
41806
  a tile. This function should not be called before {@link ImageryProvider#ready} returns true.
@@ -41609,11 +42084,9 @@ export class WebMapTileServiceImageryProvider {
41609
42084
  * @param level - The tile level.
41610
42085
  * @param [request] - The request object. Intended for internal use only.
41611
42086
  * @returns A promise for the image that will resolve when the image is available, or
41612
- undefined if there are too many active requests to the server, and the request
41613
- should be retried later. The resolved image may be either an
41614
- Image or a Canvas DOM object.
42087
+ undefined if there are too many active requests to the server, and the request should be retried later.
41615
42088
  */
41616
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
42089
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
41617
42090
  /**
41618
42091
  * Picking features is not currently supported by this imagery provider, so this function simply returns
41619
42092
  undefined.
@@ -41622,12 +42095,9 @@ export class WebMapTileServiceImageryProvider {
41622
42095
  * @param level - The tile level.
41623
42096
  * @param longitude - The longitude at which to pick features.
41624
42097
  * @param latitude - The latitude at which to pick features.
41625
- * @returns A promise for the picked features that will resolve when the asynchronous
41626
- picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo}
41627
- instances. The array may be empty if no features are found at the given location.
41628
- It may also be undefined if picking is not supported.
42098
+ * @returns Undefined since picking is not supported.
41629
42099
  */
41630
- pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise<ImageryLayerFeatureInfo[]> | undefined;
42100
+ pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): undefined;
41631
42101
  }
41632
42102
 
41633
42103
  /**
@@ -44287,6 +44757,7 @@ declare module "cesium/Source/Core/Color" { import { Color } from 'mars3d-cesium
44287
44757
  declare module "cesium/Source/Core/ColorGeometryInstanceAttribute" { import { ColorGeometryInstanceAttribute } from 'mars3d-cesium'; export default ColorGeometryInstanceAttribute; }
44288
44758
  declare module "cesium/Source/Core/combine" { import { combine } from 'mars3d-cesium'; export default combine; }
44289
44759
  declare module "cesium/Source/Core/CompressedTextureBuffer" { import { CompressedTextureBuffer } from 'mars3d-cesium'; export default CompressedTextureBuffer; }
44760
+ declare module "cesium/Source/Core/ConstantSpline" { import { ConstantSpline } from 'mars3d-cesium'; export default ConstantSpline; }
44290
44761
  declare module "cesium/Source/Core/CoplanarPolygonGeometry" { import { CoplanarPolygonGeometry } from 'mars3d-cesium'; export default CoplanarPolygonGeometry; }
44291
44762
  declare module "cesium/Source/Core/CoplanarPolygonOutlineGeometry" { import { CoplanarPolygonOutlineGeometry } from 'mars3d-cesium'; export default CoplanarPolygonOutlineGeometry; }
44292
44763
  declare module "cesium/Source/Core/CorridorGeometry" { import { CorridorGeometry } from 'mars3d-cesium'; export default CorridorGeometry; }
@@ -44318,6 +44789,7 @@ declare module "cesium/Source/Core/EllipsoidTangentPlane" { import { EllipsoidTa
44318
44789
  declare module "cesium/Source/Core/EllipsoidTerrainProvider" { import { EllipsoidTerrainProvider } from 'mars3d-cesium'; export default EllipsoidTerrainProvider; }
44319
44790
  declare module "cesium/Source/Core/Event" { import { Event } from 'mars3d-cesium'; export default Event; }
44320
44791
  declare module "cesium/Source/Core/EventHelper" { import { EventHelper } from 'mars3d-cesium'; export default EventHelper; }
44792
+ declare module "cesium/Source/Core/ExperimentalFeatures" { import { ExperimentalFeatures } from 'mars3d-cesium'; export default ExperimentalFeatures; }
44321
44793
  declare module "cesium/Source/Core/FeatureDetection" { import { FeatureDetection } from 'mars3d-cesium'; export default FeatureDetection; }
44322
44794
  declare module "cesium/Source/Core/formatError" { import { formatError } from 'mars3d-cesium'; export default formatError; }
44323
44795
  declare module "cesium/Source/Core/FrustumGeometry" { import { FrustumGeometry } from 'mars3d-cesium'; export default FrustumGeometry; }
@@ -44370,6 +44842,7 @@ declare module "cesium/Source/Core/Matrix2" { import { Matrix2 } from 'mars3d-ce
44370
44842
  declare module "cesium/Source/Core/Matrix3" { import { Matrix3 } from 'mars3d-cesium'; export default Matrix3; }
44371
44843
  declare module "cesium/Source/Core/Matrix4" { import { Matrix4 } from 'mars3d-cesium'; export default Matrix4; }
44372
44844
  declare module "cesium/Source/Core/mergeSort" { import { mergeSort } from 'mars3d-cesium'; export default mergeSort; }
44845
+ declare module "cesium/Source/Core/MorphWeightSpline" { import { MorphWeightSpline } from 'mars3d-cesium'; export default MorphWeightSpline; }
44373
44846
  declare module "cesium/Source/Core/NearFarScalar" { import { NearFarScalar } from 'mars3d-cesium'; export default NearFarScalar; }
44374
44847
  declare module "cesium/Source/Core/objectToQuery" { import { objectToQuery } from 'mars3d-cesium'; export default objectToQuery; }
44375
44848
  declare module "cesium/Source/Core/Occluder" { import { Occluder } from 'mars3d-cesium'; export default Occluder; }
@@ -44421,6 +44894,7 @@ declare module "cesium/Source/Core/SphereGeometry" { import { SphereGeometry } f
44421
44894
  declare module "cesium/Source/Core/SphereOutlineGeometry" { import { SphereOutlineGeometry } from 'mars3d-cesium'; export default SphereOutlineGeometry; }
44422
44895
  declare module "cesium/Source/Core/Spherical" { import { Spherical } from 'mars3d-cesium'; export default Spherical; }
44423
44896
  declare module "cesium/Source/Core/Spline" { import { Spline } from 'mars3d-cesium'; export default Spline; }
44897
+ declare module "cesium/Source/Core/SteppedSpline" { import { SteppedSpline } from 'mars3d-cesium'; export default SteppedSpline; }
44424
44898
  declare module "cesium/Source/Core/subdivideArray" { import { subdivideArray } from 'mars3d-cesium'; export default subdivideArray; }
44425
44899
  declare module "cesium/Source/Core/TaskProcessor" { import { TaskProcessor } from 'mars3d-cesium'; export default TaskProcessor; }
44426
44900
  declare module "cesium/Source/Core/TerrainData" { import { TerrainData } from 'mars3d-cesium'; export default TerrainData; }
@@ -44441,7 +44915,6 @@ declare module "cesium/Source/Core/WallGeometry" { import { WallGeometry } from
44441
44915
  declare module "cesium/Source/Core/WallOutlineGeometry" { import { WallOutlineGeometry } from 'mars3d-cesium'; export default WallOutlineGeometry; }
44442
44916
  declare module "cesium/Source/Core/WebMercatorProjection" { import { WebMercatorProjection } from 'mars3d-cesium'; export default WebMercatorProjection; }
44443
44917
  declare module "cesium/Source/Core/WebMercatorTilingScheme" { import { WebMercatorTilingScheme } from 'mars3d-cesium'; export default WebMercatorTilingScheme; }
44444
- declare module "cesium/Source/Core/WeightSpline" { import { WeightSpline } from 'mars3d-cesium'; export default WeightSpline; }
44445
44918
  declare module "cesium/Source/Core/writeTextToCanvas" { import { writeTextToCanvas } from 'mars3d-cesium'; export default writeTextToCanvas; }
44446
44919
  declare module "cesium/Source/DataSources/BillboardGraphics" { import { BillboardGraphics } from 'mars3d-cesium'; export default BillboardGraphics; }
44447
44920
  declare module "cesium/Source/DataSources/BillboardVisualizer" { import { BillboardVisualizer } from 'mars3d-cesium'; export default BillboardVisualizer; }
@@ -44645,6 +45118,8 @@ declare module "cesium/Source/Widgets/SvgPathBindingHandler" { import { SvgPathB
44645
45118
  declare module "cesium/Source/Widgets/ToggleButtonViewModel" { import { ToggleButtonViewModel } from 'mars3d-cesium'; export default ToggleButtonViewModel; }
44646
45119
  declare module "cesium/Source/Scene/ModelExperimental/CustomShader" { import { CustomShader } from 'mars3d-cesium'; export default CustomShader; }
44647
45120
  declare module "cesium/Source/Scene/ModelExperimental/ModelExperimental" { import { ModelExperimental } from 'mars3d-cesium'; export default ModelExperimental; }
45121
+ declare module "cesium/Source/Scene/ModelExperimental/ModelExperimentalAnimation" { import { ModelExperimentalAnimation } from 'mars3d-cesium'; export default ModelExperimentalAnimation; }
45122
+ declare module "cesium/Source/Scene/ModelExperimental/ModelExperimentalAnimationCollection" { import { ModelExperimentalAnimationCollection } from 'mars3d-cesium'; export default ModelExperimentalAnimationCollection; }
44648
45123
  declare module "cesium/Source/Scene/ModelExperimental/ModelFeature" { import { ModelFeature } from 'mars3d-cesium'; export default ModelFeature; }
44649
45124
  declare module "cesium/Source/Scene/ModelExperimental/TextureUniform" { import { TextureUniform } from 'mars3d-cesium'; export default TextureUniform; }
44650
45125
  declare module "cesium/Source/Widgets/Animation/Animation" { import { Animation } from 'mars3d-cesium'; export default Animation; }