@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,7 +1,7 @@
1
1
  import Check from "../Core/Check.js";
2
2
  import defaultValue from "../Core/defaultValue.js";
3
3
  import defined from "../Core/defined.js";
4
- import DeveloperError from "../Core/DeveloperError.js";
4
+ import deprecationWarning from "../Core/deprecationWarning.js";
5
5
  import Event from "../Core/Event.js";
6
6
  import IonResource from "../Core/IonResource.js";
7
7
  import RuntimeError from "../Core/RuntimeError.js";
@@ -35,17 +35,59 @@ const ImageryProviderMapping = {
35
35
  WMTS: createFactory(WebMapTileServiceImageryProvider),
36
36
  };
37
37
 
38
+ const ImageryProviderAsyncMapping = {
39
+ ARCGIS_MAPSERVER: ArcGisMapServerImageryProvider.fromUrl,
40
+ BING: async (url, options) => {
41
+ return BingMapsImageryProvider.fromUrl(url, options);
42
+ },
43
+ GOOGLE_EARTH: async (url, options) => {
44
+ const channel = options.channel;
45
+ delete options.channel;
46
+ return GoogleEarthEnterpriseMapsProvider.fromUrl(url, channel, options);
47
+ },
48
+ MAPBOX: (url, options) => {
49
+ return new MapboxImageryProvider({
50
+ url: url,
51
+ ...options,
52
+ });
53
+ },
54
+ SINGLE_TILE: SingleTileImageryProvider.fromUrl,
55
+ TMS: TileMapServiceImageryProvider.fromUrl,
56
+ URL_TEMPLATE: (url, options) => {
57
+ return new UrlTemplateImageryProvider({
58
+ url: url,
59
+ ...options,
60
+ });
61
+ },
62
+ WMS: (url, options) => {
63
+ return new WebMapServiceImageryProvider({
64
+ url: url,
65
+ ...options,
66
+ });
67
+ },
68
+ WMTS: (url, options) => {
69
+ return new WebMapTileServiceImageryProvider({
70
+ url: url,
71
+ ...options,
72
+ });
73
+ },
74
+ };
75
+
38
76
  /**
39
- * @typedef {Object} IonImageryProvider.ConstructorOptions
77
+ * @typedef {object} IonImageryProvider.ConstructorOptions
40
78
  *
41
79
  * Initialization options for the TileMapServiceImageryProvider constructor
42
80
  *
43
- * @property {Number} assetId An ion imagery asset ID
44
- * @property {String} [accessToken=Ion.defaultAccessToken] The access token to use.
45
- * @property {String|Resource} [server=Ion.defaultServer] The resource to the Cesium ion API server.
81
+ * @property {number} [assetId] An ion imagery asset ID. Deprecated.
82
+ * @property {string} [accessToken=Ion.defaultAccessToken] The access token to use.
83
+ * @property {string|Resource} [server=Ion.defaultServer] The resource to the Cesium ion API server.
46
84
  */
47
85
 
48
86
  /**
87
+ * <div class="notice">
88
+ * To construct a IonImageryProvider, call {@link IonImageryProvider.fromAssetId}. Do not call the constructor directly.
89
+ * </div>
90
+ *
49
91
  * Provides tiled imagery using the Cesium ion REST API.
50
92
  *
51
93
  * @alias IonImageryProvider
@@ -54,179 +96,54 @@ const ImageryProviderMapping = {
54
96
  * @param {IonImageryProvider.ConstructorOptions} options Object describing initialization options
55
97
  *
56
98
  * @example
57
- * viewer.imageryLayers.addImageryProvider(new Cesium.IonImageryProvider({ assetId : 23489024 }));
99
+ * const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
100
+ * viewer.imageryLayers.add(imageryLayer);
101
+ *
102
+ * @see IonImageryProvider.fromAssetId
58
103
  */
59
104
  function IonImageryProvider(options) {
60
105
  options = defaultValue(options, defaultValue.EMPTY_OBJECT);
61
106
 
62
- const assetId = options.assetId;
63
- //>>includeStart('debug', pragmas.debug);
64
- Check.typeOf.number("options.assetId", assetId);
65
- //>>includeEnd('debug');
66
-
67
- /**
68
- * The default alpha blending value of this provider, with 0.0 representing fully transparent and
69
- * 1.0 representing fully opaque.
70
- *
71
- * @type {Number|undefined}
72
- * @default undefined
73
- */
74
- this.defaultAlpha = undefined;
75
-
76
- /**
77
- * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and
78
- * 1.0 representing fully opaque.
79
- *
80
- * @type {Number|undefined}
81
- * @default undefined
82
- */
83
- this.defaultNightAlpha = undefined;
84
-
85
- /**
86
- * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and
87
- * 1.0 representing fully opaque.
88
- *
89
- * @type {Number|undefined}
90
- * @default undefined
91
- */
92
- this.defaultDayAlpha = undefined;
93
-
94
- /**
95
- * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0
96
- * makes the imagery darker while greater than 1.0 makes it brighter.
97
- *
98
- * @type {Number|undefined}
99
- * @default undefined
100
- */
101
- this.defaultBrightness = undefined;
102
-
103
- /**
104
- * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces
105
- * the contrast while greater than 1.0 increases it.
106
- *
107
- * @type {Number|undefined}
108
- * @default undefined
109
- */
110
- this.defaultContrast = undefined;
111
-
112
- /**
113
- * The default hue of this provider in radians. 0.0 uses the unmodified imagery color.
114
- *
115
- * @type {Number|undefined}
116
- * @default undefined
117
- */
118
- this.defaultHue = undefined;
119
-
120
- /**
121
- * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the
122
- * saturation while greater than 1.0 increases it.
123
- *
124
- * @type {Number|undefined}
125
- * @default undefined
126
- */
127
- this.defaultSaturation = undefined;
128
-
129
- /**
130
- * The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color.
131
- *
132
- * @type {Number|undefined}
133
- * @default undefined
134
- */
135
- this.defaultGamma = undefined;
136
-
137
- /**
138
- * The default texture minification filter to apply to this provider.
139
- *
140
- * @type {TextureMinificationFilter}
141
- * @default undefined
142
- */
143
- this.defaultMinificationFilter = undefined;
144
-
145
- /**
146
- * The default texture magnification filter to apply to this provider.
147
- *
148
- * @type {TextureMagnificationFilter}
149
- * @default undefined
150
- */
151
- this.defaultMagnificationFilter = undefined;
107
+ this._defaultAlpha = undefined;
108
+ this._defaultNightAlpha = undefined;
109
+ this._defaultDayAlpha = undefined;
110
+ this._defaultBrightness = undefined;
111
+ this._defaultContrast = undefined;
112
+ this._defaultHue = undefined;
113
+ this._defaultSaturation = undefined;
114
+ this._defaultGamma = undefined;
115
+ this._defaultMinificationFilter = undefined;
116
+ this._defaultMagnificationFilter = undefined;
152
117
 
153
118
  this._ready = false;
154
119
  this._tileCredits = undefined;
155
120
  this._errorEvent = new Event();
156
121
 
157
- const that = this;
158
- const endpointResource = IonResource._createEndpointResource(
159
- assetId,
160
- options
161
- );
162
-
163
- // A simple cache to avoid making repeated requests to ion for endpoints we've
164
- // already retrieved. This exists mainly to support Bing caching to reduce
165
- // world imagery sessions, but provides a small boost of performance in general
166
- // if constantly reloading assets
167
- const cacheKey =
168
- options.assetId.toString() + options.accessToken + options.server;
169
- let promise = IonImageryProvider._endpointCache[cacheKey];
170
- if (!defined(promise)) {
171
- promise = endpointResource.fetchJson();
172
- IonImageryProvider._endpointCache[cacheKey] = promise;
173
- }
174
-
175
- this._readyPromise = promise.then(function (endpoint) {
176
- if (endpoint.type !== "IMAGERY") {
177
- return Promise.reject(
178
- new RuntimeError(`Cesium ion asset ${assetId} is not an imagery asset.`)
179
- );
180
- }
181
-
182
- let imageryProvider;
183
- const externalType = endpoint.externalType;
184
- if (!defined(externalType)) {
185
- imageryProvider = new TileMapServiceImageryProvider({
186
- url: new IonResource(endpoint, endpointResource),
187
- });
188
- } else {
189
- const factory = ImageryProviderMapping[externalType];
190
-
191
- if (!defined(factory)) {
192
- return Promise.reject(
193
- new RuntimeError(
194
- `Unrecognized Cesium ion imagery type: ${externalType}`
195
- )
196
- );
197
- }
198
- imageryProvider = factory(endpoint.options);
199
- }
200
-
201
- that._tileCredits = IonResource.getCreditsFromEndpoint(
202
- endpoint,
203
- endpointResource
122
+ const assetId = options.assetId;
123
+ if (defined(assetId)) {
124
+ deprecationWarning(
125
+ "IonImageryProvider options.assetId",
126
+ "options.assetId was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use IonImageryProvider.fromAssetId instead."
204
127
  );
205
128
 
206
- imageryProvider.errorEvent.addEventListener(function (tileProviderError) {
207
- //Propagate the errorEvent but set the provider to this instance instead
208
- //of the inner instance.
209
- tileProviderError.provider = that;
210
- that._errorEvent.raiseEvent(tileProviderError);
211
- });
212
-
213
- that._imageryProvider = imageryProvider;
214
- return imageryProvider.readyPromise.then(function () {
215
- that._ready = true;
216
- return true;
217
- });
218
- });
129
+ IonImageryProvider._initialize(this, assetId, options);
130
+ }
219
131
  }
220
132
 
221
133
  Object.defineProperties(IonImageryProvider.prototype, {
222
134
  /**
223
135
  * Gets a value indicating whether or not the provider is ready for use.
224
136
  * @memberof IonImageryProvider.prototype
225
- * @type {Boolean}
137
+ * @type {boolean}
226
138
  * @readonly
139
+ * @deprecated
227
140
  */
228
141
  ready: {
229
142
  get: function () {
143
+ deprecationWarning(
144
+ "IonImageryProvider.ready",
145
+ "IonImageryProvider.ready was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use IonImageryProvider.fromAssetId instead."
146
+ );
230
147
  return this._ready;
231
148
  },
232
149
  },
@@ -234,135 +151,92 @@ Object.defineProperties(IonImageryProvider.prototype, {
234
151
  /**
235
152
  * Gets a promise that resolves to true when the provider is ready for use.
236
153
  * @memberof IonImageryProvider.prototype
237
- * @type {Promise.<Boolean>}
154
+ * @type {Promise<boolean>}
238
155
  * @readonly
156
+ * @deprecated
239
157
  */
240
158
  readyPromise: {
241
159
  get: function () {
160
+ deprecationWarning(
161
+ "IonImageryProvider.readyPromise",
162
+ "IonImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use IonImageryProvider.fromAssetId instead."
163
+ );
242
164
  return this._readyPromise;
243
165
  },
244
166
  },
245
167
 
246
168
  /**
247
- * Gets the rectangle, in radians, of the imagery provided by the instance. This function should
248
- * not be called before {@link IonImageryProvider#ready} returns true.
169
+ * Gets the rectangle, in radians, of the imagery provided by the instance.
249
170
  * @memberof IonImageryProvider.prototype
250
171
  * @type {Rectangle}
251
172
  * @readonly
252
173
  */
253
174
  rectangle: {
254
175
  get: function () {
255
- //>>includeStart('debug', pragmas.debug);
256
- if (!this._ready) {
257
- throw new DeveloperError(
258
- "tileHeight must not be called before the imagery provider is ready."
259
- );
260
- }
261
- //>>includeEnd('debug');
262
176
  return this._imageryProvider.rectangle;
263
177
  },
264
178
  },
265
179
 
266
180
  /**
267
- * Gets the width of each tile, in pixels. This function should
268
- * not be called before {@link IonImageryProvider#ready} returns true.
181
+ * Gets the width of each tile, in pixels.
269
182
  * @memberof IonImageryProvider.prototype
270
- * @type {Number}
183
+ * @type {number}
271
184
  * @readonly
272
185
  */
273
186
  tileWidth: {
274
187
  get: function () {
275
- //>>includeStart('debug', pragmas.debug);
276
- if (!this._ready) {
277
- throw new DeveloperError(
278
- "tileWidth must not be called before the imagery provider is ready."
279
- );
280
- }
281
- //>>includeEnd('debug');
282
188
  return this._imageryProvider.tileWidth;
283
189
  },
284
190
  },
285
191
 
286
192
  /**
287
- * Gets the height of each tile, in pixels. This function should
288
- * not be called before {@link IonImageryProvider#ready} returns true.
193
+ * Gets the height of each tile, in pixels.
289
194
  * @memberof IonImageryProvider.prototype
290
- * @type {Number}
195
+ * @type {number}
291
196
  * @readonly
292
197
  */
293
198
  tileHeight: {
294
199
  get: function () {
295
- //>>includeStart('debug', pragmas.debug);
296
- if (!this._ready) {
297
- throw new DeveloperError(
298
- "tileHeight must not be called before the imagery provider is ready."
299
- );
300
- }
301
- //>>includeEnd('debug');
302
200
  return this._imageryProvider.tileHeight;
303
201
  },
304
202
  },
305
203
 
306
204
  /**
307
- * Gets the maximum level-of-detail that can be requested. This function should
308
- * not be called before {@link IonImageryProvider#ready} returns true.
205
+ * Gets the maximum level-of-detail that can be requested.
309
206
  * @memberof IonImageryProvider.prototype
310
- * @type {Number|undefined}
207
+ * @type {number|undefined}
311
208
  * @readonly
312
209
  */
313
210
  maximumLevel: {
314
211
  get: function () {
315
- //>>includeStart('debug', pragmas.debug);
316
- if (!this._ready) {
317
- throw new DeveloperError(
318
- "maximumLevel must not be called before the imagery provider is ready."
319
- );
320
- }
321
- //>>includeEnd('debug');
322
212
  return this._imageryProvider.maximumLevel;
323
213
  },
324
214
  },
325
215
 
326
216
  /**
327
- * Gets the minimum level-of-detail that can be requested. This function should
328
- * not be called before {@link IonImageryProvider#ready} returns true. Generally,
217
+ * Gets the minimum level-of-detail that can be requested. Generally,
329
218
  * a minimum level should only be used when the rectangle of the imagery is small
330
219
  * enough that the number of tiles at the minimum level is small. An imagery
331
220
  * provider with more than a few tiles at the minimum level will lead to
332
221
  * rendering problems.
333
222
  * @memberof IonImageryProvider.prototype
334
- * @type {Number}
223
+ * @type {number}
335
224
  * @readonly
336
225
  */
337
226
  minimumLevel: {
338
227
  get: function () {
339
- //>>includeStart('debug', pragmas.debug);
340
- if (!this._ready) {
341
- throw new DeveloperError(
342
- "minimumLevel must not be called before the imagery provider is ready."
343
- );
344
- }
345
- //>>includeEnd('debug');
346
228
  return this._imageryProvider.minimumLevel;
347
229
  },
348
230
  },
349
231
 
350
232
  /**
351
- * Gets the tiling scheme used by the provider. This function should
352
- * not be called before {@link IonImageryProvider#ready} returns true.
233
+ * Gets the tiling scheme used by the provider.
353
234
  * @memberof IonImageryProvider.prototype
354
235
  * @type {TilingScheme}
355
236
  * @readonly
356
237
  */
357
238
  tilingScheme: {
358
239
  get: function () {
359
- //>>includeStart('debug', pragmas.debug);
360
- if (!this._ready) {
361
- throw new DeveloperError(
362
- "tilingScheme must not be called before the imagery provider is ready."
363
- );
364
- }
365
- //>>includeEnd('debug');
366
240
  return this._imageryProvider.tilingScheme;
367
241
  },
368
242
  },
@@ -370,21 +244,13 @@ Object.defineProperties(IonImageryProvider.prototype, {
370
244
  /**
371
245
  * Gets the tile discard policy. If not undefined, the discard policy is responsible
372
246
  * for filtering out "missing" tiles via its shouldDiscardImage function. If this function
373
- * returns undefined, no tiles are filtered. This function should
374
- * not be called before {@link IonImageryProvider#ready} returns true.
247
+ * returns undefined, no tiles are filtered.
375
248
  * @memberof IonImageryProvider.prototype
376
249
  * @type {TileDiscardPolicy}
377
250
  * @readonly
378
251
  */
379
252
  tileDiscardPolicy: {
380
253
  get: function () {
381
- //>>includeStart('debug', pragmas.debug);
382
- if (!this._ready) {
383
- throw new DeveloperError(
384
- "tileDiscardPolicy must not be called before the imagery provider is ready."
385
- );
386
- }
387
- //>>includeEnd('debug');
388
254
  return this._imageryProvider.tileDiscardPolicy;
389
255
  },
390
256
  },
@@ -405,21 +271,13 @@ Object.defineProperties(IonImageryProvider.prototype, {
405
271
 
406
272
  /**
407
273
  * Gets the credit to display when this imagery provider is active. Typically this is used to credit
408
- * the source of the imagery. This function should
409
- * not be called before {@link IonImageryProvider#ready} returns true.
274
+ * the source of the imagery.
410
275
  * @memberof IonImageryProvider.prototype
411
276
  * @type {Credit}
412
277
  * @readonly
413
278
  */
414
279
  credit: {
415
280
  get: function () {
416
- //>>includeStart('debug', pragmas.debug);
417
- if (!this._ready) {
418
- throw new DeveloperError(
419
- "credit must not be called before the imagery provider is ready."
420
- );
421
- }
422
- //>>includeEnd('debug');
423
281
  return this._imageryProvider.credit;
424
282
  },
425
283
  },
@@ -431,18 +289,11 @@ Object.defineProperties(IonImageryProvider.prototype, {
431
289
  * as if their alpha is 1.0 everywhere. When this property is false, memory usage
432
290
  * and texture upload time are reduced.
433
291
  * @memberof IonImageryProvider.prototype
434
- * @type {Boolean}
292
+ * @type {boolean}
435
293
  * @readonly
436
294
  */
437
295
  hasAlphaChannel: {
438
296
  get: function () {
439
- //>>includeStart('debug', pragmas.debug);
440
- if (!this._ready) {
441
- throw new DeveloperError(
442
- "hasAlphaChannel must not be called before the imagery provider is ready."
443
- );
444
- }
445
- //>>includeEnd('debug');
446
297
  return this._imageryProvider.hasAlphaChannel;
447
298
  },
448
299
 
@@ -459,28 +310,404 @@ Object.defineProperties(IonImageryProvider.prototype, {
459
310
  },
460
311
  },
461
312
  },
313
+
314
+ /**
315
+ * The default alpha blending value of this provider, with 0.0 representing fully transparent and
316
+ * 1.0 representing fully opaque.
317
+ * @memberof IonImageryProvider.prototype
318
+ * @type {Number|undefined}
319
+ * @deprecated
320
+ */
321
+ defaultAlpha: {
322
+ get: function () {
323
+ deprecationWarning(
324
+ "IonImageryProvider.defaultAlpha",
325
+ "IonImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.alpha instead."
326
+ );
327
+ return this._defaultAlpha;
328
+ },
329
+ set: function (value) {
330
+ deprecationWarning(
331
+ "IonImageryProvider.defaultAlpha",
332
+ "IonImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.alpha instead."
333
+ );
334
+ this._defaultAlpha = value;
335
+ },
336
+ },
337
+
338
+ /**
339
+ * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and
340
+ * 1.0 representing fully opaque.
341
+ * @memberof IonImageryProvider.prototype
342
+ * @type {Number|undefined}
343
+ * @deprecated
344
+ */
345
+ defaultNightAlpha: {
346
+ get: function () {
347
+ deprecationWarning(
348
+ "IonImageryProvider.defaultNightAlpha",
349
+ "IonImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."
350
+ );
351
+ return this.defaultNightAlpha;
352
+ },
353
+ set: function (value) {
354
+ deprecationWarning(
355
+ "IonImageryProvider.defaultNightAlpha",
356
+ "IonImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."
357
+ );
358
+ this.defaultNightAlpha = value;
359
+ },
360
+ },
361
+
362
+ /**
363
+ * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and
364
+ * 1.0 representing fully opaque.
365
+ * @memberof IonImageryProvider.prototype
366
+ * @type {Number|undefined}
367
+ * @deprecated
368
+ */
369
+ defaultDayAlpha: {
370
+ get: function () {
371
+ deprecationWarning(
372
+ "IonImageryProvider.defaultDayAlpha",
373
+ "IonImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."
374
+ );
375
+ return this._defaultDayAlpha;
376
+ },
377
+ set: function (value) {
378
+ deprecationWarning(
379
+ "IonImageryProvider.defaultDayAlpha",
380
+ "IonImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."
381
+ );
382
+ this._defaultDayAlpha = value;
383
+ },
384
+ },
385
+
386
+ /**
387
+ * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0
388
+ * makes the imagery darker while greater than 1.0 makes it brighter.
389
+ * @memberof IonImageryProvider.prototype
390
+ * @type {Number|undefined}
391
+ * @deprecated
392
+ */
393
+ defaultBrightness: {
394
+ get: function () {
395
+ deprecationWarning(
396
+ "IonImageryProvider.defaultBrightness",
397
+ "IonImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.brightness instead."
398
+ );
399
+ return this._defaultBrightness;
400
+ },
401
+ set: function (value) {
402
+ deprecationWarning(
403
+ "IonImageryProvider.defaultBrightness",
404
+ "IonImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.brightness instead."
405
+ );
406
+ this._defaultBrightness = value;
407
+ },
408
+ },
409
+
410
+ /**
411
+ * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces
412
+ * the contrast while greater than 1.0 increases it.
413
+ * @memberof IonImageryProvider.prototype
414
+ * @type {Number|undefined}
415
+ * @deprecated
416
+ */
417
+ defaultContrast: {
418
+ get: function () {
419
+ deprecationWarning(
420
+ "IonImageryProvider.defaultContrast",
421
+ "IonImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.contrast instead."
422
+ );
423
+ return this._defaultContrast;
424
+ },
425
+ set: function (value) {
426
+ deprecationWarning(
427
+ "IonImageryProvider.defaultContrast",
428
+ "IonImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.contrast instead."
429
+ );
430
+ this._defaultContrast = value;
431
+ },
432
+ },
433
+
434
+ /**
435
+ * The default hue of this provider in radians. 0.0 uses the unmodified imagery color.
436
+ * @memberof IonImageryProvider.prototype
437
+ * @type {Number|undefined}
438
+ * @deprecated
439
+ */
440
+ defaultHue: {
441
+ get: function () {
442
+ deprecationWarning(
443
+ "IonImageryProvider.defaultHue",
444
+ "IonImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.hue instead."
445
+ );
446
+ return this._defaultHue;
447
+ },
448
+ set: function (value) {
449
+ deprecationWarning(
450
+ "IonImageryProvider.defaultHue",
451
+ "IonImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.hue instead."
452
+ );
453
+ this._defaultHue = value;
454
+ },
455
+ },
456
+
457
+ /**
458
+ * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the
459
+ * saturation while greater than 1.0 increases it.
460
+ * @memberof IonImageryProvider.prototype
461
+ * @type {Number|undefined}
462
+ * @deprecated
463
+ */
464
+ defaultSaturation: {
465
+ get: function () {
466
+ deprecationWarning(
467
+ "IonImageryProvider.defaultSaturation",
468
+ "IonImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.saturation instead."
469
+ );
470
+ return this._defaultSaturation;
471
+ },
472
+ set: function (value) {
473
+ deprecationWarning(
474
+ "IonImageryProvider.defaultSaturation",
475
+ "IonImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.saturation instead."
476
+ );
477
+ this._defaultSaturation = value;
478
+ },
479
+ },
480
+
481
+ /**
482
+ * The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color.
483
+ * @memberof IonImageryProvider.prototype
484
+ * @type {Number|undefined}
485
+ * @deprecated
486
+ */
487
+ defaultGamma: {
488
+ get: function () {
489
+ deprecationWarning(
490
+ "IonImageryProvider.defaultGamma",
491
+ "IonImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.gamma instead."
492
+ );
493
+ return this._defaultGamma;
494
+ },
495
+ set: function (value) {
496
+ deprecationWarning(
497
+ "IonImageryProvider.defaultGamma",
498
+ "IonImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.gamma instead."
499
+ );
500
+ this._defaultGamma = value;
501
+ },
502
+ },
503
+
504
+ /**
505
+ * The default texture minification filter to apply to this provider.
506
+ * @memberof IonImageryProvider.prototype
507
+ * @type {TextureMinificationFilter}
508
+ * @deprecated
509
+ */
510
+ defaultMinificationFilter: {
511
+ get: function () {
512
+ deprecationWarning(
513
+ "IonImageryProvider.defaultMinificationFilter",
514
+ "IonImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."
515
+ );
516
+ return this._defaultMinificationFilter;
517
+ },
518
+ set: function (value) {
519
+ deprecationWarning(
520
+ "IonImageryProvider.defaultMinificationFilter",
521
+ "IonImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."
522
+ );
523
+ this._defaultMinificationFilter = value;
524
+ },
525
+ },
526
+
527
+ /**
528
+ * The default texture magnification filter to apply to this provider.
529
+ * @memberof IonImageryProvider.prototype
530
+ * @type {TextureMagnificationFilter}
531
+ * @deprecated
532
+ */
533
+ defaultMagnificationFilter: {
534
+ get: function () {
535
+ deprecationWarning(
536
+ "IonImageryProvider.defaultMagnificationFilter",
537
+ "IonImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."
538
+ );
539
+ return this._defaultMagnificationFilter;
540
+ },
541
+ set: function (value) {
542
+ deprecationWarning(
543
+ "IonImageryProvider.defaultMagnificationFilter",
544
+ "IonImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."
545
+ );
546
+ this._defaultMagnificationFilter = value;
547
+ },
548
+ },
462
549
  });
463
550
 
551
+ // This is here for backwards compatibility
552
+ IonImageryProvider._initialize = function (provider, assetId, options) {
553
+ const endpointResource = IonResource._createEndpointResource(
554
+ assetId,
555
+ options
556
+ );
557
+
558
+ // A simple cache to avoid making repeated requests to ion for endpoints we've
559
+ // already retrieved. This exists mainly to support Bing caching to reduce
560
+ // world imagery sessions, but provides a small boost of performance in general
561
+ // if constantly reloading assets
562
+ const cacheKey = assetId.toString() + options.accessToken + options.server;
563
+ let promise = IonImageryProvider._endpointCache[cacheKey];
564
+ if (!defined(promise)) {
565
+ promise = endpointResource.fetchJson();
566
+ IonImageryProvider._endpointCache[cacheKey] = promise;
567
+ }
568
+
569
+ provider._readyPromise = promise.then(function (endpoint) {
570
+ if (endpoint.type !== "IMAGERY") {
571
+ return Promise.reject(
572
+ new RuntimeError(`Cesium ion asset ${assetId} is not an imagery asset.`)
573
+ );
574
+ }
575
+
576
+ let imageryProvider;
577
+ const externalType = endpoint.externalType;
578
+ if (!defined(externalType)) {
579
+ imageryProvider = new TileMapServiceImageryProvider({
580
+ url: new IonResource(endpoint, endpointResource),
581
+ });
582
+ } else {
583
+ const factory = ImageryProviderMapping[externalType];
584
+
585
+ if (!defined(factory)) {
586
+ return Promise.reject(
587
+ new RuntimeError(
588
+ `Unrecognized Cesium ion imagery type: ${externalType}`
589
+ )
590
+ );
591
+ }
592
+ imageryProvider = factory(endpoint.options);
593
+ }
594
+
595
+ provider._tileCredits = IonResource.getCreditsFromEndpoint(
596
+ endpoint,
597
+ endpointResource
598
+ );
599
+
600
+ imageryProvider.errorEvent.addEventListener(function (tileProviderError) {
601
+ //Propagate the errorEvent but set the provider to this instance instead
602
+ //of the inner instance.
603
+ tileProviderError.provider = provider;
604
+ provider._errorEvent.raiseEvent(tileProviderError);
605
+ });
606
+
607
+ provider._imageryProvider = imageryProvider;
608
+ // readyPromise is deprecated. This is here for backwards compatibility
609
+ return Promise.resolve(imageryProvider._readyPromise).then(function () {
610
+ provider._ready = true;
611
+ return true;
612
+ });
613
+ });
614
+ };
615
+
464
616
  /**
465
- * Gets the credits to be displayed when a given tile is displayed.
466
- * @function
617
+ * Creates a provider for tiled imagery using the Cesium ion REST API.
467
618
  *
468
- * @param {Number} x The tile X coordinate.
469
- * @param {Number} y The tile Y coordinate.
470
- * @param {Number} level The tile level;
471
- * @returns {Credit[]} The credits to be displayed when the tile is displayed.
619
+ * @param {Number} assetId An ion imagery asset ID.
620
+ * @param {IonImageryProvider.ConstructorOptions} options Object describing initialization options.
621
+ * @returns {Promise<IonImageryProvider>} A promise which resolves to the created IonImageryProvider.
472
622
  *
473
- * @exception {DeveloperError} <code>getTileCredits</code> must not be called before the imagery provider is ready.
623
+ * @example
624
+ * const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
625
+ * viewer.imageryLayers.add(imageryLayer);
626
+ *
627
+ * @exception {RuntimeError} Cesium ion assetId is not an imagery asset
628
+ * @exception {RuntimeError} Unrecognized Cesium ion imagery type
474
629
  */
475
- IonImageryProvider.prototype.getTileCredits = function (x, y, level) {
630
+ IonImageryProvider.fromAssetId = async function (assetId, options) {
476
631
  //>>includeStart('debug', pragmas.debug);
477
- if (!this._ready) {
478
- throw new DeveloperError(
479
- "getTileCredits must not be called before the imagery provider is ready."
632
+ Check.typeOf.number("assetId", assetId);
633
+ //>>includeEnd('debug');
634
+
635
+ options = defaultValue(options, defaultValue.EMPTY_OBJECT);
636
+ const endpointResource = IonResource._createEndpointResource(
637
+ assetId,
638
+ options
639
+ );
640
+
641
+ // A simple cache to avoid making repeated requests to ion for endpoints we've
642
+ // already retrieved. This exists mainly to support Bing caching to reduce
643
+ // world imagery sessions, but provides a small boost of performance in general
644
+ // if constantly reloading assets
645
+ const cacheKey = assetId.toString() + options.accessToken + options.server;
646
+ let promise = IonImageryProvider._endpointCache[cacheKey];
647
+ if (!defined(promise)) {
648
+ promise = endpointResource.fetchJson();
649
+ IonImageryProvider._endpointCache[cacheKey] = promise;
650
+ }
651
+
652
+ const endpoint = await promise;
653
+ if (endpoint.type !== "IMAGERY") {
654
+ throw new RuntimeError(
655
+ `Cesium ion asset ${assetId} is not an imagery asset.`
480
656
  );
481
657
  }
482
- //>>includeEnd('debug');
483
658
 
659
+ let imageryProvider;
660
+ const externalType = endpoint.externalType;
661
+ if (!defined(externalType)) {
662
+ imageryProvider = await TileMapServiceImageryProvider.fromUrl(
663
+ new IonResource(endpoint, endpointResource)
664
+ );
665
+ } else {
666
+ const factory = ImageryProviderAsyncMapping[externalType];
667
+
668
+ if (!defined(factory)) {
669
+ throw new RuntimeError(
670
+ `Unrecognized Cesium ion imagery type: ${externalType}`
671
+ );
672
+ }
673
+ // Make a copy before editing since this object reference is cached;
674
+ const options = { ...endpoint.options };
675
+ const url = options.url;
676
+ delete options.url;
677
+ imageryProvider = await factory(url, options);
678
+ }
679
+
680
+ const provider = new IonImageryProvider(options);
681
+
682
+ imageryProvider.errorEvent.addEventListener(function (tileProviderError) {
683
+ //Propagate the errorEvent but set the provider to this instance instead
684
+ //of the inner instance.
685
+ tileProviderError.provider = provider;
686
+ provider._errorEvent.raiseEvent(tileProviderError);
687
+ });
688
+
689
+ provider._tileCredits = IonResource.getCreditsFromEndpoint(
690
+ endpoint,
691
+ endpointResource
692
+ );
693
+
694
+ provider._imageryProvider = imageryProvider;
695
+ provider._ready = true;
696
+ provider._readyPromise = Promise.resolve(true);
697
+
698
+ return provider;
699
+ };
700
+
701
+ /**
702
+ * Gets the credits to be displayed when a given tile is displayed.
703
+ * @function
704
+ *
705
+ * @param {number} x The tile X coordinate.
706
+ * @param {number} y The tile Y coordinate.
707
+ * @param {number} level The tile level;
708
+ * @returns {Credit[]} The credits to be displayed when the tile is displayed.
709
+ */
710
+ IonImageryProvider.prototype.getTileCredits = function (x, y, level) {
484
711
  const innerCredits = this._imageryProvider.getTileCredits(x, y, level);
485
712
  if (!defined(innerCredits)) {
486
713
  return this._tileCredits;
@@ -490,48 +717,35 @@ IonImageryProvider.prototype.getTileCredits = function (x, y, level) {
490
717
  };
491
718
 
492
719
  /**
493
- * Requests the image for a given tile. This function should
494
- * not be called before {@link IonImageryProvider#ready} returns true.
720
+ * Requests the image for a given tile.
495
721
  * @function
496
722
  *
497
- * @param {Number} x The tile X coordinate.
498
- * @param {Number} y The tile Y coordinate.
499
- * @param {Number} level The tile level.
723
+ * @param {number} x The tile X coordinate.
724
+ * @param {number} y The tile Y coordinate.
725
+ * @param {number} level The tile level.
500
726
  * @param {Request} [request] The request object. Intended for internal use only.
501
- * @returns {Promise.<ImageryTypes>|undefined} A promise for the image that will resolve when the image is available, or
727
+ * @returns {Promise<ImageryTypes>|undefined} A promise for the image that will resolve when the image is available, or
502
728
  * undefined if there are too many active requests to the server, and the request should be retried later.
503
- *
504
- * @exception {DeveloperError} <code>requestImage</code> must not be called before the imagery provider is ready.
505
729
  */
506
730
  IonImageryProvider.prototype.requestImage = function (x, y, level, request) {
507
- //>>includeStart('debug', pragmas.debug);
508
- if (!this._ready) {
509
- throw new DeveloperError(
510
- "requestImage must not be called before the imagery provider is ready."
511
- );
512
- }
513
- //>>includeEnd('debug');
514
731
  return this._imageryProvider.requestImage(x, y, level, request);
515
732
  };
516
733
 
517
734
  /**
518
735
  * Asynchronously determines what features, if any, are located at a given longitude and latitude within
519
- * a tile. This function should not be called before {@link IonImageryProvider#ready} returns true.
520
- * This function is optional, so it may not exist on all ImageryProviders.
736
+ * a tile. This function is optional, so it may not exist on all ImageryProviders.
521
737
  *
522
738
  * @function
523
739
  *
524
- * @param {Number} x The tile X coordinate.
525
- * @param {Number} y The tile Y coordinate.
526
- * @param {Number} level The tile level.
527
- * @param {Number} longitude The longitude at which to pick features.
528
- * @param {Number} latitude The latitude at which to pick features.
529
- * @return {Promise.<ImageryLayerFeatureInfo[]>|undefined} A promise for the picked features that will resolve when the asynchronous
740
+ * @param {number} x The tile X coordinate.
741
+ * @param {number} y The tile Y coordinate.
742
+ * @param {number} level The tile level.
743
+ * @param {number} longitude The longitude at which to pick features.
744
+ * @param {number} latitude The latitude at which to pick features.
745
+ * @return {Promise<ImageryLayerFeatureInfo[]>|undefined} A promise for the picked features that will resolve when the asynchronous
530
746
  * picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo}
531
747
  * instances. The array may be empty if no features are found at the given location.
532
748
  * It may also be undefined if picking is not supported.
533
- *
534
- * @exception {DeveloperError} <code>pickFeatures</code> must not be called before the imagery provider is ready.
535
749
  */
536
750
  IonImageryProvider.prototype.pickFeatures = function (
537
751
  x,
@@ -540,13 +754,6 @@ IonImageryProvider.prototype.pickFeatures = function (
540
754
  longitude,
541
755
  latitude
542
756
  ) {
543
- //>>includeStart('debug', pragmas.debug);
544
- if (!this._ready) {
545
- throw new DeveloperError(
546
- "pickFeatures must not be called before the imagery provider is ready."
547
- );
548
- }
549
- //>>includeEnd('debug');
550
757
  return this._imageryProvider.pickFeatures(x, y, level, longitude, latitude);
551
758
  };
552
759