@cesium/engine 14.0.0 → 16.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 (578) hide show
  1. package/Build/Workers/{chunk-WVNLSTOF.js → chunk-2TQ64T4I.js} +2 -2
  2. package/Build/Workers/{chunk-ED6GLQTK.js → chunk-34EWMUFG.js} +1 -1
  3. package/Build/Workers/{chunk-HEZHXDYB.js → chunk-4LHK6E47.js} +1 -1
  4. package/Build/Workers/{chunk-7EO56M5R.js → chunk-5TN3LG2T.js} +2 -2
  5. package/Build/Workers/{chunk-7ZB2RVIQ.js → chunk-6B7KGA5P.js} +16 -19
  6. package/Build/Workers/{chunk-3QLSKXKF.js → chunk-B75OO2DU.js} +7 -10
  7. package/Build/Workers/{chunk-Q4ZVWJXX.js → chunk-COOLDICB.js} +9 -11
  8. package/Build/Workers/{chunk-3PIZQT3I.js → chunk-CQNYYX3N.js} +4 -4
  9. package/Build/Workers/{chunk-JPDKYBLF.js → chunk-CUJH7PS5.js} +27 -29
  10. package/Build/Workers/{chunk-CI2HEJFC.js → chunk-EAWYQ44R.js} +39 -41
  11. package/Build/Workers/{chunk-SDIDRZDG.js → chunk-EJJDBH5W.js} +7 -7
  12. package/Build/Workers/{chunk-5KWRW7YL.js → chunk-EO44CO62.js} +2 -2
  13. package/Build/Workers/{chunk-N2XAJBC6.js → chunk-EOIUWEAK.js} +26 -28
  14. package/Build/Workers/{chunk-YJX7X577.js → chunk-ERKJ7IWJ.js} +21 -23
  15. package/Build/Workers/{chunk-J7IH4EYI.js → chunk-ESED7XBA.js} +13 -16
  16. package/Build/Workers/{chunk-F4CUH4MR.js → chunk-FW2OX42E.js} +18 -21
  17. package/Build/Workers/{chunk-FX4R4MTH.js → chunk-GH6I7PBY.js} +6 -9
  18. package/Build/Workers/{chunk-FYGLNDKG.js → chunk-GQVSADCI.js} +19 -22
  19. package/Build/Workers/{chunk-TY4DKOWR.js → chunk-ICU72UPR.js} +4 -4
  20. package/Build/Workers/{chunk-DT5NFR5C.js → chunk-ILVAXLMC.js} +7 -7
  21. package/Build/Workers/{chunk-ZGFIT57T.js → chunk-KKV6XBF5.js} +27 -23
  22. package/Build/Workers/{chunk-HKHQ3EDR.js → chunk-KV6TEHXY.js} +4 -4
  23. package/Build/Workers/{chunk-B4GSRXE3.js → chunk-LCSH4ZOB.js} +7 -10
  24. package/Build/Workers/{chunk-LNSWJ43X.js → chunk-M5J3S3HY.js} +17 -26
  25. package/Build/Workers/{chunk-LJBJM6VI.js → chunk-NB6D74SQ.js} +6 -6
  26. package/Build/Workers/{chunk-4CHMVQTQ.js → chunk-NREPBWCX.js} +14 -14
  27. package/Build/Workers/{chunk-PWF4EY5P.js → chunk-OD4Q7HE5.js} +4 -4
  28. package/Build/Workers/{chunk-77XPS7ZA.js → chunk-OMFZ4IN6.js} +15 -24
  29. package/Build/Workers/{chunk-HUFQVUMY.js → chunk-OMZGZVHI.js} +12 -17
  30. package/Build/Workers/{chunk-LOZ4NKY3.js → chunk-ORIMMEHO.js} +18 -20
  31. package/Build/Workers/{chunk-5S5OOA6U.js → chunk-OWLBD6BL.js} +1 -1
  32. package/Build/Workers/{chunk-VCNOFQYH.js → chunk-PB6SE3SZ.js} +9 -12
  33. package/Build/Workers/{chunk-3JBEPBPL.js → chunk-PT6U7UNY.js} +25 -30
  34. package/Build/Workers/{chunk-G3BVMPWG.js → chunk-RWAFHSX3.js} +2 -2
  35. package/Build/Workers/{chunk-KHWLAQVA.js → chunk-S2NKKWYE.js} +1 -1
  36. package/Build/Workers/{chunk-FFBJDW4A.js → chunk-S3IQBSIB.js} +6 -6
  37. package/Build/Workers/{chunk-3LYROPON.js → chunk-SCUQTTCN.js} +16 -19
  38. package/Build/Workers/{chunk-ZMNLEL6W.js → chunk-TBSA4MNF.js} +5 -8
  39. package/Build/Workers/{chunk-EWDGNOJE.js → chunk-TEUGW455.js} +9 -12
  40. package/Build/Workers/{chunk-XK4OP6VA.js → chunk-TL5YKZJF.js} +33 -41
  41. package/Build/Workers/{chunk-KM6MITPF.js → chunk-V4Y7C25O.js} +46 -42
  42. package/Build/Workers/{chunk-OMXHEJTK.js → chunk-VNDECE6N.js} +2 -2
  43. package/Build/Workers/{chunk-LS3KVHYY.js → chunk-VVTAI2TN.js} +6 -9
  44. package/Build/Workers/{chunk-WEHZP4SE.js → chunk-VXAAIRJ7.js} +129 -146
  45. package/Build/Workers/{chunk-MVM4JV5U.js → chunk-WGIOUM2S.js} +9 -12
  46. package/Build/Workers/{chunk-JHBPC4LK.js → chunk-XF6EBVKV.js} +7 -7
  47. package/Build/Workers/{chunk-D7ZBZPHV.js → chunk-XMKE4XB2.js} +5 -5
  48. package/Build/Workers/{chunk-7UHKH6M3.js → chunk-YA4XALD5.js} +34 -36
  49. package/Build/Workers/{chunk-KSYBJA4M.js → chunk-YFXXUW6U.js} +6 -12
  50. package/Build/Workers/{chunk-Z3QWTHI7.js → chunk-YL26OJCG.js} +21 -23
  51. package/Build/Workers/{chunk-K4AH3TDT.js → chunk-ZLJDDRGB.js} +14 -17
  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 +50 -46
  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/CircleGeometry.js +2 -2
  115. package/Source/Core/CircleOutlineGeometry.js +2 -2
  116. package/Source/Core/Clock.js +7 -10
  117. package/Source/Core/Color.js +28 -28
  118. package/Source/Core/ColorGeometryInstanceAttribute.js +4 -5
  119. package/Source/Core/ComponentDatatype.js +4 -6
  120. package/Source/Core/CoplanarPolygonGeometry.js +8 -10
  121. package/Source/Core/CoplanarPolygonOutlineGeometry.js +5 -5
  122. package/Source/Core/CorridorGeometry.js +15 -20
  123. package/Source/Core/CorridorOutlineGeometry.js +10 -15
  124. package/Source/Core/Credit.js +1 -2
  125. package/Source/Core/CullingVolume.js +1 -2
  126. package/Source/Core/CustomHeightmapTerrainProvider.js +3 -3
  127. package/Source/Core/CylinderGeometry.js +7 -7
  128. package/Source/Core/CylinderOutlineGeometry.js +7 -7
  129. package/Source/Core/DistanceDisplayCondition.js +4 -5
  130. package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +2 -3
  131. package/Source/Core/EarthOrientationParameters.js +4 -4
  132. package/Source/Core/EllipseGeometry.js +17 -23
  133. package/Source/Core/EllipseOutlineGeometry.js +12 -15
  134. package/Source/Core/Ellipsoid.js +7 -8
  135. package/Source/Core/EllipsoidGeodesic.js +1 -2
  136. package/Source/Core/EllipsoidGeometry.js +15 -15
  137. package/Source/Core/EllipsoidOutlineGeometry.js +15 -15
  138. package/Source/Core/EllipsoidRhumbLine.js +3 -4
  139. package/Source/Core/EllipsoidTangentPlane.js +1 -2
  140. package/Source/Core/EllipsoidTerrainProvider.js +4 -4
  141. package/Source/Core/EllipsoidalOccluder.js +2 -3
  142. package/Source/Core/FeatureDetection.js +1 -2
  143. package/Source/Core/Frozen.js +24 -0
  144. package/Source/Core/FrustumGeometry.js +7 -8
  145. package/Source/Core/FrustumOutlineGeometry.js +3 -4
  146. package/Source/Core/GeographicProjection.js +1 -2
  147. package/Source/Core/GeographicTilingScheme.js +6 -12
  148. package/Source/Core/Geometry.js +4 -7
  149. package/Source/Core/GeometryAttribute.js +3 -3
  150. package/Source/Core/GeometryAttributes.js +2 -2
  151. package/Source/Core/GeometryInstance.js +4 -6
  152. package/Source/Core/GeometryInstanceAttribute.js +3 -3
  153. package/Source/Core/GeometryPipeline.js +3 -4
  154. package/Source/Core/GoogleEarthEnterpriseMetadata.js +13 -24
  155. package/Source/Core/GoogleEarthEnterpriseTerrainData.js +9 -12
  156. package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +3 -3
  157. package/Source/Core/GoogleGeocoderService.js +2 -2
  158. package/Source/Core/GregorianDate.js +8 -9
  159. package/Source/Core/GroundPolylineGeometry.js +8 -8
  160. package/Source/Core/HeadingPitchRange.js +3 -4
  161. package/Source/Core/HeadingPitchRoll.js +3 -4
  162. package/Source/Core/Heap.js +3 -4
  163. package/Source/Core/HeightmapTerrainData.js +22 -38
  164. package/Source/Core/HeightmapTessellator.js +21 -37
  165. package/Source/Core/HermitePolynomialApproximation.js +1 -2
  166. package/Source/Core/HermiteSpline.js +5 -5
  167. package/Source/Core/ITwinPlatform.js +66 -12
  168. package/Source/Core/Iau2006XysData.js +8 -10
  169. package/Source/Core/IntersectionTests.js +1 -2
  170. package/Source/Core/Interval.js +2 -4
  171. package/Source/Core/Ion.js +1 -1
  172. package/Source/Core/IonGeocoderService.js +6 -10
  173. package/Source/Core/IonResource.js +6 -6
  174. package/Source/Core/JulianDate.js +11 -12
  175. package/Source/Core/LinearSpline.js +2 -2
  176. package/Source/Core/ManagedArray.js +2 -3
  177. package/Source/Core/Math.js +36 -27
  178. package/Source/Core/Matrix2.js +7 -8
  179. package/Source/Core/Matrix3.js +12 -13
  180. package/Source/Core/Matrix4.js +28 -28
  181. package/Source/Core/MorphWeightSpline.js +2 -2
  182. package/Source/Core/NearFarScalar.js +6 -7
  183. package/Source/Core/Occluder.js +1 -2
  184. package/Source/Core/OffsetGeometryInstanceAttribute.js +3 -4
  185. package/Source/Core/OpenCageGeocoderService.js +1 -2
  186. package/Source/Core/OrientedBoundingBox.js +7 -8
  187. package/Source/Core/OrthographicFrustum.js +6 -6
  188. package/Source/Core/OrthographicOffCenterFrustum.js +4 -4
  189. package/Source/Core/PerspectiveFrustum.js +8 -8
  190. package/Source/Core/PerspectiveOffCenterFrustum.js +4 -4
  191. package/Source/Core/PlaneGeometry.js +5 -5
  192. package/Source/Core/PolygonGeometry.js +16 -19
  193. package/Source/Core/PolygonGeometryLibrary.js +27 -6
  194. package/Source/Core/PolygonOutlineGeometry.js +11 -14
  195. package/Source/Core/PolygonPipeline.js +5 -6
  196. package/Source/Core/PolylineGeometry.js +10 -15
  197. package/Source/Core/PolylinePipeline.js +7 -14
  198. package/Source/Core/PolylineVolumeGeometry.js +8 -13
  199. package/Source/Core/PolylineVolumeOutlineGeometry.js +7 -12
  200. package/Source/Core/QuantizedMeshTerrainData.js +12 -16
  201. package/Source/Core/Quaternion.js +7 -8
  202. package/Source/Core/QuaternionSpline.js +2 -2
  203. package/Source/Core/Ray.js +2 -3
  204. package/Source/Core/Rectangle.js +18 -19
  205. package/Source/Core/RectangleGeometry.js +17 -25
  206. package/Source/Core/RectangleGeometryLibrary.js +1 -1
  207. package/Source/Core/RectangleOutlineGeometry.js +10 -13
  208. package/Source/Core/Request.js +6 -6
  209. package/Source/Core/RequestScheduler.js +4 -6
  210. package/Source/Core/Resource.js +13 -16
  211. package/Source/Core/S2Cell.js +2 -3
  212. package/Source/Core/ScreenSpaceEventHandler.js +1 -2
  213. package/Source/Core/ShowGeometryInstanceAttribute.js +1 -2
  214. package/Source/Core/Simon1994PlanetaryPositions.js +9 -9
  215. package/Source/Core/SimplePolylineGeometry.js +8 -11
  216. package/Source/Core/SphereGeometry.js +1 -2
  217. package/Source/Core/SphereOutlineGeometry.js +1 -2
  218. package/Source/Core/Spherical.js +4 -5
  219. package/Source/Core/Spline.js +1 -2
  220. package/Source/Core/SteppedSpline.js +2 -2
  221. package/Source/Core/TaskProcessor.js +2 -9
  222. package/Source/Core/TerrainData.js +1 -1
  223. package/Source/Core/TerrainEncoding.js +4 -11
  224. package/Source/Core/TerrainMesh.js +1 -3
  225. package/Source/Core/TerrainProvider.js +1 -1
  226. package/Source/Core/TexturePacker.js +166 -0
  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/BillboardVisualizer.js +3 -3
  256. package/Source/DataSources/BoxGraphics.js +13 -18
  257. package/Source/DataSources/CallbackPositionProperty.js +1 -2
  258. package/Source/DataSources/Cesium3DTilesetGraphics.js +6 -8
  259. package/Source/DataSources/CheckerboardMaterialProperty.js +2 -2
  260. package/Source/DataSources/CompositePositionProperty.js +1 -2
  261. package/Source/DataSources/ConstantPositionProperty.js +1 -2
  262. package/Source/DataSources/CorridorGraphics.js +23 -35
  263. package/Source/DataSources/CylinderGraphics.js +18 -25
  264. package/Source/DataSources/CzmlDataSource.js +34 -60
  265. package/Source/DataSources/DataSourceClock.js +12 -13
  266. package/Source/DataSources/DataSourceCollection.js +2 -3
  267. package/Source/DataSources/DataSourceDisplay.js +2 -5
  268. package/Source/DataSources/EllipseGraphics.js +26 -40
  269. package/Source/DataSources/EllipsoidGeometryUpdater.js +1 -2
  270. package/Source/DataSources/EllipsoidGraphics.js +21 -32
  271. package/Source/DataSources/Entity.js +7 -9
  272. package/Source/DataSources/EntityCluster.js +53 -28
  273. package/Source/DataSources/EntityView.js +1 -2
  274. package/Source/DataSources/GeoJsonDataSource.js +12 -12
  275. package/Source/DataSources/GeometryUpdater.js +12 -17
  276. package/Source/DataSources/GeometryVisualizer.js +2 -3
  277. package/Source/DataSources/GpxDataSource.js +4 -7
  278. package/Source/DataSources/GridMaterialProperty.js +2 -2
  279. package/Source/DataSources/GroundGeometryUpdater.js +1 -2
  280. package/Source/DataSources/ImageMaterialProperty.js +2 -2
  281. package/Source/DataSources/KmlDataSource.js +84 -158
  282. package/Source/DataSources/LabelGraphics.js +27 -56
  283. package/Source/DataSources/LabelVisualizer.js +1 -2
  284. package/Source/DataSources/ModelGraphics.js +29 -63
  285. package/Source/DataSources/ModelVisualizer.js +1 -2
  286. package/Source/DataSources/NodeTransformationProperty.js +2 -2
  287. package/Source/DataSources/PathGraphics.js +10 -12
  288. package/Source/DataSources/PlaneGraphics.js +13 -15
  289. package/Source/DataSources/PointGraphics.js +17 -32
  290. package/Source/DataSources/PolygonGraphics.js +28 -45
  291. package/Source/DataSources/PolylineDashMaterialProperty.js +2 -2
  292. package/Source/DataSources/PolylineGeometryUpdater.js +9 -14
  293. package/Source/DataSources/PolylineGlowMaterialProperty.js +2 -2
  294. package/Source/DataSources/PolylineGraphics.js +16 -23
  295. package/Source/DataSources/PolylineOutlineMaterialProperty.js +2 -2
  296. package/Source/DataSources/PolylineVisualizer.js +2 -3
  297. package/Source/DataSources/PolylineVolumeGraphics.js +15 -17
  298. package/Source/DataSources/PositionPropertyArray.js +1 -2
  299. package/Source/DataSources/Property.js +1 -2
  300. package/Source/DataSources/PropertyBag.js +1 -2
  301. package/Source/DataSources/RectangleGraphics.js +23 -35
  302. package/Source/DataSources/Rotation.js +4 -5
  303. package/Source/DataSources/SampledPositionProperty.js +2 -3
  304. package/Source/DataSources/SampledProperty.js +6 -11
  305. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +1 -2
  306. package/Source/DataSources/StripeMaterialProperty.js +2 -2
  307. package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +1 -2
  308. package/Source/DataSources/VelocityOrientationProperty.js +1 -2
  309. package/Source/DataSources/VelocityVectorProperty.js +1 -2
  310. package/Source/DataSources/WallGraphics.js +15 -23
  311. package/Source/DataSources/createPropertyDescriptor.js +2 -3
  312. package/Source/DataSources/exportKml.js +11 -14
  313. package/Source/Renderer/Buffer.js +5 -5
  314. package/Source/Renderer/ClearCommand.js +2 -2
  315. package/Source/Renderer/ComputeCommand.js +3 -3
  316. package/Source/Renderer/Context.js +22 -37
  317. package/Source/Renderer/CubeMap.js +6 -6
  318. package/Source/Renderer/CubeMapFace.js +11 -12
  319. package/Source/Renderer/DrawCommand.js +14 -25
  320. package/Source/Renderer/Framebuffer.js +3 -3
  321. package/Source/Renderer/FramebufferManager.js +25 -39
  322. package/Source/Renderer/MultisampleFramebuffer.js +2 -2
  323. package/Source/Renderer/RenderState.js +63 -92
  324. package/Source/Renderer/Renderbuffer.js +4 -4
  325. package/Source/Renderer/Sampler.js +2 -2
  326. package/Source/Renderer/ShaderBuilder.js +2 -3
  327. package/Source/Renderer/ShaderProgram.js +3 -3
  328. package/Source/Renderer/ShaderSource.js +3 -3
  329. package/Source/Renderer/Texture.js +16 -15
  330. package/Source/Renderer/TextureAtlas.js +802 -0
  331. package/Source/Renderer/UniformState.js +6 -11
  332. package/Source/Renderer/VertexArray.js +14 -23
  333. package/Source/Renderer/VertexArrayFacade.js +7 -11
  334. package/Source/Scene/Appearance.js +4 -4
  335. package/Source/Scene/ArcGisMapServerImageryProvider.js +23 -37
  336. package/Source/Scene/ArcGisMapService.js +1 -1
  337. package/Source/Scene/B3dmParser.js +2 -3
  338. package/Source/Scene/BatchTableHierarchy.js +6 -13
  339. package/Source/Scene/Billboard.js +105 -182
  340. package/Source/Scene/BillboardCollection.js +140 -224
  341. package/Source/Scene/BillboardLoadState.js +44 -0
  342. package/Source/Scene/BillboardTexture.js +348 -0
  343. package/Source/Scene/BingMapsImageryProvider.js +6 -6
  344. package/Source/Scene/BoxEmitter.js +1 -2
  345. package/Source/Scene/BufferLoader.js +2 -2
  346. package/Source/Scene/Camera.js +45 -64
  347. package/Source/Scene/CameraFlightPath.js +6 -6
  348. package/Source/Scene/Cesium3DContentGroup.js +2 -2
  349. package/Source/Scene/Cesium3DTile.js +3 -4
  350. package/Source/Scene/Cesium3DTileBatchTable.js +6 -49
  351. package/Source/Scene/Cesium3DTileFeatureTable.js +2 -3
  352. package/Source/Scene/Cesium3DTilePointFeature.js +10 -18
  353. package/Source/Scene/Cesium3DTileStyle.js +4 -7
  354. package/Source/Scene/Cesium3DTilesVoxelProvider.js +419 -137
  355. package/Source/Scene/Cesium3DTileset.js +77 -143
  356. package/Source/Scene/Cesium3DTilesetMetadata.js +3 -3
  357. package/Source/Scene/Cesium3DTilesetStatistics.js +0 -1
  358. package/Source/Scene/CircleEmitter.js +2 -3
  359. package/Source/Scene/ClassificationPrimitive.js +15 -26
  360. package/Source/Scene/ClippingPlaneCollection.js +7 -12
  361. package/Source/Scene/ClippingPolygon.js +1 -2
  362. package/Source/Scene/ClippingPolygonCollection.js +4 -4
  363. package/Source/Scene/CloudCollection.js +9 -11
  364. package/Source/Scene/Composite3DTileContent.js +1 -2
  365. package/Source/Scene/ConeEmitter.js +1 -2
  366. package/Source/Scene/ContentMetadata.js +2 -2
  367. package/Source/Scene/CreditDisplay.js +5 -9
  368. package/Source/Scene/CumulusCloud.js +9 -15
  369. package/Source/Scene/DebugAppearance.js +7 -7
  370. package/Source/Scene/DebugCameraPrimitive.js +5 -5
  371. package/Source/Scene/DebugModelMatrixPrimitive.js +6 -8
  372. package/Source/Scene/DepthPlane.js +1 -2
  373. package/Source/Scene/DirectionalLight.js +2 -3
  374. package/Source/Scene/DiscardMissingTileImagePolicy.js +2 -2
  375. package/Source/Scene/DynamicEnvironmentMapManager.js +15 -24
  376. package/Source/Scene/EllipsoidPrimitive.js +11 -19
  377. package/Source/Scene/EllipsoidSurfaceAppearance.js +11 -15
  378. package/Source/Scene/Expression.js +1 -0
  379. package/Source/Scene/FrameRateMonitor.js +12 -21
  380. package/Source/Scene/FrustumCommands.js +2 -3
  381. package/Source/Scene/Geometry3DTileContent.js +9 -16
  382. package/Source/Scene/Globe.js +3 -4
  383. package/Source/Scene/GlobeSurfaceTileProvider.js +9 -18
  384. package/Source/Scene/GlobeTranslucencyState.js +12 -25
  385. package/Source/Scene/GltfBufferViewLoader.js +4 -4
  386. package/Source/Scene/GltfDracoLoader.js +2 -2
  387. package/Source/Scene/GltfImageLoader.js +2 -2
  388. package/Source/Scene/GltfIndexBufferLoader.js +5 -5
  389. package/Source/Scene/GltfJsonLoader.js +2 -2
  390. package/Source/Scene/GltfLoader.js +22 -37
  391. package/Source/Scene/GltfLoaderUtil.js +11 -11
  392. package/Source/Scene/GltfPipeline/addDefaults.js +37 -64
  393. package/Source/Scene/GltfPipeline/addToArray.js +1 -3
  394. package/Source/Scene/GltfPipeline/moveTechniqueRenderStates.js +2 -5
  395. package/Source/Scene/GltfPipeline/parseGlb.js +1 -5
  396. package/Source/Scene/GltfPipeline/removeUnusedElements.js +1 -2
  397. package/Source/Scene/GltfPipeline/updateVersion.js +28 -49
  398. package/Source/Scene/GltfStructuralMetadataLoader.js +5 -6
  399. package/Source/Scene/GltfTextureLoader.js +3 -3
  400. package/Source/Scene/GltfVertexBufferLoader.js +5 -5
  401. package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +2 -2
  402. package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +3 -4
  403. package/Source/Scene/GridImageryProvider.js +10 -13
  404. package/Source/Scene/GroundPolylinePrimitive.js +11 -22
  405. package/Source/Scene/GroundPrimitive.js +13 -24
  406. package/Source/Scene/GroupMetadata.js +2 -2
  407. package/Source/Scene/I3SDataProvider.js +10 -15
  408. package/Source/Scene/I3SNode.js +1 -6
  409. package/Source/Scene/I3SSublayer.js +1 -2
  410. package/Source/Scene/I3SSymbology.js +2 -3
  411. package/Source/Scene/I3dmParser.js +1 -2
  412. package/Source/Scene/ITwinData.js +11 -6
  413. package/Source/Scene/ImageBasedLighting.js +2 -2
  414. package/Source/Scene/ImageryLayer.js +42 -71
  415. package/Source/Scene/ImageryLayerCollection.js +2 -3
  416. package/Source/Scene/Implicit3DTileContent.js +3 -4
  417. package/Source/Scene/ImplicitAvailabilityBitstream.js +2 -5
  418. package/Source/Scene/ImplicitMetadataView.js +2 -2
  419. package/Source/Scene/ImplicitSubtree.js +10 -15
  420. package/Source/Scene/ImplicitSubtreeCache.js +3 -3
  421. package/Source/Scene/ImplicitSubtreeMetadata.js +2 -2
  422. package/Source/Scene/InstanceAttributeSemantic.js +1 -1
  423. package/Source/Scene/IonImageryProvider.js +3 -3
  424. package/Source/Scene/KeyframeNode.js +16 -2
  425. package/Source/Scene/Label.js +19 -36
  426. package/Source/Scene/LabelCollection.js +218 -196
  427. package/Source/Scene/MapboxImageryProvider.js +4 -4
  428. package/Source/Scene/MapboxStyleImageryProvider.js +5 -5
  429. package/Source/Scene/Material.js +14 -20
  430. package/Source/Scene/MaterialAppearance.js +12 -18
  431. package/Source/Scene/Megatexture.js +145 -82
  432. package/Source/Scene/MetadataClass.js +4 -4
  433. package/Source/Scene/MetadataClassProperty.js +11 -14
  434. package/Source/Scene/MetadataEnum.js +4 -7
  435. package/Source/Scene/MetadataEnumValue.js +2 -2
  436. package/Source/Scene/MetadataSchema.js +4 -4
  437. package/Source/Scene/MetadataSchemaLoader.js +2 -2
  438. package/Source/Scene/MetadataTable.js +2 -2
  439. package/Source/Scene/MetadataTableProperty.js +17 -31
  440. package/Source/Scene/Model/AlphaPipelineStage.js +1 -2
  441. package/Source/Scene/Model/B3dmLoader.js +15 -26
  442. package/Source/Scene/Model/BatchTexturePipelineStage.js +1 -2
  443. package/Source/Scene/Model/ClassificationModelDrawCommand.js +2 -2
  444. package/Source/Scene/Model/CustomShader.js +10 -14
  445. package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +3 -3
  446. package/Source/Scene/Model/FeatureIdPipelineStage.js +1 -5
  447. package/Source/Scene/Model/GeoJsonLoader.js +5 -8
  448. package/Source/Scene/Model/I3dmLoader.js +13 -21
  449. package/Source/Scene/Model/MaterialPipelineStage.js +1 -2
  450. package/Source/Scene/Model/Model.js +41 -63
  451. package/Source/Scene/Model/ModelAnimation.js +5 -6
  452. package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
  453. package/Source/Scene/Model/ModelAnimationCollection.js +4 -4
  454. package/Source/Scene/Model/ModelArticulation.js +2 -2
  455. package/Source/Scene/Model/ModelArticulationStage.js +2 -2
  456. package/Source/Scene/Model/ModelDrawCommand.js +3 -3
  457. package/Source/Scene/Model/ModelFeatureTable.js +3 -9
  458. package/Source/Scene/Model/ModelLightingOptions.js +3 -3
  459. package/Source/Scene/Model/ModelNode.js +1 -1
  460. package/Source/Scene/Model/ModelRuntimeNode.js +2 -2
  461. package/Source/Scene/Model/ModelRuntimePrimitive.js +2 -2
  462. package/Source/Scene/Model/ModelSceneGraph.js +2 -2
  463. package/Source/Scene/Model/ModelSkin.js +2 -2
  464. package/Source/Scene/Model/ModelUtility.js +5 -1
  465. package/Source/Scene/Model/PickingPipelineStage.js +1 -2
  466. package/Source/Scene/Model/PntsLoader.js +6 -6
  467. package/Source/Scene/Model/PointCloudStylingPipelineStage.js +1 -5
  468. package/Source/Scene/Model/PrimitiveOutlineGenerator.js +2 -2
  469. package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +2 -3
  470. package/Source/Scene/Model/TextureUniform.js +5 -8
  471. package/Source/Scene/Model/VaryingType.js +2 -2
  472. package/Source/Scene/Model/pickModel.js +4 -5
  473. package/Source/Scene/Moon.js +5 -5
  474. package/Source/Scene/OpenStreetMapImageryProvider.js +7 -7
  475. package/Source/Scene/OrderedGroundPrimitiveCollection.js +1 -2
  476. package/Source/Scene/Particle.js +11 -17
  477. package/Source/Scene/ParticleBurst.js +5 -5
  478. package/Source/Scene/ParticleSystem.js +24 -54
  479. package/Source/Scene/PerInstanceColorAppearance.js +8 -8
  480. package/Source/Scene/PerformanceDisplay.js +3 -3
  481. package/Source/Scene/PickFramebuffer.js +4 -5
  482. package/Source/Scene/Picking.js +3 -4
  483. package/Source/Scene/PntsParser.js +1 -2
  484. package/Source/Scene/PointCloud.js +6 -12
  485. package/Source/Scene/PointCloudShading.js +9 -18
  486. package/Source/Scene/PointPrimitive.js +11 -21
  487. package/Source/Scene/PointPrimitiveCollection.js +6 -14
  488. package/Source/Scene/Polyline.js +5 -5
  489. package/Source/Scene/PolylineCollection.js +5 -10
  490. package/Source/Scene/PolylineColorAppearance.js +7 -11
  491. package/Source/Scene/PolylineMaterialAppearance.js +7 -11
  492. package/Source/Scene/PostProcessStage.js +2 -2
  493. package/Source/Scene/PostProcessStageComposite.js +3 -6
  494. package/Source/Scene/Primitive.js +21 -42
  495. package/Source/Scene/PrimitiveCollection.js +4 -4
  496. package/Source/Scene/PrimitivePipeline.js +1 -2
  497. package/Source/Scene/PropertyAttribute.js +2 -2
  498. package/Source/Scene/PropertyAttributeProperty.js +4 -4
  499. package/Source/Scene/PropertyTable.js +2 -2
  500. package/Source/Scene/PropertyTexture.js +2 -2
  501. package/Source/Scene/PropertyTextureProperty.js +4 -4
  502. package/Source/Scene/QuadtreePrimitive.js +84 -66
  503. package/Source/Scene/QuadtreeTile.js +170 -0
  504. package/Source/Scene/ResourceCache.js +11 -11
  505. package/Source/Scene/ResourceCacheKey.js +11 -11
  506. package/Source/Scene/Scene.js +66 -40
  507. package/Source/Scene/ScreenSpaceCameraController.js +10 -20
  508. package/Source/Scene/ShadowMap.js +15 -15
  509. package/Source/Scene/ShadowVolumeAppearance.js +1 -2
  510. package/Source/Scene/SingleTileImageryProvider.js +4 -4
  511. package/Source/Scene/SkyAtmosphere.js +1 -2
  512. package/Source/Scene/SkyBox.js +1 -2
  513. package/Source/Scene/SpatialNode.js +4 -11
  514. package/Source/Scene/SphereEmitter.js +2 -3
  515. package/Source/Scene/StructuralMetadata.js +2 -2
  516. package/Source/Scene/SunLight.js +4 -4
  517. package/Source/Scene/SupportedImageFormats.js +4 -4
  518. package/Source/Scene/TileBoundingRegion.js +4 -5
  519. package/Source/Scene/TileBoundingS2Cell.js +3 -4
  520. package/Source/Scene/TileCoordinatesImageryProvider.js +5 -5
  521. package/Source/Scene/TileMapServiceImageryProvider.js +18 -27
  522. package/Source/Scene/TileMetadata.js +2 -2
  523. package/Source/Scene/TilesetMetadata.js +2 -2
  524. package/Source/Scene/TimeDynamicImagery.js +2 -2
  525. package/Source/Scene/TimeDynamicPointCloud.js +8 -10
  526. package/Source/Scene/TweenCollection.js +13 -16
  527. package/Source/Scene/UrlTemplateImageryProvider.js +11 -15
  528. package/Source/Scene/Vector3DTileClampedPolylines.js +1 -2
  529. package/Source/Scene/Vector3DTileContent.js +16 -20
  530. package/Source/Scene/Vector3DTileGeometry.js +1 -2
  531. package/Source/Scene/Vector3DTilePoints.js +2 -5
  532. package/Source/Scene/Vector3DTilePolygons.js +2 -3
  533. package/Source/Scene/Vector3DTilePolylines.js +1 -2
  534. package/Source/Scene/Vector3DTilePrimitive.js +9 -13
  535. package/Source/Scene/VoxelBoxShape.js +14 -8
  536. package/Source/Scene/VoxelCell.js +6 -5
  537. package/Source/Scene/VoxelContent.js +171 -107
  538. package/Source/Scene/VoxelCylinderShape.js +69 -69
  539. package/Source/Scene/VoxelEllipsoidShape.js +17 -8
  540. package/Source/Scene/VoxelMetadataOrder.js +24 -0
  541. package/Source/Scene/VoxelPrimitive.js +134 -79
  542. package/Source/Scene/VoxelProvider.js +22 -29
  543. package/Source/Scene/VoxelRenderResources.js +26 -7
  544. package/Source/Scene/VoxelShape.js +10 -3
  545. package/Source/Scene/VoxelTraversal.js +260 -180
  546. package/Source/Scene/WebMapServiceImageryProvider.js +17 -24
  547. package/Source/Scene/WebMapTileServiceImageryProvider.js +7 -10
  548. package/Source/Scene/createElevationBandMaterial.js +4 -4
  549. package/Source/Scene/createGooglePhotorealistic3DTileset.js +8 -16
  550. package/Source/Scene/createOsmBuildingsAsync.js +3 -6
  551. package/Source/Scene/createTangentSpaceDebugPrimitive.js +4 -6
  552. package/Source/Scene/createWorldImageryAsync.js +3 -3
  553. package/Source/Scene/findContentMetadata.js +2 -5
  554. package/Source/Scene/findTileMetadata.js +2 -5
  555. package/Source/Scene/parseBatchTable.js +1 -5
  556. package/Source/Scene/parseFeatureMetadataLegacy.js +2 -2
  557. package/Source/Scene/parseStructuralMetadata.js +2 -2
  558. package/Source/Scene/processVoxelProperties.js +3 -0
  559. package/Source/Shaders/GlobeFS.glsl +10 -1
  560. package/Source/Shaders/GlobeFS.js +10 -1
  561. package/Source/Shaders/Voxels/Megatexture.glsl +4 -16
  562. package/Source/Shaders/Voxels/Megatexture.js +4 -16
  563. package/Source/Shaders/Voxels/Octree.glsl +44 -7
  564. package/Source/Shaders/Voxels/Octree.js +44 -7
  565. package/Source/Shaders/Voxels/VoxelFS.glsl +9 -15
  566. package/Source/Shaders/Voxels/VoxelFS.js +9 -15
  567. package/Source/Shaders/Voxels/convertUvToCylinder.glsl +15 -15
  568. package/Source/Shaders/Voxels/convertUvToCylinder.js +15 -15
  569. package/Source/Widget/CesiumWidget.js +17 -25
  570. package/Source/Workers/createGeometry.js +1 -2
  571. package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -2
  572. package/Source/Workers/decodeI3S.js +1 -5
  573. package/Source/Workers/transcodeKTX2.js +1 -2
  574. package/index.d.ts +231 -92
  575. package/index.js +315 -310
  576. package/package.json +3 -3
  577. package/Build/Workers/chunk-TVL3F7IU.js +0 -39
  578. package/Source/Scene/TextureAtlas.js +0 -558
@@ -1,7 +1,7 @@
1
1
  import BoundingSphere from "./BoundingSphere.js";
2
2
  import Cartesian3 from "./Cartesian3.js";
3
3
  import ComponentDatatype from "./ComponentDatatype.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 Ellipsoid from "./Ellipsoid.js";
@@ -47,17 +47,17 @@ const sin = Math.sin;
47
47
  * const geometry = Cesium.EllipsoidOutlineGeometry.createGeometry(ellipsoid);
48
48
  */
49
49
  function EllipsoidOutlineGeometry(options) {
50
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
51
-
52
- const radii = defaultValue(options.radii, defaultRadii);
53
- const innerRadii = defaultValue(options.innerRadii, radii);
54
- const minimumClock = defaultValue(options.minimumClock, 0.0);
55
- const maximumClock = defaultValue(options.maximumClock, CesiumMath.TWO_PI);
56
- const minimumCone = defaultValue(options.minimumCone, 0.0);
57
- const maximumCone = defaultValue(options.maximumCone, CesiumMath.PI);
58
- const stackPartitions = Math.round(defaultValue(options.stackPartitions, 10));
59
- const slicePartitions = Math.round(defaultValue(options.slicePartitions, 8));
60
- const subdivisions = Math.round(defaultValue(options.subdivisions, 128));
50
+ options = options ?? Frozen.EMPTY_OBJECT;
51
+
52
+ const radii = options.radii ?? defaultRadii;
53
+ const innerRadii = options.innerRadii ?? radii;
54
+ const minimumClock = options.minimumClock ?? 0.0;
55
+ const maximumClock = options.maximumClock ?? CesiumMath.TWO_PI;
56
+ const minimumCone = options.minimumCone ?? 0.0;
57
+ const maximumCone = options.maximumCone ?? CesiumMath.PI;
58
+ const stackPartitions = Math.round(options.stackPartitions ?? 10);
59
+ const slicePartitions = Math.round(options.slicePartitions ?? 8);
60
+ const subdivisions = Math.round(options.subdivisions ?? 128);
61
61
 
62
62
  //>>includeStart('debug', pragmas.debug);
63
63
  if (stackPartitions < 1) {
@@ -119,7 +119,7 @@ EllipsoidOutlineGeometry.pack = function (value, array, startingIndex) {
119
119
  }
120
120
  //>>includeEnd('debug');
121
121
 
122
- startingIndex = defaultValue(startingIndex, 0);
122
+ startingIndex = startingIndex ?? 0;
123
123
 
124
124
  Cartesian3.pack(value._radii, array, startingIndex);
125
125
  startingIndex += Cartesian3.packedLength;
@@ -134,7 +134,7 @@ EllipsoidOutlineGeometry.pack = function (value, array, startingIndex) {
134
134
  array[startingIndex++] = value._stackPartitions;
135
135
  array[startingIndex++] = value._slicePartitions;
136
136
  array[startingIndex++] = value._subdivisions;
137
- array[startingIndex] = defaultValue(value._offsetAttribute, -1);
137
+ array[startingIndex] = value._offsetAttribute ?? -1;
138
138
 
139
139
  return array;
140
140
  };
@@ -169,7 +169,7 @@ EllipsoidOutlineGeometry.unpack = function (array, startingIndex, result) {
169
169
  }
170
170
  //>>includeEnd('debug');
171
171
 
172
- startingIndex = defaultValue(startingIndex, 0);
172
+ startingIndex = startingIndex ?? 0;
173
173
 
174
174
  const radii = Cartesian3.unpack(array, startingIndex, scratchRadii);
175
175
  startingIndex += Cartesian3.packedLength;
@@ -1,7 +1,6 @@
1
1
  import Cartesian3 from "./Cartesian3.js";
2
2
  import Cartographic from "./Cartographic.js";
3
3
  import Check from "./Check.js";
4
- import defaultValue from "./defaultValue.js";
5
4
  import defined from "./defined.js";
6
5
  import DeveloperError from "./DeveloperError.js";
7
6
  import Ellipsoid from "./Ellipsoid.js";
@@ -391,7 +390,7 @@ function interpolateUsingSurfaceDistance(
391
390
  * @exception {DeveloperError} angle between start and end must be at least 0.0125 radians.
392
391
  */
393
392
  function EllipsoidRhumbLine(start, end, ellipsoid) {
394
- const e = defaultValue(ellipsoid, Ellipsoid.default);
393
+ const e = ellipsoid ?? Ellipsoid.default;
395
394
  this._ellipsoid = e;
396
395
  this._start = new Cartographic();
397
396
  this._end = new Cartographic();
@@ -500,7 +499,7 @@ EllipsoidRhumbLine.fromStartHeadingDistance = function (
500
499
  Check.typeOf.number.greaterThan("distance", distance, 0.0);
501
500
  //>>includeEnd('debug');
502
501
 
503
- const e = defaultValue(ellipsoid, Ellipsoid.default);
502
+ const e = ellipsoid ?? Ellipsoid.default;
504
503
  const major = e.maximumRadius;
505
504
  const minor = e.minimumRadius;
506
505
  const majorSquared = major * major;
@@ -562,7 +561,7 @@ EllipsoidRhumbLine.prototype.interpolateUsingFraction = function (
562
561
  /**
563
562
  * Provides the location of a point at the indicated distance along the rhumb line.
564
563
  *
565
- * @param {number} distance The distance from the inital point to the point of interest along the rhumbLine.
564
+ * @param {number} distance The distance from the initial point to the point of interest along the rhumbLine.
566
565
  * @param {Cartographic} [result] The object in which to store the result.
567
566
  * @returns {Cartographic} The location of the point along the rhumb line.
568
567
  *
@@ -3,7 +3,6 @@ import Cartesian2 from "./Cartesian2.js";
3
3
  import Cartesian3 from "./Cartesian3.js";
4
4
  import Cartesian4 from "./Cartesian4.js";
5
5
  import Check from "./Check.js";
6
- import defaultValue from "./defaultValue.js";
7
6
  import defined from "./defined.js";
8
7
  import DeveloperError from "./DeveloperError.js";
9
8
  import Ellipsoid from "./Ellipsoid.js";
@@ -31,7 +30,7 @@ function EllipsoidTangentPlane(origin, ellipsoid) {
31
30
  Check.defined("origin", origin);
32
31
  //>>includeEnd('debug');
33
32
 
34
- ellipsoid = defaultValue(ellipsoid, Ellipsoid.default);
33
+ ellipsoid = ellipsoid ?? Ellipsoid.default;
35
34
  origin = ellipsoid.scaleToGeodeticSurface(origin);
36
35
 
37
36
  //>>includeStart('debug', pragmas.debug);
@@ -1,4 +1,4 @@
1
- import defaultValue from "./defaultValue.js";
1
+ import Frozen from "./Frozen.js";
2
2
  import defined from "./defined.js";
3
3
  import Ellipsoid from "./Ellipsoid.js";
4
4
  import Event from "./Event.js";
@@ -24,12 +24,12 @@ import TerrainProvider from "./TerrainProvider.js";
24
24
  * @see TerrainProvider
25
25
  */
26
26
  function EllipsoidTerrainProvider(options) {
27
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
27
+ options = options ?? Frozen.EMPTY_OBJECT;
28
28
 
29
29
  this._tilingScheme = options.tilingScheme;
30
30
  if (!defined(this._tilingScheme)) {
31
31
  this._tilingScheme = new GeographicTilingScheme({
32
- ellipsoid: defaultValue(options.ellipsoid, Ellipsoid.default),
32
+ ellipsoid: options.ellipsoid ?? Ellipsoid.default,
33
33
  });
34
34
  }
35
35
 
@@ -115,7 +115,7 @@ Object.defineProperties(EllipsoidTerrainProvider.prototype, {
115
115
  * at points and in rectangles. This property may be undefined if availability
116
116
  * information is not available.
117
117
  * @memberof EllipsoidTerrainProvider.prototype
118
- * @type {TileAvailability}
118
+ * @type {TileAvailability|undefined}
119
119
  * @readonly
120
120
  */
121
121
  availability: {
@@ -1,7 +1,6 @@
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";
5
4
  import defined from "./defined.js";
6
5
  import Ellipsoid from "./Ellipsoid.js";
7
6
  import Rectangle from "./Rectangle.js";
@@ -418,8 +417,8 @@ function computeHorizonCullingPointFromVertices(
418
417
  result = new Cartesian3();
419
418
  }
420
419
 
421
- stride = defaultValue(stride, 3);
422
- center = defaultValue(center, Cartesian3.ZERO);
420
+ stride = stride ?? 3;
421
+ center = center ?? Cartesian3.ZERO;
423
422
  const scaledSpaceDirectionToPoint = computeScaledSpaceDirectionToPoint(
424
423
  ellipsoid,
425
424
  directionToPoint,
@@ -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
  import DeveloperError from "./DeveloperError.js";
5
4
  import Fullscreen from "./Fullscreen.js";
@@ -314,7 +313,7 @@ const FeatureDetection = {
314
313
  firefoxVersion: firefoxVersion,
315
314
  isWindows: isWindows,
316
315
  isIPadOrIOS: isIPadOrIOS,
317
- hardwareConcurrency: defaultValue(theNavigator.hardwareConcurrency, 3),
316
+ hardwareConcurrency: theNavigator.hardwareConcurrency ?? 3,
318
317
  supportsPointerEvents: supportsPointerEvents,
319
318
  supportsImageRenderingPixelated: supportsImageRenderingPixelated,
320
319
  supportsWebP: supportsWebP,
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Utilities helpful for setting a default value for a parameter.
3
+ *
4
+ * @namespace Frozen
5
+ */
6
+ const Frozen = {};
7
+
8
+ /**
9
+ * A frozen empty object that can be used as the default value for options passed as
10
+ * an object literal.
11
+ * @type {object}
12
+ * @memberof Frozen
13
+ */
14
+ Frozen.EMPTY_OBJECT = Object.freeze({});
15
+
16
+ /**
17
+ * A frozen empty array that can be used as the default value for options passed as
18
+ * an array literal.
19
+ * @type {array}
20
+ * @memberof Frozen
21
+ */
22
+ Frozen.EMPTY_ARRAY = Object.freeze([]);
23
+
24
+ export default Frozen;
@@ -3,7 +3,6 @@ import Cartesian3 from "./Cartesian3.js";
3
3
  import Cartesian4 from "./Cartesian4.js";
4
4
  import Check from "./Check.js";
5
5
  import ComponentDatatype from "./ComponentDatatype.js";
6
- import defaultValue from "./defaultValue.js";
7
6
  import defined from "./defined.js";
8
7
  import Geometry from "./Geometry.js";
9
8
  import GeometryAttribute from "./GeometryAttribute.js";
@@ -42,12 +41,12 @@ function FrustumGeometry(options) {
42
41
  const frustum = options.frustum;
43
42
  const orientation = options.orientation;
44
43
  const origin = options.origin;
45
- const vertexFormat = defaultValue(options.vertexFormat, VertexFormat.DEFAULT);
44
+ const vertexFormat = options.vertexFormat ?? VertexFormat.DEFAULT;
46
45
 
47
46
  // This is private because it is used by DebugCameraPrimitive to draw a multi-frustum by
48
47
  // creating multiple FrustumGeometry objects. This way the near plane of one frustum doesn't overlap
49
48
  // the far plane of another.
50
- const drawNearPlane = defaultValue(options._drawNearPlane, true);
49
+ const drawNearPlane = options._drawNearPlane ?? true;
51
50
 
52
51
  let frustumType;
53
52
  let frustumPackedLength;
@@ -94,7 +93,7 @@ FrustumGeometry.pack = function (value, array, startingIndex) {
94
93
  Check.defined("array", array);
95
94
  //>>includeEnd('debug');
96
95
 
97
- startingIndex = defaultValue(startingIndex, 0);
96
+ startingIndex = startingIndex ?? 0;
98
97
 
99
98
  const frustumType = value._frustumType;
100
99
  const frustum = value._frustum;
@@ -138,7 +137,7 @@ FrustumGeometry.unpack = function (array, startingIndex, result) {
138
137
  Check.defined("array", array);
139
138
  //>>includeEnd('debug');
140
139
 
141
- startingIndex = defaultValue(startingIndex, 0);
140
+ startingIndex = startingIndex ?? 0;
142
141
 
143
142
  const frustumType = array[startingIndex++];
144
143
 
@@ -277,9 +276,9 @@ FrustumGeometry._computeNearFarPlanes = function (
277
276
  orientation,
278
277
  scratchRotationMatrix,
279
278
  );
280
- let x = defaultValue(xDirection, scratchXDirection);
281
- let y = defaultValue(yDirection, scratchYDirection);
282
- let z = defaultValue(zDirection, scratchZDirection);
279
+ let x = xDirection ?? scratchXDirection;
280
+ let y = yDirection ?? scratchYDirection;
281
+ let z = zDirection ?? scratchZDirection;
283
282
 
284
283
  x = Matrix3.getColumn(rotationMatrix, 0, x);
285
284
  y = Matrix3.getColumn(rotationMatrix, 1, y);
@@ -2,7 +2,6 @@ import BoundingSphere from "./BoundingSphere.js";
2
2
  import Cartesian3 from "./Cartesian3.js";
3
3
  import Check from "./Check.js";
4
4
  import ComponentDatatype from "./ComponentDatatype.js";
5
- import defaultValue from "./defaultValue.js";
6
5
  import defined from "./defined.js";
7
6
  import FrustumGeometry from "./FrustumGeometry.js";
8
7
  import Geometry from "./Geometry.js";
@@ -42,7 +41,7 @@ function FrustumOutlineGeometry(options) {
42
41
  // This is private because it is used by DebugCameraPrimitive to draw a multi-frustum by
43
42
  // creating multiple FrustumOutlineGeometrys. This way the near plane of one frustum doesn't overlap
44
43
  // the far plane of another.
45
- const drawNearPlane = defaultValue(options._drawNearPlane, true);
44
+ const drawNearPlane = options._drawNearPlane ?? true;
46
45
 
47
46
  let frustumType;
48
47
  let frustumPackedLength;
@@ -84,7 +83,7 @@ FrustumOutlineGeometry.pack = function (value, array, startingIndex) {
84
83
  Check.defined("array", array);
85
84
  //>>includeEnd('debug');
86
85
 
87
- startingIndex = defaultValue(startingIndex, 0);
86
+ startingIndex = startingIndex ?? 0;
88
87
 
89
88
  const frustumType = value._frustumType;
90
89
  const frustum = value._frustum;
@@ -125,7 +124,7 @@ FrustumOutlineGeometry.unpack = function (array, startingIndex, result) {
125
124
  Check.defined("array", array);
126
125
  //>>includeEnd('debug');
127
126
 
128
- startingIndex = defaultValue(startingIndex, 0);
127
+ startingIndex = startingIndex ?? 0;
129
128
 
130
129
  const frustumType = array[startingIndex++];
131
130
 
@@ -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 Ellipsoid from "./Ellipsoid.js";
@@ -19,7 +18,7 @@ import Ellipsoid from "./Ellipsoid.js";
19
18
  * @see WebMercatorProjection
20
19
  */
21
20
  function GeographicProjection(ellipsoid) {
22
- this._ellipsoid = defaultValue(ellipsoid, Ellipsoid.default);
21
+ this._ellipsoid = ellipsoid ?? Ellipsoid.default;
23
22
  this._semimajorAxis = this._ellipsoid.maximumRadius;
24
23
  this._oneOverSemimajorAxis = 1.0 / this._semimajorAxis;
25
24
  }
@@ -1,6 +1,6 @@
1
1
  import Cartesian2 from "./Cartesian2.js";
2
2
  import Check from "./Check.js";
3
- import defaultValue from "./defaultValue.js";
3
+ import Frozen from "./Frozen.js";
4
4
  import defined from "./defined.js";
5
5
  import Ellipsoid from "./Ellipsoid.js";
6
6
  import GeographicProjection from "./GeographicProjection.js";
@@ -25,19 +25,13 @@ import Rectangle from "./Rectangle.js";
25
25
  * the tile tree.
26
26
  */
27
27
  function GeographicTilingScheme(options) {
28
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
28
+ options = options ?? Frozen.EMPTY_OBJECT;
29
29
 
30
- this._ellipsoid = defaultValue(options.ellipsoid, Ellipsoid.default);
31
- this._rectangle = defaultValue(options.rectangle, Rectangle.MAX_VALUE);
30
+ this._ellipsoid = options.ellipsoid ?? Ellipsoid.default;
31
+ this._rectangle = options.rectangle ?? Rectangle.MAX_VALUE;
32
32
  this._projection = new GeographicProjection(this._ellipsoid);
33
- this._numberOfLevelZeroTilesX = defaultValue(
34
- options.numberOfLevelZeroTilesX,
35
- 2,
36
- );
37
- this._numberOfLevelZeroTilesY = defaultValue(
38
- options.numberOfLevelZeroTilesY,
39
- 1,
40
- );
33
+ this._numberOfLevelZeroTilesX = options.numberOfLevelZeroTilesX ?? 2;
34
+ this._numberOfLevelZeroTilesY = options.numberOfLevelZeroTilesY ?? 1;
41
35
  }
42
36
 
43
37
  Object.defineProperties(GeographicTilingScheme.prototype, {
@@ -2,7 +2,7 @@ import Cartesian2 from "./Cartesian2.js";
2
2
  import Cartesian3 from "./Cartesian3.js";
3
3
  import Cartographic from "./Cartographic.js";
4
4
  import Check from "./Check.js";
5
- import defaultValue from "./defaultValue.js";
5
+ import Frozen from "./Frozen.js";
6
6
  import defined from "./defined.js";
7
7
  import DeveloperError from "./DeveloperError.js";
8
8
  import GeometryType from "./GeometryType.js";
@@ -65,7 +65,7 @@ import Transforms from "./Transforms.js";
65
65
  * });
66
66
  */
67
67
  function Geometry(options) {
68
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
68
+ options = options ?? Frozen.EMPTY_OBJECT;
69
69
 
70
70
  //>>includeStart('debug', pragmas.debug);
71
71
  Check.typeOf.object("options.attributes", options.attributes);
@@ -135,10 +135,7 @@ function Geometry(options) {
135
135
  *
136
136
  * @default PrimitiveType.TRIANGLES
137
137
  */
138
- this.primitiveType = defaultValue(
139
- options.primitiveType,
140
- PrimitiveType.TRIANGLES,
141
- );
138
+ this.primitiveType = options.primitiveType ?? PrimitiveType.TRIANGLES;
142
139
 
143
140
  /**
144
141
  * An optional bounding sphere that fully encloses the geometry. This is
@@ -153,7 +150,7 @@ function Geometry(options) {
153
150
  /**
154
151
  * @private
155
152
  */
156
- this.geometryType = defaultValue(options.geometryType, GeometryType.NONE);
153
+ this.geometryType = options.geometryType ?? GeometryType.NONE;
157
154
 
158
155
  /**
159
156
  * @private
@@ -1,4 +1,4 @@
1
- import defaultValue from "./defaultValue.js";
1
+ import Frozen from "./Frozen.js";
2
2
  import defined from "./defined.js";
3
3
  import DeveloperError from "./DeveloperError.js";
4
4
 
@@ -38,7 +38,7 @@ import DeveloperError from "./DeveloperError.js";
38
38
  * @see Geometry
39
39
  */
40
40
  function GeometryAttribute(options) {
41
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
41
+ options = options ?? Frozen.EMPTY_OBJECT;
42
42
 
43
43
  //>>includeStart('debug', pragmas.debug);
44
44
  if (!defined(options.componentDatatype)) {
@@ -110,7 +110,7 @@ function GeometryAttribute(options) {
110
110
  * Cesium.Color.floatToByte(color.alpha)
111
111
  * ]);
112
112
  */
113
- this.normalize = defaultValue(options.normalize, false);
113
+ this.normalize = options.normalize ?? false;
114
114
 
115
115
  /**
116
116
  * The values for the attributes stored in a typed array. In the code example,
@@ -1,4 +1,4 @@
1
- import defaultValue from "./defaultValue.js";
1
+ import Frozen from "./Frozen.js";
2
2
 
3
3
  /**
4
4
  * Attributes, which make up a geometry's vertices. Each property in this object corresponds to a
@@ -11,7 +11,7 @@ import defaultValue from "./defaultValue.js";
11
11
  * @constructor
12
12
  */
13
13
  function GeometryAttributes(options) {
14
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
14
+ options = options ?? Frozen.EMPTY_OBJECT;
15
15
 
16
16
  /**
17
17
  * The 3D position attribute.
@@ -1,4 +1,4 @@
1
- import defaultValue from "./defaultValue.js";
1
+ import Frozen from "./Frozen.js";
2
2
  import defined from "./defined.js";
3
3
  import DeveloperError from "./DeveloperError.js";
4
4
  import Matrix4 from "./Matrix4.js";
@@ -49,7 +49,7 @@ import Matrix4 from "./Matrix4.js";
49
49
  * @see Geometry
50
50
  */
51
51
  function GeometryInstance(options) {
52
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
52
+ options = options ?? Frozen.EMPTY_OBJECT;
53
53
 
54
54
  //>>includeStart('debug', pragmas.debug);
55
55
  if (!defined(options.geometry)) {
@@ -75,9 +75,7 @@ function GeometryInstance(options) {
75
75
  *
76
76
  * @default Matrix4.IDENTITY
77
77
  */
78
- this.modelMatrix = Matrix4.clone(
79
- defaultValue(options.modelMatrix, Matrix4.IDENTITY),
80
- );
78
+ this.modelMatrix = Matrix4.clone(options.modelMatrix ?? Matrix4.IDENTITY);
81
79
 
82
80
  /**
83
81
  * User-defined object returned when the instance is picked or used to get/set per-instance attributes.
@@ -106,7 +104,7 @@ function GeometryInstance(options) {
106
104
  *
107
105
  * @default {}
108
106
  */
109
- this.attributes = defaultValue(options.attributes, {});
107
+ this.attributes = options.attributes ?? {};
110
108
 
111
109
  /**
112
110
  * @private
@@ -1,4 +1,4 @@
1
- import defaultValue from "./defaultValue.js";
1
+ import Frozen from "./Frozen.js";
2
2
  import defined from "./defined.js";
3
3
  import DeveloperError from "./DeveloperError.js";
4
4
 
@@ -40,7 +40,7 @@ import DeveloperError from "./DeveloperError.js";
40
40
  * @see DistanceDisplayConditionGeometryInstanceAttribute
41
41
  */
42
42
  function GeometryInstanceAttribute(options) {
43
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
43
+ options = options ?? Frozen.EMPTY_OBJECT;
44
44
 
45
45
  //>>includeStart('debug', pragmas.debug);
46
46
  if (!defined(options.componentDatatype)) {
@@ -111,7 +111,7 @@ function GeometryInstanceAttribute(options) {
111
111
  * Cesium.Color.floatToByte(color.alpha)
112
112
  * ];
113
113
  */
114
- this.normalize = defaultValue(options.normalize, false);
114
+ this.normalize = options.normalize ?? false;
115
115
 
116
116
  /**
117
117
  * The values for the attributes stored in a typed array. In the code example,
@@ -6,7 +6,6 @@ import Cartesian3 from "./Cartesian3.js";
6
6
  import Cartesian4 from "./Cartesian4.js";
7
7
  import Cartographic from "./Cartographic.js";
8
8
  import ComponentDatatype from "./ComponentDatatype.js";
9
- import defaultValue from "./defaultValue.js";
10
9
  import defined from "./defined.js";
11
10
  import DeveloperError from "./DeveloperError.js";
12
11
  import EncodedCartesian3 from "./EncodedCartesian3.js";
@@ -169,7 +168,7 @@ GeometryPipeline.createLineSegmentsForVectors = function (
169
168
  attributeName,
170
169
  length,
171
170
  ) {
172
- attributeName = defaultValue(attributeName, "normal");
171
+ attributeName = attributeName ?? "normal";
173
172
 
174
173
  //>>includeStart('debug', pragmas.debug);
175
174
  if (!defined(geometry)) {
@@ -185,7 +184,7 @@ GeometryPipeline.createLineSegmentsForVectors = function (
185
184
  }
186
185
  //>>includeEnd('debug');
187
186
 
188
- length = defaultValue(length, 10000.0);
187
+ length = length ?? 10000.0;
189
188
 
190
189
  const positions = geometry.attributes.position.values;
191
190
  const vectors = geometry.attributes[attributeName].values;
@@ -243,7 +242,7 @@ GeometryPipeline.createAttributeLocations = function (geometry) {
243
242
  if (!defined(geometry)) {
244
243
  throw new DeveloperError("geometry is required.");
245
244
  }
246
- //>>includeEnd('debug')
245
+ //>>includeEnd('debug');
247
246
 
248
247
  // There can be a WebGL performance hit when attribute 0 is disabled, so
249
248
  // assign attribute locations to well-known attributes.
@@ -2,7 +2,6 @@ import * as protobuf from "protobufjs/dist/minimal/protobuf.js";
2
2
  import buildModuleUrl from "./buildModuleUrl.js";
3
3
  import Check from "./Check.js";
4
4
  import Credit from "./Credit.js";
5
- import defaultValue from "./defaultValue.js";
6
5
  import defined from "./defined.js";
7
6
  import GoogleEarthEnterpriseTileInformation from "./GoogleEarthEnterpriseTileInformation.js";
8
7
  import isBitSet from "./isBitSet.js";
@@ -304,8 +303,8 @@ GoogleEarthEnterpriseMetadata.prototype.getQuadTreePacket = function (
304
303
  version,
305
304
  request,
306
305
  ) {
307
- version = defaultValue(version, 1);
308
- quadKey = defaultValue(quadKey, "");
306
+ version = version ?? 1;
307
+ quadKey = quadKey ?? "";
309
308
  const resource = getMetadataResource(this, quadKey, version, request);
310
309
 
311
310
  const promise = resource.fetchArrayBuffer();
@@ -549,34 +548,24 @@ function requestDbRoot(that) {
549
548
  const dbRoot = dbrootParser.DbRootProto.decode(
550
549
  new Uint8Array(result.buffer),
551
550
  );
552
- that.imageryPresent = defaultValue(
553
- dbRoot.imageryPresent,
554
- that.imageryPresent,
555
- );
551
+ that.imageryPresent = dbRoot.imageryPresent ?? that.imageryPresent;
556
552
  that.protoImagery = dbRoot.protoImagery;
557
- that.terrainPresent = defaultValue(
558
- dbRoot.terrainPresent,
559
- that.terrainPresent,
560
- );
553
+ that.terrainPresent = dbRoot.terrainPresent ?? that.terrainPresent;
561
554
  if (defined(dbRoot.endSnippet) && defined(dbRoot.endSnippet.model)) {
562
555
  const model = dbRoot.endSnippet.model;
563
- that.negativeAltitudeExponentBias = defaultValue(
564
- model.negativeAltitudeExponentBias,
565
- that.negativeAltitudeExponentBias,
566
- );
567
- that.negativeAltitudeThreshold = defaultValue(
568
- model.compressedNegativeAltitudeThreshold,
569
- that.negativeAltitudeThreshold,
570
- );
556
+ that.negativeAltitudeExponentBias =
557
+ model.negativeAltitudeExponentBias ??
558
+ that.negativeAltitudeExponentBias;
559
+ that.negativeAltitudeThreshold =
560
+ model.compressedNegativeAltitudeThreshold ??
561
+ that.negativeAltitudeThreshold;
571
562
  }
572
563
  if (defined(dbRoot.databaseVersion)) {
573
- that._quadPacketVersion = defaultValue(
574
- dbRoot.databaseVersion.quadtreeVersion,
575
- that._quadPacketVersion,
576
- );
564
+ that._quadPacketVersion =
565
+ dbRoot.databaseVersion.quadtreeVersion ?? that._quadPacketVersion;
577
566
  }
578
567
  const providers = that.providers;
579
- const providerInfo = defaultValue(dbRoot.providerInfo, []);
568
+ const providerInfo = dbRoot.providerInfo ?? [];
580
569
  const count = providerInfo.length;
581
570
  for (let i = 0; i < count; ++i) {
582
571
  const provider = providerInfo[i];
@@ -2,7 +2,7 @@ import BoundingSphere from "./BoundingSphere.js";
2
2
  import Cartesian2 from "./Cartesian2.js";
3
3
  import Cartesian3 from "./Cartesian3.js";
4
4
  import Check from "./Check.js";
5
- import defaultValue from "./defaultValue.js";
5
+ import Frozen from "./Frozen.js";
6
6
  import defined from "./defined.js";
7
7
  import DeveloperError from "./DeveloperError.js";
8
8
  import IndexDatatype from "./IndexDatatype.js";
@@ -55,7 +55,7 @@ import TerrainMesh from "./TerrainMesh.js";
55
55
  * @see QuantizedMeshTerrainData
56
56
  */
57
57
  function GoogleEarthEnterpriseTerrainData(options) {
58
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
58
+ options = options ?? Frozen.EMPTY_OBJECT;
59
59
  //>>includeStart('debug', pragmas.debug);
60
60
  Check.typeOf.object("options.buffer", options.buffer);
61
61
  Check.typeOf.number(
@@ -76,14 +76,14 @@ function GoogleEarthEnterpriseTerrainData(options) {
76
76
  // Convert from google layout to layout of other providers
77
77
  // 3 2 -> 2 3
78
78
  // 0 1 -> 0 1
79
- const googleChildTileMask = defaultValue(options.childTileMask, 15);
79
+ const googleChildTileMask = options.childTileMask ?? 15;
80
80
  let childTileMask = googleChildTileMask & 3; // Bottom row is identical
81
81
  childTileMask |= googleChildTileMask & 4 ? 8 : 0; // NE
82
82
  childTileMask |= googleChildTileMask & 8 ? 4 : 0; // NW
83
83
 
84
84
  this._childTileMask = childTileMask;
85
85
 
86
- this._createdByUpsampling = defaultValue(options.createdByUpsampling, false);
86
+ this._createdByUpsampling = options.createdByUpsampling ?? false;
87
87
 
88
88
  this._skirtHeight = undefined;
89
89
  this._bufferType = this._buffer.constructor;
@@ -108,7 +108,7 @@ Object.defineProperties(GoogleEarthEnterpriseTerrainData.prototype, {
108
108
  * Uint8Array or image where a value of 255 indicates water and a value of 0 indicates land.
109
109
  * Values in between 0 and 255 are allowed as well to smoothly blend between land and water.
110
110
  * @memberof GoogleEarthEnterpriseTerrainData.prototype
111
- * @type {Uint8Array|HTMLImageElement|HTMLCanvasElement}
111
+ * @type {Uint8Array|HTMLImageElement|HTMLCanvasElement|undefined}
112
112
  */
113
113
  waterMask: {
114
114
  get: function () {
@@ -145,7 +145,7 @@ const rectangleScratch = new Rectangle();
145
145
  * be retried later.
146
146
  */
147
147
  GoogleEarthEnterpriseTerrainData.prototype.createMesh = function (options) {
148
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
148
+ options = options ?? Frozen.EMPTY_OBJECT;
149
149
 
150
150
  //>>includeStart('debug', pragmas.debug);
151
151
  Check.typeOf.object("options.tilingScheme", options.tilingScheme);
@@ -158,12 +158,9 @@ GoogleEarthEnterpriseTerrainData.prototype.createMesh = function (options) {
158
158
  const x = options.x;
159
159
  const y = options.y;
160
160
  const level = options.level;
161
- const exaggeration = defaultValue(options.exaggeration, 1.0);
162
- const exaggerationRelativeHeight = defaultValue(
163
- options.exaggerationRelativeHeight,
164
- 0.0,
165
- );
166
- const throttle = defaultValue(options.throttle, true);
161
+ const exaggeration = options.exaggeration ?? 1.0;
162
+ const exaggerationRelativeHeight = options.exaggerationRelativeHeight ?? 0.0;
163
+ const throttle = options.throttle ?? true;
167
164
 
168
165
  const ellipsoid = tilingScheme.ellipsoid;
169
166
  tilingScheme.tileXYToNativeRectangle(x, y, level, nativeRectangleScratch);