mars3d-cesium 1.92.4 → 1.94.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 (123) hide show
  1. package/Build/Cesium/Cesium.d.ts +1372 -888
  2. package/Build/Cesium/Cesium.js +6 -40
  3. package/Build/Cesium/Widgets/Timeline/Timeline.css +1 -1
  4. package/Build/Cesium/Widgets/widgets.css +1 -1
  5. package/Build/Cesium/Workers/AttributeCompression-4c4a8822.js +1 -0
  6. package/Build/Cesium/Workers/AttributeCompression-6e71d14f.js +1 -0
  7. package/Build/Cesium/Workers/AxisAlignedBoundingBox-6808e68a.js +1 -0
  8. package/Build/Cesium/Workers/AxisAlignedBoundingBox-dd1e93db.js +1 -0
  9. package/Build/Cesium/Workers/BoundingRectangle-0c088b10.js +1 -0
  10. package/Build/Cesium/Workers/BoundingRectangle-13e74a41.js +1 -0
  11. package/Build/Cesium/Workers/BoxGeometry-3d4876d9.js +1 -0
  12. package/Build/Cesium/Workers/BoxGeometry-7949613c.js +1 -0
  13. package/Build/Cesium/Workers/Color-12d5ab6e.js +1 -0
  14. package/Build/Cesium/Workers/Color-af5a56ba.js +1 -0
  15. package/Build/Cesium/Workers/ComponentDatatype-07fbb0d4.js +1 -0
  16. package/Build/Cesium/Workers/CoplanarPolygonGeometryLibrary-63ae199f.js +1 -0
  17. package/Build/Cesium/Workers/CoplanarPolygonGeometryLibrary-bc611400.js +1 -0
  18. package/Build/Cesium/Workers/CorridorGeometryLibrary-02577142.js +1 -0
  19. package/Build/Cesium/Workers/CorridorGeometryLibrary-a3fffc69.js +1 -0
  20. package/Build/Cesium/Workers/CylinderGeometry-9ab4b6de.js +1 -0
  21. package/Build/Cesium/Workers/CylinderGeometry-9b5e6460.js +1 -0
  22. package/Build/Cesium/Workers/CylinderGeometryLibrary-3c958a1d.js +1 -0
  23. package/Build/Cesium/Workers/EllipseGeometry-712fea19.js +1 -0
  24. package/Build/Cesium/Workers/EllipseGeometry-7f98d885.js +1 -0
  25. package/Build/Cesium/Workers/EllipseGeometryLibrary-0ff34d76.js +1 -0
  26. package/Build/Cesium/Workers/EllipseGeometryLibrary-70ca3053.js +1 -0
  27. package/Build/Cesium/Workers/EllipseOutlineGeometry-a5a2b688.js +1 -0
  28. package/Build/Cesium/Workers/EllipseOutlineGeometry-abf90a31.js +1 -0
  29. package/Build/Cesium/Workers/EllipsoidGeodesic-1ab9765d.js +1 -0
  30. package/Build/Cesium/Workers/EllipsoidGeodesic-f4459924.js +1 -0
  31. package/Build/Cesium/Workers/EllipsoidGeometry-591d0b9b.js +1 -0
  32. package/Build/Cesium/Workers/EllipsoidGeometry-699fe483.js +1 -0
  33. package/Build/Cesium/Workers/EllipsoidOutlineGeometry-08ca8d96.js +1 -0
  34. package/Build/Cesium/Workers/EllipsoidOutlineGeometry-650c7702.js +1 -0
  35. package/Build/Cesium/Workers/EllipsoidRhumbLine-001b8738.js +1 -0
  36. package/Build/Cesium/Workers/EllipsoidRhumbLine-94e77fa4.js +1 -0
  37. package/Build/Cesium/Workers/EllipsoidTangentPlane-1cf39c37.js +1 -0
  38. package/Build/Cesium/Workers/EllipsoidTangentPlane-1cf43e5d.js +1 -0
  39. package/Build/Cesium/Workers/EncodedCartesian3-20914bf5.js +1 -0
  40. package/Build/Cesium/Workers/EncodedCartesian3-8da855cc.js +1 -0
  41. package/Build/Cesium/Workers/FrustumGeometry-1ce1d73a.js +1 -0
  42. package/Build/Cesium/Workers/FrustumGeometry-9856383f.js +1 -0
  43. package/Build/Cesium/Workers/GeometryAttribute-7a46074b.js +1 -0
  44. package/Build/Cesium/Workers/GeometryAttribute-d50ea0de.js +1 -0
  45. package/Build/Cesium/Workers/GeometryInstance-19ac39d5.js +1 -0
  46. package/Build/Cesium/Workers/GeometryInstance-5555f2e4.js +1 -0
  47. package/Build/Cesium/Workers/GeometryPipeline-20b6a6da.js +1 -0
  48. package/Build/Cesium/Workers/GeometryPipeline-57ae8a09.js +1 -0
  49. package/Build/Cesium/Workers/IndexDatatype-0b020dfb.js +1 -0
  50. package/Build/Cesium/Workers/IntersectionTests-4547e13f.js +1 -0
  51. package/Build/Cesium/Workers/IntersectionTests-93a038e3.js +1 -0
  52. package/Build/Cesium/Workers/Matrix2-1ba2543c.js +1 -0
  53. package/Build/Cesium/Workers/Matrix2-e6265fb0.js +1 -0
  54. package/Build/Cesium/Workers/OrientedBoundingBox-06b4fccc.js +1 -0
  55. package/Build/Cesium/Workers/OrientedBoundingBox-966209b7.js +1 -0
  56. package/Build/Cesium/Workers/Plane-042297c7.js +1 -0
  57. package/Build/Cesium/Workers/Plane-faef0199.js +1 -0
  58. package/Build/Cesium/Workers/PolygonGeometryLibrary-2a7b65e7.js +1 -0
  59. package/Build/Cesium/Workers/PolygonGeometryLibrary-6c1ecc39.js +1 -0
  60. package/Build/Cesium/Workers/PolygonPipeline-968b19bd.js +1 -0
  61. package/Build/Cesium/Workers/PolygonPipeline-a182ab3c.js +1 -0
  62. package/Build/Cesium/Workers/PolylinePipeline-4f5c4291.js +1 -0
  63. package/Build/Cesium/Workers/PolylinePipeline-9b252c2a.js +1 -0
  64. package/Build/Cesium/Workers/PolylineVolumeGeometryLibrary-62034f07.js +1 -0
  65. package/Build/Cesium/Workers/PolylineVolumeGeometryLibrary-e9dd8941.js +1 -0
  66. package/Build/Cesium/Workers/PrimitivePipeline-7f75b0aa.js +1 -0
  67. package/Build/Cesium/Workers/PrimitivePipeline-8cf7c60b.js +1 -0
  68. package/Build/Cesium/Workers/RectangleGeometryLibrary-12a48ca5.js +1 -0
  69. package/Build/Cesium/Workers/RectangleGeometryLibrary-18de78ad.js +1 -0
  70. package/Build/Cesium/Workers/TerrainEncoding-365ddcc9.js +1 -0
  71. package/Build/Cesium/Workers/TerrainEncoding-aa1bedce.js +1 -0
  72. package/Build/Cesium/Workers/Transforms-c84edde7.js +39 -0
  73. package/Build/Cesium/Workers/Transforms-fdc0a95d.js +39 -0
  74. package/Build/Cesium/Workers/WallGeometryLibrary-55f64681.js +1 -0
  75. package/Build/Cesium/Workers/WallGeometryLibrary-ff159f75.js +1 -0
  76. package/Build/Cesium/Workers/WebMercatorProjection-50f5da31.js +1 -0
  77. package/Build/Cesium/Workers/WebMercatorProjection-7e95daf8.js +1 -0
  78. package/Build/Cesium/Workers/arrayRemoveDuplicates-7d5d09a3.js +1 -0
  79. package/Build/Cesium/Workers/combineGeometry.js +1 -1
  80. package/Build/Cesium/Workers/createBoxGeometry.js +1 -1
  81. package/Build/Cesium/Workers/createBoxOutlineGeometry.js +1 -1
  82. package/Build/Cesium/Workers/createCircleGeometry.js +1 -1
  83. package/Build/Cesium/Workers/createCircleOutlineGeometry.js +1 -1
  84. package/Build/Cesium/Workers/createCoplanarPolygonGeometry.js +1 -1
  85. package/Build/Cesium/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
  86. package/Build/Cesium/Workers/createCorridorGeometry.js +1 -1
  87. package/Build/Cesium/Workers/createCorridorOutlineGeometry.js +1 -1
  88. package/Build/Cesium/Workers/createCylinderGeometry.js +1 -1
  89. package/Build/Cesium/Workers/createCylinderOutlineGeometry.js +1 -1
  90. package/Build/Cesium/Workers/createEllipseGeometry.js +1 -1
  91. package/Build/Cesium/Workers/createEllipseOutlineGeometry.js +1 -1
  92. package/Build/Cesium/Workers/createEllipsoidGeometry.js +1 -1
  93. package/Build/Cesium/Workers/createEllipsoidOutlineGeometry.js +1 -1
  94. package/Build/Cesium/Workers/createFrustumGeometry.js +1 -1
  95. package/Build/Cesium/Workers/createFrustumOutlineGeometry.js +1 -1
  96. package/Build/Cesium/Workers/createGeometry.js +1 -1
  97. package/Build/Cesium/Workers/createGroundPolylineGeometry.js +1 -1
  98. package/Build/Cesium/Workers/createPlaneGeometry.js +1 -1
  99. package/Build/Cesium/Workers/createPlaneOutlineGeometry.js +1 -1
  100. package/Build/Cesium/Workers/createPolygonGeometry.js +1 -1
  101. package/Build/Cesium/Workers/createPolygonOutlineGeometry.js +1 -1
  102. package/Build/Cesium/Workers/createPolylineGeometry.js +1 -1
  103. package/Build/Cesium/Workers/createPolylineVolumeGeometry.js +1 -1
  104. package/Build/Cesium/Workers/createPolylineVolumeOutlineGeometry.js +1 -1
  105. package/Build/Cesium/Workers/createRectangleGeometry.js +1 -1
  106. package/Build/Cesium/Workers/createRectangleOutlineGeometry.js +1 -1
  107. package/Build/Cesium/Workers/createSimplePolylineGeometry.js +1 -1
  108. package/Build/Cesium/Workers/createSphereGeometry.js +1 -1
  109. package/Build/Cesium/Workers/createSphereOutlineGeometry.js +1 -1
  110. package/Build/Cesium/Workers/createVectorTileClampedPolylines.js +1 -1
  111. package/Build/Cesium/Workers/createVectorTileGeometries.js +1 -1
  112. package/Build/Cesium/Workers/createVectorTilePoints.js +1 -1
  113. package/Build/Cesium/Workers/createVectorTilePolygons.js +1 -1
  114. package/Build/Cesium/Workers/createVectorTilePolylines.js +1 -1
  115. package/Build/Cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
  116. package/Build/Cesium/Workers/createVerticesFromHeightmap.js +1 -1
  117. package/Build/Cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +1 -1
  118. package/Build/Cesium/Workers/createWallGeometry.js +1 -1
  119. package/Build/Cesium/Workers/createWallOutlineGeometry.js +1 -1
  120. package/Build/Cesium/Workers/decodeDraco.js +1 -1
  121. package/Build/Cesium/Workers/upsampleQuantizedTerrainMesh.js +1 -1
  122. package/LICENSE.md +26 -84
  123. package/package.json +5 -4
@@ -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
@@ -4539,6 +4576,7 @@ export class CompressedTextureBuffer {
4539
4576
  * @param [options.stRotation = 0.0] - The rotation of the texture coordinates, in radians. A positive rotation is counter-clockwise.
4540
4577
  * @param [options.vertexFormat = VertexFormat.DEFAULT] - The vertex attributes to be computed.
4541
4578
  * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid to be used as a reference.
4579
+ * @param [options.textureCoordinates] - Texture coordinates as a {@link PolygonHierarchy} of {@link Cartesian2} points.
4542
4580
  */
4543
4581
  export class CoplanarPolygonGeometry {
4544
4582
  constructor(options: {
@@ -4546,6 +4584,7 @@ export class CoplanarPolygonGeometry {
4546
4584
  stRotation?: number;
4547
4585
  vertexFormat?: VertexFormat;
4548
4586
  ellipsoid?: Ellipsoid;
4587
+ textureCoordinates?: PolygonHierarchy;
4549
4588
  });
4550
4589
  /**
4551
4590
  * The number of elements used to pack the object into an array.
@@ -4570,12 +4609,14 @@ export class CoplanarPolygonGeometry {
4570
4609
  * @param [options.vertexFormat = VertexFormat.DEFAULT] - The vertex attributes to be computed.
4571
4610
  * @param [options.stRotation = 0.0] - The rotation of the texture coordinates, in radians. A positive rotation is counter-clockwise.
4572
4611
  * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid to be used as a reference.
4612
+ * @param [options.textureCoordinates] - Texture coordinates as a {@link PolygonHierarchy} of {@link Cartesian2} points.
4573
4613
  */
4574
4614
  static fromPositions(options: {
4575
4615
  positions: Cartesian3[];
4576
4616
  vertexFormat?: VertexFormat;
4577
4617
  stRotation?: number;
4578
4618
  ellipsoid?: Ellipsoid;
4619
+ textureCoordinates?: PolygonHierarchy;
4579
4620
  }): CoplanarPolygonGeometry;
4580
4621
  /**
4581
4622
  * Stores the provided instance into the provided array.
@@ -6337,9 +6378,9 @@ export class EllipsoidTerrainProvider {
6337
6378
  * @param x - The X coordinate of the tile for which to request geometry.
6338
6379
  * @param y - The Y coordinate of the tile for which to request geometry.
6339
6380
  * @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
6381
+ * @returns This provider does not support loading availability.
6341
6382
  */
6342
- loadTileDataAvailability(x: number, y: number, level: number): undefined | Promise<void>;
6383
+ loadTileDataAvailability(x: number, y: number, level: number): undefined;
6343
6384
  }
6344
6385
 
6345
6386
  /**
@@ -6358,7 +6399,7 @@ evt.addEventListener(MyObject.prototype.myListener, myObjectInstance);
6358
6399
  evt.raiseEvent('1', '2');
6359
6400
  evt.removeEventListener(MyObject.prototype.myListener);
6360
6401
  */
6361
- export class Event {
6402
+ export class Event<Listener extends (...args: any[]) => void = (...args: any[]) => void> {
6362
6403
  constructor();
6363
6404
  /**
6364
6405
  * The number of listeners currently subscribed to the event.
@@ -6373,19 +6414,19 @@ export class Event {
6373
6414
  pointer in which the listener function will execute.
6374
6415
  * @returns A function that will remove this event listener when invoked.
6375
6416
  */
6376
- addEventListener(listener: (...params: any[]) => any, scope?: any): Event.RemoveCallback;
6417
+ addEventListener(listener: Listener, scope?: any): Event.RemoveCallback;
6377
6418
  /**
6378
6419
  * Unregisters a previously registered callback.
6379
6420
  * @param listener - The function to be unregistered.
6380
6421
  * @param [scope] - The scope that was originally passed to addEventListener.
6381
6422
  * @returns <code>true</code> if the listener was removed; <code>false</code> if the listener and scope are not registered with the event.
6382
6423
  */
6383
- removeEventListener(listener: (...params: any[]) => any, scope?: any): boolean;
6424
+ removeEventListener(listener: Listener, scope?: any): boolean;
6384
6425
  /**
6385
6426
  * Raises the event by calling each registered listener with all supplied arguments.
6386
6427
  * @param arguments - This method takes any number of parameters and passes them through to the listener functions.
6387
6428
  */
6388
- raiseEvent(...arguments: any[]): void;
6429
+ raiseEvent(...arguments: Parameters<Listener>[]): void;
6389
6430
  }
6390
6431
 
6391
6432
  export namespace Event {
@@ -6447,7 +6488,12 @@ are some guidelines:
6447
6488
  <li>To avoid cluttering the code, check the flag in as few places as possible. Ideally this would be a single place.</li>
6448
6489
  </ul>
6449
6490
  */
6450
- export const ExperimentalFeatures: any;
6491
+ export namespace ExperimentalFeatures {
6492
+ /**
6493
+ * Toggles the usage of the ModelExperimental class.
6494
+ */
6495
+ var enableModelExperimental: boolean;
6496
+ }
6451
6497
 
6452
6498
  /**
6453
6499
  * Constants to determine how an interpolated value is extrapolated
@@ -7717,9 +7763,8 @@ export class GoogleEarthEnterpriseTerrainProvider {
7717
7763
  * @param x - The X coordinate of the tile for which to request geometry.
7718
7764
  * @param y - The Y coordinate of the tile for which to request geometry.
7719
7765
  * @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
7766
  */
7722
- loadTileDataAvailability(x: number, y: number, level: number): undefined | Promise<void>;
7767
+ loadTileDataAvailability(x: number, y: number, level: number): undefined;
7723
7768
  }
7724
7769
 
7725
7770
  /**
@@ -8091,8 +8136,7 @@ export class HeightmapTerrainData {
8091
8136
  * @param descendantY - The Y coordinate within the tiling scheme of the descendant tile for which we are upsampling.
8092
8137
  * @param descendantLevel - The level within the tiling scheme of the descendant tile for which we are upsampling.
8093
8138
  * @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.
8139
+ or undefined if the mesh is unavailable.
8096
8140
  */
8097
8141
  upsample(tilingScheme: TilingScheme, thisX: number, thisY: number, thisLevel: number, descendantX: number, descendantY: number, descendantLevel: number): Promise<HeightmapTerrainData> | undefined;
8098
8142
  /**
@@ -8194,9 +8238,9 @@ const p0 = spline.evaluate(times[0]);
8194
8238
  * @param options - Object with the following properties:
8195
8239
  * @param options.times - An array of strictly increasing, unit-less, floating-point times at each point.
8196
8240
  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.
8241
+ * @param options.points - The array of control points.
8242
+ * @param options.inTangents - The array of incoming tangents at each control point.
8243
+ * @param options.outTangents - The array of outgoing tangents at each control point.
8200
8244
  */
8201
8245
  export class HermiteSpline {
8202
8246
  constructor(options: {
@@ -8210,15 +8254,15 @@ export class HermiteSpline {
8210
8254
  */
8211
8255
  readonly times: number[];
8212
8256
  /**
8213
- * An array of {@link Cartesian3} control points.
8257
+ * An array of control points.
8214
8258
  */
8215
8259
  readonly points: Cartesian3[];
8216
8260
  /**
8217
- * An array of {@link Cartesian3} incoming tangents at each control point.
8261
+ * An array of incoming tangents at each control point.
8218
8262
  */
8219
8263
  readonly inTangents: Cartesian3[];
8220
8264
  /**
8221
- * An array of {@link Cartesian3} outgoing tangents at each control point.
8265
+ * An array of outgoing tangents at each control point.
8222
8266
  */
8223
8267
  readonly outTangents: Cartesian3[];
8224
8268
  /**
@@ -8276,7 +8320,7 @@ export class HermiteSpline {
8276
8320
  * @param options - Object with the following properties:
8277
8321
  * @param options.times - The array of control point times.
8278
8322
  * @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.
8323
+ * @returns A hermite spline, or a linear spline if less than 3 control points were given.
8280
8324
  */
8281
8325
  static createNaturalCubic(options: {
8282
8326
  times: number[];
@@ -8304,11 +8348,11 @@ export class HermiteSpline {
8304
8348
  * @param options.points - The array of control points.
8305
8349
  * @param options.firstTangent - The outgoing tangent of the first control point.
8306
8350
  * @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.
8351
+ * @returns A hermite spline, or a linear spline if less than 3 control points were given.
8308
8352
  */
8309
8353
  static createClampedCubic(options: {
8310
8354
  times: number[];
8311
- points: Cartesian3[];
8355
+ points: number[] | Cartesian3[];
8312
8356
  firstTangent: Cartesian3;
8313
8357
  lastTangent: Cartesian3;
8314
8358
  }): HermiteSpline | LinearSpline;
@@ -8751,7 +8795,7 @@ export class IonResource extends Resource {
8751
8795
  preferImageBitmap?: boolean;
8752
8796
  flipY?: boolean;
8753
8797
  skipColorSpaceConversion?: boolean;
8754
- }): Promise<ImageBitmap> | Promise<HTMLImageElement> | undefined;
8798
+ }): Promise<ImageBitmap | HTMLImageElement> | undefined;
8755
8799
  }
8756
8800
 
8757
8801
  /**
@@ -8781,7 +8825,7 @@ export namespace Iso8601 {
8781
8825
  * A {@link TimeInterval} representing the largest interval representable by an ISO8601 interval.
8782
8826
  This is equivalent to the interval string '0000-01-01T00:00:00Z/9999-12-31T24:00:00Z'
8783
8827
  */
8784
- const MAXIMUM_INTERVAL: JulianDate;
8828
+ const MAXIMUM_INTERVAL: TimeInterval;
8785
8829
  }
8786
8830
 
8787
8831
  /**
@@ -9117,12 +9161,12 @@ const p0 = spline.evaluate(times[0]);
9117
9161
  * @param options - Object with the following properties:
9118
9162
  * @param options.times - An array of strictly increasing, unit-less, floating-point times at each point.
9119
9163
  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.
9164
+ * @param options.points - The array of control points.
9121
9165
  */
9122
9166
  export class LinearSpline {
9123
9167
  constructor(options: {
9124
9168
  times: number[];
9125
- points: Cartesian3[];
9169
+ points: number[] | Cartesian3[];
9126
9170
  });
9127
9171
  /**
9128
9172
  * An array of times for the control points.
@@ -9131,7 +9175,7 @@ export class LinearSpline {
9131
9175
  /**
9132
9176
  * An array of {@link Cartesian3} control points.
9133
9177
  */
9134
- readonly points: Cartesian3[];
9178
+ readonly points: number[] | Cartesian3[];
9135
9179
  /**
9136
9180
  * Finds an index <code>i</code> in <code>times</code> such that the parameter
9137
9181
  <code>time</code> is in the interval <code>[times[i], times[i + 1]]</code>.
@@ -9157,7 +9201,7 @@ export class LinearSpline {
9157
9201
  * @param [result] - The object onto which to store the result.
9158
9202
  * @returns The modified result parameter or a new instance of the point on the curve at the given time.
9159
9203
  */
9160
- evaluate(time: number, result?: Cartesian3): Cartesian3;
9204
+ evaluate(time: number, result?: Cartesian3): number | Cartesian3;
9161
9205
  }
9162
9206
 
9163
9207
  /**
@@ -9758,8 +9802,12 @@ export class Matrix2 implements ArrayLike<number> {
9758
9802
  // Create same Matrix2 with using an offset into an array
9759
9803
  const v2 = [0.0, 0.0, 1.0, 1.0, 2.0, 2.0];
9760
9804
  const m2 = Cesium.Matrix2.fromArray(v2, 2);
9805
+ * @param array - The array whose 4 consecutive elements correspond to the positions of the matrix. Assumes column-major order.
9806
+ * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to first column first row position in the matrix.
9807
+ * @param [result] - The object onto which to store the result.
9808
+ * @returns The modified result parameter or a new Matrix2 instance if one was not provided.
9761
9809
  */
9762
- static fromArray: any;
9810
+ static fromArray(array: number[], startingIndex?: number, result?: Matrix2): Matrix2;
9763
9811
  /**
9764
9812
  * Creates a Matrix2 instance from a column-major order array.
9765
9813
  * @param values - The column-major order array.
@@ -10156,8 +10204,12 @@ export class Matrix3 implements ArrayLike<number> {
10156
10204
  // Create same Matrix3 with using an offset into an array
10157
10205
  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
10206
  const m2 = Cesium.Matrix3.fromArray(v2, 2);
10207
+ * @param array - The array whose 9 consecutive elements correspond to the positions of the matrix. Assumes column-major order.
10208
+ * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to first column first row position in the matrix.
10209
+ * @param [result] - The object onto which to store the result.
10210
+ * @returns The modified result parameter or a new Matrix3 instance if one was not provided.
10159
10211
  */
10160
- static fromArray: any;
10212
+ static fromArray(array: number[], startingIndex?: number, result?: Matrix3): Matrix3;
10161
10213
  /**
10162
10214
  * Creates a Matrix3 instance from a column-major order array.
10163
10215
  * @param values - The column-major order array.
@@ -11474,6 +11526,58 @@ export function mergeSort(array: any[], comparator: mergeSortComparator, userDef
11474
11526
  */
11475
11527
  export type mergeSortComparator = (a: any, b: any, userDefinedObject?: any) => number;
11476
11528
 
11529
+ /**
11530
+ * A spline that linearly interpolates over an array of weight values used by morph targets.
11531
+ * @example
11532
+ * const times = [ 0.0, 1.5, 3.0, 4.5, 6.0 ];
11533
+ const weights = [0.0, 1.0, 0.25, 0.75, 0.5, 0.5, 0.75, 0.25, 1.0, 0.0]; //Two targets
11534
+ const spline = new Cesium.WeightSpline({
11535
+ times : times,
11536
+ weights : weights
11537
+ });
11538
+
11539
+ const p0 = spline.evaluate(times[0]);
11540
+ * @param options - Object with the following properties:
11541
+ * @param options.times - An array of strictly increasing, unit-less, floating-point times at each point.
11542
+ The values are in no way connected to the clock time. They are the parameterization for the curve.
11543
+ * @param options.weights - The array of floating-point control weights given. The weights are ordered such
11544
+ that all weights for the targets are given in chronological order and order in which they appear in
11545
+ 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) ...]
11546
+ where i and j in w(i,j) are the time indices and target indices, respectively.
11547
+ */
11548
+ export class MorphWeightSpline {
11549
+ constructor(options: {
11550
+ times: number[];
11551
+ weights: number[];
11552
+ });
11553
+ /**
11554
+ * Finds an index <code>i</code> in <code>times</code> such that the parameter
11555
+ <code>time</code> is in the interval <code>[times[i], times[i + 1]]</code>.
11556
+ * @param time - The time.
11557
+ * @returns The index for the element at the start of the interval.
11558
+ */
11559
+ findTimeInterval(time: number): number;
11560
+ /**
11561
+ * Wraps the given time to the period covered by the spline.
11562
+ * @param time - The time.
11563
+ * @returns The time, wrapped around to the updated animation.
11564
+ */
11565
+ wrapTime(time: number): number;
11566
+ /**
11567
+ * Clamps the given time to the period covered by the spline.
11568
+ * @param time - The time.
11569
+ * @returns The time, clamped to the animation period.
11570
+ */
11571
+ clampTime(time: number): number;
11572
+ /**
11573
+ * Evaluates the curve at a given time.
11574
+ * @param time - The time at which to evaluate the curve.
11575
+ * @param [result] - The object onto which to store the result.
11576
+ * @returns The modified result parameter or a new instance of the point on the curve at the given time.
11577
+ */
11578
+ evaluate(time: number, result?: number[]): number[];
11579
+ }
11580
+
11477
11581
  /**
11478
11582
  * Represents a scalar value's lower and upper bound at a near distance and far distance in eye space.
11479
11583
  * @param [near = 0.0] - The lower bound of the camera range.
@@ -12910,6 +13014,7 @@ const geometry = Cesium.PolygonGeometry.createGeometry(extrudedPolygon);
12910
13014
  * @param [options.closeTop = true] - When false, leaves off the top of an extruded polygon open.
12911
13015
  * @param [options.closeBottom = true] - When false, leaves off the bottom of an extruded polygon open.
12912
13016
  * @param [options.arcType = ArcType.GEODESIC] - The type of line the polygon edges must follow. Valid options are {@link ArcType.GEODESIC} and {@link ArcType.RHUMB}.
13017
+ * @param [options.textureCoordinates] - Texture coordinates as a {@link PolygonHierarchy} of {@link Cartesian2} points. Has no effect for ground primitives.
12913
13018
  */
12914
13019
  export class PolygonGeometry {
12915
13020
  constructor(options: {
@@ -12924,6 +13029,7 @@ export class PolygonGeometry {
12924
13029
  closeTop?: boolean;
12925
13030
  closeBottom?: boolean;
12926
13031
  arcType?: ArcType;
13032
+ textureCoordinates?: PolygonHierarchy;
12927
13033
  });
12928
13034
  /**
12929
13035
  * The number of elements used to pack the object into an array.
@@ -12955,6 +13061,7 @@ export class PolygonGeometry {
12955
13061
  * @param [options.closeTop = true] - When false, leaves off the top of an extruded polygon open.
12956
13062
  * @param [options.closeBottom = true] - When false, leaves off the bottom of an extruded polygon open.
12957
13063
  * @param [options.arcType = ArcType.GEODESIC] - The type of line the polygon edges must follow. Valid options are {@link ArcType.GEODESIC} and {@link ArcType.RHUMB}.
13064
+ * @param [options.textureCoordinates] - Texture coordinates as a {@link PolygonHierarchy} of {@link Cartesian2} points. Has no effect for ground primitives.
12958
13065
  */
12959
13066
  static fromPositions(options: {
12960
13067
  positions: Cartesian3[];
@@ -12968,6 +13075,7 @@ export class PolygonGeometry {
12968
13075
  closeTop?: boolean;
12969
13076
  closeBottom?: boolean;
12970
13077
  arcType?: ArcType;
13078
+ textureCoordinates?: PolygonHierarchy;
12971
13079
  }): PolygonGeometry;
12972
13080
  /**
12973
13081
  * Stores the provided instance into the provided array.
@@ -14746,6 +14854,36 @@ export enum RequestType {
14746
14854
  OTHER = 3
14747
14855
  }
14748
14856
 
14857
+ export namespace Resource {
14858
+ /**
14859
+ * Initialization options for the Resource constructor
14860
+ * @property url - The url of the resource.
14861
+ * @property [queryParameters] - An object containing query parameters that will be sent when retrieving the resource.
14862
+ * @property [templateValues] - Key/Value pairs that are used to replace template values (eg. {x}).
14863
+ * @property [headers = {}] - Additional HTTP headers that will be sent.
14864
+ * @property [proxy] - A proxy to be used when loading the resource.
14865
+ * @property [retryCallback] - The Function to call when a request for this resource fails. If it returns true, the request will be retried.
14866
+ * @property [retryAttempts = 0] - The number of times the retryCallback should be called before giving up.
14867
+ * @property [request] - A Request object that will be used. Intended for internal use only.
14868
+ */
14869
+ type ConstructorOptions = {
14870
+ url: string;
14871
+ queryParameters?: any;
14872
+ templateValues?: any;
14873
+ headers?: any;
14874
+ proxy?: Proxy;
14875
+ retryCallback?: Resource.RetryCallback;
14876
+ retryAttempts?: number;
14877
+ request?: Request;
14878
+ };
14879
+ /**
14880
+ * A function that returns the value of the property.
14881
+ * @param [resource] - The resource that failed to load.
14882
+ * @param [error] - The error that occurred during the loading of the resource.
14883
+ */
14884
+ type RetryCallback = (resource?: Resource, error?: Error) => boolean | Promise<boolean>;
14885
+ }
14886
+
14749
14887
  /**
14750
14888
  * 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
14889
  * @example
@@ -14777,27 +14915,10 @@ const resource = new Resource({
14777
14915
  retryCallback: refreshTokenRetryCallback,
14778
14916
  retryAttempts: 1
14779
14917
  });
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.
14918
+ * @param options - A url or an object describing initialization options
14789
14919
  */
14790
14920
  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
- });
14921
+ constructor(options: string | Resource.ConstructorOptions);
14801
14922
  /**
14802
14923
  * Additional HTTP headers that will be sent with the request.
14803
14924
  */
@@ -15032,7 +15153,7 @@ export class Resource {
15032
15153
  preferImageBitmap?: boolean;
15033
15154
  flipY?: boolean;
15034
15155
  skipColorSpaceConversion?: boolean;
15035
- }): Promise<ImageBitmap> | Promise<HTMLImageElement> | undefined;
15156
+ }): Promise<ImageBitmap | HTMLImageElement> | undefined;
15036
15157
  /**
15037
15158
  * Creates a Resource and calls fetchImage() on it.
15038
15159
  * @param options - A url or an object with the following properties
@@ -15063,7 +15184,7 @@ export class Resource {
15063
15184
  preferBlob?: boolean;
15064
15185
  preferImageBitmap?: boolean;
15065
15186
  skipColorSpaceConversion?: boolean;
15066
- }): Promise<ImageBitmap> | Promise<HTMLImageElement> | undefined;
15187
+ }): Promise<ImageBitmap | HTMLImageElement> | undefined;
15067
15188
  /**
15068
15189
  * Asynchronously loads the given resource as text. Returns a promise that will resolve to
15069
15190
  a String once loaded, or reject if the resource failed to load. The data is loaded
@@ -15595,15 +15716,6 @@ export class Resource {
15595
15716
  static readonly DEFAULT: Resource;
15596
15717
  }
15597
15718
 
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
15719
  /**
15608
15720
  * Constructs an exception object that is thrown due to an error that can occur at runtime, e.g.,
15609
15721
  out of memory, could not compile shader, etc. If a function may throw this
@@ -15683,6 +15795,58 @@ Promise.resolve(promise).then(function(updatedPositions) {
15683
15795
  */
15684
15796
  export function sampleTerrainMostDetailed(terrainProvider: TerrainProvider, positions: Cartographic[]): Promise<Cartographic[]>;
15685
15797
 
15798
+ export namespace ScreenSpaceEventHandler {
15799
+ /**
15800
+ * An Event that occurs at a single position on screen.
15801
+ */
15802
+ type PositionedEvent = {
15803
+ position: Cartesian2;
15804
+ };
15805
+ /**
15806
+ * @param event - The event which triggered the listener
15807
+ */
15808
+ type PositionedEventCallback = (event: ScreenSpaceEventHandler.PositionedEvent) => void;
15809
+ /**
15810
+ * An Event that starts at one position and ends at another.
15811
+ */
15812
+ type MotionEvent = {
15813
+ startPosition: Cartesian2;
15814
+ endPosition: Cartesian2;
15815
+ };
15816
+ /**
15817
+ * @param event - The event which triggered the listener
15818
+ */
15819
+ type MotionEventCallback = (event: ScreenSpaceEventHandler.MotionEvent) => void;
15820
+ /**
15821
+ * An Event that occurs at a two positions on screen.
15822
+ */
15823
+ type TwoPointEvent = {
15824
+ position1: Cartesian2;
15825
+ position2: Cartesian2;
15826
+ };
15827
+ /**
15828
+ * @param event - The event which triggered the listener
15829
+ */
15830
+ type TwoPointEventCallback = (event: ScreenSpaceEventHandler.TwoPointEvent) => void;
15831
+ /**
15832
+ * An Event that starts at a two positions on screen and moves to two other positions.
15833
+ */
15834
+ type TwoPointMotionEvent = {
15835
+ position1: Cartesian2;
15836
+ position2: Cartesian2;
15837
+ previousPosition1: Cartesian2;
15838
+ previousPosition2: Cartesian2;
15839
+ };
15840
+ /**
15841
+ * @param event - The event which triggered the listener
15842
+ */
15843
+ type TwoPointMotionEventCallback = (event: ScreenSpaceEventHandler.TwoPointMotionEvent) => void;
15844
+ /**
15845
+ * @param delta - The amount that the mouse wheel moved
15846
+ */
15847
+ type WheelEventCallback = (delta: number) => void;
15848
+ }
15849
+
15686
15850
  /**
15687
15851
  * Handles user input events. Custom functions can be added to be executed on
15688
15852
  when the user enters input.
@@ -15697,7 +15861,7 @@ export class ScreenSpaceEventHandler {
15697
15861
  * @param [modifier] - A KeyboardEventModifier key that is held when a <code>type</code>
15698
15862
  event occurs.
15699
15863
  */
15700
- setInputAction(action: (...params: any[]) => any, type: number, modifier?: number): void;
15864
+ setInputAction(action: ScreenSpaceEventHandler.PositionedEventCallback | ScreenSpaceEventHandler.MotionEventCallback | ScreenSpaceEventHandler.WheelEventCallback | ScreenSpaceEventHandler.TwoPointEventCallback | ScreenSpaceEventHandler.TwoPointMotionEventCallback, type: ScreenSpaceEventType, modifier?: KeyboardEventModifier): void;
15701
15865
  /**
15702
15866
  * Returns the function to be executed on an input event.
15703
15867
  * @param type - The ScreenSpaceEventType of input event.
@@ -15705,14 +15869,14 @@ export class ScreenSpaceEventHandler {
15705
15869
  event occurs.
15706
15870
  * @returns The function to be executed on an input event.
15707
15871
  */
15708
- getInputAction(type: number, modifier?: number): (...params: any[]) => any;
15872
+ getInputAction(type: ScreenSpaceEventType, modifier?: KeyboardEventModifier): ScreenSpaceEventHandler.PositionedEventCallback | ScreenSpaceEventHandler.MotionEventCallback | ScreenSpaceEventHandler.WheelEventCallback | ScreenSpaceEventHandler.TwoPointEventCallback | ScreenSpaceEventHandler.TwoPointMotionEventCallback;
15709
15873
  /**
15710
15874
  * Removes the function to be executed on an input event.
15711
15875
  * @param type - The ScreenSpaceEventType of input event.
15712
15876
  * @param [modifier] - A KeyboardEventModifier key that is held when a <code>type</code>
15713
15877
  event occurs.
15714
15878
  */
15715
- removeInputAction(type: number, modifier?: number): void;
15879
+ removeInputAction(type: ScreenSpaceEventType, modifier?: KeyboardEventModifier): void;
15716
15880
  /**
15717
15881
  * Returns true if this object was destroyed; otherwise, false.
15718
15882
  <br /><br />
@@ -16163,6 +16327,68 @@ export class Spline {
16163
16327
  clampTime(time: number): number;
16164
16328
  }
16165
16329
 
16330
+ /**
16331
+ * A spline that is composed of piecewise constants representing a step function.
16332
+ * @example
16333
+ * const times = [ 0.0, 1.5, 3.0, 4.5, 6.0 ];
16334
+ const spline = new Cesium.SteppedSpline({
16335
+ times : times,
16336
+ points : [
16337
+ new Cesium.Cartesian3(1235398.0, -4810983.0, 4146266.0),
16338
+ new Cesium.Cartesian3(1372574.0, -5345182.0, 4606657.0),
16339
+ new Cesium.Cartesian3(-757983.0, -5542796.0, 4514323.0),
16340
+ new Cesium.Cartesian3(-2821260.0, -5248423.0, 4021290.0),
16341
+ new Cesium.Cartesian3(-2539788.0, -4724797.0, 3620093.0)
16342
+ ]
16343
+ });
16344
+
16345
+ const p0 = spline.evaluate(times[0]);
16346
+ * @param options - Object with the following properties:
16347
+ * @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.
16348
+ * @param options.points - The array of control points.
16349
+ */
16350
+ export class SteppedSpline {
16351
+ constructor(options: {
16352
+ times: number[];
16353
+ points: number[] | Cartesian3[] | Quaternion[];
16354
+ });
16355
+ /**
16356
+ * An array of times for the control points.
16357
+ */
16358
+ readonly times: number[];
16359
+ /**
16360
+ * An array of control points.
16361
+ */
16362
+ readonly points: number[] | Cartesian3[] | Quaternion[];
16363
+ /**
16364
+ * Finds an index <code>i</code> in <code>times</code> such that the parameter
16365
+ <code>time</code> is in the interval <code>[times[i], times[i + 1]]</code>.
16366
+ * @param time - The time.
16367
+ * @param startIndex - The index from which to start the search.
16368
+ * @returns The index for the element at the start of the interval.
16369
+ */
16370
+ findTimeInterval(time: number, startIndex: number): number;
16371
+ /**
16372
+ * Wraps the given time to the period covered by the spline.
16373
+ * @param time - The time.
16374
+ * @returns The time, wrapped around to the updated animation.
16375
+ */
16376
+ wrapTime(time: number): number;
16377
+ /**
16378
+ * Clamps the given time to the period covered by the spline.
16379
+ * @param time - The time.
16380
+ * @returns The time, clamped to the animation period.
16381
+ */
16382
+ clampTime(time: number): number;
16383
+ /**
16384
+ * Evaluates the curve at a given time.
16385
+ * @param time - The time at which to evaluate the curve.
16386
+ * @param [result] - The object onto which to store the result.
16387
+ * @returns The modified result parameter or a new instance of the point on the curve at the given time.
16388
+ */
16389
+ evaluate(time: number, result?: Cartesian3 | Quaternion): number | Cartesian3 | Quaternion;
16390
+ }
16391
+
16166
16392
  /**
16167
16393
  * Subdivides an array into a number of smaller, equal sized arrays.
16168
16394
  * @param array - The array to divide.
@@ -16301,6 +16527,14 @@ export class TerrainData {
16301
16527
  wasCreatedByUpsampling(): boolean;
16302
16528
  }
16303
16529
 
16530
+ export namespace TerrainProvider {
16531
+ /**
16532
+ * A function that is called when an error occurs.
16533
+ * @param err - An object holding details about the error that occurred.
16534
+ */
16535
+ type ErrorEvent = (this: TerrainProvider, err: TileProviderError) => void;
16536
+ }
16537
+
16304
16538
  /**
16305
16539
  * Provides terrain or other geometry for the surface of an ellipsoid. The surface geometry is
16306
16540
  organized into a pyramid of tiles according to a {@link TilingScheme}. This type describes an
@@ -16313,7 +16547,7 @@ export class TerrainProvider {
16313
16547
  to the event, you will be notified of the error and can potentially recover from it. Event listeners
16314
16548
  are passed an instance of {@link TileProviderError}.
16315
16549
  */
16316
- readonly errorEvent: Event;
16550
+ readonly errorEvent: Event<TerrainProvider.ErrorEvent>;
16317
16551
  /**
16318
16552
  * Gets the credit to display when this terrain provider is active. Typically this is used to credit
16319
16553
  the source of the terrain. This function should
@@ -18056,66 +18290,6 @@ export class WebMercatorTilingScheme {
18056
18290
  positionToTileXY(position: Cartographic, level: number, result?: Cartesian2): Cartesian2;
18057
18291
  }
18058
18292
 
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
18293
  /**
18120
18294
  * Winding order defines the order of vertices for a triangle to be considered front-facing.
18121
18295
  */
@@ -18546,11 +18720,11 @@ export class CallbackProperty {
18546
18720
  readonly definitionChanged: Event;
18547
18721
  /**
18548
18722
  * 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.
18723
+ * @param time - The time for which to retrieve the value.
18550
18724
  * @param [result] - The object to store the value into, if omitted, a new instance is created and returned.
18551
18725
  * @returns The modified result parameter or a new instance if the result parameter was not supplied or is unsupported.
18552
18726
  */
18553
- getValue(time?: JulianDate, result?: any): any;
18727
+ getValue(time: JulianDate, result?: any): any;
18554
18728
  /**
18555
18729
  * Sets the callback to be used.
18556
18730
  * @param callback - The function to be called when the property is evaluated.
@@ -18569,10 +18743,10 @@ export class CallbackProperty {
18569
18743
  export namespace CallbackProperty {
18570
18744
  /**
18571
18745
  * 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.
18746
+ * @param time - The time for which to retrieve the value.
18747
+ * @param [result] - The object to store the value into. If omitted, the function must create and return a new instance.
18574
18748
  */
18575
- type Callback = (time?: JulianDate, result?: any) => any;
18749
+ type Callback = (time: JulianDate, result?: any) => any;
18576
18750
  }
18577
18751
 
18578
18752
  export namespace Cesium3DTilesetGraphics {
@@ -18960,7 +19134,7 @@ export class CompositePositionProperty {
18960
19134
  * @param [result] - The object to store the value into, if omitted, a new instance is created and returned.
18961
19135
  * @returns The modified result parameter or a new instance if the result parameter was not supplied.
18962
19136
  */
18963
- getValue(time: JulianDate, result?: any): any;
19137
+ getValue(time: JulianDate, result?: Cartesian3): Cartesian3 | undefined;
18964
19138
  /**
18965
19139
  * Gets the value of the property at the provided time and in the provided reference frame.
18966
19140
  * @param time - The time for which to retrieve the value.
@@ -18968,7 +19142,7 @@ export class CompositePositionProperty {
18968
19142
  * @param [result] - The object to store the value into, if omitted, a new instance is created and returned.
18969
19143
  * @returns The modified result parameter or a new instance if the result parameter was not supplied.
18970
19144
  */
18971
- getValueInReferenceFrame(time: JulianDate, referenceFrame: ReferenceFrame, result?: Cartesian3): Cartesian3;
19145
+ getValueInReferenceFrame(time: JulianDate, referenceFrame: ReferenceFrame, result?: Cartesian3): Cartesian3 | undefined;
18972
19146
  /**
18973
19147
  * Compares this property to the provided property and returns
18974
19148
  <code>true</code> if they are equal, <code>false</code> otherwise.
@@ -19515,7 +19689,7 @@ export class CylinderGraphics {
19515
19689
 
19516
19690
  export namespace CzmlDataSource {
19517
19691
  /**
19518
- * Initialization options for the `load` method.
19692
+ * Initialization options for the <code>load</code> method.
19519
19693
  * @property [sourceUri] - Overrides the url to use for resolving relative links.
19520
19694
  * @property [credit] - A credit for the data source, which is displayed on the canvas.
19521
19695
  */
@@ -19523,6 +19697,7 @@ export namespace CzmlDataSource {
19523
19697
  sourceUri?: Resource | string;
19524
19698
  credit?: Credit | string;
19525
19699
  };
19700
+ type UpdaterFunction = (entity: Entity, packet: any, entityCollection: EntityCollection, sourceUri: string) => void;
19526
19701
  }
19527
19702
 
19528
19703
  /**
@@ -19583,17 +19758,14 @@ export class CzmlDataSource {
19583
19758
  /**
19584
19759
  * Gets the array of CZML processing functions.
19585
19760
  */
19586
- static updaters: any[];
19761
+ static updaters: CzmlDataSource.UpdaterFunction[];
19587
19762
  /**
19588
19763
  * Processes the provided url or CZML object without clearing any existing data.
19589
19764
  * @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.
19765
+ * @param [options] - An object specifying configuration options
19592
19766
  * @returns A promise that resolves to this instances once the data is processed.
19593
19767
  */
19594
- process(czml: Resource | string | any, options?: {
19595
- sourceUri?: string;
19596
- }): Promise<CzmlDataSource>;
19768
+ process(czml: Resource | string | any, options?: CzmlDataSource.LoadOptions): Promise<CzmlDataSource>;
19597
19769
  /**
19598
19770
  * Loads the provided url or CZML object, replacing any existing data.
19599
19771
  * @param czml - A url or CZML object to be processed.
@@ -19676,11 +19848,11 @@ export class DataSource {
19676
19848
  /**
19677
19849
  * Gets an event that will be raised if an error is encountered during processing.
19678
19850
  */
19679
- errorEvent: Event;
19851
+ errorEvent: Event<(arg0: this, arg1: RequestErrorEvent) => void>;
19680
19852
  /**
19681
19853
  * Gets an event that will be raised when the value of isLoading changes.
19682
19854
  */
19683
- loadingEvent: Event;
19855
+ loadingEvent: Event<(arg0: this, arg1: boolean) => void>;
19684
19856
  /**
19685
19857
  * Gets whether or not this data source should be displayed.
19686
19858
  */
@@ -20602,7 +20774,7 @@ export class EntityCluster {
20602
20774
  /**
20603
20775
  * 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
20776
  */
20605
- clusterEvent: Event;
20777
+ clusterEvent: Event<EntityCluster.newClusterCallback>;
20606
20778
  /**
20607
20779
  * Gets or sets whether clustering billboard entities is enabled.
20608
20780
  */
@@ -20636,10 +20808,14 @@ export namespace EntityCluster {
20636
20808
  cluster.label.text = entities.length.toLocaleString();
20637
20809
  });
20638
20810
  * @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.
20811
+ * @param cluster - An object containing the Billboard, Label, and Point
20812
+ primitives that represent this cluster of entities.
20641
20813
  */
20642
- type newClusterCallback = (clusteredEntities: Entity[], cluster: any) => void;
20814
+ type newClusterCallback = (clusteredEntities: Entity[], cluster: {
20815
+ billboard: Billboard;
20816
+ label: Label;
20817
+ point: PointPrimitive;
20818
+ }) => void;
20643
20819
  }
20644
20820
 
20645
20821
  /**
@@ -20665,19 +20841,11 @@ export class EntityCollection {
20665
20841
  are corresponding calls to {@link EntityCollection#resumeEvents}.
20666
20842
  */
20667
20843
  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
20844
  /**
20677
20845
  * Gets the event that is fired when entities are added or removed from the collection.
20678
- The generated event is a {@link EntityCollection.collectionChangedEventCallback}.
20846
+ The generated event is a {@link EntityCollection.CollectionChangedEventCallback}.
20679
20847
  */
20680
- readonly collectionChanged: Event;
20848
+ readonly collectionChanged: Event<EntityCollection.CollectionChangedEventCallback>;
20681
20849
  /**
20682
20850
  * Gets a globally unique identifier for this collection.
20683
20851
  */
@@ -20747,6 +20915,17 @@ export class EntityCollection {
20747
20915
  getOrCreateEntity(id: string): Entity;
20748
20916
  }
20749
20917
 
20918
+ export namespace EntityCollection {
20919
+ /**
20920
+ * The signature of the event generated by {@link EntityCollection#collectionChanged}.
20921
+ * @param collection - The collection that triggered the event.
20922
+ * @param added - The array of {@link Entity} instances that have been added to the collection.
20923
+ * @param removed - The array of {@link Entity} instances that have been removed from the collection.
20924
+ * @param changed - The array of {@link Entity} instances that have been modified.
20925
+ */
20926
+ type CollectionChangedEventCallback = (collection: EntityCollection, added: Entity[], removed: Entity[], changed: Entity[]) => void;
20927
+ }
20928
+
20750
20929
  /**
20751
20930
  * A utility object for tracking an entity with the camera.
20752
20931
  * @param entity - The entity to track with the camera.
@@ -20857,8 +21036,9 @@ export type exportKmlModelCallback = (model: ModelGraphics, time: JulianDate, ex
20857
21036
 
20858
21037
  export namespace GeoJsonDataSource {
20859
21038
  /**
20860
- * Initialization options for the `load` method.
21039
+ * Initialization options for the <code>load</code> method.
20861
21040
  * @property [sourceUri] - Overrides the url to use for resolving relative links.
21041
+ * @property [describe = GeoJsonDataSource.defaultDescribeProperty] - A function which returns a Property object (or just a string).
20862
21042
  * @property [markerSize = GeoJsonDataSource.markerSize] - The default size of the map pin created for each point, in pixels.
20863
21043
  * @property [markerSymbol = GeoJsonDataSource.markerSymbol] - The default symbol of the map pin created for each point.
20864
21044
  * @property [markerColor = GeoJsonDataSource.markerColor] - The default color of the map pin created for each point.
@@ -20870,6 +21050,7 @@ export namespace GeoJsonDataSource {
20870
21050
  */
20871
21051
  type LoadOptions = {
20872
21052
  sourceUri?: string;
21053
+ describe?: GeoJsonDataSource.describe;
20873
21054
  markerSize?: number;
20874
21055
  markerSymbol?: string;
20875
21056
  markerColor?: Color;
@@ -21007,32 +21188,17 @@ export class GeoJsonDataSource {
21007
21188
  /**
21008
21189
  * Asynchronously loads the provided GeoJSON or TopoJSON data, replacing any existing data.
21009
21190
  * @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.
21191
+ * @param [options] - An object specifying configuration options
21022
21192
  * @returns a promise that will resolve when the GeoJSON is loaded.
21023
21193
  */
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>;
21194
+ load(data: Resource | string | any, options?: GeoJsonDataSource.LoadOptions): Promise<GeoJsonDataSource>;
21195
+ /**
21196
+ * Asynchronously loads the provided GeoJSON or TopoJSON data, without replacing any existing data.
21197
+ * @param data - A url, GeoJSON object, or TopoJSON object to be loaded.
21198
+ * @param [options] - An object specifying configuration options
21199
+ * @returns a promise that will resolve when the GeoJSON is loaded.
21200
+ */
21201
+ process(data: Resource | string | any, options?: GeoJsonDataSource.LoadOptions): Promise<GeoJsonDataSource>;
21036
21202
  /**
21037
21203
  * Updates the data source to the provided time. This function is optional and
21038
21204
  is not required to be implemented. It is provided for data sources which
@@ -21503,40 +21669,40 @@ export namespace KmlDataSource {
21503
21669
 
21504
21670
  /**
21505
21671
  * 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>
21672
+ <p>
21673
+ KML support in Cesium is incomplete, but a large amount of the standard,
21674
+ as well as Google's <code>gx</code> extension namespace, is supported. See Github issue
21675
+ {@link https://github.com/CesiumGS/cesium/issues/873|#873} for a
21676
+ detailed list of what is and isn't supported. Cesium will also write information to the
21677
+ console when it encounters most unsupported features.
21678
+ </p>
21679
+ <p>
21680
+ Non visual feature data, such as <code>atom:author</code> and <code>ExtendedData</code>
21681
+ is exposed via an instance of {@link KmlFeatureData}, which is added to each {@link Entity}
21682
+ under the <code>kml</code> property.
21683
+ </p>
21518
21684
  * @example
21519
21685
  * 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
- * );
21686
+ viewer.dataSources.add(Cesium.KmlDataSource.load('../../SampleData/facilities.kmz',
21687
+ {
21688
+ camera: viewer.scene.camera,
21689
+ canvas: viewer.scene.canvas
21690
+ })
21691
+ );
21526
21692
  * @param [options] - Object describing initialization options
21527
21693
  */
21528
21694
  export class KmlDataSource {
21529
21695
  constructor(options?: KmlDataSource.ConstructorOptions);
21530
21696
  /**
21531
21697
  * The current size of this Canvas will be used to populate the Link parameters
21532
- * for client height and width.
21698
+ for client height and width.
21533
21699
  */
21534
21700
  canvas: HTMLCanvasElement | undefined;
21535
21701
  /**
21536
21702
  * 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>.
21703
+ populate various camera parameters when making network requests.
21704
+ Camera movement will determine when to trigger NetworkLink refresh if
21705
+ <code>viewRefreshMode</code> is <code>onStop</code>.
21540
21706
  */
21541
21707
  camera: Camera | undefined;
21542
21708
  /**
@@ -21548,13 +21714,13 @@ export class KmlDataSource {
21548
21714
  static load(data: Resource | string | Document | Blob, options?: KmlDataSource.ConstructorOptions): Promise<KmlDataSource>;
21549
21715
  /**
21550
21716
  * Gets or sets a human-readable name for this instance.
21551
- * This will be automatically be set to the KML document name on load.
21717
+ This will be automatically be set to the KML document name on load.
21552
21718
  */
21553
21719
  name: string;
21554
21720
  /**
21555
21721
  * 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.
21722
+ availability interval for all time-dynamic data. If the KML does not contain
21723
+ time-dynamic data, this value is undefined.
21558
21724
  */
21559
21725
  clock: DataSourceClock;
21560
21726
  /**
@@ -21647,8 +21813,8 @@ export class KmlFeatureData {
21647
21813
  snippet: string;
21648
21814
  /**
21649
21815
  * 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.
21816
+ Currently only the <code>Data</code> property is supported.
21817
+ <code>SchemaData</code> and custom data are ignored.
21652
21818
  */
21653
21819
  extendedData: string;
21654
21820
  }
@@ -22735,7 +22901,7 @@ export namespace PolygonGraphics {
22735
22901
  * @property [heightReference = HeightReference.NONE] - A Property specifying what the height is relative to.
22736
22902
  * @property [extrudedHeight] - A numeric Property specifying the altitude of the polygon's extruded face relative to the ellipsoid surface.
22737
22903
  * @property [extrudedHeightReference = HeightReference.NONE] - A Property specifying what the extrudedHeight is relative to.
22738
- * @property [stRotation = 0.0] - A numeric property specifying the rotation of the polygon texture counter-clockwise from north.
22904
+ * @property [stRotation = 0.0] - A numeric property specifying the rotation of the polygon texture counter-clockwise from north. Only has an effect if textureCoordinates is not defined.
22739
22905
  * @property [granularity = Cesium.Math.RADIANS_PER_DEGREE] - A numeric Property specifying the angular distance between each latitude and longitude point.
22740
22906
  * @property [fill = true] - A boolean Property specifying whether the polygon is filled with the provided material.
22741
22907
  * @property [material = Color.WHITE] - A Property specifying the material used to fill the polygon.
@@ -22750,6 +22916,7 @@ export namespace PolygonGraphics {
22750
22916
  * @property [distanceDisplayCondition] - A Property specifying at what distance from the camera that this polygon will be displayed.
22751
22917
  * @property [classificationType = ClassificationType.BOTH] - An enum Property specifying whether this polygon will classify terrain, 3D Tiles, or both when on the ground.
22752
22918
  * @property [zIndex = 0] - A property specifying the zIndex used for ordering ground geometry. Only has an effect if the polygon is constant and neither height or extrudedHeight are specified.
22919
+ * @property [textureCoordinates] - A Property specifying texture coordinates as a {@link PolygonHierarchy} of {@link Cartesian2} points. Has no effect for ground primitives.
22753
22920
  */
22754
22921
  type ConstructorOptions = {
22755
22922
  show?: Property | boolean;
@@ -22773,6 +22940,7 @@ export namespace PolygonGraphics {
22773
22940
  distanceDisplayCondition?: Property | DistanceDisplayCondition;
22774
22941
  classificationType?: Property | ClassificationType;
22775
22942
  zIndex?: ConstantProperty | number;
22943
+ textureCoordinates?: Property | PolygonHierarchy;
22776
22944
  };
22777
22945
  }
22778
22946
 
@@ -22815,7 +22983,7 @@ export class PolygonGraphics {
22815
22983
  */
22816
22984
  extrudedHeightReference: Property | undefined;
22817
22985
  /**
22818
- * Gets or sets the numeric property specifying the rotation of the polygon texture counter-clockwise from north.
22986
+ * Gets or sets the numeric property specifying the rotation of the polygon texture counter-clockwise from north. Only has an effect if textureCoordinates is not defined.
22819
22987
  */
22820
22988
  stRotation: Property | undefined;
22821
22989
  /**
@@ -22880,6 +23048,10 @@ export class PolygonGraphics {
22880
23048
  * Gets or sets the zIndex Prperty specifying the ordering of ground geometry. Only has an effect if the polygon is constant and neither height or extrudedHeight are specified.
22881
23049
  */
22882
23050
  zIndex: ConstantProperty | undefined;
23051
+ /**
23052
+ * A Property specifying texture coordinates as a {@link PolygonHierarchy} of {@link Cartesian2} points. Has no effect for ground primitives.
23053
+ */
23054
+ textureCoordinates: Property | undefined;
22883
23055
  /**
22884
23056
  * Duplicates this instance.
22885
23057
  * @param [result] - The object onto which to store the result.
@@ -23538,7 +23710,7 @@ export class PositionProperty {
23538
23710
  * @param [result] - The object to store the value into, if omitted, a new instance is created and returned.
23539
23711
  * @returns The modified result parameter or a new instance if the result parameter was not supplied.
23540
23712
  */
23541
- getValue(time: JulianDate, result?: Cartesian3): Cartesian3;
23713
+ getValue(time: JulianDate, result?: Cartesian3): Cartesian3 | undefined;
23542
23714
  /**
23543
23715
  * Gets the value of the property at the provided time and in the provided reference frame.
23544
23716
  * @param time - The time for which to retrieve the value.
@@ -23546,7 +23718,7 @@ export class PositionProperty {
23546
23718
  * @param [result] - The object to store the value into, if omitted, a new instance is created and returned.
23547
23719
  * @returns The modified result parameter or a new instance if the result parameter was not supplied.
23548
23720
  */
23549
- getValueInReferenceFrame(time: JulianDate, referenceFrame: ReferenceFrame, result?: Cartesian3): Cartesian3;
23721
+ getValueInReferenceFrame(time: JulianDate, referenceFrame: ReferenceFrame, result?: Cartesian3): Cartesian3 | undefined;
23550
23722
  /**
23551
23723
  * Compares this property to the provided property and returns
23552
23724
  <code>true</code> if they are equal, <code>false</code> otherwise.
@@ -23680,7 +23852,7 @@ export class PropertyArray {
23680
23852
  equals(other?: Property): boolean;
23681
23853
  }
23682
23854
 
23683
- export interface PropertyBag extends DictionaryLike {
23855
+ export interface PropertyBag extends Record<string, any> {
23684
23856
  }
23685
23857
 
23686
23858
  /**
@@ -23688,7 +23860,7 @@ export interface PropertyBag extends DictionaryLike {
23688
23860
  * @param [value] - An object, containing key-value mapping of property names to properties.
23689
23861
  * @param [createPropertyCallback] - A function that will be called when the value of any of the properties in value are not a Property.
23690
23862
  */
23691
- export class PropertyBag implements DictionaryLike {
23863
+ export class PropertyBag implements Record<string, any> {
23692
23864
  constructor(value?: any, createPropertyCallback?: (...params: any[]) => any);
23693
23865
  /**
23694
23866
  * Gets the names of all properties registered on this instance.
@@ -24150,7 +24322,7 @@ export class SampledPositionProperty {
24150
24322
  * @param [result] - The object to store the value into, if omitted, a new instance is created and returned.
24151
24323
  * @returns The modified result parameter or a new instance if the result parameter was not supplied.
24152
24324
  */
24153
- getValue(time: JulianDate, result?: Cartesian3): Cartesian3;
24325
+ getValue(time: JulianDate, result?: Cartesian3): Cartesian3 | undefined;
24154
24326
  /**
24155
24327
  * Gets the position at the provided time and in the provided reference frame.
24156
24328
  * @param time - The time for which to retrieve the value.
@@ -24158,7 +24330,7 @@ export class SampledPositionProperty {
24158
24330
  * @param [result] - The object to store the value into, if omitted, a new instance is created and returned.
24159
24331
  * @returns The modified result parameter or a new instance if the result parameter was not supplied.
24160
24332
  */
24161
- getValueInReferenceFrame(time: JulianDate, referenceFrame: ReferenceFrame, result?: Cartesian3): Cartesian3;
24333
+ getValueInReferenceFrame(time: JulianDate, referenceFrame: ReferenceFrame, result?: Cartesian3): Cartesian3 | undefined;
24162
24334
  /**
24163
24335
  * Sets the algorithm and degree to use when interpolating a position.
24164
24336
  * @param [options] - Object with the following properties:
@@ -24460,18 +24632,18 @@ export class TimeIntervalCollectionPositionProperty {
24460
24632
  /**
24461
24633
  * Gets the interval collection.
24462
24634
  */
24463
- intervals: TimeIntervalCollection;
24635
+ readonly intervals: TimeIntervalCollection;
24464
24636
  /**
24465
24637
  * Gets the reference frame in which the position is defined.
24466
24638
  */
24467
- referenceFrame: ReferenceFrame;
24639
+ readonly referenceFrame: ReferenceFrame;
24468
24640
  /**
24469
24641
  * Gets the value of the property at the provided time in the fixed frame.
24470
24642
  * @param time - The time for which to retrieve the value.
24471
24643
  * @param [result] - The object to store the value into, if omitted, a new instance is created and returned.
24472
24644
  * @returns The modified result parameter or a new instance if the result parameter was not supplied.
24473
24645
  */
24474
- getValue(time: JulianDate, result?: any): any;
24646
+ getValue(time: JulianDate, result?: any): Cartesian3 | undefined;
24475
24647
  /**
24476
24648
  * Gets the value of the property at the provided time and in the provided reference frame.
24477
24649
  * @param time - The time for which to retrieve the value.
@@ -24479,7 +24651,7 @@ export class TimeIntervalCollectionPositionProperty {
24479
24651
  * @param [result] - The object to store the value into, if omitted, a new instance is created and returned.
24480
24652
  * @returns The modified result parameter or a new instance if the result parameter was not supplied.
24481
24653
  */
24482
- getValueInReferenceFrame(time: JulianDate, referenceFrame: ReferenceFrame, result?: Cartesian3): Cartesian3;
24654
+ getValueInReferenceFrame(time: JulianDate, referenceFrame: ReferenceFrame, result?: Cartesian3): Cartesian3 | undefined;
24483
24655
  /**
24484
24656
  * Compares this property to the provided property and returns
24485
24657
  <code>true</code> if they are equal, <code>false</code> otherwise.
@@ -24537,7 +24709,7 @@ export class TimeIntervalCollectionProperty {
24537
24709
  /**
24538
24710
  * Gets the interval collection.
24539
24711
  */
24540
- intervals: TimeIntervalCollection;
24712
+ readonly intervals: TimeIntervalCollection;
24541
24713
  /**
24542
24714
  * Gets the value of the property at the provided time.
24543
24715
  * @param time - The time for which to retrieve the value.
@@ -24966,37 +25138,37 @@ export namespace ArcGisMapServerImageryProvider {
24966
25138
  * @property url - The URL of the ArcGIS MapServer service.
24967
25139
  * @property [token] - The ArcGIS token used to authenticate with the ArcGIS MapServer service.
24968
25140
  * @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.
25141
+ is invalid and should be discarded. If this value is not specified, a default
25142
+ {@link DiscardMissingTileImagePolicy} is used for tiled map servers, and a
25143
+ {@link NeverTileDiscardPolicy} is used for non-tiled map servers. In the former case,
25144
+ we request tile 0,0 at the maximum tile level and check pixels (0,0), (200,20), (20,200),
25145
+ (80,110), and (160, 130). If all of these pixels are transparent, the discard check is
25146
+ disabled and no tiles are discarded. If any of them have a non-transparent color, any
25147
+ tile that has the same values in these pixel locations is discarded. The end result of
25148
+ these defaults should be correct tile discarding for a standard ArcGIS Server. To ensure
25149
+ that no tiles are discarded, construct and pass a {@link NeverTileDiscardPolicy} for this
25150
+ parameter.
24979
25151
  * @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.
25152
+ tiles are used if they are available. If false, any pre-cached tiles are ignored and the
25153
+ 'export' service is used.
24982
25154
  * @property [layers] - A comma-separated list of the layers to show, or undefined if all layers should be shown.
24983
25155
  * @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.
25156
+ the Identify service on the MapServer and return the features included in the response. If false,
25157
+ {@link ArcGisMapServerImageryProvider#pickFeatures} will immediately return undefined (indicating no pickable features)
25158
+ without communicating with the server. Set this property to false if you don't want this provider's features to
25159
+ be pickable. Can be overridden by setting the {@link ArcGisMapServerImageryProvider#enablePickFeatures} property on the object.
24988
25160
  * @property [rectangle = Rectangle.MAX_VALUE] - The rectangle of the layer. This parameter is ignored when accessing
24989
- * a tiled layer.
25161
+ a tiled layer.
24990
25162
  * @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.
25163
+ This parameter is ignored when accessing a tiled server.
24992
25164
  * @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.
25165
+ this parameter is ignored and the tiling scheme's ellipsoid is used instead. If neither
25166
+ parameter is specified, the WGS84 ellipsoid is used.
24995
25167
  * @property [credit] - A credit for the data source, which is displayed on the canvas. This parameter is ignored when accessing a tiled server.
24996
25168
  * @property [tileWidth = 256] - The width of each tile in pixels. This parameter is ignored when accessing a tiled server.
24997
25169
  * @property [tileHeight = 256] - The height of each tile in pixels. This parameter is ignored when accessing a tiled server.
24998
25170
  * @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.
25171
+ a tiled server.
25000
25172
  */
25001
25173
  type ConstructorOptions = {
25002
25174
  url: Resource | string;
@@ -25017,38 +25189,38 @@ export namespace ArcGisMapServerImageryProvider {
25017
25189
 
25018
25190
  /**
25019
25191
  * Provides tiled imagery hosted by an ArcGIS MapServer. By default, the server's pre-cached tiles are
25020
- * used, if available.
25192
+ used, if available.
25021
25193
  * @example
25022
25194
  * const esri = new Cesium.ArcGisMapServerImageryProvider({
25023
- * url : 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer'
25024
- * });
25195
+ url : 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer'
25196
+ });
25025
25197
  * @param options - Object describing initialization options
25026
25198
  */
25027
25199
  export class ArcGisMapServerImageryProvider {
25028
25200
  constructor(options: ArcGisMapServerImageryProvider.ConstructorOptions);
25029
25201
  /**
25030
25202
  * The default alpha blending value of this provider, with 0.0 representing fully transparent and
25031
- * 1.0 representing fully opaque.
25203
+ 1.0 representing fully opaque.
25032
25204
  */
25033
25205
  defaultAlpha: number | undefined;
25034
25206
  /**
25035
25207
  * 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.
25208
+ 1.0 representing fully opaque.
25037
25209
  */
25038
25210
  defaultNightAlpha: number | undefined;
25039
25211
  /**
25040
25212
  * 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.
25213
+ 1.0 representing fully opaque.
25042
25214
  */
25043
25215
  defaultDayAlpha: number | undefined;
25044
25216
  /**
25045
25217
  * 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.
25218
+ makes the imagery darker while greater than 1.0 makes it brighter.
25047
25219
  */
25048
25220
  defaultBrightness: number | undefined;
25049
25221
  /**
25050
25222
  * 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.
25223
+ the contrast while greater than 1.0 increases it.
25052
25224
  */
25053
25225
  defaultContrast: number | undefined;
25054
25226
  /**
@@ -25057,7 +25229,7 @@ export class ArcGisMapServerImageryProvider {
25057
25229
  defaultHue: number | undefined;
25058
25230
  /**
25059
25231
  * 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.
25232
+ saturation while greater than 1.0 increases it.
25061
25233
  */
25062
25234
  defaultSaturation: number | undefined;
25063
25235
  /**
@@ -25074,9 +25246,9 @@ export class ArcGisMapServerImageryProvider {
25074
25246
  defaultMagnificationFilter: TextureMagnificationFilter;
25075
25247
  /**
25076
25248
  * 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.
25249
+ invoke the "identify" operation on the ArcGIS server and return the features included in the response. If false,
25250
+ {@link ArcGisMapServerImageryProvider#pickFeatures} will immediately return undefined (indicating no pickable features)
25251
+ without communicating with the server.
25080
25252
  */
25081
25253
  enablePickFeatures: boolean;
25082
25254
  /**
@@ -25093,45 +25265,45 @@ export class ArcGisMapServerImageryProvider {
25093
25265
  readonly proxy: Proxy;
25094
25266
  /**
25095
25267
  * Gets the width of each tile, in pixels. This function should
25096
- * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25268
+ not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25097
25269
  */
25098
25270
  readonly tileWidth: number;
25099
25271
  /**
25100
25272
  * Gets the height of each tile, in pixels. This function should
25101
- * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25273
+ not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25102
25274
  */
25103
25275
  readonly tileHeight: number;
25104
25276
  /**
25105
25277
  * Gets the maximum level-of-detail that can be requested. This function should
25106
- * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25278
+ not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25107
25279
  */
25108
25280
  readonly maximumLevel: number | undefined;
25109
25281
  /**
25110
25282
  * Gets the minimum level-of-detail that can be requested. This function should
25111
- * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25283
+ not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25112
25284
  */
25113
25285
  readonly minimumLevel: number;
25114
25286
  /**
25115
25287
  * Gets the tiling scheme used by this provider. This function should
25116
- * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25288
+ not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25117
25289
  */
25118
25290
  readonly tilingScheme: TilingScheme;
25119
25291
  /**
25120
25292
  * 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.
25293
+ not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25122
25294
  */
25123
25295
  readonly rectangle: Rectangle;
25124
25296
  /**
25125
25297
  * 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.
25298
+ for filtering out "missing" tiles via its shouldDiscardImage function. If this function
25299
+ returns undefined, no tiles are filtered. This function should
25300
+ not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25129
25301
  */
25130
25302
  readonly tileDiscardPolicy: TileDiscardPolicy;
25131
25303
  /**
25132
25304
  * 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}.
25305
+ to the event, you will be notified of the error and can potentially recover from it. Event listeners
25306
+ are passed an instance of {@link TileProviderError}.
25135
25307
  */
25136
25308
  readonly errorEvent: Event;
25137
25309
  /**
@@ -25144,22 +25316,22 @@ export class ArcGisMapServerImageryProvider {
25144
25316
  readonly readyPromise: Promise<boolean>;
25145
25317
  /**
25146
25318
  * 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.
25319
+ the source of the imagery. This function should not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25148
25320
  */
25149
25321
  readonly credit: Credit;
25150
25322
  /**
25151
25323
  * 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.
25324
+ ArcGIS MapServer. If the imagery provider is not yet ready ({@link ArcGisMapServerImageryProvider#ready}), this function
25325
+ will return the value of `options.usePreCachedTilesIfAvailable`, even if the MapServer does
25326
+ not have pre-cached tiles.
25155
25327
  */
25156
25328
  readonly usingPrecachedTiles: boolean;
25157
25329
  /**
25158
25330
  * 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.
25331
+ include an alpha channel. If this property is false, an alpha channel, if present, will
25332
+ be ignored. If this property is true, any images without an alpha channel will be treated
25333
+ as if their alpha is 1.0 everywhere. When this property is false, memory usage
25334
+ and texture upload time are reduced.
25163
25335
  */
25164
25336
  readonly hasAlphaChannel: boolean;
25165
25337
  /**
@@ -25176,29 +25348,27 @@ export class ArcGisMapServerImageryProvider {
25176
25348
  getTileCredits(x: number, y: number, level: number): Credit[];
25177
25349
  /**
25178
25350
  * Requests the image for a given tile. This function should
25179
- * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25351
+ not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
25180
25352
  * @param x - The tile X coordinate.
25181
25353
  * @param y - The tile Y coordinate.
25182
25354
  * @param level - The tile level.
25183
25355
  * @param [request] - The request object. Intended for internal use only.
25184
25356
  * @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.
25357
+ undefined if there are too many active requests to the server, and the request should be retried later.
25188
25358
  */
25189
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
25359
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
25190
25360
  /**
25191
25361
  * /**
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.
25362
+ Asynchronously determines what features, if any, are located at a given longitude and latitude within
25363
+ a tile. This function should not be called before {@link ImageryProvider#ready} returns true.
25194
25364
  * @param x - The tile X coordinate.
25195
25365
  * @param y - The tile Y coordinate.
25196
25366
  * @param level - The tile level.
25197
25367
  * @param longitude - The longitude at which to pick features.
25198
25368
  * @param latitude - The latitude at which to pick features.
25199
25369
  * @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.
25370
+ picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo}
25371
+ instances. The array may be empty if no features are found at the given location.
25202
25372
  */
25203
25373
  pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise<ImageryLayerFeatureInfo[]> | undefined;
25204
25374
  }
@@ -25223,19 +25393,19 @@ export enum Axis {
25223
25393
 
25224
25394
  /**
25225
25395
  * 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>
25396
+ and rendered using a {@link BillboardCollection}. A billboard is created and its initial
25397
+ properties are set by calling {@link BillboardCollection#add}.
25398
+ <br /><br />
25399
+ <div align='center'>
25400
+ <img src='Images/Billboard.png' width='400' height='300' /><br />
25401
+ Example billboards
25402
+ </div>
25233
25403
  */
25234
25404
  export class Billboard {
25235
25405
  constructor();
25236
25406
  /**
25237
25407
  * 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.
25408
+ of removing it and re-adding it to the collection.
25239
25409
  */
25240
25410
  show: boolean;
25241
25411
  /**
@@ -25248,159 +25418,159 @@ export class Billboard {
25248
25418
  heightReference: HeightReference;
25249
25419
  /**
25250
25420
  * 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>
25421
+ to align multiple billboards and labels at the same position, e.g., an image and text. The
25422
+ screen space origin is the top, left corner of the canvas; <code>x</code> increases from
25423
+ left to right, and <code>y</code> increases from top to bottom.
25424
+ <br /><br />
25425
+ <div align='center'>
25426
+ <table border='0' cellpadding='5'><tr>
25427
+ <td align='center'><code>default</code><br/><img src='Images/Billboard.setPixelOffset.default.png' width='250' height='188' /></td>
25428
+ <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>
25429
+ </tr></table>
25430
+ The billboard's origin is indicated by the yellow point.
25431
+ </div>
25262
25432
  */
25263
25433
  pixelOffset: Cartesian2;
25264
25434
  /**
25265
25435
  * 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.
25436
+ A billboard's scale will interpolate between the {@link NearFarScalar#nearValue} and
25437
+ {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds
25438
+ of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}.
25439
+ Outside of these ranges the billboard's scale remains clamped to the nearest bound. If undefined,
25440
+ scaleByDistance will be disabled.
25271
25441
  * @example
25272
25442
  * // 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);
25443
+ // Set a billboard's scaleByDistance to scale by 1.5 when the
25444
+ // camera is 1500 meters from the billboard and disappear as
25445
+ // the camera distance approaches 8.0e6 meters.
25446
+ b.scaleByDistance = new Cesium.NearFarScalar(1.5e2, 1.5, 8.0e6, 0.0);
25277
25447
  * @example
25278
25448
  * // Example 2.
25279
- * // disable scaling by distance
25280
- * b.scaleByDistance = undefined;
25449
+ // disable scaling by distance
25450
+ b.scaleByDistance = undefined;
25281
25451
  */
25282
25452
  scaleByDistance: NearFarScalar;
25283
25453
  /**
25284
25454
  * 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.
25455
+ A billboard's translucency will interpolate between the {@link NearFarScalar#nearValue} and
25456
+ {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds
25457
+ of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}.
25458
+ Outside of these ranges the billboard's translucency remains clamped to the nearest bound. If undefined,
25459
+ translucencyByDistance will be disabled.
25290
25460
  * @example
25291
25461
  * // 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);
25462
+ // Set a billboard's translucency to 1.0 when the
25463
+ // camera is 1500 meters from the billboard and disappear as
25464
+ // the camera distance approaches 8.0e6 meters.
25465
+ b.translucencyByDistance = new Cesium.NearFarScalar(1.5e2, 1.0, 8.0e6, 0.0);
25296
25466
  * @example
25297
25467
  * // Example 2.
25298
- * // disable translucency by distance
25299
- * b.translucencyByDistance = undefined;
25468
+ // disable translucency by distance
25469
+ b.translucencyByDistance = undefined;
25300
25470
  */
25301
25471
  translucencyByDistance: NearFarScalar;
25302
25472
  /**
25303
25473
  * 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.
25474
+ A billboard's pixel offset will be scaled between the {@link NearFarScalar#nearValue} and
25475
+ {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds
25476
+ of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}.
25477
+ Outside of these ranges the billboard's pixel offset scale remains clamped to the nearest bound. If undefined,
25478
+ pixelOffsetScaleByDistance will be disabled.
25309
25479
  * @example
25310
25480
  * // 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);
25481
+ // Set a billboard's pixel offset scale to 0.0 when the
25482
+ // camera is 1500 meters from the billboard and scale pixel offset to 10.0 pixels
25483
+ // in the y direction the camera distance approaches 8.0e6 meters.
25484
+ b.pixelOffset = new Cesium.Cartesian2(0.0, 1.0);
25485
+ b.pixelOffsetScaleByDistance = new Cesium.NearFarScalar(1.5e2, 0.0, 8.0e6, 10.0);
25316
25486
  * @example
25317
25487
  * // Example 2.
25318
- * // disable pixel offset by distance
25319
- * b.pixelOffsetScaleByDistance = undefined;
25488
+ // disable pixel offset by distance
25489
+ b.pixelOffsetScaleByDistance = undefined;
25320
25490
  */
25321
25491
  pixelOffsetScaleByDistance: NearFarScalar;
25322
25492
  /**
25323
25493
  * 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>
25494
+ coordinate system, where <code>x</code> points towards the viewer's right, <code>y</code> points up, and
25495
+ <code>z</code> points into the screen. Eye coordinates use the same scale as world and model coordinates,
25496
+ which is typically meters.
25497
+ <br /><br />
25498
+ An eye offset is commonly used to arrange multiple billboards or objects at the same position, e.g., to
25499
+ arrange a billboard above its corresponding 3D model.
25500
+ <br /><br />
25501
+ Below, the billboard is positioned at the center of the Earth but an eye offset makes it always
25502
+ appear on top of the Earth regardless of the viewer's or Earth's orientation.
25503
+ <br /><br />
25504
+ <div align='center'>
25505
+ <table border='0' cellpadding='5'><tr>
25506
+ <td align='center'><img src='Images/Billboard.setEyeOffset.one.png' width='250' height='188' /></td>
25507
+ <td align='center'><img src='Images/Billboard.setEyeOffset.two.png' width='250' height='188' /></td>
25508
+ </tr></table>
25509
+ <code>b.eyeOffset = new Cartesian3(0.0, 8000000.0, 0.0);</code><br /><br />
25510
+ </div>
25341
25511
  */
25342
25512
  eyeOffset: Cartesian3;
25343
25513
  /**
25344
25514
  * 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>
25515
+ to the left, center, or right of its anchor position.
25516
+ <br /><br />
25517
+ <div align='center'>
25518
+ <img src='Images/Billboard.setHorizontalOrigin.png' width='648' height='196' /><br />
25519
+ </div>
25350
25520
  * @example
25351
25521
  * // Use a bottom, left origin
25352
- * b.horizontalOrigin = Cesium.HorizontalOrigin.LEFT;
25353
- * b.verticalOrigin = Cesium.VerticalOrigin.BOTTOM;
25522
+ b.horizontalOrigin = Cesium.HorizontalOrigin.LEFT;
25523
+ b.verticalOrigin = Cesium.VerticalOrigin.BOTTOM;
25354
25524
  */
25355
25525
  horizontalOrigin: HorizontalOrigin;
25356
25526
  /**
25357
25527
  * 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>
25528
+ to the above, below, or at the center of its anchor position.
25529
+ <br /><br />
25530
+ <div align='center'>
25531
+ <img src='Images/Billboard.setVerticalOrigin.png' width='695' height='175' /><br />
25532
+ </div>
25363
25533
  * @example
25364
25534
  * // Use a bottom, left origin
25365
- * b.horizontalOrigin = Cesium.HorizontalOrigin.LEFT;
25366
- * b.verticalOrigin = Cesium.VerticalOrigin.BOTTOM;
25535
+ b.horizontalOrigin = Cesium.HorizontalOrigin.LEFT;
25536
+ b.verticalOrigin = Cesium.VerticalOrigin.BOTTOM;
25367
25537
  */
25368
25538
  verticalOrigin: VerticalOrigin;
25369
25539
  /**
25370
25540
  * 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>
25541
+ A scale of <code>1.0</code> does not change the size of the billboard; a scale greater than
25542
+ <code>1.0</code> enlarges the billboard; a positive scale less than <code>1.0</code> shrinks
25543
+ the billboard.
25544
+ <br /><br />
25545
+ <div align='center'>
25546
+ <img src='Images/Billboard.setScale.png' width='400' height='300' /><br/>
25547
+ From left to right in the above image, the scales are <code>0.5</code>, <code>1.0</code>,
25548
+ and <code>2.0</code>.
25549
+ </div>
25380
25550
  */
25381
25551
  scale: number;
25382
25552
  /**
25383
25553
  * 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).
25554
+ the same white texture may be used by many different billboards, each with a different color, to create
25555
+ colored billboards. Second, the color's alpha component can be used to make the billboard translucent as shown below.
25556
+ An alpha of <code>0.0</code> makes the billboard transparent, and <code>1.0</code> makes the billboard opaque.
25557
+ <br /><br />
25558
+ <div align='center'>
25559
+ <table border='0' cellpadding='5'><tr>
25560
+ <td align='center'><code>default</code><br/><img src='Images/Billboard.setColor.Alpha255.png' width='250' height='188' /></td>
25561
+ <td align='center'><code>alpha : 0.5</code><br/><img src='Images/Billboard.setColor.Alpha127.png' width='250' height='188' /></td>
25562
+ </tr></table>
25563
+ </div>
25564
+ <br />
25565
+ The red, green, blue, and alpha values are indicated by <code>value</code>'s <code>red</code>, <code>green</code>,
25566
+ <code>blue</code>, and <code>alpha</code> properties as shown in Example 1. These components range from <code>0.0</code>
25567
+ (no intensity) to <code>1.0</code> (full intensity).
25398
25568
  * @example
25399
25569
  * // Example 1. Assign yellow.
25400
- * b.color = Cesium.Color.YELLOW;
25570
+ b.color = Cesium.Color.YELLOW;
25401
25571
  * @example
25402
25572
  * // Example 2. Make a billboard 50% translucent.
25403
- * b.color = new Cesium.Color(1.0, 1.0, 1.0, 0.5);
25573
+ b.color = new Cesium.Color(1.0, 1.0, 1.0, 0.5);
25404
25574
  */
25405
25575
  color: Color;
25406
25576
  /**
@@ -25409,20 +25579,20 @@ export class Billboard {
25409
25579
  rotation: number;
25410
25580
  /**
25411
25581
  * 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.
25582
+ The default is the zero vector, which means the billboard is aligned to the screen up vector.
25413
25583
  * @example
25414
25584
  * // Example 1.
25415
- * // Have the billboard up vector point north
25416
- * billboard.alignedAxis = Cesium.Cartesian3.UNIT_Z;
25585
+ // Have the billboard up vector point north
25586
+ billboard.alignedAxis = Cesium.Cartesian3.UNIT_Z;
25417
25587
  * @example
25418
25588
  * // Example 2.
25419
- * // Have the billboard point east.
25420
- * billboard.alignedAxis = Cesium.Cartesian3.UNIT_Z;
25421
- * billboard.rotation = -Cesium.Math.PI_OVER_TWO;
25589
+ // Have the billboard point east.
25590
+ billboard.alignedAxis = Cesium.Cartesian3.UNIT_Z;
25591
+ billboard.rotation = -Cesium.Math.PI_OVER_TWO;
25422
25592
  * @example
25423
25593
  * // Example 3.
25424
- * // Reset the aligned axis
25425
- * billboard.alignedAxis = Cesium.Cartesian3.ZERO;
25594
+ // Reset the aligned axis
25595
+ billboard.alignedAxis = Cesium.Cartesian3.ZERO;
25426
25596
  */
25427
25597
  alignedAxis: Cartesian3;
25428
25598
  /**
@@ -25435,7 +25605,7 @@ export class Billboard {
25435
25605
  height: number;
25436
25606
  /**
25437
25607
  * 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.
25608
+ otherwise, the size is in pixels.
25439
25609
  */
25440
25610
  sizeInMeters: boolean;
25441
25611
  /**
@@ -25444,7 +25614,7 @@ export class Billboard {
25444
25614
  distanceDisplayCondition: DistanceDisplayCondition;
25445
25615
  /**
25446
25616
  * 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.
25617
+ When set to zero, the depth test is always applied. When set to Number.POSITIVE_INFINITY, the depth test is never applied.
25448
25618
  */
25449
25619
  disableDepthTestDistance: number;
25450
25620
  /**
@@ -25453,72 +25623,72 @@ export class Billboard {
25453
25623
  id: any;
25454
25624
  /**
25455
25625
  * <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>
25626
+ Gets or sets the image to be used for this billboard. If a texture has already been created for the
25627
+ given image, the existing texture is used.
25628
+ </p>
25629
+ <p>
25630
+ This property can be set to a loaded Image, a URL which will be loaded as an Image automatically,
25631
+ a canvas, or another billboard's image property (from the same billboard collection).
25632
+ </p>
25463
25633
  * @example
25464
25634
  * // 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;
25635
+ b.image = 'some/image/url.png';
25636
+
25637
+ // assuming b1 and b2 are billboards in the same billboard collection,
25638
+ // use the same image for both billboards.
25639
+ b2.image = b1.image;
25470
25640
  */
25471
25641
  image: string;
25472
25642
  /**
25473
25643
  * When <code>true</code>, this billboard is ready to render, i.e., the image
25474
- * has been downloaded and the WebGL resources are created.
25644
+ has been downloaded and the WebGL resources are created.
25475
25645
  */
25476
25646
  readonly ready: boolean;
25477
25647
  /**
25478
25648
  * <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>
25649
+ Sets the image to be used for this billboard. If a texture has already been created for the
25650
+ given id, the existing texture is used.
25651
+ </p>
25652
+ <p>
25653
+ This function is useful for dynamically creating textures that are shared across many billboards.
25654
+ Only the first billboard will actually call the function and create the texture, while subsequent
25655
+ billboards created with the same id will simply re-use the existing texture.
25656
+ </p>
25657
+ <p>
25658
+ To load an image from a URL, setting the {@link Billboard#image} property is more convenient.
25659
+ </p>
25490
25660
  * @example
25491
25661
  * // 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);
25662
+ function drawImage(id) {
25663
+ // create and draw an image using a canvas
25664
+ const canvas = document.createElement('canvas');
25665
+ const context2D = canvas.getContext('2d');
25666
+ // ... draw image
25667
+ return canvas;
25668
+ }
25669
+ // drawImage will be called to create the texture
25670
+ b.setImage('myImage', drawImage);
25671
+
25672
+ // subsequent billboards created in the same collection using the same id will use the existing
25673
+ // texture, without the need to create the canvas or draw the image
25674
+ b2.setImage('myImage', drawImage);
25505
25675
  * @param id - The id of the image. This can be any string that uniquely identifies the image.
25506
25676
  * @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.
25677
+ can either be a loaded Image or Canvas, a URL which will be loaded as an Image automatically,
25678
+ or a function which will be called to create the image if it hasn't been loaded already.
25509
25679
  */
25510
25680
  setImage(id: string, image: HTMLImageElement | HTMLCanvasElement | string | Resource | Billboard.CreateImageCallback): void;
25511
25681
  /**
25512
25682
  * 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.
25683
+ measured in pixels from the bottom-left.
25514
25684
  * @param id - The id of the image to use.
25515
25685
  * @param subRegion - The sub-region of the image.
25516
25686
  */
25517
25687
  setImageSubRegion(id: string, subRegion: BoundingRectangle): void;
25518
25688
  /**
25519
25689
  * 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.
25690
+ The screen space origin is the top, left corner of the canvas; <code>x</code> increases from
25691
+ left to right, and <code>y</code> increases from top to bottom.
25522
25692
  * @example
25523
25693
  * console.log(b.computeScreenSpacePosition(scene).toString());
25524
25694
  * @param scene - The scene.
@@ -25528,7 +25698,7 @@ export class Billboard {
25528
25698
  computeScreenSpacePosition(scene: Scene, result?: Cartesian2): Cartesian2;
25529
25699
  /**
25530
25700
  * Determines if this billboard equals another billboard. Billboards are equal if all their properties
25531
- * are equal. Billboards in different collections can be equal.
25701
+ are equal. Billboards in different collections can be equal.
25532
25702
  * @param other - The billboard to compare for equality.
25533
25703
  * @returns <code>true</code> if the billboards are equal; otherwise, <code>false</code>.
25534
25704
  */
@@ -25936,11 +26106,9 @@ export class BingMapsImageryProvider {
25936
26106
  * @param level - The tile level.
25937
26107
  * @param [request] - The request object. Intended for internal use only.
25938
26108
  * @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.
26109
+ undefined if there are too many active requests to the server, and the request should be retried later.
25942
26110
  */
25943
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
26111
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
25944
26112
  /**
25945
26113
  * Picking features is not currently supported by this imagery provider, so this function simply returns
25946
26114
  undefined.
@@ -25949,12 +26117,9 @@ export class BingMapsImageryProvider {
25949
26117
  * @param level - The tile level.
25950
26118
  * @param longitude - The longitude at which to pick features.
25951
26119
  * @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.
26120
+ * @returns Undefined since picking is not supported.
25956
26121
  */
25957
- pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise<ImageryLayerFeatureInfo[]> | undefined;
26122
+ pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): undefined;
25958
26123
  /**
25959
26124
  * Converts a tiles (x, y, level) position into a quadkey used to request an image
25960
26125
  from a Bing Maps server.
@@ -26175,6 +26340,28 @@ export class BoxEmitter {
26175
26340
  dimensions: Cartesian3;
26176
26341
  }
26177
26342
 
26343
+ /**
26344
+ * An orientation given by a pair of unit vectors
26345
+ * @property direction - The unit "direction" vector
26346
+ * @property up - The unit "up" vector
26347
+ */
26348
+ export type DirectionUp = {
26349
+ direction: Cartesian3;
26350
+ up: Cartesian3;
26351
+ };
26352
+
26353
+ /**
26354
+ * An orientation given by numeric heading, pitch, and roll
26355
+ * @property [heading = 0.0] - The heading in radians
26356
+ * @property [pitch = -Math.PI_OVER_TWO] - The pitch in radians
26357
+ * @property [roll = 0.0] - The roll in meters
26358
+ */
26359
+ export type HeadingPitchRollValues = {
26360
+ heading?: number;
26361
+ pitch?: number;
26362
+ roll?: number;
26363
+ };
26364
+
26178
26365
  /**
26179
26366
  * The camera is defined by a position, orientation, and view frustum.
26180
26367
  <br /><br />
@@ -26379,7 +26566,7 @@ export class Camera {
26379
26566
  */
26380
26567
  setView(options: {
26381
26568
  destination?: Cartesian3 | Rectangle;
26382
- orientation?: any;
26569
+ orientation?: HeadingPitchRollValues | DirectionUp;
26383
26570
  endTransform?: Matrix4;
26384
26571
  convert?: boolean;
26385
26572
  }): void;
@@ -27558,10 +27745,6 @@ const tileset = scene.primitives.add(new Cesium.Cesium3DTileset({
27558
27745
  * @param [options.pointCloudShading] - Options for constructing a {@link PointCloudShading} object to control point attenuation based on geometric error and lighting.
27559
27746
  * @param [options.lightColor] - The light color when shading models. When <code>undefined</code> the scene's light color is used instead.
27560
27747
  * @param [options.imageBasedLighting] - The properties for managing image-based lighting for this tileset.
27561
- * @param [options.imageBasedLightingFactor = new Cartesian2(1.0, 1.0)] - Scales the diffuse and specular image-based lighting from the earth, sky, atmosphere and star skybox. Deprecated in Cesium 1.92, will be removed in Cesium 1.94.
27562
- * @param [options.luminanceAtZenith = 0.2] - The sun's luminance at the zenith in kilo candela per meter squared to use for this model's procedural environment map. Deprecated in Cesium 1.92, will be removed in Cesium 1.94.
27563
- * @param [options.sphericalHarmonicCoefficients] - The third order spherical harmonic coefficients used for the diffuse color of image-based lighting. Deprecated in Cesium 1.92, will be removed in Cesium 1.94.
27564
- * @param [options.specularEnvironmentMaps] - A URL to a KTX2 file that contains a cube map of the specular lighting and the convoluted specular mipmaps. Deprecated in Cesium 1.92, will be removed in Cesium 1.94.
27565
27748
  * @param [options.backFaceCulling = true] - Whether to cull back-facing geometry. When true, back face culling is determined by the glTF material's doubleSided property; when false, back face culling is disabled.
27566
27749
  * @param [options.showOutline = true] - Whether to display the outline for models using the {@link https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/CESIUM_primitive_outline|CESIUM_primitive_outline} extension. When true, outlines are displayed. When false, outlines are not displayed.
27567
27750
  * @param [options.vectorClassificationOnly = false] - Indicates that only the tileset's vector tiles should be used for classification.
@@ -27573,6 +27756,7 @@ const tileset = scene.primitives.add(new Cesium.Cesium3DTileset({
27573
27756
  * @param [options.debugHeatmapTilePropertyName] - The tile variable to colorize as a heatmap. All rendered tiles will be colorized relative to each other's specified variable value.
27574
27757
  * @param [options.debugFreezeFrame = false] - For debugging only. Determines if only the tiles from last frame should be used for rendering.
27575
27758
  * @param [options.debugColorizeTiles = false] - For debugging only. When true, assigns a random color to each tile.
27759
+ * @param [options.enableDebugWireframe] - For debugging only. This must be true for debugWireframe to work for ModelExperimental in WebGL1. This cannot be set after the tileset has loaded.
27576
27760
  * @param [options.debugWireframe = false] - For debugging only. When true, render's each tile's content as a wireframe.
27577
27761
  * @param [options.debugShowBoundingVolume = false] - For debugging only. When true, renders the bounding volume for each tile.
27578
27762
  * @param [options.debugShowContentBoundingVolume = false] - For debugging only. When true, renders the bounding volume for each tile's content.
@@ -27618,10 +27802,6 @@ export class Cesium3DTileset {
27618
27802
  pointCloudShading?: any;
27619
27803
  lightColor?: Cartesian3;
27620
27804
  imageBasedLighting?: ImageBasedLighting;
27621
- imageBasedLightingFactor?: Cartesian2;
27622
- luminanceAtZenith?: number;
27623
- sphericalHarmonicCoefficients?: Cartesian3[];
27624
- specularEnvironmentMaps?: string;
27625
27805
  backFaceCulling?: boolean;
27626
27806
  showOutline?: boolean;
27627
27807
  vectorClassificationOnly?: boolean;
@@ -27633,6 +27813,7 @@ export class Cesium3DTileset {
27633
27813
  debugHeatmapTilePropertyName?: string;
27634
27814
  debugFreezeFrame?: boolean;
27635
27815
  debugColorizeTiles?: boolean;
27816
+ enableDebugWireframe?: boolean;
27636
27817
  debugWireframe?: boolean;
27637
27818
  debugShowBoundingVolume?: boolean;
27638
27819
  debugShowContentBoundingVolume?: boolean;
@@ -27930,8 +28111,9 @@ export class Cesium3DTileset {
27930
28111
  /**
27931
28112
  * The light color when shading models. When <code>undefined</code> the scene's light color is used instead.
27932
28113
  <p>
27933
- For example, disabling additional light sources by setting <code>model.imageBasedLighting.imageBasedLightingFactor = new Cartesian2(0.0, 0.0)</code> will make the
27934
- model much darker. Here, increasing the intensity of the light source will make the model brighter.
28114
+ For example, disabling additional light sources by setting
28115
+ <code>tileset.imageBasedLighting.imageBasedLightingFactor = new Cartesian2(0.0, 0.0)</code>
28116
+ will make the tileset much darker. Here, increasing the intensity of the light source will make the tileset brighter.
27935
28117
  </p>
27936
28118
  */
27937
28119
  lightColor: Cartesian3;
@@ -28261,33 +28443,6 @@ export class Cesium3DTileset {
28261
28443
  * The properties for managing image-based lighting on this tileset.
28262
28444
  */
28263
28445
  imageBasedLighting: ImageBasedLighting;
28264
- /**
28265
- * Cesium adds lighting from the earth, sky, atmosphere, and star skybox. This cartesian is used to scale the final
28266
- diffuse and specular lighting contribution from those sources to the final color. A value of 0.0 will disable those light sources.
28267
- */
28268
- imageBasedLightingFactor: Cartesian2;
28269
- /**
28270
- * The sun's luminance at the zenith in kilo candela per meter squared to use for this model's procedural environment map.
28271
- This is used when {@link Cesium3DTileset#specularEnvironmentMaps} and {@link Cesium3DTileset#sphericalHarmonicCoefficients} are not defined.
28272
- */
28273
- luminanceAtZenith: number;
28274
- /**
28275
- * The third order spherical harmonic coefficients used for the diffuse color of image-based lighting. When <code>undefined</code>, a diffuse irradiance
28276
- computed from the atmosphere color is used.
28277
- <p>
28278
- There are nine <code>Cartesian3</code> coefficients.
28279
- The order of the coefficients is: L<sub>0,0</sub>, L<sub>1,-1</sub>, L<sub>1,0</sub>, L<sub>1,1</sub>, L<sub>2,-2</sub>, L<sub>2,-1</sub>, L<sub>2,0</sub>, L<sub>2,1</sub>, L<sub>2,2</sub>
28280
- </p>
28281
-
28282
- These values can be obtained by preprocessing the environment map using the <code>cmgen</code> tool of
28283
- {@link https://github.com/google/filament/releases|Google's Filament project}. This will also generate a KTX file that can be
28284
- supplied to {@link Cesium3DTileset#specularEnvironmentMaps}.
28285
- */
28286
- sphericalHarmonicCoefficients: Cartesian3[];
28287
- /**
28288
- * A URL to a KTX file that contains a cube map of the specular lighting and the convoluted specular mipmaps.
28289
- */
28290
- specularEnvironmentMaps: string;
28291
28446
  /**
28292
28447
  * Indicates that only the tileset's vector tiles should be used for classification.
28293
28448
  */
@@ -28414,10 +28569,10 @@ Evaluates an expression defined using the
28414
28569
  color : 'vec4(${Temperature})',
28415
28570
  pointSize : '${Temperature} * 2.0'
28416
28571
  });
28417
- * @param [style] - The url of a style or an object defining a style.
28572
+ * @param [style] - An object defining a style.
28418
28573
  */
28419
28574
  export class Cesium3DTileStyle {
28420
- constructor(style?: Resource | string | any);
28575
+ constructor(style?: any);
28421
28576
  /**
28422
28577
  * Gets the object defining the style using the
28423
28578
  {@link https://github.com/CesiumGS/3d-tiles/tree/main/specification/Styling|3D Tiles Styling language}.
@@ -30860,6 +31015,33 @@ export class Globe {
30860
31015
  * Enable the ground atmosphere, which is drawn over the globe when viewed from a distance between <code>lightingFadeInDistance</code> and <code>lightingFadeOutDistance</code>.
30861
31016
  */
30862
31017
  showGroundAtmosphere: boolean;
31018
+ /**
31019
+ * The intensity of the light that is used for computing the ground atmosphere color.
31020
+ */
31021
+ atmosphereLightIntensity: number;
31022
+ /**
31023
+ * The Rayleigh scattering coefficient used in the atmospheric scattering equations for the ground atmosphere.
31024
+ */
31025
+ atmosphereRayleighCoefficient: Cartesian3;
31026
+ /**
31027
+ * The Mie scattering coefficient used in the atmospheric scattering equations for the ground atmosphere.
31028
+ */
31029
+ atmosphereMieCoefficient: Cartesian3;
31030
+ /**
31031
+ * The Rayleigh scale height used in the atmospheric scattering equations for the ground atmosphere, in meters.
31032
+ */
31033
+ atmosphereRayleighScaleHeight: number;
31034
+ /**
31035
+ * The Mie scale height used in the atmospheric scattering equations for the ground atmosphere, in meters.
31036
+ */
31037
+ atmosphereMieScaleHeight: number;
31038
+ /**
31039
+ * The anisotropy of the medium to consider for Mie scattering.
31040
+ <p>
31041
+ Valid values are between -1.0 and 1.0.
31042
+ </p>
31043
+ */
31044
+ atmosphereMieAnisotropy: number;
30863
31045
  /**
30864
31046
  * The distance where everything becomes lit. This only takes effect
30865
31047
  when <code>enableLighting</code> or <code>showGroundAtmosphere</code> is <code>true</code>.
@@ -30992,7 +31174,7 @@ export class Globe {
30992
31174
  * 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
31175
  {@link https://github.com/CesiumGS/cesium/wiki/Fabric|Fabric}.
30994
31176
  */
30995
- material: Material;
31177
+ material: Material | undefined;
30996
31178
  /**
30997
31179
  * The color to render the back side of the globe when the camera is underground or the globe is translucent,
30998
31180
  blended with the globe color based on the camera's distance.
@@ -31151,8 +31333,8 @@ export namespace GoogleEarthEnterpriseImageryProvider {
31151
31333
  * @property metadata - A metadata object that can be used to share metadata requests with a GoogleEarthEnterpriseTerrainProvider.
31152
31334
  * @property [ellipsoid] - The ellipsoid. If not specified, the WGS84 ellipsoid is used.
31153
31335
  * @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.
31336
+ is invalid and should be discarded. If this value is not specified, a default
31337
+ is to discard tiles that fail to download.
31156
31338
  * @property [credit] - A credit for the data source, which is displayed on the canvas.
31157
31339
  */
31158
31340
  type ConstructorOptions = {
@@ -31166,41 +31348,41 @@ export namespace GoogleEarthEnterpriseImageryProvider {
31166
31348
 
31167
31349
  /**
31168
31350
  * 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.
31351
+
31352
+ Notes: This provider is for use with the 3D Earth API of Google Earth Enterprise,
31353
+ {@link GoogleEarthEnterpriseMapsProvider} should be used with 2D Maps API.
31172
31354
  * @example
31173
31355
  * const geeMetadata = new GoogleEarthEnterpriseMetadata('http://www.earthenterprise.org/3d');
31174
- * const gee = new Cesium.GoogleEarthEnterpriseImageryProvider({
31175
- * metadata : geeMetadata
31176
- * });
31356
+ const gee = new Cesium.GoogleEarthEnterpriseImageryProvider({
31357
+ metadata : geeMetadata
31358
+ });
31177
31359
  * @param options - Object describing initialization options
31178
31360
  */
31179
31361
  export class GoogleEarthEnterpriseImageryProvider {
31180
31362
  constructor(options: GoogleEarthEnterpriseImageryProvider.ConstructorOptions);
31181
31363
  /**
31182
31364
  * The default alpha blending value of this provider, with 0.0 representing fully transparent and
31183
- * 1.0 representing fully opaque.
31365
+ 1.0 representing fully opaque.
31184
31366
  */
31185
31367
  defaultAlpha: number | undefined;
31186
31368
  /**
31187
31369
  * 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.
31370
+ 1.0 representing fully opaque.
31189
31371
  */
31190
31372
  defaultNightAlpha: number | undefined;
31191
31373
  /**
31192
31374
  * 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.
31375
+ 1.0 representing fully opaque.
31194
31376
  */
31195
31377
  defaultDayAlpha: number | undefined;
31196
31378
  /**
31197
31379
  * 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.
31380
+ makes the imagery darker while greater than 1.0 makes it brighter.
31199
31381
  */
31200
31382
  defaultBrightness: number | undefined;
31201
31383
  /**
31202
31384
  * 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.
31385
+ the contrast while greater than 1.0 increases it.
31204
31386
  */
31205
31387
  defaultContrast: number | undefined;
31206
31388
  /**
@@ -31209,7 +31391,7 @@ export class GoogleEarthEnterpriseImageryProvider {
31209
31391
  defaultHue: number | undefined;
31210
31392
  /**
31211
31393
  * 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.
31394
+ saturation while greater than 1.0 increases it.
31213
31395
  */
31214
31396
  defaultSaturation: number | undefined;
31215
31397
  /**
@@ -31234,45 +31416,45 @@ export class GoogleEarthEnterpriseImageryProvider {
31234
31416
  readonly proxy: Proxy;
31235
31417
  /**
31236
31418
  * Gets the width of each tile, in pixels. This function should
31237
- * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31419
+ not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31238
31420
  */
31239
31421
  readonly tileWidth: number;
31240
31422
  /**
31241
31423
  * Gets the height of each tile, in pixels. This function should
31242
- * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31424
+ not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31243
31425
  */
31244
31426
  readonly tileHeight: number;
31245
31427
  /**
31246
31428
  * Gets the maximum level-of-detail that can be requested. This function should
31247
- * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31429
+ not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31248
31430
  */
31249
31431
  readonly maximumLevel: number | undefined;
31250
31432
  /**
31251
31433
  * Gets the minimum level-of-detail that can be requested. This function should
31252
- * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31434
+ not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31253
31435
  */
31254
31436
  readonly minimumLevel: number;
31255
31437
  /**
31256
31438
  * Gets the tiling scheme used by this provider. This function should
31257
- * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31439
+ not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31258
31440
  */
31259
31441
  readonly tilingScheme: TilingScheme;
31260
31442
  /**
31261
31443
  * 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.
31444
+ not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31263
31445
  */
31264
31446
  readonly rectangle: Rectangle;
31265
31447
  /**
31266
31448
  * 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.
31449
+ for filtering out "missing" tiles via its shouldDiscardImage function. If this function
31450
+ returns undefined, no tiles are filtered. This function should
31451
+ not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31270
31452
  */
31271
31453
  readonly tileDiscardPolicy: TileDiscardPolicy;
31272
31454
  /**
31273
31455
  * 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}.
31456
+ to the event, you will be notified of the error and can potentially recover from it. Event listeners
31457
+ are passed an instance of {@link TileProviderError}.
31276
31458
  */
31277
31459
  readonly errorEvent: Event;
31278
31460
  /**
@@ -31285,15 +31467,15 @@ export class GoogleEarthEnterpriseImageryProvider {
31285
31467
  readonly readyPromise: Promise<boolean>;
31286
31468
  /**
31287
31469
  * 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.
31470
+ the source of the imagery. This function should not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31289
31471
  */
31290
31472
  readonly credit: Credit;
31291
31473
  /**
31292
31474
  * 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.
31475
+ include an alpha channel. If this property is false, an alpha channel, if present, will
31476
+ be ignored. If this property is true, any images without an alpha channel will be treated
31477
+ as if their alpha is 1.0 everywhere. Setting this property to false reduces memory usage
31478
+ and texture upload time.
31297
31479
  */
31298
31480
  readonly hasAlphaChannel: boolean;
31299
31481
  /**
@@ -31306,31 +31488,26 @@ export class GoogleEarthEnterpriseImageryProvider {
31306
31488
  getTileCredits(x: number, y: number, level: number): Credit[];
31307
31489
  /**
31308
31490
  * Requests the image for a given tile. This function should
31309
- * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31491
+ not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31310
31492
  * @param x - The tile X coordinate.
31311
31493
  * @param y - The tile Y coordinate.
31312
31494
  * @param level - The tile level.
31313
31495
  * @param [request] - The request object. Intended for internal use only.
31314
31496
  * @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.
31497
+ undefined if there are too many active requests to the server, and the request should be retried later.
31318
31498
  */
31319
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
31499
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
31320
31500
  /**
31321
31501
  * Picking features is not currently supported by this imagery provider, so this function simply returns
31322
- * undefined.
31502
+ undefined.
31323
31503
  * @param x - The tile X coordinate.
31324
31504
  * @param y - The tile Y coordinate.
31325
31505
  * @param level - The tile level.
31326
31506
  * @param longitude - The longitude at which to pick features.
31327
31507
  * @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.
31508
+ * @returns Undefined since picking is not supported.
31332
31509
  */
31333
- pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise<ImageryLayerFeatureInfo[]> | undefined;
31510
+ pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): undefined;
31334
31511
  }
31335
31512
 
31336
31513
  export namespace GoogleEarthEnterpriseMapsProvider {
@@ -31548,11 +31725,9 @@ export class GoogleEarthEnterpriseMapsProvider {
31548
31725
  * @param level - The tile level.
31549
31726
  * @param [request] - The request object. Intended for internal use only.
31550
31727
  * @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.
31728
+ undefined if there are too many active requests to the server, and the request should be retried later.
31554
31729
  */
31555
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
31730
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
31556
31731
  /**
31557
31732
  * Picking features is not currently supported by this imagery provider, so this function simply returns
31558
31733
  undefined.
@@ -31561,12 +31736,9 @@ export class GoogleEarthEnterpriseMapsProvider {
31561
31736
  * @param level - The tile level.
31562
31737
  * @param longitude - The longitude at which to pick features.
31563
31738
  * @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.
31739
+ * @returns Undefined since picking is not supported.
31568
31740
  */
31569
- pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise<ImageryLayerFeatureInfo[]> | undefined;
31741
+ pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): undefined;
31570
31742
  /**
31571
31743
  * Gets or sets the URL to the Google Earth logo for display in the credit.
31572
31744
  */
@@ -31578,8 +31750,8 @@ export namespace GridImageryProvider {
31578
31750
  * Initialization options for the GridImageryProvider constructor
31579
31751
  * @property [tilingScheme = new GeographicTilingScheme()] - The tiling scheme for which to draw tiles.
31580
31752
  * @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.
31753
+ this parameter is ignored and the tiling scheme's ellipsoid is used instead. If neither
31754
+ parameter is specified, the WGS84 ellipsoid is used.
31583
31755
  * @property [cells = 8] - The number of grids cells.
31584
31756
  * @property [color = Color(1.0, 1.0, 1.0, 0.4)] - The color to draw grid lines.
31585
31757
  * @property [glowColor = Color(0.0, 1.0, 0.0, 0.05)] - The color to draw glow for grid lines.
@@ -31605,34 +31777,34 @@ export namespace GridImageryProvider {
31605
31777
 
31606
31778
  /**
31607
31779
  * 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.
31780
+ May be useful for custom rendering effects or debugging terrain.
31609
31781
  * @param options - Object describing initialization options
31610
31782
  */
31611
31783
  export class GridImageryProvider {
31612
31784
  constructor(options: GridImageryProvider.ConstructorOptions);
31613
31785
  /**
31614
31786
  * The default alpha blending value of this provider, with 0.0 representing fully transparent and
31615
- * 1.0 representing fully opaque.
31787
+ 1.0 representing fully opaque.
31616
31788
  */
31617
31789
  defaultAlpha: number | undefined;
31618
31790
  /**
31619
31791
  * 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.
31792
+ 1.0 representing fully opaque.
31621
31793
  */
31622
31794
  defaultNightAlpha: number | undefined;
31623
31795
  /**
31624
31796
  * 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.
31797
+ 1.0 representing fully opaque.
31626
31798
  */
31627
31799
  defaultDayAlpha: number | undefined;
31628
31800
  /**
31629
31801
  * 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.
31802
+ makes the imagery darker while greater than 1.0 makes it brighter.
31631
31803
  */
31632
31804
  defaultBrightness: number | undefined;
31633
31805
  /**
31634
31806
  * 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.
31807
+ the contrast while greater than 1.0 increases it.
31636
31808
  */
31637
31809
  defaultContrast: number | undefined;
31638
31810
  /**
@@ -31641,7 +31813,7 @@ export class GridImageryProvider {
31641
31813
  defaultHue: number | undefined;
31642
31814
  /**
31643
31815
  * 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.
31816
+ saturation while greater than 1.0 increases it.
31645
31817
  */
31646
31818
  defaultSaturation: number | undefined;
31647
31819
  /**
@@ -31662,45 +31834,45 @@ export class GridImageryProvider {
31662
31834
  readonly proxy: Proxy;
31663
31835
  /**
31664
31836
  * Gets the width of each tile, in pixels. This function should
31665
- * not be called before {@link GridImageryProvider#ready} returns true.
31837
+ not be called before {@link GridImageryProvider#ready} returns true.
31666
31838
  */
31667
31839
  readonly tileWidth: number;
31668
31840
  /**
31669
31841
  * Gets the height of each tile, in pixels. This function should
31670
- * not be called before {@link GridImageryProvider#ready} returns true.
31842
+ not be called before {@link GridImageryProvider#ready} returns true.
31671
31843
  */
31672
31844
  readonly tileHeight: number;
31673
31845
  /**
31674
31846
  * Gets the maximum level-of-detail that can be requested. This function should
31675
- * not be called before {@link GridImageryProvider#ready} returns true.
31847
+ not be called before {@link GridImageryProvider#ready} returns true.
31676
31848
  */
31677
31849
  readonly maximumLevel: number | undefined;
31678
31850
  /**
31679
31851
  * Gets the minimum level-of-detail that can be requested. This function should
31680
- * not be called before {@link GridImageryProvider#ready} returns true.
31852
+ not be called before {@link GridImageryProvider#ready} returns true.
31681
31853
  */
31682
31854
  readonly minimumLevel: number;
31683
31855
  /**
31684
31856
  * Gets the tiling scheme used by this provider. This function should
31685
- * not be called before {@link GridImageryProvider#ready} returns true.
31857
+ not be called before {@link GridImageryProvider#ready} returns true.
31686
31858
  */
31687
31859
  readonly tilingScheme: TilingScheme;
31688
31860
  /**
31689
31861
  * 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.
31862
+ not be called before {@link GridImageryProvider#ready} returns true.
31691
31863
  */
31692
31864
  readonly rectangle: Rectangle;
31693
31865
  /**
31694
31866
  * 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.
31867
+ for filtering out "missing" tiles via its shouldDiscardImage function. If this function
31868
+ returns undefined, no tiles are filtered. This function should
31869
+ not be called before {@link GridImageryProvider#ready} returns true.
31698
31870
  */
31699
31871
  readonly tileDiscardPolicy: TileDiscardPolicy;
31700
31872
  /**
31701
31873
  * 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}.
31874
+ to the event, you will be notified of the error and can potentially recover from it. Event listeners
31875
+ are passed an instance of {@link TileProviderError}.
31704
31876
  */
31705
31877
  readonly errorEvent: Event;
31706
31878
  /**
@@ -31713,15 +31885,15 @@ export class GridImageryProvider {
31713
31885
  readonly readyPromise: Promise<boolean>;
31714
31886
  /**
31715
31887
  * 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.
31888
+ the source of the imagery. This function should not be called before {@link GridImageryProvider#ready} returns true.
31717
31889
  */
31718
31890
  readonly credit: Credit;
31719
31891
  /**
31720
31892
  * 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.
31893
+ include an alpha channel. If this property is false, an alpha channel, if present, will
31894
+ be ignored. If this property is true, any images without an alpha channel will be treated
31895
+ as if their alpha is 1.0 everywhere. When this property is false, memory usage
31896
+ and texture upload time are reduced.
31725
31897
  */
31726
31898
  readonly hasAlphaChannel: boolean;
31727
31899
  /**
@@ -31742,31 +31914,25 @@ export class GridImageryProvider {
31742
31914
  getTileCredits(x: number, y: number, level: number): Credit[];
31743
31915
  /**
31744
31916
  * Requests the image for a given tile. This function should
31745
- * not be called before {@link GridImageryProvider#ready} returns true.
31917
+ not be called before {@link GridImageryProvider#ready} returns true.
31746
31918
  * @param x - The tile X coordinate.
31747
31919
  * @param y - The tile Y coordinate.
31748
31920
  * @param level - The tile level.
31749
31921
  * @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.
31922
+ * @returns The resolved image as a Canvas DOM object.
31754
31923
  */
31755
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
31924
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLCanvasElement>;
31756
31925
  /**
31757
31926
  * Picking features is not currently supported by this imagery provider, so this function simply returns
31758
- * undefined.
31927
+ undefined.
31759
31928
  * @param x - The tile X coordinate.
31760
31929
  * @param y - The tile Y coordinate.
31761
31930
  * @param level - The tile level.
31762
31931
  * @param longitude - The longitude at which to pick features.
31763
31932
  * @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.
31933
+ * @returns Undefined since picking is not supported.
31768
31934
  */
31769
- pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise<ImageryLayerFeatureInfo[]> | undefined;
31935
+ pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): undefined;
31770
31936
  }
31771
31937
 
31772
31938
  /**
@@ -32569,24 +32735,24 @@ export class ImageryLayerCollection {
32569
32735
  constructor();
32570
32736
  /**
32571
32737
  * 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.
32738
+ was added and the index at which it was added.
32573
32739
  */
32574
32740
  layerAdded: Event;
32575
32741
  /**
32576
32742
  * 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.
32743
+ was removed and the index from which it was removed.
32578
32744
  */
32579
32745
  layerRemoved: Event;
32580
32746
  /**
32581
32747
  * 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.
32748
+ was moved, its new index after the move, and its old index prior to the move.
32583
32749
  */
32584
32750
  layerMoved: Event;
32585
32751
  /**
32586
32752
  * 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.
32753
+ {@link ImageryLayer#show} property. Event handlers are passed a reference to this layer,
32754
+ the index of the layer in the collection, and a flag that is true if the layer is now
32755
+ shown or false if it is now hidden.
32590
32756
  */
32591
32757
  layerShownOrHidden: Event;
32592
32758
  /**
@@ -32597,14 +32763,14 @@ export class ImageryLayerCollection {
32597
32763
  * Adds a layer to the collection.
32598
32764
  * @param layer - the layer to add.
32599
32765
  * @param [index] - the index to add the layer at. If omitted, the layer will
32600
- * be added on top of all existing layers.
32766
+ be added on top of all existing layers.
32601
32767
  */
32602
32768
  add(layer: ImageryLayer, index?: number): void;
32603
32769
  /**
32604
32770
  * Creates a new layer using the given ImageryProvider and adds it to the collection.
32605
32771
  * @param imageryProvider - the imagery provider to create a new layer for.
32606
32772
  * @param [index] - the index to add the layer at. If omitted, the layer will
32607
- * added on top of all existing layers.
32773
+ added on top of all existing layers.
32608
32774
  * @returns The newly created layer.
32609
32775
  */
32610
32776
  addImageryProvider(imageryProvider: ImageryProvider, index?: number): ImageryLayer;
@@ -32613,7 +32779,7 @@ export class ImageryLayerCollection {
32613
32779
  * @param layer - The layer to remove.
32614
32780
  * @param [destroy = true] - whether to destroy the layers in addition to removing them.
32615
32781
  * @returns true if the layer was in the collection and was removed,
32616
- * false if the layer was not in the collection.
32782
+ false if the layer was not in the collection.
32617
32783
  */
32618
32784
  remove(layer: ImageryLayer, destroy?: boolean): boolean;
32619
32785
  /**
@@ -32661,57 +32827,57 @@ export class ImageryLayerCollection {
32661
32827
  lowerToBottom(layer: ImageryLayer): void;
32662
32828
  /**
32663
32829
  * 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}.
32830
+ location on the screen, use {@link Camera.getPickRay}.
32665
32831
  * @param ray - The ray to test for intersection.
32666
32832
  * @param scene - The scene.
32667
32833
  * @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.
32834
+ the layers that are intersected by a given pick ray. Undefined if
32835
+ no layers are selected.
32670
32836
  */
32671
32837
  pickImageryLayers(ray: Ray, scene: Scene): ImageryLayer[] | undefined;
32672
32838
  /**
32673
32839
  * 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}.
32840
+ layer features are found by invoking {@link ImageryProvider#pickFeatures} for each imagery layer tile intersected
32841
+ by the pick ray. To compute a pick ray from a location on the screen, use {@link Camera.getPickRay}.
32676
32842
  * @example
32677
32843
  * 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
- * }
32844
+ const featuresPromise = viewer.imageryLayers.pickImageryLayerFeatures(pickRay, viewer.scene);
32845
+ if (!Cesium.defined(featuresPromise)) {
32846
+ console.log('No features picked.');
32847
+ } else {
32848
+ Promise.resolve(featuresPromise).then(function(features) {
32849
+ // This function is called asynchronously when the list if picked features is available.
32850
+ console.log('Number of features: ' + features.length);
32851
+ if (features.length > 0) {
32852
+ console.log('First feature name: ' + features[0].name);
32853
+ }
32854
+ });
32855
+ }
32690
32856
  * @param ray - The ray to test for intersection.
32691
32857
  * @param scene - The scene.
32692
32858
  * @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.
32859
+ If it can be quickly determined that no features are intersected (for example,
32860
+ because no active imagery providers support {@link ImageryProvider#pickFeatures}
32861
+ or because the pick ray does not intersect the surface), this function will
32862
+ return undefined.
32697
32863
  */
32698
32864
  pickImageryLayerFeatures(ray: Ray, scene: Scene): Promise<ImageryLayerFeatureInfo[]> | undefined;
32699
32865
  /**
32700
32866
  * 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.
32867
+ <br /><br />
32868
+ If this object was destroyed, it should not be used; calling any function other than
32869
+ <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
32704
32870
  * @returns true if this object was destroyed; otherwise, false.
32705
32871
  */
32706
32872
  isDestroyed(): boolean;
32707
32873
  /**
32708
32874
  * 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.
32875
+ object allows for deterministic release of WebGL resources, instead of relying on the garbage
32876
+ collector.
32877
+ <br /><br />
32878
+ Once this object is destroyed, it should not be used; calling any function other than
32879
+ <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
32880
+ assign the return value (<code>undefined</code>) to the object as done in the example.
32715
32881
  * @example
32716
32882
  * layerCollection = layerCollection && layerCollection.destroy();
32717
32883
  */
@@ -32760,6 +32926,16 @@ export class ImageryLayerFeatureInfo {
32760
32926
  configureDescriptionFromProperties(properties: any): void;
32761
32927
  }
32762
32928
 
32929
+ /**
32930
+ * The format in which {@link ImageryProvider} methods return an image may
32931
+ vary by provider, configuration, or server settings. Most common are
32932
+ <code>HTMLImageElement</code>, <code>HTMLCanvasElement</code>, or on supported
32933
+ browsers, <code>ImageBitmap</code>.
32934
+
32935
+ See the documentation for each ImageryProvider class for more information about how they return images.
32936
+ */
32937
+ export type ImageryTypes = HTMLImageElement | HTMLCanvasElement | ImageBitmap;
32938
+
32763
32939
  /**
32764
32940
  * Provides imagery to be displayed on the surface of an ellipsoid. This type describes an
32765
32941
  interface and is not intended to be instantiated directly.
@@ -32900,12 +33076,10 @@ export class ImageryProvider {
32900
33076
  * @param y - The tile Y coordinate.
32901
33077
  * @param level - The tile level.
32902
33078
  * @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.
33079
+ * @returns Returns a promise for the image that will resolve when the image is available, or
33080
+ undefined if there are too many active requests to the server, and the request should be retried later.
32907
33081
  */
32908
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
33082
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
32909
33083
  /**
32910
33084
  * Asynchronously determines what features, if any, are located at a given longitude and latitude within
32911
33085
  a tile. This function should not be called before {@link ImageryProvider#ready} returns true.
@@ -32928,17 +33102,9 @@ export class ImageryProvider {
32928
33102
  * @param imageryProvider - The imagery provider for the URL.
32929
33103
  * @param url - The URL of the image.
32930
33104
  * @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.
33105
+ undefined if there are too many active requests to the server, and the request should be retried later.
32934
33106
  */
32935
- static loadImage(imageryProvider: ImageryProvider, url: Resource | string): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
32936
- }
32937
-
32938
- /**
32939
- * This enumeration is deprecated. Use {@link SplitPosition} instead.
32940
- */
32941
- export enum ImagerySplitDirection {
33107
+ static loadImage(imageryProvider: ImageryProvider, url: Resource | string): Promise<ImageryTypes | CompressedTextureBuffer> | undefined;
32942
33108
  }
32943
33109
 
32944
33110
  export namespace IonImageryProvider {
@@ -33098,11 +33264,9 @@ export class IonImageryProvider {
33098
33264
  * @param level - The tile level.
33099
33265
  * @param [request] - The request object. Intended for internal use only.
33100
33266
  * @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.
33267
+ undefined if there are too many active requests to the server, and the request should be retried later.
33104
33268
  */
33105
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
33269
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
33106
33270
  /**
33107
33271
  * Asynchronously determines what features, if any, are located at a given longitude and latitude within
33108
33272
  a tile. This function should not be called before {@link IonImageryProvider#ready} returns true.
@@ -33403,33 +33567,33 @@ export class Label {
33403
33567
 
33404
33568
  /**
33405
33569
  * 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}.
33570
+ Each label can have a different font, color, scale, etc.
33571
+ <br /><br />
33572
+ <div align='center'>
33573
+ <img src='Images/Label.png' width='400' height='300' /><br />
33574
+ Example labels
33575
+ </div>
33576
+ <br /><br />
33577
+ Labels are added and removed from the collection using {@link LabelCollection#add}
33578
+ and {@link LabelCollection#remove}.
33415
33579
  * @example
33416
33580
  * // 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
- * });
33581
+ const labels = scene.primitives.add(new Cesium.LabelCollection());
33582
+ labels.add({
33583
+ position : new Cesium.Cartesian3(1.0, 2.0, 3.0),
33584
+ text : 'A label'
33585
+ });
33586
+ labels.add({
33587
+ position : new Cesium.Cartesian3(4.0, 5.0, 6.0),
33588
+ text : 'Another label'
33589
+ });
33426
33590
  * @param [options] - Object with the following properties:
33427
33591
  * @param [options.modelMatrix = Matrix4.IDENTITY] - The 4x4 transformation matrix that transforms each label from model to world coordinates.
33428
33592
  * @param [options.debugShowBoundingVolume = false] - For debugging only. Determines if this primitive's commands' bounding spheres are shown.
33429
33593
  * @param [options.scene] - Must be passed in for labels that use the height reference property or will be depth tested against the globe.
33430
33594
  * @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.
33595
+ is used for rendering both opaque and translucent labels. However, if either all of the labels are completely opaque or all are completely translucent,
33596
+ setting the technique to BlendOption.OPAQUE or BlendOption.TRANSLUCENT can improve performance by up to 2x.
33433
33597
  * @param [options.show = true] - Determines if the labels in the collection will be shown.
33434
33598
  */
33435
33599
  export class LabelCollection {
@@ -33446,85 +33610,85 @@ export class LabelCollection {
33446
33610
  show: boolean;
33447
33611
  /**
33448
33612
  * 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}.
33613
+ When this is the identity matrix, the labels are drawn in world coordinates, i.e., Earth's WGS84 coordinates.
33614
+ Local reference frames can be used by providing a different transformation matrix, like that returned
33615
+ by {@link Transforms.eastNorthUpToFixedFrame}.
33452
33616
  * @example
33453
33617
  * 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
- * });
33618
+ labels.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(center);
33619
+ labels.add({
33620
+ position : new Cesium.Cartesian3(0.0, 0.0, 0.0),
33621
+ text : 'Center'
33622
+ });
33623
+ labels.add({
33624
+ position : new Cesium.Cartesian3(1000000.0, 0.0, 0.0),
33625
+ text : 'East'
33626
+ });
33627
+ labels.add({
33628
+ position : new Cesium.Cartesian3(0.0, 1000000.0, 0.0),
33629
+ text : 'North'
33630
+ });
33631
+ labels.add({
33632
+ position : new Cesium.Cartesian3(0.0, 0.0, 1000000.0),
33633
+ text : 'Up'
33634
+ });
33471
33635
  */
33472
33636
  modelMatrix: Matrix4;
33473
33637
  /**
33474
33638
  * 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>
33639
+ <p>
33640
+ Draws the bounding sphere for each draw command in the primitive.
33641
+ </p>
33478
33642
  */
33479
33643
  debugShowBoundingVolume: boolean;
33480
33644
  /**
33481
33645
  * 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.
33646
+ However, if either all of the labels are completely opaque or all are completely translucent,
33647
+ setting the technique to BlendOption.OPAQUE or BlendOption.TRANSLUCENT can improve
33648
+ performance by up to 2x.
33485
33649
  */
33486
33650
  blendOption: BlendOption;
33487
33651
  /**
33488
33652
  * 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.
33653
+ {@link LabelCollection#get} to iterate over all the labels
33654
+ in the collection.
33491
33655
  */
33492
33656
  length: number;
33493
33657
  /**
33494
33658
  * 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.
33659
+ The added label is returned so it can be modified or removed from the collection later.
33496
33660
  * @example
33497
33661
  * // 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
- * });
33662
+ const l = labels.add({
33663
+ show : true,
33664
+ position : Cesium.Cartesian3.ZERO,
33665
+ text : '',
33666
+ font : '30px sans-serif',
33667
+ fillColor : Cesium.Color.WHITE,
33668
+ outlineColor : Cesium.Color.BLACK,
33669
+ outlineWidth : 1.0,
33670
+ showBackground : false,
33671
+ backgroundColor : new Cesium.Color(0.165, 0.165, 0.165, 0.8),
33672
+ backgroundPadding : new Cesium.Cartesian2(7, 5),
33673
+ style : Cesium.LabelStyle.FILL,
33674
+ pixelOffset : Cesium.Cartesian2.ZERO,
33675
+ eyeOffset : Cesium.Cartesian3.ZERO,
33676
+ horizontalOrigin : Cesium.HorizontalOrigin.LEFT,
33677
+ verticalOrigin : Cesium.VerticalOrigin.BASELINE,
33678
+ scale : 1.0,
33679
+ translucencyByDistance : undefined,
33680
+ pixelOffsetScaleByDistance : undefined,
33681
+ heightReference : HeightReference.NONE,
33682
+ distanceDisplayCondition : undefined
33683
+ });
33520
33684
  * @example
33521
33685
  * // 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
- * });
33686
+ // text, and font.
33687
+ const l = labels.add({
33688
+ position : Cesium.Cartesian3.fromRadians(longitude, latitude, height),
33689
+ text : 'Hello World',
33690
+ font : '24px Helvetica',
33691
+ });
33528
33692
  * @param [options] - A template describing the label's properties as shown in Example 1.
33529
33693
  * @returns The label that was added to the collection.
33530
33694
  */
@@ -33533,7 +33697,7 @@ export class LabelCollection {
33533
33697
  * Removes a label from the collection. Once removed, a label is no longer usable.
33534
33698
  * @example
33535
33699
  * const l = labels.add(...);
33536
- * labels.remove(l); // Returns true
33700
+ labels.remove(l); // Returns true
33537
33701
  * @param label - The label to remove.
33538
33702
  * @returns <code>true</code> if the label was removed; <code>false</code> if the label was not found in the collection.
33539
33703
  */
@@ -33542,8 +33706,8 @@ export class LabelCollection {
33542
33706
  * Removes all labels from the collection.
33543
33707
  * @example
33544
33708
  * labels.add(...);
33545
- * labels.add(...);
33546
- * labels.removeAll();
33709
+ labels.add(...);
33710
+ labels.removeAll();
33547
33711
  */
33548
33712
  removeAll(): void;
33549
33713
  /**
@@ -33554,36 +33718,36 @@ export class LabelCollection {
33554
33718
  contains(label: Label): boolean;
33555
33719
  /**
33556
33720
  * 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.
33721
+ and increase as labels are added. Removing a label shifts all labels after
33722
+ it to the left, changing their indices. This function is commonly used with
33723
+ {@link LabelCollection#length} to iterate over all the labels
33724
+ in the collection.
33561
33725
  * @example
33562
33726
  * // 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
- * }
33727
+ const len = labels.length;
33728
+ for (let i = 0; i < len; ++i) {
33729
+ const l = billboards.get(i);
33730
+ l.show = !l.show;
33731
+ }
33568
33732
  * @param index - The zero-based index of the billboard.
33569
33733
  * @returns The label at the specified index.
33570
33734
  */
33571
33735
  get(index: number): Label;
33572
33736
  /**
33573
33737
  * 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.
33738
+ <br /><br />
33739
+ If this object was destroyed, it should not be used; calling any function other than
33740
+ <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
33577
33741
  * @returns True if this object was destroyed; otherwise, false.
33578
33742
  */
33579
33743
  isDestroyed(): boolean;
33580
33744
  /**
33581
33745
  * 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.
33746
+ release of WebGL resources, instead of relying on the garbage collector to destroy this object.
33747
+ <br /><br />
33748
+ Once an object is destroyed, it should not be used; calling any function other than
33749
+ <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
33750
+ assign the return value (<code>undefined</code>) to the object as done in the example.
33587
33751
  * @example
33588
33752
  * labels = labels && labels.destroy();
33589
33753
  */
@@ -33802,11 +33966,9 @@ export class MapboxImageryProvider {
33802
33966
  * @param level - The tile level.
33803
33967
  * @param [request] - The request object. Intended for internal use only.
33804
33968
  * @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.
33969
+ undefined if there are too many active requests to the server, and the request should be retried later.
33808
33970
  */
33809
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
33971
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
33810
33972
  /**
33811
33973
  * Asynchronously determines what features, if any, are located at a given longitude and latitude within
33812
33974
  a tile. This function should not be called before {@link MapboxImageryProvider#ready} returns true.
@@ -34007,11 +34169,9 @@ export class MapboxStyleImageryProvider {
34007
34169
  * @param level - The tile level.
34008
34170
  * @param [request] - The request object. Intended for internal use only.
34009
34171
  * @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.
34172
+ undefined if there are too many active requests to the server, and the request should be retried later.
34013
34173
  */
34014
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
34174
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
34015
34175
  /**
34016
34176
  * Asynchronously determines what features, if any, are located at a given longitude and latitude within
34017
34177
  a tile. This function should not be called before {@link MapboxStyleImageryProvider#ready} returns true.
@@ -34655,13 +34815,9 @@ relative to a local origin.
34655
34815
  * @param [options.silhouetteColor = Color.RED] - The silhouette color. If more than 256 models have silhouettes enabled, there is a small chance that overlapping models will have minor artifacts.
34656
34816
  * @param [options.silhouetteSize = 0.0] - The size of the silhouette in pixels.
34657
34817
  * @param [options.clippingPlanes] - The {@link ClippingPlaneCollection} used to selectively disable rendering the model.
34658
- * @param [options.dequantizeInShader = true] - Determines if a {@link https://github.com/google/draco|Draco} encoded model is dequantized on the GPU. This decreases total memory usage for encoded models.
34818
+ * @param [options.dequantizeInShader = true] - Determines if a {@link https://github.com/google/draco|Draco} encoded model is dequantized on the GPU. This decreases total memory usage for encoded models. Deprecated in CesiumJS 1.94, will be removed in CesiumJS 1.95.
34659
34819
  * @param [options.lightColor] - The light color when shading the model. When <code>undefined</code> the scene's light color is used instead.
34660
34820
  * @param [options.imageBasedLighting] - The properties for managing image-based lighting on this model.
34661
- * @param [options.imageBasedLightingFactor = new Cartesian2(1.0, 1.0)] - Scales diffuse and specular image-based lighting from the earth, sky, atmosphere and star skybox. Deprecated in Cesium 1.92, will be removed in Cesium 1.94.
34662
- * @param [options.luminanceAtZenith = 0.2] - The sun's luminance at the zenith in kilo candela per meter squared to use for this model's procedural environment map. Deprecated in Cesium 1.92, will be removed in Cesium 1.94.
34663
- * @param [options.sphericalHarmonicCoefficients] - The third order spherical harmonic coefficients used for the diffuse color of image-based lighting. Deprecated in Cesium 1.92, will be removed in Cesium 1.94.
34664
- * @param [options.specularEnvironmentMaps] - A URL to a KTX2 file that contains a cube map of the specular lighting and the convoluted specular mipmaps. Deprecated in Cesium 1.92, will be removed in Cesium 1.94.
34665
34821
  * @param [options.credit] - A credit for the data source, which is displayed on the canvas.
34666
34822
  * @param [options.showCreditsOnScreen = false] - Whether to display the credits of this model on screen.
34667
34823
  * @param [options.backFaceCulling = true] - Whether to cull back-facing geometry. When true, back face culling is determined by the material's doubleSided property; when false, back face culling is disabled. Back faces are not culled if {@link Model#color} is translucent or {@link Model#silhouetteSize} is greater than 0.0.
@@ -34697,10 +34853,6 @@ export class Model {
34697
34853
  dequantizeInShader?: boolean;
34698
34854
  lightColor?: Cartesian3;
34699
34855
  imageBasedLighting?: ImageBasedLighting;
34700
- imageBasedLightingFactor?: Cartesian2;
34701
- luminanceAtZenith?: number;
34702
- sphericalHarmonicCoefficients?: Cartesian3[];
34703
- specularEnvironmentMaps?: string;
34704
34856
  credit?: Credit | string;
34705
34857
  showCreditsOnScreen?: boolean;
34706
34858
  backFaceCulling?: boolean;
@@ -34885,8 +35037,9 @@ export class Model {
34885
35037
  /**
34886
35038
  * The light color when shading the model. When <code>undefined</code> the scene's light color is used instead.
34887
35039
  <p>
34888
- For example, disabling additional light sources by setting <code>model.imageBasedLightingFactor = new Cesium.Cartesian2(0.0, 0.0)</code> will make the
34889
- model much darker. Here, increasing the intensity of the light source will make the model brighter.
35040
+ For example, disabling additional light sources by setting
35041
+ <code>model.imageBasedLighting.imageBasedLightingFactor = new Cesium.Cartesian2(0.0, 0.0)</code>
35042
+ will make the model much darker. Here, increasing the intensity of the light source will make the model brighter.
34890
35043
  </p>
34891
35044
  */
34892
35045
  lightColor: Cartesian3;
@@ -34894,33 +35047,6 @@ export class Model {
34894
35047
  * The properties for managing image-based lighting on this model.
34895
35048
  */
34896
35049
  imageBasedLighting: ImageBasedLighting;
34897
- /**
34898
- * Cesium adds lighting from the earth, sky, atmosphere, and star skybox. This cartesian is used to scale the final
34899
- diffuse and specular lighting contribution from those sources to the final color. A value of 0.0 will disable those light sources.
34900
- */
34901
- imageBasedLightingFactor: Cartesian2;
34902
- /**
34903
- * The sun's luminance at the zenith in kilo candela per meter squared to use for this model's procedural environment map.
34904
- This is used when {@link Model#specularEnvironmentMaps} and {@link Model#sphericalHarmonicCoefficients} are not defined.
34905
- */
34906
- luminanceAtZenith: number;
34907
- /**
34908
- * The third order spherical harmonic coefficients used for the diffuse color of image-based lighting. When <code>undefined</code>, a diffuse irradiance
34909
- computed from the atmosphere color is used.
34910
- <p>
34911
- There are nine <code>Cartesian3</code> coefficients.
34912
- The order of the coefficients is: L<sub>0,0</sub>, L<sub>1,-1</sub>, L<sub>1,0</sub>, L<sub>1,1</sub>, L<sub>2,-2</sub>, L<sub>2,-1</sub>, L<sub>2,0</sub>, L<sub>2,1</sub>, L<sub>2,2</sub>
34913
- </p>
34914
-
34915
- These values can be obtained by preprocessing the environment map using the <code>cmgen</code> tool of
34916
- {@link https://github.com/google/filament/releases|Google's Filament project}. This will also generate a KTX file that can be
34917
- supplied to {@link Model#specularEnvironmentMaps}.
34918
- */
34919
- sphericalHarmonicCoefficients: Cartesian3[];
34920
- /**
34921
- * A URL to a KTX2 file that contains a cube map of the specular lighting and the convoluted specular mipmaps.
34922
- */
34923
- specularEnvironmentMaps: string;
34924
35050
  /**
34925
35051
  * Gets the credit that will be displayed for the model
34926
35052
  */
@@ -35027,13 +35153,9 @@ export class Model {
35027
35153
  * @param [options.silhouetteColor = Color.RED] - The silhouette color. If more than 256 models have silhouettes enabled, there is a small chance that overlapping models will have minor artifacts.
35028
35154
  * @param [options.silhouetteSize = 0.0] - The size of the silhouette in pixels.
35029
35155
  * @param [options.clippingPlanes] - The {@link ClippingPlaneCollection} used to selectively disable rendering the model.
35030
- * @param [options.dequantizeInShader = true] - Determines if a {@link https://github.com/google/draco|Draco} encoded model is dequantized on the GPU. This decreases total memory usage for encoded models.
35156
+ * @param [options.dequantizeInShader = true] - Determines if a {@link https://github.com/google/draco|Draco} encoded model is dequantized on the GPU. This decreases total memory usage for encoded models. Deprecated in CesiumJS 1.94, will be removed in CesiumJS 1.95.
35031
35157
  * @param [options.lightColor] - The light color when shading the model. When <code>undefined</code> the scene's light color is used instead.
35032
35158
  * @param [options.imageBasedLighting] - The properties for managing image-based lighting for this tileset.
35033
- * @param [options.imageBasedLightingFactor = new Cartesian2(1.0, 1.0)] - Scales diffuse and specular image-based lighting from the earth, sky, atmosphere and star skybox. Deprecated in Cesium 1.92, will be removed in Cesium 1.94.
35034
- * @param [options.luminanceAtZenith = 0.2] - The sun's luminance at the zenith in kilo candela per meter squared to use for this model's procedural environment map. Deprecated in Cesium 1.92, will be removed in Cesium 1.94.
35035
- * @param [options.sphericalHarmonicCoefficients] - The third order spherical harmonic coefficients used for the diffuse color of image-based lighting. Deprecated in Cesium 1.92, will be removed in Cesium 1.94.
35036
- * @param [options.specularEnvironmentMaps] - A URL to a KTX2 file that contains a cube map of the specular lighting and the convoluted specular mipmaps. Deprecated in Cesium 1.92, will be removed in Cesium 1.94.
35037
35159
  * @param [options.credit] - A credit for the model, which is displayed on the canvas.
35038
35160
  * @param [options.showCreditsOnScreen = false] - Whether to display the credits of this model on screen.
35039
35161
  * @param [options.backFaceCulling = true] - Whether to cull back-facing geometry. When true, back face culling is determined by the material's doubleSided property; when false, back face culling is disabled. Back faces are not culled if {@link Model#color} is translucent or {@link Model#silhouetteSize} is greater than 0.0.
@@ -35068,10 +35190,6 @@ export class Model {
35068
35190
  dequantizeInShader?: boolean;
35069
35191
  lightColor?: Cartesian3;
35070
35192
  imageBasedLighting?: ImageBasedLighting;
35071
- imageBasedLightingFactor?: Cartesian2;
35072
- luminanceAtZenith?: number;
35073
- sphericalHarmonicCoefficients?: Cartesian3[];
35074
- specularEnvironmentMaps?: string;
35075
35193
  credit?: Credit | string;
35076
35194
  showCreditsOnScreen?: boolean;
35077
35195
  backFaceCulling?: boolean;
@@ -35233,6 +35351,30 @@ export class ModelAnimation {
35233
35351
  * Determines if and how the animation is looped.
35234
35352
  */
35235
35353
  readonly loop: ModelAnimationLoop;
35354
+ /**
35355
+ * If this is defined, it will be used to compute the local animation time
35356
+ instead of the scene's time.
35357
+ */
35358
+ animationTime: ModelAnimation.AnimationTimeCallback;
35359
+ }
35360
+
35361
+ export namespace ModelAnimation {
35362
+ /**
35363
+ * A function used to compute the local animation time for a ModelAnimation.
35364
+ * @example
35365
+ * // Use real time for model animation (assuming animateWhilePaused was set to true)
35366
+ function animationTime(duration) {
35367
+ return Date.now() / 1000 / duration;
35368
+ }
35369
+ * @example
35370
+ * // Offset the phase of the animation, so it starts halfway through its cycle.
35371
+ function animationTime(duration, seconds) {
35372
+ return seconds / duration + 0.5;
35373
+ }
35374
+ * @param duration - The animation's original duration in seconds.
35375
+ * @param seconds - The seconds since the animation started, in scene time.
35376
+ */
35377
+ type AnimationTimeCallback = (duration: number, seconds: number) => number;
35236
35378
  }
35237
35379
 
35238
35380
  /**
@@ -35258,6 +35400,13 @@ export class ModelAnimationCollection {
35258
35400
  });
35259
35401
  */
35260
35402
  animationRemoved: Event;
35403
+ /**
35404
+ * When true, the animation will play even when the scene time is paused. However,
35405
+ whether animation takes place will depend on the animationTime functions assigned
35406
+ to the model's animations. By default, this is based on scene time, so models using
35407
+ the default will not animate regardless of this setting.
35408
+ */
35409
+ animateWhilePaused: boolean;
35261
35410
  /**
35262
35411
  * The number of animations in the collection.
35263
35412
  */
@@ -35311,6 +35460,7 @@ export class ModelAnimationCollection {
35311
35460
  * @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.
35312
35461
  * @param [options.reverse = false] - When <code>true</code>, the animation is played in reverse.
35313
35462
  * @param [options.loop = ModelAnimationLoop.NONE] - Determines if and how the animation is looped.
35463
+ * @param [options.animationTime] - If defined, computes the local animation time for this animation.
35314
35464
  * @returns The animation that was added to the collection.
35315
35465
  */
35316
35466
  add(options: {
@@ -35323,6 +35473,7 @@ export class ModelAnimationCollection {
35323
35473
  multiplier?: number;
35324
35474
  reverse?: boolean;
35325
35475
  loop?: ModelAnimationLoop;
35476
+ animationTime?: ModelAnimation.AnimationTimeCallback;
35326
35477
  }): ModelAnimation;
35327
35478
  /**
35328
35479
  * Creates and adds an animation with the specified initial properties to the collection
@@ -35343,6 +35494,7 @@ export class ModelAnimationCollection {
35343
35494
  * @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.
35344
35495
  * @param [options.reverse = false] - When <code>true</code>, the animations are played in reverse.
35345
35496
  * @param [options.loop = ModelAnimationLoop.NONE] - Determines if and how the animations are looped.
35497
+ * @param [options.animationTime] - If defined, computes the local animation time for all of the animations.
35346
35498
  * @returns An array of {@link ModelAnimation} objects, one for each animation added to the collection. If there are no glTF animations, the array is empty.
35347
35499
  */
35348
35500
  addAll(options?: {
@@ -35353,6 +35505,7 @@ export class ModelAnimationCollection {
35353
35505
  multiplier?: number;
35354
35506
  reverse?: boolean;
35355
35507
  loop?: ModelAnimationLoop;
35508
+ animationTime?: ModelAnimation.AnimationTimeCallback;
35356
35509
  }): ModelAnimation[];
35357
35510
  /**
35358
35511
  * Removes an animation from the collection.
@@ -35607,7 +35760,10 @@ the Model from your source data type.
35607
35760
  * @param [options.scale = 1.0] - A uniform scale applied to this model.
35608
35761
  * @param [options.minimumPixelSize = 0.0] - The approximate minimum pixel size of the model regardless of zoom.
35609
35762
  * @param [options.maximumScale] - The maximum scale size of a model. An upper limit for minimumPixelSize.
35763
+ * @param [options.clampAnimations = true] - Determines if the model's animations should hold a pose over frames where no keyframes are specified.
35610
35764
  * @param [options.debugShowBoundingVolume = false] - For debugging only. Draws the bounding sphere for each draw command in the model.
35765
+ * @param [options.enableDebugWireframe = false] - For debugging only. This must be set to true for debugWireframe to work in WebGL1. This cannot be set after the model has loaded.
35766
+ * @param [options.debugWireframe = false] - For debugging only. Draws the model in wireframe. Will only work for WebGL1 if enableDebugWireframe is set to true.
35611
35767
  * @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
35768
  * @param [options.opaquePass = Pass.OPAQUE] - The pass to use in the {@link DrawCommand} for the opaque portions of the model.
35613
35769
  * @param [options.allowPicking = true] - When <code>true</code>, each primitive is pickable with {@link Scene#pick}.
@@ -35627,6 +35783,7 @@ the Model from your source data type.
35627
35783
  * @param [options.shadows = ShadowMode.ENABLED] - Determines whether the model casts or receives shadows from light sources.
35628
35784
  * @param [options.showCreditsOnScreen = false] - Whether to display the credits of this model on screen.
35629
35785
  * @param [options.splitDirection = SplitDirection.NONE] - The {@link SplitDirection} split to apply to this model.
35786
+ * @param [options.projectTo2D = false] - Whether to accurately project the model's positions in 2D. If this is false, the model will not show up in 2D / CV mode. This disables minimumPixelSize and prevents future modification to its model matrix. This also cannot be set after the model has loaded.
35630
35787
  */
35631
35788
  export class ModelExperimental {
35632
35789
  constructor(options: {
@@ -35635,7 +35792,10 @@ export class ModelExperimental {
35635
35792
  scale?: number;
35636
35793
  minimumPixelSize?: number;
35637
35794
  maximumScale?: number;
35795
+ clampAnimations?: boolean;
35638
35796
  debugShowBoundingVolume?: boolean;
35797
+ enableDebugWireframe?: boolean;
35798
+ debugWireframe?: boolean;
35639
35799
  cull?: boolean;
35640
35800
  opaquePass?: boolean;
35641
35801
  allowPicking?: boolean;
@@ -35655,6 +35815,7 @@ export class ModelExperimental {
35655
35815
  shadows?: ShadowMode;
35656
35816
  showCreditsOnScreen?: boolean;
35657
35817
  splitDirection?: SplitDirection;
35818
+ projectTo2D?: boolean;
35658
35819
  });
35659
35820
  /**
35660
35821
  * When <code>true</code>, this model is ready to render, i.e., the external binary, image,
@@ -35670,6 +35831,14 @@ export class ModelExperimental {
35670
35831
  </p>
35671
35832
  */
35672
35833
  readonly readyPromise: Promise<ModelExperimental>;
35834
+ /**
35835
+ * The currently playing glTF animations.
35836
+ */
35837
+ readonly activeAnimations: ModelExperimentalAnimationCollection;
35838
+ /**
35839
+ * Determines if the model's animations should hold a pose over frames where no keyframes are specified.
35840
+ */
35841
+ clampAnimations: boolean;
35673
35842
  /**
35674
35843
  * Point cloud shading settings for controlling point cloud attenuation
35675
35844
  and lighting. For 3D Tiles, this is inherited from the
@@ -35694,7 +35863,9 @@ export class ModelExperimental {
35694
35863
  */
35695
35864
  colorBlendAmount: number;
35696
35865
  /**
35697
- * Gets the model's bounding sphere.
35866
+ * Gets the model's bounding sphere in world space. This does not take into account
35867
+ glTF animations, skins, or morph targets. It also does not account for
35868
+ {@link ModelExperimental#minimumPixelSize}.
35698
35869
  */
35699
35870
  readonly boundingSphere: BoundingSphere;
35700
35871
  /**
@@ -35704,6 +35875,13 @@ export class ModelExperimental {
35704
35875
  </p>
35705
35876
  */
35706
35877
  debugShowBoundingVolume: boolean;
35878
+ /**
35879
+ * This property is for debugging only; it is not for production use nor is it optimized.
35880
+ <p>
35881
+ Draws the model in wireframe.
35882
+ </p>
35883
+ */
35884
+ debugWireframe: boolean;
35707
35885
  /**
35708
35886
  * Whether or not to render the model.
35709
35887
  */
@@ -35743,8 +35921,9 @@ export class ModelExperimental {
35743
35921
  /**
35744
35922
  * The light color when shading the model. When <code>undefined</code> the scene's light color is used instead.
35745
35923
  <p>
35746
- Disabling additional light sources by setting <code>model.imageBasedLightingFactor = new Cartesian2(0.0, 0.0)</code> will make the
35747
- model much darker. Here, increasing the intensity of the light source will make the model brighter.
35924
+ Disabling additional light sources by setting
35925
+ <code>model.imageBasedLighting.imageBasedLightingFactor = new Cartesian2(0.0, 0.0)</code>
35926
+ will make the model much darker. Here, increasing the intensity of the light source will make the model brighter.
35748
35927
  </p>
35749
35928
  */
35750
35929
  lightColor: Cartesian3;
@@ -35825,7 +36004,7 @@ export class ModelExperimental {
35825
36004
  <p>
35826
36005
  The model can be a traditional glTF asset with a .gltf extension or a Binary glTF using the .glb extension.
35827
36006
  * @param options - Object with the following properties:
35828
- * @param options.gltf - A Resource/URL to a glTF/glb file, a binary glTF buffer, or a JSON object containing the glTF contents
36007
+ * @param options.url - The url to the .gltf or .glb file.
35829
36008
  * @param [options.basePath = ''] - The base path that paths in the glTF JSON are relative to.
35830
36009
  * @param [options.modelMatrix = Matrix4.IDENTITY] - The 4x4 transformation matrix that transforms the model from model to world coordinates.
35831
36010
  * @param [options.scale = 1.0] - A uniform scale applied to this model.
@@ -35834,6 +36013,8 @@ export class ModelExperimental {
35834
36013
  * @param [options.incrementallyLoadTextures = true] - Determine if textures may continue to stream in after the model is loaded.
35835
36014
  * @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
36015
  * @param [options.debugShowBoundingVolume = false] - For debugging only. Draws the bounding sphere for each draw command in the model.
36016
+ * @param [options.enableDebugWireframe = false] - For debugging only. This must be set to true for debugWireframe to work in WebGL1. This cannot be set after the model has loaded.
36017
+ * @param [options.debugWireframe = false] - For debugging only. Draws the model in wireframe. Will only work for WebGL1 if enableDebugWireframe is set to true.
35837
36018
  * @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
36019
  * @param [options.opaquePass = Pass.OPAQUE] - The pass to use in the {@link DrawCommand} for the opaque portions of the model.
35839
36020
  * @param [options.upAxis = Axis.Y] - The up-axis of the glTF model.
@@ -35855,10 +36036,11 @@ export class ModelExperimental {
35855
36036
  * @param [options.shadows = ShadowMode.ENABLED] - Determines whether the model casts or receives shadows from light sources.
35856
36037
  * @param [options.showCreditsOnScreen = false] - Whether to display the credits of this model on screen.
35857
36038
  * @param [options.splitDirection = SplitDirection.NONE] - The {@link SplitDirection} split to apply to this model.
36039
+ * @param [options.projectTo2D = false] - Whether to accurately project the model's positions in 2D. If this is false, the model will not show up in 2D / CV mode. This disables minimumPixelSize and prevents future modification to its model matrix. This also cannot be set after the model has loaded.
35858
36040
  * @returns The newly created model.
35859
36041
  */
35860
36042
  static fromGltf(options: {
35861
- gltf: string | Resource | Uint8Array | any;
36043
+ url: string | Resource;
35862
36044
  basePath?: string | Resource;
35863
36045
  modelMatrix?: Matrix4;
35864
36046
  scale?: number;
@@ -35867,6 +36049,8 @@ export class ModelExperimental {
35867
36049
  incrementallyLoadTextures?: boolean;
35868
36050
  releaseGltfJson?: boolean;
35869
36051
  debugShowBoundingVolume?: boolean;
36052
+ enableDebugWireframe?: boolean;
36053
+ debugWireframe?: boolean;
35870
36054
  cull?: boolean;
35871
36055
  opaquePass?: boolean;
35872
36056
  upAxis?: Axis;
@@ -35888,6 +36072,7 @@ export class ModelExperimental {
35888
36072
  shadows?: ShadowMode;
35889
36073
  showCreditsOnScreen?: boolean;
35890
36074
  splitDirection?: SplitDirection;
36075
+ projectTo2D?: boolean;
35891
36076
  }): ModelExperimental;
35892
36077
  }
35893
36078
 
@@ -35908,14 +36093,310 @@ export var modelMatrix: Matrix4;
35908
36093
  export var style: Cesium3DTileStyle;
35909
36094
 
35910
36095
  /**
35911
- * The indices of the children of this node in the scene graph.
36096
+ * An active animation derived from a glTF asset. An active animation is an
36097
+ animation that is either currently playing or scheduled to be played due to
36098
+ being added to a model's {@link ModelExperimentalAnimationCollection}. An active animation
36099
+ is an instance of an animation; for example, there can be multiple active
36100
+ animations for the same glTF animation, each with a different start time.
36101
+ <p>
36102
+ Create this by calling {@link ModelExperimentalAnimationCollection#add}.
36103
+ </p>
35912
36104
  */
35913
- export const children: number[];
36105
+ export class ModelExperimentalAnimation {
36106
+ constructor();
36107
+ /**
36108
+ * When <code>true</code>, the animation is removed after it stops playing.
36109
+ This is slightly more efficient that not removing it, but if, for example,
36110
+ time is reversed, the animation is not played again.
36111
+ */
36112
+ removeOnStop: boolean;
36113
+ /**
36114
+ * The event fired when this animation is started. This can be used, for
36115
+ example, to play a sound or start a particle system, when the animation starts.
36116
+ <p>
36117
+ This event is fired at the end of the frame after the scene is rendered.
36118
+ </p>
36119
+ * @example
36120
+ * animation.start.addEventListener(function(model, animation) {
36121
+ console.log('Animation started: ' + animation.name);
36122
+ });
36123
+ */
36124
+ start: Event;
36125
+ /**
36126
+ * The event fired when on each frame when this animation is updated. The
36127
+ current time of the animation, relative to the glTF animation time span, is
36128
+ passed to the event, which allows, for example, starting new animations at a
36129
+ specific time relative to a playing animation.
36130
+ <p>
36131
+ This event is fired at the end of the frame after the scene is rendered.
36132
+ </p>
36133
+ * @example
36134
+ * animation.update.addEventListener(function(model, animation, time) {
36135
+ console.log('Animation updated: ' + animation.name + '. glTF animation time: ' + time);
36136
+ });
36137
+ */
36138
+ update: Event;
36139
+ /**
36140
+ * The event fired when this animation is stopped. This can be used, for
36141
+ example, to play a sound or start a particle system, when the animation stops.
36142
+ <p>
36143
+ This event is fired at the end of the frame after the scene is rendered.
36144
+ </p>
36145
+ * @example
36146
+ * animation.stop.addEventListener(function(model, animation) {
36147
+ console.log('Animation stopped: ' + animation.name);
36148
+ });
36149
+ */
36150
+ stop: Event;
36151
+ /**
36152
+ * The name that identifies this animation in the model, if it exists.
36153
+ */
36154
+ readonly name: string;
36155
+ /**
36156
+ * The scene time to start playing this animation. When this is <code>undefined</code>,
36157
+ the animation starts at the next frame.
36158
+ */
36159
+ readonly startTime: JulianDate;
36160
+ /**
36161
+ * The delay, in seconds, from {@link ModelExperimentalAnimation#startTime} to start playing.
36162
+ */
36163
+ readonly delay: number;
36164
+ /**
36165
+ * The scene time to stop playing this animation. When this is <code>undefined</code>,
36166
+ the animation is played for its full duration and perhaps repeated depending on
36167
+ {@link ModelExperimentalAnimation#loop}.
36168
+ */
36169
+ readonly stopTime: JulianDate;
36170
+ /**
36171
+ * Values greater than <code>1.0</code> increase the speed that the animation is played relative
36172
+ to the scene clock speed; values less than <code>1.0</code> decrease the speed. A value of
36173
+ <code>1.0</code> plays the animation at the speed in the glTF animation mapped to the scene
36174
+ clock speed. For example, if the scene is played at 2x real-time, a two-second glTF animation
36175
+ will play in one second even if <code>multiplier</code> is <code>1.0</code>.
36176
+ */
36177
+ readonly multiplier: number;
36178
+ /**
36179
+ * When <code>true</code>, the animation is played in reverse.
36180
+ */
36181
+ readonly reverse: boolean;
36182
+ /**
36183
+ * Determines if and how the animation is looped.
36184
+ */
36185
+ readonly loop: ModelAnimationLoop;
36186
+ /**
36187
+ * If this is defined, it will be used to compute the local animation time
36188
+ instead of the scene's time.
36189
+ */
36190
+ animationTime: ModelExperimentalAnimation.AnimationTimeCallback;
36191
+ }
36192
+
36193
+ export namespace ModelExperimentalAnimation {
36194
+ /**
36195
+ * A function used to compute the local animation time for a ModelExperimentalAnimation.
36196
+ * @example
36197
+ * // Use real time for model animation (assuming animateWhilePaused was set to true)
36198
+ function animationTime(duration) {
36199
+ return Date.now() / 1000 / duration;
36200
+ }
36201
+ * @example
36202
+ * // Offset the phase of the animation, so it starts halfway through its cycle.
36203
+ function animationTime(duration, seconds) {
36204
+ return seconds / duration + 0.5;
36205
+ }
36206
+ * @param duration - The animation's original duration in seconds.
36207
+ * @param seconds - The seconds since the animation started, in scene time.
36208
+ */
36209
+ type AnimationTimeCallback = (duration: number, seconds: number) => number;
36210
+ }
35914
36211
 
35915
36212
  /**
35916
- * Update stages to apply to this primitive.
36213
+ * A collection of active model animations. Access this using {@link ModelExperimental#activeAnimations}.
35917
36214
  */
35918
- export var updateStages: any;
36215
+ export class ModelExperimentalAnimationCollection {
36216
+ constructor();
36217
+ /**
36218
+ * The event fired when an animation is added to the collection. This can be used, for
36219
+ example, to keep a UI in sync.
36220
+ * @example
36221
+ * model.activeAnimations.animationAdded.addEventListener(function(model, animation) {
36222
+ console.log('Animation added: ' + animation.name);
36223
+ });
36224
+ */
36225
+ animationAdded: Event;
36226
+ /**
36227
+ * The event fired when an animation is removed from the collection. This can be used, for
36228
+ example, to keep a UI in sync.
36229
+ * @example
36230
+ * model.activeAnimations.animationRemoved.addEventListener(function(model, animation) {
36231
+ console.log('Animation removed: ' + animation.name);
36232
+ });
36233
+ */
36234
+ animationRemoved: Event;
36235
+ /**
36236
+ * When true, the animation will play even when the scene time is paused. However,
36237
+ whether animation takes place will depend on the animationTime functions assigned
36238
+ to the model's animations. By default, this is based on scene time, so models using
36239
+ the default will not animate regardless of this setting.
36240
+ */
36241
+ animateWhilePaused: boolean;
36242
+ /**
36243
+ * The number of animations in the collection.
36244
+ */
36245
+ readonly length: number;
36246
+ /**
36247
+ * The model that owns this animation collection.
36248
+ */
36249
+ readonly model: ModelExperimental;
36250
+ /**
36251
+ * Creates and adds an animation with the specified initial properties to the collection.
36252
+ <p>
36253
+ This raises the {@link ModelExperimentalAnimationCollection#animationAdded} event so, for example, a UI can stay in sync.
36254
+ </p>
36255
+ * @example
36256
+ * // Example 1. Add an animation by name
36257
+ model.activeAnimations.add({
36258
+ name : 'animation name'
36259
+ });
36260
+ * @example
36261
+ * // Example 2. Add an animation by index
36262
+ model.activeAnimations.add({
36263
+ index : 0
36264
+ });
36265
+ * @example
36266
+ * // Example 3. Add an animation and provide all properties and events
36267
+ const startTime = Cesium.JulianDate.now();
36268
+
36269
+ const animation = model.activeAnimations.add({
36270
+ name : 'another animation name',
36271
+ startTime : startTime,
36272
+ delay : 0.0, // Play at startTime (default)
36273
+ stopTime : Cesium.JulianDate.addSeconds(startTime, 4.0, new Cesium.JulianDate()),
36274
+ removeOnStop : false, // Do not remove when animation stops (default)
36275
+ multiplier : 2.0, // Play at double speed
36276
+ reverse : true, // Play in reverse
36277
+ loop : Cesium.ModelAnimationLoop.REPEAT // Loop the animation
36278
+ });
36279
+
36280
+ animation.start.addEventListener(function(model, animation) {
36281
+ console.log('Animation started: ' + animation.name);
36282
+ });
36283
+ animation.update.addEventListener(function(model, animation, time) {
36284
+ console.log('Animation updated: ' + animation.name + '. glTF animation time: ' + time);
36285
+ });
36286
+ animation.stop.addEventListener(function(model, animation) {
36287
+ console.log('Animation stopped: ' + animation.name);
36288
+ });
36289
+ * @param options - Object with the following properties:
36290
+ * @param [options.name] - The glTF animation name that identifies the animation. Must be defined if <code>options.index</code> is <code>undefined</code>.
36291
+ * @param [options.index] - The glTF animation index that identifies the animation. Must be defined if <code>options.name</code> is <code>undefined</code>.
36292
+ * @param [options.startTime] - The scene time to start playing the animation. When this is <code>undefined</code>, the animation starts at the next frame.
36293
+ * @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.
36294
+ * @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.
36295
+ * @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.
36296
+ * @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.
36297
+ * @param [options.reverse = false] - When <code>true</code>, the animation is played in reverse.
36298
+ * @param [options.loop = ModelAnimationLoop.NONE] - Determines if and how the animation is looped.
36299
+ * @param [options.animationTime] - If defined, computes the local animation time for this animation.
36300
+ * @returns The animation that was added to the collection.
36301
+ */
36302
+ add(options: {
36303
+ name?: string;
36304
+ index?: number;
36305
+ startTime?: JulianDate;
36306
+ delay?: number;
36307
+ stopTime?: JulianDate;
36308
+ removeOnStop?: boolean;
36309
+ multiplier?: number;
36310
+ reverse?: boolean;
36311
+ loop?: ModelAnimationLoop;
36312
+ animationTime?: ModelExperimentalAnimation.AnimationTimeCallback;
36313
+ }): ModelExperimentalAnimation;
36314
+ /**
36315
+ * Creates and adds animations with the specified initial properties to the collection
36316
+ for all animations in the model.
36317
+ <p>
36318
+ This raises the {@link ModelExperimentalAnimationCollection#animationAdded} event for each model so, for example, a UI can stay in sync.
36319
+ </p>
36320
+ * @example
36321
+ * model.activeAnimations.addAll({
36322
+ multiplier : 0.5, // Play at half-speed
36323
+ loop : Cesium.ModelAnimationLoop.REPEAT // Loop the animations
36324
+ });
36325
+ * @param [options] - Object with the following properties:
36326
+ * @param [options.startTime] - The scene time to start playing the animations. When this is <code>undefined</code>, the animations starts at the next frame.
36327
+ * @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.
36328
+ * @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.
36329
+ * @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.
36330
+ * @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.
36331
+ * @param [options.reverse = false] - When <code>true</code>, the animations are played in reverse.
36332
+ * @param [options.loop = ModelAnimationLoop.NONE] - Determines if and how the animations are looped.
36333
+ * @param [options.animationTime] - If defined, computes the local animation time for all of the animations.
36334
+ * @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.
36335
+ */
36336
+ addAll(options?: {
36337
+ startTime?: JulianDate;
36338
+ delay?: number;
36339
+ stopTime?: JulianDate;
36340
+ removeOnStop?: boolean;
36341
+ multiplier?: number;
36342
+ reverse?: boolean;
36343
+ loop?: ModelAnimationLoop;
36344
+ animationTime?: ModelExperimentalAnimation.AnimationTimeCallback;
36345
+ }): ModelExperimentalAnimation[];
36346
+ /**
36347
+ * Removes an animation from the collection.
36348
+ <p>
36349
+ This raises the {@link ModelExperimentalAnimationCollection#animationRemoved} event so, for example, a UI can stay in sync.
36350
+ </p>
36351
+ <p>
36352
+ An animation can also be implicitly removed from the collection by setting {@link ModelExperimentalAnimationCollection#removeOnStop} to
36353
+ <code>true</code>. The {@link ModelExperimentalAnimationCollection#animationRemoved} event is still fired when the animation is removed.
36354
+ </p>
36355
+ * @example
36356
+ * const a = model.activeAnimations.add({
36357
+ name : 'animation name'
36358
+ });
36359
+ model.activeAnimations.remove(a); // Returns true
36360
+ * @param runtimeAnimation - The runtime animation to remove.
36361
+ * @returns <code>true</code> if the animation was removed; <code>false</code> if the animation was not found in the collection.
36362
+ */
36363
+ remove(runtimeAnimation: ModelExperimentalAnimation): boolean;
36364
+ /**
36365
+ * Removes all animations from the collection.
36366
+ <p>
36367
+ This raises the {@link ModelExperimentalAnimationCollection#animationRemoved} event for each
36368
+ animation so, for example, a UI can stay in sync.
36369
+ </p>
36370
+ */
36371
+ removeAll(): void;
36372
+ /**
36373
+ * Determines whether this collection contains a given animation.
36374
+ * @param runtimeAnimation - The runtime animation to check for.
36375
+ * @returns <code>true</code> if this collection contains the animation, <code>false</code> otherwise.
36376
+ */
36377
+ contains(runtimeAnimation: ModelExperimentalAnimation): boolean;
36378
+ /**
36379
+ * Returns the animation in the collection at the specified index. Indices are zero-based
36380
+ and increase as animations are added. Removing an animation shifts all animations after
36381
+ it to the left, changing their indices. This function is commonly used to iterate over
36382
+ all the animations in the collection.
36383
+ * @example
36384
+ * // Output the names of all the animations in the collection.
36385
+ const animations = model.activeAnimations;
36386
+ const length = animations.length;
36387
+ for (let i = 0; i < length; ++i) {
36388
+ console.log(animations.get(i).name);
36389
+ }
36390
+ * @param index - The zero-based index of the animation.
36391
+ * @returns The runtime animation at the specified index.
36392
+ */
36393
+ get(index: number): ModelExperimentalAnimation;
36394
+ }
36395
+
36396
+ /**
36397
+ * The indices of the children of this node in the scene graph.
36398
+ */
36399
+ export const children: number[];
35919
36400
 
35920
36401
  /**
35921
36402
  * A feature of a {@link ModelExperimental}.
@@ -36024,11 +36505,6 @@ export class ModelFeature {
36024
36505
  setProperty(name: string, value: any): boolean;
36025
36506
  }
36026
36507
 
36027
- /**
36028
- * The bounding sphere that contains all the vertices in this primitive.
36029
- */
36030
- export var boundingSphere: BoundingSphere;
36031
-
36032
36508
  /**
36033
36509
  * A simple struct that serves as a value of a <code>sampler2D</code>-valued
36034
36510
  uniform. This is used with {@link CustomShader} and {@link TextureManager}
@@ -36040,8 +36516,8 @@ uniform. This is used with {@link CustomShader} and {@link TextureManager}
36040
36516
  * @param [options.repeat = true] - When defined, the texture sampler will be set to wrap in both directions
36041
36517
  * @param [options.pixelFormat = PixelFormat.RGBA] - When options.typedArray is defined, this is used to determine the pixel format of the texture
36042
36518
  * @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.
36519
+ * @param [options.minificationFilter = TextureMinificationFilter.LINEAR] - The minification filter of the texture sampler.
36520
+ * @param [options.magnificationFilter = TextureMagnificationFilter.LINEAR] - The magnification filter of the texture sampler.
36045
36521
  * @param [options.maximumAnisotropy = 1.0] - The maximum anisotropy of the texture sampler
36046
36522
  */
36047
36523
  export class TextureUniform {
@@ -36053,8 +36529,10 @@ export class TextureUniform {
36053
36529
  repeat?: boolean;
36054
36530
  pixelFormat?: PixelFormat;
36055
36531
  pixelDatatype?: PixelDatatype;
36532
+ minificationFilter?: TextureMinificationFilter;
36533
+ magnificationFilter?: TextureMagnificationFilter;
36056
36534
  maximumAnisotropy?: number;
36057
- }, textureMinificationFilter?: TextureMinificationFilter, textureMagnificationFilter?: TextureMagnificationFilter);
36535
+ });
36058
36536
  }
36059
36537
 
36060
36538
  /**
@@ -39085,10 +39563,6 @@ export class Scene {
39085
39563
  * Gets or sets the position of the splitter within the viewport. Valid values are between 0.0 and 1.0.
39086
39564
  */
39087
39565
  splitPosition: number;
39088
- /**
39089
- * Gets or sets the position of the Imagery splitter within the viewport. Valid values are between 0.0 and 1.0.
39090
- */
39091
- imagerySplitPosition: number;
39092
39566
  /**
39093
39567
  * The distance from the camera at which to disable the depth test of billboards, labels and points
39094
39568
  to, for example, prevent clipping against terrain. When set to zero, the depth test should always
@@ -39799,12 +40273,9 @@ export class SingleTileImageryProvider {
39799
40273
  * @param y - The tile Y coordinate.
39800
40274
  * @param level - The tile level.
39801
40275
  * @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.
40276
+ * @returns The resolved image
39806
40277
  */
39807
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
40278
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
39808
40279
  /**
39809
40280
  * Picking features is not currently supported by this imagery provider, so this function simply returns
39810
40281
  undefined.
@@ -39813,18 +40284,14 @@ export class SingleTileImageryProvider {
39813
40284
  * @param level - The tile level.
39814
40285
  * @param longitude - The longitude at which to pick features.
39815
40286
  * @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.
40287
+ * @returns Undefined since picking is not supported.
39820
40288
  */
39821
- pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise<ImageryLayerFeatureInfo[]> | undefined;
40289
+ pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): undefined;
39822
40290
  }
39823
40291
 
39824
40292
  /**
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.
40293
+ * An atmosphere drawn around the limb of the provided ellipsoid. Based on
40294
+ {@link http://nishitalab.org/user/nis/cdrom/sig93_nis.pdf|Display of The Earth Taking Into Account Atmospheric Scattering}.
39828
40295
  <p>
39829
40296
  This is only supported in 3D. Atmosphere is faded out when morphing to 2D or Columbus view.
39830
40297
  </p>
@@ -39843,6 +40310,33 @@ export class SkyAtmosphere {
39843
40310
  This produces better looking atmosphere with a slight performance penalty.
39844
40311
  */
39845
40312
  perFragmentAtmosphere: boolean;
40313
+ /**
40314
+ * The intensity of the light that is used for computing the sky atmosphere color.
40315
+ */
40316
+ atmosphereLightIntensity: number;
40317
+ /**
40318
+ * The Rayleigh scattering coefficient used in the atmospheric scattering equations for the sky atmosphere.
40319
+ */
40320
+ atmosphereRayleighCoefficient: Cartesian3;
40321
+ /**
40322
+ * The Mie scattering coefficient used in the atmospheric scattering equations for the sky atmosphere.
40323
+ */
40324
+ atmosphereMieCoefficient: Cartesian3;
40325
+ /**
40326
+ * The Rayleigh scale height used in the atmospheric scattering equations for the sky atmosphere, in meters.
40327
+ */
40328
+ atmosphereRayleighScaleHeight: number;
40329
+ /**
40330
+ * The Mie scale height used in the atmospheric scattering equations for the sky atmosphere, in meters.
40331
+ */
40332
+ atmosphereMieScaleHeight: number;
40333
+ /**
40334
+ * The anisotropy of the medium to consider for Mie scattering.
40335
+ <p>
40336
+ Valid values are between -1.0 and 1.0.
40337
+ </p>
40338
+ */
40339
+ atmosphereMieAnisotropy: number;
39846
40340
  /**
39847
40341
  * The hue shift to apply to the atmosphere. Defaults to 0.0 (no shift).
39848
40342
  A hue shift of 1.0 indicates a complete rotation of the hues available.
@@ -40162,8 +40656,8 @@ export namespace TileCoordinatesImageryProvider {
40162
40656
  * Initialization options for the TileCoordinatesImageryProvider constructor
40163
40657
  * @property [tilingScheme = new GeographicTilingScheme()] - The tiling scheme for which to draw tiles.
40164
40658
  * @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.
40659
+ this parameter is ignored and the tiling scheme's ellipsoid is used instead. If neither
40660
+ parameter is specified, the WGS84 ellipsoid is used.
40167
40661
  * @property [color = Color.YELLOW] - The color to draw the tile box and label.
40168
40662
  * @property [tileWidth = 256] - The width of the tile for level-of-detail selection purposes.
40169
40663
  * @property [tileHeight = 256] - The height of the tile for level-of-detail selection purposes.
@@ -40179,35 +40673,35 @@ export namespace TileCoordinatesImageryProvider {
40179
40673
 
40180
40674
  /**
40181
40675
  * 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.
40676
+ a label inside it indicating the X, Y, Level coordinates of the tile. This is mostly useful for
40677
+ debugging terrain and imagery rendering problems.
40184
40678
  * @param [options] - Object describing initialization options
40185
40679
  */
40186
40680
  export class TileCoordinatesImageryProvider {
40187
40681
  constructor(options?: TileCoordinatesImageryProvider.ConstructorOptions);
40188
40682
  /**
40189
40683
  * The default alpha blending value of this provider, with 0.0 representing fully transparent and
40190
- * 1.0 representing fully opaque.
40684
+ 1.0 representing fully opaque.
40191
40685
  */
40192
40686
  defaultAlpha: number | undefined;
40193
40687
  /**
40194
40688
  * 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.
40689
+ 1.0 representing fully opaque.
40196
40690
  */
40197
40691
  defaultNightAlpha: number | undefined;
40198
40692
  /**
40199
40693
  * 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.
40694
+ 1.0 representing fully opaque.
40201
40695
  */
40202
40696
  defaultDayAlpha: number | undefined;
40203
40697
  /**
40204
40698
  * 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.
40699
+ makes the imagery darker while greater than 1.0 makes it brighter.
40206
40700
  */
40207
40701
  defaultBrightness: number | undefined;
40208
40702
  /**
40209
40703
  * 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.
40704
+ the contrast while greater than 1.0 increases it.
40211
40705
  */
40212
40706
  defaultContrast: number | undefined;
40213
40707
  /**
@@ -40216,7 +40710,7 @@ export class TileCoordinatesImageryProvider {
40216
40710
  defaultHue: number | undefined;
40217
40711
  /**
40218
40712
  * 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.
40713
+ saturation while greater than 1.0 increases it.
40220
40714
  */
40221
40715
  defaultSaturation: number | undefined;
40222
40716
  /**
@@ -40237,45 +40731,45 @@ export class TileCoordinatesImageryProvider {
40237
40731
  readonly proxy: Proxy;
40238
40732
  /**
40239
40733
  * Gets the width of each tile, in pixels. This function should
40240
- * not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40734
+ not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40241
40735
  */
40242
40736
  readonly tileWidth: number;
40243
40737
  /**
40244
40738
  * Gets the height of each tile, in pixels. This function should
40245
- * not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40739
+ not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40246
40740
  */
40247
40741
  readonly tileHeight: number;
40248
40742
  /**
40249
40743
  * Gets the maximum level-of-detail that can be requested. This function should
40250
- * not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40744
+ not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40251
40745
  */
40252
40746
  readonly maximumLevel: number | undefined;
40253
40747
  /**
40254
40748
  * Gets the minimum level-of-detail that can be requested. This function should
40255
- * not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40749
+ not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40256
40750
  */
40257
40751
  readonly minimumLevel: number;
40258
40752
  /**
40259
40753
  * Gets the tiling scheme used by this provider. This function should
40260
- * not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40754
+ not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40261
40755
  */
40262
40756
  readonly tilingScheme: TilingScheme;
40263
40757
  /**
40264
40758
  * 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.
40759
+ not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40266
40760
  */
40267
40761
  readonly rectangle: Rectangle;
40268
40762
  /**
40269
40763
  * 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.
40764
+ for filtering out "missing" tiles via its shouldDiscardImage function. If this function
40765
+ returns undefined, no tiles are filtered. This function should
40766
+ not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40273
40767
  */
40274
40768
  readonly tileDiscardPolicy: TileDiscardPolicy;
40275
40769
  /**
40276
40770
  * 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}.
40771
+ to the event, you will be notified of the error and can potentially recover from it. Event listeners
40772
+ are passed an instance of {@link TileProviderError}.
40279
40773
  */
40280
40774
  readonly errorEvent: Event;
40281
40775
  /**
@@ -40288,15 +40782,15 @@ export class TileCoordinatesImageryProvider {
40288
40782
  readonly readyPromise: Promise<boolean>;
40289
40783
  /**
40290
40784
  * 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.
40785
+ the source of the imagery. This function should not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40292
40786
  */
40293
40787
  readonly credit: Credit;
40294
40788
  /**
40295
40789
  * 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.
40790
+ include an alpha channel. If this property is false, an alpha channel, if present, will
40791
+ be ignored. If this property is true, any images without an alpha channel will be treated
40792
+ as if their alpha is 1.0 everywhere. Setting this property to false reduces memory usage
40793
+ and texture upload time.
40300
40794
  */
40301
40795
  readonly hasAlphaChannel: boolean;
40302
40796
  /**
@@ -40309,31 +40803,25 @@ export class TileCoordinatesImageryProvider {
40309
40803
  getTileCredits(x: number, y: number, level: number): Credit[];
40310
40804
  /**
40311
40805
  * Requests the image for a given tile. This function should
40312
- * not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40806
+ not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40313
40807
  * @param x - The tile X coordinate.
40314
40808
  * @param y - The tile Y coordinate.
40315
40809
  * @param level - The tile level.
40316
40810
  * @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.
40811
+ * @returns The resolved image as a Canvas DOM object.
40321
40812
  */
40322
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
40813
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLCanvasElement>;
40323
40814
  /**
40324
40815
  * Picking features is not currently supported by this imagery provider, so this function simply returns
40325
- * undefined.
40816
+ undefined.
40326
40817
  * @param x - The tile X coordinate.
40327
40818
  * @param y - The tile Y coordinate.
40328
40819
  * @param level - The tile level.
40329
40820
  * @param longitude - The longitude at which to pick features.
40330
40821
  * @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.
40822
+ * @returns Undefined since picking is not supported.
40335
40823
  */
40336
- pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise<ImageryLayerFeatureInfo[]> | undefined;
40824
+ pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): undefined;
40337
40825
  }
40338
40826
 
40339
40827
  /**
@@ -40962,11 +41450,9 @@ export class UrlTemplateImageryProvider {
40962
41450
  * @param level - The tile level.
40963
41451
  * @param [request] - The request object. Intended for internal use only.
40964
41452
  * @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.
41453
+ undefined if there are too many active requests to the server, and the request should be retried later.
40968
41454
  */
40969
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
41455
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
40970
41456
  /**
40971
41457
  * Asynchronously determines what features, if any, are located at a given longitude and latitude within
40972
41458
  a tile. This function should not be called before {@link ImageryProvider#ready} returns true.
@@ -41321,11 +41807,9 @@ export class WebMapServiceImageryProvider {
41321
41807
  * @param level - The tile level.
41322
41808
  * @param [request] - The request object. Intended for internal use only.
41323
41809
  * @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.
41810
+ undefined if there are too many active requests to the server, and the request should be retried later.
41327
41811
  */
41328
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
41812
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
41329
41813
  /**
41330
41814
  * Asynchronously determines what features, if any, are located at a given longitude and latitude within
41331
41815
  a tile. This function should not be called before {@link ImageryProvider#ready} returns true.
@@ -41609,11 +42093,9 @@ export class WebMapTileServiceImageryProvider {
41609
42093
  * @param level - The tile level.
41610
42094
  * @param [request] - The request object. Intended for internal use only.
41611
42095
  * @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.
42096
+ undefined if there are too many active requests to the server, and the request should be retried later.
41615
42097
  */
41616
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
42098
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
41617
42099
  /**
41618
42100
  * Picking features is not currently supported by this imagery provider, so this function simply returns
41619
42101
  undefined.
@@ -41622,12 +42104,9 @@ export class WebMapTileServiceImageryProvider {
41622
42104
  * @param level - The tile level.
41623
42105
  * @param longitude - The longitude at which to pick features.
41624
42106
  * @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.
42107
+ * @returns Undefined since picking is not supported.
41629
42108
  */
41630
- pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise<ImageryLayerFeatureInfo[]> | undefined;
42109
+ pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): undefined;
41631
42110
  }
41632
42111
 
41633
42112
  /**
@@ -44287,6 +44766,7 @@ declare module "cesium/Source/Core/Color" { import { Color } from 'mars3d-cesium
44287
44766
  declare module "cesium/Source/Core/ColorGeometryInstanceAttribute" { import { ColorGeometryInstanceAttribute } from 'mars3d-cesium'; export default ColorGeometryInstanceAttribute; }
44288
44767
  declare module "cesium/Source/Core/combine" { import { combine } from 'mars3d-cesium'; export default combine; }
44289
44768
  declare module "cesium/Source/Core/CompressedTextureBuffer" { import { CompressedTextureBuffer } from 'mars3d-cesium'; export default CompressedTextureBuffer; }
44769
+ declare module "cesium/Source/Core/ConstantSpline" { import { ConstantSpline } from 'mars3d-cesium'; export default ConstantSpline; }
44290
44770
  declare module "cesium/Source/Core/CoplanarPolygonGeometry" { import { CoplanarPolygonGeometry } from 'mars3d-cesium'; export default CoplanarPolygonGeometry; }
44291
44771
  declare module "cesium/Source/Core/CoplanarPolygonOutlineGeometry" { import { CoplanarPolygonOutlineGeometry } from 'mars3d-cesium'; export default CoplanarPolygonOutlineGeometry; }
44292
44772
  declare module "cesium/Source/Core/CorridorGeometry" { import { CorridorGeometry } from 'mars3d-cesium'; export default CorridorGeometry; }
@@ -44318,6 +44798,7 @@ declare module "cesium/Source/Core/EllipsoidTangentPlane" { import { EllipsoidTa
44318
44798
  declare module "cesium/Source/Core/EllipsoidTerrainProvider" { import { EllipsoidTerrainProvider } from 'mars3d-cesium'; export default EllipsoidTerrainProvider; }
44319
44799
  declare module "cesium/Source/Core/Event" { import { Event } from 'mars3d-cesium'; export default Event; }
44320
44800
  declare module "cesium/Source/Core/EventHelper" { import { EventHelper } from 'mars3d-cesium'; export default EventHelper; }
44801
+ declare module "cesium/Source/Core/ExperimentalFeatures" { import { ExperimentalFeatures } from 'mars3d-cesium'; export default ExperimentalFeatures; }
44321
44802
  declare module "cesium/Source/Core/FeatureDetection" { import { FeatureDetection } from 'mars3d-cesium'; export default FeatureDetection; }
44322
44803
  declare module "cesium/Source/Core/formatError" { import { formatError } from 'mars3d-cesium'; export default formatError; }
44323
44804
  declare module "cesium/Source/Core/FrustumGeometry" { import { FrustumGeometry } from 'mars3d-cesium'; export default FrustumGeometry; }
@@ -44370,6 +44851,7 @@ declare module "cesium/Source/Core/Matrix2" { import { Matrix2 } from 'mars3d-ce
44370
44851
  declare module "cesium/Source/Core/Matrix3" { import { Matrix3 } from 'mars3d-cesium'; export default Matrix3; }
44371
44852
  declare module "cesium/Source/Core/Matrix4" { import { Matrix4 } from 'mars3d-cesium'; export default Matrix4; }
44372
44853
  declare module "cesium/Source/Core/mergeSort" { import { mergeSort } from 'mars3d-cesium'; export default mergeSort; }
44854
+ declare module "cesium/Source/Core/MorphWeightSpline" { import { MorphWeightSpline } from 'mars3d-cesium'; export default MorphWeightSpline; }
44373
44855
  declare module "cesium/Source/Core/NearFarScalar" { import { NearFarScalar } from 'mars3d-cesium'; export default NearFarScalar; }
44374
44856
  declare module "cesium/Source/Core/objectToQuery" { import { objectToQuery } from 'mars3d-cesium'; export default objectToQuery; }
44375
44857
  declare module "cesium/Source/Core/Occluder" { import { Occluder } from 'mars3d-cesium'; export default Occluder; }
@@ -44421,6 +44903,7 @@ declare module "cesium/Source/Core/SphereGeometry" { import { SphereGeometry } f
44421
44903
  declare module "cesium/Source/Core/SphereOutlineGeometry" { import { SphereOutlineGeometry } from 'mars3d-cesium'; export default SphereOutlineGeometry; }
44422
44904
  declare module "cesium/Source/Core/Spherical" { import { Spherical } from 'mars3d-cesium'; export default Spherical; }
44423
44905
  declare module "cesium/Source/Core/Spline" { import { Spline } from 'mars3d-cesium'; export default Spline; }
44906
+ declare module "cesium/Source/Core/SteppedSpline" { import { SteppedSpline } from 'mars3d-cesium'; export default SteppedSpline; }
44424
44907
  declare module "cesium/Source/Core/subdivideArray" { import { subdivideArray } from 'mars3d-cesium'; export default subdivideArray; }
44425
44908
  declare module "cesium/Source/Core/TaskProcessor" { import { TaskProcessor } from 'mars3d-cesium'; export default TaskProcessor; }
44426
44909
  declare module "cesium/Source/Core/TerrainData" { import { TerrainData } from 'mars3d-cesium'; export default TerrainData; }
@@ -44441,7 +44924,6 @@ declare module "cesium/Source/Core/WallGeometry" { import { WallGeometry } from
44441
44924
  declare module "cesium/Source/Core/WallOutlineGeometry" { import { WallOutlineGeometry } from 'mars3d-cesium'; export default WallOutlineGeometry; }
44442
44925
  declare module "cesium/Source/Core/WebMercatorProjection" { import { WebMercatorProjection } from 'mars3d-cesium'; export default WebMercatorProjection; }
44443
44926
  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
44927
  declare module "cesium/Source/Core/writeTextToCanvas" { import { writeTextToCanvas } from 'mars3d-cesium'; export default writeTextToCanvas; }
44446
44928
  declare module "cesium/Source/DataSources/BillboardGraphics" { import { BillboardGraphics } from 'mars3d-cesium'; export default BillboardGraphics; }
44447
44929
  declare module "cesium/Source/DataSources/BillboardVisualizer" { import { BillboardVisualizer } from 'mars3d-cesium'; export default BillboardVisualizer; }
@@ -44645,6 +45127,8 @@ declare module "cesium/Source/Widgets/SvgPathBindingHandler" { import { SvgPathB
44645
45127
  declare module "cesium/Source/Widgets/ToggleButtonViewModel" { import { ToggleButtonViewModel } from 'mars3d-cesium'; export default ToggleButtonViewModel; }
44646
45128
  declare module "cesium/Source/Scene/ModelExperimental/CustomShader" { import { CustomShader } from 'mars3d-cesium'; export default CustomShader; }
44647
45129
  declare module "cesium/Source/Scene/ModelExperimental/ModelExperimental" { import { ModelExperimental } from 'mars3d-cesium'; export default ModelExperimental; }
45130
+ declare module "cesium/Source/Scene/ModelExperimental/ModelExperimentalAnimation" { import { ModelExperimentalAnimation } from 'mars3d-cesium'; export default ModelExperimentalAnimation; }
45131
+ declare module "cesium/Source/Scene/ModelExperimental/ModelExperimentalAnimationCollection" { import { ModelExperimentalAnimationCollection } from 'mars3d-cesium'; export default ModelExperimentalAnimationCollection; }
44648
45132
  declare module "cesium/Source/Scene/ModelExperimental/ModelFeature" { import { ModelFeature } from 'mars3d-cesium'; export default ModelFeature; }
44649
45133
  declare module "cesium/Source/Scene/ModelExperimental/TextureUniform" { import { TextureUniform } from 'mars3d-cesium'; export default TextureUniform; }
44650
45134
  declare module "cesium/Source/Widgets/Animation/Animation" { import { Animation } from 'mars3d-cesium'; export default Animation; }