@cesium/engine 2.1.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/Build/Workers/{AttributeCompression-8a5a065e.js → AttributeCompression-f9f6c717.js} +1 -1
  2. package/Build/Workers/{AxisAlignedBoundingBox-a6f9f0e5.js → AxisAlignedBoundingBox-31fadcf0.js} +1 -1
  3. package/Build/Workers/{BoundingRectangle-b0a68595.js → BoundingRectangle-995f0079.js} +1 -1
  4. package/Build/Workers/{BoxGeometry-baedd794.js → BoxGeometry-7eb1af60.js} +1 -1
  5. package/Build/Workers/{Color-f85df1be.js → Color-2dc49658.js} +1 -1
  6. package/Build/Workers/{CoplanarPolygonGeometryLibrary-30516950.js → CoplanarPolygonGeometryLibrary-d7d972d6.js} +1 -1
  7. package/Build/Workers/{CorridorGeometryLibrary-5d5d3b3a.js → CorridorGeometryLibrary-1f5ef7b3.js} +1 -1
  8. package/Build/Workers/{CylinderGeometry-d899ae26.js → CylinderGeometry-23c67a6c.js} +1 -1
  9. package/Build/Workers/{CylinderGeometryLibrary-135b0858.js → CylinderGeometryLibrary-7bf291b4.js} +1 -1
  10. package/Build/Workers/{EllipseGeometry-a49f8449.js → EllipseGeometry-37014da4.js} +1 -1
  11. package/Build/Workers/{EllipseGeometryLibrary-cba7edde.js → EllipseGeometryLibrary-92ab6b1e.js} +1 -1
  12. package/Build/Workers/{EllipseOutlineGeometry-8095c8cb.js → EllipseOutlineGeometry-12b6fef5.js} +1 -1
  13. package/Build/Workers/{EllipsoidGeodesic-dcff5cbd.js → EllipsoidGeodesic-5b3623dc.js} +1 -1
  14. package/Build/Workers/{EllipsoidGeometry-ed93f571.js → EllipsoidGeometry-508da15c.js} +1 -1
  15. package/Build/Workers/{EllipsoidOutlineGeometry-e4854854.js → EllipsoidOutlineGeometry-40d97455.js} +1 -1
  16. package/Build/Workers/{EllipsoidRhumbLine-b672d507.js → EllipsoidRhumbLine-ef872433.js} +1 -1
  17. package/Build/Workers/{EllipsoidTangentPlane-7ae1aa9a.js → EllipsoidTangentPlane-46d4d9c2.js} +1 -1
  18. package/Build/Workers/{EncodedCartesian3-e8bbca36.js → EncodedCartesian3-57415c8a.js} +1 -1
  19. package/Build/Workers/{FrustumGeometry-b62db3e3.js → FrustumGeometry-38605e69.js} +32 -4
  20. package/Build/Workers/{GeometryAttribute-780af4fa.js → GeometryAttribute-a466e9c7.js} +1 -1
  21. package/Build/Workers/{GeometryInstance-3fb607b7.js → GeometryInstance-34d9e21e.js} +1 -1
  22. package/Build/Workers/{GeometryPipeline-36b61c99.js → GeometryPipeline-dcf79306.js} +1 -1
  23. package/Build/Workers/{IndexDatatype-b8f3e09d.js → IndexDatatype-2643aa47.js} +1 -1
  24. package/Build/Workers/{IntersectionTests-e889fcf0.js → IntersectionTests-88c49b2e.js} +1 -1
  25. package/Build/Workers/{Math-dad82b4d.js → Math-0a2ac845.js} +12 -2
  26. package/Build/Workers/{Matrix2-1e403d0e.js → Matrix2-e1298525.js} +1 -1
  27. package/Build/Workers/{Matrix3-fa806b97.js → Matrix3-41c58dde.js} +1 -1
  28. package/Build/Workers/{OrientedBoundingBox-43478ac8.js → OrientedBoundingBox-2dd47921.js} +5 -3
  29. package/Build/Workers/{Plane-c27e1ac6.js → Plane-4c3d403b.js} +1 -1
  30. package/Build/Workers/{PolygonGeometryLibrary-38a98276.js → PolygonGeometryLibrary-59126025.js} +1 -1
  31. package/Build/Workers/PolygonPipeline-1fe328c0.js +1344 -0
  32. package/Build/Workers/{PolylinePipeline-30e4cec9.js → PolylinePipeline-896735cc.js} +1 -1
  33. package/Build/Workers/{PolylineVolumeGeometryLibrary-90551d26.js → PolylineVolumeGeometryLibrary-9c0639f7.js} +1 -1
  34. package/Build/Workers/{PrimitivePipeline-558d9cb0.js → PrimitivePipeline-fc1a47ff.js} +1 -1
  35. package/Build/Workers/{RectangleGeometryLibrary-815c68df.js → RectangleGeometryLibrary-a23c9ebe.js} +1 -1
  36. package/Build/Workers/{TerrainEncoding-341ead52.js → TerrainEncoding-51b8b33b.js} +1 -1
  37. package/Build/Workers/Transforms-bc45e707.js +14699 -0
  38. package/Build/Workers/{WallGeometryLibrary-ccf90976.js → WallGeometryLibrary-007e9883.js} +1 -1
  39. package/Build/Workers/{WebMercatorProjection-76a3fcc0.js → WebMercatorProjection-13ed1a6e.js} +1 -1
  40. package/Build/Workers/{arrayRemoveDuplicates-fac118a8.js → arrayRemoveDuplicates-d2061e85.js} +1 -1
  41. package/Build/Workers/cesiumWorkerBootstrapper.js +1 -1
  42. package/Build/Workers/combineGeometry.js +1 -1
  43. package/Build/Workers/createBoxGeometry.js +1 -1
  44. package/Build/Workers/createBoxOutlineGeometry.js +1 -1
  45. package/Build/Workers/createCircleGeometry.js +1 -1
  46. package/Build/Workers/createCircleOutlineGeometry.js +1 -1
  47. package/Build/Workers/createCoplanarPolygonGeometry.js +1 -1
  48. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
  49. package/Build/Workers/createCorridorGeometry.js +1 -1
  50. package/Build/Workers/createCorridorOutlineGeometry.js +1 -1
  51. package/Build/Workers/createCylinderGeometry.js +1 -1
  52. package/Build/Workers/createCylinderOutlineGeometry.js +1 -1
  53. package/Build/Workers/createEllipseGeometry.js +1 -1
  54. package/Build/Workers/createEllipseOutlineGeometry.js +1 -1
  55. package/Build/Workers/createEllipsoidGeometry.js +1 -1
  56. package/Build/Workers/createEllipsoidOutlineGeometry.js +1 -1
  57. package/Build/Workers/createFrustumGeometry.js +1 -1
  58. package/Build/Workers/createFrustumOutlineGeometry.js +1 -1
  59. package/Build/Workers/createGeometry.js +1 -1
  60. package/Build/Workers/createGroundPolylineGeometry.js +1 -1
  61. package/Build/Workers/createPlaneGeometry.js +1 -1
  62. package/Build/Workers/createPlaneOutlineGeometry.js +1 -1
  63. package/Build/Workers/createPolygonGeometry.js +1 -1
  64. package/Build/Workers/createPolygonOutlineGeometry.js +1 -1
  65. package/Build/Workers/createPolylineGeometry.js +1 -1
  66. package/Build/Workers/createPolylineVolumeGeometry.js +1 -1
  67. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +1 -1
  68. package/Build/Workers/createRectangleGeometry.js +1 -1
  69. package/Build/Workers/createRectangleOutlineGeometry.js +1 -1
  70. package/Build/Workers/createSimplePolylineGeometry.js +1 -1
  71. package/Build/Workers/createSphereGeometry.js +1 -1
  72. package/Build/Workers/createSphereOutlineGeometry.js +1 -1
  73. package/Build/Workers/createVectorTileClampedPolylines.js +1 -1
  74. package/Build/Workers/createVectorTileGeometries.js +1 -1
  75. package/Build/Workers/createVectorTilePoints.js +1 -1
  76. package/Build/Workers/createVectorTilePolygons.js +1 -1
  77. package/Build/Workers/createVectorTilePolylines.js +1 -1
  78. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
  79. package/Build/Workers/createVerticesFromHeightmap.js +5 -8
  80. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +10 -15
  81. package/Build/Workers/createWallGeometry.js +1 -1
  82. package/Build/Workers/createWallOutlineGeometry.js +1 -1
  83. package/Build/Workers/decodeDraco.js +1 -1
  84. package/Build/Workers/decodeI3S.js +1 -1
  85. package/Build/Workers/package.js +1 -1
  86. package/Build/Workers/transferTypedArrayTest.js +1 -1
  87. package/Build/Workers/upsampleQuantizedTerrainMesh.js +1 -1
  88. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +291 -191
  89. package/Source/Core/BingMapsGeocoderService.js +19 -1
  90. package/Source/Core/CartographicGeocoderService.js +15 -0
  91. package/Source/Core/CesiumTerrainProvider.js +571 -434
  92. package/Source/Core/Credit.js +1 -1
  93. package/Source/Core/CustomHeightmapTerrainProvider.js +12 -0
  94. package/Source/Core/EllipsoidTerrainProvider.js +17 -10
  95. package/Source/Core/FrustumGeometry.js +4 -3
  96. package/Source/Core/GeocoderService.js +32 -1
  97. package/Source/Core/GoogleEarthEnterpriseMetadata.js +86 -34
  98. package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +119 -82
  99. package/Source/Core/Ion.js +1 -1
  100. package/Source/Core/IonGeocoderService.js +17 -2
  101. package/Source/Core/IonResource.js +14 -3
  102. package/Source/Core/OpenCageGeocoderService.js +18 -1
  103. package/Source/Core/OrientedBoundingBox.js +4 -2
  104. package/Source/Core/OrthographicFrustum.js +13 -0
  105. package/Source/Core/PeliasGeocoderService.js +14 -1
  106. package/Source/Core/PerspectiveFrustum.js +14 -0
  107. package/Source/Core/Request.js +3 -2
  108. package/Source/Core/RequestScheduler.js +10 -5
  109. package/Source/Core/Resource.js +230 -236
  110. package/Source/Core/TerrainProvider.js +9 -14
  111. package/Source/Core/TileProviderError.js +8 -8
  112. package/Source/Core/VRTheWorldTerrainProvider.js +193 -124
  113. package/Source/Core/buildModuleUrl.js +4 -3
  114. package/Source/Core/createWorldTerrain.js +20 -2
  115. package/Source/Core/createWorldTerrainAsync.js +48 -0
  116. package/Source/Core/sampleTerrain.js +9 -10
  117. package/Source/Core/sampleTerrainMostDetailed.js +66 -72
  118. package/Source/DataSources/Cesium3DTilesetVisualizer.js +37 -26
  119. package/Source/DataSources/DataSourceDisplay.js +2 -2
  120. package/Source/DataSources/Entity.js +6 -1
  121. package/Source/DataSources/EntityCluster.js +126 -128
  122. package/Source/DataSources/ModelVisualizer.js +104 -34
  123. package/Source/DataSources/PolygonGraphics.js +1 -1
  124. package/Source/Renderer/UniformState.js +3 -2
  125. package/Source/Renderer/demodernizeShader.js +5 -5
  126. package/Source/Scene/ArcGisBaseMapType.js +12 -0
  127. package/Source/Scene/ArcGisMapServerImageryProvider.js +694 -376
  128. package/Source/Scene/ArcGisMapService.js +83 -0
  129. package/Source/Scene/BingMapsImageryProvider.js +511 -305
  130. package/Source/Scene/BufferLoader.js +29 -34
  131. package/Source/Scene/Camera.js +8 -7
  132. package/Source/Scene/Cesium3DTile.js +392 -254
  133. package/Source/Scene/Cesium3DTileBatchTable.js +2 -2
  134. package/Source/Scene/Cesium3DTileContent.js +16 -0
  135. package/Source/Scene/Cesium3DTileContentFactory.js +4 -4
  136. package/Source/Scene/Cesium3DTilePass.js +8 -11
  137. package/Source/Scene/Cesium3DTileStyleEngine.js +1 -1
  138. package/Source/Scene/Cesium3DTilesVoxelProvider.js +225 -117
  139. package/Source/Scene/Cesium3DTileset.js +756 -482
  140. package/Source/Scene/Cesium3DTilesetBaseTraversal.js +301 -0
  141. package/Source/Scene/Cesium3DTilesetMostDetailedTraversal.js +33 -46
  142. package/Source/Scene/Cesium3DTilesetSkipTraversal.js +421 -0
  143. package/Source/Scene/Cesium3DTilesetTraversal.js +219 -671
  144. package/Source/Scene/ClassificationPrimitive.js +7 -0
  145. package/Source/Scene/Composite3DTileContent.js +69 -26
  146. package/Source/Scene/CreditDisplay.js +132 -20
  147. package/Source/Scene/DepthPlane.js +1 -1
  148. package/Source/Scene/Empty3DTileContent.js +31 -1
  149. package/Source/Scene/Geometry3DTileContent.js +47 -7
  150. package/Source/Scene/Globe.js +5 -1
  151. package/Source/Scene/GlobeSurfaceTile.js +2 -1
  152. package/Source/Scene/GlobeSurfaceTileProvider.js +53 -30
  153. package/Source/Scene/GltfBufferViewLoader.js +47 -91
  154. package/Source/Scene/GltfDracoLoader.js +110 -112
  155. package/Source/Scene/GltfImageLoader.js +71 -78
  156. package/Source/Scene/GltfIndexBufferLoader.js +108 -121
  157. package/Source/Scene/GltfJsonLoader.js +87 -74
  158. package/Source/Scene/GltfLoader.js +381 -300
  159. package/Source/Scene/GltfStructuralMetadataLoader.js +109 -110
  160. package/Source/Scene/GltfTextureLoader.js +97 -96
  161. package/Source/Scene/GltfVertexBufferLoader.js +128 -133
  162. package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +353 -225
  163. package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +491 -331
  164. package/Source/Scene/GridImageryProvider.js +267 -104
  165. package/Source/Scene/GroundPolylinePrimitive.js +12 -1
  166. package/Source/Scene/GroundPrimitive.js +8 -1
  167. package/Source/Scene/I3SDataProvider.js +214 -113
  168. package/Source/Scene/I3SFeature.js +7 -6
  169. package/Source/Scene/I3SLayer.js +26 -37
  170. package/Source/Scene/I3SNode.js +59 -66
  171. package/Source/Scene/Imagery.js +6 -1
  172. package/Source/Scene/ImageryLayer.js +299 -48
  173. package/Source/Scene/ImageryLayerCollection.js +26 -0
  174. package/Source/Scene/ImageryProvider.js +129 -111
  175. package/Source/Scene/Implicit3DTileContent.js +72 -23
  176. package/Source/Scene/ImplicitSubtree.js +66 -45
  177. package/Source/Scene/IonImageryProvider.js +482 -275
  178. package/Source/Scene/MapboxImageryProvider.js +272 -112
  179. package/Source/Scene/MapboxStyleImageryProvider.js +270 -111
  180. package/Source/Scene/MetadataSchemaLoader.js +26 -36
  181. package/Source/Scene/Model/B3dmLoader.js +42 -46
  182. package/Source/Scene/Model/GeoJsonLoader.js +8 -32
  183. package/Source/Scene/Model/I3dmLoader.js +48 -74
  184. package/Source/Scene/Model/MaterialPipelineStage.js +12 -12
  185. package/Source/Scene/Model/Model.js +514 -135
  186. package/Source/Scene/Model/Model3DTileContent.js +83 -31
  187. package/Source/Scene/Model/ModelAnimationCollection.js +3 -3
  188. package/Source/Scene/Model/ModelDrawCommand.js +15 -26
  189. package/Source/Scene/Model/ModelUtility.js +16 -16
  190. package/Source/Scene/Model/PntsLoader.js +27 -32
  191. package/Source/Scene/Model/UniformType.js +1 -1
  192. package/Source/Scene/Multiple3DTileContent.js +134 -115
  193. package/Source/Scene/Picking.js +3 -2
  194. package/Source/Scene/PointCloud.js +11 -19
  195. package/Source/Scene/Primitive.js +20 -0
  196. package/Source/Scene/QuadtreePrimitive.js +5 -2
  197. package/Source/Scene/QuadtreeTileProvider.js +4 -8
  198. package/Source/Scene/ResourceCache.js +47 -105
  199. package/Source/Scene/ResourceCacheStatistics.js +24 -58
  200. package/Source/Scene/ResourceLoader.js +5 -17
  201. package/Source/Scene/ResourceLoaderState.js +12 -4
  202. package/Source/Scene/Scene.js +65 -0
  203. package/Source/Scene/SceneTransforms.js +3 -2
  204. package/Source/Scene/ScreenSpaceCameraController.js +2 -2
  205. package/Source/Scene/SingleTileImageryProvider.js +382 -209
  206. package/Source/Scene/Terrain.js +196 -0
  207. package/Source/Scene/TileCoordinatesImageryProvider.js +267 -104
  208. package/Source/Scene/TileMapServiceImageryProvider.js +177 -85
  209. package/Source/Scene/Tileset3DTileContent.js +47 -5
  210. package/Source/Scene/TimeDynamicPointCloud.js +15 -2
  211. package/Source/Scene/UrlTemplateImageryProvider.js +343 -215
  212. package/Source/Scene/Vector3DTileClampedPolylines.js +96 -84
  213. package/Source/Scene/Vector3DTileContent.js +47 -22
  214. package/Source/Scene/Vector3DTileGeometry.js +57 -52
  215. package/Source/Scene/Vector3DTilePoints.js +97 -81
  216. package/Source/Scene/Vector3DTilePolygons.js +118 -117
  217. package/Source/Scene/Vector3DTilePolylines.js +86 -82
  218. package/Source/Scene/Vector3DTilePrimitive.js +0 -1
  219. package/Source/Scene/VoxelContent.js +61 -63
  220. package/Source/Scene/VoxelPrimitive.js +39 -91
  221. package/Source/Scene/VoxelProvider.js +2 -2
  222. package/Source/Scene/WebMapServiceImageryProvider.js +272 -111
  223. package/Source/Scene/WebMapTileServiceImageryProvider.js +270 -107
  224. package/Source/Scene/computeFlyToLocationForRectangle.js +33 -37
  225. package/Source/Scene/createOsmBuildings.js +6 -0
  226. package/Source/Scene/createOsmBuildingsAsync.js +82 -0
  227. package/Source/Scene/createWorldImagery.js +14 -5
  228. package/Source/Scene/createWorldImageryAsync.js +39 -0
  229. package/Source/Shaders/AtmosphereCommon.glsl +51 -8
  230. package/Source/Shaders/AtmosphereCommon.js +51 -8
  231. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +1 -1
  232. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +1 -1
  233. package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.glsl +3 -3
  234. package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.js +3 -3
  235. package/Source/Widget/CesiumWidget.js +67 -27
  236. package/index.d.ts +2429 -1475
  237. package/index.js +324 -315
  238. package/package.json +4 -4
  239. package/Build/Workers/PolygonPipeline-d31ff61c.js +0 -1345
  240. package/Build/Workers/Transforms-9e9df299.js +0 -14714
@@ -1,6 +1,7 @@
1
1
  import Credit from "../Core/Credit.js";
2
2
  import defaultValue from "../Core/defaultValue.js";
3
3
  import defined from "../Core/defined.js";
4
+ import deprecationWarning from "../Core/deprecationWarning.js";
4
5
  import DeveloperError from "../Core/DeveloperError.js";
5
6
  import Resource from "../Core/Resource.js";
6
7
  import UrlTemplateImageryProvider from "./UrlTemplateImageryProvider.js";
@@ -64,91 +65,16 @@ function MapboxStyleImageryProvider(options) {
64
65
  }
65
66
  //>>includeEnd('debug');
66
67
 
67
- /**
68
- * The default alpha blending value of this provider, with 0.0 representing fully transparent and
69
- * 1.0 representing fully opaque.
70
- *
71
- * @type {number|undefined}
72
- * @default undefined
73
- */
74
- this.defaultAlpha = undefined;
75
-
76
- /**
77
- * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and
78
- * 1.0 representing fully opaque.
79
- *
80
- * @type {number|undefined}
81
- * @default undefined
82
- */
83
- this.defaultNightAlpha = undefined;
84
-
85
- /**
86
- * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and
87
- * 1.0 representing fully opaque.
88
- *
89
- * @type {number|undefined}
90
- * @default undefined
91
- */
92
- this.defaultDayAlpha = undefined;
93
-
94
- /**
95
- * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0
96
- * makes the imagery darker while greater than 1.0 makes it brighter.
97
- *
98
- * @type {number|undefined}
99
- * @default undefined
100
- */
101
- this.defaultBrightness = undefined;
102
-
103
- /**
104
- * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces
105
- * the contrast while greater than 1.0 increases it.
106
- *
107
- * @type {number|undefined}
108
- * @default undefined
109
- */
110
- this.defaultContrast = undefined;
111
-
112
- /**
113
- * The default hue of this provider in radians. 0.0 uses the unmodified imagery color.
114
- *
115
- * @type {number|undefined}
116
- * @default undefined
117
- */
118
- this.defaultHue = undefined;
119
-
120
- /**
121
- * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the
122
- * saturation while greater than 1.0 increases it.
123
- *
124
- * @type {number|undefined}
125
- * @default undefined
126
- */
127
- this.defaultSaturation = undefined;
128
-
129
- /**
130
- * The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color.
131
- *
132
- * @type {number|undefined}
133
- * @default undefined
134
- */
135
- this.defaultGamma = undefined;
136
-
137
- /**
138
- * The default texture minification filter to apply to this provider.
139
- *
140
- * @type {TextureMinificationFilter}
141
- * @default undefined
142
- */
143
- this.defaultMinificationFilter = undefined;
144
-
145
- /**
146
- * The default texture magnification filter to apply to this provider.
147
- *
148
- * @type {TextureMagnificationFilter}
149
- * @default undefined
150
- */
151
- this.defaultMagnificationFilter = undefined;
68
+ this._defaultAlpha = undefined;
69
+ this._defaultNightAlpha = undefined;
70
+ this._defaultDayAlpha = undefined;
71
+ this._defaultBrightness = undefined;
72
+ this._defaultContrast = undefined;
73
+ this._defaultHue = undefined;
74
+ this._defaultSaturation = undefined;
75
+ this._defaultGamma = undefined;
76
+ this._defaultMinificationFilter = undefined;
77
+ this._defaultMagnificationFilter = undefined;
152
78
 
153
79
  const resource = Resource.createIfNeeded(
154
80
  defaultValue(options.url, "https://api.mapbox.com/styles/v1/")
@@ -195,6 +121,9 @@ function MapboxStyleImageryProvider(options) {
195
121
  maximumLevel: options.maximumLevel,
196
122
  rectangle: options.rectangle,
197
123
  });
124
+
125
+ this._ready = true;
126
+ this._readyPromise = Promise.resolve(true);
198
127
  }
199
128
 
200
129
  Object.defineProperties(MapboxStyleImageryProvider.prototype, {
@@ -215,9 +144,14 @@ Object.defineProperties(MapboxStyleImageryProvider.prototype, {
215
144
  * @memberof MapboxStyleImageryProvider.prototype
216
145
  * @type {boolean}
217
146
  * @readonly
147
+ * @deprecated
218
148
  */
219
149
  ready: {
220
150
  get: function () {
151
+ deprecationWarning(
152
+ "MapboxStyleImageryProvider.ready",
153
+ "MapboxStyleImageryProvider.ready was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107."
154
+ );
221
155
  return this._imageryProvider.ready;
222
156
  },
223
157
  },
@@ -227,16 +161,20 @@ Object.defineProperties(MapboxStyleImageryProvider.prototype, {
227
161
  * @memberof MapboxStyleImageryProvider.prototype
228
162
  * @type {Promise<boolean>}
229
163
  * @readonly
164
+ * @deprecated
230
165
  */
231
166
  readyPromise: {
232
167
  get: function () {
168
+ deprecationWarning(
169
+ "MapboxStyleImageryProvider.readyPromise",
170
+ "MapboxStyleImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107."
171
+ );
233
172
  return this._imageryProvider.readyPromise;
234
173
  },
235
174
  },
236
175
 
237
176
  /**
238
- * Gets the rectangle, in radians, of the imagery provided by the instance. This function should
239
- * not be called before {@link MapboxStyleImageryProvider#ready} returns true.
177
+ * Gets the rectangle, in radians, of the imagery provided by the instance.
240
178
  * @memberof MapboxStyleImageryProvider.prototype
241
179
  * @type {Rectangle}
242
180
  * @readonly
@@ -248,8 +186,7 @@ Object.defineProperties(MapboxStyleImageryProvider.prototype, {
248
186
  },
249
187
 
250
188
  /**
251
- * Gets the width of each tile, in pixels. This function should
252
- * not be called before {@link MapboxStyleImageryProvider#ready} returns true.
189
+ * Gets the width of each tile, in pixels.
253
190
  * @memberof MapboxStyleImageryProvider.prototype
254
191
  * @type {number}
255
192
  * @readonly
@@ -261,8 +198,7 @@ Object.defineProperties(MapboxStyleImageryProvider.prototype, {
261
198
  },
262
199
 
263
200
  /**
264
- * Gets the height of each tile, in pixels. This function should
265
- * not be called before {@link MapboxStyleImageryProvider#ready} returns true.
201
+ * Gets the height of each tile, in pixels.
266
202
  * @memberof MapboxStyleImageryProvider.prototype
267
203
  * @type {number}
268
204
  * @readonly
@@ -274,8 +210,7 @@ Object.defineProperties(MapboxStyleImageryProvider.prototype, {
274
210
  },
275
211
 
276
212
  /**
277
- * Gets the maximum level-of-detail that can be requested. This function should
278
- * not be called before {@link MapboxStyleImageryProvider#ready} returns true.
213
+ * Gets the maximum level-of-detail that can be requested.
279
214
  * @memberof MapboxStyleImageryProvider.prototype
280
215
  * @type {number|undefined}
281
216
  * @readonly
@@ -287,8 +222,7 @@ Object.defineProperties(MapboxStyleImageryProvider.prototype, {
287
222
  },
288
223
 
289
224
  /**
290
- * Gets the minimum level-of-detail that can be requested. This function should
291
- * not be called before {@link MapboxStyleImageryProvider#ready} returns true. Generally,
225
+ * Gets the minimum level-of-detail that can be requested. Generally,
292
226
  * a minimum level should only be used when the rectangle of the imagery is small
293
227
  * enough that the number of tiles at the minimum level is small. An imagery
294
228
  * provider with more than a few tiles at the minimum level will lead to
@@ -304,8 +238,7 @@ Object.defineProperties(MapboxStyleImageryProvider.prototype, {
304
238
  },
305
239
 
306
240
  /**
307
- * Gets the tiling scheme used by the provider. This function should
308
- * not be called before {@link MapboxStyleImageryProvider#ready} returns true.
241
+ * Gets the tiling scheme used by the provider.
309
242
  * @memberof MapboxStyleImageryProvider.prototype
310
243
  * @type {TilingScheme}
311
244
  * @readonly
@@ -319,8 +252,7 @@ Object.defineProperties(MapboxStyleImageryProvider.prototype, {
319
252
  /**
320
253
  * Gets the tile discard policy. If not undefined, the discard policy is responsible
321
254
  * for filtering out "missing" tiles via its shouldDiscardImage function. If this function
322
- * returns undefined, no tiles are filtered. This function should
323
- * not be called before {@link MapboxStyleImageryProvider#ready} returns true.
255
+ * returns undefined, no tiles are filtered.
324
256
  * @memberof MapboxStyleImageryProvider.prototype
325
257
  * @type {TileDiscardPolicy}
326
258
  * @readonly
@@ -347,8 +279,7 @@ Object.defineProperties(MapboxStyleImageryProvider.prototype, {
347
279
 
348
280
  /**
349
281
  * Gets the credit to display when this imagery provider is active. Typically this is used to credit
350
- * the source of the imagery. This function should
351
- * not be called before {@link MapboxStyleImageryProvider#ready} returns true.
282
+ * the source of the imagery.
352
283
  * @memberof MapboxStyleImageryProvider.prototype
353
284
  * @type {Credit}
354
285
  * @readonly
@@ -386,6 +317,242 @@ Object.defineProperties(MapboxStyleImageryProvider.prototype, {
386
317
  return this._imageryProvider.hasAlphaChannel;
387
318
  },
388
319
  },
320
+
321
+ /**
322
+ * The default alpha blending value of this provider, with 0.0 representing fully transparent and
323
+ * 1.0 representing fully opaque.
324
+ * @memberof MapboxStyleImageryProvider.prototype
325
+ * @type {Number|undefined}
326
+ * @deprecated
327
+ */
328
+ defaultAlpha: {
329
+ get: function () {
330
+ deprecationWarning(
331
+ "MapboxStyleImageryProvider.defaultAlpha",
332
+ "MapboxStyleImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.alpha instead."
333
+ );
334
+ return this._defaultAlpha;
335
+ },
336
+ set: function (value) {
337
+ deprecationWarning(
338
+ "MapboxStyleImageryProvider.defaultAlpha",
339
+ "MapboxStyleImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.alpha instead."
340
+ );
341
+ this._defaultAlpha = value;
342
+ },
343
+ },
344
+
345
+ /**
346
+ * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and
347
+ * 1.0 representing fully opaque.
348
+ * @memberof MapboxStyleImageryProvider.prototype
349
+ * @type {Number|undefined}
350
+ * @deprecated
351
+ */
352
+ defaultNightAlpha: {
353
+ get: function () {
354
+ deprecationWarning(
355
+ "MapboxStyleImageryProvider.defaultNightAlpha",
356
+ "MapboxStyleImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."
357
+ );
358
+ return this._defaultNightAlpha;
359
+ },
360
+ set: function (value) {
361
+ deprecationWarning(
362
+ "MapboxStyleImageryProvider.defaultNightAlpha",
363
+ "MapboxStyleImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."
364
+ );
365
+ this._defaultNightAlpha = value;
366
+ },
367
+ },
368
+
369
+ /**
370
+ * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and
371
+ * 1.0 representing fully opaque.
372
+ * @memberof MapboxStyleImageryProvider.prototype
373
+ * @type {Number|undefined}
374
+ * @deprecated
375
+ */
376
+ defaultDayAlpha: {
377
+ get: function () {
378
+ deprecationWarning(
379
+ "MapboxStyleImageryProvider.defaultDayAlpha",
380
+ "MapboxStyleImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."
381
+ );
382
+ return this._defaultDayAlpha;
383
+ },
384
+ set: function (value) {
385
+ deprecationWarning(
386
+ "MapboxStyleImageryProvider.defaultDayAlpha",
387
+ "MapboxStyleImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."
388
+ );
389
+ this._defaultDayAlpha = value;
390
+ },
391
+ },
392
+
393
+ /**
394
+ * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0
395
+ * makes the imagery darker while greater than 1.0 makes it brighter.
396
+ * @memberof MapboxStyleImageryProvider.prototype
397
+ * @type {Number|undefined}
398
+ * @deprecated
399
+ */
400
+ defaultBrightness: {
401
+ get: function () {
402
+ deprecationWarning(
403
+ "MapboxStyleImageryProvider.defaultBrightness",
404
+ "MapboxStyleImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.brightness instead."
405
+ );
406
+ return this._defaultBrightness;
407
+ },
408
+ set: function (value) {
409
+ deprecationWarning(
410
+ "MapboxStyleImageryProvider.defaultBrightness",
411
+ "MapboxStyleImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.brightness instead."
412
+ );
413
+ this._defaultBrightness = value;
414
+ },
415
+ },
416
+
417
+ /**
418
+ * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces
419
+ * the contrast while greater than 1.0 increases it.
420
+ * @memberof MapboxStyleImageryProvider.prototype
421
+ * @type {Number|undefined}
422
+ * @deprecated
423
+ */
424
+ defaultContrast: {
425
+ get: function () {
426
+ deprecationWarning(
427
+ "MapboxStyleImageryProvider.defaultContrast",
428
+ "MapboxStyleImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.contrast instead."
429
+ );
430
+ return this._defaultContrast;
431
+ },
432
+ set: function (value) {
433
+ deprecationWarning(
434
+ "MapboxStyleImageryProvider.defaultContrast",
435
+ "MapboxStyleImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.contrast instead."
436
+ );
437
+ this._defaultContrast = value;
438
+ },
439
+ },
440
+
441
+ /**
442
+ * The default hue of this provider in radians. 0.0 uses the unmodified imagery color.
443
+ * @memberof MapboxStyleImageryProvider.prototype
444
+ * @type {Number|undefined}
445
+ * @deprecated
446
+ */
447
+ defaultHue: {
448
+ get: function () {
449
+ deprecationWarning(
450
+ "MapboxStyleImageryProvider.defaultHue",
451
+ "MapboxStyleImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.hue instead."
452
+ );
453
+ return this._defaultHue;
454
+ },
455
+ set: function (value) {
456
+ deprecationWarning(
457
+ "MapboxStyleImageryProvider.defaultHue",
458
+ "MapboxStyleImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.hue instead."
459
+ );
460
+ this._defaultHue = value;
461
+ },
462
+ },
463
+
464
+ /**
465
+ * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the
466
+ * saturation while greater than 1.0 increases it.
467
+ * @memberof MapboxStyleImageryProvider.prototype
468
+ * @type {Number|undefined}
469
+ * @deprecated
470
+ */
471
+ defaultSaturation: {
472
+ get: function () {
473
+ deprecationWarning(
474
+ "MapboxStyleImageryProvider.defaultSaturation",
475
+ "MapboxStyleImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.saturation instead."
476
+ );
477
+ return this._defaultSaturation;
478
+ },
479
+ set: function (value) {
480
+ deprecationWarning(
481
+ "MapboxStyleImageryProvider.defaultSaturation",
482
+ "MapboxStyleImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.saturation instead."
483
+ );
484
+ this._defaultSaturation = value;
485
+ },
486
+ },
487
+
488
+ /**
489
+ * The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color.
490
+ * @memberof MapboxStyleImageryProvider.prototype
491
+ * @type {Number|undefined}
492
+ * @deprecated
493
+ */
494
+ defaultGamma: {
495
+ get: function () {
496
+ deprecationWarning(
497
+ "MapboxStyleImageryProvider.defaultGamma",
498
+ "MapboxStyleImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.gamma instead."
499
+ );
500
+ return this._defaultGamma;
501
+ },
502
+ set: function (value) {
503
+ deprecationWarning(
504
+ "MapboxStyleImageryProvider.defaultGamma",
505
+ "MapboxStyleImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.gamma instead."
506
+ );
507
+ this._defaultGamma = value;
508
+ },
509
+ },
510
+
511
+ /**
512
+ * The default texture minification filter to apply to this provider.
513
+ * @memberof MapboxStyleImageryProvider.prototype
514
+ * @type {TextureMinificationFilter}
515
+ * @deprecated
516
+ */
517
+ defaultMinificationFilter: {
518
+ get: function () {
519
+ deprecationWarning(
520
+ "MapboxStyleImageryProvider.defaultMinificationFilter",
521
+ "MapboxStyleImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."
522
+ );
523
+ return this._defaultMinificationFilter;
524
+ },
525
+ set: function (value) {
526
+ deprecationWarning(
527
+ "MapboxStyleImageryProvider.defaultMinificationFilter",
528
+ "MapboxStyleImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."
529
+ );
530
+ this._defaultMinificationFilter = value;
531
+ },
532
+ },
533
+
534
+ /**
535
+ * The default texture magnification filter to apply to this provider.
536
+ * @memberof MapboxStyleImageryProvider.prototype
537
+ * @type {TextureMagnificationFilter}
538
+ * @deprecated
539
+ */
540
+ defaultMagnificationFilter: {
541
+ get: function () {
542
+ deprecationWarning(
543
+ "MapboxStyleImageryProvider.defaultMagnificationFilter",
544
+ "MapboxStyleImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."
545
+ );
546
+ return this._defaultMagnificationFilter;
547
+ },
548
+ set: function (value) {
549
+ deprecationWarning(
550
+ "MapboxStyleImageryProvider.defaultMagnificationFilter",
551
+ "MapboxStyleImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."
552
+ );
553
+ this._defaultMagnificationFilter = value;
554
+ },
555
+ },
389
556
  });
390
557
 
391
558
  /**
@@ -395,16 +562,13 @@ Object.defineProperties(MapboxStyleImageryProvider.prototype, {
395
562
  * @param {number} y The tile Y coordinate.
396
563
  * @param {number} level The tile level;
397
564
  * @returns {Credit[]} The credits to be displayed when the tile is displayed.
398
- *
399
- * @exception {DeveloperError} <code>getTileCredits</code> must not be called before the imagery provider is ready.
400
565
  */
401
566
  MapboxStyleImageryProvider.prototype.getTileCredits = function (x, y, level) {
402
567
  return undefined;
403
568
  };
404
569
 
405
570
  /**
406
- * Requests the image for a given tile. This function should
407
- * not be called before {@link MapboxStyleImageryProvider#ready} returns true.
571
+ * Requests the image for a given tile.
408
572
  *
409
573
  * @param {number} x The tile X coordinate.
410
574
  * @param {number} y The tile Y coordinate.
@@ -412,8 +576,6 @@ MapboxStyleImageryProvider.prototype.getTileCredits = function (x, y, level) {
412
576
  * @param {Request} [request] The request object. Intended for internal use only.
413
577
  * @returns {Promise<ImageryTypes>|undefined} A promise for the image that will resolve when the image is available, or
414
578
  * undefined if there are too many active requests to the server, and the request should be retried later.
415
- *
416
- * @exception {DeveloperError} <code>requestImage</code> must not be called before the imagery provider is ready.
417
579
  */
418
580
  MapboxStyleImageryProvider.prototype.requestImage = function (
419
581
  x,
@@ -426,8 +588,7 @@ MapboxStyleImageryProvider.prototype.requestImage = function (
426
588
 
427
589
  /**
428
590
  * Asynchronously determines what features, if any, are located at a given longitude and latitude within
429
- * a tile. This function should not be called before {@link MapboxStyleImageryProvider#ready} returns true.
430
- * This function is optional, so it may not exist on all ImageryProviders.
591
+ * a tile. This function is optional, so it may not exist on all ImageryProviders.
431
592
  *
432
593
  *
433
594
  * @param {number} x The tile X coordinate.
@@ -439,8 +600,6 @@ MapboxStyleImageryProvider.prototype.requestImage = function (
439
600
  * picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo}
440
601
  * instances. The array may be empty if no features are found at the given location.
441
602
  * It may also be undefined if picking is not supported.
442
- *
443
- * @exception {DeveloperError} <code>pickFeatures</code> must not be called before the imagery provider is ready.
444
603
  */
445
604
  MapboxStyleImageryProvider.prototype.pickFeatures = function (
446
605
  x,
@@ -52,20 +52,6 @@ if (defined(Object.create)) {
52
52
  }
53
53
 
54
54
  Object.defineProperties(MetadataSchemaLoader.prototype, {
55
- /**
56
- * A promise that resolves to the resource when the resource is ready, or undefined if the resource hasn't started loading.
57
- *
58
- * @memberof MetadataSchemaLoader.prototype
59
- *
60
- * @type {Promise<MetadataSchemaLoader>|undefined}
61
- * @readonly
62
- * @private
63
- */
64
- promise: {
65
- get: function () {
66
- return this._promise;
67
- },
68
- },
69
55
  /**
70
56
  * The cache key of the resource.
71
57
  *
@@ -101,37 +87,41 @@ Object.defineProperties(MetadataSchemaLoader.prototype, {
101
87
  * @returns {Promise<MetadataSchemaLoader>} A promise which resolves to the loader when the resource loading is completed.
102
88
  * @private
103
89
  */
104
- MetadataSchemaLoader.prototype.load = function () {
90
+ MetadataSchemaLoader.prototype.load = async function () {
91
+ if (defined(this._promise)) {
92
+ return this._promise;
93
+ }
94
+
105
95
  if (defined(this._schema)) {
106
96
  this._promise = Promise.resolve(this);
107
- } else {
108
- this._promise = loadExternalSchema(this);
97
+ return this._promise;
109
98
  }
110
99
 
100
+ this._promise = loadExternalSchema(this);
111
101
  return this._promise;
112
102
  };
113
103
 
114
- function loadExternalSchema(schemaLoader) {
104
+ async function loadExternalSchema(schemaLoader) {
115
105
  const resource = schemaLoader._resource;
116
106
  schemaLoader._state = ResourceLoaderState.LOADING;
117
- return resource
118
- .fetchJson()
119
- .then(function (json) {
120
- if (schemaLoader.isDestroyed()) {
121
- return;
122
- }
123
- schemaLoader._schema = MetadataSchema.fromJson(json);
124
- schemaLoader._state = ResourceLoaderState.READY;
125
- return schemaLoader;
126
- })
127
- .catch(function (error) {
128
- if (schemaLoader.isDestroyed()) {
129
- return;
130
- }
131
- schemaLoader._state = ResourceLoaderState.FAILED;
132
- const errorMessage = `Failed to load schema: ${resource.url}`;
133
- return Promise.reject(schemaLoader.getError(errorMessage, error));
134
- });
107
+ try {
108
+ const json = await resource.fetchJson();
109
+ if (schemaLoader.isDestroyed()) {
110
+ return;
111
+ }
112
+
113
+ schemaLoader._schema = MetadataSchema.fromJson(json);
114
+ schemaLoader._state = ResourceLoaderState.READY;
115
+ return schemaLoader;
116
+ } catch (error) {
117
+ if (schemaLoader.isDestroyed()) {
118
+ return;
119
+ }
120
+
121
+ schemaLoader._state = ResourceLoaderState.FAILED;
122
+ const errorMessage = `Failed to load schema: ${resource.url}`;
123
+ throw schemaLoader.getError(errorMessage, error);
124
+ }
135
125
  }
136
126
 
137
127
  /**