mars3d-cesium 1.92.5 → 1.94.1

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 (101) hide show
  1. package/Build/Cesium/Cesium.d.ts +1593 -1081
  2. package/Build/Cesium/Cesium.js +10 -44
  3. package/Build/Cesium/ThirdParty/Workers/z-worker-pako.js +1 -1
  4. package/Build/Cesium/ThirdParty/google-earth-dbroot-parser.js +1 -1
  5. package/Build/Cesium/Widgets/CesiumInspector/CesiumInspector.css +1 -1
  6. package/Build/Cesium/Widgets/Timeline/Timeline.css +1 -1
  7. package/Build/Cesium/Widgets/widgets.css +1 -1
  8. package/Build/Cesium/Workers/{AttributeCompression-7a823eb1.js → AttributeCompression-4c4a8822.js} +1 -1
  9. package/Build/Cesium/Workers/{AxisAlignedBoundingBox-ef345290.js → AxisAlignedBoundingBox-e89a3bd3.js} +1 -1
  10. package/Build/Cesium/Workers/{BoundingRectangle-ffeef844.js → BoundingRectangle-e2b9571d.js} +1 -1
  11. package/Build/Cesium/Workers/{BoxGeometry-c0d41d4f.js → BoxGeometry-d2742d52.js} +1 -1
  12. package/Build/Cesium/Workers/{Color-75e74066.js → Color-4cbe9dde.js} +1 -1
  13. package/Build/Cesium/Workers/{ComponentDatatype-a9820060.js → ComponentDatatype-07fbb0d4.js} +0 -0
  14. package/Build/Cesium/Workers/{CoplanarPolygonGeometryLibrary-0d63b099.js → CoplanarPolygonGeometryLibrary-f62a086d.js} +1 -1
  15. package/Build/Cesium/Workers/CorridorGeometryLibrary-8d94bd35.js +1 -0
  16. package/Build/Cesium/Workers/{CylinderGeometry-068eebd3.js → CylinderGeometry-4376f4a9.js} +1 -1
  17. package/Build/Cesium/Workers/CylinderGeometryLibrary-3c958a1d.js +1 -0
  18. package/Build/Cesium/Workers/{EllipseGeometry-eeb1db07.js → EllipseGeometry-3718e431.js} +1 -1
  19. package/Build/Cesium/Workers/{EllipseGeometryLibrary-eedf4d0b.js → EllipseGeometryLibrary-7d9d8578.js} +1 -1
  20. package/Build/Cesium/Workers/{EllipseOutlineGeometry-7c871752.js → EllipseOutlineGeometry-cf92ef99.js} +1 -1
  21. package/Build/Cesium/Workers/{EllipsoidGeodesic-7d405754.js → EllipsoidGeodesic-1ab9765d.js} +1 -1
  22. package/Build/Cesium/Workers/{EllipsoidGeometry-954ef938.js → EllipsoidGeometry-84420be2.js} +1 -1
  23. package/Build/Cesium/Workers/{EllipsoidOutlineGeometry-79998e39.js → EllipsoidOutlineGeometry-1c25041e.js} +1 -1
  24. package/Build/Cesium/Workers/{EllipsoidRhumbLine-7b6199fa.js → EllipsoidRhumbLine-001b8738.js} +1 -1
  25. package/Build/Cesium/Workers/{EllipsoidTangentPlane-330be9cc.js → EllipsoidTangentPlane-d431886c.js} +1 -1
  26. package/Build/Cesium/Workers/{EncodedCartesian3-ee8e4156.js → EncodedCartesian3-8da855cc.js} +1 -1
  27. package/Build/Cesium/Workers/{FrustumGeometry-1e1111d8.js → FrustumGeometry-3d1c78a9.js} +1 -1
  28. package/Build/Cesium/Workers/GeometryAttribute-ad6fe63d.js +1 -0
  29. package/Build/Cesium/Workers/{GeometryInstance-86b030a6.js → GeometryInstance-5555f2e4.js} +1 -1
  30. package/Build/Cesium/Workers/{GeometryPipeline-b15e7fd0.js → GeometryPipeline-58ed3258.js} +1 -1
  31. package/Build/Cesium/Workers/IndexDatatype-0b020dfb.js +1 -0
  32. package/Build/Cesium/Workers/{IntersectionTests-f15438d8.js → IntersectionTests-c9a542c8.js} +1 -1
  33. package/Build/Cesium/Workers/{Matrix2-1509208a.js → Matrix2-1ba2543c.js} +1 -1
  34. package/Build/Cesium/Workers/{OrientedBoundingBox-fa9056b2.js → OrientedBoundingBox-87e36f5f.js} +1 -1
  35. package/Build/Cesium/Workers/{Plane-e3daa19b.js → Plane-faef0199.js} +1 -1
  36. package/Build/Cesium/Workers/PolygonGeometryLibrary-cc36562e.js +1 -0
  37. package/Build/Cesium/Workers/PolygonPipeline-b1cbbe6f.js +1 -0
  38. package/Build/Cesium/Workers/{PolylinePipeline-39d7619d.js → PolylinePipeline-7325c7b6.js} +1 -1
  39. package/Build/Cesium/Workers/{PolylineVolumeGeometryLibrary-bd0bbdaf.js → PolylineVolumeGeometryLibrary-c43e3160.js} +1 -1
  40. package/Build/Cesium/Workers/{PrimitivePipeline-e1f3eb3d.js → PrimitivePipeline-7250dfa5.js} +1 -1
  41. package/Build/Cesium/Workers/{RectangleGeometryLibrary-a44974f6.js → RectangleGeometryLibrary-3e108daf.js} +1 -1
  42. package/Build/Cesium/Workers/{TerrainEncoding-341cc7d2.js → TerrainEncoding-96ae0eb9.js} +1 -1
  43. package/Build/Cesium/Workers/Transforms-3afcc791.js +39 -0
  44. package/Build/Cesium/Workers/WallGeometryLibrary-2fbfc076.js +1 -0
  45. package/Build/Cesium/Workers/{WebMercatorProjection-2d827489.js → WebMercatorProjection-7e95daf8.js} +1 -1
  46. package/Build/Cesium/Workers/arrayRemoveDuplicates-7d5d09a3.js +1 -0
  47. package/Build/Cesium/Workers/combineGeometry.js +1 -1
  48. package/Build/Cesium/Workers/createBoxGeometry.js +1 -1
  49. package/Build/Cesium/Workers/createBoxOutlineGeometry.js +1 -1
  50. package/Build/Cesium/Workers/createCircleGeometry.js +1 -1
  51. package/Build/Cesium/Workers/createCircleOutlineGeometry.js +1 -1
  52. package/Build/Cesium/Workers/createCoplanarPolygonGeometry.js +1 -1
  53. package/Build/Cesium/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
  54. package/Build/Cesium/Workers/createCorridorGeometry.js +1 -1
  55. package/Build/Cesium/Workers/createCorridorOutlineGeometry.js +1 -1
  56. package/Build/Cesium/Workers/createCylinderGeometry.js +1 -1
  57. package/Build/Cesium/Workers/createCylinderOutlineGeometry.js +1 -1
  58. package/Build/Cesium/Workers/createEllipseGeometry.js +1 -1
  59. package/Build/Cesium/Workers/createEllipseOutlineGeometry.js +1 -1
  60. package/Build/Cesium/Workers/createEllipsoidGeometry.js +1 -1
  61. package/Build/Cesium/Workers/createEllipsoidOutlineGeometry.js +1 -1
  62. package/Build/Cesium/Workers/createFrustumGeometry.js +1 -1
  63. package/Build/Cesium/Workers/createFrustumOutlineGeometry.js +1 -1
  64. package/Build/Cesium/Workers/createGeometry.js +1 -1
  65. package/Build/Cesium/Workers/createGroundPolylineGeometry.js +1 -1
  66. package/Build/Cesium/Workers/createPlaneGeometry.js +1 -1
  67. package/Build/Cesium/Workers/createPlaneOutlineGeometry.js +1 -1
  68. package/Build/Cesium/Workers/createPolygonGeometry.js +1 -1
  69. package/Build/Cesium/Workers/createPolygonOutlineGeometry.js +1 -1
  70. package/Build/Cesium/Workers/createPolylineGeometry.js +1 -1
  71. package/Build/Cesium/Workers/createPolylineVolumeGeometry.js +1 -1
  72. package/Build/Cesium/Workers/createPolylineVolumeOutlineGeometry.js +1 -1
  73. package/Build/Cesium/Workers/createRectangleGeometry.js +1 -1
  74. package/Build/Cesium/Workers/createRectangleOutlineGeometry.js +1 -1
  75. package/Build/Cesium/Workers/createSimplePolylineGeometry.js +1 -1
  76. package/Build/Cesium/Workers/createSphereGeometry.js +1 -1
  77. package/Build/Cesium/Workers/createSphereOutlineGeometry.js +1 -1
  78. package/Build/Cesium/Workers/createVectorTileClampedPolylines.js +1 -1
  79. package/Build/Cesium/Workers/createVectorTileGeometries.js +1 -1
  80. package/Build/Cesium/Workers/createVectorTilePoints.js +1 -1
  81. package/Build/Cesium/Workers/createVectorTilePolygons.js +1 -1
  82. package/Build/Cesium/Workers/createVectorTilePolylines.js +1 -1
  83. package/Build/Cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
  84. package/Build/Cesium/Workers/createVerticesFromHeightmap.js +2 -2
  85. package/Build/Cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +1 -1
  86. package/Build/Cesium/Workers/createWallGeometry.js +1 -1
  87. package/Build/Cesium/Workers/createWallOutlineGeometry.js +1 -1
  88. package/Build/Cesium/Workers/decodeDraco.js +1 -1
  89. package/Build/Cesium/Workers/upsampleQuantizedTerrainMesh.js +1 -1
  90. package/Build/package.json +1 -0
  91. package/LICENSE.md +26 -84
  92. package/package.json +10 -7
  93. package/Build/Cesium/Workers/CorridorGeometryLibrary-0169e68d.js +0 -1
  94. package/Build/Cesium/Workers/CylinderGeometryLibrary-fe5ec654.js +0 -1
  95. package/Build/Cesium/Workers/GeometryAttribute-71155085.js +0 -1
  96. package/Build/Cesium/Workers/IndexDatatype-1cbc8622.js +0 -1
  97. package/Build/Cesium/Workers/PolygonGeometryLibrary-cb0bc5e9.js +0 -1
  98. package/Build/Cesium/Workers/PolygonPipeline-32699305.js +0 -1
  99. package/Build/Cesium/Workers/Transforms-bf323bcf.js +0 -39
  100. package/Build/Cesium/Workers/WallGeometryLibrary-0cfe87c2.js +0 -1
  101. package/Build/Cesium/Workers/arrayRemoveDuplicates-fe254feb.js +0 -1
@@ -1,12 +1,4 @@
1
1
  declare module "mars3d-cesium" {
2
-
3
- /**
4
- * Private interfaces to support PropertyBag being a dictionary-like object.
5
- */
6
- interface DictionaryLike {
7
- [index: string]: any;
8
- }
9
-
10
2
  /**
11
3
  * Enum containing WebGL Constant values by name.
12
4
  for use without an active WebGL context, or in cases where certain constants are unavailable using the WebGL context
@@ -700,9 +692,9 @@ export class ArcGISTiledElevationTerrainProvider {
700
692
  * @param x - The X coordinate of the tile for which to request geometry.
701
693
  * @param y - The Y coordinate of the tile for which to request geometry.
702
694
  * @param level - The level of the tile for which to request geometry.
703
- * @returns Undefined if nothing need to be loaded or a Promise that resolves when all required tiles are loaded
695
+ * @returns This provider does not support loading availability.
704
696
  */
705
- loadTileDataAvailability(x: number, y: number, level: number): undefined | Promise<void>;
697
+ loadTileDataAvailability(x: number, y: number, level: number): undefined;
706
698
  }
707
699
 
708
700
  /**
@@ -1152,7 +1144,7 @@ export class BoundingSphere {
1152
1144
  static fromEncodedCartesianVertices(positionsHigh?: number[], positionsLow?: number[], result?: BoundingSphere): BoundingSphere;
1153
1145
  /**
1154
1146
  * Computes a bounding sphere from the corner points of an axis-aligned bounding box. The sphere
1155
- tighly and fully encompases the box.
1147
+ tightly and fully encompasses the box.
1156
1148
  * @example
1157
1149
  * // Create a bounding sphere around the unit cube
1158
1150
  const sphere = Cesium.BoundingSphere.fromCornerPoints(new Cesium.Cartesian3(-0.5, -0.5, -0.5), new Cesium.Cartesian3(0.5, 0.5, 0.5));
@@ -4522,6 +4514,51 @@ export class CompressedTextureBuffer {
4522
4514
  clone(): CompressedTextureBuffer;
4523
4515
  }
4524
4516
 
4517
+ /**
4518
+ * A spline that evaluates to a constant value. Although this follows the {@link Spline} interface,
4519
+ it does not maintain an internal array of times since its value never changes.
4520
+ * @example
4521
+ * const position = new Cesium.Cartesian3(1.0, 2.0, 3.0);
4522
+ const spline = new Cesium.ConstantSpline(position);
4523
+
4524
+ const p0 = spline.evaluate(0.0);
4525
+ * @param value - The constant value that the spline evaluates to.
4526
+ */
4527
+ export class ConstantSpline {
4528
+ constructor(value: number | Cartesian3 | Quaternion);
4529
+ /**
4530
+ * The constant value that the spline evaluates to.
4531
+ */
4532
+ readonly value: number | Cartesian3 | Quaternion;
4533
+ /**
4534
+ * Finds an index <code>i</code> in <code>times</code> such that the parameter
4535
+ <code>time</code> is in the interval <code>[times[i], times[i + 1]]</code>.
4536
+
4537
+ Since a constant spline has no internal times array, this will throw an error.
4538
+ * @param time - The time.
4539
+ */
4540
+ findTimeInterval(time: number): void;
4541
+ /**
4542
+ * Wraps the given time to the period covered by the spline.
4543
+ * @param time - The time.
4544
+ * @returns The time, wrapped around to the updated animation.
4545
+ */
4546
+ wrapTime(time: number): number;
4547
+ /**
4548
+ * Clamps the given time to the period covered by the spline.
4549
+ * @param time - The time.
4550
+ * @returns The time, clamped to the animation period.
4551
+ */
4552
+ clampTime(time: number): number;
4553
+ /**
4554
+ * Evaluates the curve at a given time.
4555
+ * @param time - The time at which to evaluate the curve.
4556
+ * @param [result] - The object onto which to store the result.
4557
+ * @returns The modified result parameter or the value that the constant spline represents.
4558
+ */
4559
+ evaluate(time: number, result?: Cartesian3 | Quaternion): number | Cartesian3 | Quaternion;
4560
+ }
4561
+
4525
4562
  /**
4526
4563
  * A description of a polygon composed of arbitrary coplanar positions.
4527
4564
  * @example
@@ -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
  }
@@ -22296,7 +22462,7 @@ export class ModelVisualizer {
22296
22462
  constructor(scene: Scene, entityCollection: EntityCollection);
22297
22463
  /**
22298
22464
  * Updates models created this visualizer to match their
22299
- * Entity counterpart at the given time.
22465
+ Entity counterpart at the given time.
22300
22466
  * @param time - The time to update to.
22301
22467
  * @returns This function always returns true.
22302
22468
  */
@@ -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;
@@ -27061,7 +27248,9 @@ export class Cesium3DTileContent {
27061
27248
  */
27062
27249
  readonly texturesByteLength: number;
27063
27250
  /**
27064
- * Gets the amount of memory used by the batch table textures, in bytes.
27251
+ * Gets the amount of memory used by the batch table textures and any binary
27252
+ metadata properties not accounted for in geometryByteLength or
27253
+ texturesByteLength
27065
27254
  */
27066
27255
  readonly batchTableByteLength: number;
27067
27256
  /**
@@ -27130,7 +27319,7 @@ handler.setInputAction(function(movement) {
27130
27319
  const length = propertyNames.length;
27131
27320
  for (let i = 0; i < length; ++i) {
27132
27321
  const propertyName = propertyNames[i];
27133
- console.log(propertyName + ': ' + feature.getProperty(propertyName));
27322
+ console.log(`{propertyName}: ${feature.getProperty(propertyName)}`);
27134
27323
  }
27135
27324
  }
27136
27325
  }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
@@ -27192,7 +27381,7 @@ export class Cesium3DTileFeature {
27192
27381
  const length = propertyNames.length;
27193
27382
  for (let i = 0; i < length; ++i) {
27194
27383
  const propertyName = propertyNames[i];
27195
- console.log(propertyName + ': ' + feature.getProperty(propertyName));
27384
+ console.log(`{propertyName}: ${feature.getProperty(propertyName)}`);
27196
27385
  }
27197
27386
  * @param name - The case-sensitive name of the property.
27198
27387
  * @returns The value of the property or <code>undefined</code> if the feature does not have this property.
@@ -27278,7 +27467,7 @@ handler.setInputAction(function(movement) {
27278
27467
  const length = propertyNames.length;
27279
27468
  for (let i = 0; i < length; ++i) {
27280
27469
  const propertyName = propertyNames[i];
27281
- console.log(propertyName + ': ' + feature.getProperty(propertyName));
27470
+ console.log(`{propertyName}: ${feature.getProperty(propertyName)}`);
27282
27471
  }
27283
27472
  }
27284
27473
  }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
@@ -27468,7 +27657,7 @@ export class Cesium3DTilePointFeature {
27468
27657
  const length = propertyNames.length;
27469
27658
  for (let i = 0; i < length; ++i) {
27470
27659
  const propertyName = propertyNames[i];
27471
- console.log(propertyName + ': ' + feature.getProperty(propertyName));
27660
+ console.log(`{propertyName} : ${feature.getProperty(propertyName)}`);
27472
27661
  }
27473
27662
  * @param name - The case-sensitive name of the property.
27474
27663
  * @returns The value of the property or <code>undefined</code> if the feature does not have this property.
@@ -27527,6 +27716,8 @@ const tileset = scene.primitives.add(new Cesium.Cesium3DTileset({
27527
27716
  * @param options.url - The url to a tileset JSON file.
27528
27717
  * @param [options.show = true] - Determines if the tileset will be shown.
27529
27718
  * @param [options.modelMatrix = Matrix4.IDENTITY] - A 4x4 transformation matrix that transforms the tileset's root tile.
27719
+ * @param [options.modelUpAxis = Axis.Y] - Which axis is considered up when loading models for tile contents.
27720
+ * @param [options.modelForwardAxis = Axis.X] - Which axis is considered forward when loading models for tile contents.
27530
27721
  * @param [options.shadows = ShadowMode.ENABLED] - Determines whether the tileset casts or receives shadows from light sources.
27531
27722
  * @param [options.maximumScreenSpaceError = 16] - The maximum screen space error used to drive level of detail refinement.
27532
27723
  * @param [options.maximumMemoryUsage = 512] - The maximum amount of memory in MB that can be used by the tileset.
@@ -27558,10 +27749,6 @@ const tileset = scene.primitives.add(new Cesium.Cesium3DTileset({
27558
27749
  * @param [options.pointCloudShading] - Options for constructing a {@link PointCloudShading} object to control point attenuation based on geometric error and lighting.
27559
27750
  * @param [options.lightColor] - The light color when shading models. When <code>undefined</code> the scene's light color is used instead.
27560
27751
  * @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
27752
  * @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
27753
  * @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
27754
  * @param [options.vectorClassificationOnly = false] - Indicates that only the tileset's vector tiles should be used for classification.
@@ -27570,9 +27757,11 @@ const tileset = scene.primitives.add(new Cesium.Cesium3DTileset({
27570
27757
  * @param [options.instanceFeatureIdLabel = "instanceFeatureId_0"] - Label of the instance feature ID set used for picking and styling. If instanceFeatureIdLabel is set to an integer N, it is converted to the string "instanceFeatureId_N" automatically. If both per-primitive and per-instance feature IDs are present, the instance feature IDs take priority.
27571
27758
  * @param [options.showCreditsOnScreen = false] - Whether to display the credits of this tileset on screen.
27572
27759
  * @param [options.splitDirection = SplitDirection.NONE] - The {@link SplitDirection} split to apply to this tileset.
27760
+ * @param [options.projectTo2D = false] - Whether to accurately project the tileset to 2D. If this is true, the tileset will be projected accurately to 2D, but it will use more memory to do so. If this is false, the tileset will use less memory and will still render in 2D / CV mode, but its projected positions may be inaccurate. This cannot be set after the tileset has loaded.
27573
27761
  * @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
27762
  * @param [options.debugFreezeFrame = false] - For debugging only. Determines if only the tiles from last frame should be used for rendering.
27575
27763
  * @param [options.debugColorizeTiles = false] - For debugging only. When true, assigns a random color to each tile.
27764
+ * @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
27765
  * @param [options.debugWireframe = false] - For debugging only. When true, render's each tile's content as a wireframe.
27577
27766
  * @param [options.debugShowBoundingVolume = false] - For debugging only. When true, renders the bounding volume for each tile.
27578
27767
  * @param [options.debugShowContentBoundingVolume = false] - For debugging only. When true, renders the bounding volume for each tile's content.
@@ -27587,6 +27776,8 @@ export class Cesium3DTileset {
27587
27776
  url: Resource | string | Promise<Resource> | Promise<string>;
27588
27777
  show?: boolean;
27589
27778
  modelMatrix?: Matrix4;
27779
+ modelUpAxis?: Axis;
27780
+ modelForwardAxis?: Axis;
27590
27781
  shadows?: ShadowMode;
27591
27782
  maximumScreenSpaceError?: number;
27592
27783
  maximumMemoryUsage?: number;
@@ -27618,10 +27809,6 @@ export class Cesium3DTileset {
27618
27809
  pointCloudShading?: any;
27619
27810
  lightColor?: Cartesian3;
27620
27811
  imageBasedLighting?: ImageBasedLighting;
27621
- imageBasedLightingFactor?: Cartesian2;
27622
- luminanceAtZenith?: number;
27623
- sphericalHarmonicCoefficients?: Cartesian3[];
27624
- specularEnvironmentMaps?: string;
27625
27812
  backFaceCulling?: boolean;
27626
27813
  showOutline?: boolean;
27627
27814
  vectorClassificationOnly?: boolean;
@@ -27630,9 +27817,11 @@ export class Cesium3DTileset {
27630
27817
  instanceFeatureIdLabel?: string | number;
27631
27818
  showCreditsOnScreen?: boolean;
27632
27819
  splitDirection?: SplitDirection;
27820
+ projectTo2D?: boolean;
27633
27821
  debugHeatmapTilePropertyName?: string;
27634
27822
  debugFreezeFrame?: boolean;
27635
27823
  debugColorizeTiles?: boolean;
27824
+ enableDebugWireframe?: boolean;
27636
27825
  debugWireframe?: boolean;
27637
27826
  debugShowBoundingVolume?: boolean;
27638
27827
  debugShowContentBoundingVolume?: boolean;
@@ -27765,7 +27954,7 @@ export class Cesium3DTileset {
27765
27954
  return;
27766
27955
  }
27767
27956
 
27768
- console.log('Loading: requests: ' + numberOfPendingRequests + ', processing: ' + numberOfTilesProcessing);
27957
+ console.log(`Loading: requests: ${numberOfPendingRequests}, processing: ${numberOfTilesProcessing}`);
27769
27958
  });
27770
27959
  */
27771
27960
  loadProgress: Event;
@@ -27841,8 +28030,8 @@ export class Cesium3DTileset {
27841
28030
  </p>
27842
28031
  * @example
27843
28032
  * tileset.tileFailed.addEventListener(function(error) {
27844
- console.log('An error occurred loading tile: ' + error.url);
27845
- console.log('Error: ' + error.message);
28033
+ console.log(`An error occurred loading tile: ${error.url}`);
28034
+ console.log(`Error: ${error.message}`);
27846
28035
  });
27847
28036
  */
27848
28037
  tileFailed: Event;
@@ -27930,8 +28119,9 @@ export class Cesium3DTileset {
27930
28119
  /**
27931
28120
  * The light color when shading models. When <code>undefined</code> the scene's light color is used instead.
27932
28121
  <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.
28122
+ For example, disabling additional light sources by setting
28123
+ <code>tileset.imageBasedLighting.imageBasedLightingFactor = new Cartesian2(0.0, 0.0)</code>
28124
+ will make the tileset much darker. Here, increasing the intensity of the light source will make the tileset brighter.
27935
28125
  </p>
27936
28126
  */
27937
28127
  lightColor: Cartesian3;
@@ -28054,8 +28244,8 @@ export class Cesium3DTileset {
28054
28244
  in the 3D Tiles spec for the full set of properties.
28055
28245
  </p>
28056
28246
  * @example
28057
- * console.log('Maximum building height: ' + tileset.properties.height.maximum);
28058
- console.log('Minimum building height: ' + tileset.properties.height.minimum);
28247
+ * console.log(`Maximum building height: ${tileset.properties.height.maximum}`);
28248
+ console.log(`Minimum building height: ${tileset.properties.height.minimum}`);
28059
28249
  */
28060
28250
  readonly properties: any;
28061
28251
  /**
@@ -28213,8 +28403,7 @@ export class Cesium3DTileset {
28213
28403
  readonly timeSinceLoad: number;
28214
28404
  /**
28215
28405
  * The total amount of GPU memory in bytes used by the tileset. This value is estimated from
28216
- geometry, texture, and batch table textures of loaded tiles. For point clouds, this value also
28217
- includes per-point metadata.
28406
+ geometry, texture, batch table textures, and binary metadata of loaded tiles.
28218
28407
  */
28219
28408
  readonly totalMemoryUsageInBytes: number;
28220
28409
  /**
@@ -28261,33 +28450,6 @@ export class Cesium3DTileset {
28261
28450
  * The properties for managing image-based lighting on this tileset.
28262
28451
  */
28263
28452
  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
28453
  /**
28292
28454
  * Indicates that only the tileset's vector tiles should be used for classification.
28293
28455
  */
@@ -28414,10 +28576,10 @@ Evaluates an expression defined using the
28414
28576
  color : 'vec4(${Temperature})',
28415
28577
  pointSize : '${Temperature} * 2.0'
28416
28578
  });
28417
- * @param [style] - The url of a style or an object defining a style.
28579
+ * @param [style] - An object defining a style.
28418
28580
  */
28419
28581
  export class Cesium3DTileStyle {
28420
- constructor(style?: Resource | string | any);
28582
+ constructor(style?: any);
28421
28583
  /**
28422
28584
  * Gets the object defining the style using the
28423
28585
  {@link https://github.com/CesiumGS/3d-tiles/tree/main/specification/Styling|3D Tiles Styling language}.
@@ -28708,7 +28870,7 @@ export class Cesium3DTileStyle {
28708
28870
  </p>
28709
28871
  * @example
28710
28872
  * const style = new Cesium3DTileStyle({
28711
- labelStyle : '(${Temperature} > 90) ? ' + LabelStyle.FILL_AND_OUTLINE + ' : ' + LabelStyle.FILL
28873
+ labelStyle : `(\${Temperature} > 90) ? ${LabelStyle.FILL_AND_OUTLINE} : ${LabelStyle.FILL}`
28712
28874
  });
28713
28875
  style.labelStyle.evaluate(feature); // returns a LabelStyle
28714
28876
  * @example
@@ -30860,6 +31022,33 @@ export class Globe {
30860
31022
  * Enable the ground atmosphere, which is drawn over the globe when viewed from a distance between <code>lightingFadeInDistance</code> and <code>lightingFadeOutDistance</code>.
30861
31023
  */
30862
31024
  showGroundAtmosphere: boolean;
31025
+ /**
31026
+ * The intensity of the light that is used for computing the ground atmosphere color.
31027
+ */
31028
+ atmosphereLightIntensity: number;
31029
+ /**
31030
+ * The Rayleigh scattering coefficient used in the atmospheric scattering equations for the ground atmosphere.
31031
+ */
31032
+ atmosphereRayleighCoefficient: Cartesian3;
31033
+ /**
31034
+ * The Mie scattering coefficient used in the atmospheric scattering equations for the ground atmosphere.
31035
+ */
31036
+ atmosphereMieCoefficient: Cartesian3;
31037
+ /**
31038
+ * The Rayleigh scale height used in the atmospheric scattering equations for the ground atmosphere, in meters.
31039
+ */
31040
+ atmosphereRayleighScaleHeight: number;
31041
+ /**
31042
+ * The Mie scale height used in the atmospheric scattering equations for the ground atmosphere, in meters.
31043
+ */
31044
+ atmosphereMieScaleHeight: number;
31045
+ /**
31046
+ * The anisotropy of the medium to consider for Mie scattering.
31047
+ <p>
31048
+ Valid values are between -1.0 and 1.0.
31049
+ </p>
31050
+ */
31051
+ atmosphereMieAnisotropy: number;
30863
31052
  /**
30864
31053
  * The distance where everything becomes lit. This only takes effect
30865
31054
  when <code>enableLighting</code> or <code>showGroundAtmosphere</code> is <code>true</code>.
@@ -30992,7 +31181,7 @@ export class Globe {
30992
31181
  * 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
31182
  {@link https://github.com/CesiumGS/cesium/wiki/Fabric|Fabric}.
30994
31183
  */
30995
- material: Material;
31184
+ material: Material | undefined;
30996
31185
  /**
30997
31186
  * The color to render the back side of the globe when the camera is underground or the globe is translucent,
30998
31187
  blended with the globe color based on the camera's distance.
@@ -31151,8 +31340,8 @@ export namespace GoogleEarthEnterpriseImageryProvider {
31151
31340
  * @property metadata - A metadata object that can be used to share metadata requests with a GoogleEarthEnterpriseTerrainProvider.
31152
31341
  * @property [ellipsoid] - The ellipsoid. If not specified, the WGS84 ellipsoid is used.
31153
31342
  * @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.
31343
+ is invalid and should be discarded. If this value is not specified, a default
31344
+ is to discard tiles that fail to download.
31156
31345
  * @property [credit] - A credit for the data source, which is displayed on the canvas.
31157
31346
  */
31158
31347
  type ConstructorOptions = {
@@ -31166,41 +31355,41 @@ export namespace GoogleEarthEnterpriseImageryProvider {
31166
31355
 
31167
31356
  /**
31168
31357
  * 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.
31358
+
31359
+ Notes: This provider is for use with the 3D Earth API of Google Earth Enterprise,
31360
+ {@link GoogleEarthEnterpriseMapsProvider} should be used with 2D Maps API.
31172
31361
  * @example
31173
31362
  * const geeMetadata = new GoogleEarthEnterpriseMetadata('http://www.earthenterprise.org/3d');
31174
- * const gee = new Cesium.GoogleEarthEnterpriseImageryProvider({
31175
- * metadata : geeMetadata
31176
- * });
31363
+ const gee = new Cesium.GoogleEarthEnterpriseImageryProvider({
31364
+ metadata : geeMetadata
31365
+ });
31177
31366
  * @param options - Object describing initialization options
31178
31367
  */
31179
31368
  export class GoogleEarthEnterpriseImageryProvider {
31180
31369
  constructor(options: GoogleEarthEnterpriseImageryProvider.ConstructorOptions);
31181
31370
  /**
31182
31371
  * The default alpha blending value of this provider, with 0.0 representing fully transparent and
31183
- * 1.0 representing fully opaque.
31372
+ 1.0 representing fully opaque.
31184
31373
  */
31185
31374
  defaultAlpha: number | undefined;
31186
31375
  /**
31187
31376
  * 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.
31377
+ 1.0 representing fully opaque.
31189
31378
  */
31190
31379
  defaultNightAlpha: number | undefined;
31191
31380
  /**
31192
31381
  * 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.
31382
+ 1.0 representing fully opaque.
31194
31383
  */
31195
31384
  defaultDayAlpha: number | undefined;
31196
31385
  /**
31197
31386
  * 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.
31387
+ makes the imagery darker while greater than 1.0 makes it brighter.
31199
31388
  */
31200
31389
  defaultBrightness: number | undefined;
31201
31390
  /**
31202
31391
  * 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.
31392
+ the contrast while greater than 1.0 increases it.
31204
31393
  */
31205
31394
  defaultContrast: number | undefined;
31206
31395
  /**
@@ -31209,7 +31398,7 @@ export class GoogleEarthEnterpriseImageryProvider {
31209
31398
  defaultHue: number | undefined;
31210
31399
  /**
31211
31400
  * 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.
31401
+ saturation while greater than 1.0 increases it.
31213
31402
  */
31214
31403
  defaultSaturation: number | undefined;
31215
31404
  /**
@@ -31234,45 +31423,45 @@ export class GoogleEarthEnterpriseImageryProvider {
31234
31423
  readonly proxy: Proxy;
31235
31424
  /**
31236
31425
  * Gets the width of each tile, in pixels. This function should
31237
- * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31426
+ not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31238
31427
  */
31239
31428
  readonly tileWidth: number;
31240
31429
  /**
31241
31430
  * Gets the height of each tile, in pixels. This function should
31242
- * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31431
+ not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31243
31432
  */
31244
31433
  readonly tileHeight: number;
31245
31434
  /**
31246
31435
  * Gets the maximum level-of-detail that can be requested. This function should
31247
- * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31436
+ not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31248
31437
  */
31249
31438
  readonly maximumLevel: number | undefined;
31250
31439
  /**
31251
31440
  * Gets the minimum level-of-detail that can be requested. This function should
31252
- * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31441
+ not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31253
31442
  */
31254
31443
  readonly minimumLevel: number;
31255
31444
  /**
31256
31445
  * Gets the tiling scheme used by this provider. This function should
31257
- * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31446
+ not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31258
31447
  */
31259
31448
  readonly tilingScheme: TilingScheme;
31260
31449
  /**
31261
31450
  * 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.
31451
+ not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31263
31452
  */
31264
31453
  readonly rectangle: Rectangle;
31265
31454
  /**
31266
31455
  * 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.
31456
+ for filtering out "missing" tiles via its shouldDiscardImage function. If this function
31457
+ returns undefined, no tiles are filtered. This function should
31458
+ not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31270
31459
  */
31271
31460
  readonly tileDiscardPolicy: TileDiscardPolicy;
31272
31461
  /**
31273
31462
  * 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}.
31463
+ to the event, you will be notified of the error and can potentially recover from it. Event listeners
31464
+ are passed an instance of {@link TileProviderError}.
31276
31465
  */
31277
31466
  readonly errorEvent: Event;
31278
31467
  /**
@@ -31285,15 +31474,15 @@ export class GoogleEarthEnterpriseImageryProvider {
31285
31474
  readonly readyPromise: Promise<boolean>;
31286
31475
  /**
31287
31476
  * 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.
31477
+ the source of the imagery. This function should not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31289
31478
  */
31290
31479
  readonly credit: Credit;
31291
31480
  /**
31292
31481
  * 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.
31482
+ include an alpha channel. If this property is false, an alpha channel, if present, will
31483
+ be ignored. If this property is true, any images without an alpha channel will be treated
31484
+ as if their alpha is 1.0 everywhere. Setting this property to false reduces memory usage
31485
+ and texture upload time.
31297
31486
  */
31298
31487
  readonly hasAlphaChannel: boolean;
31299
31488
  /**
@@ -31306,31 +31495,26 @@ export class GoogleEarthEnterpriseImageryProvider {
31306
31495
  getTileCredits(x: number, y: number, level: number): Credit[];
31307
31496
  /**
31308
31497
  * Requests the image for a given tile. This function should
31309
- * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31498
+ not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true.
31310
31499
  * @param x - The tile X coordinate.
31311
31500
  * @param y - The tile Y coordinate.
31312
31501
  * @param level - The tile level.
31313
31502
  * @param [request] - The request object. Intended for internal use only.
31314
31503
  * @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.
31504
+ undefined if there are too many active requests to the server, and the request should be retried later.
31318
31505
  */
31319
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
31506
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
31320
31507
  /**
31321
31508
  * Picking features is not currently supported by this imagery provider, so this function simply returns
31322
- * undefined.
31509
+ undefined.
31323
31510
  * @param x - The tile X coordinate.
31324
31511
  * @param y - The tile Y coordinate.
31325
31512
  * @param level - The tile level.
31326
31513
  * @param longitude - The longitude at which to pick features.
31327
31514
  * @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.
31515
+ * @returns Undefined since picking is not supported.
31332
31516
  */
31333
- pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise<ImageryLayerFeatureInfo[]> | undefined;
31517
+ pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): undefined;
31334
31518
  }
31335
31519
 
31336
31520
  export namespace GoogleEarthEnterpriseMapsProvider {
@@ -31548,11 +31732,9 @@ export class GoogleEarthEnterpriseMapsProvider {
31548
31732
  * @param level - The tile level.
31549
31733
  * @param [request] - The request object. Intended for internal use only.
31550
31734
  * @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.
31735
+ undefined if there are too many active requests to the server, and the request should be retried later.
31554
31736
  */
31555
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
31737
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
31556
31738
  /**
31557
31739
  * Picking features is not currently supported by this imagery provider, so this function simply returns
31558
31740
  undefined.
@@ -31561,12 +31743,9 @@ export class GoogleEarthEnterpriseMapsProvider {
31561
31743
  * @param level - The tile level.
31562
31744
  * @param longitude - The longitude at which to pick features.
31563
31745
  * @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.
31746
+ * @returns Undefined since picking is not supported.
31568
31747
  */
31569
- pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise<ImageryLayerFeatureInfo[]> | undefined;
31748
+ pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): undefined;
31570
31749
  /**
31571
31750
  * Gets or sets the URL to the Google Earth logo for display in the credit.
31572
31751
  */
@@ -31578,8 +31757,8 @@ export namespace GridImageryProvider {
31578
31757
  * Initialization options for the GridImageryProvider constructor
31579
31758
  * @property [tilingScheme = new GeographicTilingScheme()] - The tiling scheme for which to draw tiles.
31580
31759
  * @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.
31760
+ this parameter is ignored and the tiling scheme's ellipsoid is used instead. If neither
31761
+ parameter is specified, the WGS84 ellipsoid is used.
31583
31762
  * @property [cells = 8] - The number of grids cells.
31584
31763
  * @property [color = Color(1.0, 1.0, 1.0, 0.4)] - The color to draw grid lines.
31585
31764
  * @property [glowColor = Color(0.0, 1.0, 0.0, 0.05)] - The color to draw glow for grid lines.
@@ -31605,34 +31784,34 @@ export namespace GridImageryProvider {
31605
31784
 
31606
31785
  /**
31607
31786
  * 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.
31787
+ May be useful for custom rendering effects or debugging terrain.
31609
31788
  * @param options - Object describing initialization options
31610
31789
  */
31611
31790
  export class GridImageryProvider {
31612
31791
  constructor(options: GridImageryProvider.ConstructorOptions);
31613
31792
  /**
31614
31793
  * The default alpha blending value of this provider, with 0.0 representing fully transparent and
31615
- * 1.0 representing fully opaque.
31794
+ 1.0 representing fully opaque.
31616
31795
  */
31617
31796
  defaultAlpha: number | undefined;
31618
31797
  /**
31619
31798
  * 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.
31799
+ 1.0 representing fully opaque.
31621
31800
  */
31622
31801
  defaultNightAlpha: number | undefined;
31623
31802
  /**
31624
31803
  * 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.
31804
+ 1.0 representing fully opaque.
31626
31805
  */
31627
31806
  defaultDayAlpha: number | undefined;
31628
31807
  /**
31629
31808
  * 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.
31809
+ makes the imagery darker while greater than 1.0 makes it brighter.
31631
31810
  */
31632
31811
  defaultBrightness: number | undefined;
31633
31812
  /**
31634
31813
  * 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.
31814
+ the contrast while greater than 1.0 increases it.
31636
31815
  */
31637
31816
  defaultContrast: number | undefined;
31638
31817
  /**
@@ -31641,7 +31820,7 @@ export class GridImageryProvider {
31641
31820
  defaultHue: number | undefined;
31642
31821
  /**
31643
31822
  * 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.
31823
+ saturation while greater than 1.0 increases it.
31645
31824
  */
31646
31825
  defaultSaturation: number | undefined;
31647
31826
  /**
@@ -31662,45 +31841,45 @@ export class GridImageryProvider {
31662
31841
  readonly proxy: Proxy;
31663
31842
  /**
31664
31843
  * Gets the width of each tile, in pixels. This function should
31665
- * not be called before {@link GridImageryProvider#ready} returns true.
31844
+ not be called before {@link GridImageryProvider#ready} returns true.
31666
31845
  */
31667
31846
  readonly tileWidth: number;
31668
31847
  /**
31669
31848
  * Gets the height of each tile, in pixels. This function should
31670
- * not be called before {@link GridImageryProvider#ready} returns true.
31849
+ not be called before {@link GridImageryProvider#ready} returns true.
31671
31850
  */
31672
31851
  readonly tileHeight: number;
31673
31852
  /**
31674
31853
  * Gets the maximum level-of-detail that can be requested. This function should
31675
- * not be called before {@link GridImageryProvider#ready} returns true.
31854
+ not be called before {@link GridImageryProvider#ready} returns true.
31676
31855
  */
31677
31856
  readonly maximumLevel: number | undefined;
31678
31857
  /**
31679
31858
  * Gets the minimum level-of-detail that can be requested. This function should
31680
- * not be called before {@link GridImageryProvider#ready} returns true.
31859
+ not be called before {@link GridImageryProvider#ready} returns true.
31681
31860
  */
31682
31861
  readonly minimumLevel: number;
31683
31862
  /**
31684
31863
  * Gets the tiling scheme used by this provider. This function should
31685
- * not be called before {@link GridImageryProvider#ready} returns true.
31864
+ not be called before {@link GridImageryProvider#ready} returns true.
31686
31865
  */
31687
31866
  readonly tilingScheme: TilingScheme;
31688
31867
  /**
31689
31868
  * 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.
31869
+ not be called before {@link GridImageryProvider#ready} returns true.
31691
31870
  */
31692
31871
  readonly rectangle: Rectangle;
31693
31872
  /**
31694
31873
  * 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.
31874
+ for filtering out "missing" tiles via its shouldDiscardImage function. If this function
31875
+ returns undefined, no tiles are filtered. This function should
31876
+ not be called before {@link GridImageryProvider#ready} returns true.
31698
31877
  */
31699
31878
  readonly tileDiscardPolicy: TileDiscardPolicy;
31700
31879
  /**
31701
31880
  * 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}.
31881
+ to the event, you will be notified of the error and can potentially recover from it. Event listeners
31882
+ are passed an instance of {@link TileProviderError}.
31704
31883
  */
31705
31884
  readonly errorEvent: Event;
31706
31885
  /**
@@ -31713,15 +31892,15 @@ export class GridImageryProvider {
31713
31892
  readonly readyPromise: Promise<boolean>;
31714
31893
  /**
31715
31894
  * 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.
31895
+ the source of the imagery. This function should not be called before {@link GridImageryProvider#ready} returns true.
31717
31896
  */
31718
31897
  readonly credit: Credit;
31719
31898
  /**
31720
31899
  * 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.
31900
+ include an alpha channel. If this property is false, an alpha channel, if present, will
31901
+ be ignored. If this property is true, any images without an alpha channel will be treated
31902
+ as if their alpha is 1.0 everywhere. When this property is false, memory usage
31903
+ and texture upload time are reduced.
31725
31904
  */
31726
31905
  readonly hasAlphaChannel: boolean;
31727
31906
  /**
@@ -31742,31 +31921,25 @@ export class GridImageryProvider {
31742
31921
  getTileCredits(x: number, y: number, level: number): Credit[];
31743
31922
  /**
31744
31923
  * Requests the image for a given tile. This function should
31745
- * not be called before {@link GridImageryProvider#ready} returns true.
31924
+ not be called before {@link GridImageryProvider#ready} returns true.
31746
31925
  * @param x - The tile X coordinate.
31747
31926
  * @param y - The tile Y coordinate.
31748
31927
  * @param level - The tile level.
31749
31928
  * @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.
31929
+ * @returns The resolved image as a Canvas DOM object.
31754
31930
  */
31755
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
31931
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLCanvasElement>;
31756
31932
  /**
31757
31933
  * Picking features is not currently supported by this imagery provider, so this function simply returns
31758
- * undefined.
31934
+ undefined.
31759
31935
  * @param x - The tile X coordinate.
31760
31936
  * @param y - The tile Y coordinate.
31761
31937
  * @param level - The tile level.
31762
31938
  * @param longitude - The longitude at which to pick features.
31763
31939
  * @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.
31940
+ * @returns Undefined since picking is not supported.
31768
31941
  */
31769
- pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise<ImageryLayerFeatureInfo[]> | undefined;
31942
+ pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): undefined;
31770
31943
  }
31771
31944
 
31772
31945
  /**
@@ -32569,24 +32742,24 @@ export class ImageryLayerCollection {
32569
32742
  constructor();
32570
32743
  /**
32571
32744
  * 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.
32745
+ was added and the index at which it was added.
32573
32746
  */
32574
32747
  layerAdded: Event;
32575
32748
  /**
32576
32749
  * 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.
32750
+ was removed and the index from which it was removed.
32578
32751
  */
32579
32752
  layerRemoved: Event;
32580
32753
  /**
32581
32754
  * 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.
32755
+ was moved, its new index after the move, and its old index prior to the move.
32583
32756
  */
32584
32757
  layerMoved: Event;
32585
32758
  /**
32586
32759
  * 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.
32760
+ {@link ImageryLayer#show} property. Event handlers are passed a reference to this layer,
32761
+ the index of the layer in the collection, and a flag that is true if the layer is now
32762
+ shown or false if it is now hidden.
32590
32763
  */
32591
32764
  layerShownOrHidden: Event;
32592
32765
  /**
@@ -32597,14 +32770,14 @@ export class ImageryLayerCollection {
32597
32770
  * Adds a layer to the collection.
32598
32771
  * @param layer - the layer to add.
32599
32772
  * @param [index] - the index to add the layer at. If omitted, the layer will
32600
- * be added on top of all existing layers.
32773
+ be added on top of all existing layers.
32601
32774
  */
32602
32775
  add(layer: ImageryLayer, index?: number): void;
32603
32776
  /**
32604
32777
  * Creates a new layer using the given ImageryProvider and adds it to the collection.
32605
32778
  * @param imageryProvider - the imagery provider to create a new layer for.
32606
32779
  * @param [index] - the index to add the layer at. If omitted, the layer will
32607
- * added on top of all existing layers.
32780
+ added on top of all existing layers.
32608
32781
  * @returns The newly created layer.
32609
32782
  */
32610
32783
  addImageryProvider(imageryProvider: ImageryProvider, index?: number): ImageryLayer;
@@ -32613,7 +32786,7 @@ export class ImageryLayerCollection {
32613
32786
  * @param layer - The layer to remove.
32614
32787
  * @param [destroy = true] - whether to destroy the layers in addition to removing them.
32615
32788
  * @returns true if the layer was in the collection and was removed,
32616
- * false if the layer was not in the collection.
32789
+ false if the layer was not in the collection.
32617
32790
  */
32618
32791
  remove(layer: ImageryLayer, destroy?: boolean): boolean;
32619
32792
  /**
@@ -32661,57 +32834,57 @@ export class ImageryLayerCollection {
32661
32834
  lowerToBottom(layer: ImageryLayer): void;
32662
32835
  /**
32663
32836
  * 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}.
32837
+ location on the screen, use {@link Camera.getPickRay}.
32665
32838
  * @param ray - The ray to test for intersection.
32666
32839
  * @param scene - The scene.
32667
32840
  * @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.
32841
+ the layers that are intersected by a given pick ray. Undefined if
32842
+ no layers are selected.
32670
32843
  */
32671
32844
  pickImageryLayers(ray: Ray, scene: Scene): ImageryLayer[] | undefined;
32672
32845
  /**
32673
32846
  * 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}.
32847
+ layer features are found by invoking {@link ImageryProvider#pickFeatures} for each imagery layer tile intersected
32848
+ by the pick ray. To compute a pick ray from a location on the screen, use {@link Camera.getPickRay}.
32676
32849
  * @example
32677
32850
  * 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
- * }
32851
+ const featuresPromise = viewer.imageryLayers.pickImageryLayerFeatures(pickRay, viewer.scene);
32852
+ if (!Cesium.defined(featuresPromise)) {
32853
+ console.log('No features picked.');
32854
+ } else {
32855
+ Promise.resolve(featuresPromise).then(function(features) {
32856
+ // This function is called asynchronously when the list if picked features is available.
32857
+ console.log(`Number of features: ${features.length}`);
32858
+ if (features.length > 0) {
32859
+ console.log(`First feature name: ${features[0].name}`);
32860
+ }
32861
+ });
32862
+ }
32690
32863
  * @param ray - The ray to test for intersection.
32691
32864
  * @param scene - The scene.
32692
32865
  * @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.
32866
+ If it can be quickly determined that no features are intersected (for example,
32867
+ because no active imagery providers support {@link ImageryProvider#pickFeatures}
32868
+ or because the pick ray does not intersect the surface), this function will
32869
+ return undefined.
32697
32870
  */
32698
32871
  pickImageryLayerFeatures(ray: Ray, scene: Scene): Promise<ImageryLayerFeatureInfo[]> | undefined;
32699
32872
  /**
32700
32873
  * 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.
32874
+ <br /><br />
32875
+ If this object was destroyed, it should not be used; calling any function other than
32876
+ <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
32704
32877
  * @returns true if this object was destroyed; otherwise, false.
32705
32878
  */
32706
32879
  isDestroyed(): boolean;
32707
32880
  /**
32708
32881
  * 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.
32882
+ object allows for deterministic release of WebGL resources, instead of relying on the garbage
32883
+ collector.
32884
+ <br /><br />
32885
+ Once this object is destroyed, it should not be used; calling any function other than
32886
+ <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
32887
+ assign the return value (<code>undefined</code>) to the object as done in the example.
32715
32888
  * @example
32716
32889
  * layerCollection = layerCollection && layerCollection.destroy();
32717
32890
  */
@@ -32760,6 +32933,16 @@ export class ImageryLayerFeatureInfo {
32760
32933
  configureDescriptionFromProperties(properties: any): void;
32761
32934
  }
32762
32935
 
32936
+ /**
32937
+ * The format in which {@link ImageryProvider} methods return an image may
32938
+ vary by provider, configuration, or server settings. Most common are
32939
+ <code>HTMLImageElement</code>, <code>HTMLCanvasElement</code>, or on supported
32940
+ browsers, <code>ImageBitmap</code>.
32941
+
32942
+ See the documentation for each ImageryProvider class for more information about how they return images.
32943
+ */
32944
+ export type ImageryTypes = HTMLImageElement | HTMLCanvasElement | ImageBitmap;
32945
+
32763
32946
  /**
32764
32947
  * Provides imagery to be displayed on the surface of an ellipsoid. This type describes an
32765
32948
  interface and is not intended to be instantiated directly.
@@ -32900,12 +33083,10 @@ export class ImageryProvider {
32900
33083
  * @param y - The tile Y coordinate.
32901
33084
  * @param level - The tile level.
32902
33085
  * @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.
33086
+ * @returns Returns a promise for the image that will resolve when the image is available, or
33087
+ undefined if there are too many active requests to the server, and the request should be retried later.
32907
33088
  */
32908
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
33089
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
32909
33090
  /**
32910
33091
  * Asynchronously determines what features, if any, are located at a given longitude and latitude within
32911
33092
  a tile. This function should not be called before {@link ImageryProvider#ready} returns true.
@@ -32928,17 +33109,9 @@ export class ImageryProvider {
32928
33109
  * @param imageryProvider - The imagery provider for the URL.
32929
33110
  * @param url - The URL of the image.
32930
33111
  * @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.
33112
+ undefined if there are too many active requests to the server, and the request should be retried later.
32934
33113
  */
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 {
33114
+ static loadImage(imageryProvider: ImageryProvider, url: Resource | string): Promise<ImageryTypes | CompressedTextureBuffer> | undefined;
32942
33115
  }
32943
33116
 
32944
33117
  export namespace IonImageryProvider {
@@ -33098,11 +33271,9 @@ export class IonImageryProvider {
33098
33271
  * @param level - The tile level.
33099
33272
  * @param [request] - The request object. Intended for internal use only.
33100
33273
  * @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.
33274
+ undefined if there are too many active requests to the server, and the request should be retried later.
33104
33275
  */
33105
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
33276
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
33106
33277
  /**
33107
33278
  * Asynchronously determines what features, if any, are located at a given longitude and latitude within
33108
33279
  a tile. This function should not be called before {@link IonImageryProvider#ready} returns true.
@@ -33403,33 +33574,33 @@ export class Label {
33403
33574
 
33404
33575
  /**
33405
33576
  * 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}.
33577
+ Each label can have a different font, color, scale, etc.
33578
+ <br /><br />
33579
+ <div align='center'>
33580
+ <img src='Images/Label.png' width='400' height='300' /><br />
33581
+ Example labels
33582
+ </div>
33583
+ <br /><br />
33584
+ Labels are added and removed from the collection using {@link LabelCollection#add}
33585
+ and {@link LabelCollection#remove}.
33415
33586
  * @example
33416
33587
  * // 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
- * });
33588
+ const labels = scene.primitives.add(new Cesium.LabelCollection());
33589
+ labels.add({
33590
+ position : new Cesium.Cartesian3(1.0, 2.0, 3.0),
33591
+ text : 'A label'
33592
+ });
33593
+ labels.add({
33594
+ position : new Cesium.Cartesian3(4.0, 5.0, 6.0),
33595
+ text : 'Another label'
33596
+ });
33426
33597
  * @param [options] - Object with the following properties:
33427
33598
  * @param [options.modelMatrix = Matrix4.IDENTITY] - The 4x4 transformation matrix that transforms each label from model to world coordinates.
33428
33599
  * @param [options.debugShowBoundingVolume = false] - For debugging only. Determines if this primitive's commands' bounding spheres are shown.
33429
33600
  * @param [options.scene] - Must be passed in for labels that use the height reference property or will be depth tested against the globe.
33430
33601
  * @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.
33602
+ is used for rendering both opaque and translucent labels. However, if either all of the labels are completely opaque or all are completely translucent,
33603
+ setting the technique to BlendOption.OPAQUE or BlendOption.TRANSLUCENT can improve performance by up to 2x.
33433
33604
  * @param [options.show = true] - Determines if the labels in the collection will be shown.
33434
33605
  */
33435
33606
  export class LabelCollection {
@@ -33446,85 +33617,85 @@ export class LabelCollection {
33446
33617
  show: boolean;
33447
33618
  /**
33448
33619
  * 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}.
33620
+ When this is the identity matrix, the labels are drawn in world coordinates, i.e., Earth's WGS84 coordinates.
33621
+ Local reference frames can be used by providing a different transformation matrix, like that returned
33622
+ by {@link Transforms.eastNorthUpToFixedFrame}.
33452
33623
  * @example
33453
33624
  * 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
- * });
33625
+ labels.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(center);
33626
+ labels.add({
33627
+ position : new Cesium.Cartesian3(0.0, 0.0, 0.0),
33628
+ text : 'Center'
33629
+ });
33630
+ labels.add({
33631
+ position : new Cesium.Cartesian3(1000000.0, 0.0, 0.0),
33632
+ text : 'East'
33633
+ });
33634
+ labels.add({
33635
+ position : new Cesium.Cartesian3(0.0, 1000000.0, 0.0),
33636
+ text : 'North'
33637
+ });
33638
+ labels.add({
33639
+ position : new Cesium.Cartesian3(0.0, 0.0, 1000000.0),
33640
+ text : 'Up'
33641
+ });
33471
33642
  */
33472
33643
  modelMatrix: Matrix4;
33473
33644
  /**
33474
33645
  * 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>
33646
+ <p>
33647
+ Draws the bounding sphere for each draw command in the primitive.
33648
+ </p>
33478
33649
  */
33479
33650
  debugShowBoundingVolume: boolean;
33480
33651
  /**
33481
33652
  * 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.
33653
+ However, if either all of the labels are completely opaque or all are completely translucent,
33654
+ setting the technique to BlendOption.OPAQUE or BlendOption.TRANSLUCENT can improve
33655
+ performance by up to 2x.
33485
33656
  */
33486
33657
  blendOption: BlendOption;
33487
33658
  /**
33488
33659
  * 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.
33660
+ {@link LabelCollection#get} to iterate over all the labels
33661
+ in the collection.
33491
33662
  */
33492
33663
  length: number;
33493
33664
  /**
33494
33665
  * 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.
33666
+ The added label is returned so it can be modified or removed from the collection later.
33496
33667
  * @example
33497
33668
  * // 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
- * });
33669
+ const l = labels.add({
33670
+ show : true,
33671
+ position : Cesium.Cartesian3.ZERO,
33672
+ text : '',
33673
+ font : '30px sans-serif',
33674
+ fillColor : Cesium.Color.WHITE,
33675
+ outlineColor : Cesium.Color.BLACK,
33676
+ outlineWidth : 1.0,
33677
+ showBackground : false,
33678
+ backgroundColor : new Cesium.Color(0.165, 0.165, 0.165, 0.8),
33679
+ backgroundPadding : new Cesium.Cartesian2(7, 5),
33680
+ style : Cesium.LabelStyle.FILL,
33681
+ pixelOffset : Cesium.Cartesian2.ZERO,
33682
+ eyeOffset : Cesium.Cartesian3.ZERO,
33683
+ horizontalOrigin : Cesium.HorizontalOrigin.LEFT,
33684
+ verticalOrigin : Cesium.VerticalOrigin.BASELINE,
33685
+ scale : 1.0,
33686
+ translucencyByDistance : undefined,
33687
+ pixelOffsetScaleByDistance : undefined,
33688
+ heightReference : HeightReference.NONE,
33689
+ distanceDisplayCondition : undefined
33690
+ });
33520
33691
  * @example
33521
33692
  * // 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
- * });
33693
+ // text, and font.
33694
+ const l = labels.add({
33695
+ position : Cesium.Cartesian3.fromRadians(longitude, latitude, height),
33696
+ text : 'Hello World',
33697
+ font : '24px Helvetica',
33698
+ });
33528
33699
  * @param [options] - A template describing the label's properties as shown in Example 1.
33529
33700
  * @returns The label that was added to the collection.
33530
33701
  */
@@ -33533,7 +33704,7 @@ export class LabelCollection {
33533
33704
  * Removes a label from the collection. Once removed, a label is no longer usable.
33534
33705
  * @example
33535
33706
  * const l = labels.add(...);
33536
- * labels.remove(l); // Returns true
33707
+ labels.remove(l); // Returns true
33537
33708
  * @param label - The label to remove.
33538
33709
  * @returns <code>true</code> if the label was removed; <code>false</code> if the label was not found in the collection.
33539
33710
  */
@@ -33542,8 +33713,8 @@ export class LabelCollection {
33542
33713
  * Removes all labels from the collection.
33543
33714
  * @example
33544
33715
  * labels.add(...);
33545
- * labels.add(...);
33546
- * labels.removeAll();
33716
+ labels.add(...);
33717
+ labels.removeAll();
33547
33718
  */
33548
33719
  removeAll(): void;
33549
33720
  /**
@@ -33554,36 +33725,36 @@ export class LabelCollection {
33554
33725
  contains(label: Label): boolean;
33555
33726
  /**
33556
33727
  * 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.
33728
+ and increase as labels are added. Removing a label shifts all labels after
33729
+ it to the left, changing their indices. This function is commonly used with
33730
+ {@link LabelCollection#length} to iterate over all the labels
33731
+ in the collection.
33561
33732
  * @example
33562
33733
  * // 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
- * }
33734
+ const len = labels.length;
33735
+ for (let i = 0; i < len; ++i) {
33736
+ const l = billboards.get(i);
33737
+ l.show = !l.show;
33738
+ }
33568
33739
  * @param index - The zero-based index of the billboard.
33569
33740
  * @returns The label at the specified index.
33570
33741
  */
33571
33742
  get(index: number): Label;
33572
33743
  /**
33573
33744
  * 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.
33745
+ <br /><br />
33746
+ If this object was destroyed, it should not be used; calling any function other than
33747
+ <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
33577
33748
  * @returns True if this object was destroyed; otherwise, false.
33578
33749
  */
33579
33750
  isDestroyed(): boolean;
33580
33751
  /**
33581
33752
  * 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.
33753
+ release of WebGL resources, instead of relying on the garbage collector to destroy this object.
33754
+ <br /><br />
33755
+ Once an object is destroyed, it should not be used; calling any function other than
33756
+ <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
33757
+ assign the return value (<code>undefined</code>) to the object as done in the example.
33587
33758
  * @example
33588
33759
  * labels = labels && labels.destroy();
33589
33760
  */
@@ -33802,11 +33973,9 @@ export class MapboxImageryProvider {
33802
33973
  * @param level - The tile level.
33803
33974
  * @param [request] - The request object. Intended for internal use only.
33804
33975
  * @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.
33976
+ undefined if there are too many active requests to the server, and the request should be retried later.
33808
33977
  */
33809
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
33978
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
33810
33979
  /**
33811
33980
  * Asynchronously determines what features, if any, are located at a given longitude and latitude within
33812
33981
  a tile. This function should not be called before {@link MapboxImageryProvider#ready} returns true.
@@ -34007,11 +34176,9 @@ export class MapboxStyleImageryProvider {
34007
34176
  * @param level - The tile level.
34008
34177
  * @param [request] - The request object. Intended for internal use only.
34009
34178
  * @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.
34179
+ undefined if there are too many active requests to the server, and the request should be retried later.
34013
34180
  */
34014
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
34181
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
34015
34182
  /**
34016
34183
  * Asynchronously determines what features, if any, are located at a given longitude and latitude within
34017
34184
  a tile. This function should not be called before {@link MapboxStyleImageryProvider#ready} returns true.
@@ -34655,13 +34822,9 @@ relative to a local origin.
34655
34822
  * @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
34823
  * @param [options.silhouetteSize = 0.0] - The size of the silhouette in pixels.
34657
34824
  * @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.
34825
+ * @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
34826
  * @param [options.lightColor] - The light color when shading the model. When <code>undefined</code> the scene's light color is used instead.
34660
34827
  * @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
34828
  * @param [options.credit] - A credit for the data source, which is displayed on the canvas.
34666
34829
  * @param [options.showCreditsOnScreen = false] - Whether to display the credits of this model on screen.
34667
34830
  * @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 +34860,6 @@ export class Model {
34697
34860
  dequantizeInShader?: boolean;
34698
34861
  lightColor?: Cartesian3;
34699
34862
  imageBasedLighting?: ImageBasedLighting;
34700
- imageBasedLightingFactor?: Cartesian2;
34701
- luminanceAtZenith?: number;
34702
- sphericalHarmonicCoefficients?: Cartesian3[];
34703
- specularEnvironmentMaps?: string;
34704
34863
  credit?: Credit | string;
34705
34864
  showCreditsOnScreen?: boolean;
34706
34865
  backFaceCulling?: boolean;
@@ -34725,8 +34884,8 @@ export class Model {
34725
34884
  Local reference frames can be used by providing a different transformation matrix, like that returned
34726
34885
  by {@link Transforms.eastNorthUpToFixedFrame}.
34727
34886
  * @example
34728
- * const origin = Cartesian3.fromDegrees(-95.0, 40.0, 200000.0);
34729
- m.modelMatrix = Transforms.eastNorthUpToFixedFrame(origin);
34887
+ * const origin = Cesium.Cartesian3.fromDegrees(-95.0, 40.0, 200000.0);
34888
+ m.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(origin);
34730
34889
  */
34731
34890
  modelMatrix: Matrix4;
34732
34891
  /**
@@ -34831,7 +34990,7 @@ export class Model {
34831
34990
  account glTF animations and skins nor does it take into account {@link Model#minimumPixelSize}.
34832
34991
  * @example
34833
34992
  * // Center in WGS84 coordinates
34834
- const center = Matrix4.multiplyByPoint(model.modelMatrix, model.boundingSphere.center, new Cartesian3());
34993
+ const center = Cesium.Matrix4.multiplyByPoint(model.modelMatrix, model.boundingSphere.center, new Cesium.Cartesian3());
34835
34994
  */
34836
34995
  readonly boundingSphere: BoundingSphere;
34837
34996
  /**
@@ -34885,8 +35044,9 @@ export class Model {
34885
35044
  /**
34886
35045
  * The light color when shading the model. When <code>undefined</code> the scene's light color is used instead.
34887
35046
  <p>
34888
- For example, disabling additional light sources by setting <code>model.imageBasedLightingFactor = new 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.
35047
+ For example, disabling additional light sources by setting
35048
+ <code>model.imageBasedLighting.imageBasedLightingFactor = new Cesium.Cartesian2(0.0, 0.0)</code>
35049
+ will make the model much darker. Here, increasing the intensity of the light source will make the model brighter.
34890
35050
  </p>
34891
35051
  */
34892
35052
  lightColor: Cartesian3;
@@ -34894,33 +35054,6 @@ export class Model {
34894
35054
  * The properties for managing image-based lighting on this model.
34895
35055
  */
34896
35056
  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
35057
  /**
34925
35058
  * Gets the credit that will be displayed for the model
34926
35059
  */
@@ -34978,15 +35111,15 @@ export class Model {
34978
35111
  </p>
34979
35112
  * @example
34980
35113
  * // Example 1. Create a model from a glTF asset
34981
- const model = scene.primitives.add(Model.fromGltf({
35114
+ const model = scene.primitives.add(Cesium.Model.fromGltf({
34982
35115
  url : './duck/duck.gltf'
34983
35116
  }));
34984
35117
  * @example
34985
35118
  * // Example 2. Create model and provide all properties and events
34986
- const origin = Cartesian3.fromDegrees(-95.0, 40.0, 200000.0);
34987
- const modelMatrix = Transforms.eastNorthUpToFixedFrame(origin);
35119
+ const origin = Cesium.Cartesian3.fromDegrees(-95.0, 40.0, 200000.0);
35120
+ const modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(origin);
34988
35121
 
34989
- const model = scene.primitives.add(Model.fromGltf({
35122
+ const model = scene.primitives.add(Cesium.Model.fromGltf({
34990
35123
  url : './duck/duck.gltf',
34991
35124
  show : true, // default
34992
35125
  modelMatrix : modelMatrix,
@@ -35027,13 +35160,9 @@ export class Model {
35027
35160
  * @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
35161
  * @param [options.silhouetteSize = 0.0] - The size of the silhouette in pixels.
35029
35162
  * @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.
35163
+ * @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
35164
  * @param [options.lightColor] - The light color when shading the model. When <code>undefined</code> the scene's light color is used instead.
35032
35165
  * @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
35166
  * @param [options.credit] - A credit for the model, which is displayed on the canvas.
35038
35167
  * @param [options.showCreditsOnScreen = false] - Whether to display the credits of this model on screen.
35039
35168
  * @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 +35197,6 @@ export class Model {
35068
35197
  dequantizeInShader?: boolean;
35069
35198
  lightColor?: Cartesian3;
35070
35199
  imageBasedLighting?: ImageBasedLighting;
35071
- imageBasedLightingFactor?: Cartesian2;
35072
- luminanceAtZenith?: number;
35073
- sphericalHarmonicCoefficients?: Cartesian3[];
35074
- specularEnvironmentMaps?: string;
35075
35200
  credit?: Credit | string;
35076
35201
  showCreditsOnScreen?: boolean;
35077
35202
  backFaceCulling?: boolean;
@@ -35083,7 +35208,7 @@ export class Model {
35083
35208
  * @example
35084
35209
  * // Apply non-uniform scale to node LOD3sp
35085
35210
  const node = model.getNode('LOD3sp');
35086
- node.matrix = Matrix4.fromScale(new Cartesian3(5.0, 1.0, 1.0), node.matrix);
35211
+ node.matrix = Cesium.Matrix4.fromScale(new Cesium.Cartesian3(5.0, 1.0, 1.0), node.matrix);
35087
35212
  * @param name - The glTF name of the node.
35088
35213
  * @returns The node or <code>undefined</code> if no node with <code>name</code> exists.
35089
35214
  */
@@ -35168,7 +35293,7 @@ export class ModelAnimation {
35168
35293
  </p>
35169
35294
  * @example
35170
35295
  * animation.start.addEventListener(function(model, animation) {
35171
- console.log('Animation started: ' + animation.name);
35296
+ console.log(`Animation started: ${animation.name}`);
35172
35297
  });
35173
35298
  */
35174
35299
  start: Event;
@@ -35182,7 +35307,7 @@ export class ModelAnimation {
35182
35307
  </p>
35183
35308
  * @example
35184
35309
  * animation.update.addEventListener(function(model, animation, time) {
35185
- console.log('Animation updated: ' + animation.name + '. glTF animation time: ' + time);
35310
+ console.log(`Animation updated: ${animation.name}. glTF animation time: ${time}`);
35186
35311
  });
35187
35312
  */
35188
35313
  update: Event;
@@ -35194,7 +35319,7 @@ export class ModelAnimation {
35194
35319
  </p>
35195
35320
  * @example
35196
35321
  * animation.stop.addEventListener(function(model, animation) {
35197
- console.log('Animation stopped: ' + animation.name);
35322
+ console.log(`Animation stopped: ${animation.name}`);
35198
35323
  });
35199
35324
  */
35200
35325
  stop: Event;
@@ -35233,6 +35358,30 @@ export class ModelAnimation {
35233
35358
  * Determines if and how the animation is looped.
35234
35359
  */
35235
35360
  readonly loop: ModelAnimationLoop;
35361
+ /**
35362
+ * If this is defined, it will be used to compute the local animation time
35363
+ instead of the scene's time.
35364
+ */
35365
+ animationTime: ModelAnimation.AnimationTimeCallback;
35366
+ }
35367
+
35368
+ export namespace ModelAnimation {
35369
+ /**
35370
+ * A function used to compute the local animation time for a ModelAnimation.
35371
+ * @example
35372
+ * // Use real time for model animation (assuming animateWhilePaused was set to true)
35373
+ function animationTime(duration) {
35374
+ return Date.now() / 1000 / duration;
35375
+ }
35376
+ * @example
35377
+ * // Offset the phase of the animation, so it starts halfway through its cycle.
35378
+ function animationTime(duration, seconds) {
35379
+ return seconds / duration + 0.5;
35380
+ }
35381
+ * @param duration - The animation's original duration in seconds.
35382
+ * @param seconds - The seconds since the animation started, in scene time.
35383
+ */
35384
+ type AnimationTimeCallback = (duration: number, seconds: number) => number;
35236
35385
  }
35237
35386
 
35238
35387
  /**
@@ -35245,7 +35394,7 @@ export class ModelAnimationCollection {
35245
35394
  example, to keep a UI in sync.
35246
35395
  * @example
35247
35396
  * model.activeAnimations.animationAdded.addEventListener(function(model, animation) {
35248
- console.log('Animation added: ' + animation.name);
35397
+ console.log(`Animation added: ${animation.name}`);
35249
35398
  });
35250
35399
  */
35251
35400
  animationAdded: Event;
@@ -35254,10 +35403,17 @@ export class ModelAnimationCollection {
35254
35403
  example, to keep a UI in sync.
35255
35404
  * @example
35256
35405
  * model.activeAnimations.animationRemoved.addEventListener(function(model, animation) {
35257
- console.log('Animation removed: ' + animation.name);
35406
+ console.log(`Animation removed: ${animation.name}`);
35258
35407
  });
35259
35408
  */
35260
35409
  animationRemoved: Event;
35410
+ /**
35411
+ * When true, the animation will play even when the scene time is paused. However,
35412
+ whether animation takes place will depend on the animationTime functions assigned
35413
+ to the model's animations. By default, this is based on scene time, so models using
35414
+ the default will not animate regardless of this setting.
35415
+ */
35416
+ animateWhilePaused: boolean;
35261
35417
  /**
35262
35418
  * The number of animations in the collection.
35263
35419
  */
@@ -35293,13 +35449,13 @@ export class ModelAnimationCollection {
35293
35449
  });
35294
35450
 
35295
35451
  animation.start.addEventListener(function(model, animation) {
35296
- console.log('Animation started: ' + animation.name);
35452
+ console.log(`Animation started: ${animation.name}`);
35297
35453
  });
35298
35454
  animation.update.addEventListener(function(model, animation, time) {
35299
- console.log('Animation updated: ' + animation.name + '. glTF animation time: ' + time);
35455
+ console.log(`Animation updated: ${animation.name}. glTF animation time: ${time}`);
35300
35456
  });
35301
35457
  animation.stop.addEventListener(function(model, animation) {
35302
- console.log('Animation stopped: ' + animation.name);
35458
+ console.log(`Animation stopped: ${animation.name}`);
35303
35459
  });
35304
35460
  * @param options - Object with the following properties:
35305
35461
  * @param [options.name] - The glTF animation name that identifies the animation. Must be defined if <code>options.index</code> is <code>undefined</code>.
@@ -35311,6 +35467,7 @@ export class ModelAnimationCollection {
35311
35467
  * @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
35468
  * @param [options.reverse = false] - When <code>true</code>, the animation is played in reverse.
35313
35469
  * @param [options.loop = ModelAnimationLoop.NONE] - Determines if and how the animation is looped.
35470
+ * @param [options.animationTime] - If defined, computes the local animation time for this animation.
35314
35471
  * @returns The animation that was added to the collection.
35315
35472
  */
35316
35473
  add(options: {
@@ -35323,6 +35480,7 @@ export class ModelAnimationCollection {
35323
35480
  multiplier?: number;
35324
35481
  reverse?: boolean;
35325
35482
  loop?: ModelAnimationLoop;
35483
+ animationTime?: ModelAnimation.AnimationTimeCallback;
35326
35484
  }): ModelAnimation;
35327
35485
  /**
35328
35486
  * Creates and adds an animation with the specified initial properties to the collection
@@ -35343,6 +35501,7 @@ export class ModelAnimationCollection {
35343
35501
  * @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
35502
  * @param [options.reverse = false] - When <code>true</code>, the animations are played in reverse.
35345
35503
  * @param [options.loop = ModelAnimationLoop.NONE] - Determines if and how the animations are looped.
35504
+ * @param [options.animationTime] - If defined, computes the local animation time for all of the animations.
35346
35505
  * @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
35506
  */
35348
35507
  addAll(options?: {
@@ -35353,6 +35512,7 @@ export class ModelAnimationCollection {
35353
35512
  multiplier?: number;
35354
35513
  reverse?: boolean;
35355
35514
  loop?: ModelAnimationLoop;
35515
+ animationTime?: ModelAnimation.AnimationTimeCallback;
35356
35516
  }): ModelAnimation[];
35357
35517
  /**
35358
35518
  * Removes an animation from the collection.
@@ -35603,17 +35763,22 @@ the Model from your source data type.
35603
35763
  </p>
35604
35764
  * @param options - Object with the following properties:
35605
35765
  * @param options.resource - The Resource to the 3D model.
35766
+ * @param [options.show = true] - Whether or not to render the model.
35606
35767
  * @param [options.modelMatrix = Matrix4.IDENTITY] - The 4x4 transformation matrix that transforms the model from model to world coordinates.
35607
35768
  * @param [options.scale = 1.0] - A uniform scale applied to this model.
35608
35769
  * @param [options.minimumPixelSize = 0.0] - The approximate minimum pixel size of the model regardless of zoom.
35609
35770
  * @param [options.maximumScale] - The maximum scale size of a model. An upper limit for minimumPixelSize.
35771
+ * @param [options.clampAnimations = true] - Determines if the model's animations should hold a pose over frames where no keyframes are specified.
35610
35772
  * @param [options.debugShowBoundingVolume = false] - For debugging only. Draws the bounding sphere for each draw command in the model.
35773
+ * @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.
35774
+ * @param [options.debugWireframe = false] - For debugging only. Draws the model in wireframe. Will only work for WebGL1 if enableDebugWireframe is set to true.
35611
35775
  * @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
35776
  * @param [options.opaquePass = Pass.OPAQUE] - The pass to use in the {@link DrawCommand} for the opaque portions of the model.
35613
35777
  * @param [options.allowPicking = true] - When <code>true</code>, each primitive is pickable with {@link Scene#pick}.
35614
35778
  * @param [options.customShader] - A custom shader. This will add user-defined GLSL code to the vertex and fragment shaders. Using custom shaders with a {@link Cesium3DTileStyle} may lead to undefined behavior.
35615
35779
  * @param [options.content] - The tile content this model belongs to. This property will be undefined if model is not loaded as part of a tileset.
35616
- * @param [options.show = true] - Whether or not to render the model.
35780
+ * @param [options.heightReference = HeightReference.NONE] - Determines how the model is drawn relative to terrain.
35781
+ * @param [options.scene] - Must be passed in for models that use the height reference property.
35617
35782
  * @param [options.color] - A color that blends with the model's rendered color.
35618
35783
  * @param [options.colorBlendMode = ColorBlendMode.HIGHLIGHT] - Defines how the color blends with the model.
35619
35784
  * @param [options.colorBlendAmount = 0.5] - Value used to determine the color strength when the <code>colorBlendMode</code> is <code>MIX</code>. A value of 0.0 results in the model's rendered color while a value of 1.0 results in a solid color, with any value in-between resulting in a mix of the two.
@@ -35627,21 +35792,27 @@ the Model from your source data type.
35627
35792
  * @param [options.shadows = ShadowMode.ENABLED] - Determines whether the model casts or receives shadows from light sources.
35628
35793
  * @param [options.showCreditsOnScreen = false] - Whether to display the credits of this model on screen.
35629
35794
  * @param [options.splitDirection = SplitDirection.NONE] - The {@link SplitDirection} split to apply to this model.
35795
+ * @param [options.projectTo2D = false] - Whether to accurately project the model's positions in 2D. If this is true, the model will be projected accurately to 2D, but it will use more memory to do so. If this is false, the model will use less memory and will still render in 2D / CV mode, but its positions may be inaccurate. This disables minimumPixelSize and prevents future modification to the model matrix. This also cannot be set after the model has loaded.
35630
35796
  */
35631
35797
  export class ModelExperimental {
35632
35798
  constructor(options: {
35633
35799
  resource: Resource;
35800
+ show?: boolean;
35634
35801
  modelMatrix?: Matrix4;
35635
35802
  scale?: number;
35636
35803
  minimumPixelSize?: number;
35637
35804
  maximumScale?: number;
35805
+ clampAnimations?: boolean;
35638
35806
  debugShowBoundingVolume?: boolean;
35807
+ enableDebugWireframe?: boolean;
35808
+ debugWireframe?: boolean;
35639
35809
  cull?: boolean;
35640
35810
  opaquePass?: boolean;
35641
35811
  allowPicking?: boolean;
35642
35812
  customShader?: CustomShader;
35643
35813
  content?: Cesium3DTileContent;
35644
- show?: boolean;
35814
+ heightReference?: HeightReference;
35815
+ scene?: Scene;
35645
35816
  color?: Color;
35646
35817
  colorBlendMode?: ColorBlendMode;
35647
35818
  colorBlendAmount?: number;
@@ -35655,6 +35826,7 @@ export class ModelExperimental {
35655
35826
  shadows?: ShadowMode;
35656
35827
  showCreditsOnScreen?: boolean;
35657
35828
  splitDirection?: SplitDirection;
35829
+ projectTo2D?: boolean;
35658
35830
  });
35659
35831
  /**
35660
35832
  * When <code>true</code>, this model is ready to render, i.e., the external binary, image,
@@ -35670,6 +35842,14 @@ export class ModelExperimental {
35670
35842
  </p>
35671
35843
  */
35672
35844
  readonly readyPromise: Promise<ModelExperimental>;
35845
+ /**
35846
+ * The currently playing glTF animations.
35847
+ */
35848
+ readonly activeAnimations: ModelExperimentalAnimationCollection;
35849
+ /**
35850
+ * Determines if the model's animations should hold a pose over frames where no keyframes are specified.
35851
+ */
35852
+ clampAnimations: boolean;
35673
35853
  /**
35674
35854
  * Point cloud shading settings for controlling point cloud attenuation
35675
35855
  and lighting. For 3D Tiles, this is inherited from the
@@ -35681,6 +35861,15 @@ export class ModelExperimental {
35681
35861
  may lead to undefined behavior.
35682
35862
  */
35683
35863
  customShader: CustomShader;
35864
+ /**
35865
+ * The height reference of the model, which determines how the model is drawn
35866
+ relative to terrain.
35867
+ */
35868
+ heightReference: HeightReference;
35869
+ /**
35870
+ * The style to apply the to the features in the model. Cannot be applied if a {@link CustomShader} is also applied.
35871
+ */
35872
+ style: Cesium3DTileStyle;
35684
35873
  /**
35685
35874
  * The color to blend with the model's rendered color.
35686
35875
  */
@@ -35694,7 +35883,9 @@ export class ModelExperimental {
35694
35883
  */
35695
35884
  colorBlendAmount: number;
35696
35885
  /**
35697
- * Gets the model's bounding sphere.
35886
+ * Gets the model's bounding sphere in world space. This does not take into account
35887
+ glTF animations, skins, or morph targets. It also does not account for
35888
+ {@link ModelExperimental#minimumPixelSize}.
35698
35889
  */
35699
35890
  readonly boundingSphere: BoundingSphere;
35700
35891
  /**
@@ -35704,6 +35895,13 @@ export class ModelExperimental {
35704
35895
  </p>
35705
35896
  */
35706
35897
  debugShowBoundingVolume: boolean;
35898
+ /**
35899
+ * This property is for debugging only; it is not for production use nor is it optimized.
35900
+ <p>
35901
+ Draws the model in wireframe.
35902
+ </p>
35903
+ */
35904
+ debugWireframe: boolean;
35707
35905
  /**
35708
35906
  * Whether or not to render the model.
35709
35907
  */
@@ -35743,8 +35941,9 @@ export class ModelExperimental {
35743
35941
  /**
35744
35942
  * The light color when shading the model. When <code>undefined</code> the scene's light color is used instead.
35745
35943
  <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.
35944
+ Disabling additional light sources by setting
35945
+ <code>model.imageBasedLighting.imageBasedLightingFactor = new Cartesian2(0.0, 0.0)</code>
35946
+ will make the model much darker. Here, increasing the intensity of the light source will make the model brighter.
35748
35947
  </p>
35749
35948
  */
35750
35949
  lightColor: Cartesian3;
@@ -35825,8 +36024,9 @@ export class ModelExperimental {
35825
36024
  <p>
35826
36025
  The model can be a traditional glTF asset with a .gltf extension or a Binary glTF using the .glb extension.
35827
36026
  * @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
36027
+ * @param options.url - The url to the .gltf or .glb file.
35829
36028
  * @param [options.basePath = ''] - The base path that paths in the glTF JSON are relative to.
36029
+ * @param [options.show = true] - Whether or not to render the model.
35830
36030
  * @param [options.modelMatrix = Matrix4.IDENTITY] - The 4x4 transformation matrix that transforms the model from model to world coordinates.
35831
36031
  * @param [options.scale = 1.0] - A uniform scale applied to this model.
35832
36032
  * @param [options.minimumPixelSize = 0.0] - The approximate minimum pixel size of the model regardless of zoom.
@@ -35834,6 +36034,8 @@ export class ModelExperimental {
35834
36034
  * @param [options.incrementallyLoadTextures = true] - Determine if textures may continue to stream in after the model is loaded.
35835
36035
  * @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
36036
  * @param [options.debugShowBoundingVolume = false] - For debugging only. Draws the bounding sphere for each draw command in the model.
36037
+ * @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.
36038
+ * @param [options.debugWireframe = false] - For debugging only. Draws the model in wireframe. Will only work for WebGL1 if enableDebugWireframe is set to true.
35837
36039
  * @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
36040
  * @param [options.opaquePass = Pass.OPAQUE] - The pass to use in the {@link DrawCommand} for the opaque portions of the model.
35839
36041
  * @param [options.upAxis = Axis.Y] - The up-axis of the glTF model.
@@ -35841,7 +36043,8 @@ export class ModelExperimental {
35841
36043
  * @param [options.allowPicking = true] - When <code>true</code>, each primitive is pickable with {@link Scene#pick}.
35842
36044
  * @param [options.customShader] - A custom shader. This will add user-defined GLSL code to the vertex and fragment shaders. Using custom shaders with a {@link Cesium3DTileStyle} may lead to undefined behavior.
35843
36045
  * @param [options.content] - The tile content this model belongs to. This property will be undefined if model is not loaded as part of a tileset.
35844
- * @param [options.show = true] - Whether or not to render the model.
36046
+ * @param [options.heightReference = HeightReference.NONE] - Determines how the model is drawn relative to terrain.
36047
+ * @param [options.scene] - Must be passed in for models that use the height reference property.
35845
36048
  * @param [options.color] - A color that blends with the model's rendered color.
35846
36049
  * @param [options.colorBlendMode = ColorBlendMode.HIGHLIGHT] - Defines how the color blends with the model.
35847
36050
  * @param [options.colorBlendAmount = 0.5] - Value used to determine the color strength when the <code>colorBlendMode</code> is <code>MIX</code>. A value of 0.0 results in the model's rendered color while a value of 1.0 results in a solid color, with any value in-between resulting in a mix of the two.
@@ -35855,11 +36058,13 @@ export class ModelExperimental {
35855
36058
  * @param [options.shadows = ShadowMode.ENABLED] - Determines whether the model casts or receives shadows from light sources.
35856
36059
  * @param [options.showCreditsOnScreen = false] - Whether to display the credits of this model on screen.
35857
36060
  * @param [options.splitDirection = SplitDirection.NONE] - The {@link SplitDirection} split to apply to this model.
36061
+ * @param [options.projectTo2D = false] - Whether to accurately project the model's positions in 2D. If this is true, the model will be projected accurately to 2D, but it will use more memory to do so. If this is false, the model will use less memory and will still render in 2D / CV mode, but its positions may be inaccurate. This disables minimumPixelSize and prevents future modification to the model matrix. This also cannot be set after the model has loaded.
35858
36062
  * @returns The newly created model.
35859
36063
  */
35860
36064
  static fromGltf(options: {
35861
- gltf: string | Resource | Uint8Array | any;
36065
+ url: string | Resource;
35862
36066
  basePath?: string | Resource;
36067
+ show?: boolean;
35863
36068
  modelMatrix?: Matrix4;
35864
36069
  scale?: number;
35865
36070
  minimumPixelSize?: number;
@@ -35867,6 +36072,8 @@ export class ModelExperimental {
35867
36072
  incrementallyLoadTextures?: boolean;
35868
36073
  releaseGltfJson?: boolean;
35869
36074
  debugShowBoundingVolume?: boolean;
36075
+ enableDebugWireframe?: boolean;
36076
+ debugWireframe?: boolean;
35870
36077
  cull?: boolean;
35871
36078
  opaquePass?: boolean;
35872
36079
  upAxis?: Axis;
@@ -35874,7 +36081,8 @@ export class ModelExperimental {
35874
36081
  allowPicking?: boolean;
35875
36082
  customShader?: CustomShader;
35876
36083
  content?: Cesium3DTileContent;
35877
- show?: boolean;
36084
+ heightReference?: HeightReference;
36085
+ scene?: Scene;
35878
36086
  color?: Color;
35879
36087
  colorBlendMode?: ColorBlendMode;
35880
36088
  colorBlendAmount?: number;
@@ -35888,6 +36096,7 @@ export class ModelExperimental {
35888
36096
  shadows?: ShadowMode;
35889
36097
  showCreditsOnScreen?: boolean;
35890
36098
  splitDirection?: SplitDirection;
36099
+ projectTo2D?: boolean;
35891
36100
  }): ModelExperimental;
35892
36101
  }
35893
36102
 
@@ -35903,19 +36112,310 @@ m.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(origin);
35903
36112
  export var modelMatrix: Matrix4;
35904
36113
 
35905
36114
  /**
35906
- * The style to apply the to the features in the model. Cannot be applied if a {@link CustomShader} is also applied.
36115
+ * An active animation derived from a glTF asset. An active animation is an
36116
+ animation that is either currently playing or scheduled to be played due to
36117
+ being added to a model's {@link ModelExperimentalAnimationCollection}. An active animation
36118
+ is an instance of an animation; for example, there can be multiple active
36119
+ animations for the same glTF animation, each with a different start time.
36120
+ <p>
36121
+ Create this by calling {@link ModelExperimentalAnimationCollection#add}.
36122
+ </p>
35907
36123
  */
35908
- export var style: Cesium3DTileStyle;
36124
+ export class ModelExperimentalAnimation {
36125
+ constructor();
36126
+ /**
36127
+ * When <code>true</code>, the animation is removed after it stops playing.
36128
+ This is slightly more efficient that not removing it, but if, for example,
36129
+ time is reversed, the animation is not played again.
36130
+ */
36131
+ removeOnStop: boolean;
36132
+ /**
36133
+ * The event fired when this animation is started. This can be used, for
36134
+ example, to play a sound or start a particle system, when the animation starts.
36135
+ <p>
36136
+ This event is fired at the end of the frame after the scene is rendered.
36137
+ </p>
36138
+ * @example
36139
+ * animation.start.addEventListener(function(model, animation) {
36140
+ console.log(`Animation started: ${animation.name}`);
36141
+ });
36142
+ */
36143
+ start: Event;
36144
+ /**
36145
+ * The event fired when on each frame when this animation is updated. The
36146
+ current time of the animation, relative to the glTF animation time span, is
36147
+ passed to the event, which allows, for example, starting new animations at a
36148
+ specific time relative to a playing animation.
36149
+ <p>
36150
+ This event is fired at the end of the frame after the scene is rendered.
36151
+ </p>
36152
+ * @example
36153
+ * animation.update.addEventListener(function(model, animation, time) {
36154
+ console.log(`Animation updated: ${animation.name}. glTF animation time: ${time}`);
36155
+ });
36156
+ */
36157
+ update: Event;
36158
+ /**
36159
+ * The event fired when this animation is stopped. This can be used, for
36160
+ example, to play a sound or start a particle system, when the animation stops.
36161
+ <p>
36162
+ This event is fired at the end of the frame after the scene is rendered.
36163
+ </p>
36164
+ * @example
36165
+ * animation.stop.addEventListener(function(model, animation) {
36166
+ console.log(`Animation stopped: ${animation.name}`);
36167
+ });
36168
+ */
36169
+ stop: Event;
36170
+ /**
36171
+ * The name that identifies this animation in the model, if it exists.
36172
+ */
36173
+ readonly name: string;
36174
+ /**
36175
+ * The scene time to start playing this animation. When this is <code>undefined</code>,
36176
+ the animation starts at the next frame.
36177
+ */
36178
+ readonly startTime: JulianDate;
36179
+ /**
36180
+ * The delay, in seconds, from {@link ModelExperimentalAnimation#startTime} to start playing.
36181
+ */
36182
+ readonly delay: number;
36183
+ /**
36184
+ * The scene time to stop playing this animation. When this is <code>undefined</code>,
36185
+ the animation is played for its full duration and perhaps repeated depending on
36186
+ {@link ModelExperimentalAnimation#loop}.
36187
+ */
36188
+ readonly stopTime: JulianDate;
36189
+ /**
36190
+ * Values greater than <code>1.0</code> increase the speed that the animation is played relative
36191
+ to the scene clock speed; values less than <code>1.0</code> decrease the speed. A value of
36192
+ <code>1.0</code> plays the animation at the speed in the glTF animation mapped to the scene
36193
+ clock speed. For example, if the scene is played at 2x real-time, a two-second glTF animation
36194
+ will play in one second even if <code>multiplier</code> is <code>1.0</code>.
36195
+ */
36196
+ readonly multiplier: number;
36197
+ /**
36198
+ * When <code>true</code>, the animation is played in reverse.
36199
+ */
36200
+ readonly reverse: boolean;
36201
+ /**
36202
+ * Determines if and how the animation is looped.
36203
+ */
36204
+ readonly loop: ModelAnimationLoop;
36205
+ /**
36206
+ * If this is defined, it will be used to compute the local animation time
36207
+ instead of the scene's time.
36208
+ */
36209
+ animationTime: ModelExperimentalAnimation.AnimationTimeCallback;
36210
+ }
36211
+
36212
+ export namespace ModelExperimentalAnimation {
36213
+ /**
36214
+ * A function used to compute the local animation time for a ModelExperimentalAnimation.
36215
+ * @example
36216
+ * // Use real time for model animation (assuming animateWhilePaused was set to true)
36217
+ function animationTime(duration) {
36218
+ return Date.now() / 1000 / duration;
36219
+ }
36220
+ * @example
36221
+ * // Offset the phase of the animation, so it starts halfway through its cycle.
36222
+ function animationTime(duration, seconds) {
36223
+ return seconds / duration + 0.5;
36224
+ }
36225
+ * @param duration - The animation's original duration in seconds.
36226
+ * @param seconds - The seconds since the animation started, in scene time.
36227
+ */
36228
+ type AnimationTimeCallback = (duration: number, seconds: number) => number;
36229
+ }
35909
36230
 
35910
36231
  /**
35911
- * The indices of the children of this node in the scene graph.
36232
+ * A collection of active model animations. Access this using {@link ModelExperimental#activeAnimations}.
35912
36233
  */
35913
- export const children: number[];
36234
+ export class ModelExperimentalAnimationCollection {
36235
+ constructor();
36236
+ /**
36237
+ * The event fired when an animation is added to the collection. This can be used, for
36238
+ example, to keep a UI in sync.
36239
+ * @example
36240
+ * model.activeAnimations.animationAdded.addEventListener(function(model, animation) {
36241
+ console.log(`Animation added: ${animation.name}`);
36242
+ });
36243
+ */
36244
+ animationAdded: Event;
36245
+ /**
36246
+ * The event fired when an animation is removed from the collection. This can be used, for
36247
+ example, to keep a UI in sync.
36248
+ * @example
36249
+ * model.activeAnimations.animationRemoved.addEventListener(function(model, animation) {
36250
+ console.log(`Animation removed: ${animation.name}`);
36251
+ });
36252
+ */
36253
+ animationRemoved: Event;
36254
+ /**
36255
+ * When true, the animation will play even when the scene time is paused. However,
36256
+ whether animation takes place will depend on the animationTime functions assigned
36257
+ to the model's animations. By default, this is based on scene time, so models using
36258
+ the default will not animate regardless of this setting.
36259
+ */
36260
+ animateWhilePaused: boolean;
36261
+ /**
36262
+ * The number of animations in the collection.
36263
+ */
36264
+ readonly length: number;
36265
+ /**
36266
+ * The model that owns this animation collection.
36267
+ */
36268
+ readonly model: ModelExperimental;
36269
+ /**
36270
+ * Creates and adds an animation with the specified initial properties to the collection.
36271
+ <p>
36272
+ This raises the {@link ModelExperimentalAnimationCollection#animationAdded} event so, for example, a UI can stay in sync.
36273
+ </p>
36274
+ * @example
36275
+ * // Example 1. Add an animation by name
36276
+ model.activeAnimations.add({
36277
+ name : 'animation name'
36278
+ });
36279
+ * @example
36280
+ * // Example 2. Add an animation by index
36281
+ model.activeAnimations.add({
36282
+ index : 0
36283
+ });
36284
+ * @example
36285
+ * // Example 3. Add an animation and provide all properties and events
36286
+ const startTime = Cesium.JulianDate.now();
36287
+
36288
+ const animation = model.activeAnimations.add({
36289
+ name : 'another animation name',
36290
+ startTime : startTime,
36291
+ delay : 0.0, // Play at startTime (default)
36292
+ stopTime : Cesium.JulianDate.addSeconds(startTime, 4.0, new Cesium.JulianDate()),
36293
+ removeOnStop : false, // Do not remove when animation stops (default)
36294
+ multiplier : 2.0, // Play at double speed
36295
+ reverse : true, // Play in reverse
36296
+ loop : Cesium.ModelAnimationLoop.REPEAT // Loop the animation
36297
+ });
36298
+
36299
+ animation.start.addEventListener(function(model, animation) {
36300
+ console.log(`Animation started: ${animation.name}`);
36301
+ });
36302
+ animation.update.addEventListener(function(model, animation, time) {
36303
+ console.log(`Animation updated: ${animation.name}. glTF animation time: ${time}`);
36304
+ });
36305
+ animation.stop.addEventListener(function(model, animation) {
36306
+ console.log(`Animation stopped: ${animation.name}`);
36307
+ });
36308
+ * @param options - Object with the following properties:
36309
+ * @param [options.name] - The glTF animation name that identifies the animation. Must be defined if <code>options.index</code> is <code>undefined</code>.
36310
+ * @param [options.index] - The glTF animation index that identifies the animation. Must be defined if <code>options.name</code> is <code>undefined</code>.
36311
+ * @param [options.startTime] - The scene time to start playing the animation. When this is <code>undefined</code>, the animation starts at the next frame.
36312
+ * @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.
36313
+ * @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.
36314
+ * @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.
36315
+ * @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.
36316
+ * @param [options.reverse = false] - When <code>true</code>, the animation is played in reverse.
36317
+ * @param [options.loop = ModelAnimationLoop.NONE] - Determines if and how the animation is looped.
36318
+ * @param [options.animationTime] - If defined, computes the local animation time for this animation.
36319
+ * @returns The animation that was added to the collection.
36320
+ */
36321
+ add(options: {
36322
+ name?: string;
36323
+ index?: number;
36324
+ startTime?: JulianDate;
36325
+ delay?: number;
36326
+ stopTime?: JulianDate;
36327
+ removeOnStop?: boolean;
36328
+ multiplier?: number;
36329
+ reverse?: boolean;
36330
+ loop?: ModelAnimationLoop;
36331
+ animationTime?: ModelExperimentalAnimation.AnimationTimeCallback;
36332
+ }): ModelExperimentalAnimation;
36333
+ /**
36334
+ * Creates and adds animations with the specified initial properties to the collection
36335
+ for all animations in the model.
36336
+ <p>
36337
+ This raises the {@link ModelExperimentalAnimationCollection#animationAdded} event for each model so, for example, a UI can stay in sync.
36338
+ </p>
36339
+ * @example
36340
+ * model.activeAnimations.addAll({
36341
+ multiplier : 0.5, // Play at half-speed
36342
+ loop : Cesium.ModelAnimationLoop.REPEAT // Loop the animations
36343
+ });
36344
+ * @param [options] - Object with the following properties:
36345
+ * @param [options.startTime] - The scene time to start playing the animations. When this is <code>undefined</code>, the animations starts at the next frame.
36346
+ * @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.
36347
+ * @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.
36348
+ * @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.
36349
+ * @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.
36350
+ * @param [options.reverse = false] - When <code>true</code>, the animations are played in reverse.
36351
+ * @param [options.loop = ModelAnimationLoop.NONE] - Determines if and how the animations are looped.
36352
+ * @param [options.animationTime] - If defined, computes the local animation time for all of the animations.
36353
+ * @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.
36354
+ */
36355
+ addAll(options?: {
36356
+ startTime?: JulianDate;
36357
+ delay?: number;
36358
+ stopTime?: JulianDate;
36359
+ removeOnStop?: boolean;
36360
+ multiplier?: number;
36361
+ reverse?: boolean;
36362
+ loop?: ModelAnimationLoop;
36363
+ animationTime?: ModelExperimentalAnimation.AnimationTimeCallback;
36364
+ }): ModelExperimentalAnimation[];
36365
+ /**
36366
+ * Removes an animation from the collection.
36367
+ <p>
36368
+ This raises the {@link ModelExperimentalAnimationCollection#animationRemoved} event so, for example, a UI can stay in sync.
36369
+ </p>
36370
+ <p>
36371
+ An animation can also be implicitly removed from the collection by setting {@link ModelExperimentalAnimationCollection#removeOnStop} to
36372
+ <code>true</code>. The {@link ModelExperimentalAnimationCollection#animationRemoved} event is still fired when the animation is removed.
36373
+ </p>
36374
+ * @example
36375
+ * const a = model.activeAnimations.add({
36376
+ name : 'animation name'
36377
+ });
36378
+ model.activeAnimations.remove(a); // Returns true
36379
+ * @param runtimeAnimation - The runtime animation to remove.
36380
+ * @returns <code>true</code> if the animation was removed; <code>false</code> if the animation was not found in the collection.
36381
+ */
36382
+ remove(runtimeAnimation: ModelExperimentalAnimation): boolean;
36383
+ /**
36384
+ * Removes all animations from the collection.
36385
+ <p>
36386
+ This raises the {@link ModelExperimentalAnimationCollection#animationRemoved} event for each
36387
+ animation so, for example, a UI can stay in sync.
36388
+ </p>
36389
+ */
36390
+ removeAll(): void;
36391
+ /**
36392
+ * Determines whether this collection contains a given animation.
36393
+ * @param runtimeAnimation - The runtime animation to check for.
36394
+ * @returns <code>true</code> if this collection contains the animation, <code>false</code> otherwise.
36395
+ */
36396
+ contains(runtimeAnimation: ModelExperimentalAnimation): boolean;
36397
+ /**
36398
+ * Returns the animation in the collection at the specified index. Indices are zero-based
36399
+ and increase as animations are added. Removing an animation shifts all animations after
36400
+ it to the left, changing their indices. This function is commonly used to iterate over
36401
+ all the animations in the collection.
36402
+ * @example
36403
+ * // Output the names of all the animations in the collection.
36404
+ const animations = model.activeAnimations;
36405
+ const length = animations.length;
36406
+ for (let i = 0; i < length; ++i) {
36407
+ console.log(animations.get(i).name);
36408
+ }
36409
+ * @param index - The zero-based index of the animation.
36410
+ * @returns The runtime animation at the specified index.
36411
+ */
36412
+ get(index: number): ModelExperimentalAnimation;
36413
+ }
35914
36414
 
35915
36415
  /**
35916
- * Update stages to apply to this primitive.
36416
+ * The indices of the children of this node in the scene graph.
35917
36417
  */
35918
- export var updateStages: any;
36418
+ export const children: number[];
35919
36419
 
35920
36420
  /**
35921
36421
  * A feature of a {@link ModelExperimental}.
@@ -36024,11 +36524,6 @@ export class ModelFeature {
36024
36524
  setProperty(name: string, value: any): boolean;
36025
36525
  }
36026
36526
 
36027
- /**
36028
- * The bounding sphere that contains all the vertices in this primitive.
36029
- */
36030
- export var boundingSphere: BoundingSphere;
36031
-
36032
36527
  /**
36033
36528
  * A simple struct that serves as a value of a <code>sampler2D</code>-valued
36034
36529
  uniform. This is used with {@link CustomShader} and {@link TextureManager}
@@ -36040,8 +36535,8 @@ uniform. This is used with {@link CustomShader} and {@link TextureManager}
36040
36535
  * @param [options.repeat = true] - When defined, the texture sampler will be set to wrap in both directions
36041
36536
  * @param [options.pixelFormat = PixelFormat.RGBA] - When options.typedArray is defined, this is used to determine the pixel format of the texture
36042
36537
  * @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.
36538
+ * @param [options.minificationFilter = TextureMinificationFilter.LINEAR] - The minification filter of the texture sampler.
36539
+ * @param [options.magnificationFilter = TextureMagnificationFilter.LINEAR] - The magnification filter of the texture sampler.
36045
36540
  * @param [options.maximumAnisotropy = 1.0] - The maximum anisotropy of the texture sampler
36046
36541
  */
36047
36542
  export class TextureUniform {
@@ -36053,8 +36548,10 @@ export class TextureUniform {
36053
36548
  repeat?: boolean;
36054
36549
  pixelFormat?: PixelFormat;
36055
36550
  pixelDatatype?: PixelDatatype;
36551
+ minificationFilter?: TextureMinificationFilter;
36552
+ magnificationFilter?: TextureMagnificationFilter;
36056
36553
  maximumAnisotropy?: number;
36057
- }, textureMinificationFilter?: TextureMinificationFilter, textureMagnificationFilter?: TextureMagnificationFilter);
36554
+ });
36058
36555
  }
36059
36556
 
36060
36557
  /**
@@ -37615,15 +38112,15 @@ export class PolylineMaterialAppearance {
37615
38112
  * Runs a post-process stage on either the texture rendered by the scene or the output of a previous post-process stage.
37616
38113
  * @example
37617
38114
  * // Simple stage to change the color
37618
- const fs =
37619
- 'uniform sampler2D colorTexture;\n' +
37620
- 'varying vec2 v_textureCoordinates;\n' +
37621
- 'uniform float scale;\n' +
37622
- 'uniform vec3 offset;\n' +
37623
- 'void main() {\n' +
37624
- ' vec4 color = texture2D(colorTexture, v_textureCoordinates);\n' +
37625
- ' gl_FragColor = vec4(color.rgb * scale + offset, 1.0);\n' +
37626
- '}\n';
38115
+ const fs =`
38116
+ uniform sampler2D colorTexture;
38117
+ varying vec2 v_textureCoordinates;
38118
+ uniform float scale;
38119
+ uniform vec3 offset;
38120
+ void main() {
38121
+ vec4 color = texture2D(colorTexture, v_textureCoordinates);
38122
+ gl_FragColor = vec4(color.rgb * scale + offset, 1.0);
38123
+ }`;
37627
38124
  scene.postProcessStages.add(new Cesium.PostProcessStage({
37628
38125
  fragmentShader : fs,
37629
38126
  uniforms : {
@@ -37636,19 +38133,19 @@ scene.postProcessStages.add(new Cesium.PostProcessStage({
37636
38133
  * @example
37637
38134
  * // Simple stage to change the color of what is selected.
37638
38135
  // If czm_selected returns true, the current fragment belongs to geometry in the selected array.
37639
- const fs =
37640
- 'uniform sampler2D colorTexture;\n' +
37641
- 'varying vec2 v_textureCoordinates;\n' +
37642
- 'uniform vec4 highlight;\n' +
37643
- 'void main() {\n' +
37644
- ' vec4 color = texture2D(colorTexture, v_textureCoordinates);\n' +
37645
- ' if (czm_selected()) {\n' +
37646
- ' vec3 highlighted = highlight.a * highlight.rgb + (1.0 - highlight.a) * color.rgb;\n' +
37647
- ' gl_FragColor = vec4(highlighted, 1.0);\n' +
37648
- ' } else { \n' +
37649
- ' gl_FragColor = color;\n' +
37650
- ' }\n' +
37651
- '}\n';
38136
+ const fs =`
38137
+ uniform sampler2D colorTexture;
38138
+ varying vec2 v_textureCoordinates;
38139
+ uniform vec4 highlight;
38140
+ void main() {
38141
+ vec4 color = texture2D(colorTexture, v_textureCoordinates);
38142
+ if (czm_selected()) {
38143
+ vec3 highlighted = highlight.a * highlight.rgb + (1.0 - highlight.a) * color.rgb;
38144
+ gl_FragColor = vec4(highlighted, 1.0);
38145
+ } else {
38146
+ gl_FragColor = color;
38147
+ }
38148
+ }`;
37652
38149
  const stage = scene.postProcessStages.add(new Cesium.PostProcessStage({
37653
38150
  fragmentShader : fs,
37654
38151
  uniforms : {
@@ -37761,7 +38258,7 @@ export class PostProcessStage {
37761
38258
  if (czm_selected(v_textureCoordinates)) {
37762
38259
  // apply post-process stage
37763
38260
  } else {
37764
- gl_FragColor = texture2D(colorTexture, v_textureCordinates);
38261
+ gl_FragColor = texture2D(colorTexture, v_textureCoordinates);
37765
38262
  }
37766
38263
  </code>
37767
38264
  </p>
@@ -38230,88 +38727,88 @@ export enum PostProcessStageSampleMode {
38230
38727
 
38231
38728
  /**
38232
38729
  * A primitive represents geometry in the {@link Scene}. The geometry can be from a single {@link GeometryInstance}
38233
- * as shown in example 1 below, or from an array of instances, even if the geometry is from different
38234
- * geometry types, e.g., an {@link RectangleGeometry} and an {@link EllipsoidGeometry} as shown in Code Example 2.
38235
- * <p>
38236
- * A primitive combines geometry instances with an {@link Appearance} that describes the full shading, including
38237
- * {@link Material} and {@link RenderState}. Roughly, the geometry instance defines the structure and placement,
38238
- * and the appearance defines the visual characteristics. Decoupling geometry and appearance allows us to mix
38239
- * and match most of them and add a new geometry or appearance independently of each other.
38240
- * </p>
38241
- * <p>
38242
- * Combining multiple instances into one primitive is called batching, and significantly improves performance for static data.
38243
- * Instances can be individually picked; {@link Scene#pick} returns their {@link GeometryInstance#id}. Using
38244
- * per-instance appearances like {@link PerInstanceColorAppearance}, each instance can also have a unique color.
38245
- * </p>
38246
- * <p>
38247
- * {@link Geometry} can either be created and batched on a web worker or the main thread. The first two examples
38248
- * show geometry that will be created on a web worker by using the descriptions of the geometry. The third example
38249
- * shows how to create the geometry on the main thread by explicitly calling the <code>createGeometry</code> method.
38250
- * </p>
38730
+ as shown in example 1 below, or from an array of instances, even if the geometry is from different
38731
+ geometry types, e.g., an {@link RectangleGeometry} and an {@link EllipsoidGeometry} as shown in Code Example 2.
38732
+ <p>
38733
+ A primitive combines geometry instances with an {@link Appearance} that describes the full shading, including
38734
+ {@link Material} and {@link RenderState}. Roughly, the geometry instance defines the structure and placement,
38735
+ and the appearance defines the visual characteristics. Decoupling geometry and appearance allows us to mix
38736
+ and match most of them and add a new geometry or appearance independently of each other.
38737
+ </p>
38738
+ <p>
38739
+ Combining multiple instances into one primitive is called batching, and significantly improves performance for static data.
38740
+ Instances can be individually picked; {@link Scene#pick} returns their {@link GeometryInstance#id}. Using
38741
+ per-instance appearances like {@link PerInstanceColorAppearance}, each instance can also have a unique color.
38742
+ </p>
38743
+ <p>
38744
+ {@link Geometry} can either be created and batched on a web worker or the main thread. The first two examples
38745
+ show geometry that will be created on a web worker by using the descriptions of the geometry. The third example
38746
+ shows how to create the geometry on the main thread by explicitly calling the <code>createGeometry</code> method.
38747
+ </p>
38251
38748
  * @example
38252
38749
  * // 1. Draw a translucent ellipse on the surface with a checkerboard pattern
38253
- * const instance = new Cesium.GeometryInstance({
38254
- * geometry : new Cesium.EllipseGeometry({
38255
- * center : Cesium.Cartesian3.fromDegrees(-100.0, 20.0),
38256
- * semiMinorAxis : 500000.0,
38257
- * semiMajorAxis : 1000000.0,
38258
- * rotation : Cesium.Math.PI_OVER_FOUR,
38259
- * vertexFormat : Cesium.VertexFormat.POSITION_AND_ST
38260
- * }),
38261
- * id : 'object returned when this instance is picked and to get/set per-instance attributes'
38262
- * });
38263
- * scene.primitives.add(new Cesium.Primitive({
38264
- * geometryInstances : instance,
38265
- * appearance : new Cesium.EllipsoidSurfaceAppearance({
38266
- * material : Cesium.Material.fromType('Checkerboard')
38267
- * })
38268
- * }));
38750
+ const instance = new Cesium.GeometryInstance({
38751
+ geometry : new Cesium.EllipseGeometry({
38752
+ center : Cesium.Cartesian3.fromDegrees(-100.0, 20.0),
38753
+ semiMinorAxis : 500000.0,
38754
+ semiMajorAxis : 1000000.0,
38755
+ rotation : Cesium.Math.PI_OVER_FOUR,
38756
+ vertexFormat : Cesium.VertexFormat.POSITION_AND_ST
38757
+ }),
38758
+ id : 'object returned when this instance is picked and to get/set per-instance attributes'
38759
+ });
38760
+ scene.primitives.add(new Cesium.Primitive({
38761
+ geometryInstances : instance,
38762
+ appearance : new Cesium.EllipsoidSurfaceAppearance({
38763
+ material : Cesium.Material.fromType('Checkerboard')
38764
+ })
38765
+ }));
38269
38766
  * @example
38270
38767
  * // 2. Draw different instances each with a unique color
38271
- * const rectangleInstance = new Cesium.GeometryInstance({
38272
- * geometry : new Cesium.RectangleGeometry({
38273
- * rectangle : Cesium.Rectangle.fromDegrees(-140.0, 30.0, -100.0, 40.0),
38274
- * vertexFormat : Cesium.PerInstanceColorAppearance.VERTEX_FORMAT
38275
- * }),
38276
- * id : 'rectangle',
38277
- * attributes : {
38278
- * color : new Cesium.ColorGeometryInstanceAttribute(0.0, 1.0, 1.0, 0.5)
38279
- * }
38280
- * });
38281
- * const ellipsoidInstance = new Cesium.GeometryInstance({
38282
- * geometry : new Cesium.EllipsoidGeometry({
38283
- * radii : new Cesium.Cartesian3(500000.0, 500000.0, 1000000.0),
38284
- * vertexFormat : Cesium.VertexFormat.POSITION_AND_NORMAL
38285
- * }),
38286
- * modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame(
38287
- * Cesium.Cartesian3.fromDegrees(-95.59777, 40.03883)), new Cesium.Cartesian3(0.0, 0.0, 500000.0), new Cesium.Matrix4()),
38288
- * id : 'ellipsoid',
38289
- * attributes : {
38290
- * color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.AQUA)
38291
- * }
38292
- * });
38293
- * scene.primitives.add(new Cesium.Primitive({
38294
- * geometryInstances : [rectangleInstance, ellipsoidInstance],
38295
- * appearance : new Cesium.PerInstanceColorAppearance()
38296
- * }));
38768
+ const rectangleInstance = new Cesium.GeometryInstance({
38769
+ geometry : new Cesium.RectangleGeometry({
38770
+ rectangle : Cesium.Rectangle.fromDegrees(-140.0, 30.0, -100.0, 40.0),
38771
+ vertexFormat : Cesium.PerInstanceColorAppearance.VERTEX_FORMAT
38772
+ }),
38773
+ id : 'rectangle',
38774
+ attributes : {
38775
+ color : new Cesium.ColorGeometryInstanceAttribute(0.0, 1.0, 1.0, 0.5)
38776
+ }
38777
+ });
38778
+ const ellipsoidInstance = new Cesium.GeometryInstance({
38779
+ geometry : new Cesium.EllipsoidGeometry({
38780
+ radii : new Cesium.Cartesian3(500000.0, 500000.0, 1000000.0),
38781
+ vertexFormat : Cesium.VertexFormat.POSITION_AND_NORMAL
38782
+ }),
38783
+ modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame(
38784
+ Cesium.Cartesian3.fromDegrees(-95.59777, 40.03883)), new Cesium.Cartesian3(0.0, 0.0, 500000.0), new Cesium.Matrix4()),
38785
+ id : 'ellipsoid',
38786
+ attributes : {
38787
+ color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.AQUA)
38788
+ }
38789
+ });
38790
+ scene.primitives.add(new Cesium.Primitive({
38791
+ geometryInstances : [rectangleInstance, ellipsoidInstance],
38792
+ appearance : new Cesium.PerInstanceColorAppearance()
38793
+ }));
38297
38794
  * @example
38298
38795
  * // 3. Create the geometry on the main thread.
38299
- * scene.primitives.add(new Cesium.Primitive({
38300
- * geometryInstances : new Cesium.GeometryInstance({
38301
- * geometry : Cesium.EllipsoidGeometry.createGeometry(new Cesium.EllipsoidGeometry({
38302
- * radii : new Cesium.Cartesian3(500000.0, 500000.0, 1000000.0),
38303
- * vertexFormat : Cesium.VertexFormat.POSITION_AND_NORMAL
38304
- * })),
38305
- * modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame(
38306
- * Cesium.Cartesian3.fromDegrees(-95.59777, 40.03883)), new Cesium.Cartesian3(0.0, 0.0, 500000.0), new Cesium.Matrix4()),
38307
- * id : 'ellipsoid',
38308
- * attributes : {
38309
- * color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.AQUA)
38310
- * }
38311
- * }),
38312
- * appearance : new Cesium.PerInstanceColorAppearance(),
38313
- * asynchronous : false
38314
- * }));
38796
+ scene.primitives.add(new Cesium.Primitive({
38797
+ geometryInstances : new Cesium.GeometryInstance({
38798
+ geometry : Cesium.EllipsoidGeometry.createGeometry(new Cesium.EllipsoidGeometry({
38799
+ radii : new Cesium.Cartesian3(500000.0, 500000.0, 1000000.0),
38800
+ vertexFormat : Cesium.VertexFormat.POSITION_AND_NORMAL
38801
+ })),
38802
+ modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame(
38803
+ Cesium.Cartesian3.fromDegrees(-95.59777, 40.03883)), new Cesium.Cartesian3(0.0, 0.0, 500000.0), new Cesium.Matrix4()),
38804
+ id : 'ellipsoid',
38805
+ attributes : {
38806
+ color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.AQUA)
38807
+ }
38808
+ }),
38809
+ appearance : new Cesium.PerInstanceColorAppearance(),
38810
+ asynchronous : false
38811
+ }));
38315
38812
  * @param [options] - Object with the following properties:
38316
38813
  * @param [options.geometryInstances] - The geometry instances - or a single geometry instance - to render.
38317
38814
  * @param [options.appearance] - The appearance used to render the primitive.
@@ -38347,67 +38844,67 @@ export class Primitive {
38347
38844
  });
38348
38845
  /**
38349
38846
  * The geometry instances rendered with this primitive. This may
38350
- * be <code>undefined</code> if <code>options.releaseGeometryInstances</code>
38351
- * is <code>true</code> when the primitive is constructed.
38352
- * <p>
38353
- * Changing this property after the primitive is rendered has no effect.
38354
- * </p>
38847
+ be <code>undefined</code> if <code>options.releaseGeometryInstances</code>
38848
+ is <code>true</code> when the primitive is constructed.
38849
+ <p>
38850
+ Changing this property after the primitive is rendered has no effect.
38851
+ </p>
38355
38852
  */
38356
38853
  readonly geometryInstances: GeometryInstance[] | GeometryInstance;
38357
38854
  /**
38358
38855
  * The {@link Appearance} used to shade this primitive. Each geometry
38359
- * instance is shaded with the same appearance. Some appearances, like
38360
- * {@link PerInstanceColorAppearance} allow giving each instance unique
38361
- * properties.
38856
+ instance is shaded with the same appearance. Some appearances, like
38857
+ {@link PerInstanceColorAppearance} allow giving each instance unique
38858
+ properties.
38362
38859
  */
38363
38860
  appearance: Appearance;
38364
38861
  /**
38365
38862
  * The {@link Appearance} used to shade this primitive when it fails the depth test. Each geometry
38366
- * instance is shaded with the same appearance. Some appearances, like
38367
- * {@link PerInstanceColorAppearance} allow giving each instance unique
38368
- * properties.
38369
- *
38370
- * <p>
38371
- * When using an appearance that requires a color attribute, like PerInstanceColorAppearance,
38372
- * add a depthFailColor per-instance attribute instead.
38373
- * </p>
38374
- *
38375
- * <p>
38376
- * Requires the EXT_frag_depth WebGL extension to render properly. If the extension is not supported,
38377
- * there may be artifacts.
38378
- * </p>
38863
+ instance is shaded with the same appearance. Some appearances, like
38864
+ {@link PerInstanceColorAppearance} allow giving each instance unique
38865
+ properties.
38866
+
38867
+ <p>
38868
+ When using an appearance that requires a color attribute, like PerInstanceColorAppearance,
38869
+ add a depthFailColor per-instance attribute instead.
38870
+ </p>
38871
+
38872
+ <p>
38873
+ Requires the EXT_frag_depth WebGL extension to render properly. If the extension is not supported,
38874
+ there may be artifacts.
38875
+ </p>
38379
38876
  */
38380
38877
  depthFailAppearance: Appearance;
38381
38878
  /**
38382
38879
  * The 4x4 transformation matrix that transforms the primitive (all geometry instances) from model to world coordinates.
38383
- * When this is the identity matrix, the primitive is drawn in world coordinates, i.e., Earth's WGS84 coordinates.
38384
- * Local reference frames can be used by providing a different transformation matrix, like that returned
38385
- * by {@link Transforms.eastNorthUpToFixedFrame}.
38386
- *
38387
- * <p>
38388
- * This property is only supported in 3D mode.
38389
- * </p>
38880
+ When this is the identity matrix, the primitive is drawn in world coordinates, i.e., Earth's WGS84 coordinates.
38881
+ Local reference frames can be used by providing a different transformation matrix, like that returned
38882
+ by {@link Transforms.eastNorthUpToFixedFrame}.
38883
+
38884
+ <p>
38885
+ This property is only supported in 3D mode.
38886
+ </p>
38390
38887
  * @example
38391
38888
  * const origin = Cesium.Cartesian3.fromDegrees(-95.0, 40.0, 200000.0);
38392
- * p.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(origin);
38889
+ p.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(origin);
38393
38890
  */
38394
38891
  modelMatrix: Matrix4;
38395
38892
  /**
38396
38893
  * Determines if the primitive will be shown. This affects all geometry
38397
- * instances in the primitive.
38894
+ instances in the primitive.
38398
38895
  */
38399
38896
  show: boolean;
38400
38897
  /**
38401
38898
  * When <code>true</code>, the renderer frustum culls and horizon culls the primitive's commands
38402
- * based on their bounding volume. Set this to <code>false</code> for a small performance gain
38403
- * if you are manually culling the primitive.
38899
+ based on their bounding volume. Set this to <code>false</code> for a small performance gain
38900
+ if you are manually culling the primitive.
38404
38901
  */
38405
38902
  cull: boolean;
38406
38903
  /**
38407
38904
  * This property is for debugging only; it is not for production use nor is it optimized.
38408
- * <p>
38409
- * Draws the bounding sphere for each draw command in the primitive.
38410
- * </p>
38905
+ <p>
38906
+ Draws the bounding sphere for each draw command in the primitive.
38907
+ </p>
38411
38908
  */
38412
38909
  debugShowBoundingVolume: boolean;
38413
38910
  /**
@@ -38440,8 +38937,8 @@ export class Primitive {
38440
38937
  readonly compressVertices: boolean;
38441
38938
  /**
38442
38939
  * Determines if the primitive is complete and ready to render. If this property is
38443
- * true, the primitive will be rendered the next time that {@link Primitive#update}
38444
- * is called.
38940
+ true, the primitive will be rendered the next time that {@link Primitive#update}
38941
+ is called.
38445
38942
  */
38446
38943
  readonly ready: boolean;
38447
38944
  /**
@@ -38450,42 +38947,42 @@ export class Primitive {
38450
38947
  readonly readyPromise: Promise<Primitive>;
38451
38948
  /**
38452
38949
  * Called when {@link Viewer} or {@link CesiumWidget} render the scene to
38453
- * get the draw commands needed to render this primitive.
38454
- * <p>
38455
- * Do not call this function directly. This is documented just to
38456
- * list the exceptions that may be propagated when the scene is rendered:
38457
- * </p>
38950
+ get the draw commands needed to render this primitive.
38951
+ <p>
38952
+ Do not call this function directly. This is documented just to
38953
+ list the exceptions that may be propagated when the scene is rendered:
38954
+ </p>
38458
38955
  */
38459
38956
  update(): void;
38460
38957
  /**
38461
38958
  * Returns the modifiable per-instance attributes for a {@link GeometryInstance}.
38462
38959
  * @example
38463
38960
  * const attributes = primitive.getGeometryInstanceAttributes('an id');
38464
- * attributes.color = Cesium.ColorGeometryInstanceAttribute.toValue(Cesium.Color.AQUA);
38465
- * attributes.show = Cesium.ShowGeometryInstanceAttribute.toValue(true);
38466
- * attributes.distanceDisplayCondition = Cesium.DistanceDisplayConditionGeometryInstanceAttribute.toValue(100.0, 10000.0);
38467
- * attributes.offset = Cesium.OffsetGeometryInstanceAttribute.toValue(Cartesian3.IDENTITY);
38961
+ attributes.color = Cesium.ColorGeometryInstanceAttribute.toValue(Cesium.Color.AQUA);
38962
+ attributes.show = Cesium.ShowGeometryInstanceAttribute.toValue(true);
38963
+ attributes.distanceDisplayCondition = Cesium.DistanceDisplayConditionGeometryInstanceAttribute.toValue(100.0, 10000.0);
38964
+ attributes.offset = Cesium.OffsetGeometryInstanceAttribute.toValue(Cartesian3.IDENTITY);
38468
38965
  * @param id - The id of the {@link GeometryInstance}.
38469
38966
  * @returns The typed array in the attribute's format or undefined if the is no instance with id.
38470
38967
  */
38471
38968
  getGeometryInstanceAttributes(id: any): any;
38472
38969
  /**
38473
38970
  * Returns true if this object was destroyed; otherwise, false.
38474
- * <p>
38475
- * If this object was destroyed, it should not be used; calling any function other than
38476
- * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
38477
- * </p>
38971
+ <p>
38972
+ If this object was destroyed, it should not be used; calling any function other than
38973
+ <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
38974
+ </p>
38478
38975
  * @returns <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
38479
38976
  */
38480
38977
  isDestroyed(): boolean;
38481
38978
  /**
38482
38979
  * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
38483
- * release of WebGL resources, instead of relying on the garbage collector to destroy this object.
38484
- * <p>
38485
- * Once an object is destroyed, it should not be used; calling any function other than
38486
- * <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
38487
- * assign the return value (<code>undefined</code>) to the object as done in the example.
38488
- * </p>
38980
+ release of WebGL resources, instead of relying on the garbage collector to destroy this object.
38981
+ <p>
38982
+ Once an object is destroyed, it should not be used; calling any function other than
38983
+ <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
38984
+ assign the return value (<code>undefined</code>) to the object as done in the example.
38985
+ </p>
38489
38986
  * @example
38490
38987
  * e = e && e.destroy();
38491
38988
  */
@@ -39085,10 +39582,6 @@ export class Scene {
39085
39582
  * Gets or sets the position of the splitter within the viewport. Valid values are between 0.0 and 1.0.
39086
39583
  */
39087
39584
  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
39585
  /**
39093
39586
  * The distance from the camera at which to disable the depth test of billboards, labels and points
39094
39587
  to, for example, prevent clipping against terrain. When set to zero, the depth test should always
@@ -39799,12 +40292,9 @@ export class SingleTileImageryProvider {
39799
40292
  * @param y - The tile Y coordinate.
39800
40293
  * @param level - The tile level.
39801
40294
  * @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.
40295
+ * @returns The resolved image
39806
40296
  */
39807
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
40297
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
39808
40298
  /**
39809
40299
  * Picking features is not currently supported by this imagery provider, so this function simply returns
39810
40300
  undefined.
@@ -39813,18 +40303,14 @@ export class SingleTileImageryProvider {
39813
40303
  * @param level - The tile level.
39814
40304
  * @param longitude - The longitude at which to pick features.
39815
40305
  * @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.
40306
+ * @returns Undefined since picking is not supported.
39820
40307
  */
39821
- pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise<ImageryLayerFeatureInfo[]> | undefined;
40308
+ pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): undefined;
39822
40309
  }
39823
40310
 
39824
40311
  /**
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.
40312
+ * An atmosphere drawn around the limb of the provided ellipsoid. Based on
40313
+ {@link http://nishitalab.org/user/nis/cdrom/sig93_nis.pdf|Display of The Earth Taking Into Account Atmospheric Scattering}.
39828
40314
  <p>
39829
40315
  This is only supported in 3D. Atmosphere is faded out when morphing to 2D or Columbus view.
39830
40316
  </p>
@@ -39843,6 +40329,33 @@ export class SkyAtmosphere {
39843
40329
  This produces better looking atmosphere with a slight performance penalty.
39844
40330
  */
39845
40331
  perFragmentAtmosphere: boolean;
40332
+ /**
40333
+ * The intensity of the light that is used for computing the sky atmosphere color.
40334
+ */
40335
+ atmosphereLightIntensity: number;
40336
+ /**
40337
+ * The Rayleigh scattering coefficient used in the atmospheric scattering equations for the sky atmosphere.
40338
+ */
40339
+ atmosphereRayleighCoefficient: Cartesian3;
40340
+ /**
40341
+ * The Mie scattering coefficient used in the atmospheric scattering equations for the sky atmosphere.
40342
+ */
40343
+ atmosphereMieCoefficient: Cartesian3;
40344
+ /**
40345
+ * The Rayleigh scale height used in the atmospheric scattering equations for the sky atmosphere, in meters.
40346
+ */
40347
+ atmosphereRayleighScaleHeight: number;
40348
+ /**
40349
+ * The Mie scale height used in the atmospheric scattering equations for the sky atmosphere, in meters.
40350
+ */
40351
+ atmosphereMieScaleHeight: number;
40352
+ /**
40353
+ * The anisotropy of the medium to consider for Mie scattering.
40354
+ <p>
40355
+ Valid values are between -1.0 and 1.0.
40356
+ </p>
40357
+ */
40358
+ atmosphereMieAnisotropy: number;
39846
40359
  /**
39847
40360
  * The hue shift to apply to the atmosphere. Defaults to 0.0 (no shift).
39848
40361
  A hue shift of 1.0 indicates a complete rotation of the hues available.
@@ -40162,8 +40675,8 @@ export namespace TileCoordinatesImageryProvider {
40162
40675
  * Initialization options for the TileCoordinatesImageryProvider constructor
40163
40676
  * @property [tilingScheme = new GeographicTilingScheme()] - The tiling scheme for which to draw tiles.
40164
40677
  * @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.
40678
+ this parameter is ignored and the tiling scheme's ellipsoid is used instead. If neither
40679
+ parameter is specified, the WGS84 ellipsoid is used.
40167
40680
  * @property [color = Color.YELLOW] - The color to draw the tile box and label.
40168
40681
  * @property [tileWidth = 256] - The width of the tile for level-of-detail selection purposes.
40169
40682
  * @property [tileHeight = 256] - The height of the tile for level-of-detail selection purposes.
@@ -40179,35 +40692,35 @@ export namespace TileCoordinatesImageryProvider {
40179
40692
 
40180
40693
  /**
40181
40694
  * 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.
40695
+ a label inside it indicating the X, Y, Level coordinates of the tile. This is mostly useful for
40696
+ debugging terrain and imagery rendering problems.
40184
40697
  * @param [options] - Object describing initialization options
40185
40698
  */
40186
40699
  export class TileCoordinatesImageryProvider {
40187
40700
  constructor(options?: TileCoordinatesImageryProvider.ConstructorOptions);
40188
40701
  /**
40189
40702
  * The default alpha blending value of this provider, with 0.0 representing fully transparent and
40190
- * 1.0 representing fully opaque.
40703
+ 1.0 representing fully opaque.
40191
40704
  */
40192
40705
  defaultAlpha: number | undefined;
40193
40706
  /**
40194
40707
  * 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.
40708
+ 1.0 representing fully opaque.
40196
40709
  */
40197
40710
  defaultNightAlpha: number | undefined;
40198
40711
  /**
40199
40712
  * 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.
40713
+ 1.0 representing fully opaque.
40201
40714
  */
40202
40715
  defaultDayAlpha: number | undefined;
40203
40716
  /**
40204
40717
  * 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.
40718
+ makes the imagery darker while greater than 1.0 makes it brighter.
40206
40719
  */
40207
40720
  defaultBrightness: number | undefined;
40208
40721
  /**
40209
40722
  * 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.
40723
+ the contrast while greater than 1.0 increases it.
40211
40724
  */
40212
40725
  defaultContrast: number | undefined;
40213
40726
  /**
@@ -40216,7 +40729,7 @@ export class TileCoordinatesImageryProvider {
40216
40729
  defaultHue: number | undefined;
40217
40730
  /**
40218
40731
  * 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.
40732
+ saturation while greater than 1.0 increases it.
40220
40733
  */
40221
40734
  defaultSaturation: number | undefined;
40222
40735
  /**
@@ -40237,45 +40750,45 @@ export class TileCoordinatesImageryProvider {
40237
40750
  readonly proxy: Proxy;
40238
40751
  /**
40239
40752
  * Gets the width of each tile, in pixels. This function should
40240
- * not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40753
+ not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40241
40754
  */
40242
40755
  readonly tileWidth: number;
40243
40756
  /**
40244
40757
  * Gets the height of each tile, in pixels. This function should
40245
- * not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40758
+ not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40246
40759
  */
40247
40760
  readonly tileHeight: number;
40248
40761
  /**
40249
40762
  * Gets the maximum level-of-detail that can be requested. This function should
40250
- * not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40763
+ not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40251
40764
  */
40252
40765
  readonly maximumLevel: number | undefined;
40253
40766
  /**
40254
40767
  * Gets the minimum level-of-detail that can be requested. This function should
40255
- * not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40768
+ not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40256
40769
  */
40257
40770
  readonly minimumLevel: number;
40258
40771
  /**
40259
40772
  * Gets the tiling scheme used by this provider. This function should
40260
- * not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40773
+ not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40261
40774
  */
40262
40775
  readonly tilingScheme: TilingScheme;
40263
40776
  /**
40264
40777
  * 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.
40778
+ not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40266
40779
  */
40267
40780
  readonly rectangle: Rectangle;
40268
40781
  /**
40269
40782
  * 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.
40783
+ for filtering out "missing" tiles via its shouldDiscardImage function. If this function
40784
+ returns undefined, no tiles are filtered. This function should
40785
+ not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40273
40786
  */
40274
40787
  readonly tileDiscardPolicy: TileDiscardPolicy;
40275
40788
  /**
40276
40789
  * 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}.
40790
+ to the event, you will be notified of the error and can potentially recover from it. Event listeners
40791
+ are passed an instance of {@link TileProviderError}.
40279
40792
  */
40280
40793
  readonly errorEvent: Event;
40281
40794
  /**
@@ -40288,15 +40801,15 @@ export class TileCoordinatesImageryProvider {
40288
40801
  readonly readyPromise: Promise<boolean>;
40289
40802
  /**
40290
40803
  * 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.
40804
+ the source of the imagery. This function should not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40292
40805
  */
40293
40806
  readonly credit: Credit;
40294
40807
  /**
40295
40808
  * 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.
40809
+ include an alpha channel. If this property is false, an alpha channel, if present, will
40810
+ be ignored. If this property is true, any images without an alpha channel will be treated
40811
+ as if their alpha is 1.0 everywhere. Setting this property to false reduces memory usage
40812
+ and texture upload time.
40300
40813
  */
40301
40814
  readonly hasAlphaChannel: boolean;
40302
40815
  /**
@@ -40309,31 +40822,25 @@ export class TileCoordinatesImageryProvider {
40309
40822
  getTileCredits(x: number, y: number, level: number): Credit[];
40310
40823
  /**
40311
40824
  * Requests the image for a given tile. This function should
40312
- * not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40825
+ not be called before {@link TileCoordinatesImageryProvider#ready} returns true.
40313
40826
  * @param x - The tile X coordinate.
40314
40827
  * @param y - The tile Y coordinate.
40315
40828
  * @param level - The tile level.
40316
40829
  * @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.
40830
+ * @returns The resolved image as a Canvas DOM object.
40321
40831
  */
40322
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
40832
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLCanvasElement>;
40323
40833
  /**
40324
40834
  * Picking features is not currently supported by this imagery provider, so this function simply returns
40325
- * undefined.
40835
+ undefined.
40326
40836
  * @param x - The tile X coordinate.
40327
40837
  * @param y - The tile Y coordinate.
40328
40838
  * @param level - The tile level.
40329
40839
  * @param longitude - The longitude at which to pick features.
40330
40840
  * @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.
40841
+ * @returns Undefined since picking is not supported.
40335
40842
  */
40336
- pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise<ImageryLayerFeatureInfo[]> | undefined;
40843
+ pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): undefined;
40337
40844
  }
40338
40845
 
40339
40846
  /**
@@ -40557,8 +41064,8 @@ export class TimeDynamicPointCloud {
40557
41064
  </ul>
40558
41065
  * @example
40559
41066
  * pointCloud.frameFailed.addEventListener(function(error) {
40560
- console.log('An error occurred loading frame: ' + error.uri);
40561
- console.log('Error: ' + error.message);
41067
+ console.log(`An error occurred loading frame: ${error.uri}`);
41068
+ console.log(`Error: ${error.message}`);
40562
41069
  });
40563
41070
  */
40564
41071
  frameFailed: Event;
@@ -40962,11 +41469,9 @@ export class UrlTemplateImageryProvider {
40962
41469
  * @param level - The tile level.
40963
41470
  * @param [request] - The request object. Intended for internal use only.
40964
41471
  * @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.
41472
+ undefined if there are too many active requests to the server, and the request should be retried later.
40968
41473
  */
40969
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
41474
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
40970
41475
  /**
40971
41476
  * Asynchronously determines what features, if any, are located at a given longitude and latitude within
40972
41477
  a tile. This function should not be called before {@link ImageryProvider#ready} returns true.
@@ -41321,11 +41826,9 @@ export class WebMapServiceImageryProvider {
41321
41826
  * @param level - The tile level.
41322
41827
  * @param [request] - The request object. Intended for internal use only.
41323
41828
  * @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.
41829
+ undefined if there are too many active requests to the server, and the request should be retried later.
41327
41830
  */
41328
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
41831
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
41329
41832
  /**
41330
41833
  * Asynchronously determines what features, if any, are located at a given longitude and latitude within
41331
41834
  a tile. This function should not be called before {@link ImageryProvider#ready} returns true.
@@ -41609,11 +42112,9 @@ export class WebMapTileServiceImageryProvider {
41609
42112
  * @param level - The tile level.
41610
42113
  * @param [request] - The request object. Intended for internal use only.
41611
42114
  * @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.
42115
+ undefined if there are too many active requests to the server, and the request should be retried later.
41615
42116
  */
41616
- requestImage(x: number, y: number, level: number, request?: Request): Promise<HTMLImageElement | HTMLCanvasElement> | undefined;
42117
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
41617
42118
  /**
41618
42119
  * Picking features is not currently supported by this imagery provider, so this function simply returns
41619
42120
  undefined.
@@ -41622,12 +42123,9 @@ export class WebMapTileServiceImageryProvider {
41622
42123
  * @param level - The tile level.
41623
42124
  * @param longitude - The longitude at which to pick features.
41624
42125
  * @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.
42126
+ * @returns Undefined since picking is not supported.
41629
42127
  */
41630
- pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise<ImageryLayerFeatureInfo[]> | undefined;
42128
+ pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): undefined;
41631
42129
  }
41632
42130
 
41633
42131
  /**
@@ -42060,6 +42558,11 @@ export class Cesium3DTilesInspectorViewModel {
42060
42558
  * Gets or sets the flag to show pick statistics. This property is observable.
42061
42559
  */
42062
42560
  showPickStatistics: boolean;
42561
+ /**
42562
+ * Gets or sets the flag to show resource cache statistics. This property is
42563
+ observable.
42564
+ */
42565
+ showResourceCacheStatistics: boolean;
42063
42566
  /**
42064
42567
  * Gets or sets the flag to show the inspector. This property is observable.
42065
42568
  */
@@ -42249,6 +42752,10 @@ export class Cesium3DTilesInspectorViewModel {
42249
42752
  * Gets the pick statistics text. This property is observable.
42250
42753
  */
42251
42754
  readonly pickStatisticsText: string;
42755
+ /**
42756
+ * Gets the resource cache statistics text. This property is observable.
42757
+ */
42758
+ readonly resourceCacheStatisticsText: string;
42252
42759
  /**
42253
42760
  * Gets the available blend modes
42254
42761
  */
@@ -44287,6 +44794,7 @@ declare module "cesium/Source/Core/Color" { import { Color } from 'mars3d-cesium
44287
44794
  declare module "cesium/Source/Core/ColorGeometryInstanceAttribute" { import { ColorGeometryInstanceAttribute } from 'mars3d-cesium'; export default ColorGeometryInstanceAttribute; }
44288
44795
  declare module "cesium/Source/Core/combine" { import { combine } from 'mars3d-cesium'; export default combine; }
44289
44796
  declare module "cesium/Source/Core/CompressedTextureBuffer" { import { CompressedTextureBuffer } from 'mars3d-cesium'; export default CompressedTextureBuffer; }
44797
+ declare module "cesium/Source/Core/ConstantSpline" { import { ConstantSpline } from 'mars3d-cesium'; export default ConstantSpline; }
44290
44798
  declare module "cesium/Source/Core/CoplanarPolygonGeometry" { import { CoplanarPolygonGeometry } from 'mars3d-cesium'; export default CoplanarPolygonGeometry; }
44291
44799
  declare module "cesium/Source/Core/CoplanarPolygonOutlineGeometry" { import { CoplanarPolygonOutlineGeometry } from 'mars3d-cesium'; export default CoplanarPolygonOutlineGeometry; }
44292
44800
  declare module "cesium/Source/Core/CorridorGeometry" { import { CorridorGeometry } from 'mars3d-cesium'; export default CorridorGeometry; }
@@ -44318,6 +44826,7 @@ declare module "cesium/Source/Core/EllipsoidTangentPlane" { import { EllipsoidTa
44318
44826
  declare module "cesium/Source/Core/EllipsoidTerrainProvider" { import { EllipsoidTerrainProvider } from 'mars3d-cesium'; export default EllipsoidTerrainProvider; }
44319
44827
  declare module "cesium/Source/Core/Event" { import { Event } from 'mars3d-cesium'; export default Event; }
44320
44828
  declare module "cesium/Source/Core/EventHelper" { import { EventHelper } from 'mars3d-cesium'; export default EventHelper; }
44829
+ declare module "cesium/Source/Core/ExperimentalFeatures" { import { ExperimentalFeatures } from 'mars3d-cesium'; export default ExperimentalFeatures; }
44321
44830
  declare module "cesium/Source/Core/FeatureDetection" { import { FeatureDetection } from 'mars3d-cesium'; export default FeatureDetection; }
44322
44831
  declare module "cesium/Source/Core/formatError" { import { formatError } from 'mars3d-cesium'; export default formatError; }
44323
44832
  declare module "cesium/Source/Core/FrustumGeometry" { import { FrustumGeometry } from 'mars3d-cesium'; export default FrustumGeometry; }
@@ -44370,6 +44879,7 @@ declare module "cesium/Source/Core/Matrix2" { import { Matrix2 } from 'mars3d-ce
44370
44879
  declare module "cesium/Source/Core/Matrix3" { import { Matrix3 } from 'mars3d-cesium'; export default Matrix3; }
44371
44880
  declare module "cesium/Source/Core/Matrix4" { import { Matrix4 } from 'mars3d-cesium'; export default Matrix4; }
44372
44881
  declare module "cesium/Source/Core/mergeSort" { import { mergeSort } from 'mars3d-cesium'; export default mergeSort; }
44882
+ declare module "cesium/Source/Core/MorphWeightSpline" { import { MorphWeightSpline } from 'mars3d-cesium'; export default MorphWeightSpline; }
44373
44883
  declare module "cesium/Source/Core/NearFarScalar" { import { NearFarScalar } from 'mars3d-cesium'; export default NearFarScalar; }
44374
44884
  declare module "cesium/Source/Core/objectToQuery" { import { objectToQuery } from 'mars3d-cesium'; export default objectToQuery; }
44375
44885
  declare module "cesium/Source/Core/Occluder" { import { Occluder } from 'mars3d-cesium'; export default Occluder; }
@@ -44421,6 +44931,7 @@ declare module "cesium/Source/Core/SphereGeometry" { import { SphereGeometry } f
44421
44931
  declare module "cesium/Source/Core/SphereOutlineGeometry" { import { SphereOutlineGeometry } from 'mars3d-cesium'; export default SphereOutlineGeometry; }
44422
44932
  declare module "cesium/Source/Core/Spherical" { import { Spherical } from 'mars3d-cesium'; export default Spherical; }
44423
44933
  declare module "cesium/Source/Core/Spline" { import { Spline } from 'mars3d-cesium'; export default Spline; }
44934
+ declare module "cesium/Source/Core/SteppedSpline" { import { SteppedSpline } from 'mars3d-cesium'; export default SteppedSpline; }
44424
44935
  declare module "cesium/Source/Core/subdivideArray" { import { subdivideArray } from 'mars3d-cesium'; export default subdivideArray; }
44425
44936
  declare module "cesium/Source/Core/TaskProcessor" { import { TaskProcessor } from 'mars3d-cesium'; export default TaskProcessor; }
44426
44937
  declare module "cesium/Source/Core/TerrainData" { import { TerrainData } from 'mars3d-cesium'; export default TerrainData; }
@@ -44441,7 +44952,6 @@ declare module "cesium/Source/Core/WallGeometry" { import { WallGeometry } from
44441
44952
  declare module "cesium/Source/Core/WallOutlineGeometry" { import { WallOutlineGeometry } from 'mars3d-cesium'; export default WallOutlineGeometry; }
44442
44953
  declare module "cesium/Source/Core/WebMercatorProjection" { import { WebMercatorProjection } from 'mars3d-cesium'; export default WebMercatorProjection; }
44443
44954
  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
44955
  declare module "cesium/Source/Core/writeTextToCanvas" { import { writeTextToCanvas } from 'mars3d-cesium'; export default writeTextToCanvas; }
44446
44956
  declare module "cesium/Source/DataSources/BillboardGraphics" { import { BillboardGraphics } from 'mars3d-cesium'; export default BillboardGraphics; }
44447
44957
  declare module "cesium/Source/DataSources/BillboardVisualizer" { import { BillboardVisualizer } from 'mars3d-cesium'; export default BillboardVisualizer; }
@@ -44645,6 +45155,8 @@ declare module "cesium/Source/Widgets/SvgPathBindingHandler" { import { SvgPathB
44645
45155
  declare module "cesium/Source/Widgets/ToggleButtonViewModel" { import { ToggleButtonViewModel } from 'mars3d-cesium'; export default ToggleButtonViewModel; }
44646
45156
  declare module "cesium/Source/Scene/ModelExperimental/CustomShader" { import { CustomShader } from 'mars3d-cesium'; export default CustomShader; }
44647
45157
  declare module "cesium/Source/Scene/ModelExperimental/ModelExperimental" { import { ModelExperimental } from 'mars3d-cesium'; export default ModelExperimental; }
45158
+ declare module "cesium/Source/Scene/ModelExperimental/ModelExperimentalAnimation" { import { ModelExperimentalAnimation } from 'mars3d-cesium'; export default ModelExperimentalAnimation; }
45159
+ declare module "cesium/Source/Scene/ModelExperimental/ModelExperimentalAnimationCollection" { import { ModelExperimentalAnimationCollection } from 'mars3d-cesium'; export default ModelExperimentalAnimationCollection; }
44648
45160
  declare module "cesium/Source/Scene/ModelExperimental/ModelFeature" { import { ModelFeature } from 'mars3d-cesium'; export default ModelFeature; }
44649
45161
  declare module "cesium/Source/Scene/ModelExperimental/TextureUniform" { import { TextureUniform } from 'mars3d-cesium'; export default TextureUniform; }
44650
45162
  declare module "cesium/Source/Widgets/Animation/Animation" { import { Animation } from 'mars3d-cesium'; export default Animation; }