@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
@@ -18,7 +18,7 @@ import Vector3DTilePrimitive from "./Vector3DTilePrimitive.js";
18
18
  * @alias Vector3DTilePolygons
19
19
  * @constructor
20
20
  *
21
- * @param {Object} options An object with following properties:
21
+ * @param {object} options An object with following properties:
22
22
  * @param {Float32Array|Uint16Array} options.positions The positions of the polygons. The positions must be contiguous
23
23
  * so that the positions for polygon n are in [c, c + counts[n]] where c = sum{counts[0], counts[n - 1]} and they are the outer ring of
24
24
  * the polygon in counter-clockwise order.
@@ -26,8 +26,8 @@ import Vector3DTilePrimitive from "./Vector3DTilePrimitive.js";
26
26
  * @param {Uint32Array} options.indices The indices of the triangulated polygons. The indices must be contiguous so that
27
27
  * the indices for polygon n are in [i, i + indexCounts[n]] where i = sum{indexCounts[0], indexCounts[n - 1]}.
28
28
  * @param {Uint32Array} options.indexCounts The number of indices for each polygon.
29
- * @param {Number} options.minimumHeight The minimum height of the terrain covered by the tile.
30
- * @param {Number} options.maximumHeight The maximum height of the terrain covered by the tile.
29
+ * @param {number} options.minimumHeight The minimum height of the terrain covered by the tile.
30
+ * @param {number} options.maximumHeight The maximum height of the terrain covered by the tile.
31
31
  * @param {Float32Array} [options.polygonMinimumHeights] An array containing the minimum heights for each polygon.
32
32
  * @param {Float32Array} [options.polygonMaximumHeights] An array containing the maximum heights for each polygon.
33
33
  * @param {Rectangle} options.rectangle The rectangle containing the tile.
@@ -40,8 +40,7 @@ import Vector3DTilePrimitive from "./Vector3DTilePrimitive.js";
40
40
  * @private
41
41
  */
42
42
  function Vector3DTilePolygons(options) {
43
- // All of the private properties will be released except _readyPromise
44
- // and _primitive after the Vector3DTilePrimitive is created.
43
+ // All of the private properties will be released except _primitive after the Vector3DTilePrimitive is created.
45
44
  this._batchTable = options.batchTable;
46
45
 
47
46
  this._batchIds = options.batchIds;
@@ -75,22 +74,20 @@ function Vector3DTilePolygons(options) {
75
74
  this._batchedIndices = undefined;
76
75
 
77
76
  this._ready = false;
78
- this._update = function (polygons, frameState) {};
79
- this._readyPromise = initialize(this);
80
- this._verticesPromise = undefined;
81
-
77
+ this._promise = undefined;
78
+ this._error = undefined;
82
79
  this._primitive = undefined;
83
80
 
84
81
  /**
85
82
  * Draws the wireframe of the classification meshes.
86
- * @type {Boolean}
83
+ * @type {boolean}
87
84
  * @default false
88
85
  */
89
86
  this.debugWireframe = false;
90
87
 
91
88
  /**
92
89
  * Forces a re-batch instead of waiting after a number of frames have been rendered. For testing only.
93
- * @type {Boolean}
90
+ * @type {boolean}
94
91
  * @default false
95
92
  */
96
93
  this.forceRebatch = false;
@@ -109,8 +106,9 @@ Object.defineProperties(Vector3DTilePolygons.prototype, {
109
106
  *
110
107
  * @memberof Vector3DTilePolygons.prototype
111
108
  *
112
- * @type {Number}
109
+ * @type {number}
113
110
  * @readonly
111
+ * @private
114
112
  */
115
113
  trianglesLength: {
116
114
  get: function () {
@@ -126,8 +124,9 @@ Object.defineProperties(Vector3DTilePolygons.prototype, {
126
124
  *
127
125
  * @memberof Vector3DTilePolygons.prototype
128
126
  *
129
- * @type {Number}
127
+ * @type {number}
130
128
  * @readonly
129
+ * @private
131
130
  */
132
131
  geometryByteLength: {
133
132
  get: function () {
@@ -139,14 +138,15 @@ Object.defineProperties(Vector3DTilePolygons.prototype, {
139
138
  },
140
139
 
141
140
  /**
142
- * Gets a promise that resolves when the primitive is ready to render.
141
+ * Returns true when the primitive is ready to render.
143
142
  * @memberof Vector3DTilePolygons.prototype
144
- * @type {Promise<void>}
143
+ * @type {boolean}
145
144
  * @readonly
145
+ * @private
146
146
  */
147
- readyPromise: {
147
+ ready: {
148
148
  get: function () {
149
- return this._readyPromise;
149
+ return this._ready;
150
150
  },
151
151
  },
152
152
  });
@@ -224,85 +224,89 @@ function createPrimitive(polygons) {
224
224
  return;
225
225
  }
226
226
 
227
- if (!defined(polygons._verticesPromise)) {
228
- let positions = polygons._positions;
229
- let counts = polygons._counts;
230
- let indexCounts = polygons._indexCounts;
231
- let indices = polygons._indices;
232
-
233
- let batchIds = polygons._transferrableBatchIds;
234
- let batchTableColors = polygons._batchTableColors;
235
-
236
- let packedBuffer = polygons._packedBuffer;
237
-
238
- if (!defined(batchTableColors)) {
239
- // Copy because they may be the views on the same buffer.
240
- positions = polygons._positions = polygons._positions.slice();
241
- counts = polygons._counts = polygons._counts.slice();
242
- indexCounts = polygons._indexCounts = polygons._indexCounts.slice();
243
- indices = polygons._indices = polygons._indices.slice();
244
-
245
- polygons._center = polygons._ellipsoid.cartographicToCartesian(
246
- Rectangle.center(polygons._rectangle)
247
- );
248
-
249
- batchIds = polygons._transferrableBatchIds = new Uint32Array(
250
- polygons._batchIds
251
- );
252
- batchTableColors = polygons._batchTableColors = new Uint32Array(
253
- batchIds.length
254
- );
255
- const batchTable = polygons._batchTable;
256
-
257
- const length = batchTableColors.length;
258
- for (let i = 0; i < length; ++i) {
259
- const color = batchTable.getColor(i, scratchColor);
260
- batchTableColors[i] = color.toRgba();
261
- }
262
-
263
- packedBuffer = polygons._packedBuffer = packBuffer(polygons);
227
+ let positions = polygons._positions;
228
+ let counts = polygons._counts;
229
+ let indexCounts = polygons._indexCounts;
230
+ let indices = polygons._indices;
231
+
232
+ let batchIds = polygons._transferrableBatchIds;
233
+ let batchTableColors = polygons._batchTableColors;
234
+
235
+ let packedBuffer = polygons._packedBuffer;
236
+
237
+ if (!defined(batchTableColors)) {
238
+ // Copy because they may be the views on the same buffer.
239
+ positions = polygons._positions = polygons._positions.slice();
240
+ counts = polygons._counts = polygons._counts.slice();
241
+ indexCounts = polygons._indexCounts = polygons._indexCounts.slice();
242
+ indices = polygons._indices = polygons._indices.slice();
243
+
244
+ polygons._center = polygons._ellipsoid.cartographicToCartesian(
245
+ Rectangle.center(polygons._rectangle)
246
+ );
247
+
248
+ batchIds = polygons._transferrableBatchIds = new Uint32Array(
249
+ polygons._batchIds
250
+ );
251
+ batchTableColors = polygons._batchTableColors = new Uint32Array(
252
+ batchIds.length
253
+ );
254
+ const batchTable = polygons._batchTable;
255
+
256
+ const length = batchTableColors.length;
257
+ for (let i = 0; i < length; ++i) {
258
+ const color = batchTable.getColor(i, scratchColor);
259
+ batchTableColors[i] = color.toRgba();
264
260
  }
265
261
 
266
- const transferrableObjects = [
267
- positions.buffer,
268
- counts.buffer,
269
- indexCounts.buffer,
270
- indices.buffer,
271
- batchIds.buffer,
272
- batchTableColors.buffer,
273
- packedBuffer.buffer,
274
- ];
275
- const parameters = {
276
- packedBuffer: packedBuffer.buffer,
277
- positions: positions.buffer,
278
- counts: counts.buffer,
279
- indexCounts: indexCounts.buffer,
280
- indices: indices.buffer,
281
- batchIds: batchIds.buffer,
282
- batchTableColors: batchTableColors.buffer,
283
- };
284
-
285
- let minimumHeights = polygons._polygonMinimumHeights;
286
- let maximumHeights = polygons._polygonMaximumHeights;
287
- if (defined(minimumHeights) && defined(maximumHeights)) {
288
- minimumHeights = minimumHeights.slice();
289
- maximumHeights = maximumHeights.slice();
290
-
291
- transferrableObjects.push(minimumHeights.buffer, maximumHeights.buffer);
292
- parameters.minimumHeights = minimumHeights;
293
- parameters.maximumHeights = maximumHeights;
294
- }
262
+ packedBuffer = polygons._packedBuffer = packBuffer(polygons);
263
+ }
295
264
 
296
- const verticesPromise = (polygons._verticesPromise = createVerticesTaskProcessor.scheduleTask(
297
- parameters,
298
- transferrableObjects
299
- ));
300
- if (!defined(verticesPromise)) {
301
- // Postponed
302
- return;
303
- }
265
+ const transferrableObjects = [
266
+ positions.buffer,
267
+ counts.buffer,
268
+ indexCounts.buffer,
269
+ indices.buffer,
270
+ batchIds.buffer,
271
+ batchTableColors.buffer,
272
+ packedBuffer.buffer,
273
+ ];
274
+ const parameters = {
275
+ packedBuffer: packedBuffer.buffer,
276
+ positions: positions.buffer,
277
+ counts: counts.buffer,
278
+ indexCounts: indexCounts.buffer,
279
+ indices: indices.buffer,
280
+ batchIds: batchIds.buffer,
281
+ batchTableColors: batchTableColors.buffer,
282
+ };
283
+
284
+ let minimumHeights = polygons._polygonMinimumHeights;
285
+ let maximumHeights = polygons._polygonMaximumHeights;
286
+ if (defined(minimumHeights) && defined(maximumHeights)) {
287
+ minimumHeights = minimumHeights.slice();
288
+ maximumHeights = maximumHeights.slice();
289
+
290
+ transferrableObjects.push(minimumHeights.buffer, maximumHeights.buffer);
291
+ parameters.minimumHeights = minimumHeights;
292
+ parameters.maximumHeights = maximumHeights;
293
+ }
294
+
295
+ const verticesPromise = createVerticesTaskProcessor.scheduleTask(
296
+ parameters,
297
+ transferrableObjects
298
+ );
299
+ if (!defined(verticesPromise)) {
300
+ // Postponed
301
+ return;
302
+ }
303
+
304
+ return verticesPromise
305
+ .then((result) => {
306
+ if (polygons.isDestroyed()) {
307
+ return;
308
+ }
304
309
 
305
- return verticesPromise.then(function (result) {
306
310
  polygons._positions = undefined;
307
311
  polygons._counts = undefined;
308
312
  polygons._polygonMinimumHeights = undefined;
@@ -323,13 +327,22 @@ function createPrimitive(polygons) {
323
327
  polygons._batchedPositions = new Float32Array(result.positions);
324
328
  polygons._vertexBatchIds = new Uint16Array(result.batchIds);
325
329
 
330
+ finishPrimitive(polygons);
331
+
326
332
  polygons._ready = true;
333
+ })
334
+ .catch((error) => {
335
+ if (polygons.isDestroyed()) {
336
+ return;
337
+ }
338
+
339
+ // Throw the error next frame
340
+ polygons._error = error;
327
341
  });
328
- }
329
342
  }
330
343
 
331
344
  function finishPrimitive(polygons) {
332
- if (polygons._ready && !defined(polygons._primitive)) {
345
+ if (!defined(polygons._primitive)) {
333
346
  polygons._primitive = new Vector3DTilePrimitive({
334
347
  batchTable: polygons._batchTable,
335
348
  positions: polygons._batchedPositions,
@@ -366,7 +379,6 @@ function finishPrimitive(polygons) {
366
379
  polygons._boundingVolume = undefined;
367
380
  polygons._boundingVolumes = undefined;
368
381
  polygons._batchedIndices = undefined;
369
- polygons._verticesPromise = undefined;
370
382
  }
371
383
  }
372
384
 
@@ -383,7 +395,7 @@ Vector3DTilePolygons.prototype.createFeatures = function (content, features) {
383
395
  /**
384
396
  * Colors the entire tile when enabled is true. The resulting color will be (polygon batch table color * color).
385
397
  *
386
- * @param {Boolean} enabled Whether to enable debug coloring.
398
+ * @param {boolean} enabled Whether to enable debug coloring.
387
399
  * @param {Color} color The debug color.
388
400
  */
389
401
  Vector3DTilePolygons.prototype.applyDebugSettings = function (enabled, color) {
@@ -404,48 +416,37 @@ Vector3DTilePolygons.prototype.applyStyle = function (style, features) {
404
416
  * Call when updating the color of a polygon with batchId changes color. The polygons will need to be re-batched
405
417
  * on the next update.
406
418
  *
407
- * @param {Number} batchId The batch id of the polygon whose color has changed.
419
+ * @param {number} batchId The batch id of the polygon whose color has changed.
408
420
  * @param {Color} color The new polygon color.
409
421
  */
410
422
  Vector3DTilePolygons.prototype.updateCommands = function (batchId, color) {
411
423
  this._primitive.updateCommands(batchId, color);
412
424
  };
413
425
 
414
- function initialize(polygons) {
415
- return new Promise(function (resolve, reject) {
416
- polygons._update = function (polygons, frameState) {
417
- const promise = createPrimitive(polygons);
418
-
419
- if (polygons._ready) {
420
- polygons._primitive.debugWireframe = polygons.debugWireframe;
421
- polygons._primitive.forceRebatch = polygons.forceRebatch;
422
- polygons._primitive.classificationType = polygons.classificationType;
423
- polygons._primitive.update(frameState);
424
- }
425
-
426
- if (!defined(promise)) {
427
- return;
428
- }
429
-
430
- promise
431
- .then(function () {
432
- finishPrimitive(polygons);
433
- resolve(polygons);
434
- })
435
- .catch(function (e) {
436
- reject(e);
437
- });
438
- };
439
- });
440
- }
441
-
442
426
  /**
443
427
  * Updates the batches and queues the commands for rendering.
444
428
  *
445
429
  * @param {FrameState} frameState The current frame state.
446
430
  */
447
431
  Vector3DTilePolygons.prototype.update = function (frameState) {
448
- this._update(this, frameState);
432
+ if (!this._ready) {
433
+ if (!defined(this._promise)) {
434
+ this._promise = createPrimitive(this);
435
+ }
436
+
437
+ if (defined(this._error)) {
438
+ const error = this._error;
439
+ this._error = undefined;
440
+ throw error;
441
+ }
442
+
443
+ return;
444
+ }
445
+
446
+ this._primitive.debugWireframe = this.debugWireframe;
447
+ this._primitive.forceRebatch = this.forceRebatch;
448
+ this._primitive.classificationType = this.classificationType;
449
+ this._primitive.update(frameState);
449
450
  };
450
451
 
451
452
  /**
@@ -455,7 +456,7 @@ Vector3DTilePolygons.prototype.update = function (frameState) {
455
456
  * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
456
457
  * </p>
457
458
  *
458
- * @returns {Boolean} <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
459
+ * @returns {boolean} <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
459
460
  */
460
461
  Vector3DTilePolygons.prototype.isDestroyed = function () {
461
462
  return false;
@@ -29,18 +29,18 @@ import Cesium3DTileFeature from "./Cesium3DTileFeature.js";
29
29
  * @alias Vector3DTilePolylines
30
30
  * @constructor
31
31
  *
32
- * @param {Object} options An object with following properties:
32
+ * @param {object} options An object with following properties:
33
33
  * @param {Uint16Array} options.positions The positions of the polylines
34
34
  * @param {Uint32Array} options.counts The number or positions in the each polyline.
35
35
  * @param {Uint16Array} options.widths The width of each polyline.
36
- * @param {Number} options.minimumHeight The minimum height of the terrain covered by the tile.
37
- * @param {Number} options.maximumHeight The maximum height of the terrain covered by the tile.
36
+ * @param {number} options.minimumHeight The minimum height of the terrain covered by the tile.
37
+ * @param {number} options.maximumHeight The maximum height of the terrain covered by the tile.
38
38
  * @param {Rectangle} options.rectangle The rectangle containing the tile.
39
39
  * @param {Cartesian3} [options.center=Cartesian3.ZERO] The RTC center.
40
40
  * @param {Cesium3DTileBatchTable} options.batchTable The batch table for the tile containing the batched polylines.
41
41
  * @param {Uint16Array} options.batchIds The batch ids for each polyline.
42
42
  * @param {BoundingSphere} options.boundingVolume The bounding volume for the entire batch of polylines.
43
- * @param {Boolean} options.keepDecodedPositions Whether to keep decoded positions in memory.
43
+ * @param {boolean} options.keepDecodedPositions Whether to keep decoded positions in memory.
44
44
  *
45
45
  * @private
46
46
  */
@@ -87,10 +87,8 @@ function Vector3DTilePolylines(options) {
87
87
  this._geometryByteLength = 0;
88
88
 
89
89
  this._ready = false;
90
- this._update = function (polylines, frameState) {};
91
- this._readyPromise = initialize(this);
92
-
93
- this._verticesPromise = undefined;
90
+ this._promise = undefined;
91
+ this._error = undefined;
94
92
  }
95
93
 
96
94
  Object.defineProperties(Vector3DTilePolylines.prototype, {
@@ -99,8 +97,9 @@ Object.defineProperties(Vector3DTilePolylines.prototype, {
99
97
  *
100
98
  * @memberof Vector3DTilePolylines.prototype
101
99
  *
102
- * @type {Number}
100
+ * @type {number}
103
101
  * @readonly
102
+ * @private
104
103
  */
105
104
  trianglesLength: {
106
105
  get: function () {
@@ -113,8 +112,9 @@ Object.defineProperties(Vector3DTilePolylines.prototype, {
113
112
  *
114
113
  * @memberof Vector3DTilePolylines.prototype
115
114
  *
116
- * @type {Number}
115
+ * @type {number}
117
116
  * @readonly
117
+ * @private
118
118
  */
119
119
  geometryByteLength: {
120
120
  get: function () {
@@ -123,14 +123,15 @@ Object.defineProperties(Vector3DTilePolylines.prototype, {
123
123
  },
124
124
 
125
125
  /**
126
- * Gets a promise that resolves when the primitive is ready to render.
126
+ * Returns true when the primitive is ready to render.
127
127
  * @memberof Vector3DTilePolylines.prototype
128
- * @type {Promise<void>}
128
+ * @type {boolean}
129
129
  * @readonly
130
+ * @private
130
131
  */
131
- readyPromise: {
132
+ ready: {
132
133
  get: function () {
133
- return this._readyPromise;
134
+ return this._ready;
134
135
  },
135
136
  },
136
137
  });
@@ -181,51 +182,55 @@ function createVertexArray(polylines, context) {
181
182
  return;
182
183
  }
183
184
 
184
- if (!defined(polylines._verticesPromise)) {
185
- let positions = polylines._positions;
186
- let widths = polylines._widths;
187
- let counts = polylines._counts;
188
- let batchIds = polylines._transferrableBatchIds;
185
+ let positions = polylines._positions;
186
+ let widths = polylines._widths;
187
+ let counts = polylines._counts;
188
+ let batchIds = polylines._transferrableBatchIds;
189
189
 
190
- let packedBuffer = polylines._packedBuffer;
190
+ let packedBuffer = polylines._packedBuffer;
191
191
 
192
- if (!defined(packedBuffer)) {
193
- // Copy because they may be the views on the same buffer.
194
- positions = polylines._positions = positions.slice();
195
- widths = polylines._widths = widths.slice();
196
- counts = polylines._counts = counts.slice();
192
+ if (!defined(packedBuffer)) {
193
+ // Copy because they may be the views on the same buffer.
194
+ positions = polylines._positions = positions.slice();
195
+ widths = polylines._widths = widths.slice();
196
+ counts = polylines._counts = counts.slice();
197
197
 
198
- batchIds = polylines._transferrableBatchIds = polylines._batchIds.slice();
198
+ batchIds = polylines._transferrableBatchIds = polylines._batchIds.slice();
199
199
 
200
- packedBuffer = polylines._packedBuffer = packBuffer(polylines);
201
- }
200
+ packedBuffer = polylines._packedBuffer = packBuffer(polylines);
201
+ }
202
202
 
203
- const transferrableObjects = [
204
- positions.buffer,
205
- widths.buffer,
206
- counts.buffer,
207
- batchIds.buffer,
208
- packedBuffer.buffer,
209
- ];
210
- const parameters = {
211
- positions: positions.buffer,
212
- widths: widths.buffer,
213
- counts: counts.buffer,
214
- batchIds: batchIds.buffer,
215
- packedBuffer: packedBuffer.buffer,
216
- keepDecodedPositions: polylines._keepDecodedPositions,
217
- };
218
-
219
- const verticesPromise = (polylines._verticesPromise = createVerticesTaskProcessor.scheduleTask(
220
- parameters,
221
- transferrableObjects
222
- ));
223
- if (!defined(verticesPromise)) {
224
- // Postponed
225
- return;
226
- }
203
+ const transferrableObjects = [
204
+ positions.buffer,
205
+ widths.buffer,
206
+ counts.buffer,
207
+ batchIds.buffer,
208
+ packedBuffer.buffer,
209
+ ];
210
+ const parameters = {
211
+ positions: positions.buffer,
212
+ widths: widths.buffer,
213
+ counts: counts.buffer,
214
+ batchIds: batchIds.buffer,
215
+ packedBuffer: packedBuffer.buffer,
216
+ keepDecodedPositions: polylines._keepDecodedPositions,
217
+ };
218
+
219
+ const verticesPromise = createVerticesTaskProcessor.scheduleTask(
220
+ parameters,
221
+ transferrableObjects
222
+ );
223
+ if (!defined(verticesPromise)) {
224
+ // Postponed
225
+ return;
226
+ }
227
+
228
+ return verticesPromise
229
+ .then(function (result) {
230
+ if (polylines.isDestroyed()) {
231
+ return;
232
+ }
227
233
 
228
- return verticesPromise.then(function (result) {
229
234
  if (polylines._keepDecodedPositions) {
230
235
  polylines._decodedPositions = new Float64Array(result.decodedPositions);
231
236
  polylines._decodedPositionOffsets = new Uint32Array(
@@ -245,13 +250,22 @@ function createVertexArray(polylines, context) {
245
250
  ? new Uint16Array(result.indices)
246
251
  : new Uint32Array(result.indices);
247
252
 
253
+ finishVertexArray(polylines, context);
254
+
248
255
  polylines._ready = true;
256
+ })
257
+ .catch((error) => {
258
+ if (polylines.isDestroyed()) {
259
+ return;
260
+ }
261
+
262
+ // Throw the error next frame
263
+ polylines._error = error;
249
264
  });
250
- }
251
265
  }
252
266
 
253
267
  function finishVertexArray(polylines, context) {
254
- if (polylines._ready && !defined(polylines._va)) {
268
+ if (!defined(polylines._va)) {
255
269
  const curPositions = polylines._currentPositions;
256
270
  const prevPositions = polylines._previousPositions;
257
271
  const nextPositions = polylines._nextPositions;
@@ -528,7 +542,7 @@ Vector3DTilePolylines.getPolylinePositions = function (polylines, batchId) {
528
542
  /**
529
543
  * Get the polyline positions for the given feature.
530
544
  *
531
- * @param {Number} batchId The batch ID of the feature.
545
+ * @param {number} batchId The batch ID of the feature.
532
546
  */
533
547
  Vector3DTilePolylines.prototype.getPositions = function (batchId) {
534
548
  return Vector3DTilePolylines.getPolylinePositions(this, batchId);
@@ -552,7 +566,7 @@ Vector3DTilePolylines.prototype.createFeatures = function (content, features) {
552
566
  /**
553
567
  * Colors the entire tile when enabled is true. The resulting color will be (polyline batch table color * color).
554
568
  *
555
- * @param {Boolean} enabled Whether to enable debug coloring.
569
+ * @param {boolean} enabled Whether to enable debug coloring.
556
570
  * @param {Color} color The debug color.
557
571
  */
558
572
  Vector3DTilePolylines.prototype.applyDebugSettings = function (enabled, color) {
@@ -603,45 +617,35 @@ Vector3DTilePolylines.prototype.applyStyle = function (style, features) {
603
617
  }
604
618
  };
605
619
 
606
- function initialize(polylines) {
607
- return new Promise(function (resolve, reject) {
608
- polylines._update = function (polylines, frameState) {
609
- const context = frameState.context;
610
- const promise = createVertexArray(polylines, context);
611
- createUniformMap(polylines, context);
612
- createShaders(polylines, context);
613
- createRenderStates(polylines);
614
-
615
- if (polylines._ready) {
616
- const passes = frameState.passes;
617
- if (passes.render || passes.pick) {
618
- queueCommands(polylines, frameState);
619
- }
620
- }
621
-
622
- if (!defined(promise)) {
623
- return;
624
- }
625
-
626
- promise
627
- .then(function () {
628
- finishVertexArray(polylines, context);
629
- resolve();
630
- })
631
- .catch(function (e) {
632
- reject(e);
633
- });
634
- };
635
- });
636
- }
637
-
638
620
  /**
639
621
  * Updates the batches and queues the commands for rendering.
640
622
  *
641
623
  * @param {FrameState} frameState The current frame state.
642
624
  */
643
625
  Vector3DTilePolylines.prototype.update = function (frameState) {
644
- this._update(this, frameState);
626
+ const context = frameState.context;
627
+ if (!this._ready) {
628
+ if (!defined(this._promise)) {
629
+ this._promise = createVertexArray(this, context);
630
+ }
631
+
632
+ if (defined(this._error)) {
633
+ const error = this._error;
634
+ this._error = undefined;
635
+ throw error;
636
+ }
637
+
638
+ return;
639
+ }
640
+
641
+ createUniformMap(this, context);
642
+ createShaders(this, context);
643
+ createRenderStates(this);
644
+
645
+ const passes = frameState.passes;
646
+ if (passes.render || passes.pick) {
647
+ queueCommands(this, frameState);
648
+ }
645
649
  };
646
650
 
647
651
  /**
@@ -651,7 +655,7 @@ Vector3DTilePolylines.prototype.update = function (frameState) {
651
655
  * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
652
656
  * </p>
653
657
  *
654
- * @returns {Boolean} <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
658
+ * @returns {boolean} <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
655
659
  */
656
660
  Vector3DTilePolylines.prototype.isDestroyed = function () {
657
661
  return false;