@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
@@ -3,6 +3,7 @@ import BoundingSphere from "../Core/BoundingSphere.js";
3
3
  import BoxGeometry from "../Core/BoxGeometry.js";
4
4
  import Cartesian3 from "../Core/Cartesian3.js";
5
5
  import Cartographic from "../Core/Cartographic.js";
6
+ import Check from "../Core/Check.js";
6
7
  import clone from "../Core/clone.js";
7
8
  import Color from "../Core/Color.js";
8
9
  import ColorGeometryInstanceAttribute from "../Core/ColorGeometryInstanceAttribute.js";
@@ -85,20 +86,20 @@ const requestRenderAfterFrame = function (scene) {
85
86
  * @alias Scene
86
87
  * @constructor
87
88
  *
88
- * @param {Object} options Object with the following properties:
89
+ * @param {object} options Object with the following properties:
89
90
  * @param {HTMLCanvasElement} options.canvas The HTML canvas element to create the scene for.
90
91
  * @param {ContextOptions} [options.contextOptions] Context and WebGL creation properties.
91
92
  * @param {Element} [options.creditContainer] The HTML element in which the credits will be displayed.
92
93
  * @param {Element} [options.creditViewport] The HTML element in which to display the credit popup. If not specified, the viewport will be a added as a sibling of the canvas.
93
94
  * @param {MapProjection} [options.mapProjection=new GeographicProjection()] The map projection to use in 2D and Columbus View modes.
94
- * @param {Boolean} [options.orderIndependentTranslucency=true] If true and the configuration supports it, use order independent translucency.
95
- * @param {Boolean} [options.scene3DOnly=false] If true, optimizes memory use and performance for 3D mode but disables the ability to use 2D or Columbus View.
96
- * @param {Boolean} [options.shadows=false] Determines if shadows are cast by light sources.
95
+ * @param {boolean} [options.orderIndependentTranslucency=true] If true and the configuration supports it, use order independent translucency.
96
+ * @param {boolean} [options.scene3DOnly=false] If true, optimizes memory use and performance for 3D mode but disables the ability to use 2D or Columbus View.
97
+ * @param {boolean} [options.shadows=false] Determines if shadows are cast by light sources.
97
98
  * @param {MapMode2D} [options.mapMode2D=MapMode2D.INFINITE_SCROLL] Determines if the 2D map is rotatable or can be scrolled infinitely in the horizontal direction.
98
- * @param {Boolean} [options.requestRenderMode=false] If true, rendering a frame will only occur when needed as determined by changes within the scene. Enabling improves performance of the application, but requires using {@link Scene#requestRender} to render a new frame explicitly in this mode. This will be necessary in many cases after making changes to the scene in other parts of the API. See {@link https://cesium.com/blog/2018/01/24/cesium-scene-rendering-performance/|Improving Performance with Explicit Rendering}.
99
- * @param {Number} [options.maximumRenderTimeChange=0.0] If requestRenderMode is true, this value defines the maximum change in simulation time allowed before a render is requested. See {@link https://cesium.com/blog/2018/01/24/cesium-scene-rendering-performance/|Improving Performance with Explicit Rendering}.
100
- * @param {Number} [options.depthPlaneEllipsoidOffset=0.0] Adjust the DepthPlane to address rendering artefacts below ellipsoid zero elevation.
101
- * @param {Number} [options.msaaSamples=1] If provided, this value controls the rate of multisample antialiasing. Typical multisampling rates are 2, 4, and sometimes 8 samples per pixel. Higher sampling rates of MSAA may impact performance in exchange for improved visual quality. This value only applies to WebGL2 contexts that support multisample render targets.
99
+ * @param {boolean} [options.requestRenderMode=false] If true, rendering a frame will only occur when needed as determined by changes within the scene. Enabling improves performance of the application, but requires using {@link Scene#requestRender} to render a new frame explicitly in this mode. This will be necessary in many cases after making changes to the scene in other parts of the API. See {@link https://cesium.com/blog/2018/01/24/cesium-scene-rendering-performance/|Improving Performance with Explicit Rendering}.
100
+ * @param {number} [options.maximumRenderTimeChange=0.0] If requestRenderMode is true, this value defines the maximum change in simulation time allowed before a render is requested. See {@link https://cesium.com/blog/2018/01/24/cesium-scene-rendering-performance/|Improving Performance with Explicit Rendering}.
101
+ * @param {number} [options.depthPlaneEllipsoidOffset=0.0] Adjust the DepthPlane to address rendering artefacts below ellipsoid zero elevation.
102
+ * @param {number} [options.msaaSamples=1] If provided, this value controls the rate of multisample antialiasing. Typical multisampling rates are 2, 4, and sometimes 8 samples per pixel. Higher sampling rates of MSAA may impact performance in exchange for improved visual quality. This value only applies to WebGL2 contexts that support multisample render targets.
102
103
  *
103
104
  * @see CesiumWidget
104
105
  * @see {@link http://www.khronos.org/registry/webgl/specs/latest/#5.2|WebGLContextAttributes}
@@ -223,7 +224,7 @@ function Scene(options) {
223
224
  * after the event is raised. If this property is false, the <code>render</code> function
224
225
  * returns normally after raising the event.
225
226
  *
226
- * @type {Boolean}
227
+ * @type {boolean}
227
228
  * @default false
228
229
  */
229
230
  this.rethrowRenderErrors = false;
@@ -232,7 +233,7 @@ function Scene(options) {
232
233
  * Determines whether or not to instantly complete the
233
234
  * scene transition animation on user input.
234
235
  *
235
- * @type {Boolean}
236
+ * @type {boolean}
236
237
  * @default true
237
238
  */
238
239
  this.completeMorphOnUserInput = true;
@@ -280,7 +281,7 @@ function Scene(options) {
280
281
  /**
281
282
  * Uses a bloom filter on the sun when enabled.
282
283
  *
283
- * @type {Boolean}
284
+ * @type {boolean}
284
285
  * @default true
285
286
  */
286
287
  this.sunBloom = true;
@@ -314,7 +315,7 @@ function Scene(options) {
314
315
  * The current morph transition time between 2D/Columbus View and 3D,
315
316
  * with 0.0 being 2D or Columbus View and 1.0 being 3D.
316
317
  *
317
- * @type {Number}
318
+ * @type {number}
318
319
  * @default 1.0
319
320
  */
320
321
  this.morphTime = 1.0;
@@ -327,7 +328,7 @@ function Scene(options) {
327
328
  * <code>true</code>, use {@link Scene#logarithmicDepthFarToNearRatio}.
328
329
  * </p>
329
330
  *
330
- * @type {Number}
331
+ * @type {number}
331
332
  * @default 1000.0
332
333
  */
333
334
  this.farToNearRatio = 1000.0;
@@ -340,7 +341,7 @@ function Scene(options) {
340
341
  * <code>false</code>, use {@link Scene#farToNearRatio}.
341
342
  * </p>
342
343
  *
343
- * @type {Number}
344
+ * @type {number}
344
345
  * @default 1e9
345
346
  */
346
347
  this.logarithmicDepthFarToNearRatio = 1e9;
@@ -350,7 +351,7 @@ function Scene(options) {
350
351
  * to the surface shows z-fighting, decreasing this will eliminate the artifact, but decrease performance. On the
351
352
  * other hand, increasing this will increase performance but may cause z-fighting among primitives close to the surface.
352
353
  *
353
- * @type {Number}
354
+ * @type {number}
354
355
  * @default 1.75e6
355
356
  */
356
357
  this.nearToFarDistance2D = 1.75e6;
@@ -392,7 +393,7 @@ function Scene(options) {
392
393
  * command-dense and could benefit from batching.
393
394
  * </p>
394
395
  *
395
- * @type Boolean
396
+ * @type {boolean}
396
397
  *
397
398
  * @default false
398
399
  */
@@ -409,7 +410,7 @@ function Scene(options) {
409
410
  * yellow.
410
411
  * </p>
411
412
  *
412
- * @type Boolean
413
+ * @type {boolean}
413
414
  *
414
415
  * @default false
415
416
  */
@@ -421,7 +422,7 @@ function Scene(options) {
421
422
  * Displays frames per second and time between frames.
422
423
  * </p>
423
424
  *
424
- * @type Boolean
425
+ * @type {boolean}
425
426
  *
426
427
  * @default false
427
428
  */
@@ -433,7 +434,7 @@ function Scene(options) {
433
434
  * Indicates which frustum will have depth information displayed.
434
435
  * </p>
435
436
  *
436
- * @type Number
437
+ * @type {number}
437
438
  *
438
439
  * @default 1
439
440
  */
@@ -445,7 +446,7 @@ function Scene(options) {
445
446
  * When <code>true</code>, draws outlines to show the boundaries of the camera frustums
446
447
  * </p>
447
448
  *
448
- * @type Boolean
449
+ * @type {boolean}
449
450
  *
450
451
  * @default false
451
452
  */
@@ -456,7 +457,7 @@ function Scene(options) {
456
457
  /**
457
458
  * When <code>true</code>, enables picking using the depth buffer.
458
459
  *
459
- * @type Boolean
460
+ * @type {boolean}
460
461
  * @default true
461
462
  */
462
463
  this.useDepthPicking = true;
@@ -480,14 +481,14 @@ function Scene(options) {
480
481
  * const worldPosition = viewer.scene.pickPosition(movement.position);
481
482
  * }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
482
483
  *
483
- * @type {Boolean}
484
+ * @type {boolean}
484
485
  * @default false
485
486
  */
486
487
  this.pickTranslucentDepth = false;
487
488
 
488
489
  /**
489
490
  * The time in milliseconds to wait before checking if the camera has not moved and fire the cameraMoveEnd event.
490
- * @type {Number}
491
+ * @type {number}
491
492
  * @default 500.0
492
493
  * @private
493
494
  */
@@ -515,7 +516,7 @@ function Scene(options) {
515
516
  /**
516
517
  * When <code>false</code>, 3D Tiles will render normally. When <code>true</code>, classified 3D Tile geometry will render normally and
517
518
  * unclassified 3D Tile geometry will render with the color multiplied by {@link Scene#invertClassificationColor}.
518
- * @type {Boolean}
519
+ * @type {boolean}
519
520
  * @default false
520
521
  */
521
522
  this.invertClassification = false;
@@ -536,13 +537,13 @@ function Scene(options) {
536
537
 
537
538
  /**
538
539
  * The focal length for use when with cardboard or WebVR.
539
- * @type {Number}
540
+ * @type {number}
540
541
  */
541
542
  this.focalLength = undefined;
542
543
 
543
544
  /**
544
545
  * The eye separation distance in meters for use with cardboard or WebVR.
545
- * @type {Number}
546
+ * @type {number}
546
547
  */
547
548
  this.eyeSeparation = undefined;
548
549
 
@@ -604,7 +605,7 @@ function Scene(options) {
604
605
  * @see Scene#maximumRenderTimeChange
605
606
  * @see Scene#requestRender
606
607
  *
607
- * @type {Boolean}
608
+ * @type {boolean}
608
609
  * @default false
609
610
  */
610
611
  this.requestRenderMode = defaultValue(options.requestRenderMode, false);
@@ -621,7 +622,7 @@ function Scene(options) {
621
622
  * @see {@link https://cesium.com/blog/2018/01/24/cesium-scene-rendering-performance/|Improving Performance with Explicit Rendering}
622
623
  * @see Scene#requestRenderMode
623
624
  *
624
- * @type {Number}
625
+ * @type {number}
625
626
  * @default 0.0
626
627
  */
627
628
  this.maximumRenderTimeChange = defaultValue(
@@ -638,6 +639,7 @@ function Scene(options) {
638
639
  requestRenderAfterFrame(this)
639
640
  );
640
641
  this._removeGlobeCallbacks = [];
642
+ this._removeTerrainProviderReadyListener = undefined;
641
643
 
642
644
  const viewport = new BoundingRectangle(
643
645
  0,
@@ -683,7 +685,7 @@ function Scene(options) {
683
685
 
684
686
  /**
685
687
  * The url to the KTX2 file containing the specular environment map and convoluted mipmaps for image-based lighting of PBR models.
686
- * @type {String}
688
+ * @type {string}
687
689
  */
688
690
  this.specularEnvironmentMaps = undefined;
689
691
  this._specularEnvironmentMapAtlas = undefined;
@@ -740,7 +742,7 @@ Object.defineProperties(Scene.prototype, {
740
742
  * The drawingBufferHeight of the underlying GL context.
741
743
  * @memberof Scene.prototype
742
744
  *
743
- * @type {Number}
745
+ * @type {number}
744
746
  * @readonly
745
747
  *
746
748
  * @see {@link https://www.khronos.org/registry/webgl/specs/1.0/#DOM-WebGLRenderingContext-drawingBufferHeight|drawingBufferHeight}
@@ -755,7 +757,7 @@ Object.defineProperties(Scene.prototype, {
755
757
  * The drawingBufferHeight of the underlying GL context.
756
758
  * @memberof Scene.prototype
757
759
  *
758
- * @type {Number}
760
+ * @type {number}
759
761
  * @readonly
760
762
  *
761
763
  * @see {@link https://www.khronos.org/registry/webgl/specs/1.0/#DOM-WebGLRenderingContext-drawingBufferHeight|drawingBufferHeight}
@@ -770,7 +772,7 @@ Object.defineProperties(Scene.prototype, {
770
772
  * The maximum aliased line width, in pixels, supported by this WebGL implementation. It will be at least one.
771
773
  * @memberof Scene.prototype
772
774
  *
773
- * @type {Number}
775
+ * @type {number}
774
776
  * @readonly
775
777
  *
776
778
  * @see {@link https://www.khronos.org/opengles/sdk/docs/man/xhtml/glGet.xml|glGet} with <code>ALIASED_LINE_WIDTH_RANGE</code>.
@@ -785,7 +787,7 @@ Object.defineProperties(Scene.prototype, {
785
787
  * The maximum length in pixels of one edge of a cube map, supported by this WebGL implementation. It will be at least 16.
786
788
  * @memberof Scene.prototype
787
789
  *
788
- * @type {Number}
790
+ * @type {number}
789
791
  * @readonly
790
792
  *
791
793
  * @see {@link https://www.khronos.org/opengles/sdk/docs/man/xhtml/glGet.xml|glGet} with <code>GL_MAX_CUBE_MAP_TEXTURE_SIZE</code>.
@@ -800,7 +802,7 @@ Object.defineProperties(Scene.prototype, {
800
802
  * Returns <code>true</code> if the {@link Scene#pickPosition} function is supported.
801
803
  * @memberof Scene.prototype
802
804
  *
803
- * @type {Boolean}
805
+ * @type {boolean}
804
806
  * @readonly
805
807
  *
806
808
  * @see Scene#pickPosition
@@ -815,7 +817,7 @@ Object.defineProperties(Scene.prototype, {
815
817
  * Returns <code>true</code> if the {@link Scene#sampleHeight} and {@link Scene#sampleHeightMostDetailed} functions are supported.
816
818
  * @memberof Scene.prototype
817
819
  *
818
- * @type {Boolean}
820
+ * @type {boolean}
819
821
  * @readonly
820
822
  *
821
823
  * @see Scene#sampleHeight
@@ -831,7 +833,7 @@ Object.defineProperties(Scene.prototype, {
831
833
  * Returns <code>true</code> if the {@link Scene#clampToHeight} and {@link Scene#clampToHeightMostDetailed} functions are supported.
832
834
  * @memberof Scene.prototype
833
835
  *
834
- * @type {Boolean}
836
+ * @type {boolean}
835
837
  * @readonly
836
838
  *
837
839
  * @see Scene#clampToHeight
@@ -847,7 +849,7 @@ Object.defineProperties(Scene.prototype, {
847
849
  * Returns <code>true</code> if the {@link Scene#invertClassification} is supported.
848
850
  * @memberof Scene.prototype
849
851
  *
850
- * @type {Boolean}
852
+ * @type {boolean}
851
853
  * @readonly
852
854
  *
853
855
  * @see Scene#invertClassification
@@ -862,7 +864,7 @@ Object.defineProperties(Scene.prototype, {
862
864
  * Returns <code>true</code> if specular environment maps are supported.
863
865
  * @memberof Scene.prototype
864
866
  *
865
- * @type {Boolean}
867
+ * @type {boolean}
866
868
  * @readonly
867
869
  *
868
870
  * @see Scene#specularEnvironmentMaps
@@ -1104,6 +1106,11 @@ Object.defineProperties(Scene.prototype, {
1104
1106
  return this.globe.terrainProvider;
1105
1107
  },
1106
1108
  set: function (terrainProvider) {
1109
+ // Cancel any in-progress terrain update
1110
+ this._removeTerrainProviderReadyListener =
1111
+ this._removeTerrainProviderReadyListener &&
1112
+ this._removeTerrainProviderReadyListener();
1113
+
1107
1114
  if (defined(this.globe)) {
1108
1115
  this.globe.terrainProvider = terrainProvider;
1109
1116
  }
@@ -1259,7 +1266,7 @@ Object.defineProperties(Scene.prototype, {
1259
1266
  *
1260
1267
  * @memberof Scene.prototype
1261
1268
  *
1262
- * @type {Object}
1269
+ * @type {object}
1263
1270
  * @readonly
1264
1271
  *
1265
1272
  * @default undefined
@@ -1273,7 +1280,7 @@ Object.defineProperties(Scene.prototype, {
1273
1280
  /**
1274
1281
  * Gets whether or not the scene is optimized for 3D only viewing.
1275
1282
  * @memberof Scene.prototype
1276
- * @type {Boolean}
1283
+ * @type {boolean}
1277
1284
  * @readonly
1278
1285
  */
1279
1286
  scene3DOnly: {
@@ -1287,7 +1294,7 @@ Object.defineProperties(Scene.prototype, {
1287
1294
  * Note that this only reflects the original construction option, and there are
1288
1295
  * other factors that could prevent OIT from functioning on a given system configuration.
1289
1296
  * @memberof Scene.prototype
1290
- * @type {Boolean}
1297
+ * @type {boolean}
1291
1298
  * @readonly
1292
1299
  */
1293
1300
  orderIndependentTranslucency: {
@@ -1299,7 +1306,7 @@ Object.defineProperties(Scene.prototype, {
1299
1306
  /**
1300
1307
  * Gets the unique identifier for this scene.
1301
1308
  * @memberof Scene.prototype
1302
- * @type {String}
1309
+ * @type {string}
1303
1310
  * @readonly
1304
1311
  */
1305
1312
  id: {
@@ -1359,7 +1366,7 @@ Object.defineProperties(Scene.prototype, {
1359
1366
  /**
1360
1367
  * Gets the number of frustums used in the last frame.
1361
1368
  * @memberof Scene.prototype
1362
- * @type {Number}
1369
+ * @type {number}
1363
1370
  *
1364
1371
  * @private
1365
1372
  */
@@ -1373,7 +1380,7 @@ Object.defineProperties(Scene.prototype, {
1373
1380
  * When <code>true</code>, splits the scene into two viewports with steroscopic views for the left and right eyes.
1374
1381
  * Used for cardboard and WebVR.
1375
1382
  * @memberof Scene.prototype
1376
- * @type {Boolean}
1383
+ * @type {boolean}
1377
1384
  * @default false
1378
1385
  */
1379
1386
  useWebVR: {
@@ -1429,7 +1436,7 @@ Object.defineProperties(Scene.prototype, {
1429
1436
  * Gets or sets the position of the splitter within the viewport. Valid values are between 0.0 and 1.0.
1430
1437
  * @memberof Scene.prototype
1431
1438
  *
1432
- * @type {Number}
1439
+ * @type {number}
1433
1440
  */
1434
1441
  splitPosition: {
1435
1442
  get: function () {
@@ -1446,7 +1453,7 @@ Object.defineProperties(Scene.prototype, {
1446
1453
  * be applied. When less than zero, the depth test should never be applied. Setting the disableDepthTestDistance
1447
1454
  * property of a billboard, label or point will override this value.
1448
1455
  * @memberof Scene.prototype
1449
- * @type {Number}
1456
+ * @type {number}
1450
1457
  * @default 0.0
1451
1458
  */
1452
1459
  minimumDisableDepthTestDistance: {
@@ -1469,7 +1476,7 @@ Object.defineProperties(Scene.prototype, {
1469
1476
  * Whether or not to use a logarithmic depth buffer. Enabling this option will allow for less frustums in the multi-frustum,
1470
1477
  * increasing performance. This property relies on fragmentDepth being supported.
1471
1478
  * @memberof Scene.prototype
1472
- * @type {Boolean}
1479
+ * @type {boolean}
1473
1480
  */
1474
1481
  logarithmicDepthBuffer: {
1475
1482
  get: function () {
@@ -1487,7 +1494,7 @@ Object.defineProperties(Scene.prototype, {
1487
1494
  /**
1488
1495
  * The value used for gamma correction. This is only used when rendering with high dynamic range.
1489
1496
  * @memberof Scene.prototype
1490
- * @type {Number}
1497
+ * @type {number}
1491
1498
  * @default 2.2
1492
1499
  */
1493
1500
  gamma: {
@@ -1502,7 +1509,7 @@ Object.defineProperties(Scene.prototype, {
1502
1509
  /**
1503
1510
  * Whether or not to use high dynamic range rendering.
1504
1511
  * @memberof Scene.prototype
1505
- * @type {Boolean}
1512
+ * @type {boolean}
1506
1513
  * @default false
1507
1514
  */
1508
1515
  highDynamicRange: {
@@ -1523,7 +1530,7 @@ Object.defineProperties(Scene.prototype, {
1523
1530
  /**
1524
1531
  * Whether or not high dynamic range rendering is supported.
1525
1532
  * @memberof Scene.prototype
1526
- * @type {Boolean}
1533
+ * @type {boolean}
1527
1534
  * @readonly
1528
1535
  * @default true
1529
1536
  */
@@ -1540,7 +1547,7 @@ Object.defineProperties(Scene.prototype, {
1540
1547
  /**
1541
1548
  * Whether or not the camera is underneath the globe.
1542
1549
  * @memberof Scene.prototype
1543
- * @type {Boolean}
1550
+ * @type {boolean}
1544
1551
  * @readonly
1545
1552
  * @default false
1546
1553
  */
@@ -1553,7 +1560,7 @@ Object.defineProperties(Scene.prototype, {
1553
1560
  /**
1554
1561
  * The sample rate of multisample antialiasing (values greater than 1 enable MSAA).
1555
1562
  * @memberof Scene.prototype
1556
- * @type {Number}
1563
+ * @type {number}
1557
1564
  * @default 1
1558
1565
  */
1559
1566
  msaaSamples: {
@@ -1569,7 +1576,7 @@ Object.defineProperties(Scene.prototype, {
1569
1576
  /**
1570
1577
  * Returns <code>true</code> if the Scene's context supports MSAA.
1571
1578
  * @memberof Scene.prototype
1572
- * @type {Boolean}
1579
+ * @type {boolean}
1573
1580
  * @readonly
1574
1581
  */
1575
1582
  msaaSupported: {
@@ -1583,7 +1590,7 @@ Object.defineProperties(Scene.prototype, {
1583
1590
  * measure for real pixel measurements appropriate to a particular device.
1584
1591
  *
1585
1592
  * @memberof Scene.prototype
1586
- * @type {Number}
1593
+ * @type {number}
1587
1594
  * @default 1.0
1588
1595
  * @private
1589
1596
  */
@@ -1617,7 +1624,7 @@ Object.defineProperties(Scene.prototype, {
1617
1624
 
1618
1625
  /**
1619
1626
  * Determines if a compressed texture format is supported.
1620
- * @param {String} format The texture format. May be the name of the format or the WebGL extension name, e.g. s3tc or WEBGL_compressed_texture_s3tc.
1627
+ * @param {string} format The texture format. May be the name of the format or the WebGL extension name, e.g. s3tc or WEBGL_compressed_texture_s3tc.
1621
1628
  * @return {boolean} Whether or not the format is supported.
1622
1629
  */
1623
1630
  Scene.prototype.getCompressedTextureFormatSupported = function (format) {
@@ -2564,6 +2571,12 @@ function executeCommands(scene, passState) {
2564
2571
  clearStencil.execute(context, passState);
2565
2572
  }
2566
2573
 
2574
+ us.updatePass(Pass.VOXELS);
2575
+ commands = frustumCommands.commands[Pass.VOXELS];
2576
+ length = frustumCommands.indices[Pass.VOXELS];
2577
+ commands.length = length;
2578
+ executeVoxelCommands(scene, executeCommand, passState, commands);
2579
+
2567
2580
  us.updatePass(Pass.OPAQUE);
2568
2581
  commands = frustumCommands.commands[Pass.OPAQUE];
2569
2582
  length = frustumCommands.indices[Pass.OPAQUE];
@@ -2634,12 +2647,6 @@ function executeCommands(scene, passState) {
2634
2647
  pickDepth.executeCopyDepth(context, passState);
2635
2648
  }
2636
2649
 
2637
- us.updatePass(Pass.VOXELS);
2638
- commands = frustumCommands.commands[Pass.VOXELS];
2639
- length = frustumCommands.indices[Pass.VOXELS];
2640
- commands.length = length;
2641
- executeVoxelCommands(scene, executeCommand, passState, commands);
2642
-
2643
2650
  if (picking || !usePostProcessSelected) {
2644
2651
  continue;
2645
2652
  }
@@ -3920,9 +3927,9 @@ Scene.prototype.clampLineWidth = function (width) {
3920
3927
  * }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
3921
3928
  *
3922
3929
  * @param {Cartesian2} windowPosition Window coordinates to perform picking on.
3923
- * @param {Number} [width=3] Width of the pick rectangle.
3924
- * @param {Number} [height=3] Height of the pick rectangle.
3925
- * @returns {Object} Object containing the picked primitive.
3930
+ * @param {number} [width=3] Width of the pick rectangle.
3931
+ * @param {number} [height=3] Height of the pick rectangle.
3932
+ * @returns {object} Object containing the picked primitive.
3926
3933
  */
3927
3934
  Scene.prototype.pick = function (windowPosition, width, height) {
3928
3935
  return this._picking.pick(this, windowPosition, width, height);
@@ -3985,10 +3992,10 @@ Scene.prototype.pickPosition = function (windowPosition, result) {
3985
3992
  * the list are ordered by their visual order in the scene (front to back).
3986
3993
  *
3987
3994
  * @param {Cartesian2} windowPosition Window coordinates to perform picking on.
3988
- * @param {Number} [limit] If supplied, stop drilling after collecting this many picks.
3989
- * @param {Number} [width=3] Width of the pick rectangle.
3990
- * @param {Number} [height=3] Height of the pick rectangle.
3991
- * @returns {Array.<*>} Array of objects, each containing 1 picked primitives.
3995
+ * @param {number} [limit] If supplied, stop drilling after collecting this many picks.
3996
+ * @param {number} [width=3] Width of the pick rectangle.
3997
+ * @param {number} [height=3] Height of the pick rectangle.
3998
+ * @returns {any[]} Array of objects, each containing 1 picked primitives.
3992
3999
  *
3993
4000
  * @exception {DeveloperError} windowPosition is undefined.
3994
4001
  *
@@ -4047,8 +4054,8 @@ function updateRequestRenderModeDeferCheckPass(scene) {
4047
4054
  *
4048
4055
  * @param {Ray} ray The ray.
4049
4056
  * @param {Object[]} [objectsToExclude] A list of primitives, entities, or 3D Tiles features to exclude from the ray intersection.
4050
- * @param {Number} [width=0.1] Width of the intersection volume in meters.
4051
- * @returns {Object} An object containing the object and position of the first intersection.
4057
+ * @param {number} [width=0.1] Width of the intersection volume in meters.
4058
+ * @returns {object} An object containing the object and position of the first intersection.
4052
4059
  *
4053
4060
  * @exception {DeveloperError} Ray intersections are only supported in 3D mode.
4054
4061
  */
@@ -4070,9 +4077,9 @@ Scene.prototype.pickFromRay = function (ray, objectsToExclude, width) {
4070
4077
  * @private
4071
4078
  *
4072
4079
  * @param {Ray} ray The ray.
4073
- * @param {Number} [limit=Number.MAX_VALUE] If supplied, stop finding intersections after this many intersections.
4080
+ * @param {number} [limit=Number.MAX_VALUE] If supplied, stop finding intersections after this many intersections.
4074
4081
  * @param {Object[]} [objectsToExclude] A list of primitives, entities, or 3D Tiles features to exclude from the ray intersection.
4075
- * @param {Number} [width=0.1] Width of the intersection volume in meters.
4082
+ * @param {number} [width=0.1] Width of the intersection volume in meters.
4076
4083
  * @returns {Object[]} List of objects containing the object and position of each intersection.
4077
4084
  *
4078
4085
  * @exception {DeveloperError} Ray intersections are only supported in 3D mode.
@@ -4100,8 +4107,8 @@ Scene.prototype.drillPickFromRay = function (
4100
4107
  *
4101
4108
  * @param {Ray} ray The ray.
4102
4109
  * @param {Object[]} [objectsToExclude] A list of primitives, entities, or 3D Tiles features to exclude from the ray intersection.
4103
- * @param {Number} [width=0.1] Width of the intersection volume in meters.
4104
- * @returns {Promise.<Object>} A promise that resolves to an object containing the object and position of the first intersection.
4110
+ * @param {number} [width=0.1] Width of the intersection volume in meters.
4111
+ * @returns {Promise<object>} A promise that resolves to an object containing the object and position of the first intersection.
4105
4112
  *
4106
4113
  * @exception {DeveloperError} Ray intersections are only supported in 3D mode.
4107
4114
  */
@@ -4125,10 +4132,10 @@ Scene.prototype.pickFromRayMostDetailed = function (
4125
4132
  * @private
4126
4133
  *
4127
4134
  * @param {Ray} ray The ray.
4128
- * @param {Number} [limit=Number.MAX_VALUE] If supplied, stop finding intersections after this many intersections.
4135
+ * @param {number} [limit=Number.MAX_VALUE] If supplied, stop finding intersections after this many intersections.
4129
4136
  * @param {Object[]} [objectsToExclude] A list of primitives, entities, or 3D Tiles features to exclude from the ray intersection.
4130
- * @param {Number} [width=0.1] Width of the intersection volume in meters.
4131
- * @returns {Promise.<Object[]>} A promise that resolves to a list of objects containing the object and position of each intersection.
4137
+ * @param {number} [width=0.1] Width of the intersection volume in meters.
4138
+ * @returns {Promise<Object[]>} A promise that resolves to a list of objects containing the object and position of each intersection.
4132
4139
  *
4133
4140
  * @exception {DeveloperError} Ray intersections are only supported in 3D mode.
4134
4141
  */
@@ -4158,8 +4165,8 @@ Scene.prototype.drillPickFromRayMostDetailed = function (
4158
4165
  *
4159
4166
  * @param {Cartographic} position The cartographic position to sample height from.
4160
4167
  * @param {Object[]} [objectsToExclude] A list of primitives, entities, or 3D Tiles features to not sample height from.
4161
- * @param {Number} [width=0.1] Width of the intersection volume in meters.
4162
- * @returns {Number} The height. This may be <code>undefined</code> if there was no scene geometry to sample height from.
4168
+ * @param {number} [width=0.1] Width of the intersection volume in meters.
4169
+ * @returns {number} The height. This may be <code>undefined</code> if there was no scene geometry to sample height from.
4163
4170
  *
4164
4171
  * @example
4165
4172
  * const position = new Cesium.Cartographic(-1.31968, 0.698874);
@@ -4188,7 +4195,7 @@ Scene.prototype.sampleHeight = function (position, objectsToExclude, width) {
4188
4195
  *
4189
4196
  * @param {Cartesian3} cartesian The cartesian position.
4190
4197
  * @param {Object[]} [objectsToExclude] A list of primitives, entities, or 3D Tiles features to not clamp to.
4191
- * @param {Number} [width=0.1] Width of the intersection volume in meters.
4198
+ * @param {number} [width=0.1] Width of the intersection volume in meters.
4192
4199
  * @param {Cartesian3} [result] An optional object to return the clamped position.
4193
4200
  * @returns {Cartesian3} The modified result parameter or a new Cartesian3 instance if one was not provided. This may be <code>undefined</code> if there was no scene geometry to clamp to.
4194
4201
  *
@@ -4228,8 +4235,8 @@ Scene.prototype.clampToHeight = function (
4228
4235
  *
4229
4236
  * @param {Cartographic[]} positions The cartographic positions to update with sampled heights.
4230
4237
  * @param {Object[]} [objectsToExclude] A list of primitives, entities, or 3D Tiles features to not sample height from.
4231
- * @param {Number} [width=0.1] Width of the intersection volume in meters.
4232
- * @returns {Promise.<Cartographic[]>} A promise that resolves to the provided list of positions when the query has completed.
4238
+ * @param {number} [width=0.1] Width of the intersection volume in meters.
4239
+ * @returns {Promise<Cartographic[]>} A promise that resolves to the provided list of positions when the query has completed.
4233
4240
  *
4234
4241
  * @example
4235
4242
  * const positions = [
@@ -4268,8 +4275,8 @@ Scene.prototype.sampleHeightMostDetailed = function (
4268
4275
  *
4269
4276
  * @param {Cartesian3[]} cartesians The cartesian positions to update with clamped positions.
4270
4277
  * @param {Object[]} [objectsToExclude] A list of primitives, entities, or 3D Tiles features to not clamp to.
4271
- * @param {Number} [width=0.1] Width of the intersection volume in meters.
4272
- * @returns {Promise.<Cartesian3[]>} A promise that resolves to the provided list of positions when the query has completed.
4278
+ * @param {number} [width=0.1] Width of the intersection volume in meters.
4279
+ * @returns {Promise<Cartesian3[]>} A promise that resolves to the provided list of positions when the query has completed.
4273
4280
  *
4274
4281
  * @example
4275
4282
  * const cartesians = [
@@ -4331,7 +4338,7 @@ Scene.prototype.completeMorph = function () {
4331
4338
 
4332
4339
  /**
4333
4340
  * Asynchronously transitions the scene to 2D.
4334
- * @param {Number} [duration=2.0] The amount of time, in seconds, for transition animations to complete.
4341
+ * @param {number} [duration=2.0] The amount of time, in seconds, for transition animations to complete.
4335
4342
  */
4336
4343
  Scene.prototype.morphTo2D = function (duration) {
4337
4344
  let ellipsoid;
@@ -4347,7 +4354,7 @@ Scene.prototype.morphTo2D = function (duration) {
4347
4354
 
4348
4355
  /**
4349
4356
  * Asynchronously transitions the scene to Columbus View.
4350
- * @param {Number} [duration=2.0] The amount of time, in seconds, for transition animations to complete.
4357
+ * @param {number} [duration=2.0] The amount of time, in seconds, for transition animations to complete.
4351
4358
  */
4352
4359
  Scene.prototype.morphToColumbusView = function (duration) {
4353
4360
  let ellipsoid;
@@ -4363,7 +4370,7 @@ Scene.prototype.morphToColumbusView = function (duration) {
4363
4370
 
4364
4371
  /**
4365
4372
  * Asynchronously transitions the scene to 3D.
4366
- * @param {Number} [duration=2.0] The amount of time, in seconds, for transition animations to complete.
4373
+ * @param {number} [duration=2.0] The amount of time, in seconds, for transition animations to complete.
4367
4374
  */
4368
4375
  Scene.prototype.morphTo3D = function (duration) {
4369
4376
  let ellipsoid;
@@ -4377,13 +4384,68 @@ Scene.prototype.morphTo3D = function (duration) {
4377
4384
  this._transitioner.morphTo3D(duration, ellipsoid);
4378
4385
  };
4379
4386
 
4387
+ function setTerrain(scene, terrain) {
4388
+ // Cancel any in-progress terrain update
4389
+ scene._removeTerrainProviderReadyListener =
4390
+ scene._removeTerrainProviderReadyListener &&
4391
+ scene._removeTerrainProviderReadyListener();
4392
+
4393
+ // If the terrain is already loaded, set it immediately
4394
+ if (terrain.ready) {
4395
+ if (defined(scene.globe)) {
4396
+ scene.globe.terrainProvider = terrain.provider;
4397
+ }
4398
+ return;
4399
+ }
4400
+ // Otherwise, set a placeholder
4401
+ scene.globe.terrainProvider = undefined;
4402
+ scene._removeTerrainProviderReadyListener = terrain.readyEvent.addEventListener(
4403
+ (provider) => {
4404
+ if (defined(scene) && defined(scene.globe)) {
4405
+ scene.globe.terrainProvider = provider;
4406
+ }
4407
+
4408
+ scene._removeTerrainProviderReadyListener();
4409
+ }
4410
+ );
4411
+ }
4412
+
4413
+ /**
4414
+ * Update the terrain providing surface geometry for the globe.
4415
+ *
4416
+ * @param {Terrain} terrain The terrain provider async helper
4417
+ * @returns {Terrain} terrain The terrain provider async helper
4418
+ *
4419
+ * @example
4420
+ * // Use Cesium World Terrain
4421
+ * scene.setTerrain(Cesium.Terrain.fromWorldTerrain());
4422
+ *
4423
+ * @example
4424
+ * // Use a custom terrain provider
4425
+ * const terrain = new Cesium.Terrain(Cesium.CesiumTerrainProvider.fromUrl("https://myTestTerrain.com"));
4426
+ * scene.setTerrain(terrain);
4427
+ *
4428
+ * terrain.errorEvent.addEventListener(error => {
4429
+ * alert(`Encountered an error while creating terrain! ${error}`);
4430
+ * });
4431
+ */
4432
+ Scene.prototype.setTerrain = function (terrain) {
4433
+ //>>includeStart('debug', pragmas.debug);
4434
+ Check.typeOf.object("terrain", terrain);
4435
+ //>>includeEnd('debug');
4436
+
4437
+ setTerrain(this, terrain);
4438
+
4439
+ return terrain;
4440
+ };
4441
+
4380
4442
  /**
4381
4443
  * Returns true if this object was destroyed; otherwise, false.
4382
4444
  * <br /><br />
4383
4445
  * If this object was destroyed, it should not be used; calling any function other than
4384
4446
  * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
4385
4447
  *
4386
- * @returns {Boolean} <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
4448
+ * @returns {boolean} <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
4387
4449
  *
4388
4450
  * @see Scene#destroy
4389
4451
  */
@@ -4421,6 +4483,9 @@ Scene.prototype.destroy = function () {
4421
4483
  this._groundPrimitives =
4422
4484
  this._groundPrimitives && this._groundPrimitives.destroy();
4423
4485
  this._globe = this._globe && this._globe.destroy();
4486
+ this._removeTerrainProviderReadyListener =
4487
+ this._removeTerrainProviderReadyListener &&
4488
+ this._removeTerrainProviderReadyListener();
4424
4489
  this.skyBox = this.skyBox && this.skyBox.destroy();
4425
4490
  this.skyAtmosphere = this.skyAtmosphere && this.skyAtmosphere.destroy();
4426
4491
  this._debugSphere = this._debugSphere && this._debugSphere.destroy();