@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,10 +1,11 @@
1
1
  import Cartesian2 from "../Core/Cartesian2.js";
2
2
  import Cartesian3 from "../Core/Cartesian3.js";
3
3
  import Cartographic from "../Core/Cartographic.js";
4
+ import Check from "../Core/Check.js";
4
5
  import Credit from "../Core/Credit.js";
5
6
  import defaultValue from "../Core/defaultValue.js";
6
7
  import defined from "../Core/defined.js";
7
- import DeveloperError from "../Core/DeveloperError.js";
8
+ import deprecationWarning from "../Core/deprecationWarning.js";
8
9
  import Event from "../Core/Event.js";
9
10
  import GeographicProjection from "../Core/GeographicProjection.js";
10
11
  import GeographicTilingScheme from "../Core/GeographicTilingScheme.js";
@@ -20,12 +21,12 @@ import ImageryLayerFeatureInfo from "./ImageryLayerFeatureInfo.js";
20
21
  import ImageryProvider from "./ImageryProvider.js";
21
22
 
22
23
  /**
23
- * @typedef {Object} ArcGisMapServerImageryProvider.ConstructorOptions
24
+ * @typedef {object} ArcGisMapServerImageryProvider.ConstructorOptions
24
25
  *
25
26
  * Initialization options for the ArcGisMapServerImageryProvider constructor
26
27
  *
27
- * @property {Resource|String} url The URL of the ArcGIS MapServer service.
28
- * @property {String} [token] The ArcGIS token used to authenticate with the ArcGIS MapServer service.
28
+ * @property {Resource|string} [url] The URL of the ArcGIS MapServer service. Deprecated.
29
+ * @property {string} [token] The ArcGIS token used to authenticate with the ArcGIS MapServer service. Deprecated.
29
30
  * @property {TileDiscardPolicy} [tileDiscardPolicy] The policy that determines if a tile
30
31
  * is invalid and should be discarded. If this value is not specified, a default
31
32
  * {@link DiscardMissingTileImagePolicy} is used for tiled map servers, and a
@@ -37,11 +38,11 @@ import ImageryProvider from "./ImageryProvider.js";
37
38
  * these defaults should be correct tile discarding for a standard ArcGIS Server. To ensure
38
39
  * that no tiles are discarded, construct and pass a {@link NeverTileDiscardPolicy} for this
39
40
  * parameter.
40
- * @property {Boolean} [usePreCachedTilesIfAvailable=true] If true, the server's pre-cached
41
+ * @property {boolean} [usePreCachedTilesIfAvailable=true] If true, the server's pre-cached
41
42
  * tiles are used if they are available. If false, any pre-cached tiles are ignored and the
42
43
  * 'export' service is used.
43
- * @property {String} [layers] A comma-separated list of the layers to show, or undefined if all layers should be shown.
44
- * @property {Boolean} [enablePickFeatures=true] If true, {@link ArcGisMapServerImageryProvider#pickFeatures} will invoke
44
+ * @property {string} [layers] A comma-separated list of the layers to show, or undefined if all layers should be shown.
45
+ * @property {boolean} [enablePickFeatures=true] If true, {@link ArcGisMapServerImageryProvider#pickFeatures} will invoke
45
46
  * the Identify service on the MapServer and return the features included in the response. If false,
46
47
  * {@link ArcGisMapServerImageryProvider#pickFeatures} will immediately return undefined (indicating no pickable features)
47
48
  * without communicating with the server. Set this property to false if you don't want this provider's features to
@@ -53,22 +54,228 @@ import ImageryProvider from "./ImageryProvider.js";
53
54
  * @property {Ellipsoid} [ellipsoid] The ellipsoid. If the tilingScheme is specified and used,
54
55
  * this parameter is ignored and the tiling scheme's ellipsoid is used instead. If neither
55
56
  * parameter is specified, the WGS84 ellipsoid is used.
56
- * @property {Credit|String} [credit] A credit for the data source, which is displayed on the canvas. This parameter is ignored when accessing a tiled server.
57
- * @property {Number} [tileWidth=256] The width of each tile in pixels. This parameter is ignored when accessing a tiled server.
58
- * @property {Number} [tileHeight=256] The height of each tile in pixels. This parameter is ignored when accessing a tiled server.
59
- * @property {Number} [maximumLevel] The maximum tile level to request, or undefined if there is no maximum. This parameter is ignored when accessing
57
+ * @property {Credit|string} [credit] A credit for the data source, which is displayed on the canvas. This parameter is ignored when accessing a tiled server.
58
+ * @property {number} [tileWidth=256] The width of each tile in pixels. This parameter is ignored when accessing a tiled server.
59
+ * @property {number} [tileHeight=256] The height of each tile in pixels. This parameter is ignored when accessing a tiled server.
60
+ * @property {number} [maximumLevel] The maximum tile level to request, or undefined if there is no maximum. This parameter is ignored when accessing
60
61
  * a tiled server.
61
62
  */
62
63
 
63
64
  /**
65
+ * Used to track creation details while fetching initial metadata
66
+ *
67
+ * @constructor
68
+ * @private
69
+ *
70
+ * @param {ArcGisMapServerImageryProvider.ConstructorOptions} options An object describing initialization options
71
+ */
72
+ function ImageryProviderBuilder(options) {
73
+ this.useTiles = defaultValue(options.usePreCachedTilesIfAvailable, true);
74
+
75
+ const ellipsoid = options.ellipsoid;
76
+ this.tilingScheme = defaultValue(
77
+ options.tilingScheme,
78
+ new GeographicTilingScheme({ ellipsoid: ellipsoid })
79
+ );
80
+ this.rectangle = defaultValue(options.rectangle, this.tilingScheme.rectangle);
81
+ this.ellipsoid = ellipsoid;
82
+
83
+ let credit = options.credit;
84
+ if (typeof credit === "string") {
85
+ credit = new Credit(credit);
86
+ }
87
+ this.credit = credit;
88
+ this.tileDiscardPolicy = options.tileDiscardPolicy;
89
+
90
+ this.tileWidth = defaultValue(options.tileWidth, 256);
91
+ this.tileHeight = defaultValue(options.tileHeight, 256);
92
+ this.maximumLevel = options.maximumLevel;
93
+ }
94
+
95
+ /**
96
+ * Complete ArcGisMapServerImageryProvider creation based on builder values.
97
+ *
98
+ * @private
99
+ *
100
+ * @param {ArcGisMapServerImageryProvider} provider
101
+ */
102
+ ImageryProviderBuilder.prototype.build = function (provider) {
103
+ provider._useTiles = this.useTiles;
104
+ provider._tilingScheme = this.tilingScheme;
105
+ provider._rectangle = this.rectangle;
106
+ provider._credit = this.credit;
107
+ provider._tileDiscardPolicy = this.tileDiscardPolicy;
108
+ provider._tileWidth = this.tileWidth;
109
+ provider._tileHeight = this.tileHeight;
110
+ provider._maximumLevel = this.maximumLevel;
111
+
112
+ // Install the default tile discard policy if none has been supplied.
113
+ if (this.useTiles && !defined(this.tileDiscardPolicy)) {
114
+ provider._tileDiscardPolicy = new DiscardMissingTileImagePolicy({
115
+ missingImageUrl: buildImageResource(provider, 0, 0, this.maximumLevel)
116
+ .url,
117
+ pixelsToCheck: [
118
+ new Cartesian2(0, 0),
119
+ new Cartesian2(200, 20),
120
+ new Cartesian2(20, 200),
121
+ new Cartesian2(80, 110),
122
+ new Cartesian2(160, 130),
123
+ ],
124
+ disableCheckIfAllPixelsAreTransparent: true,
125
+ });
126
+ }
127
+
128
+ provider._ready = true;
129
+ };
130
+
131
+ function metadataSuccess(data, imageryProviderBuilder) {
132
+ const tileInfo = data.tileInfo;
133
+ if (!defined(tileInfo)) {
134
+ imageryProviderBuilder.useTiles = false;
135
+ } else {
136
+ imageryProviderBuilder.tileWidth = tileInfo.rows;
137
+ imageryProviderBuilder.tileHeight = tileInfo.cols;
138
+
139
+ if (
140
+ tileInfo.spatialReference.wkid === 102100 ||
141
+ tileInfo.spatialReference.wkid === 102113
142
+ ) {
143
+ imageryProviderBuilder.tilingScheme = new WebMercatorTilingScheme({
144
+ ellipsoid: imageryProviderBuilder.ellipsoid,
145
+ });
146
+ } else if (data.tileInfo.spatialReference.wkid === 4326) {
147
+ imageryProviderBuilder.tilingScheme = new GeographicTilingScheme({
148
+ ellipsoid: imageryProviderBuilder.ellipsoid,
149
+ });
150
+ } else {
151
+ const message = `Tile spatial reference WKID ${data.tileInfo.spatialReference.wkid} is not supported.`;
152
+ throw new RuntimeError(message);
153
+ }
154
+ imageryProviderBuilder.maximumLevel = data.tileInfo.lods.length - 1;
155
+
156
+ if (defined(data.fullExtent)) {
157
+ if (
158
+ defined(data.fullExtent.spatialReference) &&
159
+ defined(data.fullExtent.spatialReference.wkid)
160
+ ) {
161
+ if (
162
+ data.fullExtent.spatialReference.wkid === 102100 ||
163
+ data.fullExtent.spatialReference.wkid === 102113
164
+ ) {
165
+ const projection = new WebMercatorProjection();
166
+ const extent = data.fullExtent;
167
+ const sw = projection.unproject(
168
+ new Cartesian3(
169
+ Math.max(
170
+ extent.xmin,
171
+ -imageryProviderBuilder.tilingScheme.ellipsoid.maximumRadius *
172
+ Math.PI
173
+ ),
174
+ Math.max(
175
+ extent.ymin,
176
+ -imageryProviderBuilder.tilingScheme.ellipsoid.maximumRadius *
177
+ Math.PI
178
+ ),
179
+ 0.0
180
+ )
181
+ );
182
+ const ne = projection.unproject(
183
+ new Cartesian3(
184
+ Math.min(
185
+ extent.xmax,
186
+ imageryProviderBuilder.tilingScheme.ellipsoid.maximumRadius *
187
+ Math.PI
188
+ ),
189
+ Math.min(
190
+ extent.ymax,
191
+ imageryProviderBuilder.tilingScheme.ellipsoid.maximumRadius *
192
+ Math.PI
193
+ ),
194
+ 0.0
195
+ )
196
+ );
197
+ imageryProviderBuilder.rectangle = new Rectangle(
198
+ sw.longitude,
199
+ sw.latitude,
200
+ ne.longitude,
201
+ ne.latitude
202
+ );
203
+ } else if (data.fullExtent.spatialReference.wkid === 4326) {
204
+ imageryProviderBuilder.rectangle = Rectangle.fromDegrees(
205
+ data.fullExtent.xmin,
206
+ data.fullExtent.ymin,
207
+ data.fullExtent.xmax,
208
+ data.fullExtent.ymax
209
+ );
210
+ } else {
211
+ const extentMessage = `fullExtent.spatialReference WKID ${data.fullExtent.spatialReference.wkid} is not supported.`;
212
+ throw new RuntimeError(extentMessage);
213
+ }
214
+ }
215
+ } else {
216
+ imageryProviderBuilder.rectangle =
217
+ imageryProviderBuilder.tilingScheme.rectangle;
218
+ }
219
+
220
+ imageryProviderBuilder.useTiles = true;
221
+ }
222
+
223
+ if (defined(data.copyrightText) && data.copyrightText.length > 0) {
224
+ imageryProviderBuilder.credit = new Credit(data.copyrightText);
225
+ }
226
+ }
227
+
228
+ function metadataFailure(resource, error, provider) {
229
+ let message = `An error occurred while accessing ${resource.url}`;
230
+ if (defined(error) && defined(error.message)) {
231
+ message += `: ${error.message}`;
232
+ }
233
+
234
+ // When readyPromise is deprecated, TileProviderError.reportError,
235
+ // and related parameters can be removed
236
+ TileProviderError.reportError(
237
+ undefined,
238
+ provider,
239
+ defined(provider) ? provider._errorEvent : undefined,
240
+ message,
241
+ undefined,
242
+ undefined,
243
+ undefined,
244
+ error
245
+ );
246
+
247
+ throw new RuntimeError(message);
248
+ }
249
+
250
+ async function requestMetadata(resource, imageryProviderBuilder, provider) {
251
+ const jsonResource = resource.getDerivedResource({
252
+ queryParameters: {
253
+ f: "json",
254
+ },
255
+ });
256
+
257
+ try {
258
+ const data = await jsonResource.fetchJsonp();
259
+ metadataSuccess(data, imageryProviderBuilder);
260
+ } catch (error) {
261
+ metadataFailure(resource, error, provider);
262
+ }
263
+ }
264
+
265
+ /**
266
+ * <div class="notice">
267
+ * To construct a ArcGisMapServerImageryProvider call {@link ArcGisMapServerImageryProvider.fromUrl}. Do not call the constructor directly.
268
+ * </div>
269
+ *
64
270
  * Provides tiled imagery hosted by an ArcGIS MapServer. By default, the server's pre-cached tiles are
65
271
  * used, if available.
66
272
  *
67
273
  * @alias ArcGisMapServerImageryProvider
68
274
  * @constructor
69
275
  *
70
- * @param {ArcGisMapServerImageryProvider.ConstructorOptions} options Object describing initialization options
276
+ * @param {ArcGisMapServerImageryProvider.ConstructorOptions} [options] Object describing initialization options
71
277
  *
278
+ * @see ArcGisMapServerImagery.fromUrl
72
279
  * @see BingMapsImageryProvider
73
280
  * @see GoogleEarthEnterpriseMapsProvider
74
281
  * @see OpenStreetMapImageryProvider
@@ -78,11 +285,10 @@ import ImageryProvider from "./ImageryProvider.js";
78
285
  * @see WebMapTileServiceImageryProvider
79
286
  * @see UrlTemplateImageryProvider
80
287
  *
81
- *
82
288
  * @example
83
- * const esri = new Cesium.ArcGisMapServerImageryProvider({
84
- * url : 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer'
85
- * });
289
+ * const esri = await Cesium.ArcGisMapServerImageryProvider.fromUrl(
290
+ * "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer"
291
+ * );
86
292
  *
87
293
  * @see {@link https://developers.arcgis.com/rest/|ArcGIS Server REST API}
88
294
  * @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
@@ -90,110 +296,18 @@ import ImageryProvider from "./ImageryProvider.js";
90
296
  function ArcGisMapServerImageryProvider(options) {
91
297
  options = defaultValue(options, defaultValue.EMPTY_OBJECT);
92
298
 
93
- //>>includeStart('debug', pragmas.debug);
94
- if (!defined(options.url)) {
95
- throw new DeveloperError("options.url is required.");
96
- }
97
- //>>includeEnd('debug');
299
+ this._defaultAlpha = undefined;
300
+ this._defaultNightAlpha = undefined;
301
+ this._defaultDayAlpha = undefined;
302
+ this._defaultBrightness = undefined;
303
+ this._defaultContrast = undefined;
304
+ this._defaultHue = undefined;
305
+ this._defaultSaturation = undefined;
306
+ this._defaultGamma = undefined;
307
+ this._defaultMinificationFilter = undefined;
308
+ this._defaultMagnificationFilter = undefined;
98
309
 
99
- /**
100
- * The default alpha blending value of this provider, with 0.0 representing fully transparent and
101
- * 1.0 representing fully opaque.
102
- *
103
- * @type {Number|undefined}
104
- * @default undefined
105
- */
106
- this.defaultAlpha = undefined;
107
-
108
- /**
109
- * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and
110
- * 1.0 representing fully opaque.
111
- *
112
- * @type {Number|undefined}
113
- * @default undefined
114
- */
115
- this.defaultNightAlpha = undefined;
116
-
117
- /**
118
- * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and
119
- * 1.0 representing fully opaque.
120
- *
121
- * @type {Number|undefined}
122
- * @default undefined
123
- */
124
- this.defaultDayAlpha = undefined;
125
-
126
- /**
127
- * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0
128
- * makes the imagery darker while greater than 1.0 makes it brighter.
129
- *
130
- * @type {Number|undefined}
131
- * @default undefined
132
- */
133
- this.defaultBrightness = undefined;
134
-
135
- /**
136
- * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces
137
- * the contrast while greater than 1.0 increases it.
138
- *
139
- * @type {Number|undefined}
140
- * @default undefined
141
- */
142
- this.defaultContrast = undefined;
143
-
144
- /**
145
- * The default hue of this provider in radians. 0.0 uses the unmodified imagery color.
146
- *
147
- * @type {Number|undefined}
148
- * @default undefined
149
- */
150
- this.defaultHue = undefined;
151
-
152
- /**
153
- * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the
154
- * saturation while greater than 1.0 increases it.
155
- *
156
- * @type {Number|undefined}
157
- * @default undefined
158
- */
159
- this.defaultSaturation = undefined;
160
-
161
- /**
162
- * The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color.
163
- *
164
- * @type {Number|undefined}
165
- * @default undefined
166
- */
167
- this.defaultGamma = undefined;
168
-
169
- /**
170
- * The default texture minification filter to apply to this provider.
171
- *
172
- * @type {TextureMinificationFilter}
173
- * @default undefined
174
- */
175
- this.defaultMinificationFilter = undefined;
176
-
177
- /**
178
- * The default texture magnification filter to apply to this provider.
179
- *
180
- * @type {TextureMagnificationFilter}
181
- * @default undefined
182
- */
183
- this.defaultMagnificationFilter = undefined;
184
-
185
- const resource = Resource.createIfNeeded(options.url);
186
- resource.appendForwardSlash();
187
-
188
- if (defined(options.token)) {
189
- resource.setQueryParameters({
190
- token: options.token,
191
- });
192
- }
193
-
194
- this._resource = resource;
195
310
  this._tileDiscardPolicy = options.tileDiscardPolicy;
196
-
197
311
  this._tileWidth = defaultValue(options.tileWidth, 256);
198
312
  this._tileHeight = defaultValue(options.tileHeight, 256);
199
313
  this._maximumLevel = options.maximumLevel;
@@ -207,19 +321,14 @@ function ArcGisMapServerImageryProvider(options) {
207
321
  this._tilingScheme.rectangle
208
322
  );
209
323
  this._layers = options.layers;
210
-
211
- let credit = options.credit;
212
- if (typeof credit === "string") {
213
- credit = new Credit(credit);
214
- }
215
- this._credit = credit;
324
+ this._credit = undefined;
216
325
 
217
326
  /**
218
327
  * Gets or sets a value indicating whether feature picking is enabled. If true, {@link ArcGisMapServerImageryProvider#pickFeatures} will
219
328
  * invoke the "identify" operation on the ArcGIS server and return the features included in the response. If false,
220
329
  * {@link ArcGisMapServerImageryProvider#pickFeatures} will immediately return undefined (indicating no pickable features)
221
330
  * without communicating with the server.
222
- * @type {Boolean}
331
+ * @type {boolean}
223
332
  * @default true
224
333
  */
225
334
  this.enablePickFeatures = defaultValue(options.enablePickFeatures, true);
@@ -228,173 +337,37 @@ function ArcGisMapServerImageryProvider(options) {
228
337
 
229
338
  this._ready = false;
230
339
 
231
- // Grab the details of this MapServer.
232
- const that = this;
233
- let metadataError;
234
-
235
- function metadataSuccess(data) {
236
- const tileInfo = data.tileInfo;
237
- if (!defined(tileInfo)) {
238
- that._useTiles = false;
239
- } else {
240
- that._tileWidth = tileInfo.rows;
241
- that._tileHeight = tileInfo.cols;
242
-
243
- if (
244
- tileInfo.spatialReference.wkid === 102100 ||
245
- tileInfo.spatialReference.wkid === 102113
246
- ) {
247
- that._tilingScheme = new WebMercatorTilingScheme({
248
- ellipsoid: options.ellipsoid,
249
- });
250
- } else if (data.tileInfo.spatialReference.wkid === 4326) {
251
- that._tilingScheme = new GeographicTilingScheme({
252
- ellipsoid: options.ellipsoid,
253
- });
254
- } else {
255
- const message = `Tile spatial reference WKID ${data.tileInfo.spatialReference.wkid} is not supported.`;
256
- metadataError = TileProviderError.reportError(
257
- metadataError,
258
- that,
259
- that._errorEvent,
260
- message,
261
- undefined,
262
- undefined,
263
- undefined
264
- );
265
- if (metadataError.retry) {
266
- return requestMetadata();
267
- }
268
- return Promise.reject(new RuntimeError(message));
269
- }
270
- that._maximumLevel = data.tileInfo.lods.length - 1;
271
-
272
- if (defined(data.fullExtent)) {
273
- if (
274
- defined(data.fullExtent.spatialReference) &&
275
- defined(data.fullExtent.spatialReference.wkid)
276
- ) {
277
- if (
278
- data.fullExtent.spatialReference.wkid === 102100 ||
279
- data.fullExtent.spatialReference.wkid === 102113
280
- ) {
281
- const projection = new WebMercatorProjection();
282
- const extent = data.fullExtent;
283
- const sw = projection.unproject(
284
- new Cartesian3(
285
- Math.max(
286
- extent.xmin,
287
- -that._tilingScheme.ellipsoid.maximumRadius * Math.PI
288
- ),
289
- Math.max(
290
- extent.ymin,
291
- -that._tilingScheme.ellipsoid.maximumRadius * Math.PI
292
- ),
293
- 0.0
294
- )
295
- );
296
- const ne = projection.unproject(
297
- new Cartesian3(
298
- Math.min(
299
- extent.xmax,
300
- that._tilingScheme.ellipsoid.maximumRadius * Math.PI
301
- ),
302
- Math.min(
303
- extent.ymax,
304
- that._tilingScheme.ellipsoid.maximumRadius * Math.PI
305
- ),
306
- 0.0
307
- )
308
- );
309
- that._rectangle = new Rectangle(
310
- sw.longitude,
311
- sw.latitude,
312
- ne.longitude,
313
- ne.latitude
314
- );
315
- } else if (data.fullExtent.spatialReference.wkid === 4326) {
316
- that._rectangle = Rectangle.fromDegrees(
317
- data.fullExtent.xmin,
318
- data.fullExtent.ymin,
319
- data.fullExtent.xmax,
320
- data.fullExtent.ymax
321
- );
322
- } else {
323
- const extentMessage = `fullExtent.spatialReference WKID ${data.fullExtent.spatialReference.wkid} is not supported.`;
324
- metadataError = TileProviderError.reportError(
325
- metadataError,
326
- that,
327
- that._errorEvent,
328
- extentMessage,
329
- undefined,
330
- undefined,
331
- undefined
332
- );
333
- if (metadataError.retry) {
334
- return requestMetadata();
335
- }
336
- return Promise.reject(new RuntimeError(extentMessage));
337
- }
338
- }
339
- } else {
340
- that._rectangle = that._tilingScheme.rectangle;
341
- }
340
+ if (defined(options.url)) {
341
+ deprecationWarning(
342
+ "ArcGisMapServerImageryProvider options.url",
343
+ "options.url was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ArcGisMapServerImageryProvider.fromUrl instead."
344
+ );
345
+ const resource = Resource.createIfNeeded(options.url);
346
+ resource.appendForwardSlash();
342
347
 
343
- // Install the default tile discard policy if none has been supplied.
344
- if (!defined(that._tileDiscardPolicy)) {
345
- that._tileDiscardPolicy = new DiscardMissingTileImagePolicy({
346
- missingImageUrl: buildImageResource(that, 0, 0, that._maximumLevel)
347
- .url,
348
- pixelsToCheck: [
349
- new Cartesian2(0, 0),
350
- new Cartesian2(200, 20),
351
- new Cartesian2(20, 200),
352
- new Cartesian2(80, 110),
353
- new Cartesian2(160, 130),
354
- ],
355
- disableCheckIfAllPixelsAreTransparent: true,
356
- });
357
- }
348
+ this._tileDiscardPolicy = options.tileDiscardPolicy;
358
349
 
359
- that._useTiles = true;
350
+ if (defined(options.token)) {
351
+ resource.setQueryParameters({
352
+ token: options.token,
353
+ });
360
354
  }
361
355
 
362
- if (defined(data.copyrightText) && data.copyrightText.length > 0) {
363
- that._credit = new Credit(data.copyrightText);
356
+ this._resource = resource;
357
+ const imageryProviderBuilder = new ImageryProviderBuilder(options);
358
+ if (imageryProviderBuilder.useTiles) {
359
+ this._readyPromise = requestMetadata(
360
+ resource,
361
+ imageryProviderBuilder,
362
+ this
363
+ ).then(() => {
364
+ imageryProviderBuilder.build(this);
365
+ return true;
366
+ });
367
+ } else {
368
+ imageryProviderBuilder.build(this);
369
+ this._readyPromise = Promise.resolve(true);
364
370
  }
365
-
366
- that._ready = true;
367
- TileProviderError.reportSuccess(metadataError);
368
- return Promise.resolve(true);
369
- }
370
-
371
- function metadataFailure(e) {
372
- const message = `An error occurred while accessing ${that._resource.url}.`;
373
- metadataError = TileProviderError.reportError(
374
- metadataError,
375
- that,
376
- that._errorEvent,
377
- message,
378
- undefined,
379
- undefined,
380
- undefined
381
- );
382
- return Promise.reject(new RuntimeError(message));
383
- }
384
- function requestMetadata() {
385
- const resource = that._resource.getDerivedResource({
386
- queryParameters: {
387
- f: "json",
388
- },
389
- });
390
- return resource.fetchJsonp().then(metadataSuccess).catch(metadataFailure);
391
- }
392
-
393
- if (this._useTiles) {
394
- this._readyPromise = requestMetadata();
395
- } else {
396
- this._ready = true;
397
- this._readyPromise = Promise.resolve(true);
398
371
  }
399
372
  }
400
373
 
@@ -448,7 +421,7 @@ Object.defineProperties(ArcGisMapServerImageryProvider.prototype, {
448
421
  /**
449
422
  * Gets the URL of the ArcGIS MapServer.
450
423
  * @memberof ArcGisMapServerImageryProvider.prototype
451
- * @type {String}
424
+ * @type {string}
452
425
  * @readonly
453
426
  */
454
427
  url: {
@@ -460,7 +433,7 @@ Object.defineProperties(ArcGisMapServerImageryProvider.prototype, {
460
433
  /**
461
434
  * Gets the ArcGIS token used to authenticate with the ArcGis MapServer service.
462
435
  * @memberof ArcGisMapServerImageryProvider.prototype
463
- * @type {String}
436
+ * @type {string}
464
437
  * @readonly
465
438
  */
466
439
  token: {
@@ -482,127 +455,73 @@ Object.defineProperties(ArcGisMapServerImageryProvider.prototype, {
482
455
  },
483
456
 
484
457
  /**
485
- * Gets the width of each tile, in pixels. This function should
486
- * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
458
+ * Gets the width of each tile, in pixels.
487
459
  * @memberof ArcGisMapServerImageryProvider.prototype
488
- * @type {Number}
460
+ * @type {number}
489
461
  * @readonly
490
462
  */
491
463
  tileWidth: {
492
464
  get: function () {
493
- //>>includeStart('debug', pragmas.debug);
494
- if (!this._ready) {
495
- throw new DeveloperError(
496
- "tileWidth must not be called before the imagery provider is ready."
497
- );
498
- }
499
- //>>includeEnd('debug');
500
-
501
465
  return this._tileWidth;
502
466
  },
503
467
  },
504
468
 
505
469
  /**
506
- * Gets the height of each tile, in pixels. This function should
507
- * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
470
+ * Gets the height of each tile, in pixels.
508
471
  * @memberof ArcGisMapServerImageryProvider.prototype
509
- * @type {Number}
472
+ * @type {number}
510
473
  * @readonly
511
474
  */
512
475
  tileHeight: {
513
476
  get: function () {
514
- //>>includeStart('debug', pragmas.debug);
515
- if (!this._ready) {
516
- throw new DeveloperError(
517
- "tileHeight must not be called before the imagery provider is ready."
518
- );
519
- }
520
- //>>includeEnd('debug');
521
-
522
477
  return this._tileHeight;
523
478
  },
524
479
  },
525
480
 
526
481
  /**
527
- * Gets the maximum level-of-detail that can be requested. This function should
528
- * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
482
+ * Gets the maximum level-of-detail that can be requested.
529
483
  * @memberof ArcGisMapServerImageryProvider.prototype
530
- * @type {Number|undefined}
484
+ * @type {number|undefined}
531
485
  * @readonly
532
486
  */
533
487
  maximumLevel: {
534
488
  get: function () {
535
- //>>includeStart('debug', pragmas.debug);
536
- if (!this._ready) {
537
- throw new DeveloperError(
538
- "maximumLevel must not be called before the imagery provider is ready."
539
- );
540
- }
541
- //>>includeEnd('debug');
542
-
543
489
  return this._maximumLevel;
544
490
  },
545
491
  },
546
492
 
547
493
  /**
548
- * Gets the minimum level-of-detail that can be requested. This function should
549
- * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
494
+ * Gets the minimum level-of-detail that can be requested.
550
495
  * @memberof ArcGisMapServerImageryProvider.prototype
551
- * @type {Number}
496
+ * @type {number}
552
497
  * @readonly
553
498
  */
554
499
  minimumLevel: {
555
500
  get: function () {
556
- //>>includeStart('debug', pragmas.debug);
557
- if (!this._ready) {
558
- throw new DeveloperError(
559
- "minimumLevel must not be called before the imagery provider is ready."
560
- );
561
- }
562
- //>>includeEnd('debug');
563
-
564
501
  return 0;
565
502
  },
566
503
  },
567
504
 
568
505
  /**
569
- * Gets the tiling scheme used by this provider. This function should
570
- * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
506
+ * Gets the tiling scheme used by this provider.
571
507
  * @memberof ArcGisMapServerImageryProvider.prototype
572
508
  * @type {TilingScheme}
573
509
  * @readonly
574
510
  */
575
511
  tilingScheme: {
576
512
  get: function () {
577
- //>>includeStart('debug', pragmas.debug);
578
- if (!this._ready) {
579
- throw new DeveloperError(
580
- "tilingScheme must not be called before the imagery provider is ready."
581
- );
582
- }
583
- //>>includeEnd('debug');
584
-
585
513
  return this._tilingScheme;
586
514
  },
587
515
  },
588
516
 
589
517
  /**
590
- * Gets the rectangle, in radians, of the imagery provided by this instance. This function should
591
- * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
518
+ * Gets the rectangle, in radians, of the imagery provided by this instance.
592
519
  * @memberof ArcGisMapServerImageryProvider.prototype
593
520
  * @type {Rectangle}
594
521
  * @readonly
595
522
  */
596
523
  rectangle: {
597
524
  get: function () {
598
- //>>includeStart('debug', pragmas.debug);
599
- if (!this._ready) {
600
- throw new DeveloperError(
601
- "rectangle must not be called before the imagery provider is ready."
602
- );
603
- }
604
- //>>includeEnd('debug');
605
-
606
525
  return this._rectangle;
607
526
  },
608
527
  },
@@ -610,22 +529,13 @@ Object.defineProperties(ArcGisMapServerImageryProvider.prototype, {
610
529
  /**
611
530
  * Gets the tile discard policy. If not undefined, the discard policy is responsible
612
531
  * for filtering out "missing" tiles via its shouldDiscardImage function. If this function
613
- * returns undefined, no tiles are filtered. This function should
614
- * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
532
+ * returns undefined, no tiles are filtered.
615
533
  * @memberof ArcGisMapServerImageryProvider.prototype
616
534
  * @type {TileDiscardPolicy}
617
535
  * @readonly
618
536
  */
619
537
  tileDiscardPolicy: {
620
538
  get: function () {
621
- //>>includeStart('debug', pragmas.debug);
622
- if (!this._ready) {
623
- throw new DeveloperError(
624
- "tileDiscardPolicy must not be called before the imagery provider is ready."
625
- );
626
- }
627
- //>>includeEnd('debug');
628
-
629
539
  return this._tileDiscardPolicy;
630
540
  },
631
541
  },
@@ -647,11 +557,16 @@ Object.defineProperties(ArcGisMapServerImageryProvider.prototype, {
647
557
  /**
648
558
  * Gets a value indicating whether or not the provider is ready for use.
649
559
  * @memberof ArcGisMapServerImageryProvider.prototype
650
- * @type {Boolean}
560
+ * @type {boolean}
651
561
  * @readonly
562
+ * @deprecated
652
563
  */
653
564
  ready: {
654
565
  get: function () {
566
+ deprecationWarning(
567
+ "ArcGisMapServerImageryProvider.ready",
568
+ "ArcGisMapServerImageryProvider.ready was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ArcGisMapServerImageryProvider.fromUrl instead."
569
+ );
655
570
  return this._ready;
656
571
  },
657
572
  },
@@ -659,11 +574,16 @@ Object.defineProperties(ArcGisMapServerImageryProvider.prototype, {
659
574
  /**
660
575
  * Gets a promise that resolves to true when the provider is ready for use.
661
576
  * @memberof ArcGisMapServerImageryProvider.prototype
662
- * @type {Promise.<Boolean>}
577
+ * @type {Promise<boolean>}
663
578
  * @readonly
579
+ * @deprecated
664
580
  */
665
581
  readyPromise: {
666
582
  get: function () {
583
+ deprecationWarning(
584
+ "ArcGisMapServerImageryProvider.readyPromise",
585
+ "ArcGisMapServerImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ArcGisMapServerImageryProvider.fromUrl instead."
586
+ );
667
587
  return this._readyPromise;
668
588
  },
669
589
  },
@@ -683,12 +603,10 @@ Object.defineProperties(ArcGisMapServerImageryProvider.prototype, {
683
603
 
684
604
  /**
685
605
  * Gets a value indicating whether this imagery provider is using pre-cached tiles from the
686
- * ArcGIS MapServer. If the imagery provider is not yet ready ({@link ArcGisMapServerImageryProvider#ready}), this function
687
- * will return the value of `options.usePreCachedTilesIfAvailable`, even if the MapServer does
688
- * not have pre-cached tiles.
606
+ * ArcGIS MapServer.
689
607
  * @memberof ArcGisMapServerImageryProvider.prototype
690
608
  *
691
- * @type {Boolean}
609
+ * @type {boolean}
692
610
  * @readonly
693
611
  * @default true
694
612
  */
@@ -706,7 +624,7 @@ Object.defineProperties(ArcGisMapServerImageryProvider.prototype, {
706
624
  * and texture upload time are reduced.
707
625
  * @memberof ArcGisMapServerImageryProvider.prototype
708
626
  *
709
- * @type {Boolean}
627
+ * @type {boolean}
710
628
  * @readonly
711
629
  * @default true
712
630
  */
@@ -720,24 +638,303 @@ Object.defineProperties(ArcGisMapServerImageryProvider.prototype, {
720
638
  * Gets the comma-separated list of layer IDs to show.
721
639
  * @memberof ArcGisMapServerImageryProvider.prototype
722
640
  *
723
- * @type {String}
641
+ * @type {string}
724
642
  */
725
643
  layers: {
726
644
  get: function () {
727
645
  return this._layers;
728
646
  },
729
647
  },
648
+
649
+ /**
650
+ * The default alpha blending value of this provider, with 0.0 representing fully transparent and
651
+ * 1.0 representing fully opaque.
652
+ * @memberof ArcGisMapServerImageryProvider.prototype
653
+ * @type {Number|undefined}
654
+ * @deprecated
655
+ */
656
+ defaultAlpha: {
657
+ get: function () {
658
+ deprecationWarning(
659
+ "ArcGisMapServerImageryProvider.defaultAlpha",
660
+ "ArcGisMapServerImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.alpha instead."
661
+ );
662
+ return this._defaultAlpha;
663
+ },
664
+ set: function (value) {
665
+ deprecationWarning(
666
+ "ArcGisMapServerImageryProvider.defaultAlpha",
667
+ "ArcGisMapServerImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.alpha instead."
668
+ );
669
+ this._defaultAlpha = value;
670
+ },
671
+ },
672
+
673
+ /**
674
+ * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and
675
+ * 1.0 representing fully opaque.
676
+ * @memberof ArcGisMapServerImageryProvider.prototype
677
+ * @type {Number|undefined}
678
+ * @deprecated
679
+ */
680
+ defaultNightAlpha: {
681
+ get: function () {
682
+ deprecationWarning(
683
+ "ArcGisMapServerImageryProvider.defaultNightAlpha",
684
+ "ArcGisMapServerImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."
685
+ );
686
+ return this._defaultNightAlpha;
687
+ },
688
+ set: function (value) {
689
+ deprecationWarning(
690
+ "ArcGisMapServerImageryProvider.defaultNightAlpha",
691
+ "ArcGisMapServerImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."
692
+ );
693
+ this._defaultNightAlpha = value;
694
+ },
695
+ },
696
+
697
+ /**
698
+ * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and
699
+ * 1.0 representing fully opaque.
700
+ * @memberof ArcGisMapServerImageryProvider.prototype
701
+ * @type {Number|undefined}
702
+ * @deprecated
703
+ */
704
+ defaultDayAlpha: {
705
+ get: function () {
706
+ deprecationWarning(
707
+ "ArcGisMapServerImageryProvider.defaultDayAlpha",
708
+ "ArcGisMapServerImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."
709
+ );
710
+ return this._defaultDayAlpha;
711
+ },
712
+ set: function (value) {
713
+ deprecationWarning(
714
+ "ArcGisMapServerImageryProvider.defaultDayAlpha",
715
+ "ArcGisMapServerImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."
716
+ );
717
+ this._defaultDayAlpha = value;
718
+ },
719
+ },
720
+
721
+ /**
722
+ * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0
723
+ * makes the imagery darker while greater than 1.0 makes it brighter.
724
+ * @memberof ArcGisMapServerImageryProvider.prototype
725
+ * @type {Number|undefined}
726
+ * @deprecated
727
+ */
728
+ defaultBrightness: {
729
+ get: function () {
730
+ deprecationWarning(
731
+ "ArcGisMapServerImageryProvider.defaultBrightness",
732
+ "ArcGisMapServerImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.brightness instead."
733
+ );
734
+ return this._defaultBrightness;
735
+ },
736
+ set: function (value) {
737
+ deprecationWarning(
738
+ "ArcGisMapServerImageryProvider.defaultBrightness",
739
+ "ArcGisMapServerImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.brightness instead."
740
+ );
741
+ this._defaultBrightness = value;
742
+ },
743
+ },
744
+
745
+ /**
746
+ * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces
747
+ * the contrast while greater than 1.0 increases it.
748
+ * @memberof ArcGisMapServerImageryProvider.prototype
749
+ * @type {Number|undefined}
750
+ * @deprecated
751
+ */
752
+ defaultContrast: {
753
+ get: function () {
754
+ deprecationWarning(
755
+ "ArcGisMapServerImageryProvider.defaultContrast",
756
+ "ArcGisMapServerImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.contrast instead."
757
+ );
758
+ return this._defaultContrast;
759
+ },
760
+ set: function (value) {
761
+ deprecationWarning(
762
+ "ArcGisMapServerImageryProvider.defaultContrast",
763
+ "ArcGisMapServerImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.contrast instead."
764
+ );
765
+ this._defaultContrast = value;
766
+ },
767
+ },
768
+
769
+ /**
770
+ * The default hue of this provider in radians. 0.0 uses the unmodified imagery color.
771
+ * @memberof ArcGisMapServerImageryProvider.prototype
772
+ * @type {Number|undefined}
773
+ * @deprecated
774
+ */
775
+ defaultHue: {
776
+ get: function () {
777
+ deprecationWarning(
778
+ "ArcGisMapServerImageryProvider.defaultHue",
779
+ "ArcGisMapServerImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.hue instead."
780
+ );
781
+ return this._defaultHue;
782
+ },
783
+ set: function (value) {
784
+ deprecationWarning(
785
+ "ArcGisMapServerImageryProvider.defaultHue",
786
+ "ArcGisMapServerImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.hue instead."
787
+ );
788
+ this._defaultHue = value;
789
+ },
790
+ },
791
+
792
+ /**
793
+ * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the
794
+ * saturation while greater than 1.0 increases it.
795
+ * @memberof ArcGisMapServerImageryProvider.prototype
796
+ * @type {Number|undefined}
797
+ * @deprecated
798
+ */
799
+ defaultSaturation: {
800
+ get: function () {
801
+ deprecationWarning(
802
+ "ArcGisMapServerImageryProvider.defaultSaturation",
803
+ "ArcGisMapServerImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.saturation instead."
804
+ );
805
+ return this._defaultSaturation;
806
+ },
807
+ set: function (value) {
808
+ deprecationWarning(
809
+ "ArcGisMapServerImageryProvider.defaultSaturation",
810
+ "ArcGisMapServerImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.saturation instead."
811
+ );
812
+ this._defaultSaturation = value;
813
+ },
814
+ },
815
+
816
+ /**
817
+ * The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color.
818
+ * @memberof ArcGisMapServerImageryProvider.prototype
819
+ * @type {Number|undefined}
820
+ * @deprecated
821
+ */
822
+ defaultGamma: {
823
+ get: function () {
824
+ deprecationWarning(
825
+ "ArcGisMapServerImageryProvider.defaultGamma",
826
+ "ArcGisMapServerImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.gamma instead."
827
+ );
828
+ return this._defaultGamma;
829
+ },
830
+ set: function (value) {
831
+ deprecationWarning(
832
+ "ArcGisMapServerImageryProvider.defaultGamma",
833
+ "ArcGisMapServerImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.gamma instead."
834
+ );
835
+ this._defaultGamma = value;
836
+ },
837
+ },
838
+
839
+ /**
840
+ * The default texture minification filter to apply to this provider.
841
+ * @memberof ArcGisMapServerImageryProvider.prototype
842
+ * @type {TextureMinificationFilter}
843
+ * @deprecated
844
+ */
845
+ defaultMinificationFilter: {
846
+ get: function () {
847
+ deprecationWarning(
848
+ "ArcGisMapServerImageryProvider.defaultMinificationFilter",
849
+ "ArcGisMapServerImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."
850
+ );
851
+ return this._defaultMinificationFilter;
852
+ },
853
+ set: function (value) {
854
+ deprecationWarning(
855
+ "ArcGisMapServerImageryProvider.defaultMinificationFilter",
856
+ "ArcGisMapServerImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."
857
+ );
858
+ this._defaultMinificationFilter = value;
859
+ },
860
+ },
861
+
862
+ /**
863
+ * The default texture magnification filter to apply to this provider.
864
+ * @memberof ArcGisMapServerImageryProvider.prototype
865
+ * @type {TextureMagnificationFilter}
866
+ * @deprecated
867
+ */
868
+ defaultMagnificationFilter: {
869
+ get: function () {
870
+ deprecationWarning(
871
+ "ArcGisMapServerImageryProvider.defaultMagnificationFilter",
872
+ "ArcGisMapServerImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."
873
+ );
874
+ return this._defaultMagnificationFilter;
875
+ },
876
+ set: function (value) {
877
+ deprecationWarning(
878
+ "ArcGisMapServerImageryProvider.defaultMagnificationFilter",
879
+ "ArcGisMapServerImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."
880
+ );
881
+ this._defaultMagnificationFilter = value;
882
+ },
883
+ },
730
884
  });
731
885
 
886
+ /**
887
+ * Creates an {@link ImageryProvider} which provides tiled imagery hosted by an ArcGIS MapServer. By default, the server's pre-cached tiles are
888
+ * used, if available.
889
+ *
890
+ * @param {Resource|String} url The URL of the ArcGIS MapServer service.
891
+ * @param {ArcGisMapServerImageryProvider.ConstructorOptions} [options] Object describing initialization options.
892
+ * @returns {Promise<ArcGisMapServerImageryProvider>} A promise that resolves to the created ArcGisMapServerImageryProvider.
893
+ *
894
+ * @example
895
+ * const esri = await Cesium.ArcGisMapServerImageryProvider.fromUrl(
896
+ * "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer"
897
+ * );
898
+ *
899
+ * @exception {RuntimeError} metadata spatial reference specifies an unknown WKID
900
+ * @exception {RuntimeError} metadata fullExtent.spatialReference specifies an unknown WKID
901
+ */
902
+ ArcGisMapServerImageryProvider.fromUrl = async function (url, options) {
903
+ //>>includeStart('debug', pragmas.debug);
904
+ Check.defined("url", url);
905
+ //>>includeEnd('debug');
906
+
907
+ options = defaultValue(options, defaultValue.EMPTY_OBJECT);
908
+
909
+ const resource = Resource.createIfNeeded(url);
910
+ resource.appendForwardSlash();
911
+
912
+ if (defined(options.token)) {
913
+ resource.setQueryParameters({
914
+ token: options.token,
915
+ });
916
+ }
917
+
918
+ const provider = new ArcGisMapServerImageryProvider(options);
919
+ provider._resource = resource;
920
+ const imageryProviderBuilder = new ImageryProviderBuilder(options);
921
+ const useTiles = defaultValue(options.usePreCachedTilesIfAvailable, true);
922
+ if (useTiles) {
923
+ await requestMetadata(resource, imageryProviderBuilder);
924
+ }
925
+
926
+ imageryProviderBuilder.build(provider);
927
+ provider._readyPromise = Promise.resolve(true);
928
+ return provider;
929
+ };
930
+
732
931
  /**
733
932
  * Gets the credits to be displayed when a given tile is displayed.
734
933
  *
735
- * @param {Number} x The tile X coordinate.
736
- * @param {Number} y The tile Y coordinate.
737
- * @param {Number} level The tile level;
934
+ * @param {number} x The tile X coordinate.
935
+ * @param {number} y The tile Y coordinate.
936
+ * @param {number} level The tile level;
738
937
  * @returns {Credit[]} The credits to be displayed when the tile is displayed.
739
- *
740
- * @exception {DeveloperError} <code>getTileCredits</code> must not be called before the imagery provider is ready.
741
938
  */
742
939
  ArcGisMapServerImageryProvider.prototype.getTileCredits = function (
743
940
  x,
@@ -748,17 +945,14 @@ ArcGisMapServerImageryProvider.prototype.getTileCredits = function (
748
945
  };
749
946
 
750
947
  /**
751
- * Requests the image for a given tile. This function should
752
- * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
948
+ * Requests the image for a given tile.
753
949
  *
754
- * @param {Number} x The tile X coordinate.
755
- * @param {Number} y The tile Y coordinate.
756
- * @param {Number} level The tile level.
950
+ * @param {number} x The tile X coordinate.
951
+ * @param {number} y The tile Y coordinate.
952
+ * @param {number} level The tile level.
757
953
  * @param {Request} [request] The request object. Intended for internal use only.
758
- * @returns {Promise.<ImageryTypes>|undefined} A promise for the image that will resolve when the image is available, or
954
+ * @returns {Promise<ImageryTypes>|undefined} A promise for the image that will resolve when the image is available, or
759
955
  * undefined if there are too many active requests to the server, and the request should be retried later.
760
- *
761
- * @exception {DeveloperError} <code>requestImage</code> must not be called before the imagery provider is ready.
762
956
  */
763
957
  ArcGisMapServerImageryProvider.prototype.requestImage = function (
764
958
  x,
@@ -766,14 +960,6 @@ ArcGisMapServerImageryProvider.prototype.requestImage = function (
766
960
  level,
767
961
  request
768
962
  ) {
769
- //>>includeStart('debug', pragmas.debug);
770
- if (!this._ready) {
771
- throw new DeveloperError(
772
- "requestImage must not be called before the imagery provider is ready."
773
- );
774
- }
775
- //>>includeEnd('debug');
776
-
777
963
  return ImageryProvider.loadImage(
778
964
  this,
779
965
  buildImageResource(this, x, y, level, request)
@@ -783,18 +969,16 @@ ArcGisMapServerImageryProvider.prototype.requestImage = function (
783
969
  /**
784
970
  /**
785
971
  * Asynchronously determines what features, if any, are located at a given longitude and latitude within
786
- * a tile. This function should not be called before {@link ImageryProvider#ready} returns true.
972
+ * a tile.
787
973
  *
788
- * @param {Number} x The tile X coordinate.
789
- * @param {Number} y The tile Y coordinate.
790
- * @param {Number} level The tile level.
791
- * @param {Number} longitude The longitude at which to pick features.
792
- * @param {Number} latitude The latitude at which to pick features.
793
- * @return {Promise.<ImageryLayerFeatureInfo[]>|undefined} A promise for the picked features that will resolve when the asynchronous
974
+ * @param {number} x The tile X coordinate.
975
+ * @param {number} y The tile Y coordinate.
976
+ * @param {number} level The tile level.
977
+ * @param {number} longitude The longitude at which to pick features.
978
+ * @param {number} latitude The latitude at which to pick features.
979
+ * @return {Promise<ImageryLayerFeatureInfo[]>|undefined} A promise for the picked features that will resolve when the asynchronous
794
980
  * picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo}
795
981
  * instances. The array may be empty if no features are found at the given location.
796
- *
797
- * @exception {DeveloperError} <code>pickFeatures</code> must not be called before the imagery provider is ready.
798
982
  */
799
983
  ArcGisMapServerImageryProvider.prototype.pickFeatures = function (
800
984
  x,
@@ -803,14 +987,6 @@ ArcGisMapServerImageryProvider.prototype.pickFeatures = function (
803
987
  longitude,
804
988
  latitude
805
989
  ) {
806
- //>>includeStart('debug', pragmas.debug);
807
- if (!this._ready) {
808
- throw new DeveloperError(
809
- "pickFeatures must not be called before the imagery provider is ready."
810
- );
811
- }
812
- //>>includeEnd('debug');
813
-
814
990
  if (!this.enablePickFeatures) {
815
991
  return undefined;
816
992
  }