@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
@@ -3,7 +3,6 @@ import Check from "../Core/Check.js";
3
3
  import Credit from "../Core/Credit.js";
4
4
  import defaultValue from "../Core/defaultValue.js";
5
5
  import defined from "../Core/defined.js";
6
- import deprecationWarning from "../Core/deprecationWarning.js";
7
6
  import Event from "../Core/Event.js";
8
7
  import CesiumMath from "../Core/Math.js";
9
8
  import Rectangle from "../Core/Rectangle.js";
@@ -20,7 +19,6 @@ import ImageryProvider from "./ImageryProvider.js";
20
19
  *
21
20
  * Initialization options for the BingMapsImageryProvider constructor
22
21
  *
23
- * @property {Resource|string} [url] The url of the Bing Maps server hosting the imagery. Deprecated.
24
22
  * @property {string} [key] The Bing Maps key for your application, which can be
25
23
  * created at {@link https://www.bingmapsportal.com/}.
26
24
  * @property {string} [tileProtocol] The protocol to use when loading tiles, e.g. 'http' or 'https'.
@@ -106,8 +104,6 @@ ImageryProviderBuilder.prototype.build = function (provider) {
106
104
  );
107
105
  }
108
106
  }
109
-
110
- provider._ready = true;
111
107
  };
112
108
 
113
109
  function metadataSuccess(data, imageryProviderBuilder) {
@@ -240,57 +236,6 @@ function BingMapsImageryProvider(options) {
240
236
  this._attributionList = undefined;
241
237
 
242
238
  this._errorEvent = new Event();
243
-
244
- this._ready = false;
245
- if (defined(options.url)) {
246
- deprecationWarning(
247
- "BingMapsImageryProvider options.url",
248
- "options.url was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use BingMapsImageryProvider.fromUrl instead."
249
- );
250
-
251
- //>>includeStart('debug', pragmas.debug);
252
- Check.defined("options.key", options.key);
253
- //>>includeEnd('debug');
254
-
255
- let tileProtocol = options.tileProtocol;
256
-
257
- // For backward compatibility reasons, the tileProtocol may end with
258
- // a `:`. Remove it.
259
- if (defined(tileProtocol)) {
260
- if (
261
- tileProtocol.length > 0 &&
262
- tileProtocol[tileProtocol.length - 1] === ":"
263
- ) {
264
- tileProtocol = tileProtocol.substr(0, tileProtocol.length - 1);
265
- }
266
- } else {
267
- // use http if the document's protocol is http, otherwise use https
268
- const documentProtocol = document.location.protocol;
269
- tileProtocol = documentProtocol === "http:" ? "http" : "https";
270
- }
271
-
272
- const resource = Resource.createIfNeeded(options.url);
273
- this._resource = resource;
274
- resource.appendForwardSlash();
275
- const metadataResource = resource.getDerivedResource({
276
- url: `REST/v1/Imagery/Metadata/${this._mapStyle}`,
277
- queryParameters: {
278
- incl: "ImageryProviders",
279
- key: options.key,
280
- uriScheme: tileProtocol,
281
- },
282
- });
283
-
284
- const imageryProviderBuilder = new ImageryProviderBuilder(options);
285
- this._readyPromise = requestMetadata(
286
- metadataResource,
287
- imageryProviderBuilder,
288
- this
289
- ).then(() => {
290
- imageryProviderBuilder.build(this);
291
- return true;
292
- });
293
- }
294
239
  }
295
240
 
296
241
  Object.defineProperties(BingMapsImageryProvider.prototype, {
@@ -456,40 +401,6 @@ Object.defineProperties(BingMapsImageryProvider.prototype, {
456
401
  },
457
402
  },
458
403
 
459
- /**
460
- * Gets a value indicating whether or not the provider is ready for use.
461
- * @memberof BingMapsImageryProvider.prototype
462
- * @type {boolean}
463
- * @readonly
464
- * @deprecated
465
- */
466
- ready: {
467
- get: function () {
468
- deprecationWarning(
469
- "BingMapsImageryProvider.ready",
470
- "BingMapsImageryProvider.ready was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use BingMapsImageryProvider.fromUrl instead."
471
- );
472
- return this._ready;
473
- },
474
- },
475
-
476
- /**
477
- * Gets a promise that resolves to true when the provider is ready for use.
478
- * @memberof BingMapsImageryProvider.prototype
479
- * @type {Promise<boolean>}
480
- * @readonly
481
- * @deprecated
482
- */
483
- readyPromise: {
484
- get: function () {
485
- deprecationWarning(
486
- "BingMapsImageryProvider.readyPromise",
487
- "BingMapsImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use BingMapsImageryProvider.fromUrl instead."
488
- );
489
- return this._readyPromise;
490
- },
491
- },
492
-
493
404
  /**
494
405
  * Gets the credit to display when this imagery provider is active. Typically this is used to credit
495
406
  * the source of the imagery.
@@ -518,242 +429,6 @@ Object.defineProperties(BingMapsImageryProvider.prototype, {
518
429
  return false;
519
430
  },
520
431
  },
521
-
522
- /**
523
- * The default alpha blending value of this provider, with 0.0 representing fully transparent and
524
- * 1.0 representing fully opaque.
525
- * @memberof BingMapsImageryProvider.prototype
526
- * @type {Number|undefined}
527
- * @deprecated
528
- */
529
- defaultAlpha: {
530
- get: function () {
531
- deprecationWarning(
532
- "BingMapsImageryProvider.defaultAlpha",
533
- "BingMapsImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."
534
- );
535
- return this._defaultAlpha;
536
- },
537
- set: function (value) {
538
- deprecationWarning(
539
- "BingMapsImageryProvider.defaultAlpha",
540
- "BingMapsImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.alpha instead."
541
- );
542
- this._defaultAlpha = value;
543
- },
544
- },
545
-
546
- /**
547
- * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and
548
- * 1.0 representing fully opaque.
549
- * @memberof BingMapsImageryProvider.prototype
550
- * @type {Number|undefined}
551
- * @deprecated
552
- */
553
- defaultNightAlpha: {
554
- get: function () {
555
- deprecationWarning(
556
- "BingMapsImageryProvider.defaultNightAlpha",
557
- "BingMapsImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."
558
- );
559
- return this.defaultNightAlpha;
560
- },
561
- set: function (value) {
562
- deprecationWarning(
563
- "BingMapsImageryProvider.defaultNightAlpha",
564
- "BingMapsImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."
565
- );
566
- this.defaultNightAlpha = value;
567
- },
568
- },
569
-
570
- /**
571
- * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and
572
- * 1.0 representing fully opaque.
573
- * @memberof BingMapsImageryProvider.prototype
574
- * @type {Number|undefined}
575
- * @deprecated
576
- */
577
- defaultDayAlpha: {
578
- get: function () {
579
- deprecationWarning(
580
- "BingMapsImageryProvider.defaultDayAlpha",
581
- "BingMapsImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."
582
- );
583
- return this._defaultDayAlpha;
584
- },
585
- set: function (value) {
586
- deprecationWarning(
587
- "BingMapsImageryProvider.defaultDayAlpha",
588
- "BingMapsImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."
589
- );
590
- this._defaultDayAlpha = value;
591
- },
592
- },
593
-
594
- /**
595
- * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0
596
- * makes the imagery darker while greater than 1.0 makes it brighter.
597
- * @memberof BingMapsImageryProvider.prototype
598
- * @type {Number|undefined}
599
- * @deprecated
600
- */
601
- defaultBrightness: {
602
- get: function () {
603
- deprecationWarning(
604
- "BingMapsImageryProvider.defaultBrightness",
605
- "BingMapsImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."
606
- );
607
- return this._defaultBrightness;
608
- },
609
- set: function (value) {
610
- deprecationWarning(
611
- "BingMapsImageryProvider.defaultBrightness",
612
- "BingMapsImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.brightness instead."
613
- );
614
- this._defaultBrightness = value;
615
- },
616
- },
617
-
618
- /**
619
- * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces
620
- * the contrast while greater than 1.0 increases it.
621
- * @memberof BingMapsImageryProvider.prototype
622
- * @type {Number|undefined}
623
- * @deprecated
624
- */
625
- defaultContrast: {
626
- get: function () {
627
- deprecationWarning(
628
- "BingMapsImageryProvider.defaultContrast",
629
- "BingMapsImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."
630
- );
631
- return this._defaultContrast;
632
- },
633
- set: function (value) {
634
- deprecationWarning(
635
- "BingMapsImageryProvider.defaultContrast",
636
- "BingMapsImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.contrast instead."
637
- );
638
- this._defaultContrast = value;
639
- },
640
- },
641
-
642
- /**
643
- * The default hue of this provider in radians. 0.0 uses the unmodified imagery color.
644
- * @memberof BingMapsImageryProvider.prototype
645
- * @type {Number|undefined}
646
- * @deprecated
647
- */
648
- defaultHue: {
649
- get: function () {
650
- deprecationWarning(
651
- "BingMapsImageryProvider.defaultHue",
652
- "BingMapsImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."
653
- );
654
- return this._defaultHue;
655
- },
656
- set: function (value) {
657
- deprecationWarning(
658
- "BingMapsImageryProvider.defaultHue",
659
- "BingMapsImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.hue instead."
660
- );
661
- this._defaultHue = value;
662
- },
663
- },
664
-
665
- /**
666
- * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the
667
- * saturation while greater than 1.0 increases it.
668
- * @memberof BingMapsImageryProvider.prototype
669
- * @type {Number|undefined}
670
- * @deprecated
671
- */
672
- defaultSaturation: {
673
- get: function () {
674
- deprecationWarning(
675
- "BingMapsImageryProvider.defaultSaturation",
676
- "BingMapsImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."
677
- );
678
- return this._defaultSaturation;
679
- },
680
- set: function (value) {
681
- deprecationWarning(
682
- "BingMapsImageryProvider.defaultSaturation",
683
- "BingMapsImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.saturation instead."
684
- );
685
- this._defaultSaturation = value;
686
- },
687
- },
688
-
689
- /**
690
- * The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color.
691
- * @memberof BingMapsImageryProvider.prototype
692
- * @type {Number|undefined}
693
- * @deprecated
694
- */
695
- defaultGamma: {
696
- get: function () {
697
- deprecationWarning(
698
- "BingMapsImageryProvider.defaultGamma",
699
- "BingMapsImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."
700
- );
701
- return this._defaultGamma;
702
- },
703
- set: function (value) {
704
- deprecationWarning(
705
- "BingMapsImageryProvider.defaultGamma",
706
- "BingMapsImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.gamma instead."
707
- );
708
- this._defaultGamma = value;
709
- },
710
- },
711
-
712
- /**
713
- * The default texture minification filter to apply to this provider.
714
- * @memberof BingMapsImageryProvider.prototype
715
- * @type {TextureMinificationFilter}
716
- * @deprecated
717
- */
718
- defaultMinificationFilter: {
719
- get: function () {
720
- deprecationWarning(
721
- "BingMapsImageryProvider.defaultMinificationFilter",
722
- "BingMapsImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."
723
- );
724
- return this._defaultMinificationFilter;
725
- },
726
- set: function (value) {
727
- deprecationWarning(
728
- "BingMapsImageryProvider.defaultMinificationFilter",
729
- "BingMapsImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."
730
- );
731
- this._defaultMinificationFilter = value;
732
- },
733
- },
734
-
735
- /**
736
- * The default texture magnification filter to apply to this provider.
737
- * @memberof BingMapsImageryProvider.prototype
738
- * @type {TextureMagnificationFilter}
739
- * @deprecated
740
- */
741
- defaultMagnificationFilter: {
742
- get: function () {
743
- deprecationWarning(
744
- "BingMapsImageryProvider.defaultMagnificationFilter",
745
- "BingMapsImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."
746
- );
747
- return this._defaultMagnificationFilter;
748
- },
749
- set: function (value) {
750
- deprecationWarning(
751
- "BingMapsImageryProvider.defaultMagnificationFilter",
752
- "BingMapsImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."
753
- );
754
- this._defaultMagnificationFilter = value;
755
- },
756
- },
757
432
  });
758
433
 
759
434
  /**
@@ -814,7 +489,6 @@ BingMapsImageryProvider.fromUrl = async function (url, options) {
814
489
  const imageryProviderBuilder = new ImageryProviderBuilder(options);
815
490
  await requestMetadata(metadataResource, imageryProviderBuilder);
816
491
  imageryProviderBuilder.build(provider);
817
- provider._readyPromise = Promise.resolve(true);
818
492
  return provider;
819
493
  };
820
494
 
@@ -1,5 +1,14 @@
1
1
  import Check from "../Core/Check.js";
2
2
  import defined from "../Core/defined.js";
3
+ import DeveloperError from "../Core/DeveloperError.js";
4
+
5
+ /**
6
+ * Utilities for parsing bounding volume semantics from 3D Tiles 1.1 metadata.
7
+ *
8
+ * @namespace BoundingVolumeSemantics
9
+ * @private
10
+ */
11
+ const BoundingVolumeSemantics = {};
3
12
 
4
13
  /**
5
14
  * Parse the bounding volume-related semantics such as
@@ -19,24 +28,44 @@ import defined from "../Core/defined.js";
19
28
  * @private
20
29
  * @experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.
21
30
  */
22
- function parseBoundingVolumeSemantics(tileMetadata) {
31
+ BoundingVolumeSemantics.parseAllBoundingVolumeSemantics = function (
32
+ tileMetadata
33
+ ) {
23
34
  //>>includeStart('debug', pragmas.debug);
24
35
  Check.typeOf.object("tileMetadata", tileMetadata);
25
36
  //>>includeEnd('debug');
26
37
 
27
38
  return {
28
39
  tile: {
29
- boundingVolume: parseBoundingVolume("TILE", tileMetadata),
30
- minimumHeight: parseMinimumHeight("TILE", tileMetadata),
31
- maximumHeight: parseMaximumHeight("TILE", tileMetadata),
40
+ boundingVolume: BoundingVolumeSemantics.parseBoundingVolumeSemantic(
41
+ "TILE",
42
+ tileMetadata
43
+ ),
44
+ minimumHeight: BoundingVolumeSemantics._parseMinimumHeight(
45
+ "TILE",
46
+ tileMetadata
47
+ ),
48
+ maximumHeight: BoundingVolumeSemantics._parseMaximumHeight(
49
+ "TILE",
50
+ tileMetadata
51
+ ),
32
52
  },
33
53
  content: {
34
- boundingVolume: parseBoundingVolume("CONTENT", tileMetadata),
35
- minimumHeight: parseMinimumHeight("CONTENT", tileMetadata),
36
- maximumHeight: parseMaximumHeight("CONTENT", tileMetadata),
54
+ boundingVolume: BoundingVolumeSemantics.parseBoundingVolumeSemantic(
55
+ "CONTENT",
56
+ tileMetadata
57
+ ),
58
+ minimumHeight: BoundingVolumeSemantics._parseMinimumHeight(
59
+ "CONTENT",
60
+ tileMetadata
61
+ ),
62
+ maximumHeight: BoundingVolumeSemantics._parseMaximumHeight(
63
+ "CONTENT",
64
+ tileMetadata
65
+ ),
37
66
  },
38
67
  };
39
- }
68
+ };
40
69
 
41
70
  /**
42
71
  * Parse the bounding volume from a tile metadata. If the metadata specify
@@ -52,7 +81,18 @@ function parseBoundingVolumeSemantics(tileMetadata) {
52
81
  * @return {object} An object representing the JSON description of the tile metadata
53
82
  * @private
54
83
  */
55
- function parseBoundingVolume(prefix, tileMetadata) {
84
+ BoundingVolumeSemantics.parseBoundingVolumeSemantic = function (
85
+ prefix,
86
+ tileMetadata
87
+ ) {
88
+ //>>includeStart('debug', pragmas.debug);
89
+ Check.typeOf.string("prefix", prefix);
90
+ if (prefix !== "TILE" && prefix !== "CONTENT") {
91
+ throw new DeveloperError("prefix must be either 'TILE' or 'CONTENT'");
92
+ }
93
+ Check.typeOf.object("tileMetadata", tileMetadata);
94
+ //>>includeEnd('debug');
95
+
56
96
  const boundingBoxSemantic = `${prefix}_BOUNDING_BOX`;
57
97
  const boundingBox = tileMetadata.getPropertyBySemantic(boundingBoxSemantic);
58
98
 
@@ -86,7 +126,7 @@ function parseBoundingVolume(prefix, tileMetadata) {
86
126
  }
87
127
 
88
128
  return undefined;
89
- }
129
+ };
90
130
 
91
131
  /**
92
132
  * Parse the minimum height from tile metadata. This is used for making tighter
@@ -98,10 +138,18 @@ function parseBoundingVolume(prefix, tileMetadata) {
98
138
  * @return {number} The minimum height
99
139
  * @private
100
140
  */
101
- function parseMinimumHeight(prefix, tileMetadata) {
141
+ BoundingVolumeSemantics._parseMinimumHeight = function (prefix, tileMetadata) {
142
+ //>>includeStart('debug', pragmas.debug);
143
+ Check.typeOf.string("prefix", prefix);
144
+ if (prefix !== "TILE" && prefix !== "CONTENT") {
145
+ throw new DeveloperError("prefix must be either 'TILE' or 'CONTENT'");
146
+ }
147
+ Check.typeOf.object("tileMetadata", tileMetadata);
148
+ //>>includeEnd('debug');
149
+
102
150
  const minimumHeightSemantic = `${prefix}_MINIMUM_HEIGHT`;
103
151
  return tileMetadata.getPropertyBySemantic(minimumHeightSemantic);
104
- }
152
+ };
105
153
 
106
154
  /**
107
155
  * Parse the maximum height from tile metadata. This is used for making tighter
@@ -113,9 +161,17 @@ function parseMinimumHeight(prefix, tileMetadata) {
113
161
  * @return {number} The maximum height
114
162
  * @private
115
163
  */
116
- function parseMaximumHeight(prefix, tileMetadata) {
164
+ BoundingVolumeSemantics._parseMaximumHeight = function (prefix, tileMetadata) {
165
+ //>>includeStart('debug', pragmas.debug);
166
+ Check.typeOf.string("prefix", prefix);
167
+ if (prefix !== "TILE" && prefix !== "CONTENT") {
168
+ throw new DeveloperError("prefix must be either 'TILE' or 'CONTENT'");
169
+ }
170
+ Check.typeOf.object("tileMetadata", tileMetadata);
171
+ //>>includeEnd('debug');
172
+
117
173
  const maximumHeightSemantic = `${prefix}_MAXIMUM_HEIGHT`;
118
174
  return tileMetadata.getPropertyBySemantic(maximumHeightSemantic);
119
- }
175
+ };
120
176
 
121
- export default parseBoundingVolumeSemantics;
177
+ export default BoundingVolumeSemantics;
@@ -44,7 +44,7 @@ import SceneMode from "./SceneMode.js";
44
44
  *
45
45
  * @property {number} [heading=0.0] The heading in radians
46
46
  * @property {number} [pitch=-CesiumMath.PI_OVER_TWO] The pitch in radians
47
- * @property {number} [roll=0.0] The roll in meters
47
+ * @property {number} [roll=0.0] The roll in radians
48
48
  **/
49
49
 
50
50
  /**
@@ -35,6 +35,7 @@ import findGroupMetadata from "./findGroupMetadata.js";
35
35
  import findTileMetadata from "./findTileMetadata.js";
36
36
  import hasExtension from "./hasExtension.js";
37
37
  import Multiple3DTileContent from "./Multiple3DTileContent.js";
38
+ import BoundingVolumeSemantics from "./BoundingVolumeSemantics.js";
38
39
  import preprocess3DTileContent from "./preprocess3DTileContent.js";
39
40
  import SceneMode from "./SceneMode.js";
40
41
  import TileBoundingRegion from "./TileBoundingRegion.js";
@@ -107,6 +108,20 @@ function Cesium3DTile(tileset, baseResource, header, parent) {
107
108
  */
108
109
  this.computedTransform = computedTransform;
109
110
 
111
+ /**
112
+ * When tile metadata is present (3D Tiles 1.1) or the <code>3DTILES_metadata</code> extension is used,
113
+ * this stores a {@link TileMetadata} object for accessing tile metadata.
114
+ *
115
+ * @type {TileMetadata}
116
+ * @readonly
117
+ * @private
118
+ * @experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.
119
+ */
120
+ this.metadata = findTileMetadata(tileset, header);
121
+
122
+ // Important: tile metadata must be parsed before this line so that the
123
+ // metadata semantics TILE_BOUNDING_BOX, TILE_BOUNDING_REGION, or TILE_BOUNDING_SPHERE
124
+ // can override header.boundingVolume (if necessary)
110
125
  this._boundingVolume = this.createBoundingVolume(
111
126
  header.boundingVolume,
112
127
  computedTransform
@@ -328,17 +343,6 @@ function Cesium3DTile(tileset, baseResource, header, parent) {
328
343
  */
329
344
  this.hasMultipleContents = hasMultipleContents;
330
345
 
331
- /**
332
- * When tile metadata is present (3D Tiles 1.1) or the <code>3DTILES_metadata</code> extension is used,
333
- * this stores a {@link TileMetadata} object for accessing tile metadata.
334
- *
335
- * @type {TileMetadata}
336
- * @readonly
337
- * @private
338
- * @experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.
339
- */
340
- this.metadata = findTileMetadata(tileset, header);
341
-
342
346
  /**
343
347
  * The node in the tileset's LRU cache, used to determine when to unload a tile's content.
344
348
  *
@@ -870,7 +874,7 @@ function isPriorityDeferred(tile, frameState) {
870
874
  );
871
875
  const sseRelaxation = tileset.foveatedInterpolationCallback(
872
876
  tileset.foveatedMinimumScreenSpaceErrorRelaxation,
873
- tileset.maximumScreenSpaceError,
877
+ tileset.memoryAdjustedScreenSpaceError,
874
878
  normalizedFoveatedFactor
875
879
  );
876
880
  const sse =
@@ -878,7 +882,7 @@ function isPriorityDeferred(tile, frameState) {
878
882
  ? tile.parent._screenSpaceError * 0.5
879
883
  : tile._screenSpaceError;
880
884
 
881
- return tileset.maximumScreenSpaceError - sseRelaxation <= sse;
885
+ return tileset.memoryAdjustedScreenSpaceError - sseRelaxation <= sse;
882
886
  }
883
887
 
884
888
  const scratchJulianDate = new JulianDate();
@@ -957,12 +961,11 @@ function isPriorityProgressiveResolution(tileset, tile) {
957
961
  return false;
958
962
  }
959
963
 
964
+ const maximumScreenSpaceError = tileset.memoryAdjustedScreenSpaceError;
960
965
  let isProgressiveResolutionTile =
961
- tile._screenSpaceErrorProgressiveResolution >
962
- tileset._maximumScreenSpaceError; // Mark non-SSE leaves
966
+ tile._screenSpaceErrorProgressiveResolution > maximumScreenSpaceError; // Mark non-SSE leaves
963
967
  tile._priorityProgressiveResolutionScreenSpaceErrorLeaf = false; // Needed for skipLOD
964
968
  const parent = tile.parent;
965
- const maximumScreenSpaceError = tileset._maximumScreenSpaceError;
966
969
  const tilePasses =
967
970
  tile._screenSpaceErrorProgressiveResolution <= maximumScreenSpaceError;
968
971
  const parentFails =
@@ -1764,6 +1767,20 @@ Cesium3DTile.prototype.createBoundingVolume = function (
1764
1767
  transform,
1765
1768
  result
1766
1769
  ) {
1770
+ // if explicit tile metadata includes TILE_BOUNDING_BOX, TILE_BOUNDING_REGION,
1771
+ // or TILE_BOUNDING_SPHERE, override tile.boundingVolume.
1772
+ const tileMetadata = this.metadata;
1773
+ let metadataBoundingVolumeHeader;
1774
+ if (defined(tileMetadata)) {
1775
+ metadataBoundingVolumeHeader = BoundingVolumeSemantics.parseBoundingVolumeSemantic(
1776
+ "TILE",
1777
+ tileMetadata
1778
+ );
1779
+ }
1780
+ if (defined(metadataBoundingVolumeHeader)) {
1781
+ boundingVolumeHeader = metadataBoundingVolumeHeader;
1782
+ }
1783
+
1767
1784
  if (!defined(boundingVolumeHeader)) {
1768
1785
  throw new RuntimeError("boundingVolume must be defined");
1769
1786
  }
@@ -2004,8 +2021,8 @@ function updateContent(tile, tileset, frameState) {
2004
2021
  * - clipping function (union v. intersection)
2005
2022
 
2006
2023
  * @private
2007
- * @param {Cesium3DTile} tile
2008
- * @param {Cesium3DTileset} tileset
2024
+ * @param {Cesium3DTile} tile
2025
+ * @param {Cesium3DTileset} tileset
2009
2026
  */
2010
2027
  function updateClippingPlanes(tile, tileset) {
2011
2028
  const clippingPlanes = tileset.clippingPlanes;
@@ -160,22 +160,6 @@ Object.defineProperties(Cesium3DTileContent.prototype, {
160
160
  },
161
161
  },
162
162
 
163
- /**
164
- * Gets the promise that will be resolved when the tile's content is ready to render.
165
- *
166
- * @memberof Cesium3DTileContent.prototype
167
- *
168
- * @type {Promise<Cesium3DTileContent>}
169
- * @readonly
170
- * @deprecated
171
- */
172
- readyPromise: {
173
- // eslint-disable-next-line getter-return
174
- get: function () {
175
- DeveloperError.throwInstantiationError();
176
- },
177
- },
178
-
179
163
  /**
180
164
  * Gets the tileset for this tile.
181
165
  *