@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
@@ -0,0 +1,166 @@
1
+ import BoundingRectangle from "./BoundingRectangle.js";
2
+ import Check from "./Check.js";
3
+ import defined from "./defined.js";
4
+
5
+ /**
6
+ * @typedef {object} TexturePacker.PackableObject
7
+ * Any object, such as an <code>Image</code> with the following properties:
8
+ * @private
9
+ * @property {number} width The width of the image, or other object, usually in pixels
10
+ * @property {number} height The height of the image, or other object, usually in pixels
11
+ */
12
+
13
+ /**
14
+ * A texture atlas is recursively broken down into regions of space called nodes.
15
+ * Nodes contain either an image reference or child nodes.
16
+ * @private
17
+ * @constructor
18
+ * @param {object} options An options object with the following properties:
19
+ * @param {number} options.x The x-offset of the texture node
20
+ * @param {number} options.y The y-offset of the texture node
21
+ * @param {number} options.width The width of the texture node
22
+ * @param {number} options.height The width of the texture node
23
+ */
24
+ function TextureNode({ x, y, width, height }) {
25
+ /**
26
+ * @type {BoundingRectangle}
27
+ */
28
+ this.rectangle = new BoundingRectangle(x, y, width, height);
29
+
30
+ /**
31
+ * @type {TextureNode|undefined}
32
+ */
33
+ this.childNode1 = undefined;
34
+ /**
35
+ * @type {TextureNode|undefined}
36
+ */
37
+ this.childNode2 = undefined;
38
+
39
+ /**
40
+ * Identifier referencing an image or packed data
41
+ * @type {number|undefined}
42
+ */
43
+ this.index = undefined;
44
+ }
45
+
46
+ /**
47
+ * Typically used with {@link TextureAtlas} to calculate efficient regions of the larger areas to store images or other data. Typically, all units are specified in pixels.
48
+ * @alias TexturePacker
49
+ * @constructor
50
+ * @private
51
+ * @param {options} options Object with the following properties:
52
+ * @param {number} options.width Width of the atlas, in pixels
53
+ * @param {number} options.height Height of atlas, in pixels
54
+ * @param {number} options.borderPadding Amount of border padding, in pixels
55
+ */
56
+ function TexturePacker({ width, height, borderPadding }) {
57
+ this._width = width;
58
+ this._height = height;
59
+
60
+ this._borderPadding = borderPadding;
61
+
62
+ this._root = new TextureNode({
63
+ x: borderPadding,
64
+ y: borderPadding,
65
+ width: width - 2 * borderPadding,
66
+ height: height - 2 * borderPadding,
67
+ });
68
+ }
69
+
70
+ /**
71
+ * Inserts the given object into the next available region based on it's dimensions. Where convenient, it's most efficient to pack items largest to smallest.
72
+ * @private
73
+ * @param {number} index An identifier referencing the image or other stored data
74
+ * @param {TexturePacker.PackableObject} packableObject An object, such as an <code>Image</code>, with <code>width</code> and <code>height</code> properties in pixels.
75
+ * @returns {TextureNode|undefined} The created region, or <code>undefined</code> if there is no region large enough to accommodate the object's dimensions.
76
+ */
77
+ TexturePacker.prototype.pack = function (index, { width, height }) {
78
+ //>>includeStart('debug', pragmas.debug);
79
+ Check.typeOf.number.greaterThanOrEquals("index", index, 0);
80
+ Check.typeOf.number.greaterThanOrEquals("image.width", width, 1);
81
+ Check.typeOf.number.greaterThanOrEquals("image.height", height, 1);
82
+ //>>includeEnd('debug');
83
+
84
+ const node = this._findNode(this._root, { width, height });
85
+ if (!defined(node)) {
86
+ return;
87
+ }
88
+
89
+ node.index = index;
90
+ return node;
91
+ };
92
+
93
+ // A recursive function that finds the best place to insert
94
+ // a new image based on existing image 'nodes'.
95
+ // Inspired by: http://blackpawn.com/texts/lightmaps/default.html
96
+ TexturePacker.prototype._findNode = function (node, { width, height }) {
97
+ if (!defined(node)) {
98
+ return undefined;
99
+ }
100
+
101
+ // Leaf node
102
+ if (!defined(node.childNode1) && !defined(node.childNode2)) {
103
+ if (defined(node.index)) {
104
+ // Node already contains an image: Skip it.
105
+ return undefined;
106
+ }
107
+
108
+ const { rectangle } = node;
109
+
110
+ const nodeWidth = rectangle.width;
111
+ const nodeHeight = rectangle.height;
112
+ const widthDifference = nodeWidth - width;
113
+ const heightDifference = nodeHeight - height;
114
+
115
+ // Node is smaller than the image.
116
+ if (widthDifference < 0 || heightDifference < 0) {
117
+ return undefined;
118
+ }
119
+
120
+ // If the node is the same size as the image, return the node
121
+ if (widthDifference === 0 && heightDifference === 0) {
122
+ return node;
123
+ }
124
+
125
+ // Vertical split (childNode1 = left half, childNode2 = right half).
126
+ if (widthDifference > heightDifference) {
127
+ node.childNode1 = new TextureNode({
128
+ x: rectangle.x,
129
+ y: rectangle.y,
130
+ width,
131
+ height: nodeHeight,
132
+ });
133
+ node.childNode2 = new TextureNode({
134
+ x: rectangle.x + width,
135
+ y: rectangle.y,
136
+ width: widthDifference,
137
+ height: nodeHeight,
138
+ });
139
+
140
+ return this._findNode(node.childNode1, { width, height });
141
+ }
142
+
143
+ // Horizontal split (childNode1 = bottom half, childNode2 = top half).
144
+ node.childNode1 = new TextureNode({
145
+ x: rectangle.x,
146
+ y: rectangle.y,
147
+ width: nodeWidth,
148
+ height,
149
+ });
150
+ node.childNode2 = new TextureNode({
151
+ x: rectangle.x,
152
+ y: rectangle.y + height,
153
+ width: nodeWidth,
154
+ height: heightDifference,
155
+ });
156
+ return this._findNode(node.childNode1, { width, height });
157
+ }
158
+
159
+ // If not a leaf node
160
+ return (
161
+ this._findNode(node.childNode1, { width, height }) ||
162
+ this._findNode(node.childNode2, { width, height })
163
+ );
164
+ };
165
+
166
+ export default TexturePacker;
@@ -1,4 +1,3 @@
1
- import defaultValue from "./defaultValue.js";
2
1
  import defined from "./defined.js";
3
2
  import formatError from "./formatError.js";
4
3
 
@@ -66,7 +65,7 @@ function TileProviderError(
66
65
  * @type {number}
67
66
  * @default 0
68
67
  */
69
- this.timesRetried = defaultValue(timesRetried, 0);
68
+ this.timesRetried = timesRetried ?? 0;
70
69
 
71
70
  /**
72
71
  * True if the failed operation should be retried; otherwise, false. The imagery or terrain provider
@@ -1,5 +1,5 @@
1
1
  import Check from "./Check.js";
2
- import defaultValue from "./defaultValue.js";
2
+ import Frozen from "./Frozen.js";
3
3
  import defined from "./defined.js";
4
4
  import DeveloperError from "./DeveloperError.js";
5
5
  import JulianDate from "./JulianDate.js";
@@ -58,7 +58,7 @@ import JulianDate from "./JulianDate.js";
58
58
  * const containsDate = Cesium.TimeInterval.contains(timeInterval, dateToCheck);
59
59
  */
60
60
  function TimeInterval(options) {
61
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
61
+ options = options ?? Frozen.EMPTY_OBJECT;
62
62
  /**
63
63
  * Gets or sets the start time of this interval.
64
64
  * @type {JulianDate}
@@ -86,14 +86,14 @@ function TimeInterval(options) {
86
86
  * @type {boolean}
87
87
  * @default true
88
88
  */
89
- this.isStartIncluded = defaultValue(options.isStartIncluded, true);
89
+ this.isStartIncluded = options.isStartIncluded ?? true;
90
90
 
91
91
  /**
92
92
  * Gets or sets whether or not the stop time is included in this interval.
93
93
  * @type {boolean}
94
94
  * @default true
95
95
  */
96
- this.isStopIncluded = defaultValue(options.isStopIncluded, true);
96
+ this.isStopIncluded = options.isStopIncluded ?? true;
97
97
  }
98
98
 
99
99
  Object.defineProperties(TimeInterval.prototype, {
@@ -150,8 +150,8 @@ TimeInterval.fromIso8601 = function (options, result) {
150
150
  }
151
151
  const start = JulianDate.fromIso8601(dates[0]);
152
152
  const stop = JulianDate.fromIso8601(dates[1]);
153
- const isStartIncluded = defaultValue(options.isStartIncluded, true);
154
- const isStopIncluded = defaultValue(options.isStopIncluded, true);
153
+ const isStartIncluded = options.isStartIncluded ?? true;
154
+ const isStopIncluded = options.isStopIncluded ?? true;
155
155
  const data = options.data;
156
156
 
157
157
  if (!defined(result)) {
@@ -247,7 +247,7 @@ TimeInterval.equals = function (left, right, dataComparer) {
247
247
  * @returns {boolean} <code>true</code> if the two dates are within <code>epsilon</code> seconds of each other; otherwise <code>false</code>.
248
248
  */
249
249
  TimeInterval.equalsEpsilon = function (left, right, epsilon, dataComparer) {
250
- epsilon = defaultValue(epsilon, 0);
250
+ epsilon = epsilon ?? 0;
251
251
 
252
252
  return (
253
253
  left === right ||
@@ -1,5 +1,5 @@
1
1
  import binarySearch from "./binarySearch.js";
2
- import defaultValue from "./defaultValue.js";
2
+ import Frozen from "./Frozen.js";
3
3
  import defined from "./defined.js";
4
4
  import DeveloperError from "./DeveloperError.js";
5
5
  import Event from "./Event.js";
@@ -277,7 +277,7 @@ TimeIntervalCollection.prototype.indexOf = function (date) {
277
277
  * @returns {TimeInterval|undefined} The first interval in the collection that matches the specified parameters.
278
278
  */
279
279
  TimeIntervalCollection.prototype.findInterval = function (options) {
280
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
280
+ options = options ?? Frozen.EMPTY_OBJECT;
281
281
  const start = options.start;
282
282
  const stop = options.stop;
283
283
  const isStartIncluded = options.isStartIncluded;
@@ -759,10 +759,10 @@ TimeIntervalCollection.fromJulianDateArray = function (options, result) {
759
759
  const length = julianDates.length;
760
760
  const dataCallback = options.dataCallback;
761
761
 
762
- const isStartIncluded = defaultValue(options.isStartIncluded, true);
763
- const isStopIncluded = defaultValue(options.isStopIncluded, true);
764
- const leadingInterval = defaultValue(options.leadingInterval, false);
765
- const trailingInterval = defaultValue(options.trailingInterval, false);
762
+ const isStartIncluded = options.isStartIncluded ?? true;
763
+ const isStopIncluded = options.isStopIncluded ?? true;
764
+ const leadingInterval = options.leadingInterval ?? false;
765
+ const trailingInterval = options.trailingInterval ?? false;
766
766
  let interval;
767
767
 
768
768
  // Add a default interval, which will only end up being used up to first interval
@@ -1104,7 +1104,7 @@ TimeIntervalCollection.fromIso8601DurationArray = function (options, result) {
1104
1104
 
1105
1105
  const epoch = options.epoch;
1106
1106
  const iso8601Durations = options.iso8601Durations;
1107
- const relativeToPrevious = defaultValue(options.relativeToPrevious, false);
1107
+ const relativeToPrevious = options.relativeToPrevious ?? false;
1108
1108
  const julianDates = [];
1109
1109
  let date, previousDate;
1110
1110
 
@@ -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
 
@@ -39,10 +39,10 @@ const Tipsify = {};
39
39
  * const acmr = Cesium.Tipsify.calculateACMR({indices : indices, maxIndex : maxIndex, cacheSize : cacheSize});
40
40
  */
41
41
  Tipsify.calculateACMR = function (options) {
42
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
42
+ options = options ?? Frozen.EMPTY_OBJECT;
43
43
  const indices = options.indices;
44
44
  let maximumIndex = options.maximumIndex;
45
- const cacheSize = defaultValue(options.cacheSize, 24);
45
+ const cacheSize = options.cacheSize ?? 24;
46
46
 
47
47
  //>>includeStart('debug', pragmas.debug);
48
48
  if (!defined(indices)) {
@@ -117,10 +117,10 @@ Tipsify.calculateACMR = function (options) {
117
117
  * const reorderedIndices = Cesium.Tipsify.tipsify({indices : indices, maxIndex : maxIndex, cacheSize : cacheSize});
118
118
  */
119
119
  Tipsify.tipsify = function (options) {
120
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
120
+ options = options ?? Frozen.EMPTY_OBJECT;
121
121
  const indices = options.indices;
122
122
  const maximumIndex = options.maximumIndex;
123
- const cacheSize = defaultValue(options.cacheSize, 24);
123
+ const cacheSize = options.cacheSize ?? 24;
124
124
 
125
125
  let cursor;
126
126
 
@@ -3,7 +3,6 @@ import Cartesian3 from "./Cartesian3.js";
3
3
  import Cartesian4 from "./Cartesian4.js";
4
4
  import Cartographic from "./Cartographic.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 EarthOrientationParameters from "./EarthOrientationParameters.js";
@@ -199,7 +198,7 @@ Transforms.localFrameToFixedFrameGenerator = function (firstAxis, secondAxis) {
199
198
  );
200
199
  }
201
200
  } else {
202
- ellipsoid = defaultValue(ellipsoid, Ellipsoid.default);
201
+ ellipsoid = ellipsoid ?? Ellipsoid.default;
203
202
  ellipsoid.geodeticSurfaceNormal(origin, scratchCalculateCartesian.up);
204
203
 
205
204
  const up = scratchCalculateCartesian.up;
@@ -393,10 +392,8 @@ Transforms.headingPitchRollToFixedFrame = function (
393
392
  Check.typeOf.object("HeadingPitchRoll", headingPitchRoll);
394
393
  //>>includeEnd('debug');
395
394
 
396
- fixedFrameTransform = defaultValue(
397
- fixedFrameTransform,
398
- Transforms.eastNorthUpToFixedFrame,
399
- );
395
+ fixedFrameTransform =
396
+ fixedFrameTransform ?? Transforms.eastNorthUpToFixedFrame;
400
397
  const hprQuaternion = Quaternion.fromHeadingPitchRoll(
401
398
  headingPitchRoll,
402
399
  scratchHPRQuaternion,
@@ -487,11 +484,9 @@ Transforms.fixedFrameToHeadingPitchRoll = function (
487
484
  Check.defined("transform", transform);
488
485
  //>>includeEnd('debug');
489
486
 
490
- ellipsoid = defaultValue(ellipsoid, Ellipsoid.default);
491
- fixedFrameTransform = defaultValue(
492
- fixedFrameTransform,
493
- Transforms.eastNorthUpToFixedFrame,
494
- );
487
+ ellipsoid = ellipsoid ?? Ellipsoid.default;
488
+ fixedFrameTransform =
489
+ fixedFrameTransform ?? Transforms.eastNorthUpToFixedFrame;
495
490
  if (!defined(result)) {
496
491
  result = new HeadingPitchRoll();
497
492
  }
@@ -1103,10 +1098,10 @@ Transforms.rotationMatrixFromPositionVelocity = function (
1103
1098
  }
1104
1099
  //>>includeEnd('debug');
1105
1100
 
1106
- const normal = defaultValue(
1107
- ellipsoid,
1108
- Ellipsoid.default,
1109
- ).geodeticSurfaceNormal(position, normalScratch);
1101
+ const normal = (ellipsoid ?? Ellipsoid.default).geodeticSurfaceNormal(
1102
+ position,
1103
+ normalScratch,
1104
+ );
1110
1105
  let right = Cartesian3.cross(velocity, normal, rightScratch);
1111
1106
 
1112
1107
  if (Cartesian3.equalsEpsilon(right, Cartesian3.ZERO, CesiumMath.EPSILON6)) {
@@ -1,5 +1,4 @@
1
1
  import Cartesian3 from "./Cartesian3.js";
2
- import defaultValue from "./defaultValue.js";
3
2
  import defined from "./defined.js";
4
3
  import Quaternion from "./Quaternion.js";
5
4
 
@@ -22,23 +21,21 @@ function TranslationRotationScale(translation, rotation, scale) {
22
21
  * @type {Cartesian3}
23
22
  * @default Cartesian3.ZERO
24
23
  */
25
- this.translation = Cartesian3.clone(
26
- defaultValue(translation, defaultTranslation),
27
- );
24
+ this.translation = Cartesian3.clone(translation ?? defaultTranslation);
28
25
 
29
26
  /**
30
27
  * Gets or sets the (x, y, z, w) rotation to apply to the node.
31
28
  * @type {Quaternion}
32
29
  * @default Quaternion.IDENTITY
33
30
  */
34
- this.rotation = Quaternion.clone(defaultValue(rotation, defaultRotation));
31
+ this.rotation = Quaternion.clone(rotation ?? defaultRotation);
35
32
 
36
33
  /**
37
34
  * Gets or sets the (x, y, z) scaling to apply to the node.
38
35
  * @type {Cartesian3}
39
36
  * @default new Cartesian3(1.0, 1.0, 1.0)
40
37
  */
41
- this.scale = Cartesian3.clone(defaultValue(scale, defaultScale));
38
+ this.scale = Cartesian3.clone(scale ?? defaultScale);
42
39
  }
43
40
 
44
41
  /**
@@ -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 Ellipsoid from "./Ellipsoid.js";
6
6
  import Event from "./Event.js";
@@ -37,7 +37,7 @@ function DataRectangle(rectangle, maxLevel) {
37
37
  * @param {VRTheWorldTerrainProvider.ConstructorOptions} options An object describing initialization options
38
38
  */
39
39
  function TerrainProviderBuilder(options) {
40
- this.ellipsoid = defaultValue(options.ellipsoid, Ellipsoid.default);
40
+ this.ellipsoid = options.ellipsoid ?? Ellipsoid.default;
41
41
  this.tilingScheme = undefined;
42
42
  this.heightmapWidth = undefined;
43
43
  this.heightmapHeight = undefined;
@@ -156,7 +156,7 @@ async function requestMetadata(terrainProviderBuilder, resource, provider) {
156
156
  * @see TerrainProvider
157
157
  */
158
158
  function VRTheWorldTerrainProvider(options) {
159
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
159
+ options = options ?? Frozen.EMPTY_OBJECT;
160
160
 
161
161
  this._errorEvent = new Event();
162
162
 
@@ -251,7 +251,7 @@ Object.defineProperties(VRTheWorldTerrainProvider.prototype, {
251
251
  * at points and in rectangles. This property may be undefined if availability
252
252
  * information is not available.
253
253
  * @memberof VRTheWorldTerrainProvider.prototype
254
- * @type {TileAvailability}
254
+ * @type {TileAvailability|undefined}
255
255
  * @readonly
256
256
  */
257
257
  availability: {
@@ -282,7 +282,7 @@ VRTheWorldTerrainProvider.fromUrl = async function (url, options) {
282
282
  Check.defined("url", url);
283
283
  //>>includeEnd('debug');
284
284
 
285
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
285
+ options = options ?? Frozen.EMPTY_OBJECT;
286
286
 
287
287
  const terrainProviderBuilder = new TerrainProviderBuilder(options);
288
288
  const resource = Resource.createIfNeeded(url);
@@ -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
 
@@ -23,7 +23,7 @@ import DeveloperError from "./DeveloperError.js";
23
23
  * @see Packable
24
24
  */
25
25
  function VertexFormat(options) {
26
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
26
+ options = options ?? Frozen.EMPTY_OBJECT;
27
27
 
28
28
  /**
29
29
  * When <code>true</code>, the vertex has a 3D position attribute.
@@ -35,7 +35,7 @@ function VertexFormat(options) {
35
35
  *
36
36
  * @default false
37
37
  */
38
- this.position = defaultValue(options.position, false);
38
+ this.position = options.position ?? false;
39
39
 
40
40
  /**
41
41
  * When <code>true</code>, the vertex has a normal attribute (normalized), which is commonly used for lighting.
@@ -47,7 +47,7 @@ function VertexFormat(options) {
47
47
  *
48
48
  * @default false
49
49
  */
50
- this.normal = defaultValue(options.normal, false);
50
+ this.normal = options.normal ?? false;
51
51
 
52
52
  /**
53
53
  * When <code>true</code>, the vertex has a 2D texture coordinate attribute.
@@ -59,7 +59,7 @@ function VertexFormat(options) {
59
59
  *
60
60
  * @default false
61
61
  */
62
- this.st = defaultValue(options.st, false);
62
+ this.st = options.st ?? false;
63
63
 
64
64
  /**
65
65
  * When <code>true</code>, the vertex has a bitangent attribute (normalized), which is used for tangent-space effects like bump mapping.
@@ -71,7 +71,7 @@ function VertexFormat(options) {
71
71
  *
72
72
  * @default false
73
73
  */
74
- this.bitangent = defaultValue(options.bitangent, false);
74
+ this.bitangent = options.bitangent ?? false;
75
75
 
76
76
  /**
77
77
  * When <code>true</code>, the vertex has a tangent attribute (normalized), which is used for tangent-space effects like bump mapping.
@@ -83,7 +83,7 @@ function VertexFormat(options) {
83
83
  *
84
84
  * @default false
85
85
  */
86
- this.tangent = defaultValue(options.tangent, false);
86
+ this.tangent = options.tangent ?? false;
87
87
 
88
88
  /**
89
89
  * When <code>true</code>, the vertex has an RGB color attribute.
@@ -95,7 +95,7 @@ function VertexFormat(options) {
95
95
  *
96
96
  * @default false
97
97
  */
98
- this.color = defaultValue(options.color, false);
98
+ this.color = options.color ?? false;
99
99
  }
100
100
 
101
101
  /**
@@ -243,7 +243,7 @@ VertexFormat.pack = function (value, array, startingIndex) {
243
243
  }
244
244
  //>>includeEnd('debug');
245
245
 
246
- startingIndex = defaultValue(startingIndex, 0);
246
+ startingIndex = startingIndex ?? 0;
247
247
 
248
248
  array[startingIndex++] = value.position ? 1.0 : 0.0;
249
249
  array[startingIndex++] = value.normal ? 1.0 : 0.0;
@@ -270,7 +270,7 @@ VertexFormat.unpack = function (array, startingIndex, result) {
270
270
  }
271
271
  //>>includeEnd('debug');
272
272
 
273
- startingIndex = defaultValue(startingIndex, 0);
273
+ startingIndex = startingIndex ?? 0;
274
274
 
275
275
  if (!defined(result)) {
276
276
  result = new VertexFormat();
@@ -23,7 +23,7 @@ VerticalExaggeration.getHeight = function (height, scale, relativeHeight) {
23
23
  if (!Number.isFinite(relativeHeight)) {
24
24
  throw new DeveloperError("relativeHeight must be a finite number.");
25
25
  }
26
- //>>includeEnd('debug')
26
+ //>>includeEnd('debug');
27
27
  return (height - relativeHeight) * scale + relativeHeight;
28
28
  };
29
29
 
@@ -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 destroyObject from "./destroyObject.js";
4
4
  import Iso8601 from "./Iso8601.js";
@@ -19,7 +19,7 @@ import JulianDate from "./JulianDate.js";
19
19
  * @demo {@link https://sandcastle.cesium.com/index.html?src=Video.html|Video Material Demo}
20
20
  */
21
21
  function VideoSynchronizer(options) {
22
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
22
+ options = options ?? Frozen.EMPTY_OBJECT;
23
23
 
24
24
  this._clock = undefined;
25
25
  this._element = undefined;
@@ -35,7 +35,7 @@ function VideoSynchronizer(options) {
35
35
  * @type {JulianDate}
36
36
  * @default Iso8601.MINIMUM_VALUE
37
37
  */
38
- this.epoch = defaultValue(options.epoch, Iso8601.MINIMUM_VALUE);
38
+ this.epoch = options.epoch ?? Iso8601.MINIMUM_VALUE;
39
39
 
40
40
  /**
41
41
  * Gets or sets the amount of time in seconds the video's currentTime
@@ -46,7 +46,7 @@ function VideoSynchronizer(options) {
46
46
  * @type {number}
47
47
  * @default 1.0
48
48
  */
49
- this.tolerance = defaultValue(options.tolerance, 1.0);
49
+ this.tolerance = options.tolerance ?? 1.0;
50
50
 
51
51
  this._seeking = false;
52
52
  this._seekFunction = undefined;
@@ -184,7 +184,7 @@ VideoSynchronizer.prototype._onTick = function (clock) {
184
184
  this._trySetPlaybackRate(clock);
185
185
 
186
186
  const clockTime = clock.currentTime;
187
- const epoch = defaultValue(this.epoch, Iso8601.MINIMUM_VALUE);
187
+ const epoch = this.epoch ?? Iso8601.MINIMUM_VALUE;
188
188
  let videoTime = JulianDate.secondsDifference(clockTime, epoch);
189
189
 
190
190
  const duration = element.duration;
@@ -206,7 +206,7 @@ VideoSynchronizer.prototype._onTick = function (clock) {
206
206
 
207
207
  //If the playing video's time and the scene's clock time
208
208
  //ever drift too far apart, we want to set the video to match
209
- const tolerance = shouldAnimate ? defaultValue(this.tolerance, 1.0) : 0.001;
209
+ const tolerance = shouldAnimate ? (this.tolerance ?? 1.0) : 0.001;
210
210
  if (Math.abs(desiredTime - currentTime) > tolerance) {
211
211
  this._seeking = true;
212
212
  element.currentTime = desiredTime;
@@ -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";
@@ -62,7 +62,7 @@ const scratchNormal = new Cartesian3();
62
62
  * const geometry = Cesium.WallGeometry.createGeometry(wall);
63
63
  */
64
64
  function WallGeometry(options) {
65
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
65
+ options = options ?? Frozen.EMPTY_OBJECT;
66
66
 
67
67
  const wallPositions = options.positions;
68
68
  const maximumHeights = options.maximumHeights;
@@ -90,12 +90,9 @@ function WallGeometry(options) {
90
90
  }
91
91
  //>>includeEnd('debug');
92
92
 
93
- const vertexFormat = defaultValue(options.vertexFormat, VertexFormat.DEFAULT);
94
- const granularity = defaultValue(
95
- options.granularity,
96
- CesiumMath.RADIANS_PER_DEGREE,
97
- );
98
- const ellipsoid = defaultValue(options.ellipsoid, Ellipsoid.default);
93
+ const vertexFormat = options.vertexFormat ?? VertexFormat.DEFAULT;
94
+ const granularity = options.granularity ?? CesiumMath.RADIANS_PER_DEGREE;
95
+ const ellipsoid = options.ellipsoid ?? Ellipsoid.default;
99
96
 
100
97
  this._positions = wallPositions;
101
98
  this._minimumHeights = minimumHeights;
@@ -140,7 +137,7 @@ WallGeometry.pack = function (value, array, startingIndex) {
140
137
  }
141
138
  //>>includeEnd('debug');
142
139
 
143
- startingIndex = defaultValue(startingIndex, 0);
140
+ startingIndex = startingIndex ?? 0;
144
141
 
145
142
  let i;
146
143
 
@@ -209,7 +206,7 @@ WallGeometry.unpack = function (array, startingIndex, result) {
209
206
  }
210
207
  //>>includeEnd('debug');
211
208
 
212
- startingIndex = defaultValue(startingIndex, 0);
209
+ startingIndex = startingIndex ?? 0;
213
210
 
214
211
  let i;
215
212
 
@@ -303,7 +300,7 @@ WallGeometry.unpack = function (array, startingIndex, result) {
303
300
  * @see WallGeometry#createGeometry
304
301
  */
305
302
  WallGeometry.fromConstantHeights = function (options) {
306
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
303
+ options = options ?? Frozen.EMPTY_OBJECT;
307
304
  const positions = options.positions;
308
305
 
309
306
  //>>includeStart('debug', pragmas.debug);