@cesium/engine 2.0.0 → 2.2.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 (828) hide show
  1. package/Build/Workers/{ArcType-ce2e50ab.js → ArcType-2d9abbbc.js} +4 -4
  2. package/Build/Workers/{AttributeCompression-b646d393.js → AttributeCompression-8a5a065e.js} +24 -24
  3. package/Build/Workers/{AxisAlignedBoundingBox-47525601.js → AxisAlignedBoundingBox-379015ef.js} +3 -3
  4. package/Build/Workers/{BoundingRectangle-93b263ac.js → BoundingRectangle-57f2b24f.js} +18 -18
  5. package/Build/Workers/{BoxGeometry-8c4b4125.js → BoxGeometry-ecabfc78.js} +9 -9
  6. package/Build/Workers/{Check-666ab1a0.js → Check-6ede7e26.js} +22 -22
  7. package/Build/Workers/{Color-52c60ed7.js → Color-14d1a36d.js} +59 -59
  8. package/Build/Workers/{ComponentDatatype-f7b11d02.js → ComponentDatatype-cf1fa08e.js} +16 -16
  9. package/Build/Workers/{CoplanarPolygonGeometryLibrary-33c4c1f8.js → CoplanarPolygonGeometryLibrary-048c3c14.js} +1 -1
  10. package/Build/Workers/{CorridorGeometryLibrary-5039cd8e.js → CorridorGeometryLibrary-520c8619.js} +1 -1
  11. package/Build/Workers/{CylinderGeometry-3ac44974.js → CylinderGeometry-119068b8.js} +12 -12
  12. package/Build/Workers/{CylinderGeometryLibrary-372c07d8.js → CylinderGeometryLibrary-135b0858.js} +1 -1
  13. package/Build/Workers/{EllipseGeometry-a9c9b3be.js → EllipseGeometry-2dfc3523.js} +20 -20
  14. package/Build/Workers/{EllipseGeometryLibrary-855d4681.js → EllipseGeometryLibrary-0a1e0170.js} +1 -1
  15. package/Build/Workers/{EllipseOutlineGeometry-017a5929.js → EllipseOutlineGeometry-c5251669.js} +15 -15
  16. package/Build/Workers/{EllipsoidGeodesic-98c62a56.js → EllipsoidGeodesic-dcff5cbd.js} +6 -6
  17. package/Build/Workers/{EllipsoidGeometry-826e7bce.js → EllipsoidGeometry-d10a5221.js} +14 -14
  18. package/Build/Workers/{EllipsoidOutlineGeometry-784dcdb5.js → EllipsoidOutlineGeometry-7039a0ae.js} +15 -15
  19. package/Build/Workers/{EllipsoidRhumbLine-19756602.js → EllipsoidRhumbLine-b672d507.js} +9 -9
  20. package/Build/Workers/{EllipsoidTangentPlane-ed9443a1.js → EllipsoidTangentPlane-857186be.js} +1 -1
  21. package/Build/Workers/{EncodedCartesian3-81f70735.js → EncodedCartesian3-e8bbca36.js} +6 -6
  22. package/Build/Workers/{FrustumGeometry-9f1ee4d8.js → FrustumGeometry-400fa1b7.js} +109 -109
  23. package/Build/Workers/{GeometryAttribute-334718f8.js → GeometryAttribute-7a2de5c6.js} +20 -20
  24. package/Build/Workers/{GeometryAttributes-f06a2792.js → GeometryAttributes-ad136444.js} +1 -1
  25. package/Build/Workers/{GeometryInstance-451dc1cd.js → GeometryInstance-3fb607b7.js} +6 -6
  26. package/Build/Workers/{GeometryPipeline-8fb0db69.js → GeometryPipeline-916636fa.js} +22 -22
  27. package/Build/Workers/{IndexDatatype-a55ceaa1.js → IndexDatatype-b8f3e09d.js} +13 -13
  28. package/Build/Workers/{IntersectionTests-27d49265.js → IntersectionTests-b4d02d4d.js} +37 -37
  29. package/Build/Workers/{Math-2dbd6b93.js → Math-dad82b4d.js} +137 -137
  30. package/Build/Workers/{Matrix2-13178034.js → Matrix2-1e403d0e.js} +256 -256
  31. package/Build/Workers/{Matrix3-315394f6.js → Matrix3-fa806b97.js} +150 -150
  32. package/Build/Workers/{OrientedBoundingBox-79ee7cbb.js → OrientedBoundingBox-96fe1752.js} +19 -17
  33. package/Build/Workers/{Plane-900aa728.js → Plane-c27e1ac6.js} +5 -5
  34. package/Build/Workers/{PolygonGeometryLibrary-6b5a29e9.js → PolygonGeometryLibrary-931f1ec6.js} +6 -6
  35. package/Build/Workers/{PolygonPipeline-21668b3f.js → PolygonPipeline-32fc92cc.js} +14 -14
  36. package/Build/Workers/{PolylinePipeline-5e2e1b21.js → PolylinePipeline-6d5c63e5.js} +16 -16
  37. package/Build/Workers/{PolylineVolumeGeometryLibrary-97f0b94e.js → PolylineVolumeGeometryLibrary-f068c1fb.js} +7 -7
  38. package/Build/Workers/{PrimitivePipeline-5640850a.js → PrimitivePipeline-879f996a.js} +6 -6
  39. package/Build/Workers/{RectangleGeometryLibrary-d5457f7b.js → RectangleGeometryLibrary-2d6f36f3.js} +1 -1
  40. package/Build/Workers/{RuntimeError-06c93819.js → RuntimeError-ef395448.js} +5 -5
  41. package/Build/Workers/{TerrainEncoding-bfdf2021.js → TerrainEncoding-82882059.js} +30 -30
  42. package/Build/Workers/{Transforms-a05e5e6e.js → Transforms-9052372a.js} +531 -530
  43. package/Build/Workers/{VertexFormat-6b480673.js → VertexFormat-030f11ff.js} +14 -14
  44. package/Build/Workers/{WallGeometryLibrary-6db0ebb6.js → WallGeometryLibrary-db7a64fb.js} +1 -1
  45. package/Build/Workers/{WebGLConstants-a8cc3e8c.js → WebGLConstants-0b1ce7ba.js} +1 -1
  46. package/Build/Workers/{WebMercatorProjection-13a90d41.js → WebMercatorProjection-76a3fcc0.js} +6 -6
  47. package/Build/Workers/{arrayRemoveDuplicates-c2038105.js → arrayRemoveDuplicates-fac118a8.js} +5 -5
  48. package/Build/Workers/cesiumWorkerBootstrapper.js +5 -5
  49. package/Build/Workers/{combine-ca22a614.js → combine-d9581036.js} +5 -5
  50. package/Build/Workers/combineGeometry.js +1 -1
  51. package/Build/Workers/createBoxGeometry.js +1 -1
  52. package/Build/Workers/createBoxOutlineGeometry.js +9 -9
  53. package/Build/Workers/createCircleGeometry.js +13 -13
  54. package/Build/Workers/createCircleOutlineGeometry.js +13 -13
  55. package/Build/Workers/createCoplanarPolygonGeometry.js +11 -11
  56. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +9 -9
  57. package/Build/Workers/createCorridorGeometry.js +14 -14
  58. package/Build/Workers/createCorridorOutlineGeometry.js +12 -12
  59. package/Build/Workers/createCylinderGeometry.js +1 -1
  60. package/Build/Workers/createCylinderOutlineGeometry.js +13 -13
  61. package/Build/Workers/createEllipseGeometry.js +1 -1
  62. package/Build/Workers/createEllipseOutlineGeometry.js +1 -1
  63. package/Build/Workers/createEllipsoidGeometry.js +1 -1
  64. package/Build/Workers/createEllipsoidOutlineGeometry.js +1 -1
  65. package/Build/Workers/createFrustumGeometry.js +1 -1
  66. package/Build/Workers/createFrustumOutlineGeometry.js +8 -8
  67. package/Build/Workers/createGeometry.js +1 -1
  68. package/Build/Workers/createGroundPolylineGeometry.js +33 -33
  69. package/Build/Workers/createPlaneGeometry.js +8 -8
  70. package/Build/Workers/createPlaneOutlineGeometry.js +6 -6
  71. package/Build/Workers/createPolygonGeometry.js +25 -25
  72. package/Build/Workers/createPolygonOutlineGeometry.js +17 -17
  73. package/Build/Workers/createPolylineGeometry.js +11 -11
  74. package/Build/Workers/createPolylineVolumeGeometry.js +9 -9
  75. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +9 -9
  76. package/Build/Workers/createRectangleGeometry.js +16 -16
  77. package/Build/Workers/createRectangleOutlineGeometry.js +12 -12
  78. package/Build/Workers/createSimplePolylineGeometry.js +10 -10
  79. package/Build/Workers/createSphereGeometry.js +11 -11
  80. package/Build/Workers/createSphereOutlineGeometry.js +12 -12
  81. package/Build/Workers/createTaskProcessorWorker.js +2 -2
  82. package/Build/Workers/createVectorTileClampedPolylines.js +1 -1
  83. package/Build/Workers/createVectorTileGeometries.js +8 -8
  84. package/Build/Workers/createVectorTilePoints.js +1 -1
  85. package/Build/Workers/createVectorTilePolygons.js +1 -1
  86. package/Build/Workers/createVectorTilePolylines.js +1 -1
  87. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
  88. package/Build/Workers/createVerticesFromHeightmap.js +23 -21
  89. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +33 -38
  90. package/Build/Workers/createWallGeometry.js +14 -14
  91. package/Build/Workers/createWallOutlineGeometry.js +14 -14
  92. package/Build/Workers/decodeDraco.js +1 -1
  93. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +15 -15
  94. package/Build/Workers/decodeI3S.js +1 -1
  95. package/Build/Workers/{defaultValue-0a909f67.js → defaultValue-fe22d8c0.js} +2 -2
  96. package/Build/Workers/package.js +1 -1
  97. package/Build/Workers/transcodeKTX2.js +26 -26
  98. package/Build/Workers/transferTypedArrayTest.js +1 -1
  99. package/Build/Workers/upsampleQuantizedTerrainMesh.js +24 -24
  100. package/Source/Core/ApproximateTerrainHeights.js +3 -3
  101. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +308 -208
  102. package/Source/Core/ArcType.js +4 -4
  103. package/Source/Core/ArticulationStageType.js +1 -1
  104. package/Source/Core/AssociativeArray.js +7 -7
  105. package/Source/Core/AttributeCompression.js +12 -12
  106. package/Source/Core/AxisAlignedBoundingBox.js +2 -2
  107. package/Source/Core/BingMapsGeocoderService.js +6 -6
  108. package/Source/Core/BoundingRectangle.js +17 -17
  109. package/Source/Core/BoundingSphere.js +25 -25
  110. package/Source/Core/BoxGeometry.js +8 -8
  111. package/Source/Core/BoxOutlineGeometry.js +8 -8
  112. package/Source/Core/Cartesian2.js +38 -38
  113. package/Source/Core/Cartesian3.js +50 -50
  114. package/Source/Core/Cartesian4.js +44 -44
  115. package/Source/Core/Cartographic.js +19 -19
  116. package/Source/Core/CartographicGeocoderService.js +1 -1
  117. package/Source/Core/CatmullRomSpline.js +10 -10
  118. package/Source/Core/CesiumTerrainProvider.js +598 -461
  119. package/Source/Core/Check.js +17 -17
  120. package/Source/Core/CircleGeometry.js +12 -12
  121. package/Source/Core/CircleOutlineGeometry.js +12 -12
  122. package/Source/Core/Clock.js +7 -7
  123. package/Source/Core/ClockRange.js +4 -4
  124. package/Source/Core/ClockStep.js +4 -4
  125. package/Source/Core/Color.js +58 -58
  126. package/Source/Core/ColorGeometryInstanceAttribute.js +7 -7
  127. package/Source/Core/ComponentDatatype.js +15 -15
  128. package/Source/Core/CompressedTextureBuffer.js +7 -7
  129. package/Source/Core/ConstantSpline.js +9 -9
  130. package/Source/Core/CoplanarPolygonGeometry.js +10 -10
  131. package/Source/Core/CoplanarPolygonOutlineGeometry.js +8 -8
  132. package/Source/Core/CornerType.js +4 -4
  133. package/Source/Core/CorridorGeometry.js +13 -13
  134. package/Source/Core/CorridorOutlineGeometry.js +11 -11
  135. package/Source/Core/Credit.js +7 -7
  136. package/Source/Core/CubicRealPolynomial.js +10 -10
  137. package/Source/Core/CullingVolume.js +7 -7
  138. package/Source/Core/CustomHeightmapTerrainProvider.js +40 -28
  139. package/Source/Core/CylinderGeometry.js +11 -11
  140. package/Source/Core/CylinderOutlineGeometry.js +12 -12
  141. package/Source/Core/DefaultProxy.js +3 -3
  142. package/Source/Core/DeveloperError.js +4 -4
  143. package/Source/Core/DistanceDisplayCondition.js +12 -12
  144. package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +5 -5
  145. package/Source/Core/DoubleEndedPriorityQueue.js +5 -5
  146. package/Source/Core/EarthOrientationParameters.js +6 -6
  147. package/Source/Core/EarthOrientationParametersSample.js +10 -10
  148. package/Source/Core/EasingFunction.js +2 -2
  149. package/Source/Core/EllipseGeometry.js +19 -19
  150. package/Source/Core/EllipseOutlineGeometry.js +14 -14
  151. package/Source/Core/Ellipsoid.js +20 -20
  152. package/Source/Core/EllipsoidGeodesic.js +5 -5
  153. package/Source/Core/EllipsoidGeometry.js +13 -13
  154. package/Source/Core/EllipsoidOutlineGeometry.js +14 -14
  155. package/Source/Core/EllipsoidRhumbLine.js +8 -8
  156. package/Source/Core/EllipsoidTerrainProvider.js +35 -28
  157. package/Source/Core/EllipsoidalOccluder.js +9 -9
  158. package/Source/Core/EncodedCartesian3.js +5 -5
  159. package/Source/Core/Event.js +4 -4
  160. package/Source/Core/EventHelper.js +1 -1
  161. package/Source/Core/ExtrapolationType.js +4 -4
  162. package/Source/Core/FeatureDetection.js +9 -9
  163. package/Source/Core/FrustumGeometry.js +8 -8
  164. package/Source/Core/FrustumOutlineGeometry.js +7 -7
  165. package/Source/Core/Fullscreen.js +8 -8
  166. package/Source/Core/GeocodeType.js +3 -3
  167. package/Source/Core/GeocoderService.js +3 -3
  168. package/Source/Core/GeographicTilingScheme.js +16 -16
  169. package/Source/Core/Geometry.js +5 -5
  170. package/Source/Core/GeometryAttribute.js +6 -6
  171. package/Source/Core/GeometryInstance.js +5 -5
  172. package/Source/Core/GeometryInstanceAttribute.js +7 -7
  173. package/Source/Core/GeometryPipeline.js +11 -11
  174. package/Source/Core/GoogleEarthEnterpriseMetadata.js +107 -55
  175. package/Source/Core/GoogleEarthEnterpriseTerrainData.js +29 -29
  176. package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +137 -100
  177. package/Source/Core/GoogleEarthEnterpriseTileInformation.js +14 -14
  178. package/Source/Core/GregorianDate.js +16 -16
  179. package/Source/Core/GroundPolylineGeometry.js +13 -13
  180. package/Source/Core/HeadingPitchRange.js +6 -6
  181. package/Source/Core/HeadingPitchRoll.js +18 -18
  182. package/Source/Core/Heap.js +7 -7
  183. package/Source/Core/HeightmapEncoding.js +3 -3
  184. package/Source/Core/HeightmapTerrainData.js +44 -44
  185. package/Source/Core/HeightmapTessellator.js +16 -16
  186. package/Source/Core/HermitePolynomialApproximation.js +17 -17
  187. package/Source/Core/HermiteSpline.js +17 -17
  188. package/Source/Core/HilbertOrder.js +7 -7
  189. package/Source/Core/Iau2006XysData.js +13 -13
  190. package/Source/Core/Iau2006XysSample.js +6 -6
  191. package/Source/Core/IauOrientationParameters.js +4 -4
  192. package/Source/Core/IndexDatatype.js +12 -12
  193. package/Source/Core/InterpolationAlgorithm.js +17 -17
  194. package/Source/Core/InterpolationType.js +1 -1
  195. package/Source/Core/Intersect.js +4 -4
  196. package/Source/Core/IntersectionTests.js +5 -5
  197. package/Source/Core/Intersections2D.js +23 -23
  198. package/Source/Core/Interval.js +4 -4
  199. package/Source/Core/Ion.js +3 -3
  200. package/Source/Core/IonGeocoderService.js +4 -4
  201. package/Source/Core/IonResource.js +20 -9
  202. package/Source/Core/JulianDate.js +27 -27
  203. package/Source/Core/KeyboardEventModifier.js +4 -4
  204. package/Source/Core/LagrangePolynomialApproximation.js +8 -8
  205. package/Source/Core/LeapSecond.js +2 -2
  206. package/Source/Core/LinearApproximation.js +8 -8
  207. package/Source/Core/LinearSpline.js +13 -13
  208. package/Source/Core/ManagedArray.js +8 -8
  209. package/Source/Core/Math.js +136 -136
  210. package/Source/Core/Matrix2.js +44 -44
  211. package/Source/Core/Matrix3.js +59 -59
  212. package/Source/Core/Matrix4.js +91 -91
  213. package/Source/Core/MorphWeightSpline.js +14 -14
  214. package/Source/Core/MortonOrder.js +21 -21
  215. package/Source/Core/NearFarScalar.js +16 -16
  216. package/Source/Core/Occluder.js +5 -5
  217. package/Source/Core/OffsetGeometryInstanceAttribute.js +5 -5
  218. package/Source/Core/OpenCageGeocoderService.js +18 -18
  219. package/Source/Core/OrientedBoundingBox.js +18 -16
  220. package/Source/Core/OrthographicFrustum.js +23 -23
  221. package/Source/Core/OrthographicOffCenterFrustum.js +21 -21
  222. package/Source/Core/Packable.js +7 -7
  223. package/Source/Core/PackableForInterpolation.js +11 -11
  224. package/Source/Core/PeliasGeocoderService.js +2 -2
  225. package/Source/Core/PerspectiveFrustum.js +28 -28
  226. package/Source/Core/PerspectiveOffCenterFrustum.js +21 -21
  227. package/Source/Core/PinBuilder.js +9 -9
  228. package/Source/Core/PixelFormat.js +23 -23
  229. package/Source/Core/Plane.js +4 -4
  230. package/Source/Core/PlaneGeometry.js +7 -7
  231. package/Source/Core/PlaneOutlineGeometry.js +5 -5
  232. package/Source/Core/PolygonGeometry.js +24 -24
  233. package/Source/Core/PolygonGeometryLibrary.js +4 -4
  234. package/Source/Core/PolygonOutlineGeometry.js +16 -16
  235. package/Source/Core/PolygonPipeline.js +10 -10
  236. package/Source/Core/PolylineGeometry.js +10 -10
  237. package/Source/Core/PolylinePipeline.js +15 -15
  238. package/Source/Core/PolylineVolumeGeometry.js +8 -8
  239. package/Source/Core/PolylineVolumeOutlineGeometry.js +8 -8
  240. package/Source/Core/PrimitiveType.js +8 -8
  241. package/Source/Core/Proxy.js +2 -2
  242. package/Source/Core/QuadraticRealPolynomial.js +8 -8
  243. package/Source/Core/QuantizedMeshTerrainData.js +37 -37
  244. package/Source/Core/QuarticRealPolynomial.js +12 -12
  245. package/Source/Core/Quaternion.js +42 -42
  246. package/Source/Core/QuaternionSpline.js +10 -10
  247. package/Source/Core/Queue.js +2 -2
  248. package/Source/Core/Ray.js +1 -1
  249. package/Source/Core/Rectangle.js +38 -38
  250. package/Source/Core/RectangleCollisionChecker.js +3 -3
  251. package/Source/Core/RectangleGeometry.js +15 -15
  252. package/Source/Core/RectangleOutlineGeometry.js +11 -11
  253. package/Source/Core/ReferenceFrame.js +3 -3
  254. package/Source/Core/Request.js +13 -13
  255. package/Source/Core/RequestErrorEvent.js +7 -7
  256. package/Source/Core/RequestScheduler.js +15 -15
  257. package/Source/Core/RequestState.js +7 -7
  258. package/Source/Core/RequestType.js +5 -5
  259. package/Source/Core/Resource.js +225 -225
  260. package/Source/Core/RuntimeError.js +4 -4
  261. package/Source/Core/S2Cell.js +15 -15
  262. package/Source/Core/ScreenSpaceEventHandler.js +7 -7
  263. package/Source/Core/ScreenSpaceEventType.js +16 -16
  264. package/Source/Core/ShowGeometryInstanceAttribute.js +4 -4
  265. package/Source/Core/SimplePolylineGeometry.js +9 -9
  266. package/Source/Core/SphereGeometry.js +10 -10
  267. package/Source/Core/SphereOutlineGeometry.js +11 -11
  268. package/Source/Core/Spherical.js +13 -13
  269. package/Source/Core/Spline.js +14 -14
  270. package/Source/Core/SteppedSpline.js +14 -14
  271. package/Source/Core/TaskProcessor.js +10 -10
  272. package/Source/Core/TerrainData.js +25 -25
  273. package/Source/Core/TerrainEncoding.js +14 -14
  274. package/Source/Core/TerrainExaggeration.js +3 -3
  275. package/Source/Core/TerrainMesh.js +18 -18
  276. package/Source/Core/TerrainProvider.js +32 -37
  277. package/Source/Core/TerrainQuantization.js +3 -3
  278. package/Source/Core/TileAvailability.js +16 -16
  279. package/Source/Core/TileProviderError.js +19 -19
  280. package/Source/Core/TilingScheme.js +13 -13
  281. package/Source/Core/TimeConstants.js +10 -10
  282. package/Source/Core/TimeInterval.js +23 -23
  283. package/Source/Core/TimeIntervalCollection.js +39 -39
  284. package/Source/Core/TimeStandard.js +3 -3
  285. package/Source/Core/Tipsify.js +10 -10
  286. package/Source/Core/Transforms.js +2 -2
  287. package/Source/Core/TranslationRotationScale.js +1 -1
  288. package/Source/Core/TridiagonalSystemSolver.js +3 -3
  289. package/Source/Core/TrustedServers.js +5 -5
  290. package/Source/Core/VRTheWorldTerrainProvider.js +210 -141
  291. package/Source/Core/VertexFormat.js +13 -13
  292. package/Source/Core/VideoSynchronizer.js +4 -4
  293. package/Source/Core/Visibility.js +4 -4
  294. package/Source/Core/VulkanConstants.js +1 -1
  295. package/Source/Core/WallGeometry.js +13 -13
  296. package/Source/Core/WallOutlineGeometry.js +13 -13
  297. package/Source/Core/WebGLConstants.js +1 -1
  298. package/Source/Core/WebMercatorProjection.js +5 -5
  299. package/Source/Core/WebMercatorTilingScheme.js +16 -16
  300. package/Source/Core/WindingOrder.js +3 -3
  301. package/Source/Core/WireframeIndexGenerator.js +3 -3
  302. package/Source/Core/arrayRemoveDuplicates.js +4 -4
  303. package/Source/Core/binarySearch.js +2 -2
  304. package/Source/Core/buildModuleUrl.js +8 -7
  305. package/Source/Core/clone.js +3 -3
  306. package/Source/Core/combine.js +4 -4
  307. package/Source/Core/createGuid.js +1 -1
  308. package/Source/Core/createWorldTerrain.js +23 -5
  309. package/Source/Core/createWorldTerrainAsync.js +48 -0
  310. package/Source/Core/defaultValue.js +1 -1
  311. package/Source/Core/defer.js +1 -1
  312. package/Source/Core/defined.js +1 -1
  313. package/Source/Core/deprecationWarning.js +2 -2
  314. package/Source/Core/destroyObject.js +2 -2
  315. package/Source/Core/formatError.js +1 -1
  316. package/Source/Core/getAbsoluteUri.js +3 -3
  317. package/Source/Core/getBaseUri.js +3 -3
  318. package/Source/Core/getExtensionFromUri.js +2 -2
  319. package/Source/Core/getFilenameFromUri.js +2 -2
  320. package/Source/Core/getImageFromTypedArray.js +2 -2
  321. package/Source/Core/getImagePixels.js +4 -3
  322. package/Source/Core/getJsonFromTypedArray.js +3 -3
  323. package/Source/Core/getStringFromTypedArray.js +3 -3
  324. package/Source/Core/getTimestamp.js +1 -1
  325. package/Source/Core/isBlobUri.js +2 -2
  326. package/Source/Core/isDataUri.js +2 -2
  327. package/Source/Core/isLeapYear.js +2 -2
  328. package/Source/Core/loadKTX2.js +8 -8
  329. package/Source/Core/mergeSort.js +1 -1
  330. package/Source/Core/objectToQuery.js +2 -2
  331. package/Source/Core/oneTimeWarning.js +2 -2
  332. package/Source/Core/parseResponseHeaders.js +2 -2
  333. package/Source/Core/pointInsideTriangle.js +1 -1
  334. package/Source/Core/queryToObject.js +2 -2
  335. package/Source/Core/sampleTerrain.js +16 -17
  336. package/Source/Core/sampleTerrainMostDetailed.js +67 -73
  337. package/Source/Core/scaleToGeodeticSurface.js +1 -1
  338. package/Source/Core/subdivideArray.js +1 -1
  339. package/Source/Core/writeTextToCanvas.js +10 -9
  340. package/Source/DataSources/BillboardGraphics.js +1 -1
  341. package/Source/DataSources/BillboardVisualizer.js +2 -2
  342. package/Source/DataSources/BoundingSphereState.js +1 -1
  343. package/Source/DataSources/BoxGraphics.js +1 -1
  344. package/Source/DataSources/CallbackProperty.js +8 -8
  345. package/Source/DataSources/Cesium3DTilesetGraphics.js +1 -1
  346. package/Source/DataSources/Cesium3DTilesetVisualizer.js +39 -28
  347. package/Source/DataSources/CheckerboardMaterialProperty.js +6 -6
  348. package/Source/DataSources/ColorMaterialProperty.js +5 -5
  349. package/Source/DataSources/CompositeEntityCollection.js +8 -8
  350. package/Source/DataSources/CompositeMaterialProperty.js +5 -5
  351. package/Source/DataSources/CompositePositionProperty.js +2 -2
  352. package/Source/DataSources/CompositeProperty.js +4 -4
  353. package/Source/DataSources/ConstantPositionProperty.js +4 -4
  354. package/Source/DataSources/ConstantProperty.js +5 -5
  355. package/Source/DataSources/CorridorGraphics.js +1 -1
  356. package/Source/DataSources/CustomDataSource.js +5 -5
  357. package/Source/DataSources/CylinderGraphics.js +1 -1
  358. package/Source/DataSources/CzmlDataSource.js +26 -26
  359. package/Source/DataSources/DataSource.js +4 -4
  360. package/Source/DataSources/DataSourceClock.js +2 -2
  361. package/Source/DataSources/DataSourceCollection.js +11 -11
  362. package/Source/DataSources/DataSourceDisplay.js +5 -5
  363. package/Source/DataSources/DynamicGeometryUpdater.js +1 -1
  364. package/Source/DataSources/EllipseGraphics.js +1 -1
  365. package/Source/DataSources/EllipsoidGeometryUpdater.js +2 -2
  366. package/Source/DataSources/EllipsoidGraphics.js +1 -1
  367. package/Source/DataSources/Entity.js +20 -15
  368. package/Source/DataSources/EntityCluster.js +16 -16
  369. package/Source/DataSources/EntityCollection.js +8 -8
  370. package/Source/DataSources/GeoJsonDataSource.js +27 -27
  371. package/Source/DataSources/GeometryUpdater.js +22 -22
  372. package/Source/DataSources/GeometryVisualizer.js +2 -2
  373. package/Source/DataSources/GpxDataSource.js +23 -23
  374. package/Source/DataSources/GridMaterialProperty.js +7 -7
  375. package/Source/DataSources/GroundGeometryUpdater.js +5 -5
  376. package/Source/DataSources/ImageMaterialProperty.js +8 -8
  377. package/Source/DataSources/KmlDataSource.js +32 -32
  378. package/Source/DataSources/KmlTour.js +7 -7
  379. package/Source/DataSources/KmlTourFlyTo.js +6 -6
  380. package/Source/DataSources/KmlTourWait.js +2 -2
  381. package/Source/DataSources/LabelGraphics.js +1 -1
  382. package/Source/DataSources/LabelVisualizer.js +2 -2
  383. package/Source/DataSources/MaterialProperty.js +5 -5
  384. package/Source/DataSources/ModelGraphics.js +3 -3
  385. package/Source/DataSources/ModelVisualizer.js +101 -33
  386. package/Source/DataSources/NodeTransformationProperty.js +3 -3
  387. package/Source/DataSources/PathGraphics.js +1 -1
  388. package/Source/DataSources/PathVisualizer.js +2 -2
  389. package/Source/DataSources/PlaneGraphics.js +1 -1
  390. package/Source/DataSources/PointGraphics.js +1 -1
  391. package/Source/DataSources/PointVisualizer.js +2 -2
  392. package/Source/DataSources/PolygonGraphics.js +4 -4
  393. package/Source/DataSources/PolylineArrowMaterialProperty.js +5 -5
  394. package/Source/DataSources/PolylineDashMaterialProperty.js +8 -8
  395. package/Source/DataSources/PolylineGeometryUpdater.js +13 -13
  396. package/Source/DataSources/PolylineGlowMaterialProperty.js +8 -8
  397. package/Source/DataSources/PolylineGraphics.js +2 -2
  398. package/Source/DataSources/PolylineOutlineMaterialProperty.js +7 -7
  399. package/Source/DataSources/PolylineVisualizer.js +2 -2
  400. package/Source/DataSources/PolylineVolumeGraphics.js +3 -3
  401. package/Source/DataSources/PositionProperty.js +2 -2
  402. package/Source/DataSources/PositionPropertyArray.js +2 -2
  403. package/Source/DataSources/Property.js +4 -4
  404. package/Source/DataSources/PropertyArray.js +2 -2
  405. package/Source/DataSources/PropertyBag.js +10 -10
  406. package/Source/DataSources/RectangleGraphics.js +1 -1
  407. package/Source/DataSources/ReferenceProperty.js +10 -10
  408. package/Source/DataSources/Rotation.js +14 -14
  409. package/Source/DataSources/SampledPositionProperty.js +11 -11
  410. package/Source/DataSources/SampledProperty.js +12 -12
  411. package/Source/DataSources/StripeMaterialProperty.js +8 -8
  412. package/Source/DataSources/StripeOrientation.js +3 -3
  413. package/Source/DataSources/TerrainOffsetProperty.js +1 -1
  414. package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +3 -3
  415. package/Source/DataSources/TimeIntervalCollectionProperty.js +4 -4
  416. package/Source/DataSources/VelocityOrientationProperty.js +2 -2
  417. package/Source/DataSources/VelocityVectorProperty.js +4 -4
  418. package/Source/DataSources/Visualizer.js +2 -2
  419. package/Source/DataSources/WallGraphics.js +4 -4
  420. package/Source/DataSources/exportKml.js +9 -9
  421. package/Source/Renderer/Buffer.js +4 -4
  422. package/Source/Renderer/ClearCommand.js +3 -3
  423. package/Source/Renderer/ComputeCommand.js +3 -3
  424. package/Source/Renderer/Context.js +46 -46
  425. package/Source/Renderer/ContextLimits.js +22 -22
  426. package/Source/Renderer/CubeMapFace.js +11 -11
  427. package/Source/Renderer/DrawCommand.js +15 -15
  428. package/Source/Renderer/Framebuffer.js +4 -4
  429. package/Source/Renderer/FramebufferManager.js +9 -9
  430. package/Source/Renderer/MultisampleFramebuffer.js +1 -1
  431. package/Source/Renderer/PassState.js +2 -2
  432. package/Source/Renderer/PixelDatatype.js +1 -1
  433. package/Source/Renderer/RenderState.js +1 -1
  434. package/Source/Renderer/ShaderBuilder.js +24 -24
  435. package/Source/Renderer/ShaderCache.js +8 -8
  436. package/Source/Renderer/ShaderDestination.js +2 -2
  437. package/Source/Renderer/ShaderFunction.js +3 -3
  438. package/Source/Renderer/ShaderSource.js +8 -8
  439. package/Source/Renderer/ShaderStruct.js +4 -4
  440. package/Source/Renderer/Texture.js +18 -18
  441. package/Source/Renderer/TextureMagnificationFilter.js +4 -4
  442. package/Source/Renderer/TextureMinificationFilter.js +8 -8
  443. package/Source/Renderer/UniformState.js +14 -14
  444. package/Source/Renderer/VertexArray.js +2 -2
  445. package/Source/Renderer/createUniform.js +12 -12
  446. package/Source/Renderer/createUniformArray.js +12 -12
  447. package/Source/Renderer/freezeRenderState.js +2 -2
  448. package/Source/Renderer/loadCubeMap.js +3 -3
  449. package/Source/Scene/AlphaMode.js +4 -4
  450. package/Source/Scene/Appearance.js +14 -14
  451. package/Source/Scene/ArcGisMapServerImageryProvider.js +585 -409
  452. package/Source/Scene/AttributeType.js +11 -11
  453. package/Source/Scene/AutoExposure.js +6 -6
  454. package/Source/Scene/Axis.js +6 -6
  455. package/Source/Scene/B3dmParser.js +2 -2
  456. package/Source/Scene/BatchTable.js +13 -13
  457. package/Source/Scene/BatchTableHierarchy.js +22 -22
  458. package/Source/Scene/BatchTexture.js +14 -14
  459. package/Source/Scene/Billboard.js +17 -17
  460. package/Source/Scene/BillboardCollection.js +13 -13
  461. package/Source/Scene/BingMapsImageryProvider.js +541 -335
  462. package/Source/Scene/BingMapsStyle.js +11 -11
  463. package/Source/Scene/BlendEquation.js +6 -6
  464. package/Source/Scene/BlendFunction.js +16 -16
  465. package/Source/Scene/BlendOption.js +4 -4
  466. package/Source/Scene/BlendingState.js +4 -4
  467. package/Source/Scene/BufferLoader.js +33 -38
  468. package/Source/Scene/Camera.js +57 -57
  469. package/Source/Scene/CameraEventAggregator.js +26 -16
  470. package/Source/Scene/CameraEventType.js +6 -6
  471. package/Source/Scene/Cesium3DContentGroup.js +1 -1
  472. package/Source/Scene/Cesium3DTile.js +409 -272
  473. package/Source/Scene/Cesium3DTileBatchTable.js +3 -3
  474. package/Source/Scene/Cesium3DTileColorBlendMode.js +4 -4
  475. package/Source/Scene/Cesium3DTileContent.js +31 -15
  476. package/Source/Scene/Cesium3DTileContentFactory.js +4 -4
  477. package/Source/Scene/Cesium3DTileContentType.js +17 -17
  478. package/Source/Scene/Cesium3DTileFeature.js +16 -16
  479. package/Source/Scene/Cesium3DTileOptimizationHint.js +1 -1
  480. package/Source/Scene/Cesium3DTileOptimizations.js +1 -1
  481. package/Source/Scene/Cesium3DTilePass.js +8 -11
  482. package/Source/Scene/Cesium3DTilePassState.js +1 -1
  483. package/Source/Scene/Cesium3DTilePointFeature.js +23 -23
  484. package/Source/Scene/Cesium3DTileRefine.js +3 -3
  485. package/Source/Scene/Cesium3DTileStyle.js +17 -17
  486. package/Source/Scene/Cesium3DTileStyleEngine.js +1 -1
  487. package/Source/Scene/Cesium3DTilesVoxelProvider.js +226 -118
  488. package/Source/Scene/Cesium3DTileset.js +817 -543
  489. package/Source/Scene/Cesium3DTilesetBaseTraversal.js +301 -0
  490. package/Source/Scene/Cesium3DTilesetHeatmap.js +4 -4
  491. package/Source/Scene/Cesium3DTilesetMetadata.js +5 -5
  492. package/Source/Scene/Cesium3DTilesetMostDetailedTraversal.js +33 -46
  493. package/Source/Scene/Cesium3DTilesetSkipTraversal.js +421 -0
  494. package/Source/Scene/Cesium3DTilesetTraversal.js +219 -671
  495. package/Source/Scene/CircleEmitter.js +2 -2
  496. package/Source/Scene/ClassificationPrimitive.js +32 -25
  497. package/Source/Scene/ClassificationType.js +4 -4
  498. package/Source/Scene/ClippingPlane.js +2 -2
  499. package/Source/Scene/ClippingPlaneCollection.js +17 -17
  500. package/Source/Scene/CloudCollection.js +16 -16
  501. package/Source/Scene/CloudType.js +3 -3
  502. package/Source/Scene/ColorBlendMode.js +1 -1
  503. package/Source/Scene/Composite3DTileContent.js +69 -26
  504. package/Source/Scene/ConditionsExpression.js +11 -11
  505. package/Source/Scene/ConeEmitter.js +2 -2
  506. package/Source/Scene/ContentMetadata.js +16 -16
  507. package/Source/Scene/CreditDisplay.js +22 -6
  508. package/Source/Scene/CullFace.js +4 -4
  509. package/Source/Scene/CumulusCloud.js +3 -3
  510. package/Source/Scene/DebugAppearance.js +17 -17
  511. package/Source/Scene/DebugCameraPrimitive.js +7 -7
  512. package/Source/Scene/DebugModelMatrixPrimitive.js +9 -9
  513. package/Source/Scene/DepthFunction.js +9 -9
  514. package/Source/Scene/DepthPlane.js +1 -1
  515. package/Source/Scene/DeviceOrientationCameraController.js +1 -1
  516. package/Source/Scene/DirectionalLight.js +3 -3
  517. package/Source/Scene/DiscardEmptyTileImagePolicy.js +2 -2
  518. package/Source/Scene/DiscardMissingTileImagePolicy.js +5 -5
  519. package/Source/Scene/DracoLoader.js +4 -4
  520. package/Source/Scene/EllipsoidPrimitive.js +8 -8
  521. package/Source/Scene/EllipsoidSurfaceAppearance.js +19 -19
  522. package/Source/Scene/Empty3DTileContent.js +31 -1
  523. package/Source/Scene/Expression.js +14 -14
  524. package/Source/Scene/Fog.js +5 -5
  525. package/Source/Scene/FrameRateMonitor.js +14 -14
  526. package/Source/Scene/FrameState.js +36 -36
  527. package/Source/Scene/FrustumCommands.js +2 -2
  528. package/Source/Scene/Geometry3DTileContent.js +47 -7
  529. package/Source/Scene/GetFeatureInfoFormat.js +2 -2
  530. package/Source/Scene/Globe.js +39 -35
  531. package/Source/Scene/GlobeSurfaceTile.js +3 -2
  532. package/Source/Scene/GlobeSurfaceTileProvider.js +56 -33
  533. package/Source/Scene/GlobeTranslucency.js +3 -3
  534. package/Source/Scene/GltfBufferViewLoader.js +52 -96
  535. package/Source/Scene/GltfDracoLoader.js +117 -119
  536. package/Source/Scene/GltfImageLoader.js +77 -84
  537. package/Source/Scene/GltfIndexBufferLoader.js +118 -131
  538. package/Source/Scene/GltfJsonLoader.js +81 -80
  539. package/Source/Scene/GltfLoader.js +413 -301
  540. package/Source/Scene/GltfLoaderUtil.js +11 -11
  541. package/Source/Scene/GltfPipeline/addBuffer.js +2 -2
  542. package/Source/Scene/GltfPipeline/addDefaults.js +2 -2
  543. package/Source/Scene/GltfPipeline/addExtensionsRequired.js +2 -2
  544. package/Source/Scene/GltfPipeline/addExtensionsUsed.js +2 -2
  545. package/Source/Scene/GltfPipeline/addPipelineExtras.js +2 -2
  546. package/Source/Scene/GltfPipeline/addToArray.js +2 -2
  547. package/Source/Scene/GltfPipeline/findAccessorMinMax.js +2 -2
  548. package/Source/Scene/GltfPipeline/forEachTextureInMaterial.js +3 -3
  549. package/Source/Scene/GltfPipeline/getAccessorByteStride.js +3 -3
  550. package/Source/Scene/GltfPipeline/getComponentReader.js +5 -5
  551. package/Source/Scene/GltfPipeline/moveTechniqueRenderStates.js +2 -2
  552. package/Source/Scene/GltfPipeline/moveTechniquesToExtension.js +2 -2
  553. package/Source/Scene/GltfPipeline/numberOfComponentsForType.js +2 -2
  554. package/Source/Scene/GltfPipeline/parseGlb.js +1 -1
  555. package/Source/Scene/GltfPipeline/readAccessorPacked.js +2 -2
  556. package/Source/Scene/GltfPipeline/removeExtension.js +2 -2
  557. package/Source/Scene/GltfPipeline/removeExtensionsRequired.js +2 -2
  558. package/Source/Scene/GltfPipeline/removeExtensionsUsed.js +2 -2
  559. package/Source/Scene/GltfPipeline/removePipelineExtras.js +2 -2
  560. package/Source/Scene/GltfPipeline/removeUnusedElements.js +2 -2
  561. package/Source/Scene/GltfPipeline/updateAccessorComponentTypes.js +2 -2
  562. package/Source/Scene/GltfPipeline/updateVersion.js +4 -4
  563. package/Source/Scene/GltfPipeline/usesExtension.js +3 -3
  564. package/Source/Scene/GltfStructuralMetadataLoader.js +117 -118
  565. package/Source/Scene/GltfTextureLoader.js +104 -103
  566. package/Source/Scene/GltfVertexBufferLoader.js +140 -145
  567. package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +377 -249
  568. package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +520 -360
  569. package/Source/Scene/GridImageryProvider.js +292 -129
  570. package/Source/Scene/GroundPolylinePrimitive.js +32 -21
  571. package/Source/Scene/GroundPrimitive.js +34 -27
  572. package/Source/Scene/GroupMetadata.js +17 -17
  573. package/Source/Scene/HeightReference.js +4 -4
  574. package/Source/Scene/HorizontalOrigin.js +4 -4
  575. package/Source/Scene/I3SDataProvider.js +221 -120
  576. package/Source/Scene/I3SFeature.js +8 -7
  577. package/Source/Scene/I3SField.js +5 -5
  578. package/Source/Scene/I3SGeometry.js +8 -8
  579. package/Source/Scene/I3SLayer.js +33 -44
  580. package/Source/Scene/I3SNode.js +65 -72
  581. package/Source/Scene/I3dmParser.js +2 -2
  582. package/Source/Scene/ImageBasedLighting.js +21 -17
  583. package/Source/Scene/Imagery.js +6 -1
  584. package/Source/Scene/ImageryLayer.js +324 -73
  585. package/Source/Scene/ImageryLayerCollection.js +37 -11
  586. package/Source/Scene/ImageryLayerFeatureInfo.js +6 -6
  587. package/Source/Scene/ImageryProvider.js +151 -133
  588. package/Source/Scene/Implicit3DTileContent.js +128 -79
  589. package/Source/Scene/ImplicitAvailabilityBitstream.js +10 -10
  590. package/Source/Scene/ImplicitMetadataView.js +16 -16
  591. package/Source/Scene/ImplicitSubdivisionScheme.js +4 -4
  592. package/Source/Scene/ImplicitSubtree.js +113 -92
  593. package/Source/Scene/ImplicitSubtreeCache.js +6 -6
  594. package/Source/Scene/ImplicitSubtreeMetadata.js +16 -16
  595. package/Source/Scene/ImplicitTileCoordinates.js +27 -27
  596. package/Source/Scene/ImplicitTileset.js +10 -10
  597. package/Source/Scene/InstanceAttributeSemantic.js +5 -5
  598. package/Source/Scene/IonImageryProvider.js +493 -286
  599. package/Source/Scene/IonWorldImageryStyle.js +4 -4
  600. package/Source/Scene/JsonMetadataTable.js +11 -11
  601. package/Source/Scene/KeyframeNode.js +1 -1
  602. package/Source/Scene/Label.js +14 -14
  603. package/Source/Scene/LabelCollection.js +12 -11
  604. package/Source/Scene/LabelStyle.js +4 -4
  605. package/Source/Scene/Light.js +1 -1
  606. package/Source/Scene/MapMode2D.js +3 -3
  607. package/Source/Scene/MapboxImageryProvider.js +301 -141
  608. package/Source/Scene/MapboxStyleImageryProvider.js +301 -142
  609. package/Source/Scene/Material.js +47 -47
  610. package/Source/Scene/MaterialAppearance.js +21 -21
  611. package/Source/Scene/Megatexture.js +15 -15
  612. package/Source/Scene/MetadataClass.js +16 -16
  613. package/Source/Scene/MetadataClassProperty.js +41 -41
  614. package/Source/Scene/MetadataComponentType.js +21 -21
  615. package/Source/Scene/MetadataEntity.js +31 -31
  616. package/Source/Scene/MetadataEnum.js +14 -14
  617. package/Source/Scene/MetadataEnumValue.js +10 -10
  618. package/Source/Scene/MetadataSchema.js +16 -16
  619. package/Source/Scene/MetadataSchemaLoader.js +31 -41
  620. package/Source/Scene/MetadataSemantic.js +17 -17
  621. package/Source/Scene/MetadataTable.js +24 -24
  622. package/Source/Scene/MetadataTableProperty.js +9 -9
  623. package/Source/Scene/MetadataType.js +15 -15
  624. package/Source/Scene/Model/B3dmLoader.js +54 -58
  625. package/Source/Scene/Model/ClassificationModelDrawCommand.js +3 -3
  626. package/Source/Scene/Model/CustomShader.js +18 -18
  627. package/Source/Scene/Model/CustomShaderMode.js +4 -4
  628. package/Source/Scene/Model/CustomShaderTranslucencyMode.js +4 -4
  629. package/Source/Scene/Model/GeoJsonLoader.js +12 -36
  630. package/Source/Scene/Model/I3dmLoader.js +58 -84
  631. package/Source/Scene/Model/LightingModel.js +3 -3
  632. package/Source/Scene/Model/MaterialPipelineStage.js +6 -6
  633. package/Source/Scene/Model/MetadataPipelineStage.js +25 -26
  634. package/Source/Scene/Model/Model.js +531 -193
  635. package/Source/Scene/Model/Model3DTileContent.js +83 -31
  636. package/Source/Scene/Model/ModelAlphaOptions.js +1 -1
  637. package/Source/Scene/Model/ModelAnimation.js +11 -11
  638. package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
  639. package/Source/Scene/Model/ModelAnimationCollection.js +21 -21
  640. package/Source/Scene/Model/ModelArticulation.js +4 -4
  641. package/Source/Scene/Model/ModelArticulationStage.js +5 -5
  642. package/Source/Scene/Model/ModelDrawCommand.js +18 -29
  643. package/Source/Scene/Model/ModelFeature.js +12 -12
  644. package/Source/Scene/Model/ModelFeatureTable.js +5 -5
  645. package/Source/Scene/Model/ModelLightingOptions.js +1 -1
  646. package/Source/Scene/Model/ModelNode.js +3 -3
  647. package/Source/Scene/Model/ModelRenderResources.js +4 -4
  648. package/Source/Scene/Model/ModelRuntimeNode.js +7 -7
  649. package/Source/Scene/Model/ModelRuntimePrimitive.js +3 -3
  650. package/Source/Scene/Model/ModelSceneGraph.js +11 -11
  651. package/Source/Scene/Model/ModelSilhouettePipelineStage.js +1 -1
  652. package/Source/Scene/Model/ModelSkin.js +1 -1
  653. package/Source/Scene/Model/ModelStatistics.js +7 -7
  654. package/Source/Scene/Model/ModelType.js +8 -8
  655. package/Source/Scene/Model/ModelUtility.js +26 -26
  656. package/Source/Scene/Model/NodeRenderResources.js +7 -7
  657. package/Source/Scene/Model/PntsLoader.js +32 -37
  658. package/Source/Scene/Model/PointCloudStylingPipelineStage.js +1 -1
  659. package/Source/Scene/Model/PrimitiveOutlineGenerator.js +28 -28
  660. package/Source/Scene/Model/PrimitiveRenderResources.js +10 -10
  661. package/Source/Scene/Model/StyleCommandsNeeded.js +1 -1
  662. package/Source/Scene/Model/TextureManager.js +3 -3
  663. package/Source/Scene/Model/TextureUniform.js +6 -6
  664. package/Source/Scene/Model/UniformType.js +17 -17
  665. package/Source/Scene/Model/VaryingType.js +8 -8
  666. package/Source/Scene/ModelAnimationLoop.js +4 -4
  667. package/Source/Scene/ModelComponents.js +61 -61
  668. package/Source/Scene/Moon.js +8 -8
  669. package/Source/Scene/Multiple3DTileContent.js +146 -127
  670. package/Source/Scene/NeverTileDiscardPolicy.js +2 -2
  671. package/Source/Scene/OIT.js +9 -9
  672. package/Source/Scene/OctahedralProjectedCubeMap.js +28 -39
  673. package/Source/Scene/OpenStreetMapImageryProvider.js +6 -6
  674. package/Source/Scene/OrderedGroundPrimitiveCollection.js +9 -9
  675. package/Source/Scene/Particle.js +13 -13
  676. package/Source/Scene/ParticleBurst.js +8 -8
  677. package/Source/Scene/ParticleSystem.js +41 -36
  678. package/Source/Scene/PerInstanceColorAppearance.js +18 -18
  679. package/Source/Scene/PerformanceDisplay.js +2 -2
  680. package/Source/Scene/PntsParser.js +1 -1
  681. package/Source/Scene/PointCloud.js +11 -19
  682. package/Source/Scene/PointCloudEyeDomeLighting.js +1 -1
  683. package/Source/Scene/PointCloudShading.js +20 -20
  684. package/Source/Scene/PointPrimitive.js +6 -6
  685. package/Source/Scene/PointPrimitiveCollection.js +11 -11
  686. package/Source/Scene/Polyline.js +9 -9
  687. package/Source/Scene/PolylineCollection.js +11 -11
  688. package/Source/Scene/PolylineColorAppearance.js +13 -13
  689. package/Source/Scene/PolylineMaterialAppearance.js +13 -13
  690. package/Source/Scene/PostProcessStage.js +15 -15
  691. package/Source/Scene/PostProcessStageCollection.js +10 -10
  692. package/Source/Scene/PostProcessStageComposite.js +13 -13
  693. package/Source/Scene/PostProcessStageLibrary.js +8 -8
  694. package/Source/Scene/PostProcessStageSampleMode.js +3 -3
  695. package/Source/Scene/PostProcessStageTextureCache.js +4 -4
  696. package/Source/Scene/Primitive.js +50 -30
  697. package/Source/Scene/PrimitiveCollection.js +20 -20
  698. package/Source/Scene/PrimitiveLoadPlan.js +6 -6
  699. package/Source/Scene/PropertyAttribute.js +9 -9
  700. package/Source/Scene/PropertyAttributeProperty.js +6 -6
  701. package/Source/Scene/PropertyTable.js +34 -34
  702. package/Source/Scene/PropertyTexture.js +9 -9
  703. package/Source/Scene/PropertyTextureProperty.js +8 -8
  704. package/Source/Scene/QuadtreePrimitive.js +11 -9
  705. package/Source/Scene/QuadtreeTile.js +11 -11
  706. package/Source/Scene/QuadtreeTileLoadState.js +1 -1
  707. package/Source/Scene/QuadtreeTileProvider.js +10 -14
  708. package/Source/Scene/ResourceCache.js +85 -143
  709. package/Source/Scene/ResourceCacheKey.js +42 -42
  710. package/Source/Scene/ResourceCacheStatistics.js +26 -60
  711. package/Source/Scene/ResourceLoader.js +9 -21
  712. package/Source/Scene/ResourceLoaderState.js +16 -8
  713. package/Source/Scene/SDFSettings.js +4 -4
  714. package/Source/Scene/Scene.js +153 -88
  715. package/Source/Scene/SceneMode.js +6 -6
  716. package/Source/Scene/SceneTransitioner.js +1 -1
  717. package/Source/Scene/ScreenSpaceCameraController.js +41 -23
  718. package/Source/Scene/ShadowMap.js +22 -22
  719. package/Source/Scene/ShadowMapShader.js +1 -1
  720. package/Source/Scene/ShadowMode.js +5 -5
  721. package/Source/Scene/ShadowVolumeAppearance.js +17 -17
  722. package/Source/Scene/SingleTileImageryProvider.js +403 -230
  723. package/Source/Scene/SkyAtmosphere.js +10 -10
  724. package/Source/Scene/SkyBox.js +6 -6
  725. package/Source/Scene/SpatialNode.js +103 -87
  726. package/Source/Scene/SphereEmitter.js +2 -2
  727. package/Source/Scene/SplitDirection.js +4 -4
  728. package/Source/Scene/Splitter.js +2 -2
  729. package/Source/Scene/StencilFunction.js +9 -9
  730. package/Source/Scene/StencilOperation.js +9 -9
  731. package/Source/Scene/StructuralMetadata.js +11 -11
  732. package/Source/Scene/StyleExpression.js +8 -8
  733. package/Source/Scene/Sun.js +3 -3
  734. package/Source/Scene/SunLight.js +3 -3
  735. package/Source/Scene/SupportedImageFormats.js +3 -3
  736. package/Source/Scene/Terrain.js +196 -0
  737. package/Source/Scene/TextureAtlas.js +16 -16
  738. package/Source/Scene/TileBoundingRegion.js +6 -6
  739. package/Source/Scene/TileBoundingS2Cell.js +6 -6
  740. package/Source/Scene/TileBoundingSphere.js +5 -5
  741. package/Source/Scene/TileBoundingVolume.js +2 -2
  742. package/Source/Scene/TileCoordinatesImageryProvider.js +289 -126
  743. package/Source/Scene/TileDiscardPolicy.js +2 -2
  744. package/Source/Scene/TileImagery.js +3 -3
  745. package/Source/Scene/TileMapServiceImageryProvider.js +185 -93
  746. package/Source/Scene/TileMetadata.js +16 -16
  747. package/Source/Scene/TileOrientedBoundingBox.js +2 -2
  748. package/Source/Scene/TileReplacementQueue.js +1 -1
  749. package/Source/Scene/TileSelectionResult.js +1 -1
  750. package/Source/Scene/Tileset3DTileContent.js +47 -5
  751. package/Source/Scene/TilesetMetadata.js +15 -15
  752. package/Source/Scene/TimeDynamicImagery.js +8 -8
  753. package/Source/Scene/TimeDynamicPointCloud.js +24 -11
  754. package/Source/Scene/Tonemapper.js +5 -5
  755. package/Source/Scene/TranslucentTileClassification.js +1 -1
  756. package/Source/Scene/TweenCollection.js +31 -31
  757. package/Source/Scene/UrlTemplateImageryProvider.js +380 -252
  758. package/Source/Scene/Vector3DTileBatch.js +7 -7
  759. package/Source/Scene/Vector3DTileClampedPolylines.js +105 -93
  760. package/Source/Scene/Vector3DTileContent.js +47 -22
  761. package/Source/Scene/Vector3DTileGeometry.js +65 -60
  762. package/Source/Scene/Vector3DTilePoints.js +79 -75
  763. package/Source/Scene/Vector3DTilePolygons.js +128 -127
  764. package/Source/Scene/Vector3DTilePolylines.js +95 -91
  765. package/Source/Scene/Vector3DTilePrimitive.js +8 -9
  766. package/Source/Scene/VertexAttributeSemantic.js +15 -15
  767. package/Source/Scene/VerticalOrigin.js +5 -5
  768. package/Source/Scene/ViewportQuad.js +2 -2
  769. package/Source/Scene/VoxelBoxShape.js +27 -118
  770. package/Source/Scene/VoxelContent.js +63 -65
  771. package/Source/Scene/VoxelCylinderShape.js +21 -21
  772. package/Source/Scene/VoxelEllipsoidShape.js +13 -13
  773. package/Source/Scene/VoxelPrimitive.js +83 -135
  774. package/Source/Scene/VoxelProvider.js +15 -15
  775. package/Source/Scene/VoxelRenderResources.js +6 -3
  776. package/Source/Scene/VoxelShape.js +9 -9
  777. package/Source/Scene/VoxelShapeType.js +4 -4
  778. package/Source/Scene/VoxelTraversal.js +86 -144
  779. package/Source/Scene/WebMapServiceImageryProvider.js +313 -152
  780. package/Source/Scene/WebMapTileServiceImageryProvider.js +305 -142
  781. package/Source/Scene/buildVoxelDrawCommands.js +1 -0
  782. package/Source/Scene/computeFlyToLocationForRectangle.js +33 -37
  783. package/Source/Scene/createBillboardPointCallback.js +5 -5
  784. package/Source/Scene/createElevationBandMaterial.js +5 -5
  785. package/Source/Scene/createOsmBuildings.js +9 -3
  786. package/Source/Scene/createOsmBuildingsAsync.js +82 -0
  787. package/Source/Scene/createTangentSpaceDebugPrimitive.js +2 -2
  788. package/Source/Scene/createWorldImagery.js +15 -6
  789. package/Source/Scene/createWorldImageryAsync.js +39 -0
  790. package/Source/Scene/findContentMetadata.js +1 -1
  791. package/Source/Scene/findGroupMetadata.js +1 -1
  792. package/Source/Scene/findTileMetadata.js +1 -1
  793. package/Source/Scene/getClipAndStyleCode.js +4 -4
  794. package/Source/Scene/getClippingFunction.js +1 -1
  795. package/Source/Scene/hasExtension.js +3 -3
  796. package/Source/Scene/parseBatchTable.js +14 -14
  797. package/Source/Scene/parseBoundingVolumeSemantics.js +7 -7
  798. package/Source/Scene/parseFeatureMetadataLegacy.js +4 -4
  799. package/Source/Scene/parseStructuralMetadata.js +4 -4
  800. package/Source/Scene/preprocess3DTileContent.js +2 -2
  801. package/Source/Scene/processVoxelProperties.js +8 -7
  802. package/Source/Shaders/Voxels/IntersectBox.glsl +52 -58
  803. package/Source/Shaders/Voxels/IntersectBox.js +52 -58
  804. package/Source/Shaders/Voxels/IntersectClippingPlanes.glsl +38 -30
  805. package/Source/Shaders/Voxels/IntersectClippingPlanes.js +38 -30
  806. package/Source/Shaders/Voxels/IntersectDepth.glsl +1 -1
  807. package/Source/Shaders/Voxels/IntersectDepth.js +1 -1
  808. package/Source/Shaders/Voxels/Intersection.glsl +10 -12
  809. package/Source/Shaders/Voxels/Intersection.js +10 -12
  810. package/Source/Shaders/Voxels/IntersectionUtils.glsl +52 -59
  811. package/Source/Shaders/Voxels/IntersectionUtils.js +52 -59
  812. package/Source/Shaders/Voxels/Octree.glsl +72 -73
  813. package/Source/Shaders/Voxels/Octree.js +72 -73
  814. package/Source/Shaders/Voxels/VoxelFS.glsl +42 -22
  815. package/Source/Shaders/Voxels/VoxelFS.js +42 -22
  816. package/Source/Shaders/Voxels/convertUvToBox.glsl +13 -5
  817. package/Source/Shaders/Voxels/convertUvToBox.js +13 -5
  818. package/Source/ThirdParty/Workers/draco_decoder_nodejs.js +91 -91
  819. package/Source/ThirdParty/draco_decoder.wasm +0 -0
  820. package/Source/Widget/CesiumWidget.js +78 -50
  821. package/Source/Workers/cesiumWorkerBootstrapper.js +18 -18
  822. package/Source/WorkersES6/createTaskProcessorWorker.js +3 -3
  823. package/index.d.ts +2172 -1432
  824. package/index.js +8 -3
  825. package/package.json +1 -1
  826. package/Source/Core/cancelAnimationFrame.js +0 -53
  827. package/Source/Core/requestAnimationFrame.js +0 -83
  828. /package/Build/Workers/{GeometryOffsetAttribute-04332ce7.js → GeometryOffsetAttribute-9ad0019c.js} +0 -0
@@ -1,9 +1,13 @@
1
1
  import Cartesian2 from "../Core/Cartesian2.js";
2
2
  import Cartesian4 from "../Core/Cartesian4.js";
3
+ import Check from "../Core/Check.js";
4
+ import createWorldImageryAsync from "../Scene/createWorldImageryAsync.js";
3
5
  import defaultValue from "../Core/defaultValue.js";
4
6
  import defined from "../Core/defined.js";
5
7
  import destroyObject from "../Core/destroyObject.js";
8
+ import deprecationWarning from "../Core/deprecationWarning.js";
6
9
  import DeveloperError from "../Core/DeveloperError.js";
10
+ import Event from "../Core/Event.js";
7
11
  import FeatureDetection from "../Core/FeatureDetection.js";
8
12
  import GeographicProjection from "../Core/GeographicProjection.js";
9
13
  import IndexDatatype from "../Core/IndexDatatype.js";
@@ -37,35 +41,31 @@ import SplitDirection from "./SplitDirection.js";
37
41
  import TileImagery from "./TileImagery.js";
38
42
 
39
43
  /**
40
- * An imagery layer that displays tiled image data from a single imagery provider
41
- * on a {@link Globe}.
44
+ * @typedef {Object} ImageryLayer.ConstructorOptions
42
45
  *
43
- * @alias ImageryLayer
44
- * @constructor
46
+ * Initialization options for the ImageryLayer constructor.
45
47
  *
46
- * @param {ImageryProvider} imageryProvider The imagery provider to use.
47
- * @param {Object} [options] Object with the following properties:
48
- * @param {Rectangle} [options.rectangle=imageryProvider.rectangle] The rectangle of the layer. This rectangle
48
+ * @property {Rectangle} [rectangle=imageryProvider.rectangle] The rectangle of the layer. This rectangle
49
49
  * can limit the visible portion of the imagery provider.
50
- * @param {Number|Function} [options.alpha=1.0] The alpha blending value of this layer, from 0.0 to 1.0.
50
+ * @property {number|Function} [alpha=1.0] The alpha blending value of this layer, from 0.0 to 1.0.
51
51
  * This can either be a simple number or a function with the signature
52
52
  * <code>function(frameState, layer, x, y, level)</code>. The function is passed the
53
53
  * current frame state, this layer, and the x, y, and level coordinates of the
54
54
  * imagery tile for which the alpha is required, and it is expected to return
55
55
  * the alpha value to use for the tile.
56
- * @param {Number|Function} [options.nightAlpha=1.0] The alpha blending value of this layer on the night side of the globe, from 0.0 to 1.0.
56
+ * @property {number|Function} [nightAlpha=1.0] The alpha blending value of this layer on the night side of the globe, from 0.0 to 1.0.
57
57
  * This can either be a simple number or a function with the signature
58
58
  * <code>function(frameState, layer, x, y, level)</code>. The function is passed the
59
59
  * current frame state, this layer, and the x, y, and level coordinates of the
60
60
  * imagery tile for which the alpha is required, and it is expected to return
61
61
  * the alpha value to use for the tile. This only takes effect when <code>enableLighting</code> is <code>true</code>.
62
- * @param {Number|Function} [options.dayAlpha=1.0] The alpha blending value of this layer on the day side of the globe, from 0.0 to 1.0.
62
+ * @property {number|Function} [dayAlpha=1.0] The alpha blending value of this layer on the day side of the globe, from 0.0 to 1.0.
63
63
  * This can either be a simple number or a function with the signature
64
64
  * <code>function(frameState, layer, x, y, level)</code>. The function is passed the
65
65
  * current frame state, this layer, and the x, y, and level coordinates of the
66
66
  * imagery tile for which the alpha is required, and it is expected to return
67
67
  * the alpha value to use for the tile. This only takes effect when <code>enableLighting</code> is <code>true</code>.
68
- * @param {Number|Function} [options.brightness=1.0] The brightness of this layer. 1.0 uses the unmodified imagery
68
+ * @property {number|Function} [brightness=1.0] The brightness of this layer. 1.0 uses the unmodified imagery
69
69
  * color. Less than 1.0 makes the imagery darker while greater than 1.0 makes it brighter.
70
70
  * This can either be a simple number or a function with the signature
71
71
  * <code>function(frameState, layer, x, y, level)</code>. The function is passed the
@@ -73,7 +73,7 @@ import TileImagery from "./TileImagery.js";
73
73
  * imagery tile for which the brightness is required, and it is expected to return
74
74
  * the brightness value to use for the tile. The function is executed for every
75
75
  * frame and for every tile, so it must be fast.
76
- * @param {Number|Function} [options.contrast=1.0] The contrast of this layer. 1.0 uses the unmodified imagery color.
76
+ * @property {number|Function} [contrast=1.0] The contrast of this layer. 1.0 uses the unmodified imagery color.
77
77
  * Less than 1.0 reduces the contrast while greater than 1.0 increases it.
78
78
  * This can either be a simple number or a function with the signature
79
79
  * <code>function(frameState, layer, x, y, level)</code>. The function is passed the
@@ -81,14 +81,14 @@ import TileImagery from "./TileImagery.js";
81
81
  * imagery tile for which the contrast is required, and it is expected to return
82
82
  * the contrast value to use for the tile. The function is executed for every
83
83
  * frame and for every tile, so it must be fast.
84
- * @param {Number|Function} [options.hue=0.0] The hue of this layer. 0.0 uses the unmodified imagery color.
84
+ * @property {number|Function} [hue=0.0] The hue of this layer. 0.0 uses the unmodified imagery color.
85
85
  * This can either be a simple number or a function with the signature
86
86
  * <code>function(frameState, layer, x, y, level)</code>. The function is passed the
87
87
  * current frame state, this layer, and the x, y, and level coordinates
88
88
  * of the imagery tile for which the hue is required, and it is expected to return
89
89
  * the contrast value to use for the tile. The function is executed for every
90
90
  * frame and for every tile, so it must be fast.
91
- * @param {Number|Function} [options.saturation=1.0] The saturation of this layer. 1.0 uses the unmodified imagery color.
91
+ * @property {number|Function} [saturation=1.0] The saturation of this layer. 1.0 uses the unmodified imagery color.
92
92
  * Less than 1.0 reduces the saturation while greater than 1.0 increases it.
93
93
  * This can either be a simple number or a function with the signature
94
94
  * <code>function(frameState, layer, x, y, level)</code>. The function is passed the
@@ -96,87 +96,123 @@ import TileImagery from "./TileImagery.js";
96
96
  * of the imagery tile for which the saturation is required, and it is expected to return
97
97
  * the contrast value to use for the tile. The function is executed for every
98
98
  * frame and for every tile, so it must be fast.
99
- * @param {Number|Function} [options.gamma=1.0] The gamma correction to apply to this layer. 1.0 uses the unmodified imagery color.
99
+ * @property {number|Function} [gamma=1.0] The gamma correction to apply to this layer. 1.0 uses the unmodified imagery color.
100
100
  * This can either be a simple number or a function with the signature
101
101
  * <code>function(frameState, layer, x, y, level)</code>. The function is passed the
102
102
  * current frame state, this layer, and the x, y, and level coordinates of the
103
103
  * imagery tile for which the gamma is required, and it is expected to return
104
104
  * the gamma value to use for the tile. The function is executed for every
105
105
  * frame and for every tile, so it must be fast.
106
- * @param {SplitDirection|Function} [options.splitDirection=SplitDirection.NONE] The {@link SplitDirection} split to apply to this layer.
107
- * @param {TextureMinificationFilter} [options.minificationFilter=TextureMinificationFilter.LINEAR] The
106
+ * @property {SplitDirection|Function} [splitDirection=SplitDirection.NONE] The {@link SplitDirection} split to apply to this layer.
107
+ * @property {TextureMinificationFilter} [minificationFilter=TextureMinificationFilter.LINEAR] The
108
108
  * texture minification filter to apply to this layer. Possible values
109
109
  * are <code>TextureMinificationFilter.LINEAR</code> and
110
110
  * <code>TextureMinificationFilter.NEAREST</code>.
111
- * @param {TextureMagnificationFilter} [options.magnificationFilter=TextureMagnificationFilter.LINEAR] The
111
+ * @property {TextureMagnificationFilter} [magnificationFilter=TextureMagnificationFilter.LINEAR] The
112
112
  * texture minification filter to apply to this layer. Possible values
113
113
  * are <code>TextureMagnificationFilter.LINEAR</code> and
114
114
  * <code>TextureMagnificationFilter.NEAREST</code>.
115
- * @param {Boolean} [options.show=true] True if the layer is shown; otherwise, false.
116
- * @param {Number} [options.maximumAnisotropy=maximum supported] The maximum anisotropy level to use
115
+ * @property {boolean} [show=true] True if the layer is shown; otherwise, false.
116
+ * @property {number} [maximumAnisotropy=maximum supported] The maximum anisotropy level to use
117
117
  * for texture filtering. If this parameter is not specified, the maximum anisotropy supported
118
118
  * by the WebGL stack will be used. Larger values make the imagery look better in horizon
119
119
  * views.
120
- * @param {Number} [options.minimumTerrainLevel] The minimum terrain level-of-detail at which to show this imagery layer,
120
+ * @property {number} [minimumTerrainLevel] The minimum terrain level-of-detail at which to show this imagery layer,
121
121
  * or undefined to show it at all levels. Level zero is the least-detailed level.
122
- * @param {Number} [options.maximumTerrainLevel] The maximum terrain level-of-detail at which to show this imagery layer,
122
+ * @property {number} [maximumTerrainLevel] The maximum terrain level-of-detail at which to show this imagery layer,
123
123
  * or undefined to show it at all levels. Level zero is the least-detailed level.
124
- * @param {Rectangle} [options.cutoutRectangle] Cartographic rectangle for cutting out a portion of this ImageryLayer.
125
- * @param {Color} [options.colorToAlpha] Color to be used as alpha.
126
- * @param {Number} [options.colorToAlphaThreshold=0.004] Threshold for color-to-alpha.
124
+ * @property {Rectangle} [cutoutRectangle] Cartographic rectangle for cutting out a portion of this ImageryLayer.
125
+ * @property {Color} [colorToAlpha] Color to be used as alpha.
126
+ * @property {number} [colorToAlphaThreshold=0.004] Threshold for color-to-alpha.
127
+ */
128
+
129
+ /**
130
+ * An imagery layer that displays tiled image data from a single imagery provider
131
+ * on a {@link Globe}.
132
+ *
133
+ * @alias ImageryLayer
134
+ * @constructor
135
+ *
136
+ * @param {ImageryProvider} imageryProvider The imagery provider to use.
137
+ * @param {ImageryLayer.ConstructorOptions} options An object describing initialization options
138
+ *
139
+ * @see ImageryLayer.fromProviderAsync
140
+ * @see ImageryLayer.fromWorldImagery
141
+ *
142
+ * @example
143
+ * // Add an OpenStreetMaps layer
144
+ * const imageryLayer = new Cesium.ImageryLayer(OpenStreetMapImageryProvider({
145
+ * url: "https://a.tile.openstreetmap.org/"
146
+ * })),
147
+ * scene.imageryLayers.add(imageryLayer);
148
+ *
149
+ * @example
150
+ * // Add Cesium ion's default world imagery layer
151
+ * const imageryLayer = Cesium.ImageryLayer.fromWorldImagery();
152
+ * scene.imageryLayers.add(imageryLayer);
153
+ *
154
+ * @example
155
+ * // Add a new transparent layer from Cesium ion
156
+ * const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
157
+ * imageryLayer.alpha = 0.5;
158
+ * scene.imageryLayers.add(imageryLayer);
127
159
  */
128
160
  function ImageryLayer(imageryProvider, options) {
129
161
  this._imageryProvider = imageryProvider;
130
162
 
163
+ this._readyEvent = new Event();
164
+ this._errorEvent = new Event();
165
+
131
166
  options = defaultValue(options, defaultValue.EMPTY_OBJECT);
167
+ imageryProvider = defaultValue(imageryProvider, defaultValue.EMPTY_OBJECT);
132
168
 
133
169
  /**
134
170
  * The alpha blending value of this layer, with 0.0 representing fully transparent and
135
171
  * 1.0 representing fully opaque.
136
172
  *
137
- * @type {Number}
173
+ * @type {number}
138
174
  * @default 1.0
139
175
  */
140
176
  this.alpha = defaultValue(
141
177
  options.alpha,
142
- defaultValue(imageryProvider.defaultAlpha, 1.0)
178
+ defaultValue(imageryProvider._defaultAlpha, 1.0)
143
179
  );
144
180
 
145
181
  /**
146
182
  * The alpha blending value of this layer on the night side of the globe, with 0.0 representing fully transparent and
147
183
  * 1.0 representing fully opaque. This only takes effect when {@link Globe#enableLighting} is <code>true</code>.
148
184
  *
149
- * @type {Number}
185
+ * @type {number}
150
186
  * @default 1.0
151
187
  */
152
188
  this.nightAlpha = defaultValue(
153
189
  options.nightAlpha,
154
- defaultValue(imageryProvider.defaultNightAlpha, 1.0)
190
+ defaultValue(imageryProvider._defaultNightAlpha, 1.0)
155
191
  );
156
192
 
157
193
  /**
158
194
  * The alpha blending value of this layer on the day side of the globe, with 0.0 representing fully transparent and
159
195
  * 1.0 representing fully opaque. This only takes effect when {@link Globe#enableLighting} is <code>true</code>.
160
196
  *
161
- * @type {Number}
197
+ * @type {number}
162
198
  * @default 1.0
163
199
  */
164
200
  this.dayAlpha = defaultValue(
165
201
  options.dayAlpha,
166
- defaultValue(imageryProvider.defaultDayAlpha, 1.0)
202
+ defaultValue(imageryProvider._defaultDayAlpha, 1.0)
167
203
  );
168
204
 
169
205
  /**
170
206
  * The brightness of this layer. 1.0 uses the unmodified imagery color. Less than 1.0
171
207
  * makes the imagery darker while greater than 1.0 makes it brighter.
172
208
  *
173
- * @type {Number}
209
+ * @type {number}
174
210
  * @default {@link ImageryLayer.DEFAULT_BRIGHTNESS}
175
211
  */
176
212
  this.brightness = defaultValue(
177
213
  options.brightness,
178
214
  defaultValue(
179
- imageryProvider.defaultBrightness,
215
+ imageryProvider._defaultBrightness,
180
216
  ImageryLayer.DEFAULT_BRIGHTNESS
181
217
  )
182
218
  );
@@ -185,36 +221,39 @@ function ImageryLayer(imageryProvider, options) {
185
221
  * The contrast of this layer. 1.0 uses the unmodified imagery color. Less than 1.0 reduces
186
222
  * the contrast while greater than 1.0 increases it.
187
223
  *
188
- * @type {Number}
224
+ * @type {number}
189
225
  * @default {@link ImageryLayer.DEFAULT_CONTRAST}
190
226
  */
191
227
  this.contrast = defaultValue(
192
228
  options.contrast,
193
- defaultValue(imageryProvider.defaultContrast, ImageryLayer.DEFAULT_CONTRAST)
229
+ defaultValue(
230
+ imageryProvider._defaultContrast,
231
+ ImageryLayer.DEFAULT_CONTRAST
232
+ )
194
233
  );
195
234
 
196
235
  /**
197
236
  * The hue of this layer in radians. 0.0 uses the unmodified imagery color.
198
237
  *
199
- * @type {Number}
238
+ * @type {number}
200
239
  * @default {@link ImageryLayer.DEFAULT_HUE}
201
240
  */
202
241
  this.hue = defaultValue(
203
242
  options.hue,
204
- defaultValue(imageryProvider.defaultHue, ImageryLayer.DEFAULT_HUE)
243
+ defaultValue(imageryProvider._defaultHue, ImageryLayer.DEFAULT_HUE)
205
244
  );
206
245
 
207
246
  /**
208
247
  * The saturation of this layer. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the
209
248
  * saturation while greater than 1.0 increases it.
210
249
  *
211
- * @type {Number}
250
+ * @type {number}
212
251
  * @default {@link ImageryLayer.DEFAULT_SATURATION}
213
252
  */
214
253
  this.saturation = defaultValue(
215
254
  options.saturation,
216
255
  defaultValue(
217
- imageryProvider.defaultSaturation,
256
+ imageryProvider._defaultSaturation,
218
257
  ImageryLayer.DEFAULT_SATURATION
219
258
  )
220
259
  );
@@ -222,12 +261,12 @@ function ImageryLayer(imageryProvider, options) {
222
261
  /**
223
262
  * The gamma correction to apply to this layer. 1.0 uses the unmodified imagery color.
224
263
  *
225
- * @type {Number}
264
+ * @type {number}
226
265
  * @default {@link ImageryLayer.DEFAULT_GAMMA}
227
266
  */
228
267
  this.gamma = defaultValue(
229
268
  options.gamma,
230
- defaultValue(imageryProvider.defaultGamma, ImageryLayer.DEFAULT_GAMMA)
269
+ defaultValue(imageryProvider._defaultGamma, ImageryLayer.DEFAULT_GAMMA)
231
270
  );
232
271
 
233
272
  /**
@@ -238,7 +277,7 @@ function ImageryLayer(imageryProvider, options) {
238
277
  */
239
278
  this.splitDirection = defaultValue(
240
279
  options.splitDirection,
241
- defaultValue(imageryProvider.defaultSplit, ImageryLayer.DEFAULT_SPLIT)
280
+ ImageryLayer.DEFAULT_SPLIT
242
281
  );
243
282
 
244
283
  /**
@@ -255,7 +294,7 @@ function ImageryLayer(imageryProvider, options) {
255
294
  this.minificationFilter = defaultValue(
256
295
  options.minificationFilter,
257
296
  defaultValue(
258
- imageryProvider.defaultMinificationFilter,
297
+ imageryProvider._defaultMinificationFilter,
259
298
  ImageryLayer.DEFAULT_MINIFICATION_FILTER
260
299
  )
261
300
  );
@@ -274,7 +313,7 @@ function ImageryLayer(imageryProvider, options) {
274
313
  this.magnificationFilter = defaultValue(
275
314
  options.magnificationFilter,
276
315
  defaultValue(
277
- imageryProvider.defaultMagnificationFilter,
316
+ imageryProvider._defaultMagnificationFilter,
278
317
  ImageryLayer.DEFAULT_MAGNIFICATION_FILTER
279
318
  )
280
319
  );
@@ -282,7 +321,7 @@ function ImageryLayer(imageryProvider, options) {
282
321
  /**
283
322
  * Determines if this layer is shown.
284
323
  *
285
- * @type {Boolean}
324
+ * @type {boolean}
286
325
  * @default true
287
326
  */
288
327
  this.show = defaultValue(options.show, true);
@@ -327,7 +366,7 @@ function ImageryLayer(imageryProvider, options) {
327
366
  /**
328
367
  * Normalized (0-1) threshold for color-to-alpha.
329
368
  *
330
- * @type {Number}
369
+ * @type {number}
331
370
  */
332
371
  this.colorToAlphaThreshold = defaultValue(
333
372
  options.colorToAlphaThreshold,
@@ -337,7 +376,7 @@ function ImageryLayer(imageryProvider, options) {
337
376
 
338
377
  Object.defineProperties(ImageryLayer.prototype, {
339
378
  /**
340
- * Gets the imagery provider for this layer.
379
+ * Gets the imagery provider for this layer. This should not be called before {@link ImageryLayer#ready} returns true.
341
380
  * @memberof ImageryLayer.prototype
342
381
  * @type {ImageryProvider}
343
382
  * @readonly
@@ -348,6 +387,45 @@ Object.defineProperties(ImageryLayer.prototype, {
348
387
  },
349
388
  },
350
389
 
390
+ /**
391
+ * Returns true when the terrain provider has been successfully created. Otherwise, returns false.
392
+ * @memberof ImageryLayer.prototype
393
+ * @type {boolean}
394
+ * @readonly
395
+ */
396
+ ready: {
397
+ get: function () {
398
+ return defined(this._imageryProvider);
399
+ },
400
+ },
401
+
402
+ /**
403
+ * Gets an event that is raised when the imagery provider encounters an asynchronous error. By subscribing
404
+ * to the event, you will be notified of the error and can potentially recover from it. Event listeners
405
+ * are passed an instance of the thrown error.
406
+ * @memberof Imagery.prototype
407
+ * @type {Event<Imagery.ErrorEventCallback>}
408
+ * @readonly
409
+ */
410
+ errorEvent: {
411
+ get: function () {
412
+ return this._errorEvent;
413
+ },
414
+ },
415
+
416
+ /**
417
+ * Gets an event that is raised when the imagery provider has been successfully created. Event listeners
418
+ * are passed the created instance of {@link ImageryProvider}.
419
+ * @memberof ImageryLayer.prototype
420
+ * @type {Event<ImageryLayer.ReadyEventCallback>}
421
+ * @readonly
422
+ */
423
+ readyEvent: {
424
+ get: function () {
425
+ return this._readyEvent;
426
+ },
427
+ },
428
+
351
429
  /**
352
430
  * Gets the rectangle of this layer. If this rectangle is smaller than the rectangle of the
353
431
  * {@link ImageryProvider}, only a portion of the imagery provider is shown.
@@ -365,35 +443,35 @@ Object.defineProperties(ImageryLayer.prototype, {
365
443
  /**
366
444
  * This value is used as the default brightness for the imagery layer if one is not provided during construction
367
445
  * or by the imagery provider. This value does not modify the brightness of the imagery.
368
- * @type {Number}
446
+ * @type {number}
369
447
  * @default 1.0
370
448
  */
371
449
  ImageryLayer.DEFAULT_BRIGHTNESS = 1.0;
372
450
  /**
373
451
  * This value is used as the default contrast for the imagery layer if one is not provided during construction
374
452
  * or by the imagery provider. This value does not modify the contrast of the imagery.
375
- * @type {Number}
453
+ * @type {number}
376
454
  * @default 1.0
377
455
  */
378
456
  ImageryLayer.DEFAULT_CONTRAST = 1.0;
379
457
  /**
380
458
  * This value is used as the default hue for the imagery layer if one is not provided during construction
381
459
  * or by the imagery provider. This value does not modify the hue of the imagery.
382
- * @type {Number}
460
+ * @type {number}
383
461
  * @default 0.0
384
462
  */
385
463
  ImageryLayer.DEFAULT_HUE = 0.0;
386
464
  /**
387
465
  * This value is used as the default saturation for the imagery layer if one is not provided during construction
388
466
  * or by the imagery provider. This value does not modify the saturation of the imagery.
389
- * @type {Number}
467
+ * @type {number}
390
468
  * @default 1.0
391
469
  */
392
470
  ImageryLayer.DEFAULT_SATURATION = 1.0;
393
471
  /**
394
472
  * This value is used as the default gamma for the imagery layer if one is not provided during construction
395
473
  * or by the imagery provider. This value does not modify the gamma of the imagery.
396
- * @type {Number}
474
+ * @type {number}
397
475
  * @default 1.0
398
476
  */
399
477
  ImageryLayer.DEFAULT_GAMMA = 1.0;
@@ -425,11 +503,118 @@ ImageryLayer.DEFAULT_MAGNIFICATION_FILTER = TextureMagnificationFilter.LINEAR;
425
503
  /**
426
504
  * This value is used as the default threshold for color-to-alpha if one is not provided
427
505
  * during construction or by the imagery provider.
428
- * @type {Number}
506
+ * @type {number}
429
507
  * @default 0.004
430
508
  */
431
509
  ImageryLayer.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD = 0.004;
432
510
 
511
+ /**
512
+ * Create a new imagery layer from an asynchronous imagery provider. The layer will handle any asynchronous loads or errors, and begin rendering the imagery layer once ready.
513
+ *
514
+ * @param {Promise<ImageryProvider>} imageryProviderPromise A promise which resolves to a imagery provider
515
+ * @param {ImageryLayer.ConstructorOptions} options An object describing initialization options
516
+ * @returns {ImageryLayer} The created imagery layer.
517
+ *
518
+ * @example
519
+ * // Create a new base layer
520
+ * const viewer = new Cesium.Viewer("cesiumContainer", {
521
+ * baseLayer: Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
522
+ * });
523
+ *
524
+ * @example
525
+ * // Add a new transparent layer
526
+ * const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
527
+ * imageryLayer.alpha = 0.5;
528
+ * viewer.imageryLayers.add(imageryLayer);
529
+ *
530
+ * @example
531
+ * // Handle loading events
532
+ * const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
533
+ * viewer.imageryLayers.add(imageryLayer);
534
+ *
535
+ * imageryLayer.readyEvent.addEventListener(provider => {
536
+ * imageryLayer.provider.errorEvent.addEventListener(error => {
537
+ * alert(`Encountered an error while loading imagery tiles! ${error}`);
538
+ * });
539
+ * });
540
+ *
541
+ * imageryLayer.errorEvent.addEventListener(error => {
542
+ * alert(`Encountered an error while creating an imagery layer! ${error}`);
543
+ * });
544
+ *
545
+ * @see ImageryLayer.errorEvent
546
+ * @see ImageryLayer.readyEvent
547
+ * @see ImageryLayer.provider
548
+ * @see ImageryLayer.fromWorldImagery
549
+ */
550
+ ImageryLayer.fromProviderAsync = function (imageryProviderPromise, options) {
551
+ //>>includeStart('debug', pragmas.debug);
552
+ Check.typeOf.object("imageryProviderPromise", imageryProviderPromise);
553
+ //>>includeEnd('debug');
554
+
555
+ const layer = new ImageryLayer(undefined, options);
556
+
557
+ handlePromise(layer, Promise.resolve(imageryProviderPromise));
558
+
559
+ return layer;
560
+ };
561
+
562
+ /**
563
+ * @typedef {ImageryLayer.ConstructorOptions} ImageryLayer.WorldImageryConstructorOptions
564
+ *
565
+ * Initialization options for ImageryLayer.fromWorldImagery
566
+ *
567
+ * @property {IonWorldImageryStyle} [options.style=IonWorldImageryStyle] The style of base imagery, only AERIAL, AERIAL_WITH_LABELS, and ROAD are currently supported.
568
+ */
569
+
570
+ /**
571
+ * Create a new imagery layer for ion's default global base imagery layer, currently Bing Maps. The layer will handle any asynchronous loads or errors, and begin rendering the imagery layer once ready.
572
+ *
573
+ * @param {ImageryLayer.WorldImageryConstructorOptions} options An object describing initialization options
574
+ * @returns {ImageryLayer} The created imagery layer.
575
+ *
576
+ * * @example
577
+ * // Create a new base layer
578
+ * const viewer = new Cesium.Viewer("cesiumContainer", {
579
+ * baseLayer: Cesium.ImageryLayer.fromWorldImagery();
580
+ * });
581
+ *
582
+ * @example
583
+ * // Add a new transparent layer
584
+ * const imageryLayer = Cesium.ImageryLayer.fromWorldImagery();
585
+ * imageryLayer.alpha = 0.5;
586
+ * viewer.imageryLayers.add(imageryLayer);
587
+ *
588
+ * @example
589
+ * // Handle loading events
590
+ * const imageryLayer = Cesium.ImageryLayer.fromWorldImagery();
591
+ * viewer.imageryLayers.add(imageryLayer);
592
+ *
593
+ * imageryLayer.readyEvent.addEventListener(provider => {
594
+ * imageryLayer.provider.errorEvent.addEventListener(error => {
595
+ * alert(`Encountered an error while loading imagery tiles! ${error}`);
596
+ * });
597
+ * });
598
+ *
599
+ * imageryLayer.errorEvent.addEventListener(error => {
600
+ * alert(`Encountered an error while creating an imagery layer! ${error}`);
601
+ * });
602
+ *
603
+ * @see ImageryLayer.errorEvent
604
+ * @see ImageryLayer.readyEvent
605
+ * @see ImageryLayer.provider
606
+ */
607
+ ImageryLayer.fromWorldImagery = function (options) {
608
+ options = defaultValue(options, defaultValue.EMPTY_OBJECT);
609
+
610
+ return ImageryLayer.fromProviderAsync(
611
+ createWorldImageryAsync({
612
+ style: options.style,
613
+ }),
614
+ options
615
+ );
616
+ };
617
+
433
618
  /**
434
619
  * Gets a value indicating whether this layer is the base layer in the
435
620
  * {@link ImageryLayerCollection}. The base layer is the one that underlies all
@@ -437,7 +622,7 @@ ImageryLayer.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD = 0.004;
437
622
  * it actually does not, by stretching the texels at the edges over the entire
438
623
  * globe.
439
624
  *
440
- * @returns {Boolean} true if this is the base layer; otherwise, false.
625
+ * @returns {boolean} true if this is the base layer; otherwise, false.
441
626
  */
442
627
  ImageryLayer.prototype.isBaseLayer = function () {
443
628
  return this._isBaseLayer;
@@ -449,7 +634,7 @@ ImageryLayer.prototype.isBaseLayer = function () {
449
634
  * If this object was destroyed, it should not be used; calling any function other than
450
635
  * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
451
636
  *
452
- * @returns {Boolean} True if this object was destroyed; otherwise, false.
637
+ * @returns {boolean} True if this object was destroyed; otherwise, false.
453
638
  *
454
639
  * @see ImageryLayer#destroy
455
640
  */
@@ -486,7 +671,7 @@ const terrainRectangleScratch = new Rectangle();
486
671
  * Computes the intersection of this layer's rectangle with the imagery provider's availability rectangle,
487
672
  * producing the overall bounds of imagery that can be produced by this layer.
488
673
  *
489
- * @returns {Promise.<Rectangle>} A promise to a rectangle which defines the overall bounds of imagery that can be produced by this layer.
674
+ * @returns {Promise<Rectangle>} A promise to a rectangle which defines the overall bounds of imagery that can be produced by this layer.
490
675
  *
491
676
  * @example
492
677
  * // Zoom to an imagery layer.
@@ -496,12 +681,37 @@ const terrainRectangleScratch = new Rectangle();
496
681
  * });
497
682
  * });
498
683
  */
499
- ImageryLayer.prototype.getViewableRectangle = function () {
684
+ ImageryLayer.prototype.getViewableRectangle = async function () {
685
+ deprecationWarning(
686
+ "ImageryLayer.getViewableRectangle",
687
+ "ImageryLayer.getViewableRectangle was deprecated in CesiumJS 1.104. It will be removed in CesiumJS 1.107. Use ImageryLayer.getImageryRectangle instead."
688
+ );
689
+
500
690
  const imageryProvider = this._imageryProvider;
501
691
  const rectangle = this._rectangle;
502
- return imageryProvider.readyPromise.then(function () {
503
- return Rectangle.intersection(imageryProvider.rectangle, rectangle);
504
- });
692
+ // readyPromise has been deprecated. This is here for backward compatibility and can be removed with readyPromise.
693
+ await imageryProvider._readyPromise;
694
+ return Rectangle.intersection(imageryProvider.rectangle, rectangle);
695
+ };
696
+
697
+ /**
698
+ * Computes the intersection of this layer's rectangle with the imagery provider's availability rectangle,
699
+ * producing the overall bounds of imagery that can be produced by this layer.
700
+ *
701
+ * @returns {Rectangle} A rectangle which defines the overall bounds of imagery that can be produced by this layer.
702
+ *
703
+ * @example
704
+ * // Zoom to an imagery layer.
705
+ * const imageryRectangle = imageryLayer.getImageryRectangle();
706
+ * scene.camera.flyTo({
707
+ * destination: rectangle
708
+ * });
709
+ *
710
+ */
711
+ ImageryLayer.prototype.getImageryRectangle = function () {
712
+ const imageryProvider = this._imageryProvider;
713
+ const rectangle = this._rectangle;
714
+ return Rectangle.intersection(imageryProvider.rectangle, rectangle);
505
715
  };
506
716
 
507
717
  /**
@@ -511,9 +721,9 @@ ImageryLayer.prototype.getViewableRectangle = function () {
511
721
  * @private
512
722
  *
513
723
  * @param {Tile} tile The terrain tile.
514
- * @param {TerrainProvider} terrainProvider The terrain provider associated with the terrain tile.
515
- * @param {Number} insertionPoint The position to insert new skeletons before in the tile's imagery list.
516
- * @returns {Boolean} true if this layer overlaps any portion of the terrain tile; otherwise, false.
724
+ * @param {TerrainProvider|undefined} terrainProvider The terrain provider associated with the terrain tile.
725
+ * @param {number} insertionPoint The position to insert new skeletons before in the tile's imagery list.
726
+ * @returns {boolean} true if this layer overlaps any portion of the terrain tile; otherwise, false.
517
727
  */
518
728
  ImageryLayer.prototype._createTileImagerySkeletons = function (
519
729
  tile,
@@ -523,8 +733,9 @@ ImageryLayer.prototype._createTileImagerySkeletons = function (
523
733
  const surfaceTile = tile.data;
524
734
 
525
735
  if (
526
- defined(this._minimumTerrainLevel) &&
527
- tile.level < this._minimumTerrainLevel
736
+ !defined(terrainProvider) ||
737
+ (defined(this._minimumTerrainLevel) &&
738
+ tile.level < this._minimumTerrainLevel)
528
739
  ) {
529
740
  return false;
530
741
  }
@@ -535,13 +746,13 @@ ImageryLayer.prototype._createTileImagerySkeletons = function (
535
746
  return false;
536
747
  }
537
748
 
538
- const imageryProvider = this._imageryProvider;
539
-
540
749
  if (!defined(insertionPoint)) {
541
750
  insertionPoint = surfaceTile.imagery.length;
542
751
  }
543
752
 
544
- if (!imageryProvider.ready) {
753
+ const imageryProvider = this._imageryProvider;
754
+ // ready is deprecated. This is here for backwards compatibility
755
+ if (!this.ready || !imageryProvider._ready) {
545
756
  // The imagery provider is not ready, so we can't create skeletons, yet.
546
757
  // Instead, add a placeholder so that we'll know to create
547
758
  // the skeletons once the provider is ready.
@@ -959,7 +1170,7 @@ ImageryLayer.prototype._requestImagery = function (imagery) {
959
1170
  return;
960
1171
  }
961
1172
 
962
- // Initially assume failure. handleError may retry, in which case the state will
1173
+ // Initially assume failure. An error handler may retry, in which case the state will
963
1174
  // change to TRANSITIONING.
964
1175
  imagery.state = ImageryState.FAILED;
965
1176
  imagery.request = undefined;
@@ -1192,7 +1403,7 @@ ImageryLayer.prototype._finalizeReprojectTexture = function (context, texture) {
1192
1403
  *
1193
1404
  * @param {FrameState} frameState The frameState.
1194
1405
  * @param {Imagery} imagery The imagery instance to reproject.
1195
- * @param {Boolean} [needGeographicProjection=true] True to reproject to geographic, or false if Web Mercator is fine.
1406
+ * @param {boolean} [needGeographicProjection=true] True to reproject to geographic, or false if Web Mercator is fine.
1196
1407
  */
1197
1408
  ImageryLayer.prototype._reprojectTexture = function (
1198
1409
  frameState,
@@ -1508,9 +1719,9 @@ function reprojectToGeographic(command, context, texture, rectangle) {
1508
1719
  * Gets the level with the specified world coordinate spacing between texels, or less.
1509
1720
  *
1510
1721
  * @param {ImageryLayer} layer The imagery layer to use.
1511
- * @param {Number} texelSpacing The texel spacing for which to find a corresponding level.
1512
- * @param {Number} latitudeClosestToEquator The latitude closest to the equator that we're concerned with.
1513
- * @returns {Number} The level with the specified texel spacing or less.
1722
+ * @param {number} texelSpacing The texel spacing for which to find a corresponding level.
1723
+ * @param {number} latitudeClosestToEquator The latitude closest to the equator that we're concerned with.
1724
+ * @returns {number} The level with the specified texel spacing or less.
1514
1725
  * @private
1515
1726
  */
1516
1727
  function getLevelWithMaximumTexelSpacing(
@@ -1538,4 +1749,44 @@ function getLevelWithMaximumTexelSpacing(
1538
1749
  const rounded = Math.round(level);
1539
1750
  return rounded | 0;
1540
1751
  }
1752
+
1753
+ function handleError(errorEvent, error) {
1754
+ if (errorEvent.numberOfListeners > 0) {
1755
+ errorEvent.raiseEvent(error);
1756
+ } else {
1757
+ // Default handler is to log to the console
1758
+ console.error(error);
1759
+ }
1760
+ }
1761
+
1762
+ async function handlePromise(instance, promise) {
1763
+ let provider;
1764
+ try {
1765
+ provider = await Promise.resolve(promise);
1766
+ if (instance.isDestroyed()) {
1767
+ return;
1768
+ }
1769
+ instance._imageryProvider = provider;
1770
+ instance._readyEvent.raiseEvent(provider);
1771
+ } catch (error) {
1772
+ handleError(instance._errorEvent, error);
1773
+ }
1774
+ }
1775
+
1541
1776
  export default ImageryLayer;
1777
+
1778
+ /**
1779
+ * A function that is called when an error occurs.
1780
+ * @callback ImageryLayer.ErrorEventCallback
1781
+ *
1782
+ * @this ImageryLayer
1783
+ * @param {Error} err An object holding details about the error that occurred.
1784
+ */
1785
+
1786
+ /**
1787
+ * A function that is called when the provider has been created
1788
+ * @callback ImageryLayer.ReadyEventCallback
1789
+ *
1790
+ * @this ImageryLayer
1791
+ * @param {ImageryProvider} provider The created imagery provider.
1792
+ */