@cesium/engine 15.0.0 → 17.0.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 (558) hide show
  1. package/Build/Workers/{chunk-XED3RXKO.js → chunk-236N6BJN.js} +4 -4
  2. package/Build/Workers/{chunk-TU6ZXHVU.js → chunk-2BJXFXD7.js} +46 -42
  3. package/Build/Workers/{chunk-3LHBH4TC.js → chunk-37PA7GZW.js} +7 -7
  4. package/Build/Workers/{chunk-FMZ5CX6V.js → chunk-4BGKMM7J.js} +1 -1
  5. package/Build/Workers/{chunk-L5SO4Y5V.js → chunk-4TIR5UPL.js} +1 -1
  6. package/Build/Workers/{chunk-NAGMYRDW.js → chunk-5PC577K7.js} +17 -20
  7. package/Build/Workers/{chunk-XDHM4G3P.js → chunk-5RPUEFSA.js} +129 -146
  8. package/Build/Workers/{chunk-ZVDLC3T4.js → chunk-5YEFZMMM.js} +25 -30
  9. package/Build/Workers/{chunk-VMVPONIV.js → chunk-77MDEA47.js} +5 -5
  10. package/Build/Workers/{chunk-QTEX3Y4V.js → chunk-7IIMO7ZZ.js} +33 -41
  11. package/Build/Workers/{chunk-Q5BHMNKU.js → chunk-7PHT4JHA.js} +27 -29
  12. package/Build/Workers/{chunk-25TOENEE.js → chunk-C5DCX2YQ.js} +9 -12
  13. package/Build/Workers/{chunk-B2Y4ZS6X.js → chunk-CAKU6ZPR.js} +9 -12
  14. package/Build/Workers/{chunk-RRN6LRDX.js → chunk-CBFJVM6I.js} +26 -28
  15. package/Build/Workers/{chunk-GGV2XJHE.js → chunk-CC2WKHIW.js} +13 -16
  16. package/Build/Workers/{chunk-K5G2WELR.js → chunk-CQMXZF4A.js} +12 -17
  17. package/Build/Workers/{chunk-67ONR44K.js → chunk-DRMXU674.js} +7 -10
  18. package/Build/Workers/{chunk-3LZF23RY.js → chunk-E7SMO47Q.js} +7 -10
  19. package/Build/Workers/{chunk-PUTA3AE2.js → chunk-G6JUXZUO.js} +4 -4
  20. package/Build/Workers/{chunk-CHX2K5AC.js → chunk-GO3RZX2R.js} +14 -17
  21. package/Build/Workers/{chunk-7ITUZTFH.js → chunk-HBNWBMAM.js} +1 -1
  22. package/Build/Workers/{chunk-3JZGPJMZ.js → chunk-HGEGZ67N.js} +6 -6
  23. package/Build/Workers/{chunk-GK4QU6QI.js → chunk-IFIS4CVK.js} +2 -2
  24. package/Build/Workers/{chunk-DYJHEP3B.js → chunk-IKDQX7DY.js} +6 -12
  25. package/Build/Workers/{chunk-FRAWHNSR.js → chunk-J2HTPGC7.js} +2 -2
  26. package/Build/Workers/{chunk-YNYCGTQH.js → chunk-K5JTWJPE.js} +5 -8
  27. package/Build/Workers/{chunk-6EDBC234.js → chunk-KE45DUDH.js} +18 -20
  28. package/Build/Workers/{chunk-TFCOEX3W.js → chunk-LPGOAMYH.js} +2 -2
  29. package/Build/Workers/{chunk-WPXU45PH.js → chunk-LVGYWPEX.js} +4 -4
  30. package/Build/Workers/{chunk-B2UQN3DH.js → chunk-MAIKDIBS.js} +6 -6
  31. package/Build/Workers/{chunk-MWJW37I7.js → chunk-MS5NWDHH.js} +2 -2
  32. package/Build/Workers/{chunk-2AVIUB5H.js → chunk-NZSBSY5K.js} +2 -2
  33. package/Build/Workers/{chunk-OYO6TKMU.js → chunk-OBHLT34A.js} +7 -7
  34. package/Build/Workers/{chunk-RO2Z3LCR.js → chunk-P2N5IDWU.js} +21 -23
  35. package/Build/Workers/{chunk-BD2TPFGC.js → chunk-P57PR3WM.js} +9 -11
  36. package/Build/Workers/{chunk-HYPB7FAV.js → chunk-PM4Q36WX.js} +15 -24
  37. package/Build/Workers/{chunk-CJGVEABL.js → chunk-PS3OKVOQ.js} +16 -19
  38. package/Build/Workers/{chunk-SLIA3GQP.js → chunk-QJTIOB2Z.js} +19 -22
  39. package/Build/Workers/{chunk-EZNAJPP5.js → chunk-QUFN3GEO.js} +18 -21
  40. package/Build/Workers/{chunk-ARVZCY6X.js → chunk-RX65FA7X.js} +7 -7
  41. package/Build/Workers/{chunk-E3H7AVMK.js → chunk-SQKTLDSD.js} +39 -41
  42. package/Build/Workers/{chunk-Z4SI54EB.js → chunk-SSLK4U3V.js} +14 -14
  43. package/Build/Workers/{chunk-IGINOLDX.js → chunk-UC7KH56Y.js} +6 -9
  44. package/Build/Workers/{chunk-VJ2PDF64.js → chunk-UFV3YUIN.js} +6 -9
  45. package/Build/Workers/{chunk-LCMJQVIF.js → chunk-UX5JWAC7.js} +17 -26
  46. package/Build/Workers/{chunk-ISQSYLZY.js → chunk-UZ6KXWCA.js} +4 -4
  47. package/Build/Workers/{chunk-JZAMRL5I.js → chunk-VXAKU6EV.js} +34 -36
  48. package/Build/Workers/{chunk-6EV4VOET.js → chunk-WP3IJYLC.js} +16 -19
  49. package/Build/Workers/{chunk-5S2B46UQ.js → chunk-XYGBWBD5.js} +1 -1
  50. package/Build/Workers/{chunk-F7ZI463G.js → chunk-YE6MDFDA.js} +21 -23
  51. package/Build/Workers/{chunk-I4HO2ED2.js → chunk-ZTBZMRQT.js} +9 -12
  52. package/Build/Workers/combineGeometry.js +21 -22
  53. package/Build/Workers/createBoxGeometry.js +15 -16
  54. package/Build/Workers/createBoxOutlineGeometry.js +20 -25
  55. package/Build/Workers/createCircleGeometry.js +26 -28
  56. package/Build/Workers/createCircleOutlineGeometry.js +19 -21
  57. package/Build/Workers/createCoplanarPolygonGeometry.js +38 -42
  58. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +34 -36
  59. package/Build/Workers/createCorridorGeometry.js +42 -49
  60. package/Build/Workers/createCorridorOutlineGeometry.js +36 -43
  61. package/Build/Workers/createCylinderGeometry.js +17 -18
  62. package/Build/Workers/createCylinderOutlineGeometry.js +23 -25
  63. package/Build/Workers/createEllipseGeometry.js +23 -24
  64. package/Build/Workers/createEllipseOutlineGeometry.js +16 -17
  65. package/Build/Workers/createEllipsoidGeometry.js +16 -17
  66. package/Build/Workers/createEllipsoidOutlineGeometry.js +15 -16
  67. package/Build/Workers/createFrustumGeometry.js +15 -16
  68. package/Build/Workers/createFrustumOutlineGeometry.js +18 -21
  69. package/Build/Workers/createGeometry.js +22 -25
  70. package/Build/Workers/createGroundPolylineGeometry.js +34 -42
  71. package/Build/Workers/createPlaneGeometry.js +19 -21
  72. package/Build/Workers/createPlaneOutlineGeometry.js +12 -13
  73. package/Build/Workers/createPolygonGeometry.js +45 -50
  74. package/Build/Workers/createPolygonOutlineGeometry.js +39 -44
  75. package/Build/Workers/createPolylineGeometry.js +33 -40
  76. package/Build/Workers/createPolylineVolumeGeometry.js +37 -44
  77. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +32 -39
  78. package/Build/Workers/createRectangleGeometry.js +41 -51
  79. package/Build/Workers/createRectangleOutlineGeometry.js +28 -33
  80. package/Build/Workers/createSimplePolylineGeometry.js +29 -34
  81. package/Build/Workers/createSphereGeometry.js +17 -20
  82. package/Build/Workers/createSphereOutlineGeometry.js +16 -19
  83. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  84. package/Build/Workers/createVectorTileClampedPolylines.js +12 -13
  85. package/Build/Workers/createVectorTileGeometries.js +21 -22
  86. package/Build/Workers/createVectorTilePoints.js +11 -12
  87. package/Build/Workers/createVectorTilePolygons.js +19 -20
  88. package/Build/Workers/createVectorTilePolylines.js +12 -13
  89. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +20 -23
  90. package/Build/Workers/createVerticesFromHeightmap.js +31 -58
  91. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +17 -18
  92. package/Build/Workers/createWallGeometry.js +30 -35
  93. package/Build/Workers/createWallOutlineGeometry.js +28 -33
  94. package/Build/Workers/decodeDraco.js +10 -11
  95. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  96. package/Build/Workers/decodeI3S.js +10 -16
  97. package/Build/Workers/transcodeKTX2.js +7 -10
  98. package/Build/Workers/transferTypedArrayTest.js +1 -1
  99. package/Build/Workers/upsampleQuantizedTerrainMesh.js +19 -20
  100. package/Source/Core/ApproximateTerrainHeights.js +2 -3
  101. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +6 -6
  102. package/Source/Core/AxisAlignedBoundingBox.js +2 -3
  103. package/Source/Core/BingMapsGeocoderService.js +2 -2
  104. package/Source/Core/BoundingRectangle.js +7 -8
  105. package/Source/Core/BoundingSphere.js +10 -11
  106. package/Source/Core/BoxGeometry.js +7 -7
  107. package/Source/Core/BoxOutlineGeometry.js +7 -9
  108. package/Source/Core/Cartesian2.js +4 -5
  109. package/Source/Core/Cartesian3.js +7 -8
  110. package/Source/Core/Cartesian4.js +6 -7
  111. package/Source/Core/Cartographic.js +5 -6
  112. package/Source/Core/CatmullRomSpline.js +2 -2
  113. package/Source/Core/CesiumTerrainProvider.js +11 -14
  114. package/Source/Core/Check.d.ts +4 -1
  115. package/Source/Core/CircleGeometry.js +2 -2
  116. package/Source/Core/CircleOutlineGeometry.js +2 -2
  117. package/Source/Core/Clock.js +7 -10
  118. package/Source/Core/Color.js +28 -28
  119. package/Source/Core/ColorGeometryInstanceAttribute.js +4 -5
  120. package/Source/Core/ComponentDatatype.js +4 -6
  121. package/Source/Core/CoplanarPolygonGeometry.js +8 -10
  122. package/Source/Core/CoplanarPolygonOutlineGeometry.js +5 -5
  123. package/Source/Core/CorridorGeometry.js +15 -20
  124. package/Source/Core/CorridorOutlineGeometry.js +10 -15
  125. package/Source/Core/Credit.js +1 -2
  126. package/Source/Core/CullingVolume.js +1 -2
  127. package/Source/Core/CustomHeightmapTerrainProvider.js +3 -3
  128. package/Source/Core/CylinderGeometry.js +7 -7
  129. package/Source/Core/CylinderOutlineGeometry.js +7 -7
  130. package/Source/Core/DistanceDisplayCondition.js +4 -5
  131. package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +2 -3
  132. package/Source/Core/EarthOrientationParameters.js +4 -4
  133. package/Source/Core/EllipseGeometry.js +17 -23
  134. package/Source/Core/EllipseOutlineGeometry.js +12 -15
  135. package/Source/Core/Ellipsoid.js +7 -8
  136. package/Source/Core/EllipsoidGeodesic.js +1 -2
  137. package/Source/Core/EllipsoidGeometry.js +15 -15
  138. package/Source/Core/EllipsoidOutlineGeometry.js +15 -15
  139. package/Source/Core/EllipsoidRhumbLine.js +2 -3
  140. package/Source/Core/EllipsoidTangentPlane.js +1 -2
  141. package/Source/Core/EllipsoidTerrainProvider.js +4 -4
  142. package/Source/Core/EllipsoidalOccluder.js +2 -3
  143. package/Source/Core/FeatureDetection.js +1 -2
  144. package/Source/Core/Frozen.js +24 -0
  145. package/Source/Core/FrustumGeometry.js +7 -8
  146. package/Source/Core/FrustumOutlineGeometry.js +3 -4
  147. package/Source/Core/GeographicProjection.js +1 -2
  148. package/Source/Core/GeographicTilingScheme.js +6 -12
  149. package/Source/Core/Geometry.js +4 -7
  150. package/Source/Core/GeometryAttribute.js +3 -3
  151. package/Source/Core/GeometryAttributes.js +2 -2
  152. package/Source/Core/GeometryInstance.js +4 -6
  153. package/Source/Core/GeometryInstanceAttribute.js +3 -3
  154. package/Source/Core/GeometryPipeline.js +3 -4
  155. package/Source/Core/GoogleEarthEnterpriseMetadata.js +13 -24
  156. package/Source/Core/GoogleEarthEnterpriseTerrainData.js +9 -12
  157. package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +3 -3
  158. package/Source/Core/GoogleGeocoderService.js +2 -2
  159. package/Source/Core/GregorianDate.js +8 -9
  160. package/Source/Core/GroundPolylineGeometry.js +8 -8
  161. package/Source/Core/HeadingPitchRange.js +3 -4
  162. package/Source/Core/HeadingPitchRoll.js +3 -4
  163. package/Source/Core/Heap.js +3 -4
  164. package/Source/Core/HeightmapTerrainData.js +22 -38
  165. package/Source/Core/HeightmapTessellator.js +21 -37
  166. package/Source/Core/HermitePolynomialApproximation.js +1 -2
  167. package/Source/Core/HermiteSpline.js +5 -5
  168. package/Source/Core/ITwinPlatform.js +72 -15
  169. package/Source/Core/Iau2006XysData.js +8 -10
  170. package/Source/Core/IntersectionTests.js +1 -2
  171. package/Source/Core/Interval.js +2 -4
  172. package/Source/Core/Ion.js +1 -1
  173. package/Source/Core/IonGeocoderService.js +6 -10
  174. package/Source/Core/IonResource.js +6 -6
  175. package/Source/Core/JulianDate.js +11 -12
  176. package/Source/Core/LinearSpline.js +2 -2
  177. package/Source/Core/ManagedArray.js +2 -3
  178. package/Source/Core/Math.js +36 -27
  179. package/Source/Core/Matrix2.js +7 -8
  180. package/Source/Core/Matrix3.js +12 -13
  181. package/Source/Core/Matrix4.js +28 -28
  182. package/Source/Core/MorphWeightSpline.js +2 -2
  183. package/Source/Core/NearFarScalar.js +6 -7
  184. package/Source/Core/Occluder.js +1 -2
  185. package/Source/Core/OffsetGeometryInstanceAttribute.js +3 -4
  186. package/Source/Core/OpenCageGeocoderService.js +1 -2
  187. package/Source/Core/OrientedBoundingBox.js +7 -8
  188. package/Source/Core/OrthographicFrustum.js +6 -6
  189. package/Source/Core/OrthographicOffCenterFrustum.js +4 -4
  190. package/Source/Core/PerspectiveFrustum.js +8 -8
  191. package/Source/Core/PerspectiveOffCenterFrustum.js +4 -4
  192. package/Source/Core/PlaneGeometry.js +5 -5
  193. package/Source/Core/PolygonGeometry.js +17 -19
  194. package/Source/Core/PolygonGeometryLibrary.js +1 -2
  195. package/Source/Core/PolygonOutlineGeometry.js +11 -14
  196. package/Source/Core/PolygonPipeline.js +5 -6
  197. package/Source/Core/PolylineGeometry.js +10 -15
  198. package/Source/Core/PolylinePipeline.js +7 -14
  199. package/Source/Core/PolylineVolumeGeometry.js +8 -13
  200. package/Source/Core/PolylineVolumeOutlineGeometry.js +7 -12
  201. package/Source/Core/QuantizedMeshTerrainData.js +12 -16
  202. package/Source/Core/Quaternion.js +7 -8
  203. package/Source/Core/QuaternionSpline.js +2 -2
  204. package/Source/Core/Ray.js +2 -3
  205. package/Source/Core/Rectangle.js +18 -19
  206. package/Source/Core/RectangleGeometry.js +17 -25
  207. package/Source/Core/RectangleGeometryLibrary.js +1 -1
  208. package/Source/Core/RectangleOutlineGeometry.js +11 -14
  209. package/Source/Core/Request.js +6 -6
  210. package/Source/Core/RequestScheduler.js +4 -6
  211. package/Source/Core/Resource.js +13 -16
  212. package/Source/Core/S2Cell.js +2 -3
  213. package/Source/Core/ScreenSpaceEventHandler.js +1 -2
  214. package/Source/Core/ShowGeometryInstanceAttribute.js +1 -2
  215. package/Source/Core/Simon1994PlanetaryPositions.js +9 -9
  216. package/Source/Core/SimplePolylineGeometry.js +8 -11
  217. package/Source/Core/SphereGeometry.js +1 -2
  218. package/Source/Core/SphereOutlineGeometry.js +1 -2
  219. package/Source/Core/Spherical.js +4 -5
  220. package/Source/Core/Spline.js +1 -2
  221. package/Source/Core/SteppedSpline.js +2 -2
  222. package/Source/Core/TaskProcessor.js +2 -9
  223. package/Source/Core/TerrainData.js +1 -1
  224. package/Source/Core/TerrainEncoding.js +4 -11
  225. package/Source/Core/TerrainMesh.js +1 -3
  226. package/Source/Core/TerrainProvider.js +1 -1
  227. package/Source/Core/TileProviderError.js +1 -2
  228. package/Source/Core/TimeInterval.js +7 -7
  229. package/Source/Core/TimeIntervalCollection.js +7 -7
  230. package/Source/Core/Tipsify.js +5 -5
  231. package/Source/Core/Transforms.js +10 -15
  232. package/Source/Core/TranslationRotationScale.js +3 -6
  233. package/Source/Core/VRTheWorldTerrainProvider.js +5 -5
  234. package/Source/Core/VertexFormat.js +10 -10
  235. package/Source/Core/VerticalExaggeration.js +1 -1
  236. package/Source/Core/VideoSynchronizer.js +6 -6
  237. package/Source/Core/WallGeometry.js +8 -11
  238. package/Source/Core/WallOutlineGeometry.js +7 -10
  239. package/Source/Core/WebMercatorProjection.js +1 -2
  240. package/Source/Core/WebMercatorTilingScheme.js +5 -11
  241. package/Source/Core/arrayRemoveDuplicates.js +1 -2
  242. package/Source/Core/clone.js +1 -3
  243. package/Source/Core/combine.js +1 -2
  244. package/Source/Core/createWorldBathymetryAsync.js +3 -3
  245. package/Source/Core/createWorldTerrainAsync.js +4 -4
  246. package/Source/Core/defaultValue.js +20 -1
  247. package/Source/Core/destroyObject.js +1 -5
  248. package/Source/Core/getAbsoluteUri.js +1 -2
  249. package/Source/Core/getMagic.js +1 -2
  250. package/Source/Core/getStringFromTypedArray.js +2 -3
  251. package/Source/Core/loadImageFromTypedArray.js +2 -6
  252. package/Source/Core/oneTimeWarning.js +1 -2
  253. package/Source/Core/writeTextToCanvas.js +10 -13
  254. package/Source/DataSources/BillboardGraphics.js +27 -53
  255. package/Source/DataSources/BoxGraphics.js +13 -18
  256. package/Source/DataSources/CallbackPositionProperty.js +1 -2
  257. package/Source/DataSources/Cesium3DTilesetGraphics.js +6 -8
  258. package/Source/DataSources/CheckerboardMaterialProperty.js +2 -2
  259. package/Source/DataSources/CompositePositionProperty.js +1 -2
  260. package/Source/DataSources/ConstantPositionProperty.js +1 -2
  261. package/Source/DataSources/CorridorGraphics.js +23 -35
  262. package/Source/DataSources/CylinderGraphics.js +18 -25
  263. package/Source/DataSources/CzmlDataSource.js +34 -60
  264. package/Source/DataSources/DataSourceClock.js +12 -13
  265. package/Source/DataSources/DataSourceCollection.js +2 -3
  266. package/Source/DataSources/DataSourceDisplay.js +2 -5
  267. package/Source/DataSources/EllipseGraphics.js +26 -40
  268. package/Source/DataSources/EllipsoidGeometryUpdater.js +1 -2
  269. package/Source/DataSources/EllipsoidGraphics.js +21 -32
  270. package/Source/DataSources/Entity.js +7 -9
  271. package/Source/DataSources/EntityCluster.js +9 -9
  272. package/Source/DataSources/EntityView.js +1 -2
  273. package/Source/DataSources/GeoJsonDataSource.js +12 -12
  274. package/Source/DataSources/GeometryUpdater.js +12 -17
  275. package/Source/DataSources/GeometryVisualizer.js +2 -3
  276. package/Source/DataSources/GpxDataSource.js +4 -7
  277. package/Source/DataSources/GridMaterialProperty.js +2 -2
  278. package/Source/DataSources/GroundGeometryUpdater.js +1 -2
  279. package/Source/DataSources/ImageMaterialProperty.js +2 -2
  280. package/Source/DataSources/KmlDataSource.js +84 -158
  281. package/Source/DataSources/LabelGraphics.js +27 -56
  282. package/Source/DataSources/LabelVisualizer.js +1 -2
  283. package/Source/DataSources/ModelGraphics.js +29 -63
  284. package/Source/DataSources/ModelVisualizer.js +1 -2
  285. package/Source/DataSources/NodeTransformationProperty.js +2 -2
  286. package/Source/DataSources/PathGraphics.js +10 -12
  287. package/Source/DataSources/PlaneGraphics.js +13 -15
  288. package/Source/DataSources/PointGraphics.js +17 -32
  289. package/Source/DataSources/PolygonGraphics.js +28 -45
  290. package/Source/DataSources/PolylineDashMaterialProperty.js +2 -2
  291. package/Source/DataSources/PolylineGeometryUpdater.js +9 -14
  292. package/Source/DataSources/PolylineGlowMaterialProperty.js +2 -2
  293. package/Source/DataSources/PolylineGraphics.js +16 -23
  294. package/Source/DataSources/PolylineOutlineMaterialProperty.js +2 -2
  295. package/Source/DataSources/PolylineVisualizer.js +2 -3
  296. package/Source/DataSources/PolylineVolumeGraphics.js +15 -17
  297. package/Source/DataSources/PositionPropertyArray.js +1 -2
  298. package/Source/DataSources/Property.js +1 -2
  299. package/Source/DataSources/PropertyBag.js +1 -2
  300. package/Source/DataSources/RectangleGraphics.js +23 -35
  301. package/Source/DataSources/Rotation.js +4 -5
  302. package/Source/DataSources/SampledPositionProperty.js +2 -3
  303. package/Source/DataSources/SampledProperty.js +6 -11
  304. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +1 -2
  305. package/Source/DataSources/StripeMaterialProperty.js +2 -2
  306. package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +1 -2
  307. package/Source/DataSources/VelocityOrientationProperty.js +1 -2
  308. package/Source/DataSources/VelocityVectorProperty.js +1 -2
  309. package/Source/DataSources/WallGraphics.js +15 -23
  310. package/Source/DataSources/createPropertyDescriptor.js +2 -3
  311. package/Source/DataSources/exportKml.js +11 -14
  312. package/Source/Renderer/Buffer.js +5 -5
  313. package/Source/Renderer/ClearCommand.js +2 -2
  314. package/Source/Renderer/ComputeCommand.js +3 -3
  315. package/Source/Renderer/Context.js +22 -33
  316. package/Source/Renderer/CubeMap.js +6 -6
  317. package/Source/Renderer/CubeMapFace.js +11 -12
  318. package/Source/Renderer/DrawCommand.js +14 -25
  319. package/Source/Renderer/Framebuffer.js +3 -3
  320. package/Source/Renderer/FramebufferManager.js +25 -39
  321. package/Source/Renderer/MultisampleFramebuffer.js +2 -2
  322. package/Source/Renderer/RenderState.js +63 -92
  323. package/Source/Renderer/Renderbuffer.js +4 -4
  324. package/Source/Renderer/Sampler.js +2 -2
  325. package/Source/Renderer/ShaderBuilder.js +2 -3
  326. package/Source/Renderer/ShaderProgram.js +3 -3
  327. package/Source/Renderer/ShaderSource.js +3 -3
  328. package/Source/Renderer/Texture.js +10 -10
  329. package/Source/Renderer/TextureAtlas.js +4 -4
  330. package/Source/Renderer/UniformState.js +6 -11
  331. package/Source/Renderer/VertexArray.js +14 -23
  332. package/Source/Renderer/VertexArrayFacade.js +7 -11
  333. package/Source/Scene/Appearance.js +4 -4
  334. package/Source/Scene/ArcGisMapServerImageryProvider.js +23 -37
  335. package/Source/Scene/ArcGisMapService.js +1 -1
  336. package/Source/Scene/B3dmParser.js +2 -3
  337. package/Source/Scene/BatchTableHierarchy.js +6 -13
  338. package/Source/Scene/Billboard.js +22 -44
  339. package/Source/Scene/BillboardCollection.js +8 -22
  340. package/Source/Scene/BingMapsImageryProvider.js +6 -6
  341. package/Source/Scene/BoxEmitter.js +1 -2
  342. package/Source/Scene/BufferLoader.js +2 -2
  343. package/Source/Scene/Camera.js +43 -62
  344. package/Source/Scene/CameraFlightPath.js +6 -6
  345. package/Source/Scene/Cesium3DContentGroup.js +2 -2
  346. package/Source/Scene/Cesium3DTile.js +3 -4
  347. package/Source/Scene/Cesium3DTileBatchTable.js +6 -49
  348. package/Source/Scene/Cesium3DTileFeatureTable.js +2 -3
  349. package/Source/Scene/Cesium3DTilePointFeature.js +10 -18
  350. package/Source/Scene/Cesium3DTileStyle.js +4 -7
  351. package/Source/Scene/Cesium3DTilesVoxelProvider.js +57 -34
  352. package/Source/Scene/Cesium3DTileset.js +77 -143
  353. package/Source/Scene/Cesium3DTilesetMetadata.js +3 -3
  354. package/Source/Scene/CircleEmitter.js +2 -3
  355. package/Source/Scene/ClassificationPrimitive.js +15 -26
  356. package/Source/Scene/ClippingPlaneCollection.js +7 -12
  357. package/Source/Scene/ClippingPolygon.js +1 -2
  358. package/Source/Scene/ClippingPolygonCollection.js +4 -4
  359. package/Source/Scene/CloudCollection.js +9 -11
  360. package/Source/Scene/Composite3DTileContent.js +1 -2
  361. package/Source/Scene/ConeEmitter.js +1 -2
  362. package/Source/Scene/ContentMetadata.js +2 -2
  363. package/Source/Scene/CreditDisplay.js +5 -9
  364. package/Source/Scene/CumulusCloud.js +9 -15
  365. package/Source/Scene/DebugAppearance.js +7 -7
  366. package/Source/Scene/DebugCameraPrimitive.js +5 -5
  367. package/Source/Scene/DebugModelMatrixPrimitive.js +6 -8
  368. package/Source/Scene/DepthPlane.js +1 -2
  369. package/Source/Scene/DirectionalLight.js +2 -3
  370. package/Source/Scene/DiscardMissingTileImagePolicy.js +2 -2
  371. package/Source/Scene/DynamicEnvironmentMapManager.js +15 -24
  372. package/Source/Scene/EllipsoidPrimitive.js +11 -19
  373. package/Source/Scene/EllipsoidSurfaceAppearance.js +11 -15
  374. package/Source/Scene/FrameRateMonitor.js +12 -21
  375. package/Source/Scene/FrustumCommands.js +2 -3
  376. package/Source/Scene/Geometry3DTileContent.js +9 -16
  377. package/Source/Scene/Globe.js +3 -4
  378. package/Source/Scene/GlobeSurfaceTileProvider.js +9 -18
  379. package/Source/Scene/GlobeTranslucencyState.js +12 -25
  380. package/Source/Scene/GltfBufferViewLoader.js +4 -4
  381. package/Source/Scene/GltfDracoLoader.js +2 -2
  382. package/Source/Scene/GltfImageLoader.js +2 -2
  383. package/Source/Scene/GltfIndexBufferLoader.js +5 -5
  384. package/Source/Scene/GltfJsonLoader.js +2 -2
  385. package/Source/Scene/GltfLoader.js +17 -30
  386. package/Source/Scene/GltfLoaderUtil.js +11 -11
  387. package/Source/Scene/GltfPipeline/addDefaults.js +37 -64
  388. package/Source/Scene/GltfPipeline/addToArray.js +1 -3
  389. package/Source/Scene/GltfPipeline/moveTechniqueRenderStates.js +2 -5
  390. package/Source/Scene/GltfPipeline/parseGlb.js +1 -5
  391. package/Source/Scene/GltfPipeline/removeUnusedElements.js +1 -2
  392. package/Source/Scene/GltfPipeline/updateVersion.js +28 -49
  393. package/Source/Scene/GltfStructuralMetadataLoader.js +5 -6
  394. package/Source/Scene/GltfTextureLoader.js +3 -3
  395. package/Source/Scene/GltfVertexBufferLoader.js +5 -5
  396. package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +2 -2
  397. package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +3 -4
  398. package/Source/Scene/GridImageryProvider.js +10 -13
  399. package/Source/Scene/GroundPolylinePrimitive.js +11 -22
  400. package/Source/Scene/GroundPrimitive.js +13 -24
  401. package/Source/Scene/GroupMetadata.js +2 -2
  402. package/Source/Scene/I3SDataProvider.js +10 -15
  403. package/Source/Scene/I3SNode.js +1 -6
  404. package/Source/Scene/I3SSublayer.js +1 -2
  405. package/Source/Scene/I3SSymbology.js +2 -3
  406. package/Source/Scene/I3dmParser.js +1 -2
  407. package/Source/Scene/ITwinData.js +11 -6
  408. package/Source/Scene/ImageBasedLighting.js +2 -2
  409. package/Source/Scene/ImageryLayer.js +44 -73
  410. package/Source/Scene/ImageryLayerCollection.js +2 -3
  411. package/Source/Scene/Implicit3DTileContent.js +3 -4
  412. package/Source/Scene/ImplicitAvailabilityBitstream.js +2 -5
  413. package/Source/Scene/ImplicitMetadataView.js +2 -2
  414. package/Source/Scene/ImplicitSubtree.js +8 -15
  415. package/Source/Scene/ImplicitSubtreeCache.js +3 -3
  416. package/Source/Scene/ImplicitSubtreeMetadata.js +2 -2
  417. package/Source/Scene/InstanceAttributeSemantic.js +1 -1
  418. package/Source/Scene/IonImageryProvider.js +3 -3
  419. package/Source/Scene/Label.js +19 -36
  420. package/Source/Scene/LabelCollection.js +6 -14
  421. package/Source/Scene/MapboxImageryProvider.js +4 -4
  422. package/Source/Scene/MapboxStyleImageryProvider.js +5 -5
  423. package/Source/Scene/Material.js +14 -20
  424. package/Source/Scene/MaterialAppearance.js +12 -18
  425. package/Source/Scene/Megatexture.js +1 -2
  426. package/Source/Scene/MetadataClass.js +4 -4
  427. package/Source/Scene/MetadataClassProperty.js +11 -14
  428. package/Source/Scene/MetadataEnum.js +4 -7
  429. package/Source/Scene/MetadataEnumValue.js +2 -2
  430. package/Source/Scene/MetadataSchema.js +4 -4
  431. package/Source/Scene/MetadataSchemaLoader.js +2 -2
  432. package/Source/Scene/MetadataTable.js +2 -2
  433. package/Source/Scene/MetadataTableProperty.js +17 -31
  434. package/Source/Scene/Model/AlphaPipelineStage.js +1 -2
  435. package/Source/Scene/Model/B3dmLoader.js +15 -26
  436. package/Source/Scene/Model/BatchTexturePipelineStage.js +1 -2
  437. package/Source/Scene/Model/ClassificationModelDrawCommand.js +2 -2
  438. package/Source/Scene/Model/CustomShader.js +10 -12
  439. package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +3 -3
  440. package/Source/Scene/Model/FeatureIdPipelineStage.js +1 -5
  441. package/Source/Scene/Model/GeoJsonLoader.js +5 -8
  442. package/Source/Scene/Model/I3dmLoader.js +13 -21
  443. package/Source/Scene/Model/MaterialPipelineStage.js +1 -2
  444. package/Source/Scene/Model/Model.js +40 -62
  445. package/Source/Scene/Model/ModelAnimation.js +5 -6
  446. package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
  447. package/Source/Scene/Model/ModelAnimationCollection.js +4 -4
  448. package/Source/Scene/Model/ModelArticulation.js +2 -2
  449. package/Source/Scene/Model/ModelArticulationStage.js +2 -2
  450. package/Source/Scene/Model/ModelDrawCommand.js +3 -3
  451. package/Source/Scene/Model/ModelFeatureTable.js +3 -9
  452. package/Source/Scene/Model/ModelLightingOptions.js +3 -3
  453. package/Source/Scene/Model/ModelNode.js +1 -1
  454. package/Source/Scene/Model/ModelRuntimeNode.js +2 -2
  455. package/Source/Scene/Model/ModelRuntimePrimitive.js +2 -2
  456. package/Source/Scene/Model/ModelSceneGraph.js +2 -2
  457. package/Source/Scene/Model/ModelSkin.js +2 -2
  458. package/Source/Scene/Model/PickingPipelineStage.js +1 -2
  459. package/Source/Scene/Model/PntsLoader.js +6 -6
  460. package/Source/Scene/Model/PointCloudStylingPipelineStage.js +1 -5
  461. package/Source/Scene/Model/PrimitiveOutlineGenerator.js +2 -2
  462. package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +2 -3
  463. package/Source/Scene/Model/TextureUniform.js +5 -8
  464. package/Source/Scene/Model/VaryingType.js +2 -2
  465. package/Source/Scene/Model/pickModel.js +4 -5
  466. package/Source/Scene/Moon.js +5 -5
  467. package/Source/Scene/OpenStreetMapImageryProvider.js +7 -7
  468. package/Source/Scene/OrderedGroundPrimitiveCollection.js +1 -2
  469. package/Source/Scene/Particle.js +11 -17
  470. package/Source/Scene/ParticleBurst.js +5 -5
  471. package/Source/Scene/ParticleSystem.js +24 -54
  472. package/Source/Scene/PerInstanceColorAppearance.js +8 -8
  473. package/Source/Scene/PerformanceDisplay.js +3 -3
  474. package/Source/Scene/PickFramebuffer.js +4 -5
  475. package/Source/Scene/Picking.js +3 -4
  476. package/Source/Scene/PntsParser.js +1 -2
  477. package/Source/Scene/PointCloud.js +6 -12
  478. package/Source/Scene/PointCloudShading.js +9 -18
  479. package/Source/Scene/PointPrimitive.js +11 -21
  480. package/Source/Scene/PointPrimitiveCollection.js +6 -14
  481. package/Source/Scene/Polyline.js +5 -5
  482. package/Source/Scene/PolylineCollection.js +5 -10
  483. package/Source/Scene/PolylineColorAppearance.js +7 -11
  484. package/Source/Scene/PolylineMaterialAppearance.js +7 -11
  485. package/Source/Scene/PostProcessStage.js +2 -2
  486. package/Source/Scene/PostProcessStageComposite.js +3 -6
  487. package/Source/Scene/Primitive.js +21 -42
  488. package/Source/Scene/PrimitiveCollection.js +4 -4
  489. package/Source/Scene/PrimitivePipeline.js +1 -2
  490. package/Source/Scene/PropertyAttribute.js +2 -2
  491. package/Source/Scene/PropertyAttributeProperty.js +4 -4
  492. package/Source/Scene/PropertyTable.js +2 -2
  493. package/Source/Scene/PropertyTexture.js +2 -2
  494. package/Source/Scene/PropertyTextureProperty.js +4 -4
  495. package/Source/Scene/QuadtreePrimitive.js +89 -67
  496. package/Source/Scene/QuadtreeTile.js +170 -0
  497. package/Source/Scene/ResourceCache.js +11 -11
  498. package/Source/Scene/ResourceCacheKey.js +11 -11
  499. package/Source/Scene/Scene.js +27 -25
  500. package/Source/Scene/ScreenSpaceCameraController.js +10 -12
  501. package/Source/Scene/ShadowMap.js +15 -15
  502. package/Source/Scene/ShadowVolumeAppearance.js +1 -2
  503. package/Source/Scene/SingleTileImageryProvider.js +4 -4
  504. package/Source/Scene/SkyAtmosphere.js +1 -2
  505. package/Source/Scene/SkyBox.js +1 -2
  506. package/Source/Scene/SphereEmitter.js +2 -3
  507. package/Source/Scene/StructuralMetadata.js +2 -2
  508. package/Source/Scene/SunLight.js +4 -4
  509. package/Source/Scene/SupportedImageFormats.js +4 -4
  510. package/Source/Scene/TileBoundingRegion.js +4 -5
  511. package/Source/Scene/TileBoundingS2Cell.js +3 -4
  512. package/Source/Scene/TileCoordinatesImageryProvider.js +5 -5
  513. package/Source/Scene/TileMapServiceImageryProvider.js +18 -27
  514. package/Source/Scene/TileMetadata.js +2 -2
  515. package/Source/Scene/TilesetMetadata.js +2 -2
  516. package/Source/Scene/TimeDynamicImagery.js +2 -2
  517. package/Source/Scene/TimeDynamicPointCloud.js +8 -10
  518. package/Source/Scene/TweenCollection.js +13 -16
  519. package/Source/Scene/UrlTemplateImageryProvider.js +11 -15
  520. package/Source/Scene/Vector3DTileClampedPolylines.js +1 -2
  521. package/Source/Scene/Vector3DTileContent.js +16 -20
  522. package/Source/Scene/Vector3DTileGeometry.js +1 -2
  523. package/Source/Scene/Vector3DTilePolygons.js +2 -3
  524. package/Source/Scene/Vector3DTilePolylines.js +1 -2
  525. package/Source/Scene/Vector3DTilePrimitive.js +9 -13
  526. package/Source/Scene/VoxelBoxShape.js +38 -82
  527. package/Source/Scene/VoxelCylinderShape.js +130 -271
  528. package/Source/Scene/VoxelEllipsoidShape.js +2 -3
  529. package/Source/Scene/VoxelMetadataOrder.js +14 -2
  530. package/Source/Scene/VoxelPrimitive.js +17 -30
  531. package/Source/Scene/VoxelProvider.js +0 -12
  532. package/Source/Scene/VoxelRenderResources.js +17 -21
  533. package/Source/Scene/VoxelTraversal.js +2 -6
  534. package/Source/Scene/WebMapServiceImageryProvider.js +17 -24
  535. package/Source/Scene/WebMapTileServiceImageryProvider.js +7 -10
  536. package/Source/Scene/createElevationBandMaterial.js +4 -4
  537. package/Source/Scene/createGooglePhotorealistic3DTileset.js +8 -16
  538. package/Source/Scene/createOsmBuildingsAsync.js +3 -6
  539. package/Source/Scene/createTangentSpaceDebugPrimitive.js +4 -6
  540. package/Source/Scene/createWorldImageryAsync.js +3 -3
  541. package/Source/Scene/findContentMetadata.js +2 -5
  542. package/Source/Scene/findTileMetadata.js +2 -5
  543. package/Source/Scene/parseBatchTable.js +1 -5
  544. package/Source/Scene/parseFeatureMetadataLegacy.js +2 -2
  545. package/Source/Scene/parseStructuralMetadata.js +2 -2
  546. package/Source/Shaders/PolylineCommon.glsl +1 -1
  547. package/Source/Shaders/PolylineCommon.js +1 -1
  548. package/Source/Shaders/Voxels/Octree.glsl +1 -1
  549. package/Source/Shaders/Voxels/Octree.js +1 -1
  550. package/Source/Widget/CesiumWidget.js +17 -25
  551. package/Source/Workers/createGeometry.js +1 -2
  552. package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -2
  553. package/Source/Workers/decodeI3S.js +1 -5
  554. package/Source/Workers/transcodeKTX2.js +1 -2
  555. package/index.d.ts +83 -37
  556. package/index.js +179 -178
  557. package/package.json +2 -2
  558. package/Build/Workers/chunk-QZKN2RXM.js +0 -39
@@ -1,4 +1,4 @@
1
- import defaultValue from "../Core/defaultValue.js";
1
+ import Frozen from "../Core/Frozen.js";
2
2
  import defined from "../Core/defined.js";
3
3
  import FeatureDetection from "../Core/FeatureDetection.js";
4
4
  import VertexFormat from "../Core/VertexFormat.js";
@@ -48,9 +48,9 @@ if (!FeatureDetection.isInternetExplorer()) {
48
48
  * });
49
49
  */
50
50
  function PolylineMaterialAppearance(options) {
51
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
51
+ options = options ?? Frozen.EMPTY_OBJECT;
52
52
 
53
- const translucent = defaultValue(options.translucent, true);
53
+ const translucent = options.translucent ?? true;
54
54
  const closed = false;
55
55
  const vertexFormat = PolylineMaterialAppearance.VERTEX_FORMAT;
56
56
 
@@ -78,14 +78,10 @@ function PolylineMaterialAppearance(options) {
78
78
  */
79
79
  this.translucent = translucent;
80
80
 
81
- this._vertexShaderSource = defaultValue(
82
- options.vertexShaderSource,
83
- defaultVertexShaderSource,
84
- );
85
- this._fragmentShaderSource = defaultValue(
86
- options.fragmentShaderSource,
87
- defaultFragmentShaderSource,
88
- );
81
+ this._vertexShaderSource =
82
+ options.vertexShaderSource ?? defaultVertexShaderSource;
83
+ this._fragmentShaderSource =
84
+ options.fragmentShaderSource ?? defaultFragmentShaderSource;
89
85
  this._renderState = Appearance.getDefaultRenderState(
90
86
  translucent,
91
87
  closed,
@@ -3,7 +3,7 @@ import Check from "../Core/Check.js";
3
3
  import Color from "../Core/Color.js";
4
4
  import combine from "../Core/combine.js";
5
5
  import createGuid from "../Core/createGuid.js";
6
- import defaultValue from "../Core/defaultValue.js";
6
+ import Frozen from "../Core/Frozen.js";
7
7
  import defined from "../Core/defined.js";
8
8
  import destroyObject from "../Core/destroyObject.js";
9
9
  import DeveloperError from "../Core/DeveloperError.js";
@@ -92,7 +92,7 @@ import PostProcessStageSampleMode from "./PostProcessStageSampleMode.js";
92
92
  * stage.selected = [cesium3DTileFeature];
93
93
  */
94
94
  function PostProcessStage(options) {
95
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
95
+ options = options ?? Frozen.EMPTY_OBJECT;
96
96
  const {
97
97
  name = createGuid(),
98
98
  fragmentShader,
@@ -1,6 +1,6 @@
1
1
  import Check from "../Core/Check.js";
2
2
  import createGuid from "../Core/createGuid.js";
3
- import defaultValue from "../Core/defaultValue.js";
3
+ import Frozen from "../Core/Frozen.js";
4
4
  import defined from "../Core/defined.js";
5
5
  import destroyObject from "../Core/destroyObject.js";
6
6
 
@@ -74,7 +74,7 @@ import destroyObject from "../Core/destroyObject.js";
74
74
  * }));
75
75
  */
76
76
  function PostProcessStageComposite(options) {
77
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
77
+ options = options ?? Frozen.EMPTY_OBJECT;
78
78
 
79
79
  //>>includeStart('debug', pragmas.debug);
80
80
  Check.defined("options.stages", options.stages);
@@ -86,10 +86,7 @@ function PostProcessStageComposite(options) {
86
86
  //>>includeEnd('debug');
87
87
 
88
88
  this._stages = options.stages;
89
- this._inputPreviousStageTexture = defaultValue(
90
- options.inputPreviousStageTexture,
91
- true,
92
- );
89
+ this._inputPreviousStageTexture = options.inputPreviousStageTexture ?? true;
93
90
 
94
91
  let name = options.name;
95
92
  if (!defined(name)) {
@@ -7,7 +7,7 @@ import clone from "../Core/clone.js";
7
7
  import Color from "../Core/Color.js";
8
8
  import combine from "../Core/combine.js";
9
9
  import ComponentDatatype from "../Core/ComponentDatatype.js";
10
- import defaultValue from "../Core/defaultValue.js";
10
+ import Frozen from "../Core/Frozen.js";
11
11
  import defined from "../Core/defined.js";
12
12
  import destroyObject from "../Core/destroyObject.js";
13
13
  import DeveloperError from "../Core/DeveloperError.js";
@@ -152,7 +152,7 @@ import ShadowMode from "./ShadowMode.js";
152
152
  * @see GroundPrimitive
153
153
  */
154
154
  function Primitive(options) {
155
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
155
+ options = options ?? Frozen.EMPTY_OBJECT;
156
156
 
157
157
  /**
158
158
  * The geometry instances rendered with this primitive. This may
@@ -224,9 +224,7 @@ function Primitive(options) {
224
224
  * const origin = Cesium.Cartesian3.fromDegrees(-95.0, 40.0, 200000.0);
225
225
  * p.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(origin);
226
226
  */
227
- this.modelMatrix = Matrix4.clone(
228
- defaultValue(options.modelMatrix, Matrix4.IDENTITY),
229
- );
227
+ this.modelMatrix = Matrix4.clone(options.modelMatrix ?? Matrix4.IDENTITY);
230
228
  this._modelMatrix = new Matrix4();
231
229
 
232
230
  /**
@@ -237,17 +235,14 @@ function Primitive(options) {
237
235
  *
238
236
  * @default true
239
237
  */
240
- this.show = defaultValue(options.show, true);
238
+ this.show = options.show ?? true;
241
239
 
242
- this._vertexCacheOptimize = defaultValue(options.vertexCacheOptimize, false);
243
- this._interleave = defaultValue(options.interleave, false);
244
- this._releaseGeometryInstances = defaultValue(
245
- options.releaseGeometryInstances,
246
- true,
247
- );
248
- this._allowPicking = defaultValue(options.allowPicking, true);
249
- this._asynchronous = defaultValue(options.asynchronous, true);
250
- this._compressVertices = defaultValue(options.compressVertices, true);
240
+ this._vertexCacheOptimize = options.vertexCacheOptimize ?? false;
241
+ this._interleave = options.interleave ?? false;
242
+ this._releaseGeometryInstances = options.releaseGeometryInstances ?? true;
243
+ this._allowPicking = options.allowPicking ?? true;
244
+ this._asynchronous = options.asynchronous ?? true;
245
+ this._compressVertices = options.compressVertices ?? true;
251
246
 
252
247
  /**
253
248
  * When <code>true</code>, the renderer frustum culls and horizon culls the primitive's commands
@@ -258,7 +253,7 @@ function Primitive(options) {
258
253
  *
259
254
  * @default true
260
255
  */
261
- this.cull = defaultValue(options.cull, true);
256
+ this.cull = options.cull ?? true;
262
257
 
263
258
  /**
264
259
  * This property is for debugging only; it is not for production use nor is it optimized.
@@ -270,10 +265,7 @@ function Primitive(options) {
270
265
  *
271
266
  * @default false
272
267
  */
273
- this.debugShowBoundingVolume = defaultValue(
274
- options.debugShowBoundingVolume,
275
- false,
276
- );
268
+ this.debugShowBoundingVolume = options.debugShowBoundingVolume ?? false;
277
269
 
278
270
  /**
279
271
  * @private
@@ -300,7 +292,7 @@ function Primitive(options) {
300
292
  *
301
293
  * @default ShadowMode.DISABLED
302
294
  */
303
- this.shadows = defaultValue(options.shadows, ShadowMode.DISABLED);
295
+ this.shadows = options.shadows ?? ShadowMode.DISABLED;
304
296
 
305
297
  this._translucent = undefined;
306
298
 
@@ -648,7 +640,7 @@ function createBatchTable(primitive, context) {
648
640
  }
649
641
 
650
642
  const pickObject = {
651
- primitive: defaultValue(instance.pickPrimitive, primitive),
643
+ primitive: instance.pickPrimitive ?? primitive,
652
644
  };
653
645
 
654
646
  if (defined(instance.id)) {
@@ -1211,10 +1203,8 @@ function loadAsynchronous(primitive, frameState) {
1211
1203
  geometry = subTask.geometry;
1212
1204
  if (defined(geometry.constructor.pack)) {
1213
1205
  subTask.offset = packedLength;
1214
- packedLength += defaultValue(
1215
- geometry.constructor.packedLength,
1216
- geometry.packedLength,
1217
- );
1206
+ packedLength +=
1207
+ geometry.constructor.packedLength ?? geometry.packedLength;
1218
1208
  }
1219
1209
  }
1220
1210
 
@@ -2201,26 +2191,17 @@ Primitive.prototype.update = function (frameState) {
2201
2191
  const twoPasses = appearance.closed && translucent;
2202
2192
 
2203
2193
  if (createRS) {
2204
- const rsFunc = defaultValue(
2205
- this._createRenderStatesFunction,
2206
- createRenderStates,
2207
- );
2194
+ const rsFunc = this._createRenderStatesFunction ?? createRenderStates;
2208
2195
  rsFunc(this, context, appearance, twoPasses);
2209
2196
  }
2210
2197
 
2211
2198
  if (createSP) {
2212
- const spFunc = defaultValue(
2213
- this._createShaderProgramFunction,
2214
- createShaderProgram,
2215
- );
2199
+ const spFunc = this._createShaderProgramFunction ?? createShaderProgram;
2216
2200
  spFunc(this, frameState, appearance);
2217
2201
  }
2218
2202
 
2219
2203
  if (createRS || createSP) {
2220
- const commandFunc = defaultValue(
2221
- this._createCommandsFunction,
2222
- createCommands,
2223
- );
2204
+ const commandFunc = this._createCommandsFunction ?? createCommands;
2224
2205
  commandFunc(
2225
2206
  this,
2226
2207
  appearance,
@@ -2233,10 +2214,8 @@ Primitive.prototype.update = function (frameState) {
2233
2214
  );
2234
2215
  }
2235
2216
 
2236
- const updateAndQueueCommandsFunc = defaultValue(
2237
- this._updateAndQueueCommandsFunction,
2238
- updateAndQueueCommands,
2239
- );
2217
+ const updateAndQueueCommandsFunc =
2218
+ this._updateAndQueueCommandsFunction ?? updateAndQueueCommands;
2240
2219
  updateAndQueueCommandsFunc(
2241
2220
  this,
2242
2221
  frameState,
@@ -1,5 +1,5 @@
1
1
  import createGuid from "../Core/createGuid.js";
2
- import defaultValue from "../Core/defaultValue.js";
2
+ import Frozen from "../Core/Frozen.js";
3
3
  import defined from "../Core/defined.js";
4
4
  import destroyObject from "../Core/destroyObject.js";
5
5
  import DeveloperError from "../Core/DeveloperError.js";
@@ -28,7 +28,7 @@ import Event from "../Core/Event.js";
28
28
  * scene.primitives.add(labels); // Add regular primitive
29
29
  */
30
30
  function PrimitiveCollection(options) {
31
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
31
+ options = options ?? Frozen.EMPTY_OBJECT;
32
32
 
33
33
  this._primitives = [];
34
34
  this._guid = createGuid();
@@ -44,7 +44,7 @@ function PrimitiveCollection(options) {
44
44
  * @type {boolean}
45
45
  * @default true
46
46
  */
47
- this.show = defaultValue(options.show, true);
47
+ this.show = options.show ?? true;
48
48
 
49
49
  /**
50
50
  * Determines if primitives in the collection are destroyed when they are removed by
@@ -70,7 +70,7 @@ function PrimitiveCollection(options) {
70
70
  * const b = labels.isDestroyed(); // false
71
71
  * labels = labels.destroy(); // explicitly destroy
72
72
  */
73
- this.destroyPrimitives = defaultValue(options.destroyPrimitives, true);
73
+ this.destroyPrimitives = options.destroyPrimitives ?? true;
74
74
  }
75
75
 
76
76
  Object.defineProperties(PrimitiveCollection.prototype, {
@@ -1,6 +1,5 @@
1
1
  import BoundingSphere from "../Core/BoundingSphere.js";
2
2
  import ComponentDatatype from "../Core/ComponentDatatype.js";
3
- import defaultValue from "../Core/defaultValue.js";
4
3
  import defined from "../Core/defined.js";
5
4
  import DeveloperError from "../Core/DeveloperError.js";
6
5
  import Ellipsoid from "../Core/Ellipsoid.js";
@@ -472,7 +471,7 @@ PrimitivePipeline.packCreateGeometryResults = function (
472
471
 
473
472
  packedData[count++] = geometry.primitiveType;
474
473
  packedData[count++] = geometry.geometryType;
475
- packedData[count++] = defaultValue(geometry.offsetAttribute, -1);
474
+ packedData[count++] = geometry.offsetAttribute ?? -1;
476
475
 
477
476
  const validBoundingSphere = defined(geometry.boundingSphere) ? 1.0 : 0.0;
478
477
  packedData[count++] = validBoundingSphere;
@@ -1,5 +1,5 @@
1
1
  import Check from "../Core/Check.js";
2
- import defaultValue from "../Core/defaultValue.js";
2
+ import Frozen from "../Core/Frozen.js";
3
3
  import defined from "../Core/defined.js";
4
4
  import PropertyAttributeProperty from "./PropertyAttributeProperty.js";
5
5
 
@@ -23,7 +23,7 @@ import PropertyAttributeProperty from "./PropertyAttributeProperty.js";
23
23
  * @experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.
24
24
  */
25
25
  function PropertyAttribute(options) {
26
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
26
+ options = options ?? Frozen.EMPTY_OBJECT;
27
27
  const propertyAttribute = options.propertyAttribute;
28
28
  const classDefinition = options.class;
29
29
 
@@ -1,5 +1,5 @@
1
1
  import Check from "../Core/Check.js";
2
- import defaultValue from "../Core/defaultValue.js";
2
+ import Frozen from "../Core/Frozen.js";
3
3
  import defined from "../Core/defined.js";
4
4
 
5
5
  /**
@@ -20,7 +20,7 @@ import defined from "../Core/defined.js";
20
20
  * @experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.
21
21
  */
22
22
  function PropertyAttributeProperty(options) {
23
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
23
+ options = options ?? Frozen.EMPTY_OBJECT;
24
24
  const property = options.property;
25
25
  const classProperty = options.classProperty;
26
26
 
@@ -45,8 +45,8 @@ function PropertyAttributeProperty(options) {
45
45
  // the class property. The class property handles setting the default of
46
46
  // identity: (offset 0, scale 1) with the same scalar/vector/matrix types.
47
47
  // array types are disallowed by the spec.
48
- offset = defaultValue(offset, classProperty.offset);
49
- scale = defaultValue(scale, classProperty.scale);
48
+ offset = offset ?? classProperty.offset;
49
+ scale = scale ?? classProperty.scale;
50
50
 
51
51
  // offset and scale are applied on the GPU, so unpack the values
52
52
  // as math types we can use in uniform callbacks.
@@ -1,5 +1,5 @@
1
1
  import Check from "../Core/Check.js";
2
- import defaultValue from "../Core/defaultValue.js";
2
+ import Frozen from "../Core/Frozen.js";
3
3
  import DeveloperError from "../Core/DeveloperError.js";
4
4
  import defined from "../Core/defined.js";
5
5
  import JsonMetadataTable from "./JsonMetadataTable.js";
@@ -38,7 +38,7 @@ import JsonMetadataTable from "./JsonMetadataTable.js";
38
38
  * @experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.
39
39
  */
40
40
  function PropertyTable(options) {
41
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
41
+ options = options ?? Frozen.EMPTY_OBJECT;
42
42
 
43
43
  //>>includeStart('debug', pragmas.debug);
44
44
  Check.typeOf.number("options.count", options.count);
@@ -1,5 +1,5 @@
1
1
  import Check from "../Core/Check.js";
2
- import defaultValue from "../Core/defaultValue.js";
2
+ import Frozen from "../Core/Frozen.js";
3
3
  import defined from "../Core/defined.js";
4
4
  import PropertyTextureProperty from "./PropertyTextureProperty.js";
5
5
 
@@ -24,7 +24,7 @@ import PropertyTextureProperty from "./PropertyTextureProperty.js";
24
24
  * @experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.
25
25
  */
26
26
  function PropertyTexture(options) {
27
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
27
+ options = options ?? Frozen.EMPTY_OBJECT;
28
28
  const propertyTexture = options.propertyTexture;
29
29
  const classDefinition = options.class;
30
30
  const textures = options.textures;
@@ -1,5 +1,5 @@
1
1
  import Check from "../Core/Check.js";
2
- import defaultValue from "../Core/defaultValue.js";
2
+ import Frozen from "../Core/Frozen.js";
3
3
  import defined from "../Core/defined.js";
4
4
  import GltfLoaderUtil from "./GltfLoaderUtil.js";
5
5
  import MetadataType from "./MetadataType.js";
@@ -26,7 +26,7 @@ import oneTimeWarning from "../Core/oneTimeWarning.js";
26
26
  * @experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.
27
27
  */
28
28
  function PropertyTextureProperty(options) {
29
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
29
+ options = options ?? Frozen.EMPTY_OBJECT;
30
30
  const property = options.property;
31
31
  const classProperty = options.classProperty;
32
32
  const textures = options.textures;
@@ -60,8 +60,8 @@ function PropertyTextureProperty(options) {
60
60
  // the class property. The class property handles setting the default of
61
61
  // identity: (offset 0, scale 1) with the same scalar/vector/matrix types.
62
62
  // array types are disallowed by the spec.
63
- offset = defaultValue(offset, classProperty.offset);
64
- scale = defaultValue(scale, classProperty.scale);
63
+ offset = offset ?? classProperty.offset;
64
+ scale = scale ?? classProperty.scale;
65
65
 
66
66
  // offset and scale are applied on the GPU, so unpack the values
67
67
  // as math types we can use in uniform callbacks.
@@ -1,6 +1,5 @@
1
1
  import Cartesian3 from "../Core/Cartesian3.js";
2
2
  import Cartographic from "../Core/Cartographic.js";
3
- import defaultValue from "../Core/defaultValue.js";
4
3
  import defined from "../Core/defined.js";
5
4
  import DeveloperError from "../Core/DeveloperError.js";
6
5
  import Event from "../Core/Event.js";
@@ -108,10 +107,7 @@ function QuadtreePrimitive(options) {
108
107
  * @type {number}
109
108
  * @default 2
110
109
  */
111
- this.maximumScreenSpaceError = defaultValue(
112
- options.maximumScreenSpaceError,
113
- 2,
114
- );
110
+ this.maximumScreenSpaceError = options.maximumScreenSpaceError ?? 2;
115
111
 
116
112
  /**
117
113
  * Gets or sets the maximum number of tiles that will be retained in the tile cache.
@@ -121,7 +117,7 @@ function QuadtreePrimitive(options) {
121
117
  * @type {number}
122
118
  * @default 100
123
119
  */
124
- this.tileCacheSize = defaultValue(options.tileCacheSize, 100);
120
+ this.tileCacheSize = options.tileCacheSize ?? 100;
125
121
 
126
122
  /**
127
123
  * Gets or sets the number of loading descendant tiles that is considered "too many".
@@ -1418,6 +1414,8 @@ function updateHeights(primitive, frameState) {
1418
1414
  ) {
1419
1415
  tryNextFrame.push(tile);
1420
1416
  }
1417
+ // Ensure stale position cache is cleared
1418
+ tile.clearPositionCache();
1421
1419
  tilesToUpdateHeights.shift();
1422
1420
  primitive._lastTileIndex = 0;
1423
1421
  continue;
@@ -1435,80 +1433,104 @@ function updateHeights(primitive, frameState) {
1435
1433
  defined(terrainData) && terrainData.wasCreatedByUpsampling();
1436
1434
 
1437
1435
  if (tile.level > data.level && !upsampledGeometryFromParent) {
1438
- if (!defined(data.positionOnEllipsoidSurface)) {
1439
- // cartesian has to be on the ellipsoid surface for `ellipsoid.geodeticSurfaceNormal`
1440
- data.positionOnEllipsoidSurface = Cartesian3.fromRadians(
1441
- data.positionCartographic.longitude,
1442
- data.positionCartographic.latitude,
1443
- 0.0,
1444
- ellipsoid,
1445
- );
1446
- }
1447
-
1448
- if (mode === SceneMode.SCENE3D) {
1449
- const surfaceNormal = ellipsoid.geodeticSurfaceNormal(
1450
- data.positionOnEllipsoidSurface,
1451
- scratchRay.direction,
1452
- );
1436
+ let position;
1437
+ // find cached entry
1438
+ const cachedData = tile.getPositionCacheEntry(
1439
+ data.positionCartographic,
1440
+ primitive.maximumScreenSpaceError,
1441
+ );
1442
+ if (defined(cachedData)) {
1443
+ // cache hit
1444
+ position = cachedData;
1445
+ } else {
1446
+ if (!defined(data.positionOnEllipsoidSurface)) {
1447
+ // cartesian has to be on the ellipsoid surface for `ellipsoid.geodeticSurfaceNormal`
1448
+ data.positionOnEllipsoidSurface = Cartesian3.fromRadians(
1449
+ data.positionCartographic.longitude,
1450
+ data.positionCartographic.latitude,
1451
+ 0.0,
1452
+ ellipsoid,
1453
+ );
1454
+ }
1453
1455
 
1454
- // compute origin point
1456
+ if (mode === SceneMode.SCENE3D) {
1457
+ const surfaceNormal = ellipsoid.geodeticSurfaceNormal(
1458
+ data.positionOnEllipsoidSurface,
1459
+ scratchRay.direction,
1460
+ );
1455
1461
 
1456
- // Try to find the intersection point between the surface normal and z-axis.
1457
- // minimum height (-11500.0) for the terrain set, need to get this information from the terrain provider
1458
- const rayOrigin = ellipsoid.getSurfaceNormalIntersectionWithZAxis(
1459
- data.positionOnEllipsoidSurface,
1460
- 11500.0,
1461
- scratchRay.origin,
1462
- );
1462
+ // compute origin point
1463
1463
 
1464
- // Theoretically, not with Earth datums, the intersection point can be outside the ellipsoid
1465
- if (!defined(rayOrigin)) {
1466
- // intersection point is outside the ellipsoid, try other value
1464
+ // Try to find the intersection point between the surface normal and z-axis.
1467
1465
  // minimum height (-11500.0) for the terrain set, need to get this information from the terrain provider
1468
- let minimumHeight = 0.0;
1469
- if (defined(tile.data.tileBoundingRegion)) {
1470
- minimumHeight = tile.data.tileBoundingRegion.minimumHeight;
1471
- }
1472
- const magnitude = Math.min(minimumHeight, -11500.0);
1473
-
1474
- // multiply by the *positive* value of the magnitude
1475
- const vectorToMinimumPoint = Cartesian3.multiplyByScalar(
1476
- surfaceNormal,
1477
- Math.abs(magnitude) + 1,
1478
- scratchPosition,
1479
- );
1480
- Cartesian3.subtract(
1466
+ const rayOrigin = ellipsoid.getSurfaceNormalIntersectionWithZAxis(
1481
1467
  data.positionOnEllipsoidSurface,
1482
- vectorToMinimumPoint,
1468
+ 11500.0,
1483
1469
  scratchRay.origin,
1484
1470
  );
1471
+
1472
+ // Theoretically, not with Earth datums, the intersection point can be outside the ellipsoid
1473
+ if (!defined(rayOrigin)) {
1474
+ // intersection point is outside the ellipsoid, try other value
1475
+ // minimum height (-11500.0) for the terrain set, need to get this information from the terrain provider
1476
+ let minimumHeight = 0.0;
1477
+ if (defined(tile.data.tileBoundingRegion)) {
1478
+ minimumHeight = tile.data.tileBoundingRegion.minimumHeight;
1479
+ }
1480
+ const magnitude = Math.min(minimumHeight, -11500.0);
1481
+
1482
+ // multiply by the *positive* value of the magnitude
1483
+ const vectorToMinimumPoint = Cartesian3.multiplyByScalar(
1484
+ surfaceNormal,
1485
+ Math.abs(magnitude) + 1,
1486
+ scratchPosition,
1487
+ );
1488
+ Cartesian3.subtract(
1489
+ data.positionOnEllipsoidSurface,
1490
+ vectorToMinimumPoint,
1491
+ scratchRay.origin,
1492
+ );
1493
+ }
1494
+ } else {
1495
+ Cartographic.clone(data.positionCartographic, scratchCartographic);
1496
+
1497
+ // minimum height for the terrain set, need to get this information from the terrain provider
1498
+ scratchCartographic.height = -11500.0;
1499
+ projection.project(scratchCartographic, scratchPosition);
1500
+ Cartesian3.fromElements(
1501
+ scratchPosition.z,
1502
+ scratchPosition.x,
1503
+ scratchPosition.y,
1504
+ scratchPosition,
1505
+ );
1506
+ Cartesian3.clone(scratchPosition, scratchRay.origin);
1507
+ Cartesian3.clone(Cartesian3.UNIT_X, scratchRay.direction);
1485
1508
  }
1486
- } else {
1487
- Cartographic.clone(data.positionCartographic, scratchCartographic);
1488
-
1489
- // minimum height for the terrain set, need to get this information from the terrain provider
1490
- scratchCartographic.height = -11500.0;
1491
- projection.project(scratchCartographic, scratchPosition);
1492
- Cartesian3.fromElements(
1493
- scratchPosition.z,
1494
- scratchPosition.x,
1495
- scratchPosition.y,
1509
+
1510
+ position = tile.data.pick(
1511
+ scratchRay,
1512
+ mode,
1513
+ projection,
1514
+ false,
1496
1515
  scratchPosition,
1497
1516
  );
1498
- Cartesian3.clone(scratchPosition, scratchRay.origin);
1499
- Cartesian3.clone(Cartesian3.UNIT_X, scratchRay.direction);
1500
- }
1501
1517
 
1502
- const position = tile.data.pick(
1503
- scratchRay,
1504
- mode,
1505
- projection,
1506
- false,
1507
- scratchPosition,
1508
- );
1518
+ if (defined(position)) {
1519
+ // Store the computed position in the cache for future reuse
1520
+ tile.setPositionCacheEntry(
1521
+ data.positionCartographic,
1522
+ primitive.maximumScreenSpaceError,
1523
+ position,
1524
+ );
1525
+ }
1526
+ }
1509
1527
  if (defined(position)) {
1510
1528
  if (defined(data.callback)) {
1511
- data.callback(position);
1529
+ const positionCarto = ellipsoid.cartesianToCartographic(
1530
+ position,
1531
+ scratchCartographic,
1532
+ );
1533
+ data.callback(positionCarto);
1512
1534
  }
1513
1535
  data.level = tile.level;
1514
1536
  }