@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,3 @@
1
- import defaultValue from "./defaultValue.js";
2
1
  import defined from "./defined.js";
3
2
 
4
3
  /**
@@ -19,7 +18,7 @@ function HeadingPitchRange(heading, pitch, range) {
19
18
  * @type {number}
20
19
  * @default 0.0
21
20
  */
22
- this.heading = defaultValue(heading, 0.0);
21
+ this.heading = heading ?? 0.0;
23
22
 
24
23
  /**
25
24
  * Pitch is the rotation from the local xy-plane. Positive pitch angles
@@ -27,14 +26,14 @@ function HeadingPitchRange(heading, pitch, range) {
27
26
  * @type {number}
28
27
  * @default 0.0
29
28
  */
30
- this.pitch = defaultValue(pitch, 0.0);
29
+ this.pitch = pitch ?? 0.0;
31
30
 
32
31
  /**
33
32
  * Range is the distance from the center of the local frame.
34
33
  * @type {number}
35
34
  * @default 0.0
36
35
  */
37
- this.range = defaultValue(range, 0.0);
36
+ this.range = range ?? 0.0;
38
37
  }
39
38
 
40
39
  /**
@@ -1,4 +1,3 @@
1
- import defaultValue from "./defaultValue.js";
2
1
  import defined from "./defined.js";
3
2
  import DeveloperError from "./DeveloperError.js";
4
3
  import CesiumMath from "./Math.js";
@@ -20,19 +19,19 @@ function HeadingPitchRoll(heading, pitch, roll) {
20
19
  * @type {number}
21
20
  * @default 0.0
22
21
  */
23
- this.heading = defaultValue(heading, 0.0);
22
+ this.heading = heading ?? 0.0;
24
23
  /**
25
24
  * Gets or sets the pitch.
26
25
  * @type {number}
27
26
  * @default 0.0
28
27
  */
29
- this.pitch = defaultValue(pitch, 0.0);
28
+ this.pitch = pitch ?? 0.0;
30
29
  /**
31
30
  * Gets or sets the roll.
32
31
  * @type {number}
33
32
  * @default 0.0
34
33
  */
35
- this.roll = defaultValue(roll, 0.0);
34
+ this.roll = roll ?? 0.0;
36
35
  }
37
36
 
38
37
  /**
@@ -1,5 +1,4 @@
1
1
  import Check from "./Check.js";
2
- import defaultValue from "./defaultValue.js";
3
2
  import defined from "./defined.js";
4
3
 
5
4
  /**
@@ -108,7 +107,7 @@ function swap(array, a, b) {
108
107
  * @param {number} [length] The length to resize internal array to. Defaults to the current length of the heap.
109
108
  */
110
109
  Heap.prototype.reserve = function (length) {
111
- length = defaultValue(length, this._length);
110
+ length = length ?? this._length;
112
111
  this._array.length = length;
113
112
  };
114
113
 
@@ -118,7 +117,7 @@ Heap.prototype.reserve = function (length) {
118
117
  * @param {number} [index=0] The starting index to heapify from.
119
118
  */
120
119
  Heap.prototype.heapify = function (index) {
121
- index = defaultValue(index, 0);
120
+ index = index ?? 0;
122
121
  const length = this._length;
123
122
  const comparator = this._comparator;
124
123
  const array = this._array;
@@ -208,7 +207,7 @@ Heap.prototype.insert = function (element) {
208
207
  * @returns {*} The specified element of the heap.
209
208
  */
210
209
  Heap.prototype.pop = function (index) {
211
- index = defaultValue(index, 0);
210
+ index = index ?? 0;
212
211
  if (this._length === 0) {
213
212
  return undefined;
214
213
  }
@@ -1,7 +1,7 @@
1
1
  import BoundingSphere from "./BoundingSphere.js";
2
2
  import Cartesian3 from "./Cartesian3.js";
3
3
  import Check from "./Check.js";
4
- import defaultValue from "./defaultValue.js";
4
+ import Frozen from "./Frozen.js";
5
5
  import defined from "./defined.js";
6
6
  import DeveloperError from "./DeveloperError.js";
7
7
  import GeographicProjection from "./GeographicProjection.js";
@@ -109,39 +109,29 @@ function HeightmapTerrainData(options) {
109
109
  this._buffer = options.buffer;
110
110
  this._width = options.width;
111
111
  this._height = options.height;
112
- this._childTileMask = defaultValue(options.childTileMask, 15);
113
- this._encoding = defaultValue(options.encoding, HeightmapEncoding.NONE);
112
+ this._childTileMask = options.childTileMask ?? 15;
113
+ this._encoding = options.encoding ?? HeightmapEncoding.NONE;
114
114
 
115
115
  const defaultStructure = HeightmapTessellator.DEFAULT_STRUCTURE;
116
116
  let structure = options.structure;
117
117
  if (!defined(structure)) {
118
118
  structure = defaultStructure;
119
119
  } else if (structure !== defaultStructure) {
120
- structure.heightScale = defaultValue(
121
- structure.heightScale,
122
- defaultStructure.heightScale,
123
- );
124
- structure.heightOffset = defaultValue(
125
- structure.heightOffset,
126
- defaultStructure.heightOffset,
127
- );
128
- structure.elementsPerHeight = defaultValue(
129
- structure.elementsPerHeight,
130
- defaultStructure.elementsPerHeight,
131
- );
132
- structure.stride = defaultValue(structure.stride, defaultStructure.stride);
133
- structure.elementMultiplier = defaultValue(
134
- structure.elementMultiplier,
135
- defaultStructure.elementMultiplier,
136
- );
137
- structure.isBigEndian = defaultValue(
138
- structure.isBigEndian,
139
- defaultStructure.isBigEndian,
140
- );
120
+ structure.heightScale =
121
+ structure.heightScale ?? defaultStructure.heightScale;
122
+ structure.heightOffset =
123
+ structure.heightOffset ?? defaultStructure.heightOffset;
124
+ structure.elementsPerHeight =
125
+ structure.elementsPerHeight ?? defaultStructure.elementsPerHeight;
126
+ structure.stride = structure.stride ?? defaultStructure.stride;
127
+ structure.elementMultiplier =
128
+ structure.elementMultiplier ?? defaultStructure.elementMultiplier;
129
+ structure.isBigEndian =
130
+ structure.isBigEndian ?? defaultStructure.isBigEndian;
141
131
  }
142
132
 
143
133
  this._structure = structure;
144
- this._createdByUpsampling = defaultValue(options.createdByUpsampling, false);
134
+ this._createdByUpsampling = options.createdByUpsampling ?? false;
145
135
  this._waterMask = options.waterMask;
146
136
 
147
137
  this._skirtHeight = undefined;
@@ -168,7 +158,7 @@ Object.defineProperties(HeightmapTerrainData.prototype, {
168
158
  * Uint8Array or image where a value of 255 indicates water and a value of 0 indicates land.
169
159
  * Values in between 0 and 255 are allowed as well to smoothly blend between land and water.
170
160
  * @memberof HeightmapTerrainData.prototype
171
- * @type {Uint8Array|HTMLImageElement|HTMLCanvasElement}
161
+ * @type {Uint8Array|HTMLImageElement|HTMLCanvasElement|undefined}
172
162
  */
173
163
  waterMask: {
174
164
  get: function () {
@@ -208,7 +198,7 @@ const createMeshTaskProcessorThrottle = new TaskProcessor(
208
198
  * be retried later.
209
199
  */
210
200
  HeightmapTerrainData.prototype.createMesh = function (options) {
211
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
201
+ options = options ?? Frozen.EMPTY_OBJECT;
212
202
 
213
203
  //>>includeStart('debug', pragmas.debug);
214
204
  Check.typeOf.object("options.tilingScheme", options.tilingScheme);
@@ -221,12 +211,9 @@ HeightmapTerrainData.prototype.createMesh = function (options) {
221
211
  const x = options.x;
222
212
  const y = options.y;
223
213
  const level = options.level;
224
- const exaggeration = defaultValue(options.exaggeration, 1.0);
225
- const exaggerationRelativeHeight = defaultValue(
226
- options.exaggerationRelativeHeight,
227
- 0.0,
228
- );
229
- const throttle = defaultValue(options.throttle, true);
214
+ const exaggeration = options.exaggeration ?? 1.0;
215
+ const exaggerationRelativeHeight = options.exaggerationRelativeHeight ?? 0.0;
216
+ const throttle = options.throttle ?? true;
230
217
 
231
218
  const ellipsoid = tilingScheme.ellipsoid;
232
219
  const nativeRectangle = tilingScheme.tileXYToNativeRectangle(x, y, level);
@@ -340,11 +327,8 @@ HeightmapTerrainData.prototype._createMeshSync = function (options) {
340
327
  const x = options.x;
341
328
  const y = options.y;
342
329
  const level = options.level;
343
- const exaggeration = defaultValue(options.exaggeration, 1.0);
344
- const exaggerationRelativeHeight = defaultValue(
345
- options.exaggerationRelativeHeight,
346
- 0.0,
347
- );
330
+ const exaggeration = options.exaggeration ?? 1.0;
331
+ const exaggerationRelativeHeight = options.exaggerationRelativeHeight ?? 0.0;
348
332
 
349
333
  const ellipsoid = tilingScheme.ellipsoid;
350
334
  const nativeRectangle = tilingScheme.tileXYToNativeRectangle(x, y, level);
@@ -2,7 +2,6 @@ import AxisAlignedBoundingBox from "./AxisAlignedBoundingBox.js";
2
2
  import BoundingSphere from "./BoundingSphere.js";
3
3
  import Cartesian2 from "./Cartesian2.js";
4
4
  import Cartesian3 from "./Cartesian3.js";
5
- import defaultValue from "./defaultValue.js";
6
5
  import defined from "./defined.js";
7
6
  import DeveloperError from "./DeveloperError.js";
8
7
  import Ellipsoid from "./Ellipsoid.js";
@@ -148,8 +147,8 @@ HeightmapTessellator.computeVertices = function (options) {
148
147
  const skirtHeight = options.skirtHeight;
149
148
  const hasSkirts = skirtHeight > 0.0;
150
149
 
151
- const isGeographic = defaultValue(options.isGeographic, true);
152
- const ellipsoid = defaultValue(options.ellipsoid, Ellipsoid.default);
150
+ const isGeographic = options.isGeographic ?? true;
151
+ const ellipsoid = options.ellipsoid ?? Ellipsoid.default;
153
152
 
154
153
  const oneOverGlobeSemimajorAxis = 1.0 / ellipsoid.maximumRadius;
155
154
 
@@ -187,44 +186,29 @@ HeightmapTessellator.computeVertices = function (options) {
187
186
  let relativeToCenter = options.relativeToCenter;
188
187
  const hasRelativeToCenter = defined(relativeToCenter);
189
188
  relativeToCenter = hasRelativeToCenter ? relativeToCenter : Cartesian3.ZERO;
190
- const includeWebMercatorT = defaultValue(options.includeWebMercatorT, false);
189
+ const includeWebMercatorT = options.includeWebMercatorT ?? false;
191
190
 
192
- const exaggeration = defaultValue(options.exaggeration, 1.0);
193
- const exaggerationRelativeHeight = defaultValue(
194
- options.exaggerationRelativeHeight,
195
- 0.0,
196
- );
191
+ const exaggeration = options.exaggeration ?? 1.0;
192
+ const exaggerationRelativeHeight = options.exaggerationRelativeHeight ?? 0.0;
197
193
  const hasExaggeration = exaggeration !== 1.0;
198
194
  const includeGeodeticSurfaceNormals = hasExaggeration;
199
195
 
200
- const structure = defaultValue(
201
- options.structure,
202
- HeightmapTessellator.DEFAULT_STRUCTURE,
203
- );
204
- const heightScale = defaultValue(
205
- structure.heightScale,
206
- HeightmapTessellator.DEFAULT_STRUCTURE.heightScale,
207
- );
208
- const heightOffset = defaultValue(
209
- structure.heightOffset,
210
- HeightmapTessellator.DEFAULT_STRUCTURE.heightOffset,
211
- );
212
- const elementsPerHeight = defaultValue(
213
- structure.elementsPerHeight,
214
- HeightmapTessellator.DEFAULT_STRUCTURE.elementsPerHeight,
215
- );
216
- const stride = defaultValue(
217
- structure.stride,
218
- HeightmapTessellator.DEFAULT_STRUCTURE.stride,
219
- );
220
- const elementMultiplier = defaultValue(
221
- structure.elementMultiplier,
222
- HeightmapTessellator.DEFAULT_STRUCTURE.elementMultiplier,
223
- );
224
- const isBigEndian = defaultValue(
225
- structure.isBigEndian,
226
- HeightmapTessellator.DEFAULT_STRUCTURE.isBigEndian,
227
- );
196
+ const structure = options.structure ?? HeightmapTessellator.DEFAULT_STRUCTURE;
197
+ const heightScale =
198
+ structure.heightScale ?? HeightmapTessellator.DEFAULT_STRUCTURE.heightScale;
199
+ const heightOffset =
200
+ structure.heightOffset ??
201
+ HeightmapTessellator.DEFAULT_STRUCTURE.heightOffset;
202
+ const elementsPerHeight =
203
+ structure.elementsPerHeight ??
204
+ HeightmapTessellator.DEFAULT_STRUCTURE.elementsPerHeight;
205
+ const stride =
206
+ structure.stride ?? HeightmapTessellator.DEFAULT_STRUCTURE.stride;
207
+ const elementMultiplier =
208
+ structure.elementMultiplier ??
209
+ HeightmapTessellator.DEFAULT_STRUCTURE.elementMultiplier;
210
+ const isBigEndian =
211
+ structure.isBigEndian ?? HeightmapTessellator.DEFAULT_STRUCTURE.isBigEndian;
228
212
 
229
213
  let rectangleWidth = Rectangle.computeWidth(nativeRectangle);
230
214
  let rectangleHeight = Rectangle.computeHeight(nativeRectangle);
@@ -1,4 +1,3 @@
1
- import defaultValue from "./defaultValue.js";
2
1
  import defined from "./defined.js";
3
2
  import DeveloperError from "./DeveloperError.js";
4
3
  import CesiumMath from "./Math.js";
@@ -83,7 +82,7 @@ HermitePolynomialApproximation.getRequiredDataPoints = function (
83
82
  degree,
84
83
  inputOrder,
85
84
  ) {
86
- inputOrder = defaultValue(inputOrder, 0);
85
+ inputOrder = inputOrder ?? 0;
87
86
 
88
87
  //>>includeStart('debug', pragmas.debug);
89
88
  if (!defined(degree)) {
@@ -1,6 +1,6 @@
1
1
  import Cartesian3 from "./Cartesian3.js";
2
2
  import Cartesian4 from "./Cartesian4.js";
3
- import defaultValue from "./defaultValue.js";
3
+ import Frozen from "./Frozen.js";
4
4
  import defined from "./defined.js";
5
5
  import DeveloperError from "./DeveloperError.js";
6
6
  import LinearSpline from "./LinearSpline.js";
@@ -167,7 +167,7 @@ function generateNatural(points) {
167
167
  * @see MorphWeightSpline
168
168
  */
169
169
  function HermiteSpline(options) {
170
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
170
+ options = options ?? Frozen.EMPTY_OBJECT;
171
171
 
172
172
  const points = options.points;
173
173
  const times = options.times;
@@ -320,7 +320,7 @@ Object.defineProperties(HermiteSpline.prototype, {
320
320
  * });
321
321
  */
322
322
  HermiteSpline.createC1 = function (options) {
323
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
323
+ options = options ?? Frozen.EMPTY_OBJECT;
324
324
 
325
325
  const times = options.times;
326
326
  const points = options.points;
@@ -380,7 +380,7 @@ HermiteSpline.createC1 = function (options) {
380
380
  * });
381
381
  */
382
382
  HermiteSpline.createNaturalCubic = function (options) {
383
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
383
+ options = options ?? Frozen.EMPTY_OBJECT;
384
384
 
385
385
  const times = options.times;
386
386
  const points = options.points;
@@ -450,7 +450,7 @@ HermiteSpline.createNaturalCubic = function (options) {
450
450
  * });
451
451
  */
452
452
  HermiteSpline.createClampedCubic = function (options) {
453
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
453
+ options = options ?? Frozen.EMPTY_OBJECT;
454
454
 
455
455
  const times = options.times;
456
456
  const points = options.points;
@@ -56,12 +56,51 @@ ITwinPlatform.RealityDataType = Object.freeze({
56
56
  /**
57
57
  * Gets or sets the default iTwin access token. This token should have the <code>itwin-platform</code> scope.
58
58
  *
59
+ * This value will be ignored if {@link ITwinPlatform.defaultShareKey} is defined.
60
+ *
59
61
  * @experimental This feature is not final and is subject to change without Cesium's standard deprecation policy.
60
62
  *
61
63
  * @type {string|undefined}
62
64
  */
63
65
  ITwinPlatform.defaultAccessToken = undefined;
64
66
 
67
+ /**
68
+ * Gets or sets the default iTwin share key. If this value is provided it will override {@link ITwinPlatform.defaultAccessToken} in all requests.
69
+ *
70
+ * Share keys can be generated using the iTwin Shares api
71
+ * https://developer.bentley.com/apis/access-control-v2/operations/create-itwin-share/
72
+ *
73
+ * @experimental This feature is not final and is subject to change without Cesium's standard deprecation policy.
74
+ *
75
+ * @type {string|undefined}
76
+ */
77
+ ITwinPlatform.defaultShareKey = undefined;
78
+
79
+ /**
80
+ * Create the necessary Authorization header based on which key/token is set.
81
+ * If the {@link ITwinPlatform.defaultShareKey} is set it takes precedence and
82
+ * will be used regardless if the {@link ITwinPlatform.defaultAccessToken} is set
83
+ * @private
84
+ * @returns {string} full auth header with basic/bearer method
85
+ */
86
+ ITwinPlatform._getAuthorizationHeader = function () {
87
+ //>>includeStart('debug', pragmas.debug);
88
+ if (
89
+ !defined(ITwinPlatform.defaultAccessToken) &&
90
+ !defined(ITwinPlatform.defaultShareKey)
91
+ ) {
92
+ throw new DeveloperError(
93
+ "Must set ITwinPlatform.defaultAccessToken or ITwinPlatform.defaultShareKey first",
94
+ );
95
+ }
96
+ //>>includeEnd('debug');
97
+
98
+ if (defined(ITwinPlatform.defaultShareKey)) {
99
+ return `Basic ${ITwinPlatform.defaultShareKey}`;
100
+ }
101
+ return `Bearer ${ITwinPlatform.defaultAccessToken}`;
102
+ };
103
+
65
104
  /**
66
105
  * Gets or sets the default iTwin API endpoint.
67
106
  *
@@ -121,15 +160,20 @@ ITwinPlatform.apiEndpoint = new Resource({
121
160
  ITwinPlatform.getExports = async function (iModelId) {
122
161
  //>>includeStart('debug', pragmas.debug);
123
162
  Check.typeOf.string("iModelId", iModelId);
124
- if (!defined(ITwinPlatform.defaultAccessToken)) {
125
- throw new DeveloperError("Must set ITwinPlatform.defaultAccessToken first");
163
+ if (
164
+ !defined(ITwinPlatform.defaultAccessToken) &&
165
+ !defined(ITwinPlatform.defaultShareKey)
166
+ ) {
167
+ throw new DeveloperError(
168
+ "Must set ITwinPlatform.defaultAccessToken or ITwinPlatform.defaultShareKey first",
169
+ );
126
170
  }
127
- //>>includeEnd('debug')
171
+ //>>includeEnd('debug');
128
172
 
129
173
  const resource = new Resource({
130
174
  url: `${ITwinPlatform.apiEndpoint}mesh-export`,
131
175
  headers: {
132
- Authorization: `Bearer ${ITwinPlatform.defaultAccessToken}`,
176
+ Authorization: ITwinPlatform._getAuthorizationHeader(),
133
177
  Accept: "application/vnd.bentley.itwin-platform.v1+json",
134
178
  Prefer: "return=representation",
135
179
  },
@@ -154,8 +198,9 @@ ITwinPlatform.getExports = async function (iModelId) {
154
198
  } catch (error) {
155
199
  const result = JSON.parse(error.response);
156
200
  if (error.statusCode === 401) {
201
+ const code = result.error.details?.[0].code ?? "";
157
202
  throw new RuntimeError(
158
- `Unauthorized, bad token, wrong scopes or headers bad. ${result.error.details[0].code}`,
203
+ `Unauthorized, bad token, wrong scopes or headers bad. ${code}`,
159
204
  );
160
205
  } else if (error.statusCode === 403) {
161
206
  console.error(result.error.code, result.error.message);
@@ -213,15 +258,20 @@ ITwinPlatform.getRealityDataMetadata = async function (iTwinId, realityDataId) {
213
258
  //>>includeStart('debug', pragmas.debug);
214
259
  Check.typeOf.string("iTwinId", iTwinId);
215
260
  Check.typeOf.string("realityDataId", realityDataId);
216
- if (!defined(ITwinPlatform.defaultAccessToken)) {
217
- throw new DeveloperError("Must set ITwinPlatform.defaultAccessToken first");
261
+ if (
262
+ !defined(ITwinPlatform.defaultAccessToken) &&
263
+ !defined(ITwinPlatform.defaultShareKey)
264
+ ) {
265
+ throw new DeveloperError(
266
+ "Must set ITwinPlatform.defaultAccessToken or ITwinPlatform.defaultShareKey first",
267
+ );
218
268
  }
219
- //>>includeEnd('debug')
269
+ //>>includeEnd('debug');
220
270
 
221
271
  const resource = new Resource({
222
272
  url: `${ITwinPlatform.apiEndpoint}reality-management/reality-data/${realityDataId}`,
223
273
  headers: {
224
- Authorization: `Bearer ${ITwinPlatform.defaultAccessToken}`,
274
+ Authorization: ITwinPlatform._getAuthorizationHeader(),
225
275
  Accept: "application/vnd.bentley.itwin-platform.v1+json",
226
276
  },
227
277
  queryParameters: { iTwinId: iTwinId },
@@ -233,8 +283,9 @@ ITwinPlatform.getRealityDataMetadata = async function (iTwinId, realityDataId) {
233
283
  } catch (error) {
234
284
  const result = JSON.parse(error.response);
235
285
  if (error.statusCode === 401) {
286
+ const code = result.error.details?.[0].code ?? "";
236
287
  throw new RuntimeError(
237
- `Unauthorized, bad token, wrong scopes or headers bad. ${result.error.details[0].code}`,
288
+ `Unauthorized, bad token, wrong scopes or headers bad. ${code}`,
238
289
  );
239
290
  } else if (error.statusCode === 403) {
240
291
  console.error(result.error.code, result.error.message);
@@ -275,15 +326,20 @@ ITwinPlatform.getRealityDataURL = async function (
275
326
  Check.typeOf.string("iTwinId", iTwinId);
276
327
  Check.typeOf.string("realityDataId", realityDataId);
277
328
  Check.typeOf.string("rootDocument", rootDocument);
278
- if (!defined(ITwinPlatform.defaultAccessToken)) {
279
- throw new DeveloperError("Must set ITwinPlatform.defaultAccessToken first");
329
+ if (
330
+ !defined(ITwinPlatform.defaultAccessToken) &&
331
+ !defined(ITwinPlatform.defaultShareKey)
332
+ ) {
333
+ throw new DeveloperError(
334
+ "Must set ITwinPlatform.defaultAccessToken or ITwinPlatform.defaultShareKey first",
335
+ );
280
336
  }
281
- //>>includeEnd('debug')
337
+ //>>includeEnd('debug');
282
338
 
283
339
  const resource = new Resource({
284
340
  url: `${ITwinPlatform.apiEndpoint}reality-management/reality-data/${realityDataId}/readaccess`,
285
341
  headers: {
286
- Authorization: `Bearer ${ITwinPlatform.defaultAccessToken}`,
342
+ Authorization: ITwinPlatform._getAuthorizationHeader(),
287
343
  Accept: "application/vnd.bentley.itwin-platform.v1+json",
288
344
  },
289
345
  queryParameters: { iTwinId: iTwinId },
@@ -300,8 +356,9 @@ ITwinPlatform.getRealityDataURL = async function (
300
356
  } catch (error) {
301
357
  const result = JSON.parse(error.response);
302
358
  if (error.statusCode === 401) {
359
+ const code = result.error.details?.[0].code ?? "";
303
360
  throw new RuntimeError(
304
- `Unauthorized, bad token, wrong scopes or headers bad. ${result.error.details[0].code}`,
361
+ `Unauthorized, bad token, wrong scopes or headers bad. ${code}`,
305
362
  );
306
363
  } else if (error.statusCode === 403) {
307
364
  console.error(result.error.code, result.error.message);
@@ -1,5 +1,5 @@
1
1
  import buildModuleUrl from "./buildModuleUrl.js";
2
- import defaultValue from "./defaultValue.js";
2
+ import Frozen from "./Frozen.js";
3
3
  import defined from "./defined.js";
4
4
  import Iau2006XysSample from "./Iau2006XysSample.js";
5
5
  import JulianDate from "./JulianDate.js";
@@ -26,24 +26,22 @@ import TimeStandard from "./TimeStandard.js";
26
26
  * @private
27
27
  */
28
28
  function Iau2006XysData(options) {
29
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
29
+ options = options ?? Frozen.EMPTY_OBJECT;
30
30
 
31
31
  this._xysFileUrlTemplate = Resource.createIfNeeded(
32
32
  options.xysFileUrlTemplate,
33
33
  );
34
- this._interpolationOrder = defaultValue(options.interpolationOrder, 9);
35
- this._sampleZeroJulianEphemerisDate = defaultValue(
36
- options.sampleZeroJulianEphemerisDate,
37
- 2442396.5,
38
- );
34
+ this._interpolationOrder = options.interpolationOrder ?? 9;
35
+ this._sampleZeroJulianEphemerisDate =
36
+ options.sampleZeroJulianEphemerisDate ?? 2442396.5;
39
37
  this._sampleZeroDateTT = new JulianDate(
40
38
  this._sampleZeroJulianEphemerisDate,
41
39
  0.0,
42
40
  TimeStandard.TAI,
43
41
  );
44
- this._stepSizeDays = defaultValue(options.stepSizeDays, 1.0);
45
- this._samplesPerXysFile = defaultValue(options.samplesPerXysFile, 1000);
46
- this._totalSamples = defaultValue(options.totalSamples, 27426);
42
+ this._stepSizeDays = options.stepSizeDays ?? 1.0;
43
+ this._samplesPerXysFile = options.samplesPerXysFile ?? 1000;
44
+ this._totalSamples = options.totalSamples ?? 27426;
47
45
  this._samples = new Array(this._totalSamples * 3);
48
46
  this._chunkDownloadsInProgress = [];
49
47
 
@@ -1,6 +1,5 @@
1
1
  import Cartesian3 from "./Cartesian3.js";
2
2
  import Cartographic from "./Cartographic.js";
3
- import defaultValue from "./defaultValue.js";
4
3
  import defined from "./defined.js";
5
4
  import DeveloperError from "./DeveloperError.js";
6
5
  import Interval from "./Interval.js";
@@ -103,7 +102,7 @@ IntersectionTests.rayTriangleParametric = function (
103
102
  }
104
103
  //>>includeEnd('debug');
105
104
 
106
- cullBackFaces = defaultValue(cullBackFaces, false);
105
+ cullBackFaces = cullBackFaces ?? false;
107
106
 
108
107
  const origin = ray.origin;
109
108
  const direction = ray.direction;
@@ -1,5 +1,3 @@
1
- import defaultValue from "./defaultValue.js";
2
-
3
1
  /**
4
2
  * Represents the closed interval [start, stop].
5
3
  * @alias Interval
@@ -14,12 +12,12 @@ function Interval(start, stop) {
14
12
  * @type {number}
15
13
  * @default 0.0
16
14
  */
17
- this.start = defaultValue(start, 0.0);
15
+ this.start = start ?? 0.0;
18
16
  /**
19
17
  * The end of the interval.
20
18
  * @type {number}
21
19
  * @default 0.0
22
20
  */
23
- this.stop = defaultValue(stop, 0.0);
21
+ this.stop = stop ?? 0.0;
24
22
  }
25
23
  export default Interval;
@@ -4,7 +4,7 @@ import Resource from "./Resource.js";
4
4
 
5
5
  let defaultTokenCredit;
6
6
  const defaultAccessToken =
7
- "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJiNTZhYmEzOS1hNmFhLTQ1OTAtODk0Mi1lM2U3M2FlMjIxZTMiLCJpZCI6MjU5LCJpYXQiOjE3NDEwMTMyNzF9.J_SThPuEuresJ_TioZat6GbGcDLEruo269cV5QQxiqM";
7
+ "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJjNjVkZDYxOC01NmEwLTQ1ZmEtOGE2ZS1lYWUyODM4ZWQxYzQiLCJpZCI6MjU5LCJpYXQiOjE3NDYxMTA0Njl9.uyhPpCQKB1dodfbqTx0ZUPOLhnrSXd-qWixDxc4GYXk";
8
8
  /**
9
9
  * Default settings for accessing the Cesium ion API.
10
10
  *
@@ -1,6 +1,6 @@
1
1
  import Check from "./Check.js";
2
2
  import Credit from "./Credit.js";
3
- import defaultValue from "./defaultValue.js";
3
+ import Frozen from "./Frozen.js";
4
4
  import defined from "./defined.js";
5
5
  import DeveloperError from "./DeveloperError.js";
6
6
  import Ion from "./Ion.js";
@@ -55,24 +55,20 @@ function queryParameterToProvider(parameter) {
55
55
  * @see Ion
56
56
  */
57
57
  function IonGeocoderService(options) {
58
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
58
+ options = options ?? Frozen.EMPTY_OBJECT;
59
59
 
60
60
  //>>includeStart('debug', pragmas.debug);
61
61
  Check.typeOf.object("options.scene", options.scene);
62
62
  //>>includeEnd('debug');
63
63
 
64
- const geocodeProviderType = defaultValue(
65
- options.geocodeProviderType,
66
- IonGeocodeProviderType.DEFAULT,
67
- );
64
+ const geocodeProviderType =
65
+ options.geocodeProviderType ?? IonGeocodeProviderType.DEFAULT;
68
66
  //>>includeStart('debug', pragmas.debug);
69
67
  validateIonGeocodeProviderType(geocodeProviderType);
70
68
  //>>includeEnd('debug');
71
69
 
72
- const accessToken = defaultValue(options.accessToken, Ion.defaultAccessToken);
73
- const server = Resource.createIfNeeded(
74
- defaultValue(options.server, Ion.defaultServer),
75
- );
70
+ const accessToken = options.accessToken ?? Ion.defaultAccessToken;
71
+ const server = Resource.createIfNeeded(options.server ?? Ion.defaultServer);
76
72
  server.appendForwardSlash();
77
73
 
78
74
  const defaultTokenCredit = Ion.getDefaultTokenCredit(accessToken);
@@ -1,7 +1,7 @@
1
1
  import Uri from "urijs";
2
2
  import Check from "./Check.js";
3
3
  import Credit from "./Credit.js";
4
- import defaultValue from "./defaultValue.js";
4
+ import Frozen from "./Frozen.js";
5
5
  import defined from "./defined.js";
6
6
  import Ion from "./Ion.js";
7
7
  import Resource from "./Resource.js";
@@ -159,7 +159,7 @@ IonResource.getCreditsFromEndpoint = function (endpoint, endpointResource) {
159
159
  /** @inheritdoc */
160
160
  IonResource.prototype.clone = function (result) {
161
161
  // We always want to use the root's information because it's the most up-to-date
162
- const ionRoot = defaultValue(this._ionRoot, this);
162
+ const ionRoot = this._ionRoot ?? this;
163
163
 
164
164
  if (!defined(result)) {
165
165
  result = new IonResource(
@@ -220,9 +220,9 @@ IonResource._createEndpointResource = function (assetId, options) {
220
220
  Check.defined("assetId", assetId);
221
221
  //>>includeEnd('debug');
222
222
 
223
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
224
- let server = defaultValue(options.server, Ion.defaultServer);
225
- const accessToken = defaultValue(options.accessToken, Ion.defaultAccessToken);
223
+ options = options ?? Frozen.EMPTY_OBJECT;
224
+ let server = options.server ?? Ion.defaultServer;
225
+ const accessToken = options.accessToken ?? Ion.defaultAccessToken;
226
226
  server = Resource.createIfNeeded(server);
227
227
 
228
228
  const resourceOptions = {
@@ -237,7 +237,7 @@ IonResource._createEndpointResource = function (assetId, options) {
237
237
  };
238
238
 
239
239
  function retryCallback(that, error) {
240
- const ionRoot = defaultValue(that._ionRoot, that);
240
+ const ionRoot = that._ionRoot ?? that;
241
241
  const endpointResource = ionRoot._ionEndpointResource;
242
242
 
243
243
  // Image is not available in worker threads, so this avoids