@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
@@ -17,7 +17,7 @@ const creditToId = {};
17
17
  * @exception {DeveloperError} html is required.
18
18
  *
19
19
  * @example
20
- * //Create a credit with a tooltip, image and link
20
+ * // Create a credit with a tooltip, image and link
21
21
  * const credit = new Cesium.Credit('<a href="https://cesium.com/" target="_blank"><img src="/images/cesium_logo.png" title="Cesium"/></a>');
22
22
  */
23
23
  function Credit(html, showOnScreen) {
@@ -2,6 +2,7 @@ import Check from "./Check.js";
2
2
  import Credit from "./Credit.js";
3
3
  import defaultValue from "./defaultValue.js";
4
4
  import defined from "./defined.js";
5
+ import deprecationWarning from "./deprecationWarning.js";
5
6
  import Ellipsoid from "./Ellipsoid.js";
6
7
  import Event from "./Event.js";
7
8
  import GeographicTilingScheme from "./GeographicTilingScheme.js";
@@ -89,6 +90,7 @@ function CustomHeightmapTerrainProvider(options) {
89
90
  }
90
91
  this._credit = credit;
91
92
 
93
+ this._ready = true;
92
94
  this._readyPromise = Promise.resolve(true);
93
95
  }
94
96
 
@@ -137,9 +139,14 @@ Object.defineProperties(CustomHeightmapTerrainProvider.prototype, {
137
139
  * @memberof CustomHeightmapTerrainProvider.prototype
138
140
  * @type {boolean}
139
141
  * @readonly
142
+ * @deprecated
140
143
  */
141
144
  ready: {
142
145
  get: function () {
146
+ deprecationWarning(
147
+ "CustomHeightmapTerrainProvider.ready",
148
+ "CustomHeightmapTerrainProvider.ready was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107."
149
+ );
143
150
  return true;
144
151
  },
145
152
  },
@@ -149,9 +156,14 @@ Object.defineProperties(CustomHeightmapTerrainProvider.prototype, {
149
156
  * @memberof CustomHeightmapTerrainProvider.prototype
150
157
  * @type {Promise<boolean>}
151
158
  * @readonly
159
+ * @deprecated
152
160
  */
153
161
  readyPromise: {
154
162
  get: function () {
163
+ deprecationWarning(
164
+ "CustomHeightmapTerrainProvider.readyPromise",
165
+ "CustomHeightmapTerrainProvider.readyPromise was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107."
166
+ );
155
167
  return this._readyPromise;
156
168
  },
157
169
  },
@@ -1,5 +1,6 @@
1
1
  import defaultValue from "./defaultValue.js";
2
2
  import defined from "./defined.js";
3
+ import deprecationWarning from "./deprecationWarning.js";
3
4
  import Ellipsoid from "./Ellipsoid.js";
4
5
  import Event from "./Event.js";
5
6
  import GeographicTilingScheme from "./GeographicTilingScheme.js";
@@ -42,6 +43,7 @@ function EllipsoidTerrainProvider(options) {
42
43
  );
43
44
 
44
45
  this._errorEvent = new Event();
46
+ this._ready = true;
45
47
  this._readyPromise = Promise.resolve(true);
46
48
  }
47
49
 
@@ -62,7 +64,7 @@ Object.defineProperties(EllipsoidTerrainProvider.prototype, {
62
64
 
63
65
  /**
64
66
  * Gets the credit to display when this terrain provider is active. Typically this is used to credit
65
- * the source of the terrain. This function should not be called before {@link EllipsoidTerrainProvider#ready} returns true.
67
+ * the source of the terrain.
66
68
  * @memberof EllipsoidTerrainProvider.prototype
67
69
  * @type {Credit}
68
70
  * @readonly
@@ -74,8 +76,7 @@ Object.defineProperties(EllipsoidTerrainProvider.prototype, {
74
76
  },
75
77
 
76
78
  /**
77
- * Gets the tiling scheme used by this provider. This function should
78
- * not be called before {@link EllipsoidTerrainProvider#ready} returns true.
79
+ * Gets the tiling scheme used by this provider.
79
80
  * @memberof EllipsoidTerrainProvider.prototype
80
81
  * @type {GeographicTilingScheme}
81
82
  * @readonly
@@ -91,9 +92,14 @@ Object.defineProperties(EllipsoidTerrainProvider.prototype, {
91
92
  * @memberof EllipsoidTerrainProvider.prototype
92
93
  * @type {boolean}
93
94
  * @readonly
95
+ * @deprecated
94
96
  */
95
97
  ready: {
96
98
  get: function () {
99
+ deprecationWarning(
100
+ "EllipsoidTerrainProvider.ready",
101
+ "EllipsoidTerrainProvider.ready was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107."
102
+ );
97
103
  return true;
98
104
  },
99
105
  },
@@ -103,9 +109,14 @@ Object.defineProperties(EllipsoidTerrainProvider.prototype, {
103
109
  * @memberof EllipsoidTerrainProvider.prototype
104
110
  * @type {Promise<boolean>}
105
111
  * @readonly
112
+ * @deprecated
106
113
  */
107
114
  readyPromise: {
108
115
  get: function () {
116
+ deprecationWarning(
117
+ "EllipsoidTerrainProvider.readyPromise",
118
+ "EllipsoidTerrainProvider.readyPromise was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107."
119
+ );
109
120
  return this._readyPromise;
110
121
  },
111
122
  },
@@ -113,8 +124,7 @@ Object.defineProperties(EllipsoidTerrainProvider.prototype, {
113
124
  /**
114
125
  * Gets a value indicating whether or not the provider includes a water mask. The water mask
115
126
  * indicates which areas of the globe are water rather than land, so they can be rendered
116
- * as a reflective surface with animated waves. This function should not be
117
- * called before {@link EllipsoidTerrainProvider#ready} returns true.
127
+ * as a reflective surface with animated waves.
118
128
  * @memberof EllipsoidTerrainProvider.prototype
119
129
  * @type {boolean}
120
130
  * @readonly
@@ -127,7 +137,6 @@ Object.defineProperties(EllipsoidTerrainProvider.prototype, {
127
137
 
128
138
  /**
129
139
  * Gets a value indicating whether or not the requested tiles include vertex normals.
130
- * This function should not be called before {@link EllipsoidTerrainProvider#ready} returns true.
131
140
  * @memberof EllipsoidTerrainProvider.prototype
132
141
  * @type {boolean}
133
142
  * @readonly
@@ -139,8 +148,7 @@ Object.defineProperties(EllipsoidTerrainProvider.prototype, {
139
148
  },
140
149
  /**
141
150
  * Gets an object that can be used to determine availability of terrain from this provider, such as
142
- * at points and in rectangles. This function should not be called before
143
- * {@link TerrainProvider#ready} returns true. This property may be undefined if availability
151
+ * at points and in rectangles. This property may be undefined if availability
144
152
  * information is not available.
145
153
  * @memberof EllipsoidTerrainProvider.prototype
146
154
  * @type {TileAvailability}
@@ -154,8 +162,7 @@ Object.defineProperties(EllipsoidTerrainProvider.prototype, {
154
162
  });
155
163
 
156
164
  /**
157
- * Requests the geometry for a given tile. This function should not be called before
158
- * {@link TerrainProvider#ready} returns true. The result includes terrain
165
+ * Requests the geometry for a given tile. The result includes terrain
159
166
  * data and indicates that all child tiles are available.
160
167
  *
161
168
  * @param {number} x The X coordinate of the tile for which to request geometry.
@@ -295,8 +295,8 @@ FrustumGeometry._computeNearFarPlanes = function (
295
295
 
296
296
  let inverseView;
297
297
  let inverseViewProjection;
298
+ const projection = frustum.projectionMatrix;
298
299
  if (frustumType === PERSPECTIVE) {
299
- const projection = frustum.projectionMatrix;
300
300
  const viewProjection = Matrix4.multiply(
301
301
  projection,
302
302
  view,
@@ -327,8 +327,9 @@ FrustumGeometry._computeNearFarPlanes = function (
327
327
  );
328
328
 
329
329
  if (!defined(inverseViewProjection)) {
330
- if (defined(frustum._offCenterFrustum)) {
331
- frustum = frustum._offCenterFrustum;
330
+ const offCenterFrustum = frustum.offCenterFrustum;
331
+ if (defined(offCenterFrustum)) {
332
+ frustum = offCenterFrustum;
332
333
  }
333
334
 
334
335
  const near = frustumSplits[i];
@@ -1,9 +1,12 @@
1
+ import Credit from "./Credit.js";
2
+ import defined from "./defined.js";
1
3
  import DeveloperError from "./DeveloperError.js";
2
4
 
3
5
  /**
4
6
  * @typedef {object} GeocoderService.Result
5
7
  * @property {string} displayName The display name for a location
6
8
  * @property {Rectangle|Cartesian3} destination The bounding box for a location
9
+ * @property {object[]} [attributions]
7
10
  */
8
11
 
9
12
  /**
@@ -16,7 +19,35 @@ import DeveloperError from "./DeveloperError.js";
16
19
  * @see PeliasGeocoderService
17
20
  * @see OpenCageGeocoderService
18
21
  */
19
- function GeocoderService() {}
22
+ function GeocoderService() {
23
+ DeveloperError.throwInstantiationError();
24
+ }
25
+
26
+ Object.defineProperties(GeocoderService.prototype, {
27
+ /**
28
+ * Gets the credit to display after a geocode is performed. Typically this is used to credit
29
+ * the geocoder service.
30
+ * @memberof GeocoderService.prototype
31
+ * @type {Credit|undefined}
32
+ * @readonly
33
+ */
34
+ credit: {
35
+ get: DeveloperError.throwInstantiationError,
36
+ },
37
+ });
38
+
39
+ /**
40
+ * Parses credits from the geocoder result attributions, if present.
41
+ * @param {GeocoderService.Result} geocoderResult The geocoder result
42
+ * @returns {Credit[]|undefined} A list of credits if present in the result, otherwise undefined
43
+ */
44
+ GeocoderService.getCreditsFromResult = function (geocoderResult) {
45
+ if (defined(geocoderResult.attributions)) {
46
+ return geocoderResult.attributions.map(Credit.getIonCredit);
47
+ }
48
+
49
+ return undefined;
50
+ };
20
51
 
21
52
  /**
22
53
  * @function
@@ -4,6 +4,7 @@ import Check from "./Check.js";
4
4
  import Credit from "./Credit.js";
5
5
  import defaultValue from "./defaultValue.js";
6
6
  import defined from "./defined.js";
7
+ import deprecationWarning from "./deprecationWarning.js";
7
8
  import GoogleEarthEnterpriseTileInformation from "./GoogleEarthEnterpriseTileInformation.js";
8
9
  import isBitSet from "./isBitSet.js";
9
10
  import loadAndExecuteScript from "./loadAndExecuteScript.js";
@@ -30,37 +31,23 @@ const defaultKey = stringToBuffer(
30
31
  );
31
32
 
32
33
  /**
34
+ * <div class="notice">
35
+ * To construct GoogleEarthEnterpriseMetadata, call {@link GoogleEarthEnterpriseMetadata.fromUrl}. Do not call the constructor directly.
36
+ * </div>
37
+ *
33
38
  * Provides metadata using the Google Earth Enterprise REST API. This is used by the GoogleEarthEnterpriseImageryProvider
34
39
  * and GoogleEarthEnterpriseTerrainProvider to share metadata requests.
35
40
  *
36
41
  * @alias GoogleEarthEnterpriseMetadata
37
42
  * @constructor
38
43
  *
39
- * @param {Resource|string} resourceOrUrl The url of the Google Earth Enterprise server hosting the imagery
44
+ * @param {Resource|string} [resourceOrUrl] The url of the Google Earth Enterprise server hosting the imagery. Deprecated.
40
45
  *
41
46
  * @see GoogleEarthEnterpriseImageryProvider
42
47
  * @see GoogleEarthEnterpriseTerrainProvider
43
48
  *
44
49
  */
45
50
  function GoogleEarthEnterpriseMetadata(resourceOrUrl) {
46
- //>>includeStart('debug', pragmas.debug);
47
- Check.defined("resourceOrUrl", resourceOrUrl);
48
- //>>includeEnd('debug');
49
-
50
- let url = resourceOrUrl;
51
-
52
- if (typeof url !== "string" && !(url instanceof Resource)) {
53
- //>>includeStart('debug', pragmas.debug);
54
- Check.typeOf.string("resourceOrUrl.url", resourceOrUrl.url);
55
- //>>includeEnd('debug');
56
-
57
- url = resourceOrUrl.url;
58
- }
59
-
60
- const resource = Resource.createIfNeeded(url);
61
- resource.appendForwardSlash();
62
- this._resource = resource;
63
-
64
51
  /**
65
52
  * True if imagery is available.
66
53
  * @type {boolean}
@@ -109,25 +96,43 @@ function GoogleEarthEnterpriseMetadata(resourceOrUrl) {
109
96
  */
110
97
  this.key = undefined;
111
98
 
99
+ this._resource = undefined;
112
100
  this._quadPacketVersion = 1;
113
-
114
101
  this._tileInfo = {};
115
102
  this._subtreePromises = {};
116
103
 
117
- const that = this;
118
- this._readyPromise = requestDbRoot(this)
119
- .then(function () {
120
- return that.getQuadTreePacket("", that._quadPacketVersion);
121
- })
122
- .then(function () {
123
- return true;
124
- })
125
- .catch(function (e) {
126
- const message = `An error occurred while accessing ${
127
- getMetadataResource(that, "", 1).url
128
- }.`;
129
- return Promise.reject(new RuntimeError(message));
130
- });
104
+ this._readyPromise = Promise.resolve(true);
105
+ if (defined(resourceOrUrl)) {
106
+ deprecationWarning(
107
+ "GoogleEarthEnterpriseMetadata options.url",
108
+ "GoogleEarthEnterpriseMetadata constructor parmeter resourceOrUrl was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use GoogleEarthEnterpriseMetadata.fromUrl instead."
109
+ );
110
+
111
+ let url = resourceOrUrl;
112
+
113
+ if (typeof url !== "string" && !(url instanceof Resource)) {
114
+ url = resourceOrUrl.url;
115
+ }
116
+
117
+ const resource = Resource.createIfNeeded(url);
118
+ resource.appendForwardSlash();
119
+ this._resource = resource;
120
+
121
+ const that = this;
122
+ this._readyPromise = requestDbRoot(this)
123
+ .then(function () {
124
+ return that.getQuadTreePacket("", that._quadPacketVersion);
125
+ })
126
+ .then(function () {
127
+ return true;
128
+ })
129
+ .catch(function (e) {
130
+ const message = `An error occurred while accessing ${
131
+ getMetadataResource(that, "", 1).url
132
+ }.`;
133
+ return Promise.reject(new RuntimeError(message));
134
+ });
135
+ }
131
136
  }
132
137
 
133
138
  Object.defineProperties(GoogleEarthEnterpriseMetadata.prototype, {
@@ -172,14 +177,61 @@ Object.defineProperties(GoogleEarthEnterpriseMetadata.prototype, {
172
177
  * @memberof GoogleEarthEnterpriseMetadata.prototype
173
178
  * @type {Promise<boolean>}
174
179
  * @readonly
180
+ * @deprecated
175
181
  */
176
182
  readyPromise: {
177
183
  get: function () {
184
+ deprecationWarning(
185
+ "GoogleEarthEnterpriseMetadata.readyPromise",
186
+ "GoogleEarthEnterpriseMetadata.readyPromise was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use GoogleEarthEnterpriseMetadata.fromUrl instead."
187
+ );
178
188
  return this._readyPromise;
179
189
  },
180
190
  },
181
191
  });
182
192
 
193
+ /**
194
+ * Creates a metadata object using the Google Earth Enterprise REST API. This is used by the GoogleEarthEnterpriseImageryProvider
195
+ * and GoogleEarthEnterpriseTerrainProvider to share metadata requests.
196
+ *
197
+ * @param {Resource|String} resourceOrUrl The url of the Google Earth Enterprise server hosting the imagery.
198
+ *
199
+ * @returns {Promise<GoogleEarthEnterpriseMetadata>} A promise which resolves to the created GoogleEarthEnterpriseMetadata instance/
200
+ */
201
+ GoogleEarthEnterpriseMetadata.fromUrl = async function (resourceOrUrl) {
202
+ //>>includeStart('debug', pragmas.debug);
203
+ Check.defined("resourceOrUrl", resourceOrUrl);
204
+ //>>includeEnd('debug');
205
+ let url = resourceOrUrl;
206
+
207
+ if (typeof url !== "string" && !(url instanceof Resource)) {
208
+ //>>includeStart('debug', pragmas.debug);
209
+ Check.typeOf.string("resourceOrUrl.url", resourceOrUrl.url);
210
+ //>>includeEnd('debug');
211
+
212
+ url = resourceOrUrl.url;
213
+ }
214
+
215
+ const resource = Resource.createIfNeeded(url);
216
+ resource.appendForwardSlash();
217
+
218
+ const metadata = new GoogleEarthEnterpriseMetadata();
219
+ metadata._resource = resource;
220
+
221
+ try {
222
+ await requestDbRoot(metadata);
223
+ await metadata.getQuadTreePacket("", metadata._quadPacketVersion);
224
+ } catch (error) {
225
+ const message = `An error occurred while accessing ${
226
+ getMetadataResource(metadata, "", 1).url
227
+ }: ${error}`;
228
+
229
+ throw new RuntimeError(message);
230
+ }
231
+
232
+ return metadata;
233
+ };
234
+
183
235
  /**
184
236
  * Converts a tiles (x, y, level) position into a quadkey used to request an image
185
237
  * from a Google Earth Enterprise server.