@cesium/engine 2.4.1 → 3.0.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 (143) hide show
  1. package/Build/Workers/{BoxGeometry-af7d05ef.js → BoxGeometry-7aa4ce7f.js} +1 -1
  2. package/Build/Workers/{CylinderGeometry-dbaa1678.js → CylinderGeometry-8fc7c44b.js} +1 -1
  3. package/Build/Workers/{EllipseGeometry-6508b78b.js → EllipseGeometry-16b3736a.js} +1 -1
  4. package/Build/Workers/{EllipseOutlineGeometry-2a2510bb.js → EllipseOutlineGeometry-05d35d18.js} +1 -1
  5. package/Build/Workers/{EllipsoidGeometry-8155e3a2.js → EllipsoidGeometry-a503d1d6.js} +1 -1
  6. package/Build/Workers/{EllipsoidOutlineGeometry-c045678d.js → EllipsoidOutlineGeometry-7b09f24d.js} +1 -1
  7. package/Build/Workers/{FrustumGeometry-d3ff16d0.js → FrustumGeometry-87ce8622.js} +1 -1
  8. package/Build/Workers/{GeometryAttribute-13da9466.js → GeometryAttribute-8fcff0d5.js} +1 -1
  9. package/Build/Workers/{GeometryPipeline-03bc5709.js → GeometryPipeline-70d69a43.js} +1 -1
  10. package/Build/Workers/{PolygonGeometryLibrary-d447448d.js → PolygonGeometryLibrary-bad6329a.js} +1 -1
  11. package/Build/Workers/{PolygonPipeline-460cce4e.js → PolygonPipeline-dd13ee78.js} +1 -1
  12. package/Build/Workers/{PrimitivePipeline-e648752b.js → PrimitivePipeline-111ee29f.js} +1 -1
  13. package/Build/Workers/cesiumWorkerBootstrapper.js +1 -1
  14. package/Build/Workers/combineGeometry.js +1 -1
  15. package/Build/Workers/createBoxGeometry.js +1 -1
  16. package/Build/Workers/createBoxOutlineGeometry.js +1 -1
  17. package/Build/Workers/createCircleGeometry.js +1 -1
  18. package/Build/Workers/createCircleOutlineGeometry.js +1 -1
  19. package/Build/Workers/createCoplanarPolygonGeometry.js +1 -1
  20. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
  21. package/Build/Workers/createCorridorGeometry.js +1 -1
  22. package/Build/Workers/createCorridorOutlineGeometry.js +1 -1
  23. package/Build/Workers/createCylinderGeometry.js +1 -1
  24. package/Build/Workers/createCylinderOutlineGeometry.js +1 -1
  25. package/Build/Workers/createEllipseGeometry.js +1 -1
  26. package/Build/Workers/createEllipseOutlineGeometry.js +1 -1
  27. package/Build/Workers/createEllipsoidGeometry.js +1 -1
  28. package/Build/Workers/createEllipsoidOutlineGeometry.js +1 -1
  29. package/Build/Workers/createFrustumGeometry.js +1 -1
  30. package/Build/Workers/createFrustumOutlineGeometry.js +1 -1
  31. package/Build/Workers/createGeometry.js +1 -1
  32. package/Build/Workers/createGroundPolylineGeometry.js +1 -1
  33. package/Build/Workers/createPlaneGeometry.js +1 -1
  34. package/Build/Workers/createPlaneOutlineGeometry.js +1 -1
  35. package/Build/Workers/createPolygonGeometry.js +1 -1
  36. package/Build/Workers/createPolygonOutlineGeometry.js +1 -1
  37. package/Build/Workers/createPolylineGeometry.js +1 -1
  38. package/Build/Workers/createPolylineVolumeGeometry.js +1 -1
  39. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +1 -1
  40. package/Build/Workers/createRectangleGeometry.js +1 -1
  41. package/Build/Workers/createRectangleOutlineGeometry.js +1 -1
  42. package/Build/Workers/createSimplePolylineGeometry.js +1 -1
  43. package/Build/Workers/createSphereGeometry.js +1 -1
  44. package/Build/Workers/createSphereOutlineGeometry.js +1 -1
  45. package/Build/Workers/createVectorTileGeometries.js +1 -1
  46. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +0 -22
  47. package/Build/Workers/createWallGeometry.js +1 -1
  48. package/Build/Workers/createWallOutlineGeometry.js +1 -1
  49. package/Build/Workers/package.js +1 -1
  50. package/Build/Workers/transferTypedArrayTest.js +1 -1
  51. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +0 -75
  52. package/Source/Core/CesiumTerrainProvider.js +0 -75
  53. package/Source/Core/CustomHeightmapTerrainProvider.js +0 -38
  54. package/Source/Core/EllipsoidTerrainProvider.js +0 -37
  55. package/Source/Core/Geometry.js +1 -1
  56. package/Source/Core/GoogleEarthEnterpriseMetadata.js +0 -53
  57. package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +1 -101
  58. package/Source/Core/GoogleMaps.js +1 -1
  59. package/Source/Core/Ion.js +1 -2
  60. package/Source/Core/TerrainProvider.js +0 -22
  61. package/Source/Core/VRTheWorldTerrainProvider.js +0 -59
  62. package/Source/Core/sampleTerrain.js +0 -7
  63. package/Source/Core/sampleTerrainMostDetailed.js +0 -7
  64. package/Source/DataSources/Cesium3DTilesetVisualizer.js +6 -5
  65. package/Source/DataSources/KmlTour.js +1 -12
  66. package/Source/DataSources/ModelVisualizer.js +0 -12
  67. package/Source/Renderer/Context.js +10 -2
  68. package/Source/Scene/ArcGisMapServerImageryProvider.js +7 -335
  69. package/Source/Scene/ArcGisMapService.js +1 -1
  70. package/Source/Scene/Billboard.js +7 -0
  71. package/Source/Scene/BingMapsImageryProvider.js +0 -326
  72. package/Source/Scene/{parseBoundingVolumeSemantics.js → BoundingVolumeSemantics.js} +71 -15
  73. package/Source/Scene/Camera.js +1 -1
  74. package/Source/Scene/Cesium3DTile.js +35 -18
  75. package/Source/Scene/Cesium3DTileContent.js +0 -16
  76. package/Source/Scene/Cesium3DTilesVoxelProvider.js +0 -123
  77. package/Source/Scene/Cesium3DTileset.js +183 -184
  78. package/Source/Scene/Cesium3DTilesetBaseTraversal.js +1 -1
  79. package/Source/Scene/Cesium3DTilesetCache.js +1 -3
  80. package/Source/Scene/Cesium3DTilesetSkipTraversal.js +5 -2
  81. package/Source/Scene/Cesium3DTilesetTraversal.js +2 -2
  82. package/Source/Scene/ClassificationPrimitive.js +5 -43
  83. package/Source/Scene/Composite3DTileContent.js +0 -27
  84. package/Source/Scene/CreditDisplay.js +0 -54
  85. package/Source/Scene/DerivedCommand.js +15 -10
  86. package/Source/Scene/Empty3DTileContent.js +0 -21
  87. package/Source/Scene/Geometry3DTileContent.js +0 -29
  88. package/Source/Scene/Globe.js +1 -9
  89. package/Source/Scene/GlobeSurfaceTile.js +13 -8
  90. package/Source/Scene/GlobeSurfaceTileProvider.js +8 -60
  91. package/Source/Scene/GltfPipeline/removeUnusedElements.js +27 -0
  92. package/Source/Scene/GltfPipeline/updateVersion.js +21 -4
  93. package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +1 -339
  94. package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +0 -326
  95. package/Source/Scene/GridImageryProvider.js +0 -274
  96. package/Source/Scene/GroundPolylinePrimitive.js +5 -38
  97. package/Source/Scene/GroundPrimitive.js +5 -43
  98. package/Source/Scene/I3SDataProvider.js +4 -99
  99. package/Source/Scene/I3SLayer.js +15 -22
  100. package/Source/Scene/Imagery.js +1 -9
  101. package/Source/Scene/ImageryLayer.js +1 -40
  102. package/Source/Scene/ImageryProvider.js +0 -138
  103. package/Source/Scene/Implicit3DTileContent.js +4 -25
  104. package/Source/Scene/IonImageryProvider.js +1 -369
  105. package/Source/Scene/MapboxImageryProvider.js +0 -276
  106. package/Source/Scene/MapboxStyleImageryProvider.js +0 -274
  107. package/Source/Scene/Model/CustomShaderPipelineStage.js +178 -164
  108. package/Source/Scene/Model/Model.js +9 -250
  109. package/Source/Scene/Model/Model3DTileContent.js +0 -50
  110. package/Source/Scene/Model/ModelAnimationCollection.js +1 -1
  111. package/Source/Scene/Model/PointCloudStylingPipelineStage.js +1 -1
  112. package/Source/Scene/Multiple3DTileContent.js +0 -27
  113. package/Source/Scene/Primitive.js +10 -38
  114. package/Source/Scene/QuadtreePrimitive.js +3 -5
  115. package/Source/Scene/QuadtreeTileProvider.js +0 -10
  116. package/Source/Scene/Scene.js +3 -3
  117. package/Source/Scene/ScreenSpaceCameraController.js +5 -5
  118. package/Source/Scene/SingleTileImageryProvider.js +6 -302
  119. package/Source/Scene/TileCoordinatesImageryProvider.js +0 -273
  120. package/Source/Scene/TileMapServiceImageryProvider.js +3 -48
  121. package/Source/Scene/Tileset3DTileContent.js +0 -22
  122. package/Source/Scene/TimeDynamicPointCloud.js +0 -28
  123. package/Source/Scene/UrlTemplateImageryProvider.js +0 -375
  124. package/Source/Scene/Vector3DTileContent.js +0 -29
  125. package/Source/Scene/VoxelPrimitive.js +9 -49
  126. package/Source/Scene/VoxelProvider.js +0 -24
  127. package/Source/Scene/WebMapServiceImageryProvider.js +0 -274
  128. package/Source/Scene/WebMapTileServiceImageryProvider.js +0 -274
  129. package/Source/Scene/computeFlyToLocationForRectangle.js +0 -6
  130. package/Source/Scene/createGooglePhotorealistic3DTileset.js +5 -0
  131. package/Source/Shaders/Builtin/Functions/eastNorthUpToEyeCoordinates.glsl +1 -1
  132. package/Source/Shaders/Builtin/Functions/eastNorthUpToEyeCoordinates.js +1 -1
  133. package/Source/Shaders/EllipsoidFS.glsl +1 -1
  134. package/Source/Shaders/EllipsoidFS.js +1 -1
  135. package/Source/Shaders/GlobeFS.glsl +1 -1
  136. package/Source/Shaders/GlobeFS.js +1 -1
  137. package/Source/Widget/CesiumWidget.js +2 -19
  138. package/index.d.ts +62 -1183
  139. package/index.js +63 -66
  140. package/package.json +2 -2
  141. package/Source/Core/createWorldTerrain.js +0 -61
  142. package/Source/Scene/createOsmBuildings.js +0 -82
  143. package/Source/Scene/createWorldImagery.js +0 -47
@@ -2,7 +2,6 @@ import Check from "./Check.js";
2
2
  import Credit from "./Credit.js";
3
3
  import defaultValue from "./defaultValue.js";
4
4
  import defined from "./defined.js";
5
- import deprecationWarning from "./deprecationWarning.js";
6
5
  import Ellipsoid from "./Ellipsoid.js";
7
6
  import Event from "./Event.js";
8
7
  import GeographicTilingScheme from "./GeographicTilingScheme.js";
@@ -27,7 +26,6 @@ function DataRectangle(rectangle, maxLevel) {
27
26
  *
28
27
  * @property {Ellipsoid} [ellipsoid] The ellipsoid. If not specified, the WGS84 ellipsoid is used.
29
28
  * @property {Credit|string} [credit] A credit for the data source, which is displayed on the canvas.
30
- * @property {Resource|string} [url] The URL of the VR-TheWorld TileMap. Deprecated.
31
29
  */
32
30
 
33
31
  /**
@@ -53,7 +51,6 @@ TerrainProviderBuilder.prototype.build = function (provider) {
53
51
  provider._heightmapHeight = this.heightmapHeight;
54
52
  provider._levelZeroMaximumGeometricError = this.levelZeroMaximumGeometricError;
55
53
  provider._rectangles = this.rectangles;
56
- provider._ready = true;
57
54
  };
58
55
 
59
56
  function metadataSuccess(terrainProviderBuilder, xml) {
@@ -160,7 +157,6 @@ function VRTheWorldTerrainProvider(options) {
160
157
  options = defaultValue(options, defaultValue.EMPTY_OBJECT);
161
158
 
162
159
  this._errorEvent = new Event();
163
- this._ready = false;
164
160
 
165
161
  this._terrainDataStructure = {
166
162
  heightScale: 1.0 / 1000.0,
@@ -181,27 +177,6 @@ function VRTheWorldTerrainProvider(options) {
181
177
 
182
178
  this._tilingScheme = undefined;
183
179
  this._rectangles = [];
184
-
185
- if (defined(options.url)) {
186
- deprecationWarning(
187
- "VRTheWorldTerrainProvider options.url",
188
- "options.url was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. VRTheWorldTerrainProvider.fromUrl instead."
189
- );
190
- const that = this;
191
- const terrainProviderBuilder = new TerrainProviderBuilder(options);
192
- const resource = Resource.createIfNeeded(options.url);
193
-
194
- this._resource = resource;
195
-
196
- this._readyPromise = requestMetadata(
197
- terrainProviderBuilder,
198
- resource,
199
- that
200
- ).then(() => {
201
- terrainProviderBuilder.build(that);
202
- return true;
203
- });
204
- }
205
180
  }
206
181
 
207
182
  Object.defineProperties(VRTheWorldTerrainProvider.prototype, {
@@ -244,40 +219,6 @@ Object.defineProperties(VRTheWorldTerrainProvider.prototype, {
244
219
  },
245
220
  },
246
221
 
247
- /**
248
- * Gets a value indicating whether or not the provider is ready for use.
249
- * @memberof VRTheWorldTerrainProvider.prototype
250
- * @type {boolean}
251
- * @readonly
252
- * @deprecated
253
- */
254
- ready: {
255
- get: function () {
256
- deprecationWarning(
257
- "VRTheWorldTerrainProvider.ready",
258
- "VRTheWorldTerrainProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use VRTheWorldTerrainProvider.fromUrl instead."
259
- );
260
- return this._ready;
261
- },
262
- },
263
-
264
- /**
265
- * Gets a promise that resolves to true when the provider is ready for use.
266
- * @memberof VRTheWorldTerrainProvider.prototype
267
- * @type {Promise<boolean>}
268
- * @readonly
269
- * @deprecated
270
- */
271
- readyPromise: {
272
- get: function () {
273
- deprecationWarning(
274
- "VRTheWorldTerrainProvider.readyPromise",
275
- "VRTheWorldTerrainProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use VRTheWorldTerrainProvider.fromUrl instead."
276
- );
277
- return this._readyPromise;
278
- },
279
- },
280
-
281
222
  /**
282
223
  * Gets a value indicating whether or not the provider includes a water mask. The water mask
283
224
  * indicates which areas of the globe are water rather than land, so they can be rendered
@@ -42,13 +42,6 @@ async function sampleTerrain(terrainProvider, level, positions) {
42
42
  Check.defined("positions", positions);
43
43
  //>>includeEnd('debug');
44
44
 
45
- // readyPromise has been deprecated; This is here for backwards compatibility
46
- if (defined(terrainProvider._readyPromise)) {
47
- await terrainProvider._readyPromise;
48
- } else if (defined(terrainProvider.readyPromise)) {
49
- await terrainProvider.readyPromise;
50
- }
51
-
52
45
  return doSampling(terrainProvider, level, positions);
53
46
  }
54
47
 
@@ -39,13 +39,6 @@ async function sampleTerrainMostDetailed(terrainProvider, positions) {
39
39
  const byLevel = [];
40
40
  const maxLevels = [];
41
41
 
42
- // readyPromise has been deprecated; This is here for backwards compatibility
43
- if (defined(terrainProvider._readyPromise)) {
44
- await terrainProvider._readyPromise;
45
- } else if (defined(terrainProvider.readyPromise)) {
46
- await terrainProvider.readyPromise;
47
- }
48
-
49
42
  const availability = terrainProvider.availability;
50
43
 
51
44
  //>>includeStart('debug', pragmas.debug);
@@ -79,16 +79,17 @@ Cesium3DTilesetVisualizer.prototype.update = function (time) {
79
79
  );
80
80
  }
81
81
 
82
+ const tileset = defined(tilesetData)
83
+ ? tilesetData.tilesetPrimitive
84
+ : undefined;
85
+
82
86
  if (!show) {
83
- if (defined(tilesetData)) {
84
- tilesetData.tilesetPrimitive.show = false;
87
+ if (defined(tileset)) {
88
+ tileset.show = false;
85
89
  }
86
90
  continue;
87
91
  }
88
92
 
89
- const tileset = defined(tilesetData)
90
- ? tilesetData.tilesetPrimitive
91
- : undefined;
92
93
  if (!defined(tilesetData) || resource.url !== tilesetData.url) {
93
94
  if (defined(tileset)) {
94
95
  primitives.removeAndDestroy(tileset);
@@ -1,5 +1,4 @@
1
1
  import defined from "../Core/defined.js";
2
- import deprecationWarning from "../Core/deprecationWarning.js";
3
2
  import Event from "../Core/Event.js";
4
3
  /**
5
4
  * Describes a KmlTour, which uses KmlTourFlyTo, and KmlTourWait to
@@ -85,21 +84,11 @@ KmlTour.prototype.addPlaylistEntry = function (entry) {
85
84
  /**
86
85
  * Play this tour.
87
86
  *
88
- * @param {Viewer|CesiumWidget} widget The widget.
87
+ * @param {CesiumWidget} widget The widget.
89
88
  * @param {object} [cameraOptions] these options will be merged with {@link Camera#flyTo}
90
89
  * options for FlyTo playlist entries.
91
90
  */
92
91
  KmlTour.prototype.play = function (widget, cameraOptions) {
93
- // We want to avoid importing the Viewer/CesiumWidget class, so we check
94
- // for the presence of the .cesiumWidget property that's only available
95
- // on the Viewer.
96
- if (defined(widget.cesiumWidget)) {
97
- deprecationWarning(
98
- "viewer",
99
- "The viewer parameter has been deprecated in Cesium 1.99. It will be removed in 1.100. Instead of a Viewer, pass a CesiumWidget instead."
100
- );
101
- }
102
-
103
92
  this.tourStart.raiseEvent();
104
93
 
105
94
  const tour = this;
@@ -451,18 +451,6 @@ ModelVisualizer.prototype.getBoundingSphere = function (entity, result) {
451
451
  const hasHeightReference = model.heightReference !== HeightReference.NONE;
452
452
  if (defined(globe) && hasHeightReference) {
453
453
  const ellipsoid = globe.ellipsoid;
454
- // We cannot query the availability of the terrain provider till its ready, so the
455
- // bounding sphere state will remain pending till the terrain provider is ready.
456
- // ready is deprecated. This is here for backwards compatibility
457
- if (
458
- defined(terrainProvider) &&
459
- (defined(terrainProvider._ready)
460
- ? !terrainProvider._ready
461
- : defined(terrainProvider.ready) && !terrainProvider.ready)
462
- ) {
463
- return BoundingSphereState.PENDING;
464
- }
465
-
466
454
  const modelMatrix = model.modelMatrix;
467
455
  scratchPosition.x = modelMatrix[12];
468
456
  scratchPosition.y = modelMatrix[13];
@@ -1340,7 +1340,11 @@ function continueDraw(context, drawCommand, shaderProgram, uniformMap) {
1340
1340
 
1341
1341
  if (defined(indexBuffer)) {
1342
1342
  offset = offset * indexBuffer.bytesPerIndex; // offset in vertices to offset in bytes
1343
- count = defaultValue(count, indexBuffer.numberOfIndices);
1343
+ if (defined(count)) {
1344
+ count = Math.min(count, indexBuffer.numberOfIndices);
1345
+ } else {
1346
+ count = indexBuffer.numberOfIndices;
1347
+ }
1344
1348
  if (instanceCount === 0) {
1345
1349
  context._gl.drawElements(
1346
1350
  primitiveType,
@@ -1358,7 +1362,11 @@ function continueDraw(context, drawCommand, shaderProgram, uniformMap) {
1358
1362
  );
1359
1363
  }
1360
1364
  } else {
1361
- count = defaultValue(count, va.numberOfVertices);
1365
+ if (defined(count)) {
1366
+ count = Math.min(count, va.numberOfVertices);
1367
+ } else {
1368
+ count = va.numberOfVertices;
1369
+ }
1362
1370
  if (instanceCount === 0) {
1363
1371
  context._gl.drawArrays(primitiveType, offset, count);
1364
1372
  } else {
@@ -5,7 +5,6 @@ import Check from "../Core/Check.js";
5
5
  import Credit from "../Core/Credit.js";
6
6
  import defaultValue from "../Core/defaultValue.js";
7
7
  import defined from "../Core/defined.js";
8
- import deprecationWarning from "../Core/deprecationWarning.js";
9
8
  import Event from "../Core/Event.js";
10
9
  import GeographicProjection from "../Core/GeographicProjection.js";
11
10
  import GeographicTilingScheme from "../Core/GeographicTilingScheme.js";
@@ -13,7 +12,6 @@ import CesiumMath from "../Core/Math.js";
13
12
  import Rectangle from "../Core/Rectangle.js";
14
13
  import Resource from "../Core/Resource.js";
15
14
  import RuntimeError from "../Core/RuntimeError.js";
16
- import TileProviderError from "../Core/TileProviderError.js";
17
15
  import WebMercatorProjection from "../Core/WebMercatorProjection.js";
18
16
  import WebMercatorTilingScheme from "../Core/WebMercatorTilingScheme.js";
19
17
  import ArcGisMapService from "./ArcGisMapService.js";
@@ -28,8 +26,6 @@ import DeveloperError from "../Core/DeveloperError.js";
28
26
  *
29
27
  * Initialization options for the ArcGisMapServerImageryProvider constructor
30
28
  *
31
- * @property {Resource|string} [url] The URL of the ArcGIS MapServer service. Deprecated.
32
- * @property {string} [token] The ArcGIS token used to authenticate with the ArcGIS MapServer service. Deprecated.
33
29
  * @property {TileDiscardPolicy} [tileDiscardPolicy] The policy that determines if a tile
34
30
  * is invalid and should be discarded. If this value is not specified, a default
35
31
  * {@link DiscardMissingTileImagePolicy} is used for tiled map servers, and a
@@ -130,8 +126,6 @@ ImageryProviderBuilder.prototype.build = function (provider) {
130
126
  disableCheckIfAllPixelsAreTransparent: true,
131
127
  });
132
128
  }
133
-
134
- provider._ready = true;
135
129
  };
136
130
 
137
131
  function metadataSuccess(data, imageryProviderBuilder) {
@@ -235,29 +229,16 @@ function metadataSuccess(data, imageryProviderBuilder) {
235
229
  }
236
230
  }
237
231
 
238
- function metadataFailure(resource, error, provider) {
232
+ function metadataFailure(resource, error) {
239
233
  let message = `An error occurred while accessing ${resource.url}`;
240
234
  if (defined(error) && defined(error.message)) {
241
235
  message += `: ${error.message}`;
242
236
  }
243
237
 
244
- // When readyPromise is deprecated, TileProviderError.reportError,
245
- // and related parameters can be removed
246
- TileProviderError.reportError(
247
- undefined,
248
- provider,
249
- defined(provider) ? provider._errorEvent : undefined,
250
- message,
251
- undefined,
252
- undefined,
253
- undefined,
254
- error
255
- );
256
-
257
238
  throw new RuntimeError(message);
258
239
  }
259
240
 
260
- async function requestMetadata(resource, imageryProviderBuilder, provider) {
241
+ async function requestMetadata(resource, imageryProviderBuilder) {
261
242
  const jsonResource = resource.getDerivedResource({
262
243
  queryParameters: {
263
244
  f: "json",
@@ -268,7 +249,7 @@ async function requestMetadata(resource, imageryProviderBuilder, provider) {
268
249
  const data = await jsonResource.fetchJson();
269
250
  metadataSuccess(data, imageryProviderBuilder);
270
251
  } catch (error) {
271
- metadataFailure(resource, error, provider);
252
+ metadataFailure(resource, error);
272
253
  }
273
254
  }
274
255
 
@@ -365,41 +346,6 @@ function ArcGisMapServerImageryProvider(options) {
365
346
  this.enablePickFeatures = defaultValue(options.enablePickFeatures, true);
366
347
 
367
348
  this._errorEvent = new Event();
368
-
369
- this._ready = false;
370
-
371
- if (defined(options.url)) {
372
- deprecationWarning(
373
- "ArcGisMapServerImageryProvider options.url",
374
- "options.url was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ArcGisMapServerImageryProvider.fromUrl instead."
375
- );
376
- const resource = Resource.createIfNeeded(options.url);
377
- resource.appendForwardSlash();
378
-
379
- this._tileDiscardPolicy = options.tileDiscardPolicy;
380
-
381
- if (defined(options.token)) {
382
- resource.setQueryParameters({
383
- token: options.token,
384
- });
385
- }
386
-
387
- this._resource = resource;
388
- const imageryProviderBuilder = new ImageryProviderBuilder(options);
389
- if (imageryProviderBuilder.useTiles) {
390
- this._readyPromise = requestMetadata(
391
- resource,
392
- imageryProviderBuilder,
393
- this
394
- ).then(() => {
395
- imageryProviderBuilder.build(this);
396
- return true;
397
- });
398
- } else {
399
- imageryProviderBuilder.build(this);
400
- this._readyPromise = Promise.resolve(true);
401
- }
402
- }
403
349
  }
404
350
 
405
351
  /**
@@ -449,7 +395,7 @@ ArcGisMapServerImageryProvider.fromBasemapType = async function (
449
395
  ArcGisMapService.defaultAccessToken
450
396
  );
451
397
  server = Resource.createIfNeeded(
452
- defaultValue(options.url, ArcGisMapService.defaultWorldImageryServer)
398
+ ArcGisMapService.defaultWorldImageryServer
453
399
  );
454
400
  server.appendForwardSlash();
455
401
  const defaultTokenCredit = ArcGisMapService.getDefaultTokenCredit(
@@ -467,7 +413,7 @@ ArcGisMapServerImageryProvider.fromBasemapType = async function (
467
413
  ArcGisMapService.defaultAccessToken
468
414
  );
469
415
  server = Resource.createIfNeeded(
470
- defaultValue(options.url, ArcGisMapService.defaultWorldOceanServer)
416
+ ArcGisMapService.defaultWorldOceanServer
471
417
  );
472
418
  server.appendForwardSlash();
473
419
  const defaultTokenCredit = ArcGisMapService.getDefaultTokenCredit(
@@ -485,10 +431,7 @@ ArcGisMapServerImageryProvider.fromBasemapType = async function (
485
431
  ArcGisMapService.defaultAccessToken
486
432
  );
487
433
  server = Resource.createIfNeeded(
488
- defaultValue(
489
- options.url,
490
- ArcGisMapService.defaultWorldHillshadeServer
491
- )
434
+ ArcGisMapService.defaultWorldHillshadeServer
492
435
  );
493
436
  server.appendForwardSlash();
494
437
  const defaultTokenCredit = ArcGisMapService.getDefaultTokenCredit(
@@ -695,43 +638,9 @@ Object.defineProperties(ArcGisMapServerImageryProvider.prototype, {
695
638
  },
696
639
  },
697
640
 
698
- /**
699
- * Gets a value indicating whether or not the provider is ready for use.
700
- * @memberof ArcGisMapServerImageryProvider.prototype
701
- * @type {boolean}
702
- * @readonly
703
- * @deprecated
704
- */
705
- ready: {
706
- get: function () {
707
- deprecationWarning(
708
- "ArcGisMapServerImageryProvider.ready",
709
- "ArcGisMapServerImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ArcGisMapServerImageryProvider.fromUrl instead."
710
- );
711
- return this._ready;
712
- },
713
- },
714
-
715
- /**
716
- * Gets a promise that resolves to true when the provider is ready for use.
717
- * @memberof ArcGisMapServerImageryProvider.prototype
718
- * @type {Promise<boolean>}
719
- * @readonly
720
- * @deprecated
721
- */
722
- readyPromise: {
723
- get: function () {
724
- deprecationWarning(
725
- "ArcGisMapServerImageryProvider.readyPromise",
726
- "ArcGisMapServerImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ArcGisMapServerImageryProvider.fromUrl instead."
727
- );
728
- return this._readyPromise;
729
- },
730
- },
731
-
732
641
  /**
733
642
  * Gets the credit to display when this imagery provider is active. Typically this is used to credit
734
- * the source of the imagery. This function should not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
643
+ * the source of the imagery.
735
644
  * @memberof ArcGisMapServerImageryProvider.prototype
736
645
  * @type {Credit}
737
646
  * @readonly
@@ -786,242 +695,6 @@ Object.defineProperties(ArcGisMapServerImageryProvider.prototype, {
786
695
  return this._layers;
787
696
  },
788
697
  },
789
-
790
- /**
791
- * The default alpha blending value of this provider, with 0.0 representing fully transparent and
792
- * 1.0 representing fully opaque.
793
- * @memberof ArcGisMapServerImageryProvider.prototype
794
- * @type {Number|undefined}
795
- * @deprecated
796
- */
797
- defaultAlpha: {
798
- get: function () {
799
- deprecationWarning(
800
- "ArcGisMapServerImageryProvider.defaultAlpha",
801
- "ArcGisMapServerImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."
802
- );
803
- return this._defaultAlpha;
804
- },
805
- set: function (value) {
806
- deprecationWarning(
807
- "ArcGisMapServerImageryProvider.defaultAlpha",
808
- "ArcGisMapServerImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."
809
- );
810
- this._defaultAlpha = value;
811
- },
812
- },
813
-
814
- /**
815
- * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and
816
- * 1.0 representing fully opaque.
817
- * @memberof ArcGisMapServerImageryProvider.prototype
818
- * @type {Number|undefined}
819
- * @deprecated
820
- */
821
- defaultNightAlpha: {
822
- get: function () {
823
- deprecationWarning(
824
- "ArcGisMapServerImageryProvider.defaultNightAlpha",
825
- "ArcGisMapServerImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."
826
- );
827
- return this._defaultNightAlpha;
828
- },
829
- set: function (value) {
830
- deprecationWarning(
831
- "ArcGisMapServerImageryProvider.defaultNightAlpha",
832
- "ArcGisMapServerImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."
833
- );
834
- this._defaultNightAlpha = value;
835
- },
836
- },
837
-
838
- /**
839
- * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and
840
- * 1.0 representing fully opaque.
841
- * @memberof ArcGisMapServerImageryProvider.prototype
842
- * @type {Number|undefined}
843
- * @deprecated
844
- */
845
- defaultDayAlpha: {
846
- get: function () {
847
- deprecationWarning(
848
- "ArcGisMapServerImageryProvider.defaultDayAlpha",
849
- "ArcGisMapServerImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."
850
- );
851
- return this._defaultDayAlpha;
852
- },
853
- set: function (value) {
854
- deprecationWarning(
855
- "ArcGisMapServerImageryProvider.defaultDayAlpha",
856
- "ArcGisMapServerImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."
857
- );
858
- this._defaultDayAlpha = value;
859
- },
860
- },
861
-
862
- /**
863
- * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0
864
- * makes the imagery darker while greater than 1.0 makes it brighter.
865
- * @memberof ArcGisMapServerImageryProvider.prototype
866
- * @type {Number|undefined}
867
- * @deprecated
868
- */
869
- defaultBrightness: {
870
- get: function () {
871
- deprecationWarning(
872
- "ArcGisMapServerImageryProvider.defaultBrightness",
873
- "ArcGisMapServerImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."
874
- );
875
- return this._defaultBrightness;
876
- },
877
- set: function (value) {
878
- deprecationWarning(
879
- "ArcGisMapServerImageryProvider.defaultBrightness",
880
- "ArcGisMapServerImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."
881
- );
882
- this._defaultBrightness = value;
883
- },
884
- },
885
-
886
- /**
887
- * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces
888
- * the contrast while greater than 1.0 increases it.
889
- * @memberof ArcGisMapServerImageryProvider.prototype
890
- * @type {Number|undefined}
891
- * @deprecated
892
- */
893
- defaultContrast: {
894
- get: function () {
895
- deprecationWarning(
896
- "ArcGisMapServerImageryProvider.defaultContrast",
897
- "ArcGisMapServerImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."
898
- );
899
- return this._defaultContrast;
900
- },
901
- set: function (value) {
902
- deprecationWarning(
903
- "ArcGisMapServerImageryProvider.defaultContrast",
904
- "ArcGisMapServerImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."
905
- );
906
- this._defaultContrast = value;
907
- },
908
- },
909
-
910
- /**
911
- * The default hue of this provider in radians. 0.0 uses the unmodified imagery color.
912
- * @memberof ArcGisMapServerImageryProvider.prototype
913
- * @type {Number|undefined}
914
- * @deprecated
915
- */
916
- defaultHue: {
917
- get: function () {
918
- deprecationWarning(
919
- "ArcGisMapServerImageryProvider.defaultHue",
920
- "ArcGisMapServerImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."
921
- );
922
- return this._defaultHue;
923
- },
924
- set: function (value) {
925
- deprecationWarning(
926
- "ArcGisMapServerImageryProvider.defaultHue",
927
- "ArcGisMapServerImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."
928
- );
929
- this._defaultHue = value;
930
- },
931
- },
932
-
933
- /**
934
- * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the
935
- * saturation while greater than 1.0 increases it.
936
- * @memberof ArcGisMapServerImageryProvider.prototype
937
- * @type {Number|undefined}
938
- * @deprecated
939
- */
940
- defaultSaturation: {
941
- get: function () {
942
- deprecationWarning(
943
- "ArcGisMapServerImageryProvider.defaultSaturation",
944
- "ArcGisMapServerImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."
945
- );
946
- return this._defaultSaturation;
947
- },
948
- set: function (value) {
949
- deprecationWarning(
950
- "ArcGisMapServerImageryProvider.defaultSaturation",
951
- "ArcGisMapServerImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."
952
- );
953
- this._defaultSaturation = value;
954
- },
955
- },
956
-
957
- /**
958
- * The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color.
959
- * @memberof ArcGisMapServerImageryProvider.prototype
960
- * @type {Number|undefined}
961
- * @deprecated
962
- */
963
- defaultGamma: {
964
- get: function () {
965
- deprecationWarning(
966
- "ArcGisMapServerImageryProvider.defaultGamma",
967
- "ArcGisMapServerImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."
968
- );
969
- return this._defaultGamma;
970
- },
971
- set: function (value) {
972
- deprecationWarning(
973
- "ArcGisMapServerImageryProvider.defaultGamma",
974
- "ArcGisMapServerImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."
975
- );
976
- this._defaultGamma = value;
977
- },
978
- },
979
-
980
- /**
981
- * The default texture minification filter to apply to this provider.
982
- * @memberof ArcGisMapServerImageryProvider.prototype
983
- * @type {TextureMinificationFilter}
984
- * @deprecated
985
- */
986
- defaultMinificationFilter: {
987
- get: function () {
988
- deprecationWarning(
989
- "ArcGisMapServerImageryProvider.defaultMinificationFilter",
990
- "ArcGisMapServerImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."
991
- );
992
- return this._defaultMinificationFilter;
993
- },
994
- set: function (value) {
995
- deprecationWarning(
996
- "ArcGisMapServerImageryProvider.defaultMinificationFilter",
997
- "ArcGisMapServerImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."
998
- );
999
- this._defaultMinificationFilter = value;
1000
- },
1001
- },
1002
-
1003
- /**
1004
- * The default texture magnification filter to apply to this provider.
1005
- * @memberof ArcGisMapServerImageryProvider.prototype
1006
- * @type {TextureMagnificationFilter}
1007
- * @deprecated
1008
- */
1009
- defaultMagnificationFilter: {
1010
- get: function () {
1011
- deprecationWarning(
1012
- "ArcGisMapServerImageryProvider.defaultMagnificationFilter",
1013
- "ArcGisMapServerImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."
1014
- );
1015
- return this._defaultMagnificationFilter;
1016
- },
1017
- set: function (value) {
1018
- deprecationWarning(
1019
- "ArcGisMapServerImageryProvider.defaultMagnificationFilter",
1020
- "ArcGisMapServerImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."
1021
- );
1022
- this._defaultMagnificationFilter = value;
1023
- },
1024
- },
1025
698
  });
1026
699
 
1027
700
  /**
@@ -1065,7 +738,6 @@ ArcGisMapServerImageryProvider.fromUrl = async function (url, options) {
1065
738
  }
1066
739
 
1067
740
  imageryProviderBuilder.build(provider);
1068
- provider._readyPromise = Promise.resolve(true);
1069
741
  return provider;
1070
742
  };
1071
743
 
@@ -4,7 +4,7 @@ import Resource from "../Core/Resource.js";
4
4
 
5
5
  let defaultTokenCredit;
6
6
  const defaultAccessToken =
7
- "AAPKac82a6d80f1340a4aa9587f789d07e96a_Jj1a4fbA59cggYHArDizxxA2U4QDofLUm36VivpUsSRyK7O1JjRPwy916Y-7ld";
7
+ "AAPKe9643f5cea8f4275ba46e736fb001c17RVC2Pgh8SSg5tv_mxXnV5iUDfZ_yly3gPgY7_O_e_hzG7Vj3si9fO0YZ3wpeHA7h";
8
8
  /**
9
9
  * Default options for accessing the ArcGIS image tile service.
10
10
  *
@@ -1181,6 +1181,13 @@ Billboard.prototype._loadImage = function () {
1181
1181
  return;
1182
1182
  }
1183
1183
 
1184
+ // If the promise has already successfully resolved, we can return immediately without waiting a frame
1185
+ const index = atlas.getImageIndex(imageId);
1186
+ if (defined(index) && !defined(imageSubRegion)) {
1187
+ completeImageLoad(index);
1188
+ return;
1189
+ }
1190
+
1184
1191
  imageIndexPromise.then(completeImageLoad).catch(function (error) {
1185
1192
  console.error(`Error loading image for billboard: ${error}`);
1186
1193
  that._imageIndexPromise = undefined;