@cesium/engine 15.0.0 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (558) hide show
  1. package/Build/Workers/{chunk-XED3RXKO.js → chunk-236N6BJN.js} +4 -4
  2. package/Build/Workers/{chunk-TU6ZXHVU.js → chunk-2BJXFXD7.js} +46 -42
  3. package/Build/Workers/{chunk-3LHBH4TC.js → chunk-37PA7GZW.js} +7 -7
  4. package/Build/Workers/{chunk-FMZ5CX6V.js → chunk-4BGKMM7J.js} +1 -1
  5. package/Build/Workers/{chunk-L5SO4Y5V.js → chunk-4TIR5UPL.js} +1 -1
  6. package/Build/Workers/{chunk-NAGMYRDW.js → chunk-5PC577K7.js} +17 -20
  7. package/Build/Workers/{chunk-XDHM4G3P.js → chunk-5RPUEFSA.js} +129 -146
  8. package/Build/Workers/{chunk-ZVDLC3T4.js → chunk-5YEFZMMM.js} +25 -30
  9. package/Build/Workers/{chunk-VMVPONIV.js → chunk-77MDEA47.js} +5 -5
  10. package/Build/Workers/{chunk-QTEX3Y4V.js → chunk-7IIMO7ZZ.js} +33 -41
  11. package/Build/Workers/{chunk-Q5BHMNKU.js → chunk-7PHT4JHA.js} +27 -29
  12. package/Build/Workers/{chunk-25TOENEE.js → chunk-C5DCX2YQ.js} +9 -12
  13. package/Build/Workers/{chunk-B2Y4ZS6X.js → chunk-CAKU6ZPR.js} +9 -12
  14. package/Build/Workers/{chunk-RRN6LRDX.js → chunk-CBFJVM6I.js} +26 -28
  15. package/Build/Workers/{chunk-GGV2XJHE.js → chunk-CC2WKHIW.js} +13 -16
  16. package/Build/Workers/{chunk-K5G2WELR.js → chunk-CQMXZF4A.js} +12 -17
  17. package/Build/Workers/{chunk-67ONR44K.js → chunk-DRMXU674.js} +7 -10
  18. package/Build/Workers/{chunk-3LZF23RY.js → chunk-E7SMO47Q.js} +7 -10
  19. package/Build/Workers/{chunk-PUTA3AE2.js → chunk-G6JUXZUO.js} +4 -4
  20. package/Build/Workers/{chunk-CHX2K5AC.js → chunk-GO3RZX2R.js} +14 -17
  21. package/Build/Workers/{chunk-7ITUZTFH.js → chunk-HBNWBMAM.js} +1 -1
  22. package/Build/Workers/{chunk-3JZGPJMZ.js → chunk-HGEGZ67N.js} +6 -6
  23. package/Build/Workers/{chunk-GK4QU6QI.js → chunk-IFIS4CVK.js} +2 -2
  24. package/Build/Workers/{chunk-DYJHEP3B.js → chunk-IKDQX7DY.js} +6 -12
  25. package/Build/Workers/{chunk-FRAWHNSR.js → chunk-J2HTPGC7.js} +2 -2
  26. package/Build/Workers/{chunk-YNYCGTQH.js → chunk-K5JTWJPE.js} +5 -8
  27. package/Build/Workers/{chunk-6EDBC234.js → chunk-KE45DUDH.js} +18 -20
  28. package/Build/Workers/{chunk-TFCOEX3W.js → chunk-LPGOAMYH.js} +2 -2
  29. package/Build/Workers/{chunk-WPXU45PH.js → chunk-LVGYWPEX.js} +4 -4
  30. package/Build/Workers/{chunk-B2UQN3DH.js → chunk-MAIKDIBS.js} +6 -6
  31. package/Build/Workers/{chunk-MWJW37I7.js → chunk-MS5NWDHH.js} +2 -2
  32. package/Build/Workers/{chunk-2AVIUB5H.js → chunk-NZSBSY5K.js} +2 -2
  33. package/Build/Workers/{chunk-OYO6TKMU.js → chunk-OBHLT34A.js} +7 -7
  34. package/Build/Workers/{chunk-RO2Z3LCR.js → chunk-P2N5IDWU.js} +21 -23
  35. package/Build/Workers/{chunk-BD2TPFGC.js → chunk-P57PR3WM.js} +9 -11
  36. package/Build/Workers/{chunk-HYPB7FAV.js → chunk-PM4Q36WX.js} +15 -24
  37. package/Build/Workers/{chunk-CJGVEABL.js → chunk-PS3OKVOQ.js} +16 -19
  38. package/Build/Workers/{chunk-SLIA3GQP.js → chunk-QJTIOB2Z.js} +19 -22
  39. package/Build/Workers/{chunk-EZNAJPP5.js → chunk-QUFN3GEO.js} +18 -21
  40. package/Build/Workers/{chunk-ARVZCY6X.js → chunk-RX65FA7X.js} +7 -7
  41. package/Build/Workers/{chunk-E3H7AVMK.js → chunk-SQKTLDSD.js} +39 -41
  42. package/Build/Workers/{chunk-Z4SI54EB.js → chunk-SSLK4U3V.js} +14 -14
  43. package/Build/Workers/{chunk-IGINOLDX.js → chunk-UC7KH56Y.js} +6 -9
  44. package/Build/Workers/{chunk-VJ2PDF64.js → chunk-UFV3YUIN.js} +6 -9
  45. package/Build/Workers/{chunk-LCMJQVIF.js → chunk-UX5JWAC7.js} +17 -26
  46. package/Build/Workers/{chunk-ISQSYLZY.js → chunk-UZ6KXWCA.js} +4 -4
  47. package/Build/Workers/{chunk-JZAMRL5I.js → chunk-VXAKU6EV.js} +34 -36
  48. package/Build/Workers/{chunk-6EV4VOET.js → chunk-WP3IJYLC.js} +16 -19
  49. package/Build/Workers/{chunk-5S2B46UQ.js → chunk-XYGBWBD5.js} +1 -1
  50. package/Build/Workers/{chunk-F7ZI463G.js → chunk-YE6MDFDA.js} +21 -23
  51. package/Build/Workers/{chunk-I4HO2ED2.js → chunk-ZTBZMRQT.js} +9 -12
  52. package/Build/Workers/combineGeometry.js +21 -22
  53. package/Build/Workers/createBoxGeometry.js +15 -16
  54. package/Build/Workers/createBoxOutlineGeometry.js +20 -25
  55. package/Build/Workers/createCircleGeometry.js +26 -28
  56. package/Build/Workers/createCircleOutlineGeometry.js +19 -21
  57. package/Build/Workers/createCoplanarPolygonGeometry.js +38 -42
  58. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +34 -36
  59. package/Build/Workers/createCorridorGeometry.js +42 -49
  60. package/Build/Workers/createCorridorOutlineGeometry.js +36 -43
  61. package/Build/Workers/createCylinderGeometry.js +17 -18
  62. package/Build/Workers/createCylinderOutlineGeometry.js +23 -25
  63. package/Build/Workers/createEllipseGeometry.js +23 -24
  64. package/Build/Workers/createEllipseOutlineGeometry.js +16 -17
  65. package/Build/Workers/createEllipsoidGeometry.js +16 -17
  66. package/Build/Workers/createEllipsoidOutlineGeometry.js +15 -16
  67. package/Build/Workers/createFrustumGeometry.js +15 -16
  68. package/Build/Workers/createFrustumOutlineGeometry.js +18 -21
  69. package/Build/Workers/createGeometry.js +22 -25
  70. package/Build/Workers/createGroundPolylineGeometry.js +34 -42
  71. package/Build/Workers/createPlaneGeometry.js +19 -21
  72. package/Build/Workers/createPlaneOutlineGeometry.js +12 -13
  73. package/Build/Workers/createPolygonGeometry.js +45 -50
  74. package/Build/Workers/createPolygonOutlineGeometry.js +39 -44
  75. package/Build/Workers/createPolylineGeometry.js +33 -40
  76. package/Build/Workers/createPolylineVolumeGeometry.js +37 -44
  77. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +32 -39
  78. package/Build/Workers/createRectangleGeometry.js +41 -51
  79. package/Build/Workers/createRectangleOutlineGeometry.js +28 -33
  80. package/Build/Workers/createSimplePolylineGeometry.js +29 -34
  81. package/Build/Workers/createSphereGeometry.js +17 -20
  82. package/Build/Workers/createSphereOutlineGeometry.js +16 -19
  83. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  84. package/Build/Workers/createVectorTileClampedPolylines.js +12 -13
  85. package/Build/Workers/createVectorTileGeometries.js +21 -22
  86. package/Build/Workers/createVectorTilePoints.js +11 -12
  87. package/Build/Workers/createVectorTilePolygons.js +19 -20
  88. package/Build/Workers/createVectorTilePolylines.js +12 -13
  89. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +20 -23
  90. package/Build/Workers/createVerticesFromHeightmap.js +31 -58
  91. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +17 -18
  92. package/Build/Workers/createWallGeometry.js +30 -35
  93. package/Build/Workers/createWallOutlineGeometry.js +28 -33
  94. package/Build/Workers/decodeDraco.js +10 -11
  95. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  96. package/Build/Workers/decodeI3S.js +10 -16
  97. package/Build/Workers/transcodeKTX2.js +7 -10
  98. package/Build/Workers/transferTypedArrayTest.js +1 -1
  99. package/Build/Workers/upsampleQuantizedTerrainMesh.js +19 -20
  100. package/Source/Core/ApproximateTerrainHeights.js +2 -3
  101. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +6 -6
  102. package/Source/Core/AxisAlignedBoundingBox.js +2 -3
  103. package/Source/Core/BingMapsGeocoderService.js +2 -2
  104. package/Source/Core/BoundingRectangle.js +7 -8
  105. package/Source/Core/BoundingSphere.js +10 -11
  106. package/Source/Core/BoxGeometry.js +7 -7
  107. package/Source/Core/BoxOutlineGeometry.js +7 -9
  108. package/Source/Core/Cartesian2.js +4 -5
  109. package/Source/Core/Cartesian3.js +7 -8
  110. package/Source/Core/Cartesian4.js +6 -7
  111. package/Source/Core/Cartographic.js +5 -6
  112. package/Source/Core/CatmullRomSpline.js +2 -2
  113. package/Source/Core/CesiumTerrainProvider.js +11 -14
  114. package/Source/Core/Check.d.ts +4 -1
  115. package/Source/Core/CircleGeometry.js +2 -2
  116. package/Source/Core/CircleOutlineGeometry.js +2 -2
  117. package/Source/Core/Clock.js +7 -10
  118. package/Source/Core/Color.js +28 -28
  119. package/Source/Core/ColorGeometryInstanceAttribute.js +4 -5
  120. package/Source/Core/ComponentDatatype.js +4 -6
  121. package/Source/Core/CoplanarPolygonGeometry.js +8 -10
  122. package/Source/Core/CoplanarPolygonOutlineGeometry.js +5 -5
  123. package/Source/Core/CorridorGeometry.js +15 -20
  124. package/Source/Core/CorridorOutlineGeometry.js +10 -15
  125. package/Source/Core/Credit.js +1 -2
  126. package/Source/Core/CullingVolume.js +1 -2
  127. package/Source/Core/CustomHeightmapTerrainProvider.js +3 -3
  128. package/Source/Core/CylinderGeometry.js +7 -7
  129. package/Source/Core/CylinderOutlineGeometry.js +7 -7
  130. package/Source/Core/DistanceDisplayCondition.js +4 -5
  131. package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +2 -3
  132. package/Source/Core/EarthOrientationParameters.js +4 -4
  133. package/Source/Core/EllipseGeometry.js +17 -23
  134. package/Source/Core/EllipseOutlineGeometry.js +12 -15
  135. package/Source/Core/Ellipsoid.js +7 -8
  136. package/Source/Core/EllipsoidGeodesic.js +1 -2
  137. package/Source/Core/EllipsoidGeometry.js +15 -15
  138. package/Source/Core/EllipsoidOutlineGeometry.js +15 -15
  139. package/Source/Core/EllipsoidRhumbLine.js +2 -3
  140. package/Source/Core/EllipsoidTangentPlane.js +1 -2
  141. package/Source/Core/EllipsoidTerrainProvider.js +4 -4
  142. package/Source/Core/EllipsoidalOccluder.js +2 -3
  143. package/Source/Core/FeatureDetection.js +1 -2
  144. package/Source/Core/Frozen.js +24 -0
  145. package/Source/Core/FrustumGeometry.js +7 -8
  146. package/Source/Core/FrustumOutlineGeometry.js +3 -4
  147. package/Source/Core/GeographicProjection.js +1 -2
  148. package/Source/Core/GeographicTilingScheme.js +6 -12
  149. package/Source/Core/Geometry.js +4 -7
  150. package/Source/Core/GeometryAttribute.js +3 -3
  151. package/Source/Core/GeometryAttributes.js +2 -2
  152. package/Source/Core/GeometryInstance.js +4 -6
  153. package/Source/Core/GeometryInstanceAttribute.js +3 -3
  154. package/Source/Core/GeometryPipeline.js +3 -4
  155. package/Source/Core/GoogleEarthEnterpriseMetadata.js +13 -24
  156. package/Source/Core/GoogleEarthEnterpriseTerrainData.js +9 -12
  157. package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +3 -3
  158. package/Source/Core/GoogleGeocoderService.js +2 -2
  159. package/Source/Core/GregorianDate.js +8 -9
  160. package/Source/Core/GroundPolylineGeometry.js +8 -8
  161. package/Source/Core/HeadingPitchRange.js +3 -4
  162. package/Source/Core/HeadingPitchRoll.js +3 -4
  163. package/Source/Core/Heap.js +3 -4
  164. package/Source/Core/HeightmapTerrainData.js +22 -38
  165. package/Source/Core/HeightmapTessellator.js +21 -37
  166. package/Source/Core/HermitePolynomialApproximation.js +1 -2
  167. package/Source/Core/HermiteSpline.js +5 -5
  168. package/Source/Core/ITwinPlatform.js +72 -15
  169. package/Source/Core/Iau2006XysData.js +8 -10
  170. package/Source/Core/IntersectionTests.js +1 -2
  171. package/Source/Core/Interval.js +2 -4
  172. package/Source/Core/Ion.js +1 -1
  173. package/Source/Core/IonGeocoderService.js +6 -10
  174. package/Source/Core/IonResource.js +6 -6
  175. package/Source/Core/JulianDate.js +11 -12
  176. package/Source/Core/LinearSpline.js +2 -2
  177. package/Source/Core/ManagedArray.js +2 -3
  178. package/Source/Core/Math.js +36 -27
  179. package/Source/Core/Matrix2.js +7 -8
  180. package/Source/Core/Matrix3.js +12 -13
  181. package/Source/Core/Matrix4.js +28 -28
  182. package/Source/Core/MorphWeightSpline.js +2 -2
  183. package/Source/Core/NearFarScalar.js +6 -7
  184. package/Source/Core/Occluder.js +1 -2
  185. package/Source/Core/OffsetGeometryInstanceAttribute.js +3 -4
  186. package/Source/Core/OpenCageGeocoderService.js +1 -2
  187. package/Source/Core/OrientedBoundingBox.js +7 -8
  188. package/Source/Core/OrthographicFrustum.js +6 -6
  189. package/Source/Core/OrthographicOffCenterFrustum.js +4 -4
  190. package/Source/Core/PerspectiveFrustum.js +8 -8
  191. package/Source/Core/PerspectiveOffCenterFrustum.js +4 -4
  192. package/Source/Core/PlaneGeometry.js +5 -5
  193. package/Source/Core/PolygonGeometry.js +17 -19
  194. package/Source/Core/PolygonGeometryLibrary.js +1 -2
  195. package/Source/Core/PolygonOutlineGeometry.js +11 -14
  196. package/Source/Core/PolygonPipeline.js +5 -6
  197. package/Source/Core/PolylineGeometry.js +10 -15
  198. package/Source/Core/PolylinePipeline.js +7 -14
  199. package/Source/Core/PolylineVolumeGeometry.js +8 -13
  200. package/Source/Core/PolylineVolumeOutlineGeometry.js +7 -12
  201. package/Source/Core/QuantizedMeshTerrainData.js +12 -16
  202. package/Source/Core/Quaternion.js +7 -8
  203. package/Source/Core/QuaternionSpline.js +2 -2
  204. package/Source/Core/Ray.js +2 -3
  205. package/Source/Core/Rectangle.js +18 -19
  206. package/Source/Core/RectangleGeometry.js +17 -25
  207. package/Source/Core/RectangleGeometryLibrary.js +1 -1
  208. package/Source/Core/RectangleOutlineGeometry.js +11 -14
  209. package/Source/Core/Request.js +6 -6
  210. package/Source/Core/RequestScheduler.js +4 -6
  211. package/Source/Core/Resource.js +13 -16
  212. package/Source/Core/S2Cell.js +2 -3
  213. package/Source/Core/ScreenSpaceEventHandler.js +1 -2
  214. package/Source/Core/ShowGeometryInstanceAttribute.js +1 -2
  215. package/Source/Core/Simon1994PlanetaryPositions.js +9 -9
  216. package/Source/Core/SimplePolylineGeometry.js +8 -11
  217. package/Source/Core/SphereGeometry.js +1 -2
  218. package/Source/Core/SphereOutlineGeometry.js +1 -2
  219. package/Source/Core/Spherical.js +4 -5
  220. package/Source/Core/Spline.js +1 -2
  221. package/Source/Core/SteppedSpline.js +2 -2
  222. package/Source/Core/TaskProcessor.js +2 -9
  223. package/Source/Core/TerrainData.js +1 -1
  224. package/Source/Core/TerrainEncoding.js +4 -11
  225. package/Source/Core/TerrainMesh.js +1 -3
  226. package/Source/Core/TerrainProvider.js +1 -1
  227. package/Source/Core/TileProviderError.js +1 -2
  228. package/Source/Core/TimeInterval.js +7 -7
  229. package/Source/Core/TimeIntervalCollection.js +7 -7
  230. package/Source/Core/Tipsify.js +5 -5
  231. package/Source/Core/Transforms.js +10 -15
  232. package/Source/Core/TranslationRotationScale.js +3 -6
  233. package/Source/Core/VRTheWorldTerrainProvider.js +5 -5
  234. package/Source/Core/VertexFormat.js +10 -10
  235. package/Source/Core/VerticalExaggeration.js +1 -1
  236. package/Source/Core/VideoSynchronizer.js +6 -6
  237. package/Source/Core/WallGeometry.js +8 -11
  238. package/Source/Core/WallOutlineGeometry.js +7 -10
  239. package/Source/Core/WebMercatorProjection.js +1 -2
  240. package/Source/Core/WebMercatorTilingScheme.js +5 -11
  241. package/Source/Core/arrayRemoveDuplicates.js +1 -2
  242. package/Source/Core/clone.js +1 -3
  243. package/Source/Core/combine.js +1 -2
  244. package/Source/Core/createWorldBathymetryAsync.js +3 -3
  245. package/Source/Core/createWorldTerrainAsync.js +4 -4
  246. package/Source/Core/defaultValue.js +20 -1
  247. package/Source/Core/destroyObject.js +1 -5
  248. package/Source/Core/getAbsoluteUri.js +1 -2
  249. package/Source/Core/getMagic.js +1 -2
  250. package/Source/Core/getStringFromTypedArray.js +2 -3
  251. package/Source/Core/loadImageFromTypedArray.js +2 -6
  252. package/Source/Core/oneTimeWarning.js +1 -2
  253. package/Source/Core/writeTextToCanvas.js +10 -13
  254. package/Source/DataSources/BillboardGraphics.js +27 -53
  255. package/Source/DataSources/BoxGraphics.js +13 -18
  256. package/Source/DataSources/CallbackPositionProperty.js +1 -2
  257. package/Source/DataSources/Cesium3DTilesetGraphics.js +6 -8
  258. package/Source/DataSources/CheckerboardMaterialProperty.js +2 -2
  259. package/Source/DataSources/CompositePositionProperty.js +1 -2
  260. package/Source/DataSources/ConstantPositionProperty.js +1 -2
  261. package/Source/DataSources/CorridorGraphics.js +23 -35
  262. package/Source/DataSources/CylinderGraphics.js +18 -25
  263. package/Source/DataSources/CzmlDataSource.js +34 -60
  264. package/Source/DataSources/DataSourceClock.js +12 -13
  265. package/Source/DataSources/DataSourceCollection.js +2 -3
  266. package/Source/DataSources/DataSourceDisplay.js +2 -5
  267. package/Source/DataSources/EllipseGraphics.js +26 -40
  268. package/Source/DataSources/EllipsoidGeometryUpdater.js +1 -2
  269. package/Source/DataSources/EllipsoidGraphics.js +21 -32
  270. package/Source/DataSources/Entity.js +7 -9
  271. package/Source/DataSources/EntityCluster.js +9 -9
  272. package/Source/DataSources/EntityView.js +1 -2
  273. package/Source/DataSources/GeoJsonDataSource.js +12 -12
  274. package/Source/DataSources/GeometryUpdater.js +12 -17
  275. package/Source/DataSources/GeometryVisualizer.js +2 -3
  276. package/Source/DataSources/GpxDataSource.js +4 -7
  277. package/Source/DataSources/GridMaterialProperty.js +2 -2
  278. package/Source/DataSources/GroundGeometryUpdater.js +1 -2
  279. package/Source/DataSources/ImageMaterialProperty.js +2 -2
  280. package/Source/DataSources/KmlDataSource.js +84 -158
  281. package/Source/DataSources/LabelGraphics.js +27 -56
  282. package/Source/DataSources/LabelVisualizer.js +1 -2
  283. package/Source/DataSources/ModelGraphics.js +29 -63
  284. package/Source/DataSources/ModelVisualizer.js +1 -2
  285. package/Source/DataSources/NodeTransformationProperty.js +2 -2
  286. package/Source/DataSources/PathGraphics.js +10 -12
  287. package/Source/DataSources/PlaneGraphics.js +13 -15
  288. package/Source/DataSources/PointGraphics.js +17 -32
  289. package/Source/DataSources/PolygonGraphics.js +28 -45
  290. package/Source/DataSources/PolylineDashMaterialProperty.js +2 -2
  291. package/Source/DataSources/PolylineGeometryUpdater.js +9 -14
  292. package/Source/DataSources/PolylineGlowMaterialProperty.js +2 -2
  293. package/Source/DataSources/PolylineGraphics.js +16 -23
  294. package/Source/DataSources/PolylineOutlineMaterialProperty.js +2 -2
  295. package/Source/DataSources/PolylineVisualizer.js +2 -3
  296. package/Source/DataSources/PolylineVolumeGraphics.js +15 -17
  297. package/Source/DataSources/PositionPropertyArray.js +1 -2
  298. package/Source/DataSources/Property.js +1 -2
  299. package/Source/DataSources/PropertyBag.js +1 -2
  300. package/Source/DataSources/RectangleGraphics.js +23 -35
  301. package/Source/DataSources/Rotation.js +4 -5
  302. package/Source/DataSources/SampledPositionProperty.js +2 -3
  303. package/Source/DataSources/SampledProperty.js +6 -11
  304. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +1 -2
  305. package/Source/DataSources/StripeMaterialProperty.js +2 -2
  306. package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +1 -2
  307. package/Source/DataSources/VelocityOrientationProperty.js +1 -2
  308. package/Source/DataSources/VelocityVectorProperty.js +1 -2
  309. package/Source/DataSources/WallGraphics.js +15 -23
  310. package/Source/DataSources/createPropertyDescriptor.js +2 -3
  311. package/Source/DataSources/exportKml.js +11 -14
  312. package/Source/Renderer/Buffer.js +5 -5
  313. package/Source/Renderer/ClearCommand.js +2 -2
  314. package/Source/Renderer/ComputeCommand.js +3 -3
  315. package/Source/Renderer/Context.js +22 -33
  316. package/Source/Renderer/CubeMap.js +6 -6
  317. package/Source/Renderer/CubeMapFace.js +11 -12
  318. package/Source/Renderer/DrawCommand.js +14 -25
  319. package/Source/Renderer/Framebuffer.js +3 -3
  320. package/Source/Renderer/FramebufferManager.js +25 -39
  321. package/Source/Renderer/MultisampleFramebuffer.js +2 -2
  322. package/Source/Renderer/RenderState.js +63 -92
  323. package/Source/Renderer/Renderbuffer.js +4 -4
  324. package/Source/Renderer/Sampler.js +2 -2
  325. package/Source/Renderer/ShaderBuilder.js +2 -3
  326. package/Source/Renderer/ShaderProgram.js +3 -3
  327. package/Source/Renderer/ShaderSource.js +3 -3
  328. package/Source/Renderer/Texture.js +10 -10
  329. package/Source/Renderer/TextureAtlas.js +4 -4
  330. package/Source/Renderer/UniformState.js +6 -11
  331. package/Source/Renderer/VertexArray.js +14 -23
  332. package/Source/Renderer/VertexArrayFacade.js +7 -11
  333. package/Source/Scene/Appearance.js +4 -4
  334. package/Source/Scene/ArcGisMapServerImageryProvider.js +23 -37
  335. package/Source/Scene/ArcGisMapService.js +1 -1
  336. package/Source/Scene/B3dmParser.js +2 -3
  337. package/Source/Scene/BatchTableHierarchy.js +6 -13
  338. package/Source/Scene/Billboard.js +22 -44
  339. package/Source/Scene/BillboardCollection.js +8 -22
  340. package/Source/Scene/BingMapsImageryProvider.js +6 -6
  341. package/Source/Scene/BoxEmitter.js +1 -2
  342. package/Source/Scene/BufferLoader.js +2 -2
  343. package/Source/Scene/Camera.js +43 -62
  344. package/Source/Scene/CameraFlightPath.js +6 -6
  345. package/Source/Scene/Cesium3DContentGroup.js +2 -2
  346. package/Source/Scene/Cesium3DTile.js +3 -4
  347. package/Source/Scene/Cesium3DTileBatchTable.js +6 -49
  348. package/Source/Scene/Cesium3DTileFeatureTable.js +2 -3
  349. package/Source/Scene/Cesium3DTilePointFeature.js +10 -18
  350. package/Source/Scene/Cesium3DTileStyle.js +4 -7
  351. package/Source/Scene/Cesium3DTilesVoxelProvider.js +57 -34
  352. package/Source/Scene/Cesium3DTileset.js +77 -143
  353. package/Source/Scene/Cesium3DTilesetMetadata.js +3 -3
  354. package/Source/Scene/CircleEmitter.js +2 -3
  355. package/Source/Scene/ClassificationPrimitive.js +15 -26
  356. package/Source/Scene/ClippingPlaneCollection.js +7 -12
  357. package/Source/Scene/ClippingPolygon.js +1 -2
  358. package/Source/Scene/ClippingPolygonCollection.js +4 -4
  359. package/Source/Scene/CloudCollection.js +9 -11
  360. package/Source/Scene/Composite3DTileContent.js +1 -2
  361. package/Source/Scene/ConeEmitter.js +1 -2
  362. package/Source/Scene/ContentMetadata.js +2 -2
  363. package/Source/Scene/CreditDisplay.js +5 -9
  364. package/Source/Scene/CumulusCloud.js +9 -15
  365. package/Source/Scene/DebugAppearance.js +7 -7
  366. package/Source/Scene/DebugCameraPrimitive.js +5 -5
  367. package/Source/Scene/DebugModelMatrixPrimitive.js +6 -8
  368. package/Source/Scene/DepthPlane.js +1 -2
  369. package/Source/Scene/DirectionalLight.js +2 -3
  370. package/Source/Scene/DiscardMissingTileImagePolicy.js +2 -2
  371. package/Source/Scene/DynamicEnvironmentMapManager.js +15 -24
  372. package/Source/Scene/EllipsoidPrimitive.js +11 -19
  373. package/Source/Scene/EllipsoidSurfaceAppearance.js +11 -15
  374. package/Source/Scene/FrameRateMonitor.js +12 -21
  375. package/Source/Scene/FrustumCommands.js +2 -3
  376. package/Source/Scene/Geometry3DTileContent.js +9 -16
  377. package/Source/Scene/Globe.js +3 -4
  378. package/Source/Scene/GlobeSurfaceTileProvider.js +9 -18
  379. package/Source/Scene/GlobeTranslucencyState.js +12 -25
  380. package/Source/Scene/GltfBufferViewLoader.js +4 -4
  381. package/Source/Scene/GltfDracoLoader.js +2 -2
  382. package/Source/Scene/GltfImageLoader.js +2 -2
  383. package/Source/Scene/GltfIndexBufferLoader.js +5 -5
  384. package/Source/Scene/GltfJsonLoader.js +2 -2
  385. package/Source/Scene/GltfLoader.js +17 -30
  386. package/Source/Scene/GltfLoaderUtil.js +11 -11
  387. package/Source/Scene/GltfPipeline/addDefaults.js +37 -64
  388. package/Source/Scene/GltfPipeline/addToArray.js +1 -3
  389. package/Source/Scene/GltfPipeline/moveTechniqueRenderStates.js +2 -5
  390. package/Source/Scene/GltfPipeline/parseGlb.js +1 -5
  391. package/Source/Scene/GltfPipeline/removeUnusedElements.js +1 -2
  392. package/Source/Scene/GltfPipeline/updateVersion.js +28 -49
  393. package/Source/Scene/GltfStructuralMetadataLoader.js +5 -6
  394. package/Source/Scene/GltfTextureLoader.js +3 -3
  395. package/Source/Scene/GltfVertexBufferLoader.js +5 -5
  396. package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +2 -2
  397. package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +3 -4
  398. package/Source/Scene/GridImageryProvider.js +10 -13
  399. package/Source/Scene/GroundPolylinePrimitive.js +11 -22
  400. package/Source/Scene/GroundPrimitive.js +13 -24
  401. package/Source/Scene/GroupMetadata.js +2 -2
  402. package/Source/Scene/I3SDataProvider.js +10 -15
  403. package/Source/Scene/I3SNode.js +1 -6
  404. package/Source/Scene/I3SSublayer.js +1 -2
  405. package/Source/Scene/I3SSymbology.js +2 -3
  406. package/Source/Scene/I3dmParser.js +1 -2
  407. package/Source/Scene/ITwinData.js +11 -6
  408. package/Source/Scene/ImageBasedLighting.js +2 -2
  409. package/Source/Scene/ImageryLayer.js +44 -73
  410. package/Source/Scene/ImageryLayerCollection.js +2 -3
  411. package/Source/Scene/Implicit3DTileContent.js +3 -4
  412. package/Source/Scene/ImplicitAvailabilityBitstream.js +2 -5
  413. package/Source/Scene/ImplicitMetadataView.js +2 -2
  414. package/Source/Scene/ImplicitSubtree.js +8 -15
  415. package/Source/Scene/ImplicitSubtreeCache.js +3 -3
  416. package/Source/Scene/ImplicitSubtreeMetadata.js +2 -2
  417. package/Source/Scene/InstanceAttributeSemantic.js +1 -1
  418. package/Source/Scene/IonImageryProvider.js +3 -3
  419. package/Source/Scene/Label.js +19 -36
  420. package/Source/Scene/LabelCollection.js +6 -14
  421. package/Source/Scene/MapboxImageryProvider.js +4 -4
  422. package/Source/Scene/MapboxStyleImageryProvider.js +5 -5
  423. package/Source/Scene/Material.js +14 -20
  424. package/Source/Scene/MaterialAppearance.js +12 -18
  425. package/Source/Scene/Megatexture.js +1 -2
  426. package/Source/Scene/MetadataClass.js +4 -4
  427. package/Source/Scene/MetadataClassProperty.js +11 -14
  428. package/Source/Scene/MetadataEnum.js +4 -7
  429. package/Source/Scene/MetadataEnumValue.js +2 -2
  430. package/Source/Scene/MetadataSchema.js +4 -4
  431. package/Source/Scene/MetadataSchemaLoader.js +2 -2
  432. package/Source/Scene/MetadataTable.js +2 -2
  433. package/Source/Scene/MetadataTableProperty.js +17 -31
  434. package/Source/Scene/Model/AlphaPipelineStage.js +1 -2
  435. package/Source/Scene/Model/B3dmLoader.js +15 -26
  436. package/Source/Scene/Model/BatchTexturePipelineStage.js +1 -2
  437. package/Source/Scene/Model/ClassificationModelDrawCommand.js +2 -2
  438. package/Source/Scene/Model/CustomShader.js +10 -12
  439. package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +3 -3
  440. package/Source/Scene/Model/FeatureIdPipelineStage.js +1 -5
  441. package/Source/Scene/Model/GeoJsonLoader.js +5 -8
  442. package/Source/Scene/Model/I3dmLoader.js +13 -21
  443. package/Source/Scene/Model/MaterialPipelineStage.js +1 -2
  444. package/Source/Scene/Model/Model.js +40 -62
  445. package/Source/Scene/Model/ModelAnimation.js +5 -6
  446. package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
  447. package/Source/Scene/Model/ModelAnimationCollection.js +4 -4
  448. package/Source/Scene/Model/ModelArticulation.js +2 -2
  449. package/Source/Scene/Model/ModelArticulationStage.js +2 -2
  450. package/Source/Scene/Model/ModelDrawCommand.js +3 -3
  451. package/Source/Scene/Model/ModelFeatureTable.js +3 -9
  452. package/Source/Scene/Model/ModelLightingOptions.js +3 -3
  453. package/Source/Scene/Model/ModelNode.js +1 -1
  454. package/Source/Scene/Model/ModelRuntimeNode.js +2 -2
  455. package/Source/Scene/Model/ModelRuntimePrimitive.js +2 -2
  456. package/Source/Scene/Model/ModelSceneGraph.js +2 -2
  457. package/Source/Scene/Model/ModelSkin.js +2 -2
  458. package/Source/Scene/Model/PickingPipelineStage.js +1 -2
  459. package/Source/Scene/Model/PntsLoader.js +6 -6
  460. package/Source/Scene/Model/PointCloudStylingPipelineStage.js +1 -5
  461. package/Source/Scene/Model/PrimitiveOutlineGenerator.js +2 -2
  462. package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +2 -3
  463. package/Source/Scene/Model/TextureUniform.js +5 -8
  464. package/Source/Scene/Model/VaryingType.js +2 -2
  465. package/Source/Scene/Model/pickModel.js +4 -5
  466. package/Source/Scene/Moon.js +5 -5
  467. package/Source/Scene/OpenStreetMapImageryProvider.js +7 -7
  468. package/Source/Scene/OrderedGroundPrimitiveCollection.js +1 -2
  469. package/Source/Scene/Particle.js +11 -17
  470. package/Source/Scene/ParticleBurst.js +5 -5
  471. package/Source/Scene/ParticleSystem.js +24 -54
  472. package/Source/Scene/PerInstanceColorAppearance.js +8 -8
  473. package/Source/Scene/PerformanceDisplay.js +3 -3
  474. package/Source/Scene/PickFramebuffer.js +4 -5
  475. package/Source/Scene/Picking.js +3 -4
  476. package/Source/Scene/PntsParser.js +1 -2
  477. package/Source/Scene/PointCloud.js +6 -12
  478. package/Source/Scene/PointCloudShading.js +9 -18
  479. package/Source/Scene/PointPrimitive.js +11 -21
  480. package/Source/Scene/PointPrimitiveCollection.js +6 -14
  481. package/Source/Scene/Polyline.js +5 -5
  482. package/Source/Scene/PolylineCollection.js +5 -10
  483. package/Source/Scene/PolylineColorAppearance.js +7 -11
  484. package/Source/Scene/PolylineMaterialAppearance.js +7 -11
  485. package/Source/Scene/PostProcessStage.js +2 -2
  486. package/Source/Scene/PostProcessStageComposite.js +3 -6
  487. package/Source/Scene/Primitive.js +21 -42
  488. package/Source/Scene/PrimitiveCollection.js +4 -4
  489. package/Source/Scene/PrimitivePipeline.js +1 -2
  490. package/Source/Scene/PropertyAttribute.js +2 -2
  491. package/Source/Scene/PropertyAttributeProperty.js +4 -4
  492. package/Source/Scene/PropertyTable.js +2 -2
  493. package/Source/Scene/PropertyTexture.js +2 -2
  494. package/Source/Scene/PropertyTextureProperty.js +4 -4
  495. package/Source/Scene/QuadtreePrimitive.js +89 -67
  496. package/Source/Scene/QuadtreeTile.js +170 -0
  497. package/Source/Scene/ResourceCache.js +11 -11
  498. package/Source/Scene/ResourceCacheKey.js +11 -11
  499. package/Source/Scene/Scene.js +27 -25
  500. package/Source/Scene/ScreenSpaceCameraController.js +10 -12
  501. package/Source/Scene/ShadowMap.js +15 -15
  502. package/Source/Scene/ShadowVolumeAppearance.js +1 -2
  503. package/Source/Scene/SingleTileImageryProvider.js +4 -4
  504. package/Source/Scene/SkyAtmosphere.js +1 -2
  505. package/Source/Scene/SkyBox.js +1 -2
  506. package/Source/Scene/SphereEmitter.js +2 -3
  507. package/Source/Scene/StructuralMetadata.js +2 -2
  508. package/Source/Scene/SunLight.js +4 -4
  509. package/Source/Scene/SupportedImageFormats.js +4 -4
  510. package/Source/Scene/TileBoundingRegion.js +4 -5
  511. package/Source/Scene/TileBoundingS2Cell.js +3 -4
  512. package/Source/Scene/TileCoordinatesImageryProvider.js +5 -5
  513. package/Source/Scene/TileMapServiceImageryProvider.js +18 -27
  514. package/Source/Scene/TileMetadata.js +2 -2
  515. package/Source/Scene/TilesetMetadata.js +2 -2
  516. package/Source/Scene/TimeDynamicImagery.js +2 -2
  517. package/Source/Scene/TimeDynamicPointCloud.js +8 -10
  518. package/Source/Scene/TweenCollection.js +13 -16
  519. package/Source/Scene/UrlTemplateImageryProvider.js +11 -15
  520. package/Source/Scene/Vector3DTileClampedPolylines.js +1 -2
  521. package/Source/Scene/Vector3DTileContent.js +16 -20
  522. package/Source/Scene/Vector3DTileGeometry.js +1 -2
  523. package/Source/Scene/Vector3DTilePolygons.js +2 -3
  524. package/Source/Scene/Vector3DTilePolylines.js +1 -2
  525. package/Source/Scene/Vector3DTilePrimitive.js +9 -13
  526. package/Source/Scene/VoxelBoxShape.js +38 -82
  527. package/Source/Scene/VoxelCylinderShape.js +130 -271
  528. package/Source/Scene/VoxelEllipsoidShape.js +2 -3
  529. package/Source/Scene/VoxelMetadataOrder.js +14 -2
  530. package/Source/Scene/VoxelPrimitive.js +17 -30
  531. package/Source/Scene/VoxelProvider.js +0 -12
  532. package/Source/Scene/VoxelRenderResources.js +17 -21
  533. package/Source/Scene/VoxelTraversal.js +2 -6
  534. package/Source/Scene/WebMapServiceImageryProvider.js +17 -24
  535. package/Source/Scene/WebMapTileServiceImageryProvider.js +7 -10
  536. package/Source/Scene/createElevationBandMaterial.js +4 -4
  537. package/Source/Scene/createGooglePhotorealistic3DTileset.js +8 -16
  538. package/Source/Scene/createOsmBuildingsAsync.js +3 -6
  539. package/Source/Scene/createTangentSpaceDebugPrimitive.js +4 -6
  540. package/Source/Scene/createWorldImageryAsync.js +3 -3
  541. package/Source/Scene/findContentMetadata.js +2 -5
  542. package/Source/Scene/findTileMetadata.js +2 -5
  543. package/Source/Scene/parseBatchTable.js +1 -5
  544. package/Source/Scene/parseFeatureMetadataLegacy.js +2 -2
  545. package/Source/Scene/parseStructuralMetadata.js +2 -2
  546. package/Source/Shaders/PolylineCommon.glsl +1 -1
  547. package/Source/Shaders/PolylineCommon.js +1 -1
  548. package/Source/Shaders/Voxels/Octree.glsl +1 -1
  549. package/Source/Shaders/Voxels/Octree.js +1 -1
  550. package/Source/Widget/CesiumWidget.js +17 -25
  551. package/Source/Workers/createGeometry.js +1 -2
  552. package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -2
  553. package/Source/Workers/decodeI3S.js +1 -5
  554. package/Source/Workers/transcodeKTX2.js +1 -2
  555. package/index.d.ts +83 -37
  556. package/index.js +179 -178
  557. package/package.json +2 -2
  558. package/Build/Workers/chunk-QZKN2RXM.js +0 -39
@@ -1,13 +1,12 @@
1
- import defaultValue from "../Core/defaultValue.js";
2
1
  import BoundingSphere from "../Core/BoundingSphere.js";
3
2
  import Cartesian2 from "../Core/Cartesian2.js";
4
3
  import Cartesian3 from "../Core/Cartesian3.js";
5
- import Check from "../Core/Check.js";
4
+ import Cartesian4 from "../Core/Cartesian4.js";
6
5
  import CesiumMath from "../Core/Math.js";
6
+ import Check from "../Core/Check.js";
7
7
  import Matrix3 from "../Core/Matrix3.js";
8
8
  import Matrix4 from "../Core/Matrix4.js";
9
9
  import OrientedBoundingBox from "../Core/OrientedBoundingBox.js";
10
- import Cartesian4 from "../Core/Cartesian4.js";
11
10
 
12
11
  /**
13
12
  * A cylinder {@link VoxelShape}.
@@ -60,40 +59,18 @@ function VoxelCylinderShape() {
60
59
  this.shapeTransform = new Matrix4();
61
60
 
62
61
  /**
63
- * @type {number}
64
- * @private
65
- */
66
- this._minimumRadius = VoxelCylinderShape.DefaultMinBounds.x;
67
-
68
- /**
69
- * @type {number}
62
+ * The minimum bounds of the shape, corresponding to minimum radius, angle, and height.
63
+ * @type {Cartesian3}
70
64
  * @private
71
65
  */
72
- this._maximumRadius = VoxelCylinderShape.DefaultMaxBounds.x;
66
+ this._minBounds = VoxelCylinderShape.DefaultMinBounds.clone();
73
67
 
74
68
  /**
75
- * @type {number}
69
+ * The maximum bounds of the shape, corresponding to maximum radius, angle, and height.
70
+ * @type {Cartesian3}
76
71
  * @private
77
72
  */
78
- this._minimumAngle = VoxelCylinderShape.DefaultMinBounds.y;
79
-
80
- /**
81
- * @type {number}
82
- * @private
83
- */
84
- this._maximumAngle = VoxelCylinderShape.DefaultMaxBounds.y;
85
-
86
- /**
87
- * @type {number}
88
- * @private
89
- */
90
- this._minimumHeight = VoxelCylinderShape.DefaultMinBounds.z;
91
-
92
- /**
93
- * @type {number}
94
- * @private
95
- */
96
- this._maximumHeight = VoxelCylinderShape.DefaultMaxBounds.z;
73
+ this._maxBounds = VoxelCylinderShape.DefaultMaxBounds.clone();
97
74
 
98
75
  /**
99
76
  * @private
@@ -146,6 +123,10 @@ function VoxelCylinderShape() {
146
123
  }
147
124
 
148
125
  const scratchScale = new Cartesian3();
126
+ const scratchClipMinBounds = new Cartesian3();
127
+ const scratchClipMaxBounds = new Cartesian3();
128
+ const scratchRenderMinBounds = new Cartesian3();
129
+ const scratchRenderMaxBounds = new Cartesian3();
149
130
 
150
131
  /**
151
132
  * Update the shape's state.
@@ -153,8 +134,8 @@ const scratchScale = new Cartesian3();
153
134
  * @param {Matrix4} modelMatrix The model matrix.
154
135
  * @param {Cartesian3} minBounds The minimum bounds.
155
136
  * @param {Cartesian3} maxBounds The maximum bounds.
156
- * @param {Cartesian3} [clipMinBounds=VoxelCylinderShape.DefaultMinBounds] The minimum clip bounds.
157
- * @param {Cartesian3} [clipMaxBounds=VoxelCylinderShape.DefaultMaxBounds] The maximum clip bounds.
137
+ * @param {Cartesian3} [clipMinBounds] The minimum clip bounds.
138
+ * @param {Cartesian3} [clipMaxBounds] The maximum clip bounds.
158
139
  * @returns {boolean} Whether the shape is visible.
159
140
  */
160
141
  VoxelCylinderShape.prototype.update = function (
@@ -164,90 +145,45 @@ VoxelCylinderShape.prototype.update = function (
164
145
  clipMinBounds,
165
146
  clipMaxBounds,
166
147
  ) {
167
- clipMinBounds = defaultValue(
168
- clipMinBounds,
169
- VoxelCylinderShape.DefaultMinBounds,
170
- );
171
- clipMaxBounds = defaultValue(
172
- clipMaxBounds,
173
- VoxelCylinderShape.DefaultMaxBounds,
174
- );
175
148
  //>>includeStart('debug', pragmas.debug);
176
149
  Check.typeOf.object("modelMatrix", modelMatrix);
177
150
  Check.typeOf.object("minBounds", minBounds);
178
151
  Check.typeOf.object("maxBounds", maxBounds);
179
152
  //>>includeEnd('debug');
180
153
 
181
- const defaultMinRadius = VoxelCylinderShape.DefaultMinBounds.x;
182
- const defaultMaxRadius = VoxelCylinderShape.DefaultMaxBounds.x;
183
- const defaultMinAngle = VoxelCylinderShape.DefaultMinBounds.y;
184
- const defaultMaxAngle = VoxelCylinderShape.DefaultMaxBounds.y;
185
- const defaultMinHeight = VoxelCylinderShape.DefaultMinBounds.z;
186
- const defaultMaxHeight = VoxelCylinderShape.DefaultMaxBounds.z;
187
- const defaultAngleRange = defaultMaxAngle - defaultMinAngle;
154
+ clipMinBounds = clipMinBounds ?? minBounds.clone(scratchClipMinBounds);
155
+ clipMaxBounds = clipMaxBounds ?? maxBounds.clone(scratchClipMaxBounds);
156
+
157
+ minBounds = Cartesian3.clone(minBounds, this._minBounds);
158
+ maxBounds = Cartesian3.clone(maxBounds, this._maxBounds);
159
+
160
+ const { DefaultMinBounds, DefaultMaxBounds } = VoxelCylinderShape;
161
+ const defaultAngleRange = DefaultMaxBounds.y - DefaultMinBounds.y;
188
162
  const defaultAngleRangeHalf = 0.5 * defaultAngleRange;
189
163
 
190
164
  const epsilonZeroScale = CesiumMath.EPSILON10;
191
165
  const epsilonAngleDiscontinuity = CesiumMath.EPSILON3; // 0.001 radians = 0.05729578 degrees
192
166
  const epsilonAngle = CesiumMath.EPSILON10;
193
167
 
194
- // Clamp the radii to the valid range
195
- const shapeMinRadius = CesiumMath.clamp(
196
- minBounds.x,
197
- defaultMinRadius,
198
- defaultMaxRadius,
199
- );
200
- const shapeMaxRadius = CesiumMath.clamp(
201
- maxBounds.x,
202
- defaultMinRadius,
203
- defaultMaxRadius,
204
- );
205
- const clipMinRadius = CesiumMath.clamp(
206
- clipMinBounds.x,
207
- defaultMinRadius,
208
- defaultMaxRadius,
209
- );
210
- const clipMaxRadius = CesiumMath.clamp(
211
- clipMaxBounds.x,
212
- defaultMinRadius,
213
- defaultMaxRadius,
214
- );
215
- const renderMinRadius = Math.max(shapeMinRadius, clipMinRadius);
216
- const renderMaxRadius = Math.min(shapeMaxRadius, clipMaxRadius);
217
-
218
- // Clamp the angles to the valid range
219
- const shapeMinAngle = CesiumMath.negativePiToPi(minBounds.y);
220
- const shapeMaxAngle = CesiumMath.negativePiToPi(maxBounds.y);
221
- const clipMinAngle = CesiumMath.negativePiToPi(clipMinBounds.y);
222
- const clipMaxAngle = CesiumMath.negativePiToPi(clipMaxBounds.y);
223
- const renderMinAngle = Math.max(shapeMinAngle, clipMinAngle);
224
- const renderMaxAngle = Math.min(shapeMaxAngle, clipMaxAngle);
225
-
226
- // Clamp the heights to the valid range
227
- const shapeMinHeight = CesiumMath.clamp(
228
- minBounds.z,
229
- defaultMinHeight,
230
- defaultMaxHeight,
231
- );
232
- const shapeMaxHeight = CesiumMath.clamp(
233
- maxBounds.z,
234
- defaultMinHeight,
235
- defaultMaxHeight,
236
- );
237
- const clipMinHeight = CesiumMath.clamp(
238
- clipMinBounds.z,
239
- defaultMinHeight,
240
- defaultMaxHeight,
168
+ // Clamp the bounds to the valid range
169
+ minBounds.x = Math.max(0.0, minBounds.x);
170
+ maxBounds.x = Math.max(0.0, maxBounds.x);
171
+ minBounds.y = CesiumMath.negativePiToPi(minBounds.y);
172
+ maxBounds.y = CesiumMath.negativePiToPi(maxBounds.y);
173
+
174
+ clipMinBounds.y = CesiumMath.negativePiToPi(clipMinBounds.y);
175
+ clipMaxBounds.y = CesiumMath.negativePiToPi(clipMaxBounds.y);
176
+
177
+ const renderMinBounds = Cartesian3.maximumByComponent(
178
+ minBounds,
179
+ clipMinBounds,
180
+ scratchRenderMinBounds,
241
181
  );
242
- const clipMaxHeight = CesiumMath.clamp(
243
- clipMaxBounds.z,
244
- defaultMinHeight,
245
- defaultMaxHeight,
182
+ const renderMaxBounds = Cartesian3.minimumByComponent(
183
+ maxBounds,
184
+ clipMaxBounds,
185
+ scratchRenderMaxBounds,
246
186
  );
247
- const renderMinHeight = Math.max(shapeMinHeight, clipMinHeight);
248
- const renderMaxHeight = Math.min(shapeMaxHeight, clipMaxHeight);
249
-
250
- const scale = Matrix4.getScale(modelMatrix, scratchScale);
251
187
 
252
188
  // Exit early if the shape is not visible.
253
189
  // Note that minAngle may be greater than maxAngle when crossing the 180th meridian.
@@ -257,10 +193,11 @@ VoxelCylinderShape.prototype.update = function (
257
193
  // - minRadius is greater than maxRadius
258
194
  // - minHeight is greater than maxHeight
259
195
  // - scale is 0 for any component (too annoying to reconstruct rotation matrix)
196
+ const scale = Matrix4.getScale(modelMatrix, scratchScale);
260
197
  if (
261
- renderMaxRadius === 0.0 ||
262
- renderMinRadius > renderMaxRadius ||
263
- renderMinHeight > renderMaxHeight ||
198
+ renderMaxBounds.x === 0.0 ||
199
+ renderMinBounds.x > renderMaxBounds.x ||
200
+ renderMinBounds.z > renderMaxBounds.z ||
264
201
  CesiumMath.equalsEpsilon(scale.x, 0.0, undefined, epsilonZeroScale) ||
265
202
  CesiumMath.equalsEpsilon(scale.y, 0.0, undefined, epsilonZeroScale) ||
266
203
  CesiumMath.equalsEpsilon(scale.z, 0.0, undefined, epsilonZeroScale)
@@ -268,22 +205,11 @@ VoxelCylinderShape.prototype.update = function (
268
205
  return false;
269
206
  }
270
207
 
271
- this._minimumRadius = shapeMinRadius; // [0,1]
272
- this._maximumRadius = shapeMaxRadius; // [0,1]
273
- this._minimumAngle = shapeMinAngle; // [-pi,+pi]
274
- this._maximumAngle = shapeMaxAngle; // [-pi,+pi]
275
- this._minimumHeight = shapeMinHeight; // [-1,+1]
276
- this._maximumHeight = shapeMaxHeight; // [-1,+1]
277
-
278
208
  this.shapeTransform = Matrix4.clone(modelMatrix, this.shapeTransform);
279
209
 
280
210
  this.orientedBoundingBox = getCylinderChunkObb(
281
- renderMinRadius,
282
- renderMaxRadius,
283
- renderMinAngle,
284
- renderMaxAngle,
285
- renderMinHeight,
286
- renderMaxHeight,
211
+ renderMinBounds,
212
+ renderMaxBounds,
287
213
  this.shapeTransform,
288
214
  this.orientedBoundingBox,
289
215
  );
@@ -299,13 +225,11 @@ VoxelCylinderShape.prototype.update = function (
299
225
  this.boundingSphere,
300
226
  );
301
227
 
302
- const shapeIsDefaultMaxRadius = shapeMaxRadius === defaultMaxRadius;
303
- const shapeIsDefaultMinRadius = shapeMinRadius === defaultMinRadius;
304
228
  const shapeIsDefaultRadius =
305
- shapeIsDefaultMinRadius && shapeIsDefaultMaxRadius;
306
- const shapeIsAngleReversed = shapeMaxAngle < shapeMinAngle;
229
+ minBounds.x === DefaultMinBounds.x && maxBounds.x === DefaultMaxBounds.x;
230
+ const shapeIsAngleReversed = maxBounds.y < minBounds.y;
307
231
  const shapeAngleRange =
308
- shapeMaxAngle - shapeMinAngle + shapeIsAngleReversed * defaultAngleRange;
232
+ maxBounds.y - minBounds.y + shapeIsAngleReversed * defaultAngleRange;
309
233
  const shapeIsAngleRegular =
310
234
  shapeAngleRange > defaultAngleRangeHalf + epsilonAngle &&
311
235
  shapeAngleRange < defaultAngleRange - epsilonAngle;
@@ -317,24 +241,26 @@ VoxelCylinderShape.prototype.update = function (
317
241
  const shapeHasAngle =
318
242
  shapeIsAngleRegular || shapeIsAngleFlipped || shapeIsAngleRangeHalf;
319
243
  const shapeIsMinAngleDiscontinuity = CesiumMath.equalsEpsilon(
320
- shapeMinAngle,
321
- defaultMinAngle,
244
+ minBounds.y,
245
+ DefaultMinBounds.y,
322
246
  undefined,
323
247
  epsilonAngleDiscontinuity,
324
248
  );
325
249
  const shapeIsMaxAngleDiscontinuity = CesiumMath.equalsEpsilon(
326
- shapeMaxAngle,
327
- defaultMaxAngle,
250
+ maxBounds.y,
251
+ DefaultMaxBounds.y,
328
252
  undefined,
329
253
  epsilonAngleDiscontinuity,
330
254
  );
331
255
  const shapeIsDefaultHeight =
332
- shapeMinHeight === defaultMinHeight && shapeMaxHeight === defaultMaxHeight;
256
+ minBounds.z === DefaultMinBounds.z && maxBounds.z === DefaultMaxBounds.z;
333
257
 
334
- const renderIsDefaultMinRadius = renderMinRadius === defaultMinRadius;
335
- const renderIsAngleReversed = renderMaxAngle < renderMinAngle;
258
+ const renderIsDefaultMinRadius = renderMinBounds.x === DefaultMinBounds.x;
259
+ const renderIsAngleReversed = renderMaxBounds.y < renderMinBounds.y;
336
260
  const renderAngleRange =
337
- renderMaxAngle - renderMinAngle + renderIsAngleReversed * defaultAngleRange;
261
+ renderMaxBounds.y -
262
+ renderMinBounds.y +
263
+ renderIsAngleReversed * defaultAngleRange;
338
264
  const renderIsAngleRegular =
339
265
  renderAngleRange >= defaultAngleRangeHalf - epsilonAngle &&
340
266
  renderAngleRange < defaultAngleRange - epsilonAngle;
@@ -366,12 +292,12 @@ VoxelCylinderShape.prototype.update = function (
366
292
  intersectionCount += 1;
367
293
  }
368
294
  shaderUniforms.cylinderRenderRadiusMinMax = Cartesian2.fromElements(
369
- renderMinRadius,
370
- renderMaxRadius,
295
+ renderMinBounds.x,
296
+ renderMaxBounds.x,
371
297
  shaderUniforms.cylinderRenderRadiusMinMax,
372
298
  );
373
299
 
374
- if (renderMinRadius === renderMaxRadius) {
300
+ if (renderMinBounds.x === renderMaxBounds.x) {
375
301
  shaderDefines["CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT"] = true;
376
302
  }
377
303
  if (!shapeIsDefaultRadius) {
@@ -383,12 +309,12 @@ VoxelCylinderShape.prototype.update = function (
383
309
  // scale = 1.0 / (maxRadius - minRadius)
384
310
  // offset = -minRadius / (maxRadius - minRadius)
385
311
  // offset = minRadius / (minRadius - maxRadius)
386
- const radiusRange = shapeMaxRadius - shapeMinRadius;
312
+ const radiusRange = maxBounds.x - minBounds.x;
387
313
  let scale = 0.0;
388
314
  let offset = 1.0;
389
315
  if (radiusRange !== 0.0) {
390
316
  scale = 1.0 / radiusRange;
391
- offset = -shapeMinRadius / radiusRange;
317
+ offset = -minBounds.x / radiusRange;
392
318
  }
393
319
  shaderUniforms.cylinderUvToShapeUvRadius = Cartesian2.fromElements(
394
320
  scale,
@@ -411,12 +337,12 @@ VoxelCylinderShape.prototype.update = function (
411
337
  // offset = -2.0 * (minHeight * 0.5 + 0.5) / (maxHeight - minHeight)
412
338
  // offset = -(minHeight + 1.0) / (maxHeight - minHeight)
413
339
  // offset = (minHeight + 1.0) / (minHeight - maxHeight)
414
- const heightRange = shapeMaxHeight - shapeMinHeight;
340
+ const heightRange = maxBounds.z - minBounds.z;
415
341
  let scale = 0.0;
416
342
  let offset = 1.0;
417
343
  if (heightRange !== 0.0) {
418
344
  scale = 2.0 / heightRange;
419
- offset = -(shapeMinHeight + 1.0) / heightRange;
345
+ offset = -(minBounds.z + 1.0) / heightRange;
420
346
  }
421
347
  shaderUniforms.cylinderUvToShapeUvHeight = Cartesian2.fromElements(
422
348
  scale,
@@ -425,8 +351,8 @@ VoxelCylinderShape.prototype.update = function (
425
351
  );
426
352
  }
427
353
  shaderUniforms.cylinderRenderHeightMinMax = Cartesian2.fromElements(
428
- renderMinHeight,
429
- renderMaxHeight,
354
+ renderMinBounds.z,
355
+ renderMaxBounds.z,
430
356
  shaderUniforms.cylinderRenderHeightMinMax,
431
357
  );
432
358
 
@@ -450,8 +376,8 @@ VoxelCylinderShape.prototype.update = function (
450
376
  }
451
377
 
452
378
  shaderUniforms.cylinderRenderAngleMinMax = Cartesian2.fromElements(
453
- renderMinAngle,
454
- renderMaxAngle,
379
+ renderMinBounds.y,
380
+ renderMaxBounds.y,
455
381
  shaderUniforms.cylinderRenderAngleMinMax,
456
382
  );
457
383
  }
@@ -465,8 +391,8 @@ VoxelCylinderShape.prototype.update = function (
465
391
  shaderDefines["CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY"] = true;
466
392
  }
467
393
 
468
- const uvMinAngle = (shapeMinAngle - defaultMinAngle) / defaultAngleRange;
469
- const uvMaxAngle = (shapeMaxAngle - defaultMinAngle) / defaultAngleRange;
394
+ const uvMinAngle = (minBounds.y - DefaultMinBounds.y) / defaultAngleRange;
395
+ const uvMaxAngle = (maxBounds.y - DefaultMinBounds.y) / defaultAngleRange;
470
396
  const uvAngleRangeZero = 1.0 - shapeAngleRange / defaultAngleRange;
471
397
 
472
398
  shaderUniforms.cylinderShapeUvAngleMinMax = Cartesian2.fromElements(
@@ -494,7 +420,7 @@ VoxelCylinderShape.prototype.update = function (
494
420
  );
495
421
  } else {
496
422
  const scale = defaultAngleRange / shapeAngleRange;
497
- const offset = -(shapeMinAngle - defaultMinAngle) / shapeAngleRange;
423
+ const offset = -(minBounds.y - DefaultMinBounds.y) / shapeAngleRange;
498
424
  shaderUniforms.cylinderUvToShapeUvAngle = Cartesian2.fromElements(
499
425
  scale,
500
426
  offset,
@@ -508,6 +434,9 @@ VoxelCylinderShape.prototype.update = function (
508
434
  return true;
509
435
  };
510
436
 
437
+ const scratchMinBounds = new Cartesian3();
438
+ const scratchMaxBounds = new Cartesian3();
439
+
511
440
  /**
512
441
  * Computes an oriented bounding box for a specified tile.
513
442
  * The update function must be called before calling this function.
@@ -534,61 +463,33 @@ VoxelCylinderShape.prototype.computeOrientedBoundingBoxForTile = function (
534
463
  Check.typeOf.object("result", result);
535
464
  //>>includeEnd('debug');
536
465
 
537
- const minimumRadius = this._minimumRadius;
538
- const maximumRadius = this._maximumRadius;
539
- const minimumAngle = this._minimumAngle;
540
- const maximumAngle = this._maximumAngle;
541
- const minimumHeight = this._minimumHeight;
542
- const maximumHeight = this._maximumHeight;
466
+ const minBounds = this._minBounds;
467
+ const maxBounds = this._maxBounds;
543
468
 
544
469
  const sizeAtLevel = 1.0 / Math.pow(2.0, tileLevel);
545
470
 
546
- const radiusStart = CesiumMath.lerp(
547
- minimumRadius,
548
- maximumRadius,
549
- tileX * sizeAtLevel,
471
+ const tileMinBounds = Cartesian3.fromElements(
472
+ CesiumMath.lerp(minBounds.x, maxBounds.x, tileX * sizeAtLevel),
473
+ CesiumMath.lerp(minBounds.y, maxBounds.y, tileY * sizeAtLevel),
474
+ CesiumMath.lerp(minBounds.z, maxBounds.z, tileZ * sizeAtLevel),
475
+ scratchMinBounds,
550
476
  );
551
- const radiusEnd = CesiumMath.lerp(
552
- minimumRadius,
553
- maximumRadius,
554
- (tileX + 1) * sizeAtLevel,
555
- );
556
- const angleStart = CesiumMath.lerp(
557
- minimumAngle,
558
- maximumAngle,
559
- tileY * sizeAtLevel,
560
- );
561
- const angleEnd = CesiumMath.lerp(
562
- minimumAngle,
563
- maximumAngle,
564
- (tileY + 1) * sizeAtLevel,
565
- );
566
- const heightStart = CesiumMath.lerp(
567
- minimumHeight,
568
- maximumHeight,
569
- tileZ * sizeAtLevel,
570
- );
571
- const heightEnd = CesiumMath.lerp(
572
- minimumHeight,
573
- maximumHeight,
574
- (tileZ + 1) * sizeAtLevel,
477
+ const tileMaxBounds = Cartesian3.fromElements(
478
+ CesiumMath.lerp(minBounds.x, maxBounds.x, (tileX + 1) * sizeAtLevel),
479
+ CesiumMath.lerp(minBounds.y, maxBounds.y, (tileY + 1) * sizeAtLevel),
480
+ CesiumMath.lerp(minBounds.z, maxBounds.z, (tileZ + 1) * sizeAtLevel),
481
+ scratchMaxBounds,
575
482
  );
576
483
 
577
484
  return getCylinderChunkObb(
578
- radiusStart,
579
- radiusEnd,
580
- angleStart,
581
- angleEnd,
582
- heightStart,
583
- heightEnd,
485
+ tileMinBounds,
486
+ tileMaxBounds,
584
487
  this.shapeTransform,
585
488
  result,
586
489
  );
587
490
  };
588
491
 
589
492
  const sampleSizeScratch = new Cartesian3();
590
- const scratchTileMinBounds = new Cartesian3();
591
- const scratchTileMaxBounds = new Cartesian3();
592
493
 
593
494
  /**
594
495
  * Computes an oriented bounding box for a specified sample within a specified tile.
@@ -630,45 +531,39 @@ VoxelCylinderShape.prototype.computeOrientedBoundingBoxForSample = function (
630
531
  spatialNode.x + tileUv.x,
631
532
  spatialNode.y + tileUv.y,
632
533
  spatialNode.z + tileUv.z,
633
- scratchTileMinBounds,
534
+ scratchMinBounds,
634
535
  ),
635
536
  tileSizeAtLevel,
636
- scratchTileMinBounds,
637
- );
638
- const maxLerp = Cartesian3.add(
639
- minLerp,
640
- sampleSizeAtLevel,
641
- scratchTileMaxBounds,
537
+ scratchMinBounds,
642
538
  );
539
+ const maxLerp = Cartesian3.add(minLerp, sampleSizeAtLevel, scratchMaxBounds);
643
540
 
644
- const minimumRadius = this._minimumRadius;
645
- const maximumRadius = this._maximumRadius;
646
- const minimumHeight = this._minimumHeight;
647
- const maximumHeight = this._maximumHeight;
648
- const minimumAngle = this._minimumAngle;
649
- const maximumAngle = this._maximumAngle;
541
+ const minBounds = this._minBounds;
542
+ const maxBounds = this._maxBounds;
650
543
 
651
- const radiusStart = CesiumMath.lerp(minimumRadius, maximumRadius, minLerp.x);
652
- const radiusEnd = CesiumMath.lerp(minimumRadius, maximumRadius, maxLerp.x);
653
- const heightStart = CesiumMath.lerp(minimumHeight, maximumHeight, minLerp.y);
654
- const heightEnd = CesiumMath.lerp(minimumHeight, maximumHeight, maxLerp.y);
655
- const angleStart = CesiumMath.lerp(minimumAngle, maximumAngle, minLerp.z);
656
- const angleEnd = CesiumMath.lerp(minimumAngle, maximumAngle, maxLerp.z);
544
+ const sampleMinBounds = Cartesian3.fromElements(
545
+ CesiumMath.lerp(minBounds.x, maxBounds.x, minLerp.x),
546
+ CesiumMath.lerp(minBounds.y, maxBounds.y, minLerp.y),
547
+ CesiumMath.lerp(minBounds.z, maxBounds.z, minLerp.z),
548
+ scratchMinBounds,
549
+ );
550
+ const sampleMaxBounds = Cartesian3.fromElements(
551
+ CesiumMath.lerp(minBounds.x, maxBounds.x, maxLerp.x),
552
+ CesiumMath.lerp(minBounds.y, maxBounds.y, maxLerp.y),
553
+ CesiumMath.lerp(minBounds.z, maxBounds.z, maxLerp.z),
554
+ scratchMaxBounds,
555
+ );
657
556
 
658
557
  return getCylinderChunkObb(
659
- radiusStart,
660
- radiusEnd,
661
- angleStart,
662
- angleEnd,
663
- heightStart,
664
- heightEnd,
558
+ sampleMinBounds,
559
+ sampleMaxBounds,
665
560
  this.shapeTransform,
666
561
  result,
667
562
  );
668
563
  };
669
564
 
670
565
  /**
671
- * Defines the minimum bounds of the shape. Corresponds to minimum radius, height, angle.
566
+ * Defines the minimum bounds of the shape. Corresponds to minimum radius, angle, and height.
672
567
  *
673
568
  * @type {Cartesian3}
674
569
  * @constant
@@ -681,7 +576,7 @@ VoxelCylinderShape.DefaultMinBounds = Object.freeze(
681
576
  );
682
577
 
683
578
  /**
684
- * Defines the maximum bounds of the shape. Corresponds to maximum radius, height, angle.
579
+ * Defines the maximum bounds of the shape. Corresponds to maximum radius, angle, height.
685
580
  *
686
581
  * @type {Cartesian3}
687
582
  * @constant
@@ -749,56 +644,24 @@ function computeLooseOrientedBoundingBox(matrix, result) {
749
644
  *
750
645
  * @function
751
646
  *
752
- * @param {number} radiusStart The radiusStart.
753
- * @param {number} radiusEnd The radiusEnd.
754
- * @param {number} angleStart The angleStart.
755
- * @param {number} angleEnd The angleEnd.
756
- * @param {number} heightStart The heightStart.
757
- * @param {number} heightEnd The heightEnd.
647
+ * @param {Cartesian3} chunkMinBounds The minimum bounds of the subregion.
648
+ * @param {Cartesian3} chunkMaxBounds The maximum bounds of the subregion.
758
649
  * @param {Matrix4} matrix The matrix to transform the points.
759
650
  * @param {OrientedBoundingBox} result The object onto which to store the result.
760
651
  * @returns {OrientedBoundingBox} The oriented bounding box that contains this subregion.
761
652
  *
762
653
  * @private
763
654
  */
764
- function getCylinderChunkObb(
765
- radiusStart,
766
- radiusEnd,
767
- angleStart,
768
- angleEnd,
769
- heightStart,
770
- heightEnd,
771
- matrix,
772
- result,
773
- ) {
774
- const defaultMinBounds = VoxelCylinderShape.DefaultMinBounds;
775
- const defaultMaxBounds = VoxelCylinderShape.DefaultMaxBounds;
776
- const defaultMinRadius = defaultMinBounds.x; // 0
777
- const defaultMaxRadius = defaultMaxBounds.x; // 1
778
- const defaultMinAngle = defaultMinBounds.y; // -pi
779
- const defaultMaxAngle = defaultMaxBounds.y; // +pi
780
- const defaultMinHeight = defaultMinBounds.z; // -1
781
- const defaultMaxHeight = defaultMaxBounds.z; // +1
782
-
783
- // Return early if using the default bounds
784
- if (
785
- radiusStart === defaultMinRadius &&
786
- radiusEnd === defaultMaxRadius &&
787
- heightStart === defaultMinHeight &&
788
- heightEnd === defaultMaxHeight &&
789
- angleStart === defaultMinAngle &&
790
- angleEnd === defaultMaxAngle
791
- ) {
792
- result.center = Matrix4.getTranslation(matrix, result.center);
793
- result.halfAxes = Matrix4.getMatrix3(matrix, result.halfAxes);
794
- return result;
795
- }
796
-
797
- const isAngleReversed = angleEnd < angleStart;
798
-
799
- if (isAngleReversed) {
800
- angleEnd += CesiumMath.TWO_PI;
801
- }
655
+ function getCylinderChunkObb(chunkMinBounds, chunkMaxBounds, matrix, result) {
656
+ const radiusStart = chunkMinBounds.x;
657
+ const radiusEnd = chunkMaxBounds.x;
658
+ const angleStart = chunkMinBounds.y;
659
+ const angleEnd =
660
+ chunkMaxBounds.y < angleStart
661
+ ? chunkMaxBounds.y + CesiumMath.TWO_PI
662
+ : chunkMaxBounds.y;
663
+ const heightStart = chunkMinBounds.z;
664
+ const heightEnd = chunkMaxBounds.z;
802
665
 
803
666
  const angleRange = angleEnd - angleStart;
804
667
  const angleMid = angleStart + angleRange * 0.5;
@@ -816,10 +679,10 @@ function getCylinderChunkObb(
816
679
  }
817
680
 
818
681
  // Find bounding box in shape space relative to angleMid
819
- let minX = 1.0;
820
- let minY = 1.0;
821
- let maxX = -1.0;
822
- let maxY = -1.0;
682
+ let minX = Number.POSITIVE_INFINITY;
683
+ let minY = Number.POSITIVE_INFINITY;
684
+ let maxX = Number.NEGATIVE_INFINITY;
685
+ let maxY = Number.NEGATIVE_INFINITY;
823
686
 
824
687
  for (let i = 0; i < testAngleCount; ++i) {
825
688
  const angle = testAngles[i] - angleMid;
@@ -830,14 +693,10 @@ function getCylinderChunkObb(
830
693
  const x2 = cosAngle * radiusEnd;
831
694
  const y2 = sinAngle * radiusEnd;
832
695
 
833
- minX = Math.min(minX, x1);
834
- minY = Math.min(minY, y1);
835
- minX = Math.min(minX, x2);
836
- minY = Math.min(minY, y2);
837
- maxX = Math.max(maxX, x1);
838
- maxY = Math.max(maxY, y1);
839
- maxX = Math.max(maxX, x2);
840
- maxY = Math.max(maxY, y2);
696
+ minX = Math.min(minX, x1, x2);
697
+ minY = Math.min(minY, y1, y2);
698
+ maxX = Math.max(maxX, x1, x2);
699
+ maxY = Math.max(maxY, y1, y2);
841
700
  }
842
701
 
843
702
  const extentX = maxX - minX;
@@ -8,7 +8,6 @@ import Matrix3 from "../Core/Matrix3.js";
8
8
  import Matrix4 from "../Core/Matrix4.js";
9
9
  import OrientedBoundingBox from "../Core/OrientedBoundingBox.js";
10
10
  import Rectangle from "../Core/Rectangle.js";
11
- import defaultValue from "../Core/defaultValue.js";
12
11
 
13
12
  /**
14
13
  * An ellipsoid {@link VoxelShape}.
@@ -183,8 +182,8 @@ VoxelEllipsoidShape.prototype.update = function (
183
182
  clipMaxBounds,
184
183
  ) {
185
184
  const { DefaultMinBounds, DefaultMaxBounds } = VoxelEllipsoidShape;
186
- clipMinBounds = defaultValue(clipMinBounds, DefaultMinBounds);
187
- clipMaxBounds = defaultValue(clipMaxBounds, DefaultMaxBounds);
185
+ clipMinBounds = clipMinBounds ?? DefaultMinBounds;
186
+ clipMaxBounds = clipMaxBounds ?? DefaultMaxBounds;
188
187
  //>>includeStart('debug', pragmas.debug);
189
188
  Check.typeOf.object("modelMatrix", modelMatrix);
190
189
  Check.typeOf.object("minBounds", minBounds);
@@ -3,10 +3,22 @@
3
3
  * In all cases, x data is contiguous in strides along the y axis,
4
4
  * and each group of y strides represents a z slice.
5
5
  * However, the orientation of the axes follows different conventions.
6
+ *
6
7
  * @enum {number}
8
+ * @private
7
9
  */
8
10
  const VoxelMetadataOrder = {
9
- XYZ: 0, // Default ordering following the 3D Tiles convention. Z-axis points upward.
10
- GLTF: 1, // Ordering following the glTF convention. Y-axis points upward.
11
+ /**
12
+ * The default ordering following the 3D Tiles convention. Z-axis points upward.
13
+ * @type {number}
14
+ * @constant
15
+ */
16
+ Z_UP: 0,
17
+ /**
18
+ * The ordering following the glTF convention. Y-axis points upward.
19
+ * @type {number}
20
+ * @constant
21
+ */
22
+ Y_UP: 1,
11
23
  };
12
24
  export default Object.freeze(VoxelMetadataOrder);