@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
@@ -2,6 +2,7 @@ import combine from "../Core/combine.js";
2
2
  import Credit from "../Core/Credit.js";
3
3
  import defaultValue from "../Core/defaultValue.js";
4
4
  import defined from "../Core/defined.js";
5
+ import deprecationWarning from "../Core/deprecationWarning.js";
5
6
  import DeveloperError from "../Core/DeveloperError.js";
6
7
  import Event from "../Core/Event.js";
7
8
  import Rectangle from "../Core/Rectangle.js";
@@ -136,91 +137,16 @@ function WebMapTileServiceImageryProvider(options) {
136
137
  }
137
138
  //>>includeEnd('debug');
138
139
 
139
- /**
140
- * The default alpha blending value of this provider, with 0.0 representing fully transparent and
141
- * 1.0 representing fully opaque.
142
- *
143
- * @type {number|undefined}
144
- * @default undefined
145
- */
146
- this.defaultAlpha = undefined;
147
-
148
- /**
149
- * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and
150
- * 1.0 representing fully opaque.
151
- *
152
- * @type {number|undefined}
153
- * @default undefined
154
- */
155
- this.defaultNightAlpha = undefined;
156
-
157
- /**
158
- * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and
159
- * 1.0 representing fully opaque.
160
- *
161
- * @type {number|undefined}
162
- * @default undefined
163
- */
164
- this.defaultDayAlpha = undefined;
165
-
166
- /**
167
- * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0
168
- * makes the imagery darker while greater than 1.0 makes it brighter.
169
- *
170
- * @type {number|undefined}
171
- * @default undefined
172
- */
173
- this.defaultBrightness = undefined;
174
-
175
- /**
176
- * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces
177
- * the contrast while greater than 1.0 increases it.
178
- *
179
- * @type {number|undefined}
180
- * @default undefined
181
- */
182
- this.defaultContrast = undefined;
183
-
184
- /**
185
- * The default hue of this provider in radians. 0.0 uses the unmodified imagery color.
186
- *
187
- * @type {number|undefined}
188
- * @default undefined
189
- */
190
- this.defaultHue = undefined;
191
-
192
- /**
193
- * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the
194
- * saturation while greater than 1.0 increases it.
195
- *
196
- * @type {number|undefined}
197
- * @default undefined
198
- */
199
- this.defaultSaturation = undefined;
200
-
201
- /**
202
- * The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color.
203
- *
204
- * @type {number|undefined}
205
- * @default undefined
206
- */
207
- this.defaultGamma = undefined;
208
-
209
- /**
210
- * The default texture minification filter to apply to this provider.
211
- *
212
- * @type {TextureMinificationFilter}
213
- * @default undefined
214
- */
215
- this.defaultMinificationFilter = undefined;
216
-
217
- /**
218
- * The default texture magnification filter to apply to this provider.
219
- *
220
- * @type {TextureMagnificationFilter}
221
- * @default undefined
222
- */
223
- this.defaultMagnificationFilter = undefined;
140
+ this._defaultAlpha = undefined;
141
+ this._defaultNightAlpha = undefined;
142
+ this._defaultDayAlpha = undefined;
143
+ this._defaultBrightness = undefined;
144
+ this._defaultContrast = undefined;
145
+ this._defaultHue = undefined;
146
+ this._defaultSaturation = undefined;
147
+ this._defaultGamma = undefined;
148
+ this._defaultMinificationFilter = undefined;
149
+ this._defaultMagnificationFilter = undefined;
224
150
 
225
151
  const resource = Resource.createIfNeeded(options.url);
226
152
 
@@ -287,6 +213,7 @@ function WebMapTileServiceImageryProvider(options) {
287
213
  }
288
214
 
289
215
  this._readyPromise = Promise.resolve(true);
216
+ this._ready = true;
290
217
 
291
218
  // Check the number of tiles at the minimum level. If it's more than four,
292
219
  // throw an exception, because starting at the higher minimum
@@ -412,8 +339,7 @@ Object.defineProperties(WebMapTileServiceImageryProvider.prototype, {
412
339
  },
413
340
 
414
341
  /**
415
- * Gets the width of each tile, in pixels. This function should
416
- * not be called before {@link WebMapTileServiceImageryProvider#ready} returns true.
342
+ * Gets the width of each tile, in pixels.
417
343
  * @memberof WebMapTileServiceImageryProvider.prototype
418
344
  * @type {number}
419
345
  * @readonly
@@ -425,8 +351,7 @@ Object.defineProperties(WebMapTileServiceImageryProvider.prototype, {
425
351
  },
426
352
 
427
353
  /**
428
- * Gets the height of each tile, in pixels. This function should
429
- * not be called before {@link WebMapTileServiceImageryProvider#ready} returns true.
354
+ * Gets the height of each tile, in pixels.
430
355
  * @memberof WebMapTileServiceImageryProvider.prototype
431
356
  * @type {number}
432
357
  * @readonly
@@ -438,8 +363,7 @@ Object.defineProperties(WebMapTileServiceImageryProvider.prototype, {
438
363
  },
439
364
 
440
365
  /**
441
- * Gets the maximum level-of-detail that can be requested. This function should
442
- * not be called before {@link WebMapTileServiceImageryProvider#ready} returns true.
366
+ * Gets the maximum level-of-detail that can be requested.
443
367
  * @memberof WebMapTileServiceImageryProvider.prototype
444
368
  * @type {number|undefined}
445
369
  * @readonly
@@ -451,8 +375,7 @@ Object.defineProperties(WebMapTileServiceImageryProvider.prototype, {
451
375
  },
452
376
 
453
377
  /**
454
- * Gets the minimum level-of-detail that can be requested. This function should
455
- * not be called before {@link WebMapTileServiceImageryProvider#ready} returns true.
378
+ * Gets the minimum level-of-detail that can be requested.
456
379
  * @memberof WebMapTileServiceImageryProvider.prototype
457
380
  * @type {number}
458
381
  * @readonly
@@ -464,8 +387,7 @@ Object.defineProperties(WebMapTileServiceImageryProvider.prototype, {
464
387
  },
465
388
 
466
389
  /**
467
- * Gets the tiling scheme used by this provider. This function should
468
- * not be called before {@link WebMapTileServiceImageryProvider#ready} returns true.
390
+ * Gets the tiling scheme used by this provider.
469
391
  * @memberof WebMapTileServiceImageryProvider.prototype
470
392
  * @type {TilingScheme}
471
393
  * @readonly
@@ -477,8 +399,7 @@ Object.defineProperties(WebMapTileServiceImageryProvider.prototype, {
477
399
  },
478
400
 
479
401
  /**
480
- * Gets the rectangle, in radians, of the imagery provided by this instance. This function should
481
- * not be called before {@link WebMapTileServiceImageryProvider#ready} returns true.
402
+ * Gets the rectangle, in radians, of the imagery provided by this instance.
482
403
  * @memberof WebMapTileServiceImageryProvider.prototype
483
404
  * @type {Rectangle}
484
405
  * @readonly
@@ -492,8 +413,7 @@ Object.defineProperties(WebMapTileServiceImageryProvider.prototype, {
492
413
  /**
493
414
  * Gets the tile discard policy. If not undefined, the discard policy is responsible
494
415
  * for filtering out "missing" tiles via its shouldDiscardImage function. If this function
495
- * returns undefined, no tiles are filtered. This function should
496
- * not be called before {@link WebMapTileServiceImageryProvider#ready} returns true.
416
+ * returns undefined, no tiles are filtered.
497
417
  * @memberof WebMapTileServiceImageryProvider.prototype
498
418
  * @type {TileDiscardPolicy}
499
419
  * @readonly
@@ -535,9 +455,16 @@ Object.defineProperties(WebMapTileServiceImageryProvider.prototype, {
535
455
  * @memberof WebMapTileServiceImageryProvider.prototype
536
456
  * @type {boolean}
537
457
  * @readonly
458
+ * @deprecated
538
459
  */
539
460
  ready: {
540
- value: true,
461
+ get: function () {
462
+ deprecationWarning(
463
+ "WebMapTileServiceImageryProvider.ready",
464
+ "WebMapTileServiceImageryProvider.ready was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107."
465
+ );
466
+ return true;
467
+ },
541
468
  },
542
469
 
543
470
  /**
@@ -545,16 +472,21 @@ Object.defineProperties(WebMapTileServiceImageryProvider.prototype, {
545
472
  * @memberof WebMapTileServiceImageryProvider.prototype
546
473
  * @type {Promise<boolean>}
547
474
  * @readonly
475
+ * @deprecated
548
476
  */
549
477
  readyPromise: {
550
478
  get: function () {
479
+ deprecationWarning(
480
+ "WebMapTileServiceImageryProvider.readyPromise",
481
+ "WebMapTileServiceImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107."
482
+ );
551
483
  return this._readyPromise;
552
484
  },
553
485
  },
554
486
 
555
487
  /**
556
488
  * Gets the credit to display when this imagery provider is active. Typically this is used to credit
557
- * the source of the imagery. This function should not be called before {@link WebMapTileServiceImageryProvider#ready} returns true.
489
+ * the source of the imagery.
558
490
  * @memberof WebMapTileServiceImageryProvider.prototype
559
491
  * @type {Credit}
560
492
  * @readonly
@@ -626,6 +558,242 @@ Object.defineProperties(WebMapTileServiceImageryProvider.prototype, {
626
558
  }
627
559
  },
628
560
  },
561
+
562
+ /**
563
+ * The default alpha blending value of this provider, with 0.0 representing fully transparent and
564
+ * 1.0 representing fully opaque.
565
+ * @memberof WebMapTileServiceImageryProvider.prototype
566
+ * @type {Number|undefined}
567
+ * @deprecated
568
+ */
569
+ defaultAlpha: {
570
+ get: function () {
571
+ deprecationWarning(
572
+ "WebMapTileServiceImageryProvider.defaultAlpha",
573
+ "WebMapTileServiceImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.alpha instead."
574
+ );
575
+ return this._defaultAlpha;
576
+ },
577
+ set: function (value) {
578
+ deprecationWarning(
579
+ "WebMapTileServiceImageryProvider.defaultAlpha",
580
+ "WebMapTileServiceImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.alpha instead."
581
+ );
582
+ this._defaultAlpha = value;
583
+ },
584
+ },
585
+
586
+ /**
587
+ * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and
588
+ * 1.0 representing fully opaque.
589
+ * @memberof WebMapTileServiceImageryProvider.prototype
590
+ * @type {Number|undefined}
591
+ * @deprecated
592
+ */
593
+ defaultNightAlpha: {
594
+ get: function () {
595
+ deprecationWarning(
596
+ "WebMapTileServiceImageryProvider.defaultNightAlpha",
597
+ "WebMapTileServiceImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."
598
+ );
599
+ return this._defaultNightAlpha;
600
+ },
601
+ set: function (value) {
602
+ deprecationWarning(
603
+ "WebMapTileServiceImageryProvider.defaultNightAlpha",
604
+ "WebMapTileServiceImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."
605
+ );
606
+ this._defaultNightAlpha = value;
607
+ },
608
+ },
609
+
610
+ /**
611
+ * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and
612
+ * 1.0 representing fully opaque.
613
+ * @memberof WebMapTileServiceImageryProvider.prototype
614
+ * @type {Number|undefined}
615
+ * @deprecated
616
+ */
617
+ defaultDayAlpha: {
618
+ get: function () {
619
+ deprecationWarning(
620
+ "WebMapTileServiceImageryProvider.defaultDayAlpha",
621
+ "WebMapTileServiceImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."
622
+ );
623
+ return this._defaultDayAlpha;
624
+ },
625
+ set: function (value) {
626
+ deprecationWarning(
627
+ "WebMapTileServiceImageryProvider.defaultDayAlpha",
628
+ "WebMapTileServiceImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."
629
+ );
630
+ this._defaultDayAlpha = value;
631
+ },
632
+ },
633
+
634
+ /**
635
+ * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0
636
+ * makes the imagery darker while greater than 1.0 makes it brighter.
637
+ * @memberof WebMapTileServiceImageryProvider.prototype
638
+ * @type {Number|undefined}
639
+ * @deprecated
640
+ */
641
+ defaultBrightness: {
642
+ get: function () {
643
+ deprecationWarning(
644
+ "WebMapTileServiceImageryProvider.defaultBrightness",
645
+ "WebMapTileServiceImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.brightness instead."
646
+ );
647
+ return this._defaultBrightness;
648
+ },
649
+ set: function (value) {
650
+ deprecationWarning(
651
+ "WebMapTileServiceImageryProvider.defaultBrightness",
652
+ "WebMapTileServiceImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.brightness instead."
653
+ );
654
+ this._defaultBrightness = value;
655
+ },
656
+ },
657
+
658
+ /**
659
+ * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces
660
+ * the contrast while greater than 1.0 increases it.
661
+ * @memberof WebMapTileServiceImageryProvider.prototype
662
+ * @type {Number|undefined}
663
+ * @deprecated
664
+ */
665
+ defaultContrast: {
666
+ get: function () {
667
+ deprecationWarning(
668
+ "WebMapTileServiceImageryProvider.defaultContrast",
669
+ "WebMapTileServiceImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.contrast instead."
670
+ );
671
+ return this._defaultContrast;
672
+ },
673
+ set: function (value) {
674
+ deprecationWarning(
675
+ "WebMapTileServiceImageryProvider.defaultContrast",
676
+ "WebMapTileServiceImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.contrast instead."
677
+ );
678
+ this._defaultContrast = value;
679
+ },
680
+ },
681
+
682
+ /**
683
+ * The default hue of this provider in radians. 0.0 uses the unmodified imagery color.
684
+ * @memberof WebMapTileServiceImageryProvider.prototype
685
+ * @type {Number|undefined}
686
+ * @deprecated
687
+ */
688
+ defaultHue: {
689
+ get: function () {
690
+ deprecationWarning(
691
+ "WebMapTileServiceImageryProvider.defaultHue",
692
+ "WebMapTileServiceImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.hue instead."
693
+ );
694
+ return this._defaultHue;
695
+ },
696
+ set: function (value) {
697
+ deprecationWarning(
698
+ "WebMapTileServiceImageryProvider.defaultHue",
699
+ "WebMapTileServiceImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.hue instead."
700
+ );
701
+ this._defaultHue = value;
702
+ },
703
+ },
704
+
705
+ /**
706
+ * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the
707
+ * saturation while greater than 1.0 increases it.
708
+ * @memberof WebMapTileServiceImageryProvider.prototype
709
+ * @type {Number|undefined}
710
+ * @deprecated
711
+ */
712
+ defaultSaturation: {
713
+ get: function () {
714
+ deprecationWarning(
715
+ "WebMapTileServiceImageryProvider.defaultSaturation",
716
+ "WebMapTileServiceImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.saturation instead."
717
+ );
718
+ return this._defaultSaturation;
719
+ },
720
+ set: function (value) {
721
+ deprecationWarning(
722
+ "WebMapTileServiceImageryProvider.defaultSaturation",
723
+ "WebMapTileServiceImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.saturation instead."
724
+ );
725
+ this._defaultSaturation = value;
726
+ },
727
+ },
728
+
729
+ /**
730
+ * The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color.
731
+ * @memberof WebMapTileServiceImageryProvider.prototype
732
+ * @type {Number|undefined}
733
+ * @deprecated
734
+ */
735
+ defaultGamma: {
736
+ get: function () {
737
+ deprecationWarning(
738
+ "WebMapTileServiceImageryProvider.defaultGamma",
739
+ "WebMapTileServiceImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.gamma instead."
740
+ );
741
+ return this._defaultGamma;
742
+ },
743
+ set: function (value) {
744
+ deprecationWarning(
745
+ "WebMapTileServiceImageryProvider.defaultGamma",
746
+ "WebMapTileServiceImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.gamma instead."
747
+ );
748
+ this._defaultGamma = value;
749
+ },
750
+ },
751
+
752
+ /**
753
+ * The default texture minification filter to apply to this provider.
754
+ * @memberof WebMapTileServiceImageryProvider.prototype
755
+ * @type {TextureMinificationFilter}
756
+ * @deprecated
757
+ */
758
+ defaultMinificationFilter: {
759
+ get: function () {
760
+ deprecationWarning(
761
+ "WebMapTileServiceImageryProvider.defaultMinificationFilter",
762
+ "WebMapTileServiceImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."
763
+ );
764
+ return this._defaultMinificationFilter;
765
+ },
766
+ set: function (value) {
767
+ deprecationWarning(
768
+ "WebMapTileServiceImageryProvider.defaultMinificationFilter",
769
+ "WebMapTileServiceImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."
770
+ );
771
+ this._defaultMinificationFilter = value;
772
+ },
773
+ },
774
+
775
+ /**
776
+ * The default texture magnification filter to apply to this provider.
777
+ * @memberof WebMapTileServiceImageryProvider.prototype
778
+ * @type {TextureMagnificationFilter}
779
+ * @deprecated
780
+ */
781
+ defaultMagnificationFilter: {
782
+ get: function () {
783
+ deprecationWarning(
784
+ "WebMapTileServiceImageryProvider.defaultMagnificationFilter",
785
+ "WebMapTileServiceImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."
786
+ );
787
+ return this._defaultMagnificationFilter;
788
+ },
789
+ set: function (value) {
790
+ deprecationWarning(
791
+ "WebMapTileServiceImageryProvider.defaultMagnificationFilter",
792
+ "WebMapTileServiceImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."
793
+ );
794
+ this._defaultMagnificationFilter = value;
795
+ },
796
+ },
629
797
  });
630
798
 
631
799
  /**
@@ -635,8 +803,6 @@ Object.defineProperties(WebMapTileServiceImageryProvider.prototype, {
635
803
  * @param {number} y The tile Y coordinate.
636
804
  * @param {number} level The tile level;
637
805
  * @returns {Credit[]} The credits to be displayed when the tile is displayed.
638
- *
639
- * @exception {DeveloperError} <code>getTileCredits</code> must not be called before the imagery provider is ready.
640
806
  */
641
807
  WebMapTileServiceImageryProvider.prototype.getTileCredits = function (
642
808
  x,
@@ -647,8 +813,7 @@ WebMapTileServiceImageryProvider.prototype.getTileCredits = function (
647
813
  };
648
814
 
649
815
  /**
650
- * Requests the image for a given tile. This function should
651
- * not be called before {@link WebMapTileServiceImageryProvider#ready} returns true.
816
+ * Requests the image for a given tile.
652
817
  *
653
818
  * @param {number} x The tile X coordinate.
654
819
  * @param {number} y The tile Y coordinate.
@@ -656,8 +821,6 @@ WebMapTileServiceImageryProvider.prototype.getTileCredits = function (
656
821
  * @param {Request} [request] The request object. Intended for internal use only.
657
822
  * @returns {Promise<ImageryTypes>|undefined} A promise for the image that will resolve when the image is available, or
658
823
  * undefined if there are too many active requests to the server, and the request should be retried later.
659
- *
660
- * @exception {DeveloperError} <code>requestImage</code> must not be called before the imagery provider is ready.
661
824
  */
662
825
  WebMapTileServiceImageryProvider.prototype.requestImage = function (
663
826
  x,
@@ -10,11 +10,11 @@ import SceneMode from "./SceneMode.js";
10
10
  * @param {Rectangle} rectangle The rectangle being zoomed to.
11
11
  * @param {Scene} scene The scene being used.
12
12
  *
13
- * @returns {Cartographic} The optimal location to place the camera so that the entire rectangle is in view.
13
+ * @returns {Promise<Cartographic>} The optimal location to place the camera so that the entire rectangle is in view.
14
14
  *
15
15
  * @private
16
16
  */
17
- function computeFlyToLocationForRectangle(rectangle, scene) {
17
+ async function computeFlyToLocationForRectangle(rectangle, scene) {
18
18
  const terrainProvider = scene.terrainProvider;
19
19
  const mapProjection = scene.mapProjection;
20
20
  const ellipsoid = mapProjection.ellipsoid;
@@ -28,49 +28,45 @@ function computeFlyToLocationForRectangle(rectangle, scene) {
28
28
  }
29
29
 
30
30
  if (!defined(terrainProvider)) {
31
- return Promise.resolve(positionWithoutTerrain);
31
+ return positionWithoutTerrain;
32
32
  }
33
33
 
34
- return terrainProvider.readyPromise.then(function () {
35
- const availability = terrainProvider.availability;
34
+ // readyPromise has been deprecated; This is here for backwards compatibility
35
+ await terrainProvider._readyPromise;
36
+ const availability = terrainProvider.availability;
36
37
 
37
- if (!defined(availability) || scene.mode === SceneMode.SCENE2D) {
38
- return positionWithoutTerrain;
39
- }
38
+ if (!defined(availability) || scene.mode === SceneMode.SCENE2D) {
39
+ return positionWithoutTerrain;
40
+ }
40
41
 
41
- const cartographics = [
42
- Rectangle.center(rectangle),
43
- Rectangle.southeast(rectangle),
44
- Rectangle.southwest(rectangle),
45
- Rectangle.northeast(rectangle),
46
- Rectangle.northwest(rectangle),
47
- ];
42
+ const cartographics = [
43
+ Rectangle.center(rectangle),
44
+ Rectangle.southeast(rectangle),
45
+ Rectangle.southwest(rectangle),
46
+ Rectangle.northeast(rectangle),
47
+ Rectangle.northwest(rectangle),
48
+ ];
48
49
 
49
- return computeFlyToLocationForRectangle
50
- ._sampleTerrainMostDetailed(terrainProvider, cartographics)
51
- .then(function (positionsOnTerrain) {
52
- let heightFound = false;
53
- const maxHeight = positionsOnTerrain.reduce(function (
54
- currentMax,
55
- item
56
- ) {
57
- if (!defined(item.height)) {
58
- return currentMax;
59
- }
60
- heightFound = true;
61
- return Math.max(item.height, currentMax);
62
- },
63
- -Number.MAX_VALUE);
50
+ const positionsOnTerrain = await computeFlyToLocationForRectangle._sampleTerrainMostDetailed(
51
+ terrainProvider,
52
+ cartographics
53
+ );
64
54
 
65
- const finalPosition = positionWithoutTerrain;
55
+ let heightFound = false;
56
+ const maxHeight = positionsOnTerrain.reduce(function (currentMax, item) {
57
+ if (!defined(item.height)) {
58
+ return currentMax;
59
+ }
60
+ heightFound = true;
61
+ return Math.max(item.height, currentMax);
62
+ }, -Number.MAX_VALUE);
66
63
 
67
- if (heightFound) {
68
- finalPosition.height += maxHeight;
69
- }
64
+ const finalPosition = positionWithoutTerrain;
65
+ if (heightFound) {
66
+ finalPosition.height += maxHeight;
67
+ }
70
68
 
71
- return finalPosition;
72
- });
73
- });
69
+ return finalPosition;
74
70
  }
75
71
 
76
72
  //Exposed for testing.
@@ -2,6 +2,7 @@ import Color from "../Core/Color.js";
2
2
  import combine from "../Core/combine.js";
3
3
  import defaultValue from "../Core/defaultValue.js";
4
4
  import defined from "../Core/defined.js";
5
+ import deprecationWarning from "../Core/deprecationWarning.js";
5
6
  import IonResource from "../Core/IonResource.js";
6
7
  import Cesium3DTileset from "./Cesium3DTileset.js";
7
8
  import Cesium3DTileStyle from "./Cesium3DTileStyle.js";
@@ -49,6 +50,11 @@ import Cesium3DTileStyle from "./Cesium3DTileStyle.js";
49
50
  * }));
50
51
  */
51
52
  function createOsmBuildings(options) {
53
+ deprecationWarning(
54
+ "createOsmBuildings",
55
+ "createOsmBuildings was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use createOsmBuildingsAsync instead."
56
+ );
57
+
52
58
  options = combine(options, {
53
59
  url: IonResource.fromAssetId(96188),
54
60
  });
@@ -0,0 +1,82 @@
1
+ import Color from "../Core/Color.js";
2
+ import defaultValue from "../Core/defaultValue.js";
3
+ import defined from "../Core/defined.js";
4
+ import Cesium3DTileset from "./Cesium3DTileset.js";
5
+ import Cesium3DTileStyle from "./Cesium3DTileStyle.js";
6
+
7
+ /**
8
+ * Creates a {@link Cesium3DTileset} instance for the
9
+ * {@link https://cesium.com/content/cesium-osm-buildings/|Cesium OSM Buildings}
10
+ * tileset.
11
+ *
12
+ * @function
13
+ *
14
+ * @param {object} [options] Construction options. Any options allowed by the {@link Cesium3DTileset} constructor
15
+ * may be specified here. In addition to those, the following properties are supported:
16
+ * @param {Color} [options.defaultColor=Color.WHITE] The default color to use for buildings
17
+ * that do not have a color. This parameter is ignored if <code>options.style</code> is specified.
18
+ * @param {Cesium3DTileStyle} [options.style] The style to use with the tileset. If not
19
+ * specified, a default style is used which gives each building or building part a
20
+ * color inferred from its OpenStreetMap <code>tags</code>. If no color can be inferred,
21
+ * <code>options.defaultColor</code> is used.
22
+ * @param {boolean} [options.enableShowOutline=true] If true, enable rendering outlines. This can be set to false to avoid the additional processing of geometry at load time.
23
+ * @param {boolean} [options.showOutline=true] Whether to show outlines around buildings. When true,
24
+ * outlines are displayed. When false, outlines are not displayed.
25
+ * @returns {Promise<Cesium3DTileset>}
26
+ *
27
+ * @see Ion
28
+ *
29
+ * @example
30
+ * // Create Cesium OSM Buildings with default styling
31
+ * const viewer = new Cesium.Viewer("cesiumContainer");
32
+ * try {
33
+ * const tileset = await Cesium.createOsmBuildingsAsync();
34
+ * viewer.scene.primitives.add(tileset));
35
+ * } catch (error) {
36
+ * console.log(`Error creating tileset: ${error}`);
37
+ * }
38
+ *
39
+ * @example
40
+ * // Create Cesium OSM Buildings with a custom style highlighting
41
+ * // schools and hospitals.
42
+ * const viewer = new Cesium.Viewer("cesiumContainer");
43
+ * try {
44
+ * const tileset = await Cesium.createOsmBuildingsAsync({
45
+ * style: new Cesium.Cesium3DTileStyle({
46
+ * color: {
47
+ * conditions: [
48
+ * ["${feature['building']} === 'hospital'", "color('#0000FF')"],
49
+ * ["${feature['building']} === 'school'", "color('#00FF00')"],
50
+ * [true, "color('#ffffff')"]
51
+ * ]
52
+ * }
53
+ * })
54
+ * });
55
+ * viewer.scene.primitives.add(tileset));
56
+ * } catch (error) {
57
+ * console.log(`Error creating tileset: ${error}`);
58
+ * }
59
+ */
60
+ async function createOsmBuildingsAsync(options) {
61
+ const tileset = await Cesium3DTileset.fromIonAssetId(96188, options);
62
+
63
+ options = defaultValue(options, defaultValue.EMPTY_OBJECT);
64
+
65
+ let style = options.style;
66
+
67
+ if (!defined(style)) {
68
+ const color = defaultValue(
69
+ options.defaultColor,
70
+ Color.WHITE
71
+ ).toCssColorString();
72
+ style = new Cesium3DTileStyle({
73
+ color: `Boolean(\${feature['cesium#color']}) ? color(\${feature['cesium#color']}) : ${color}`,
74
+ });
75
+ }
76
+
77
+ tileset.style = style;
78
+
79
+ return tileset;
80
+ }
81
+
82
+ export default createOsmBuildingsAsync;