@cesium/engine 10.1.0 → 11.1.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 (845) hide show
  1. package/Build/Workers/{chunk-EB7PNZTK.js → chunk-26GA3JAM.js} +6 -5
  2. package/Build/Workers/{chunk-RZLZWKFN.js → chunk-27HUZ7SA.js} +4 -4
  3. package/Build/Workers/{chunk-A5CODJ4M.js → chunk-2ZGOQXYU.js} +6 -6
  4. package/Build/Workers/{chunk-TF776XCO.js → chunk-3Q2L65QU.js} +7 -7
  5. package/Build/Workers/{chunk-NVOABL76.js → chunk-472HQ3EH.js} +5 -5
  6. package/Build/Workers/{chunk-QX5XS4LC.js → chunk-5ODQSF26.js} +2 -2
  7. package/Build/Workers/{chunk-4YSNMHZ4.js → chunk-5OOFQLKF.js} +6 -6
  8. package/Build/Workers/{chunk-OXALEQPI.js → chunk-5PTXS2GO.js} +49 -23
  9. package/Build/Workers/{chunk-T77JILCU.js → chunk-6CHGCNMW.js} +2 -2
  10. package/Build/Workers/{chunk-FEVVHITK.js → chunk-76BYBWHP.js} +4 -4
  11. package/Build/Workers/{chunk-65MZOUNU.js → chunk-7BMOHCPM.js} +13 -13
  12. package/Build/Workers/{chunk-VE7BFUIX.js → chunk-7JO7GPJN.js} +1 -1
  13. package/Build/Workers/{chunk-5BLJ5ZM6.js → chunk-7KTQP4VB.js} +5 -5
  14. package/Build/Workers/{chunk-G5V4GPZE.js → chunk-7O373FFS.js} +8 -34
  15. package/Build/Workers/{chunk-S3PI2KFM.js → chunk-AD63PIY6.js} +2 -2
  16. package/Build/Workers/{chunk-6D66DPRV.js → chunk-BHQJ2NT7.js} +6 -6
  17. package/Build/Workers/{chunk-I2RC4XVN.js → chunk-C6YYBQXW.js} +4 -4
  18. package/Build/Workers/{chunk-X2ZQ7RJR.js → chunk-CKY7HOHV.js} +9 -9
  19. package/Build/Workers/{chunk-TO2PVHKI.js → chunk-DHYHSFFJ.js} +2 -2
  20. package/Build/Workers/{chunk-R6B7UCQB.js → chunk-DI5NGJUP.js} +2 -2
  21. package/Build/Workers/{chunk-X23FRWHJ.js → chunk-E27BLMDD.js} +7 -9
  22. package/Build/Workers/{chunk-N4QEHO3U.js → chunk-E63IIM5T.js} +1 -1
  23. package/Build/Workers/{chunk-BY3E4ONI.js → chunk-E6V6SQZW.js} +6 -6
  24. package/Build/Workers/{chunk-LSSWVB2X.js → chunk-EJZTDTUH.js} +4 -4
  25. package/Build/Workers/{chunk-XLTOBCDI.js → chunk-FDOV2LBJ.js} +7 -7
  26. package/Build/Workers/{chunk-ACRTCBN5.js → chunk-FIGIZHAQ.js} +11 -11
  27. package/Build/Workers/{chunk-4RMIRG6T.js → chunk-GESF4OXQ.js} +2 -2
  28. package/Build/Workers/{chunk-PNFHVBSF.js → chunk-GGZJN2TI.js} +16 -15
  29. package/Build/Workers/{chunk-KV4EQHK4.js → chunk-GNBFYG7F.js} +83 -79
  30. package/Build/Workers/{chunk-FOZWUH4T.js → chunk-GWCFU2SA.js} +7 -7
  31. package/Build/Workers/{chunk-Q55ECN3Y.js → chunk-I2ITFFPX.js} +1 -1
  32. package/Build/Workers/{chunk-XQI7XZHX.js → chunk-IBLIYJZR.js} +6 -6
  33. package/Build/Workers/{chunk-D2U4RI64.js → chunk-JW4FOI6M.js} +7 -7
  34. package/Build/Workers/{chunk-2J3JKXCP.js → chunk-K4GQUNB5.js} +9 -5
  35. package/Build/Workers/{chunk-POSRARY7.js → chunk-M3GMB5OP.js} +10 -10
  36. package/Build/Workers/{chunk-OOK53QUQ.js → chunk-MXIZJAPH.js} +1 -1
  37. package/Build/Workers/{chunk-OWGTMVDB.js → chunk-N5KJGGCM.js} +18 -20
  38. package/Build/Workers/{chunk-J7MQUQJY.js → chunk-NGPPMXRM.js} +12 -7
  39. package/Build/Workers/{chunk-OOMCT7OL.js → chunk-O3E4OAOE.js} +13 -13
  40. package/Build/Workers/{chunk-C3Z23UUJ.js → chunk-PGRPDNHG.js} +19 -23
  41. package/Build/Workers/{chunk-4VFBBNQ3.js → chunk-PRGYLLJT.js} +1 -1
  42. package/Build/Workers/{chunk-XZZNKIEV.js → chunk-S6MRMMQU.js} +6 -6
  43. package/Build/Workers/{chunk-76BYYG7N.js → chunk-SMDOP47J.js} +10 -10
  44. package/Build/Workers/{chunk-ZU334IDQ.js → chunk-TGONEMZO.js} +11 -11
  45. package/Build/Workers/{chunk-VRZ46QZ5.js → chunk-TKVT5GQM.js} +13 -13
  46. package/Build/Workers/{chunk-FDCLACT5.js → chunk-U72QNFOJ.js} +15 -25
  47. package/Build/Workers/{chunk-F3NDOSTZ.js → chunk-VJZB3WAV.js} +7 -7
  48. package/Build/Workers/{chunk-GPJR7MPQ.js → chunk-VU2MNO7L.js} +7 -7
  49. package/Build/Workers/{chunk-R4OIEIPE.js → chunk-XY4BATBS.js} +4 -4
  50. package/Build/Workers/{chunk-T6LPN7RI.js → chunk-YFXQECWV.js} +5 -5
  51. package/Build/Workers/{chunk-UCIPJSZX.js → chunk-YSGTGQQO.js} +14 -14
  52. package/Build/Workers/{chunk-BGE4QVG7.js → chunk-YZ733KKS.js} +12 -12
  53. package/Build/Workers/combineGeometry.js +23 -25
  54. package/Build/Workers/createBoxGeometry.js +16 -16
  55. package/Build/Workers/createBoxOutlineGeometry.js +14 -14
  56. package/Build/Workers/createCircleGeometry.js +24 -24
  57. package/Build/Workers/createCircleOutlineGeometry.js +17 -17
  58. package/Build/Workers/createCoplanarPolygonGeometry.js +31 -31
  59. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +29 -29
  60. package/Build/Workers/createCorridorGeometry.js +27 -27
  61. package/Build/Workers/createCorridorOutlineGeometry.js +26 -26
  62. package/Build/Workers/createCylinderGeometry.js +18 -18
  63. package/Build/Workers/createCylinderOutlineGeometry.js +16 -16
  64. package/Build/Workers/createEllipseGeometry.js +24 -24
  65. package/Build/Workers/createEllipseOutlineGeometry.js +17 -17
  66. package/Build/Workers/createEllipsoidGeometry.js +17 -17
  67. package/Build/Workers/createEllipsoidOutlineGeometry.js +16 -16
  68. package/Build/Workers/createFrustumGeometry.js +16 -16
  69. package/Build/Workers/createFrustumOutlineGeometry.js +16 -16
  70. package/Build/Workers/createGeometry.js +25 -26
  71. package/Build/Workers/createGroundPolylineGeometry.js +20 -20
  72. package/Build/Workers/createPlaneGeometry.js +14 -14
  73. package/Build/Workers/createPlaneOutlineGeometry.js +13 -13
  74. package/Build/Workers/createPolygonGeometry.js +36 -40
  75. package/Build/Workers/createPolygonOutlineGeometry.js +40 -48
  76. package/Build/Workers/createPolylineGeometry.js +23 -23
  77. package/Build/Workers/createPolylineVolumeGeometry.js +32 -31
  78. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +25 -25
  79. package/Build/Workers/createRectangleGeometry.js +28 -30
  80. package/Build/Workers/createRectangleOutlineGeometry.js +19 -19
  81. package/Build/Workers/createSimplePolylineGeometry.js +21 -21
  82. package/Build/Workers/createSphereGeometry.js +17 -17
  83. package/Build/Workers/createSphereOutlineGeometry.js +16 -16
  84. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  85. package/Build/Workers/createVectorTileClampedPolylines.js +13 -13
  86. package/Build/Workers/createVectorTileGeometries.js +22 -22
  87. package/Build/Workers/createVectorTilePoints.js +12 -12
  88. package/Build/Workers/createVectorTilePolygons.js +20 -20
  89. package/Build/Workers/createVectorTilePolylines.js +13 -13
  90. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -26
  91. package/Build/Workers/createVerticesFromHeightmap.js +26 -26
  92. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +42 -32
  93. package/Build/Workers/createWallGeometry.js +22 -22
  94. package/Build/Workers/createWallOutlineGeometry.js +21 -21
  95. package/Build/Workers/decodeDraco.js +11 -11
  96. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +28 -5
  97. package/Build/Workers/decodeI3S.js +10 -10
  98. package/Build/Workers/transcodeKTX2.js +19 -18
  99. package/Build/Workers/transferTypedArrayTest.js +1 -1
  100. package/Build/Workers/upsampleQuantizedTerrainMesh.js +20 -20
  101. package/Source/Core/ApproximateTerrainHeights.js +15 -15
  102. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +33 -35
  103. package/Source/Core/AttributeCompression.js +12 -12
  104. package/Source/Core/AxisAlignedBoundingBox.js +2 -2
  105. package/Source/Core/BingMapsGeocoderService.js +1 -1
  106. package/Source/Core/BoundingRectangle.js +3 -3
  107. package/Source/Core/BoundingSphere.js +44 -44
  108. package/Source/Core/BoxGeometry.js +6 -6
  109. package/Source/Core/BoxOutlineGeometry.js +3 -3
  110. package/Source/Core/Cartesian2.js +7 -7
  111. package/Source/Core/Cartesian3.js +20 -20
  112. package/Source/Core/Cartesian4.js +8 -8
  113. package/Source/Core/Cartographic.js +6 -6
  114. package/Source/Core/CatmullRomSpline.js +6 -6
  115. package/Source/Core/CesiumTerrainProvider.js +66 -68
  116. package/Source/Core/Check.d.ts +3 -3
  117. package/Source/Core/Check.js +11 -11
  118. package/Source/Core/CircleGeometry.js +6 -6
  119. package/Source/Core/CircleOutlineGeometry.js +4 -4
  120. package/Source/Core/Clock.js +4 -4
  121. package/Source/Core/Color.js +11 -8
  122. package/Source/Core/ColorGeometryInstanceAttribute.js +1 -1
  123. package/Source/Core/ComponentDatatype.js +4 -4
  124. package/Source/Core/CompressedTextureBuffer.js +13 -2
  125. package/Source/Core/ConstantSpline.js +1 -1
  126. package/Source/Core/CoplanarPolygonGeometry.js +44 -41
  127. package/Source/Core/CoplanarPolygonGeometryLibrary.js +5 -5
  128. package/Source/Core/CoplanarPolygonOutlineGeometry.js +6 -6
  129. package/Source/Core/CorridorGeometry.js +77 -77
  130. package/Source/Core/CorridorGeometryLibrary.js +45 -45
  131. package/Source/Core/CorridorOutlineGeometry.js +16 -16
  132. package/Source/Core/CullingVolume.js +4 -4
  133. package/Source/Core/CustomHeightmapTerrainProvider.js +13 -13
  134. package/Source/Core/CylinderGeometry.js +8 -8
  135. package/Source/Core/CylinderGeometryLibrary.js +1 -1
  136. package/Source/Core/CylinderOutlineGeometry.js +4 -4
  137. package/Source/Core/DeveloperError.js +1 -1
  138. package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +20 -21
  139. package/Source/Core/DoubleEndedPriorityQueue.js +2 -2
  140. package/Source/Core/EarthOrientationParameters.js +21 -25
  141. package/Source/Core/EarthOrientationParametersSample.js +1 -1
  142. package/Source/Core/EllipseGeometry.js +54 -55
  143. package/Source/Core/EllipseGeometryLibrary.js +12 -12
  144. package/Source/Core/EllipseOutlineGeometry.js +19 -19
  145. package/Source/Core/Ellipsoid.js +25 -33
  146. package/Source/Core/EllipsoidGeodesic.js +17 -16
  147. package/Source/Core/EllipsoidGeometry.js +9 -8
  148. package/Source/Core/EllipsoidOutlineGeometry.js +4 -4
  149. package/Source/Core/EllipsoidRhumbLine.js +33 -32
  150. package/Source/Core/EllipsoidTangentPlane.js +16 -16
  151. package/Source/Core/EllipsoidTerrainProvider.js +11 -10
  152. package/Source/Core/EllipsoidalOccluder.js +110 -130
  153. package/Source/Core/FeatureDetection.js +4 -4
  154. package/Source/Core/FrustumGeometry.js +14 -14
  155. package/Source/Core/FrustumOutlineGeometry.js +4 -4
  156. package/Source/Core/GeographicTilingScheme.js +6 -6
  157. package/Source/Core/Geometry.js +15 -17
  158. package/Source/Core/GeometryAttribute.js +4 -9
  159. package/Source/Core/GeometryAttributes.js +6 -6
  160. package/Source/Core/GeometryInstance.js +3 -4
  161. package/Source/Core/GeometryInstanceAttribute.js +1 -6
  162. package/Source/Core/GeometryPipeline.js +133 -137
  163. package/Source/Core/GoogleEarthEnterpriseMetadata.js +19 -20
  164. package/Source/Core/GoogleEarthEnterpriseTerrainData.js +25 -24
  165. package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +17 -21
  166. package/Source/Core/GoogleEarthEnterpriseTileInformation.js +2 -2
  167. package/Source/Core/GoogleMaps.js +1 -1
  168. package/Source/Core/GregorianDate.js +4 -4
  169. package/Source/Core/GroundPolylineGeometry.js +104 -104
  170. package/Source/Core/HeadingPitchRoll.js +7 -7
  171. package/Source/Core/HeightmapTerrainData.js +58 -54
  172. package/Source/Core/HeightmapTessellator.js +22 -23
  173. package/Source/Core/HermitePolynomialApproximation.js +8 -8
  174. package/Source/Core/HermiteSpline.js +11 -11
  175. package/Source/Core/HilbertOrder.js +1 -1
  176. package/Source/Core/Iau2006XysData.js +6 -6
  177. package/Source/Core/IauOrientationAxes.js +2 -2
  178. package/Source/Core/IauOrientationParameters.js +1 -1
  179. package/Source/Core/IndexDatatype.js +5 -5
  180. package/Source/Core/IntersectionTests.js +36 -78
  181. package/Source/Core/Intersections2D.js +3 -3
  182. package/Source/Core/Ion.js +1 -1
  183. package/Source/Core/IonGeocoderService.js +2 -2
  184. package/Source/Core/IonResource.js +5 -5
  185. package/Source/Core/Iso8601.js +3 -3
  186. package/Source/Core/JulianDate.js +23 -33
  187. package/Source/Core/KTX2Transcoder.js +11 -18
  188. package/Source/Core/LagrangePolynomialApproximation.js +1 -1
  189. package/Source/Core/LinearApproximation.js +4 -4
  190. package/Source/Core/LinearSpline.js +2 -2
  191. package/Source/Core/Math.js +4 -4
  192. package/Source/Core/Matrix2.js +3 -3
  193. package/Source/Core/Matrix3.js +16 -16
  194. package/Source/Core/Matrix4.js +31 -31
  195. package/Source/Core/MorphWeightSpline.js +2 -2
  196. package/Source/Core/NearFarScalar.js +1 -1
  197. package/Source/Core/Occluder.js +52 -56
  198. package/Source/Core/OpenCageGeocoderService.js +2 -2
  199. package/Source/Core/OrientedBoundingBox.js +52 -51
  200. package/Source/Core/OrthographicFrustum.js +11 -11
  201. package/Source/Core/OrthographicOffCenterFrustum.js +17 -17
  202. package/Source/Core/PeliasGeocoderService.js +1 -1
  203. package/Source/Core/PerspectiveFrustum.js +61 -55
  204. package/Source/Core/PerspectiveOffCenterFrustum.js +58 -59
  205. package/Source/Core/PinBuilder.js +1 -1
  206. package/Source/Core/PixelFormat.js +7 -21
  207. package/Source/Core/Plane.js +9 -9
  208. package/Source/Core/PlaneGeometry.js +1 -1
  209. package/Source/Core/PolygonGeometry.js +95 -94
  210. package/Source/Core/PolygonGeometryLibrary.js +49 -51
  211. package/Source/Core/PolygonOutlineGeometry.js +49 -51
  212. package/Source/Core/PolygonPipeline.js +31 -31
  213. package/Source/Core/PolylineGeometry.js +10 -10
  214. package/Source/Core/PolylinePipeline.js +25 -25
  215. package/Source/Core/PolylineVolumeGeometry.js +9 -9
  216. package/Source/Core/PolylineVolumeGeometryLibrary.js +51 -51
  217. package/Source/Core/PolylineVolumeOutlineGeometry.js +6 -6
  218. package/Source/Core/QuadraticRealPolynomial.js +1 -1
  219. package/Source/Core/QuantizedMeshTerrainData.js +28 -28
  220. package/Source/Core/QuarticRealPolynomial.js +1 -1
  221. package/Source/Core/Quaternion.js +19 -19
  222. package/Source/Core/QuaternionSpline.js +2 -2
  223. package/Source/Core/Rectangle.js +34 -13
  224. package/Source/Core/RectangleCollisionChecker.js +3 -3
  225. package/Source/Core/RectangleGeometry.js +55 -56
  226. package/Source/Core/RectangleGeometryLibrary.js +8 -8
  227. package/Source/Core/RectangleOutlineGeometry.js +20 -20
  228. package/Source/Core/RequestScheduler.js +6 -6
  229. package/Source/Core/Resource.js +24 -24
  230. package/Source/Core/S2Cell.js +16 -80
  231. package/Source/Core/ScreenSpaceEventHandler.js +54 -53
  232. package/Source/Core/Simon1994PlanetaryPositions.js +13 -13
  233. package/Source/Core/SimplePolylineGeometry.js +7 -7
  234. package/Source/Core/SphereGeometry.js +2 -2
  235. package/Source/Core/SphereOutlineGeometry.js +3 -3
  236. package/Source/Core/Spline.js +1 -1
  237. package/Source/Core/SteppedSpline.js +1 -1
  238. package/Source/Core/Stereographic.js +9 -9
  239. package/Source/Core/TaskProcessor.js +13 -13
  240. package/Source/Core/TerrainEncoding.js +33 -38
  241. package/Source/Core/TerrainMesh.js +1 -1
  242. package/Source/Core/TerrainProvider.js +12 -12
  243. package/Source/Core/TileAvailability.js +28 -28
  244. package/Source/Core/TileProviderError.js +5 -5
  245. package/Source/Core/TilingScheme.js +1 -1
  246. package/Source/Core/TimeInterval.js +4 -4
  247. package/Source/Core/TimeIntervalCollection.js +16 -15
  248. package/Source/Core/Tipsify.js +2 -2
  249. package/Source/Core/Transforms.js +52 -54
  250. package/Source/Core/TranslationRotationScale.js +1 -1
  251. package/Source/Core/TridiagonalSystemSolver.js +4 -4
  252. package/Source/Core/VRTheWorldTerrainProvider.js +28 -26
  253. package/Source/Core/VertexFormat.js +6 -6
  254. package/Source/Core/VerticalExaggeration.js +4 -4
  255. package/Source/Core/VideoSynchronizer.js +1 -1
  256. package/Source/Core/WallGeometry.js +18 -18
  257. package/Source/Core/WallGeometryLibrary.js +7 -7
  258. package/Source/Core/WallOutlineGeometry.js +8 -8
  259. package/Source/Core/WebMercatorProjection.js +5 -6
  260. package/Source/Core/WebMercatorTilingScheme.js +13 -13
  261. package/Source/Core/WireframeIndexGenerator.js +8 -8
  262. package/Source/Core/arrayRemoveDuplicates.js +1 -1
  263. package/Source/Core/buildModuleUrl.js +2 -2
  264. package/Source/Core/decodeGoogleEarthEnterpriseData.js +3 -3
  265. package/Source/Core/decodeVectorPolylinePositions.js +4 -4
  266. package/Source/Core/destroyObject.js +1 -1
  267. package/Source/Core/getJsonFromTypedArray.js +1 -1
  268. package/Source/Core/getMagic.js +1 -1
  269. package/Source/Core/loadImageFromTypedArray.js +2 -2
  270. package/Source/Core/loadKTX2.js +1 -1
  271. package/Source/Core/pointInsideTriangle.js +1 -1
  272. package/Source/Core/resizeImageToNextPowerOfTwo.js +1 -1
  273. package/Source/Core/sampleTerrain.js +7 -7
  274. package/Source/Core/sampleTerrainMostDetailed.js +7 -7
  275. package/Source/Core/scaleToGeodeticSurface.js +3 -3
  276. package/Source/Core/srgbToLinear.js +1 -1
  277. package/Source/Core/writeTextToCanvas.js +1 -1
  278. package/Source/DataSources/BillboardGraphics.js +13 -13
  279. package/Source/DataSources/BillboardVisualizer.js +24 -24
  280. package/Source/DataSources/BoxGeometryUpdater.js +33 -32
  281. package/Source/DataSources/BoxGraphics.js +3 -3
  282. package/Source/DataSources/CallbackPositionProperty.js +173 -0
  283. package/Source/DataSources/CallbackProperty.js +8 -2
  284. package/Source/DataSources/Cesium3DTilesetGraphics.js +1 -1
  285. package/Source/DataSources/Cesium3DTilesetVisualizer.js +6 -6
  286. package/Source/DataSources/CheckerboardMaterialProperty.js +9 -3
  287. package/Source/DataSources/ColorMaterialProperty.js +8 -2
  288. package/Source/DataSources/CompositeEntityCollection.js +14 -15
  289. package/Source/DataSources/CompositeMaterialProperty.js +10 -11
  290. package/Source/DataSources/CompositePositionProperty.js +11 -6
  291. package/Source/DataSources/CompositeProperty.js +7 -7
  292. package/Source/DataSources/ConstantPositionProperty.js +9 -3
  293. package/Source/DataSources/CorridorGeometryUpdater.js +61 -56
  294. package/Source/DataSources/CorridorGraphics.js +6 -6
  295. package/Source/DataSources/CylinderGeometryUpdater.js +42 -40
  296. package/Source/DataSources/CylinderGraphics.js +4 -4
  297. package/Source/DataSources/CzmlDataSource.js +365 -368
  298. package/Source/DataSources/DataSourceCollection.js +1 -1
  299. package/Source/DataSources/DataSourceDisplay.js +23 -23
  300. package/Source/DataSources/DynamicGeometryBatch.js +2 -2
  301. package/Source/DataSources/DynamicGeometryUpdater.js +14 -18
  302. package/Source/DataSources/EllipseGeometryUpdater.js +67 -63
  303. package/Source/DataSources/EllipseGraphics.js +7 -7
  304. package/Source/DataSources/EllipsoidGeometryUpdater.js +88 -86
  305. package/Source/DataSources/EllipsoidGraphics.js +5 -5
  306. package/Source/DataSources/Entity.js +14 -14
  307. package/Source/DataSources/EntityCluster.js +29 -27
  308. package/Source/DataSources/EntityCollection.js +7 -7
  309. package/Source/DataSources/EntityView.js +23 -23
  310. package/Source/DataSources/GeoJsonDataSource.js +25 -25
  311. package/Source/DataSources/GeometryUpdater.js +9 -10
  312. package/Source/DataSources/GeometryUpdaterSet.js +3 -3
  313. package/Source/DataSources/GeometryVisualizer.js +65 -71
  314. package/Source/DataSources/GpxDataSource.js +10 -10
  315. package/Source/DataSources/GridMaterialProperty.js +12 -6
  316. package/Source/DataSources/GroundGeometryUpdater.js +6 -6
  317. package/Source/DataSources/ImageMaterialProperty.js +10 -3
  318. package/Source/DataSources/KmlDataSource.js +212 -212
  319. package/Source/DataSources/LabelGraphics.js +14 -14
  320. package/Source/DataSources/LabelVisualizer.js +24 -24
  321. package/Source/DataSources/MaterialProperty.js +7 -1
  322. package/Source/DataSources/ModelGraphics.js +37 -17
  323. package/Source/DataSources/ModelVisualizer.js +41 -32
  324. package/Source/DataSources/NodeTransformationProperty.js +10 -4
  325. package/Source/DataSources/PathGraphics.js +2 -2
  326. package/Source/DataSources/PathVisualizer.js +99 -35
  327. package/Source/DataSources/PlaneGeometryUpdater.js +38 -37
  328. package/Source/DataSources/PlaneGraphics.js +2 -2
  329. package/Source/DataSources/PointGraphics.js +8 -8
  330. package/Source/DataSources/PointVisualizer.js +29 -29
  331. package/Source/DataSources/PolygonGeometryUpdater.js +68 -64
  332. package/Source/DataSources/PolygonGraphics.js +9 -9
  333. package/Source/DataSources/PolylineArrowMaterialProperty.js +8 -2
  334. package/Source/DataSources/PolylineDashMaterialProperty.js +11 -5
  335. package/Source/DataSources/PolylineGeometryUpdater.js +39 -44
  336. package/Source/DataSources/PolylineGlowMaterialProperty.js +10 -4
  337. package/Source/DataSources/PolylineGraphics.js +4 -4
  338. package/Source/DataSources/PolylineOutlineMaterialProperty.js +10 -4
  339. package/Source/DataSources/PolylineVisualizer.js +39 -43
  340. package/Source/DataSources/PolylineVolumeGeometryUpdater.js +70 -68
  341. package/Source/DataSources/PolylineVolumeGraphics.js +2 -2
  342. package/Source/DataSources/PositionProperty.js +5 -4
  343. package/Source/DataSources/PositionPropertyArray.js +10 -4
  344. package/Source/DataSources/Property.js +2 -2
  345. package/Source/DataSources/PropertyArray.js +6 -6
  346. package/Source/DataSources/PropertyBag.js +10 -9
  347. package/Source/DataSources/RectangleGeometryUpdater.js +68 -63
  348. package/Source/DataSources/RectangleGraphics.js +6 -6
  349. package/Source/DataSources/ReferenceProperty.js +13 -7
  350. package/Source/DataSources/Rotation.js +2 -2
  351. package/Source/DataSources/SampledPositionProperty.js +13 -7
  352. package/Source/DataSources/SampledProperty.js +22 -20
  353. package/Source/DataSources/ScaledPositionProperty.js +8 -2
  354. package/Source/DataSources/StaticGeometryColorBatch.js +41 -41
  355. package/Source/DataSources/StaticGeometryPerMaterialBatch.js +40 -40
  356. package/Source/DataSources/StaticGroundGeometryColorBatch.js +26 -27
  357. package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +46 -44
  358. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +44 -43
  359. package/Source/DataSources/StaticOutlineGeometryBatch.js +28 -29
  360. package/Source/DataSources/StripeMaterialProperty.js +9 -3
  361. package/Source/DataSources/TerrainOffsetProperty.js +20 -11
  362. package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +35 -31
  363. package/Source/DataSources/TimeIntervalCollectionProperty.js +6 -6
  364. package/Source/DataSources/VelocityOrientationProperty.js +9 -4
  365. package/Source/DataSources/VelocityVectorProperty.js +7 -9
  366. package/Source/DataSources/WallGeometryUpdater.js +25 -25
  367. package/Source/DataSources/WallGraphics.js +4 -4
  368. package/Source/DataSources/createPropertyDescriptor.js +3 -3
  369. package/Source/DataSources/exportKml.js +90 -86
  370. package/Source/DataSources/getElement.js +1 -1
  371. package/Source/DataSources/heightReferenceOnEntityPropertyChanged.js +4 -4
  372. package/Source/Renderer/AutomaticUniforms.js +3 -18
  373. package/Source/Renderer/Buffer.js +18 -18
  374. package/Source/Renderer/ClearCommand.js +1 -1
  375. package/Source/Renderer/ComputeEngine.js +1 -1
  376. package/Source/Renderer/Context.js +55 -40
  377. package/Source/Renderer/CubeMap.js +332 -354
  378. package/Source/Renderer/CubeMapFace.js +43 -65
  379. package/Source/Renderer/DrawCommand.js +50 -5
  380. package/Source/Renderer/Framebuffer.js +48 -49
  381. package/Source/Renderer/FramebufferManager.js +40 -34
  382. package/Source/Renderer/MultisampleFramebuffer.js +35 -14
  383. package/Source/Renderer/PixelDatatype.js +23 -0
  384. package/Source/Renderer/RenderState.js +36 -36
  385. package/Source/Renderer/Renderbuffer.js +3 -3
  386. package/Source/Renderer/Sampler.js +9 -15
  387. package/Source/Renderer/ShaderBuilder.js +8 -8
  388. package/Source/Renderer/ShaderCache.js +11 -15
  389. package/Source/Renderer/ShaderFunction.js +1 -1
  390. package/Source/Renderer/ShaderProgram.js +22 -15
  391. package/Source/Renderer/ShaderSource.js +40 -40
  392. package/Source/Renderer/Texture.js +455 -380
  393. package/Source/Renderer/UniformState.js +68 -80
  394. package/Source/Renderer/VertexArray.js +20 -20
  395. package/Source/Renderer/VertexArrayFacade.js +15 -16
  396. package/Source/Renderer/createUniform.js +1 -1
  397. package/Source/Renderer/createUniformArray.js +4 -4
  398. package/Source/Renderer/demodernizeShader.js +7 -5
  399. package/Source/Renderer/loadCubeMap.js +3 -8
  400. package/Source/Scene/ArcGisMapServerImageryProvider.js +39 -45
  401. package/Source/Scene/ArcGisMapService.js +4 -7
  402. package/Source/Scene/AutoExposure.js +4 -5
  403. package/Source/Scene/Axis.js +6 -6
  404. package/Source/Scene/B3dmParser.js +9 -9
  405. package/Source/Scene/BatchTable.js +7 -7
  406. package/Source/Scene/BatchTableHierarchy.js +62 -59
  407. package/Source/Scene/BatchTexture.js +2 -2
  408. package/Source/Scene/Billboard.js +45 -43
  409. package/Source/Scene/BillboardCollection.js +81 -83
  410. package/Source/Scene/BingMapsImageryProvider.js +13 -13
  411. package/Source/Scene/BoundingVolumeSemantics.js +10 -10
  412. package/Source/Scene/BoxEmitter.js +1 -1
  413. package/Source/Scene/BufferLoader.js +1 -1
  414. package/Source/Scene/Camera.js +161 -164
  415. package/Source/Scene/CameraEventAggregator.js +67 -23
  416. package/Source/Scene/CameraFlightPath.js +25 -25
  417. package/Source/Scene/Cesium3DTile.js +89 -95
  418. package/Source/Scene/Cesium3DTileBatchTable.js +61 -61
  419. package/Source/Scene/Cesium3DTileContentFactory.js +7 -7
  420. package/Source/Scene/Cesium3DTileFeature.js +1 -1
  421. package/Source/Scene/Cesium3DTileFeatureTable.js +8 -8
  422. package/Source/Scene/Cesium3DTileOptimizations.js +1 -1
  423. package/Source/Scene/Cesium3DTilePointFeature.js +11 -11
  424. package/Source/Scene/Cesium3DTileStyle.js +26 -24
  425. package/Source/Scene/Cesium3DTilesVoxelProvider.js +14 -20
  426. package/Source/Scene/Cesium3DTileset.js +81 -83
  427. package/Source/Scene/Cesium3DTilesetBaseTraversal.js +8 -16
  428. package/Source/Scene/Cesium3DTilesetCache.js +2 -2
  429. package/Source/Scene/Cesium3DTilesetHeatmap.js +5 -5
  430. package/Source/Scene/Cesium3DTilesetMetadata.js +2 -2
  431. package/Source/Scene/Cesium3DTilesetMostDetailedTraversal.js +2 -2
  432. package/Source/Scene/Cesium3DTilesetSkipTraversal.js +8 -12
  433. package/Source/Scene/Cesium3DTilesetStatistics.js +1 -1
  434. package/Source/Scene/Cesium3DTilesetTraversal.js +8 -10
  435. package/Source/Scene/ClassificationPrimitive.js +70 -69
  436. package/Source/Scene/ClippingPlaneCollection.js +39 -41
  437. package/Source/Scene/ClippingPolygon.js +8 -8
  438. package/Source/Scene/ClippingPolygonCollection.js +62 -63
  439. package/Source/Scene/CloudCollection.js +3 -10
  440. package/Source/Scene/Composite3DTileContent.js +6 -6
  441. package/Source/Scene/ConditionsExpression.js +5 -5
  442. package/Source/Scene/ContentMetadata.js +4 -4
  443. package/Source/Scene/CreditDisplay.js +8 -8
  444. package/Source/Scene/CumulusCloud.js +4 -4
  445. package/Source/Scene/DebugAppearance.js +2 -2
  446. package/Source/Scene/DebugCameraPrimitive.js +2 -2
  447. package/Source/Scene/DebugInspector.js +3 -3
  448. package/Source/Scene/DebugModelMatrixPrimitive.js +4 -4
  449. package/Source/Scene/DepthPlane.js +7 -7
  450. package/Source/Scene/DerivedCommand.js +422 -238
  451. package/Source/Scene/DiscardMissingTileImagePolicy.js +1 -1
  452. package/Source/Scene/DracoLoader.js +3 -3
  453. package/Source/Scene/EllipsoidPrimitive.js +7 -7
  454. package/Source/Scene/EllipsoidSurfaceAppearance.js +3 -3
  455. package/Source/Scene/Empty3DTileContent.js +1 -1
  456. package/Source/Scene/Expression.js +91 -91
  457. package/Source/Scene/Fog.js +8 -41
  458. package/Source/Scene/FrameRateMonitor.js +22 -22
  459. package/Source/Scene/FrameState.js +31 -0
  460. package/Source/Scene/Geometry3DTileContent.js +20 -20
  461. package/Source/Scene/GetFeatureInfoFormat.js +15 -14
  462. package/Source/Scene/Globe.js +33 -28
  463. package/Source/Scene/GlobeDepth.js +95 -66
  464. package/Source/Scene/GlobeSurfaceShaderSet.js +41 -34
  465. package/Source/Scene/GlobeSurfaceTile.js +33 -33
  466. package/Source/Scene/GlobeSurfaceTileProvider.js +132 -127
  467. package/Source/Scene/GlobeTranslucency.js +4 -4
  468. package/Source/Scene/GlobeTranslucencyFramebuffer.js +9 -9
  469. package/Source/Scene/GlobeTranslucencyState.js +53 -55
  470. package/Source/Scene/GltfBufferViewLoader.js +2 -2
  471. package/Source/Scene/GltfIndexBufferLoader.js +5 -5
  472. package/Source/Scene/GltfJsonLoader.js +2 -2
  473. package/Source/Scene/GltfLoader.js +177 -100
  474. package/Source/Scene/GltfStructuralMetadataLoader.js +9 -8
  475. package/Source/Scene/GltfTextureLoader.js +5 -5
  476. package/Source/Scene/GltfVertexBufferLoader.js +12 -13
  477. package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +9 -9
  478. package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +9 -9
  479. package/Source/Scene/GridImageryProvider.js +2 -2
  480. package/Source/Scene/GroundPolylinePrimitive.js +38 -39
  481. package/Source/Scene/GroundPrimitive.js +47 -45
  482. package/Source/Scene/GroupMetadata.js +4 -4
  483. package/Source/Scene/I3SDataProvider.js +12 -12
  484. package/Source/Scene/I3SDecoder.js +7 -8
  485. package/Source/Scene/I3SField.js +8 -8
  486. package/Source/Scene/I3SGeometry.js +14 -14
  487. package/Source/Scene/I3SLayer.js +26 -20
  488. package/Source/Scene/I3SNode.js +17 -17
  489. package/Source/Scene/I3SSublayer.js +4 -4
  490. package/Source/Scene/I3SSymbology.js +8 -8
  491. package/Source/Scene/I3dmParser.js +9 -9
  492. package/Source/Scene/ImageBasedLighting.js +58 -56
  493. package/Source/Scene/Imagery.js +3 -3
  494. package/Source/Scene/ImageryLayer.js +64 -66
  495. package/Source/Scene/ImageryLayerCollection.js +13 -15
  496. package/Source/Scene/ImageryLayerFeatureInfo.js +19 -20
  497. package/Source/Scene/ImageryProvider.js +1 -1
  498. package/Source/Scene/Implicit3DTileContent.js +34 -37
  499. package/Source/Scene/ImplicitAvailabilityBitstream.js +2 -2
  500. package/Source/Scene/ImplicitMetadataView.js +2 -2
  501. package/Source/Scene/ImplicitSubtree.js +29 -30
  502. package/Source/Scene/ImplicitSubtreeCache.js +1 -1
  503. package/Source/Scene/ImplicitSubtreeMetadata.js +5 -5
  504. package/Source/Scene/ImplicitTileCoordinates.js +11 -11
  505. package/Source/Scene/ImplicitTileset.js +2 -2
  506. package/Source/Scene/InvertClassification.js +7 -7
  507. package/Source/Scene/IonImageryProvider.js +6 -6
  508. package/Source/Scene/JobScheduler.js +4 -4
  509. package/Source/Scene/Label.js +31 -31
  510. package/Source/Scene/LabelCollection.js +17 -15
  511. package/Source/Scene/MapboxImageryProvider.js +3 -3
  512. package/Source/Scene/MapboxStyleImageryProvider.js +4 -4
  513. package/Source/Scene/Material.js +50 -29
  514. package/Source/Scene/MaterialAppearance.js +4 -4
  515. package/Source/Scene/Megatexture.js +21 -24
  516. package/Source/Scene/MetadataClassProperty.js +11 -11
  517. package/Source/Scene/MetadataComponentType.js +1 -1
  518. package/Source/Scene/MetadataEntity.js +8 -8
  519. package/Source/Scene/MetadataEnum.js +1 -1
  520. package/Source/Scene/MetadataPicking.js +305 -0
  521. package/Source/Scene/MetadataSchemaLoader.js +1 -1
  522. package/Source/Scene/MetadataTable.js +2 -2
  523. package/Source/Scene/MetadataTableProperty.js +22 -22
  524. package/Source/Scene/Model/AlphaPipelineStage.js +2 -2
  525. package/Source/Scene/Model/AtmospherePipelineStage.js +3 -3
  526. package/Source/Scene/Model/B3dmLoader.js +8 -8
  527. package/Source/Scene/Model/BatchTexturePipelineStage.js +2 -2
  528. package/Source/Scene/Model/CPUStylingPipelineStage.js +4 -4
  529. package/Source/Scene/Model/ClassificationModelDrawCommand.js +8 -8
  530. package/Source/Scene/Model/ClassificationPipelineStage.js +5 -5
  531. package/Source/Scene/Model/CustomShader.js +9 -9
  532. package/Source/Scene/Model/CustomShaderPipelineStage.js +37 -38
  533. package/Source/Scene/Model/DequantizationPipelineStage.js +5 -5
  534. package/Source/Scene/Model/Extensions/Gpm/AnchorPointDirect.js +61 -0
  535. package/Source/Scene/Model/Extensions/Gpm/AnchorPointIndirect.js +77 -0
  536. package/Source/Scene/Model/Extensions/Gpm/CorrelationGroup.js +81 -0
  537. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +248 -0
  538. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLocal.js +179 -0
  539. package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +548 -0
  540. package/Source/Scene/Model/Extensions/Gpm/MeshPrimitiveGpmLocal.js +28 -0
  541. package/Source/Scene/Model/Extensions/Gpm/PpeMetadata.js +79 -0
  542. package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +75 -0
  543. package/Source/Scene/Model/Extensions/Gpm/PpeTexture.js +127 -0
  544. package/Source/Scene/Model/Extensions/Gpm/Spdcf.js +103 -0
  545. package/Source/Scene/Model/Extensions/Gpm/StorageType.js +30 -0
  546. package/Source/Scene/Model/FeatureIdPipelineStage.js +40 -40
  547. package/Source/Scene/Model/GeoJsonLoader.js +17 -17
  548. package/Source/Scene/Model/GeometryPipelineStage.js +23 -24
  549. package/Source/Scene/Model/I3dmLoader.js +36 -36
  550. package/Source/Scene/Model/ImageBasedLightingPipelineStage.js +22 -30
  551. package/Source/Scene/Model/InstancingPipelineStage.js +86 -86
  552. package/Source/Scene/Model/LightingPipelineStage.js +4 -4
  553. package/Source/Scene/Model/MaterialPipelineStage.js +78 -93
  554. package/Source/Scene/Model/MetadataPickingPipelineStage.js +96 -0
  555. package/Source/Scene/Model/MetadataPipelineStage.js +39 -47
  556. package/Source/Scene/Model/Model.js +134 -54
  557. package/Source/Scene/Model/Model3DTileContent.js +32 -13
  558. package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
  559. package/Source/Scene/Model/ModelAnimationCollection.js +9 -9
  560. package/Source/Scene/Model/ModelArticulation.js +2 -2
  561. package/Source/Scene/Model/ModelArticulationStage.js +4 -4
  562. package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +11 -11
  563. package/Source/Scene/Model/ModelClippingPolygonsPipelineStage.js +6 -6
  564. package/Source/Scene/Model/ModelColorPipelineStage.js +12 -13
  565. package/Source/Scene/Model/ModelDrawCommand.js +5 -5
  566. package/Source/Scene/Model/{buildDrawCommand.js → ModelDrawCommands.js} +85 -28
  567. package/Source/Scene/Model/ModelFeatureTable.js +5 -5
  568. package/Source/Scene/Model/ModelMatrixUpdateStage.js +24 -12
  569. package/Source/Scene/Model/ModelRenderResources.js +1 -1
  570. package/Source/Scene/Model/ModelRuntimeNode.js +15 -15
  571. package/Source/Scene/Model/ModelRuntimePrimitive.js +8 -5
  572. package/Source/Scene/Model/ModelSceneGraph.js +42 -43
  573. package/Source/Scene/Model/ModelSilhouettePipelineStage.js +4 -4
  574. package/Source/Scene/Model/ModelSkin.js +4 -4
  575. package/Source/Scene/Model/ModelSplitterPipelineStage.js +8 -9
  576. package/Source/Scene/Model/ModelUtility.js +5 -5
  577. package/Source/Scene/Model/MorphTargetsPipelineStage.js +18 -18
  578. package/Source/Scene/Model/NodeRenderResources.js +1 -1
  579. package/Source/Scene/Model/NodeStatisticsPipelineStage.js +1 -1
  580. package/Source/Scene/Model/PickingPipelineStage.js +5 -5
  581. package/Source/Scene/Model/PntsLoader.js +7 -7
  582. package/Source/Scene/Model/PointCloudStylingPipelineStage.js +22 -23
  583. package/Source/Scene/Model/PrimitiveOutlineGenerator.js +6 -6
  584. package/Source/Scene/Model/PrimitiveOutlinePipelineStage.js +7 -7
  585. package/Source/Scene/Model/PrimitiveRenderResources.js +3 -3
  586. package/Source/Scene/Model/PrimitiveStatisticsPipelineStage.js +1 -1
  587. package/Source/Scene/Model/SceneMode2DPipelineStage.js +23 -23
  588. package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +10 -14
  589. package/Source/Scene/Model/SkinningPipelineStage.js +5 -5
  590. package/Source/Scene/Model/StyleCommandsNeeded.js +1 -1
  591. package/Source/Scene/Model/TextureManager.js +2 -2
  592. package/Source/Scene/Model/TextureUniform.js +3 -3
  593. package/Source/Scene/Model/TilesetPipelineStage.js +2 -2
  594. package/Source/Scene/Model/VerticalExaggerationPipelineStage.js +4 -4
  595. package/Source/Scene/Model/WireframePipelineStage.js +7 -7
  596. package/Source/Scene/Model/pickModel.js +26 -26
  597. package/Source/Scene/ModelComponents.js +13 -4
  598. package/Source/Scene/Moon.js +6 -5
  599. package/Source/Scene/Multiple3DTileContent.js +15 -14
  600. package/Source/Scene/OIT.js +48 -97
  601. package/Source/Scene/OpenStreetMapImageryProvider.js +8 -7
  602. package/Source/Scene/OrderedGroundPrimitiveCollection.js +2 -2
  603. package/Source/Scene/Particle.js +3 -3
  604. package/Source/Scene/ParticleEmitter.js +1 -1
  605. package/Source/Scene/ParticleSystem.js +32 -32
  606. package/Source/Scene/PerInstanceColorAppearance.js +1 -1
  607. package/Source/Scene/PickDepth.js +16 -4
  608. package/Source/Scene/PickDepthFramebuffer.js +1 -1
  609. package/Source/Scene/PickFramebuffer.js +24 -12
  610. package/Source/Scene/PickedMetadataInfo.js +39 -0
  611. package/Source/Scene/Picking.js +270 -120
  612. package/Source/Scene/PntsParser.js +28 -28
  613. package/Source/Scene/PointCloud.js +39 -38
  614. package/Source/Scene/PointCloudEyeDomeLighting.js +6 -6
  615. package/Source/Scene/PointCloudShading.js +3 -3
  616. package/Source/Scene/PointPrimitive.js +31 -28
  617. package/Source/Scene/PointPrimitiveCollection.js +34 -33
  618. package/Source/Scene/Polyline.js +9 -9
  619. package/Source/Scene/PolylineCollection.js +55 -57
  620. package/Source/Scene/PolylineColorAppearance.js +3 -3
  621. package/Source/Scene/PolylineMaterialAppearance.js +3 -3
  622. package/Source/Scene/PostProcessStage.js +95 -115
  623. package/Source/Scene/PostProcessStageCollection.js +73 -49
  624. package/Source/Scene/PostProcessStageComposite.js +2 -2
  625. package/Source/Scene/PostProcessStageLibrary.js +30 -4
  626. package/Source/Scene/PostProcessStageTextureCache.js +10 -10
  627. package/Source/Scene/Primitive.js +93 -93
  628. package/Source/Scene/PrimitiveCollection.js +1 -1
  629. package/Source/Scene/PrimitiveLoadPlan.js +1 -1
  630. package/Source/Scene/PrimitivePipeline.js +30 -30
  631. package/Source/Scene/PropertyTable.js +5 -5
  632. package/Source/Scene/PropertyTextureProperty.js +36 -7
  633. package/Source/Scene/QuadtreePrimitive.js +56 -58
  634. package/Source/Scene/QuadtreeTile.js +4 -4
  635. package/Source/Scene/QuadtreeTileProvider.js +1 -1
  636. package/Source/Scene/ResourceCache.js +7 -7
  637. package/Source/Scene/ResourceCacheKey.js +15 -15
  638. package/Source/Scene/Scene.js +897 -677
  639. package/Source/Scene/SceneFramebuffer.js +2 -2
  640. package/Source/Scene/SceneTransforms.js +30 -92
  641. package/Source/Scene/SceneTransitioner.js +47 -47
  642. package/Source/Scene/ScreenSpaceCameraController.js +171 -157
  643. package/Source/Scene/SensorVolumePortionToDisplay.js +1 -1
  644. package/Source/Scene/ShadowMap.js +71 -72
  645. package/Source/Scene/ShadowMapShader.js +9 -9
  646. package/Source/Scene/ShadowVolumeAppearance.js +39 -39
  647. package/Source/Scene/SingleTileImageryProvider.js +3 -3
  648. package/Source/Scene/SkyAtmosphere.js +8 -8
  649. package/Source/Scene/SkyBox.js +17 -24
  650. package/Source/Scene/SpatialNode.js +13 -13
  651. package/Source/Scene/SpecularEnvironmentCubeMap.js +240 -0
  652. package/Source/Scene/SphereEmitter.js +1 -1
  653. package/Source/Scene/StructuralMetadata.js +1 -1
  654. package/Source/Scene/StyleExpression.js +1 -1
  655. package/Source/Scene/Sun.js +11 -7
  656. package/Source/Scene/SunPostProcess.js +6 -6
  657. package/Source/Scene/TerrainFillMesh.js +157 -156
  658. package/Source/Scene/TextureAtlas.js +11 -11
  659. package/Source/Scene/TileBoundingRegion.js +31 -31
  660. package/Source/Scene/TileBoundingS2Cell.js +37 -40
  661. package/Source/Scene/TileBoundingSphere.js +2 -2
  662. package/Source/Scene/TileCoordinatesImageryProvider.js +3 -3
  663. package/Source/Scene/TileImagery.js +7 -11
  664. package/Source/Scene/TileMapServiceImageryProvider.js +26 -25
  665. package/Source/Scene/TileMetadata.js +4 -4
  666. package/Source/Scene/TileOrientedBoundingBox.js +6 -6
  667. package/Source/Scene/Tileset3DTileContent.js +1 -1
  668. package/Source/Scene/TilesetMetadata.js +4 -4
  669. package/Source/Scene/TimeDynamicImagery.js +3 -3
  670. package/Source/Scene/TimeDynamicPointCloud.js +9 -9
  671. package/Source/Scene/Tonemapper.js +35 -23
  672. package/Source/Scene/TranslucentTileClassification.js +48 -58
  673. package/Source/Scene/TweenCollection.js +9 -9
  674. package/Source/Scene/UrlTemplateImageryProvider.js +23 -23
  675. package/Source/Scene/Vector3DTileClampedPolylines.js +21 -21
  676. package/Source/Scene/Vector3DTileContent.js +38 -39
  677. package/Source/Scene/Vector3DTileGeometry.js +11 -8
  678. package/Source/Scene/Vector3DTilePoints.js +18 -22
  679. package/Source/Scene/Vector3DTilePolygons.js +6 -6
  680. package/Source/Scene/Vector3DTilePolylines.js +8 -8
  681. package/Source/Scene/Vector3DTilePrimitive.js +30 -31
  682. package/Source/Scene/View.js +111 -80
  683. package/Source/Scene/VoxelBoxShape.js +34 -34
  684. package/Source/Scene/VoxelCell.js +7 -7
  685. package/Source/Scene/VoxelContent.js +1 -1
  686. package/Source/Scene/VoxelCylinderShape.js +48 -48
  687. package/Source/Scene/VoxelEllipsoidShape.js +83 -97
  688. package/Source/Scene/VoxelPrimitive.js +80 -109
  689. package/Source/Scene/VoxelRenderResources.js +13 -16
  690. package/Source/Scene/VoxelTraversal.js +41 -41
  691. package/Source/Scene/WebMapServiceImageryProvider.js +12 -12
  692. package/Source/Scene/WebMapTileServiceImageryProvider.js +8 -8
  693. package/Source/Scene/buildVoxelDrawCommands.js +10 -14
  694. package/Source/Scene/computeFlyToLocationForRectangle.js +7 -5
  695. package/Source/Scene/createBillboardPointCallback.js +2 -2
  696. package/Source/Scene/createElevationBandMaterial.js +8 -8
  697. package/Source/Scene/createGooglePhotorealistic3DTileset.js +1 -1
  698. package/Source/Scene/createOsmBuildingsAsync.js +1 -1
  699. package/Source/Scene/createTangentSpaceDebugPrimitive.js +7 -7
  700. package/Source/Scene/findContentMetadata.js +2 -2
  701. package/Source/Scene/findTileMetadata.js +2 -2
  702. package/Source/Scene/getBinaryAccessor.js +1 -1
  703. package/Source/Scene/getClipAndStyleCode.js +1 -1
  704. package/Source/Scene/getClippingFunction.js +1 -1
  705. package/Source/Scene/getMetadataClassProperty.js +43 -0
  706. package/Source/Scene/parseBatchTable.js +21 -24
  707. package/Source/Scene/parseFeatureMetadataLegacy.js +3 -3
  708. package/Source/Scene/parseStructuralMetadata.js +3 -3
  709. package/Source/Scene/processVoxelProperties.js +28 -33
  710. package/Source/Shaders/Builtin/CzmBuiltins.js +2 -2
  711. package/Source/Shaders/Builtin/Functions/packDepth.glsl +2 -2
  712. package/Source/Shaders/Builtin/Functions/packDepth.js +2 -2
  713. package/Source/Shaders/Builtin/Functions/pbrLighting.glsl +2 -2
  714. package/Source/Shaders/Builtin/Functions/pbrLighting.js +2 -2
  715. package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.glsl +23 -0
  716. package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.js +25 -0
  717. package/Source/Shaders/Builtin/Functions/textureCube.glsl +21 -2
  718. package/Source/Shaders/Builtin/Functions/textureCube.js +21 -2
  719. package/Source/Shaders/Builtin/Functions/unpackDepth.glsl +3 -3
  720. package/Source/Shaders/Builtin/Functions/unpackDepth.js +3 -3
  721. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.glsl +1 -1
  722. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.js +1 -1
  723. package/Source/Shaders/Builtin/Functions/writeLogDepth.glsl +2 -2
  724. package/Source/Shaders/Builtin/Functions/writeLogDepth.js +2 -2
  725. package/Source/Shaders/Builtin/Structs/materialInput.glsl +2 -0
  726. package/Source/Shaders/Builtin/Structs/materialInput.js +2 -0
  727. package/Source/Shaders/DepthPlaneVS.glsl +1 -1
  728. package/Source/Shaders/DepthPlaneVS.js +1 -1
  729. package/Source/Shaders/GlobeFS.glsl +10 -4
  730. package/Source/Shaders/GlobeFS.js +10 -4
  731. package/Source/Shaders/Materials/WaterMaskMaterial.glsl +15 -0
  732. package/Source/Shaders/Materials/WaterMaskMaterial.js +17 -0
  733. package/Source/Shaders/Model/AtmosphereStageFS.glsl +1 -1
  734. package/Source/Shaders/Model/AtmosphereStageFS.js +1 -1
  735. package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +40 -29
  736. package/Source/Shaders/Model/ImageBasedLightingStageFS.js +40 -29
  737. package/Source/Shaders/Model/LightingStageFS.glsl +2 -2
  738. package/Source/Shaders/Model/LightingStageFS.js +2 -2
  739. package/Source/Shaders/Model/ModelFS.glsl +26 -0
  740. package/Source/Shaders/Model/ModelFS.js +26 -0
  741. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.glsl +4 -0
  742. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.js +4 -0
  743. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +59 -59
  744. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +60 -60
  745. package/Source/Shaders/PostProcessStages/FilmicTonemapping.glsl +4 -0
  746. package/Source/Shaders/PostProcessStages/FilmicTonemapping.js +4 -0
  747. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.glsl +4 -0
  748. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.js +4 -0
  749. package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.glsl +25 -0
  750. package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.js +27 -0
  751. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.glsl +4 -0
  752. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.js +4 -0
  753. package/Source/Shaders/SkyAtmosphereFS.glsl +1 -1
  754. package/Source/Shaders/SkyAtmosphereFS.js +1 -1
  755. package/Source/Widget/CesiumWidget.js +10 -9
  756. package/Source/Workers/combineGeometry.js +3 -4
  757. package/Source/Workers/createCircleGeometry.js +2 -2
  758. package/Source/Workers/createCircleOutlineGeometry.js +2 -2
  759. package/Source/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
  760. package/Source/Workers/createCorridorOutlineGeometry.js +2 -2
  761. package/Source/Workers/createEllipsoidOutlineGeometry.js +1 -1
  762. package/Source/Workers/createGeometry.js +4 -5
  763. package/Source/Workers/createGroundPolylineGeometry.js +1 -1
  764. package/Source/Workers/createPolylineVolumeGeometry.js +2 -2
  765. package/Source/Workers/createPolylineVolumeOutlineGeometry.js +4 -4
  766. package/Source/Workers/createRectangleOutlineGeometry.js +1 -1
  767. package/Source/Workers/createSimplePolylineGeometry.js +2 -2
  768. package/Source/Workers/createTaskProcessorWorker.js +1 -1
  769. package/Source/Workers/createVectorTileClampedPolylines.js +30 -30
  770. package/Source/Workers/createVectorTileGeometries.js +18 -18
  771. package/Source/Workers/createVectorTilePoints.js +3 -3
  772. package/Source/Workers/createVectorTilePolygons.js +11 -11
  773. package/Source/Workers/createVectorTilePolylines.js +7 -7
  774. package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +29 -30
  775. package/Source/Workers/createVerticesFromQuantizedTerrainMesh.js +60 -60
  776. package/Source/Workers/decodeDraco.js +23 -23
  777. package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +3 -3
  778. package/Source/Workers/decodeI3S.js +53 -53
  779. package/Source/Workers/transcodeKTX2.js +9 -9
  780. package/Source/Workers/transferTypedArrayTest.js +1 -1
  781. package/Source/Workers/upsampleQuantizedTerrainMesh.js +37 -36
  782. package/index.d.ts +620 -136
  783. package/index.js +221 -205
  784. package/package.json +3 -3
  785. package/Build/Workers/chunk-2GEAGYUY.js +0 -1477
  786. package/Build/Workers/chunk-3WUV74WM.js +0 -1800
  787. package/Build/Workers/chunk-4MSUJ4I7.js +0 -456
  788. package/Build/Workers/chunk-5KWHSZYL.js +0 -834
  789. package/Build/Workers/chunk-5O6JWQ4E.js +0 -398
  790. package/Build/Workers/chunk-6OFDHMHR.js +0 -1258
  791. package/Build/Workers/chunk-AA4GZKOT.js +0 -75
  792. package/Build/Workers/chunk-B75IEX2S.js +0 -390
  793. package/Build/Workers/chunk-BAVI3ZS2.js +0 -39
  794. package/Build/Workers/chunk-BBDZYSZB.js +0 -287
  795. package/Build/Workers/chunk-C45MU4GZ.js +0 -220
  796. package/Build/Workers/chunk-CF7P7K7E.js +0 -684
  797. package/Build/Workers/chunk-D4K27X2M.js +0 -305
  798. package/Build/Workers/chunk-DKVHRNFY.js +0 -100
  799. package/Build/Workers/chunk-ELI4BUOT.js +0 -963
  800. package/Build/Workers/chunk-FQPSOOPH.js +0 -258
  801. package/Build/Workers/chunk-GNHZH7HP.js +0 -37
  802. package/Build/Workers/chunk-GWT64LKY.js +0 -171
  803. package/Build/Workers/chunk-HGEEOMSC.js +0 -157
  804. package/Build/Workers/chunk-IUROUBPA.js +0 -300
  805. package/Build/Workers/chunk-JNLWLSTP.js +0 -476
  806. package/Build/Workers/chunk-JYQNWIQQ.js +0 -44
  807. package/Build/Workers/chunk-KUN2ZA5X.js +0 -138
  808. package/Build/Workers/chunk-LXQ5QAEJ.js +0 -196
  809. package/Build/Workers/chunk-MBZH7YZ7.js +0 -945
  810. package/Build/Workers/chunk-MKXWJTFQ.js +0 -781
  811. package/Build/Workers/chunk-MMV6TO3P.js +0 -101
  812. package/Build/Workers/chunk-MSKXMXJI.js +0 -500
  813. package/Build/Workers/chunk-OAPA2RTG.js +0 -239
  814. package/Build/Workers/chunk-OE4MCOC7.js +0 -421
  815. package/Build/Workers/chunk-OJF4RTJG.js +0 -634
  816. package/Build/Workers/chunk-OXSI7N4C.js +0 -768
  817. package/Build/Workers/chunk-PYHLO636.js +0 -2857
  818. package/Build/Workers/chunk-QD4KM3GO.js +0 -138
  819. package/Build/Workers/chunk-QMLTCCYG.js +0 -55
  820. package/Build/Workers/chunk-QYQIVZBU.js +0 -117
  821. package/Build/Workers/chunk-R3TKLC6E.js +0 -1075
  822. package/Build/Workers/chunk-R4ZEWO4I.js +0 -122
  823. package/Build/Workers/chunk-RCK55EDX.js +0 -691
  824. package/Build/Workers/chunk-RHBWXX7C.js +0 -629
  825. package/Build/Workers/chunk-SAPFXU5X.js +0 -102
  826. package/Build/Workers/chunk-TBBFDFCS.js +0 -368
  827. package/Build/Workers/chunk-TGY6H6N6.js +0 -163
  828. package/Build/Workers/chunk-UOEUCKKU.js +0 -59
  829. package/Build/Workers/chunk-VFBNELXB.js +0 -353
  830. package/Build/Workers/chunk-VYWUFRRR.js +0 -1052
  831. package/Build/Workers/chunk-WVSELU6O.js +0 -2716
  832. package/Build/Workers/chunk-X43SJLQL.js +0 -10364
  833. package/Build/Workers/chunk-XUOJCLOH.js +0 -511
  834. package/Build/Workers/chunk-YLYBLJ3Y.js +0 -73
  835. package/Build/Workers/chunk-ZEE2EIFD.js +0 -430
  836. package/Build/Workers/chunk-ZIKGV7EL.js +0 -58
  837. package/Source/Scene/OctahedralProjectedCubeMap.js +0 -444
  838. package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.glsl +0 -78
  839. package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.js +0 -80
  840. package/Source/Shaders/OctahedralProjectionAtlasFS.glsl +0 -89
  841. package/Source/Shaders/OctahedralProjectionAtlasFS.js +0 -91
  842. package/Source/Shaders/OctahedralProjectionFS.glsl +0 -14
  843. package/Source/Shaders/OctahedralProjectionFS.js +0 -16
  844. package/Source/Shaders/OctahedralProjectionVS.glsl +0 -10
  845. package/Source/Shaders/OctahedralProjectionVS.js +0 -12
@@ -1,963 +0,0 @@
1
- /**
2
- * @license
3
- * Cesium - https://github.com/CesiumGS/cesium
4
- * Version 1.120
5
- *
6
- * Copyright 2011-2022 Cesium Contributors
7
- *
8
- * Licensed under the Apache License, Version 2.0 (the "License");
9
- * you may not use this file except in compliance with the License.
10
- * You may obtain a copy of the License at
11
- *
12
- * http://www.apache.org/licenses/LICENSE-2.0
13
- *
14
- * Unless required by applicable law or agreed to in writing, software
15
- * distributed under the License is distributed on an "AS IS" BASIS,
16
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
- * See the License for the specific language governing permissions and
18
- * limitations under the License.
19
- *
20
- * Columbus View (Pat. Pend.)
21
- *
22
- * Portions licensed separately.
23
- * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
24
- */
25
-
26
- import {
27
- Matrix4_default,
28
- Rectangle_default
29
- } from "./chunk-OXALEQPI.js";
30
- import {
31
- Cartesian3_default,
32
- Cartographic_default,
33
- Ellipsoid_default,
34
- Matrix3_default
35
- } from "./chunk-T6LPN7RI.js";
36
- import {
37
- Math_default
38
- } from "./chunk-R4OIEIPE.js";
39
- import {
40
- defaultValue_default
41
- } from "./chunk-BAVI3ZS2.js";
42
- import {
43
- Check_default,
44
- DeveloperError_default
45
- } from "./chunk-TGY6H6N6.js";
46
- import {
47
- defined_default
48
- } from "./chunk-N4QEHO3U.js";
49
-
50
- // packages/engine/Source/Core/GeographicProjection.js
51
- function GeographicProjection(ellipsoid) {
52
- this._ellipsoid = defaultValue_default(ellipsoid, Ellipsoid_default.default);
53
- this._semimajorAxis = this._ellipsoid.maximumRadius;
54
- this._oneOverSemimajorAxis = 1 / this._semimajorAxis;
55
- }
56
- Object.defineProperties(GeographicProjection.prototype, {
57
- /**
58
- * Gets the {@link Ellipsoid}.
59
- *
60
- * @memberof GeographicProjection.prototype
61
- *
62
- * @type {Ellipsoid}
63
- * @readonly
64
- */
65
- ellipsoid: {
66
- get: function() {
67
- return this._ellipsoid;
68
- }
69
- }
70
- });
71
- GeographicProjection.prototype.project = function(cartographic, result) {
72
- const semimajorAxis = this._semimajorAxis;
73
- const x = cartographic.longitude * semimajorAxis;
74
- const y = cartographic.latitude * semimajorAxis;
75
- const z = cartographic.height;
76
- if (!defined_default(result)) {
77
- return new Cartesian3_default(x, y, z);
78
- }
79
- result.x = x;
80
- result.y = y;
81
- result.z = z;
82
- return result;
83
- };
84
- GeographicProjection.prototype.unproject = function(cartesian, result) {
85
- if (!defined_default(cartesian)) {
86
- throw new DeveloperError_default("cartesian is required");
87
- }
88
- const oneOverEarthSemimajorAxis = this._oneOverSemimajorAxis;
89
- const longitude = cartesian.x * oneOverEarthSemimajorAxis;
90
- const latitude = cartesian.y * oneOverEarthSemimajorAxis;
91
- const height = cartesian.z;
92
- if (!defined_default(result)) {
93
- return new Cartographic_default(longitude, latitude, height);
94
- }
95
- result.longitude = longitude;
96
- result.latitude = latitude;
97
- result.height = height;
98
- return result;
99
- };
100
- var GeographicProjection_default = GeographicProjection;
101
-
102
- // packages/engine/Source/Core/Intersect.js
103
- var Intersect = {
104
- /**
105
- * Represents that an object is not contained within the frustum.
106
- *
107
- * @type {number}
108
- * @constant
109
- */
110
- OUTSIDE: -1,
111
- /**
112
- * Represents that an object intersects one of the frustum's planes.
113
- *
114
- * @type {number}
115
- * @constant
116
- */
117
- INTERSECTING: 0,
118
- /**
119
- * Represents that an object is fully within the frustum.
120
- *
121
- * @type {number}
122
- * @constant
123
- */
124
- INSIDE: 1
125
- };
126
- var Intersect_default = Object.freeze(Intersect);
127
-
128
- // packages/engine/Source/Core/Interval.js
129
- function Interval(start, stop) {
130
- this.start = defaultValue_default(start, 0);
131
- this.stop = defaultValue_default(stop, 0);
132
- }
133
- var Interval_default = Interval;
134
-
135
- // packages/engine/Source/Core/BoundingSphere.js
136
- function BoundingSphere(center, radius) {
137
- this.center = Cartesian3_default.clone(defaultValue_default(center, Cartesian3_default.ZERO));
138
- this.radius = defaultValue_default(radius, 0);
139
- }
140
- var fromPointsXMin = new Cartesian3_default();
141
- var fromPointsYMin = new Cartesian3_default();
142
- var fromPointsZMin = new Cartesian3_default();
143
- var fromPointsXMax = new Cartesian3_default();
144
- var fromPointsYMax = new Cartesian3_default();
145
- var fromPointsZMax = new Cartesian3_default();
146
- var fromPointsCurrentPos = new Cartesian3_default();
147
- var fromPointsScratch = new Cartesian3_default();
148
- var fromPointsRitterCenter = new Cartesian3_default();
149
- var fromPointsMinBoxPt = new Cartesian3_default();
150
- var fromPointsMaxBoxPt = new Cartesian3_default();
151
- var fromPointsNaiveCenterScratch = new Cartesian3_default();
152
- var volumeConstant = 4 / 3 * Math_default.PI;
153
- BoundingSphere.fromPoints = function(positions, result) {
154
- if (!defined_default(result)) {
155
- result = new BoundingSphere();
156
- }
157
- if (!defined_default(positions) || positions.length === 0) {
158
- result.center = Cartesian3_default.clone(Cartesian3_default.ZERO, result.center);
159
- result.radius = 0;
160
- return result;
161
- }
162
- const currentPos = Cartesian3_default.clone(positions[0], fromPointsCurrentPos);
163
- const xMin = Cartesian3_default.clone(currentPos, fromPointsXMin);
164
- const yMin = Cartesian3_default.clone(currentPos, fromPointsYMin);
165
- const zMin = Cartesian3_default.clone(currentPos, fromPointsZMin);
166
- const xMax = Cartesian3_default.clone(currentPos, fromPointsXMax);
167
- const yMax = Cartesian3_default.clone(currentPos, fromPointsYMax);
168
- const zMax = Cartesian3_default.clone(currentPos, fromPointsZMax);
169
- const numPositions = positions.length;
170
- let i;
171
- for (i = 1; i < numPositions; i++) {
172
- Cartesian3_default.clone(positions[i], currentPos);
173
- const x = currentPos.x;
174
- const y = currentPos.y;
175
- const z = currentPos.z;
176
- if (x < xMin.x) {
177
- Cartesian3_default.clone(currentPos, xMin);
178
- }
179
- if (x > xMax.x) {
180
- Cartesian3_default.clone(currentPos, xMax);
181
- }
182
- if (y < yMin.y) {
183
- Cartesian3_default.clone(currentPos, yMin);
184
- }
185
- if (y > yMax.y) {
186
- Cartesian3_default.clone(currentPos, yMax);
187
- }
188
- if (z < zMin.z) {
189
- Cartesian3_default.clone(currentPos, zMin);
190
- }
191
- if (z > zMax.z) {
192
- Cartesian3_default.clone(currentPos, zMax);
193
- }
194
- }
195
- const xSpan = Cartesian3_default.magnitudeSquared(
196
- Cartesian3_default.subtract(xMax, xMin, fromPointsScratch)
197
- );
198
- const ySpan = Cartesian3_default.magnitudeSquared(
199
- Cartesian3_default.subtract(yMax, yMin, fromPointsScratch)
200
- );
201
- const zSpan = Cartesian3_default.magnitudeSquared(
202
- Cartesian3_default.subtract(zMax, zMin, fromPointsScratch)
203
- );
204
- let diameter1 = xMin;
205
- let diameter2 = xMax;
206
- let maxSpan = xSpan;
207
- if (ySpan > maxSpan) {
208
- maxSpan = ySpan;
209
- diameter1 = yMin;
210
- diameter2 = yMax;
211
- }
212
- if (zSpan > maxSpan) {
213
- maxSpan = zSpan;
214
- diameter1 = zMin;
215
- diameter2 = zMax;
216
- }
217
- const ritterCenter = fromPointsRitterCenter;
218
- ritterCenter.x = (diameter1.x + diameter2.x) * 0.5;
219
- ritterCenter.y = (diameter1.y + diameter2.y) * 0.5;
220
- ritterCenter.z = (diameter1.z + diameter2.z) * 0.5;
221
- let radiusSquared = Cartesian3_default.magnitudeSquared(
222
- Cartesian3_default.subtract(diameter2, ritterCenter, fromPointsScratch)
223
- );
224
- let ritterRadius = Math.sqrt(radiusSquared);
225
- const minBoxPt = fromPointsMinBoxPt;
226
- minBoxPt.x = xMin.x;
227
- minBoxPt.y = yMin.y;
228
- minBoxPt.z = zMin.z;
229
- const maxBoxPt = fromPointsMaxBoxPt;
230
- maxBoxPt.x = xMax.x;
231
- maxBoxPt.y = yMax.y;
232
- maxBoxPt.z = zMax.z;
233
- const naiveCenter = Cartesian3_default.midpoint(
234
- minBoxPt,
235
- maxBoxPt,
236
- fromPointsNaiveCenterScratch
237
- );
238
- let naiveRadius = 0;
239
- for (i = 0; i < numPositions; i++) {
240
- Cartesian3_default.clone(positions[i], currentPos);
241
- const r = Cartesian3_default.magnitude(
242
- Cartesian3_default.subtract(currentPos, naiveCenter, fromPointsScratch)
243
- );
244
- if (r > naiveRadius) {
245
- naiveRadius = r;
246
- }
247
- const oldCenterToPointSquared = Cartesian3_default.magnitudeSquared(
248
- Cartesian3_default.subtract(currentPos, ritterCenter, fromPointsScratch)
249
- );
250
- if (oldCenterToPointSquared > radiusSquared) {
251
- const oldCenterToPoint = Math.sqrt(oldCenterToPointSquared);
252
- ritterRadius = (ritterRadius + oldCenterToPoint) * 0.5;
253
- radiusSquared = ritterRadius * ritterRadius;
254
- const oldToNew = oldCenterToPoint - ritterRadius;
255
- ritterCenter.x = (ritterRadius * ritterCenter.x + oldToNew * currentPos.x) / oldCenterToPoint;
256
- ritterCenter.y = (ritterRadius * ritterCenter.y + oldToNew * currentPos.y) / oldCenterToPoint;
257
- ritterCenter.z = (ritterRadius * ritterCenter.z + oldToNew * currentPos.z) / oldCenterToPoint;
258
- }
259
- }
260
- if (ritterRadius < naiveRadius) {
261
- Cartesian3_default.clone(ritterCenter, result.center);
262
- result.radius = ritterRadius;
263
- } else {
264
- Cartesian3_default.clone(naiveCenter, result.center);
265
- result.radius = naiveRadius;
266
- }
267
- return result;
268
- };
269
- var defaultProjection = new GeographicProjection_default();
270
- var fromRectangle2DLowerLeft = new Cartesian3_default();
271
- var fromRectangle2DUpperRight = new Cartesian3_default();
272
- var fromRectangle2DSouthwest = new Cartographic_default();
273
- var fromRectangle2DNortheast = new Cartographic_default();
274
- BoundingSphere.fromRectangle2D = function(rectangle, projection, result) {
275
- return BoundingSphere.fromRectangleWithHeights2D(
276
- rectangle,
277
- projection,
278
- 0,
279
- 0,
280
- result
281
- );
282
- };
283
- BoundingSphere.fromRectangleWithHeights2D = function(rectangle, projection, minimumHeight, maximumHeight, result) {
284
- if (!defined_default(result)) {
285
- result = new BoundingSphere();
286
- }
287
- if (!defined_default(rectangle)) {
288
- result.center = Cartesian3_default.clone(Cartesian3_default.ZERO, result.center);
289
- result.radius = 0;
290
- return result;
291
- }
292
- defaultProjection._ellipsoid = Ellipsoid_default.default;
293
- projection = defaultValue_default(projection, defaultProjection);
294
- Rectangle_default.southwest(rectangle, fromRectangle2DSouthwest);
295
- fromRectangle2DSouthwest.height = minimumHeight;
296
- Rectangle_default.northeast(rectangle, fromRectangle2DNortheast);
297
- fromRectangle2DNortheast.height = maximumHeight;
298
- const lowerLeft = projection.project(
299
- fromRectangle2DSouthwest,
300
- fromRectangle2DLowerLeft
301
- );
302
- const upperRight = projection.project(
303
- fromRectangle2DNortheast,
304
- fromRectangle2DUpperRight
305
- );
306
- const width = upperRight.x - lowerLeft.x;
307
- const height = upperRight.y - lowerLeft.y;
308
- const elevation = upperRight.z - lowerLeft.z;
309
- result.radius = Math.sqrt(width * width + height * height + elevation * elevation) * 0.5;
310
- const center = result.center;
311
- center.x = lowerLeft.x + width * 0.5;
312
- center.y = lowerLeft.y + height * 0.5;
313
- center.z = lowerLeft.z + elevation * 0.5;
314
- return result;
315
- };
316
- var fromRectangle3DScratch = [];
317
- BoundingSphere.fromRectangle3D = function(rectangle, ellipsoid, surfaceHeight, result) {
318
- ellipsoid = defaultValue_default(ellipsoid, Ellipsoid_default.default);
319
- surfaceHeight = defaultValue_default(surfaceHeight, 0);
320
- if (!defined_default(result)) {
321
- result = new BoundingSphere();
322
- }
323
- if (!defined_default(rectangle)) {
324
- result.center = Cartesian3_default.clone(Cartesian3_default.ZERO, result.center);
325
- result.radius = 0;
326
- return result;
327
- }
328
- const positions = Rectangle_default.subsample(
329
- rectangle,
330
- ellipsoid,
331
- surfaceHeight,
332
- fromRectangle3DScratch
333
- );
334
- return BoundingSphere.fromPoints(positions, result);
335
- };
336
- BoundingSphere.fromVertices = function(positions, center, stride, result) {
337
- if (!defined_default(result)) {
338
- result = new BoundingSphere();
339
- }
340
- if (!defined_default(positions) || positions.length === 0) {
341
- result.center = Cartesian3_default.clone(Cartesian3_default.ZERO, result.center);
342
- result.radius = 0;
343
- return result;
344
- }
345
- center = defaultValue_default(center, Cartesian3_default.ZERO);
346
- stride = defaultValue_default(stride, 3);
347
- Check_default.typeOf.number.greaterThanOrEquals("stride", stride, 3);
348
- const currentPos = fromPointsCurrentPos;
349
- currentPos.x = positions[0] + center.x;
350
- currentPos.y = positions[1] + center.y;
351
- currentPos.z = positions[2] + center.z;
352
- const xMin = Cartesian3_default.clone(currentPos, fromPointsXMin);
353
- const yMin = Cartesian3_default.clone(currentPos, fromPointsYMin);
354
- const zMin = Cartesian3_default.clone(currentPos, fromPointsZMin);
355
- const xMax = Cartesian3_default.clone(currentPos, fromPointsXMax);
356
- const yMax = Cartesian3_default.clone(currentPos, fromPointsYMax);
357
- const zMax = Cartesian3_default.clone(currentPos, fromPointsZMax);
358
- const numElements = positions.length;
359
- let i;
360
- for (i = 0; i < numElements; i += stride) {
361
- const x = positions[i] + center.x;
362
- const y = positions[i + 1] + center.y;
363
- const z = positions[i + 2] + center.z;
364
- currentPos.x = x;
365
- currentPos.y = y;
366
- currentPos.z = z;
367
- if (x < xMin.x) {
368
- Cartesian3_default.clone(currentPos, xMin);
369
- }
370
- if (x > xMax.x) {
371
- Cartesian3_default.clone(currentPos, xMax);
372
- }
373
- if (y < yMin.y) {
374
- Cartesian3_default.clone(currentPos, yMin);
375
- }
376
- if (y > yMax.y) {
377
- Cartesian3_default.clone(currentPos, yMax);
378
- }
379
- if (z < zMin.z) {
380
- Cartesian3_default.clone(currentPos, zMin);
381
- }
382
- if (z > zMax.z) {
383
- Cartesian3_default.clone(currentPos, zMax);
384
- }
385
- }
386
- const xSpan = Cartesian3_default.magnitudeSquared(
387
- Cartesian3_default.subtract(xMax, xMin, fromPointsScratch)
388
- );
389
- const ySpan = Cartesian3_default.magnitudeSquared(
390
- Cartesian3_default.subtract(yMax, yMin, fromPointsScratch)
391
- );
392
- const zSpan = Cartesian3_default.magnitudeSquared(
393
- Cartesian3_default.subtract(zMax, zMin, fromPointsScratch)
394
- );
395
- let diameter1 = xMin;
396
- let diameter2 = xMax;
397
- let maxSpan = xSpan;
398
- if (ySpan > maxSpan) {
399
- maxSpan = ySpan;
400
- diameter1 = yMin;
401
- diameter2 = yMax;
402
- }
403
- if (zSpan > maxSpan) {
404
- maxSpan = zSpan;
405
- diameter1 = zMin;
406
- diameter2 = zMax;
407
- }
408
- const ritterCenter = fromPointsRitterCenter;
409
- ritterCenter.x = (diameter1.x + diameter2.x) * 0.5;
410
- ritterCenter.y = (diameter1.y + diameter2.y) * 0.5;
411
- ritterCenter.z = (diameter1.z + diameter2.z) * 0.5;
412
- let radiusSquared = Cartesian3_default.magnitudeSquared(
413
- Cartesian3_default.subtract(diameter2, ritterCenter, fromPointsScratch)
414
- );
415
- let ritterRadius = Math.sqrt(radiusSquared);
416
- const minBoxPt = fromPointsMinBoxPt;
417
- minBoxPt.x = xMin.x;
418
- minBoxPt.y = yMin.y;
419
- minBoxPt.z = zMin.z;
420
- const maxBoxPt = fromPointsMaxBoxPt;
421
- maxBoxPt.x = xMax.x;
422
- maxBoxPt.y = yMax.y;
423
- maxBoxPt.z = zMax.z;
424
- const naiveCenter = Cartesian3_default.midpoint(
425
- minBoxPt,
426
- maxBoxPt,
427
- fromPointsNaiveCenterScratch
428
- );
429
- let naiveRadius = 0;
430
- for (i = 0; i < numElements; i += stride) {
431
- currentPos.x = positions[i] + center.x;
432
- currentPos.y = positions[i + 1] + center.y;
433
- currentPos.z = positions[i + 2] + center.z;
434
- const r = Cartesian3_default.magnitude(
435
- Cartesian3_default.subtract(currentPos, naiveCenter, fromPointsScratch)
436
- );
437
- if (r > naiveRadius) {
438
- naiveRadius = r;
439
- }
440
- const oldCenterToPointSquared = Cartesian3_default.magnitudeSquared(
441
- Cartesian3_default.subtract(currentPos, ritterCenter, fromPointsScratch)
442
- );
443
- if (oldCenterToPointSquared > radiusSquared) {
444
- const oldCenterToPoint = Math.sqrt(oldCenterToPointSquared);
445
- ritterRadius = (ritterRadius + oldCenterToPoint) * 0.5;
446
- radiusSquared = ritterRadius * ritterRadius;
447
- const oldToNew = oldCenterToPoint - ritterRadius;
448
- ritterCenter.x = (ritterRadius * ritterCenter.x + oldToNew * currentPos.x) / oldCenterToPoint;
449
- ritterCenter.y = (ritterRadius * ritterCenter.y + oldToNew * currentPos.y) / oldCenterToPoint;
450
- ritterCenter.z = (ritterRadius * ritterCenter.z + oldToNew * currentPos.z) / oldCenterToPoint;
451
- }
452
- }
453
- if (ritterRadius < naiveRadius) {
454
- Cartesian3_default.clone(ritterCenter, result.center);
455
- result.radius = ritterRadius;
456
- } else {
457
- Cartesian3_default.clone(naiveCenter, result.center);
458
- result.radius = naiveRadius;
459
- }
460
- return result;
461
- };
462
- BoundingSphere.fromEncodedCartesianVertices = function(positionsHigh, positionsLow, result) {
463
- if (!defined_default(result)) {
464
- result = new BoundingSphere();
465
- }
466
- if (!defined_default(positionsHigh) || !defined_default(positionsLow) || positionsHigh.length !== positionsLow.length || positionsHigh.length === 0) {
467
- result.center = Cartesian3_default.clone(Cartesian3_default.ZERO, result.center);
468
- result.radius = 0;
469
- return result;
470
- }
471
- const currentPos = fromPointsCurrentPos;
472
- currentPos.x = positionsHigh[0] + positionsLow[0];
473
- currentPos.y = positionsHigh[1] + positionsLow[1];
474
- currentPos.z = positionsHigh[2] + positionsLow[2];
475
- const xMin = Cartesian3_default.clone(currentPos, fromPointsXMin);
476
- const yMin = Cartesian3_default.clone(currentPos, fromPointsYMin);
477
- const zMin = Cartesian3_default.clone(currentPos, fromPointsZMin);
478
- const xMax = Cartesian3_default.clone(currentPos, fromPointsXMax);
479
- const yMax = Cartesian3_default.clone(currentPos, fromPointsYMax);
480
- const zMax = Cartesian3_default.clone(currentPos, fromPointsZMax);
481
- const numElements = positionsHigh.length;
482
- let i;
483
- for (i = 0; i < numElements; i += 3) {
484
- const x = positionsHigh[i] + positionsLow[i];
485
- const y = positionsHigh[i + 1] + positionsLow[i + 1];
486
- const z = positionsHigh[i + 2] + positionsLow[i + 2];
487
- currentPos.x = x;
488
- currentPos.y = y;
489
- currentPos.z = z;
490
- if (x < xMin.x) {
491
- Cartesian3_default.clone(currentPos, xMin);
492
- }
493
- if (x > xMax.x) {
494
- Cartesian3_default.clone(currentPos, xMax);
495
- }
496
- if (y < yMin.y) {
497
- Cartesian3_default.clone(currentPos, yMin);
498
- }
499
- if (y > yMax.y) {
500
- Cartesian3_default.clone(currentPos, yMax);
501
- }
502
- if (z < zMin.z) {
503
- Cartesian3_default.clone(currentPos, zMin);
504
- }
505
- if (z > zMax.z) {
506
- Cartesian3_default.clone(currentPos, zMax);
507
- }
508
- }
509
- const xSpan = Cartesian3_default.magnitudeSquared(
510
- Cartesian3_default.subtract(xMax, xMin, fromPointsScratch)
511
- );
512
- const ySpan = Cartesian3_default.magnitudeSquared(
513
- Cartesian3_default.subtract(yMax, yMin, fromPointsScratch)
514
- );
515
- const zSpan = Cartesian3_default.magnitudeSquared(
516
- Cartesian3_default.subtract(zMax, zMin, fromPointsScratch)
517
- );
518
- let diameter1 = xMin;
519
- let diameter2 = xMax;
520
- let maxSpan = xSpan;
521
- if (ySpan > maxSpan) {
522
- maxSpan = ySpan;
523
- diameter1 = yMin;
524
- diameter2 = yMax;
525
- }
526
- if (zSpan > maxSpan) {
527
- maxSpan = zSpan;
528
- diameter1 = zMin;
529
- diameter2 = zMax;
530
- }
531
- const ritterCenter = fromPointsRitterCenter;
532
- ritterCenter.x = (diameter1.x + diameter2.x) * 0.5;
533
- ritterCenter.y = (diameter1.y + diameter2.y) * 0.5;
534
- ritterCenter.z = (diameter1.z + diameter2.z) * 0.5;
535
- let radiusSquared = Cartesian3_default.magnitudeSquared(
536
- Cartesian3_default.subtract(diameter2, ritterCenter, fromPointsScratch)
537
- );
538
- let ritterRadius = Math.sqrt(radiusSquared);
539
- const minBoxPt = fromPointsMinBoxPt;
540
- minBoxPt.x = xMin.x;
541
- minBoxPt.y = yMin.y;
542
- minBoxPt.z = zMin.z;
543
- const maxBoxPt = fromPointsMaxBoxPt;
544
- maxBoxPt.x = xMax.x;
545
- maxBoxPt.y = yMax.y;
546
- maxBoxPt.z = zMax.z;
547
- const naiveCenter = Cartesian3_default.midpoint(
548
- minBoxPt,
549
- maxBoxPt,
550
- fromPointsNaiveCenterScratch
551
- );
552
- let naiveRadius = 0;
553
- for (i = 0; i < numElements; i += 3) {
554
- currentPos.x = positionsHigh[i] + positionsLow[i];
555
- currentPos.y = positionsHigh[i + 1] + positionsLow[i + 1];
556
- currentPos.z = positionsHigh[i + 2] + positionsLow[i + 2];
557
- const r = Cartesian3_default.magnitude(
558
- Cartesian3_default.subtract(currentPos, naiveCenter, fromPointsScratch)
559
- );
560
- if (r > naiveRadius) {
561
- naiveRadius = r;
562
- }
563
- const oldCenterToPointSquared = Cartesian3_default.magnitudeSquared(
564
- Cartesian3_default.subtract(currentPos, ritterCenter, fromPointsScratch)
565
- );
566
- if (oldCenterToPointSquared > radiusSquared) {
567
- const oldCenterToPoint = Math.sqrt(oldCenterToPointSquared);
568
- ritterRadius = (ritterRadius + oldCenterToPoint) * 0.5;
569
- radiusSquared = ritterRadius * ritterRadius;
570
- const oldToNew = oldCenterToPoint - ritterRadius;
571
- ritterCenter.x = (ritterRadius * ritterCenter.x + oldToNew * currentPos.x) / oldCenterToPoint;
572
- ritterCenter.y = (ritterRadius * ritterCenter.y + oldToNew * currentPos.y) / oldCenterToPoint;
573
- ritterCenter.z = (ritterRadius * ritterCenter.z + oldToNew * currentPos.z) / oldCenterToPoint;
574
- }
575
- }
576
- if (ritterRadius < naiveRadius) {
577
- Cartesian3_default.clone(ritterCenter, result.center);
578
- result.radius = ritterRadius;
579
- } else {
580
- Cartesian3_default.clone(naiveCenter, result.center);
581
- result.radius = naiveRadius;
582
- }
583
- return result;
584
- };
585
- BoundingSphere.fromCornerPoints = function(corner, oppositeCorner, result) {
586
- Check_default.typeOf.object("corner", corner);
587
- Check_default.typeOf.object("oppositeCorner", oppositeCorner);
588
- if (!defined_default(result)) {
589
- result = new BoundingSphere();
590
- }
591
- const center = Cartesian3_default.midpoint(corner, oppositeCorner, result.center);
592
- result.radius = Cartesian3_default.distance(center, oppositeCorner);
593
- return result;
594
- };
595
- BoundingSphere.fromEllipsoid = function(ellipsoid, result) {
596
- Check_default.typeOf.object("ellipsoid", ellipsoid);
597
- if (!defined_default(result)) {
598
- result = new BoundingSphere();
599
- }
600
- Cartesian3_default.clone(Cartesian3_default.ZERO, result.center);
601
- result.radius = ellipsoid.maximumRadius;
602
- return result;
603
- };
604
- var fromBoundingSpheresScratch = new Cartesian3_default();
605
- BoundingSphere.fromBoundingSpheres = function(boundingSpheres, result) {
606
- if (!defined_default(result)) {
607
- result = new BoundingSphere();
608
- }
609
- if (!defined_default(boundingSpheres) || boundingSpheres.length === 0) {
610
- result.center = Cartesian3_default.clone(Cartesian3_default.ZERO, result.center);
611
- result.radius = 0;
612
- return result;
613
- }
614
- const length = boundingSpheres.length;
615
- if (length === 1) {
616
- return BoundingSphere.clone(boundingSpheres[0], result);
617
- }
618
- if (length === 2) {
619
- return BoundingSphere.union(boundingSpheres[0], boundingSpheres[1], result);
620
- }
621
- const positions = [];
622
- let i;
623
- for (i = 0; i < length; i++) {
624
- positions.push(boundingSpheres[i].center);
625
- }
626
- result = BoundingSphere.fromPoints(positions, result);
627
- const center = result.center;
628
- let radius = result.radius;
629
- for (i = 0; i < length; i++) {
630
- const tmp = boundingSpheres[i];
631
- radius = Math.max(
632
- radius,
633
- Cartesian3_default.distance(center, tmp.center, fromBoundingSpheresScratch) + tmp.radius
634
- );
635
- }
636
- result.radius = radius;
637
- return result;
638
- };
639
- var fromOrientedBoundingBoxScratchU = new Cartesian3_default();
640
- var fromOrientedBoundingBoxScratchV = new Cartesian3_default();
641
- var fromOrientedBoundingBoxScratchW = new Cartesian3_default();
642
- BoundingSphere.fromOrientedBoundingBox = function(orientedBoundingBox, result) {
643
- Check_default.defined("orientedBoundingBox", orientedBoundingBox);
644
- if (!defined_default(result)) {
645
- result = new BoundingSphere();
646
- }
647
- const halfAxes = orientedBoundingBox.halfAxes;
648
- const u = Matrix3_default.getColumn(halfAxes, 0, fromOrientedBoundingBoxScratchU);
649
- const v = Matrix3_default.getColumn(halfAxes, 1, fromOrientedBoundingBoxScratchV);
650
- const w = Matrix3_default.getColumn(halfAxes, 2, fromOrientedBoundingBoxScratchW);
651
- Cartesian3_default.add(u, v, u);
652
- Cartesian3_default.add(u, w, u);
653
- result.center = Cartesian3_default.clone(orientedBoundingBox.center, result.center);
654
- result.radius = Cartesian3_default.magnitude(u);
655
- return result;
656
- };
657
- var scratchFromTransformationCenter = new Cartesian3_default();
658
- var scratchFromTransformationScale = new Cartesian3_default();
659
- BoundingSphere.fromTransformation = function(transformation, result) {
660
- Check_default.typeOf.object("transformation", transformation);
661
- if (!defined_default(result)) {
662
- result = new BoundingSphere();
663
- }
664
- const center = Matrix4_default.getTranslation(
665
- transformation,
666
- scratchFromTransformationCenter
667
- );
668
- const scale = Matrix4_default.getScale(
669
- transformation,
670
- scratchFromTransformationScale
671
- );
672
- const radius = 0.5 * Cartesian3_default.magnitude(scale);
673
- result.center = Cartesian3_default.clone(center, result.center);
674
- result.radius = radius;
675
- return result;
676
- };
677
- BoundingSphere.clone = function(sphere, result) {
678
- if (!defined_default(sphere)) {
679
- return void 0;
680
- }
681
- if (!defined_default(result)) {
682
- return new BoundingSphere(sphere.center, sphere.radius);
683
- }
684
- result.center = Cartesian3_default.clone(sphere.center, result.center);
685
- result.radius = sphere.radius;
686
- return result;
687
- };
688
- BoundingSphere.packedLength = 4;
689
- BoundingSphere.pack = function(value, array, startingIndex) {
690
- Check_default.typeOf.object("value", value);
691
- Check_default.defined("array", array);
692
- startingIndex = defaultValue_default(startingIndex, 0);
693
- const center = value.center;
694
- array[startingIndex++] = center.x;
695
- array[startingIndex++] = center.y;
696
- array[startingIndex++] = center.z;
697
- array[startingIndex] = value.radius;
698
- return array;
699
- };
700
- BoundingSphere.unpack = function(array, startingIndex, result) {
701
- Check_default.defined("array", array);
702
- startingIndex = defaultValue_default(startingIndex, 0);
703
- if (!defined_default(result)) {
704
- result = new BoundingSphere();
705
- }
706
- const center = result.center;
707
- center.x = array[startingIndex++];
708
- center.y = array[startingIndex++];
709
- center.z = array[startingIndex++];
710
- result.radius = array[startingIndex];
711
- return result;
712
- };
713
- var unionScratch = new Cartesian3_default();
714
- var unionScratchCenter = new Cartesian3_default();
715
- BoundingSphere.union = function(left, right, result) {
716
- Check_default.typeOf.object("left", left);
717
- Check_default.typeOf.object("right", right);
718
- if (!defined_default(result)) {
719
- result = new BoundingSphere();
720
- }
721
- const leftCenter = left.center;
722
- const leftRadius = left.radius;
723
- const rightCenter = right.center;
724
- const rightRadius = right.radius;
725
- const toRightCenter = Cartesian3_default.subtract(
726
- rightCenter,
727
- leftCenter,
728
- unionScratch
729
- );
730
- const centerSeparation = Cartesian3_default.magnitude(toRightCenter);
731
- if (leftRadius >= centerSeparation + rightRadius) {
732
- left.clone(result);
733
- return result;
734
- }
735
- if (rightRadius >= centerSeparation + leftRadius) {
736
- right.clone(result);
737
- return result;
738
- }
739
- const halfDistanceBetweenTangentPoints = (leftRadius + centerSeparation + rightRadius) * 0.5;
740
- const center = Cartesian3_default.multiplyByScalar(
741
- toRightCenter,
742
- (-leftRadius + halfDistanceBetweenTangentPoints) / centerSeparation,
743
- unionScratchCenter
744
- );
745
- Cartesian3_default.add(center, leftCenter, center);
746
- Cartesian3_default.clone(center, result.center);
747
- result.radius = halfDistanceBetweenTangentPoints;
748
- return result;
749
- };
750
- var expandScratch = new Cartesian3_default();
751
- BoundingSphere.expand = function(sphere, point, result) {
752
- Check_default.typeOf.object("sphere", sphere);
753
- Check_default.typeOf.object("point", point);
754
- result = BoundingSphere.clone(sphere, result);
755
- const radius = Cartesian3_default.magnitude(
756
- Cartesian3_default.subtract(point, result.center, expandScratch)
757
- );
758
- if (radius > result.radius) {
759
- result.radius = radius;
760
- }
761
- return result;
762
- };
763
- BoundingSphere.intersectPlane = function(sphere, plane) {
764
- Check_default.typeOf.object("sphere", sphere);
765
- Check_default.typeOf.object("plane", plane);
766
- const center = sphere.center;
767
- const radius = sphere.radius;
768
- const normal = plane.normal;
769
- const distanceToPlane = Cartesian3_default.dot(normal, center) + plane.distance;
770
- if (distanceToPlane < -radius) {
771
- return Intersect_default.OUTSIDE;
772
- } else if (distanceToPlane < radius) {
773
- return Intersect_default.INTERSECTING;
774
- }
775
- return Intersect_default.INSIDE;
776
- };
777
- BoundingSphere.transform = function(sphere, transform, result) {
778
- Check_default.typeOf.object("sphere", sphere);
779
- Check_default.typeOf.object("transform", transform);
780
- if (!defined_default(result)) {
781
- result = new BoundingSphere();
782
- }
783
- result.center = Matrix4_default.multiplyByPoint(
784
- transform,
785
- sphere.center,
786
- result.center
787
- );
788
- result.radius = Matrix4_default.getMaximumScale(transform) * sphere.radius;
789
- return result;
790
- };
791
- var distanceSquaredToScratch = new Cartesian3_default();
792
- BoundingSphere.distanceSquaredTo = function(sphere, cartesian) {
793
- Check_default.typeOf.object("sphere", sphere);
794
- Check_default.typeOf.object("cartesian", cartesian);
795
- const diff = Cartesian3_default.subtract(
796
- sphere.center,
797
- cartesian,
798
- distanceSquaredToScratch
799
- );
800
- const distance = Cartesian3_default.magnitude(diff) - sphere.radius;
801
- if (distance <= 0) {
802
- return 0;
803
- }
804
- return distance * distance;
805
- };
806
- BoundingSphere.transformWithoutScale = function(sphere, transform, result) {
807
- Check_default.typeOf.object("sphere", sphere);
808
- Check_default.typeOf.object("transform", transform);
809
- if (!defined_default(result)) {
810
- result = new BoundingSphere();
811
- }
812
- result.center = Matrix4_default.multiplyByPoint(
813
- transform,
814
- sphere.center,
815
- result.center
816
- );
817
- result.radius = sphere.radius;
818
- return result;
819
- };
820
- var scratchCartesian3 = new Cartesian3_default();
821
- BoundingSphere.computePlaneDistances = function(sphere, position, direction, result) {
822
- Check_default.typeOf.object("sphere", sphere);
823
- Check_default.typeOf.object("position", position);
824
- Check_default.typeOf.object("direction", direction);
825
- if (!defined_default(result)) {
826
- result = new Interval_default();
827
- }
828
- const toCenter = Cartesian3_default.subtract(
829
- sphere.center,
830
- position,
831
- scratchCartesian3
832
- );
833
- const mag = Cartesian3_default.dot(direction, toCenter);
834
- result.start = mag - sphere.radius;
835
- result.stop = mag + sphere.radius;
836
- return result;
837
- };
838
- var projectTo2DNormalScratch = new Cartesian3_default();
839
- var projectTo2DEastScratch = new Cartesian3_default();
840
- var projectTo2DNorthScratch = new Cartesian3_default();
841
- var projectTo2DWestScratch = new Cartesian3_default();
842
- var projectTo2DSouthScratch = new Cartesian3_default();
843
- var projectTo2DCartographicScratch = new Cartographic_default();
844
- var projectTo2DPositionsScratch = new Array(8);
845
- for (let n = 0; n < 8; ++n) {
846
- projectTo2DPositionsScratch[n] = new Cartesian3_default();
847
- }
848
- var projectTo2DProjection = new GeographicProjection_default();
849
- BoundingSphere.projectTo2D = function(sphere, projection, result) {
850
- Check_default.typeOf.object("sphere", sphere);
851
- projectTo2DProjection._ellipsoid = Ellipsoid_default.default;
852
- projection = defaultValue_default(projection, projectTo2DProjection);
853
- const ellipsoid = projection.ellipsoid;
854
- let center = sphere.center;
855
- const radius = sphere.radius;
856
- let normal;
857
- if (Cartesian3_default.equals(center, Cartesian3_default.ZERO)) {
858
- normal = Cartesian3_default.clone(Cartesian3_default.UNIT_X, projectTo2DNormalScratch);
859
- } else {
860
- normal = ellipsoid.geodeticSurfaceNormal(center, projectTo2DNormalScratch);
861
- }
862
- const east = Cartesian3_default.cross(
863
- Cartesian3_default.UNIT_Z,
864
- normal,
865
- projectTo2DEastScratch
866
- );
867
- Cartesian3_default.normalize(east, east);
868
- const north = Cartesian3_default.cross(normal, east, projectTo2DNorthScratch);
869
- Cartesian3_default.normalize(north, north);
870
- Cartesian3_default.multiplyByScalar(normal, radius, normal);
871
- Cartesian3_default.multiplyByScalar(north, radius, north);
872
- Cartesian3_default.multiplyByScalar(east, radius, east);
873
- const south = Cartesian3_default.negate(north, projectTo2DSouthScratch);
874
- const west = Cartesian3_default.negate(east, projectTo2DWestScratch);
875
- const positions = projectTo2DPositionsScratch;
876
- let corner = positions[0];
877
- Cartesian3_default.add(normal, north, corner);
878
- Cartesian3_default.add(corner, east, corner);
879
- corner = positions[1];
880
- Cartesian3_default.add(normal, north, corner);
881
- Cartesian3_default.add(corner, west, corner);
882
- corner = positions[2];
883
- Cartesian3_default.add(normal, south, corner);
884
- Cartesian3_default.add(corner, west, corner);
885
- corner = positions[3];
886
- Cartesian3_default.add(normal, south, corner);
887
- Cartesian3_default.add(corner, east, corner);
888
- Cartesian3_default.negate(normal, normal);
889
- corner = positions[4];
890
- Cartesian3_default.add(normal, north, corner);
891
- Cartesian3_default.add(corner, east, corner);
892
- corner = positions[5];
893
- Cartesian3_default.add(normal, north, corner);
894
- Cartesian3_default.add(corner, west, corner);
895
- corner = positions[6];
896
- Cartesian3_default.add(normal, south, corner);
897
- Cartesian3_default.add(corner, west, corner);
898
- corner = positions[7];
899
- Cartesian3_default.add(normal, south, corner);
900
- Cartesian3_default.add(corner, east, corner);
901
- const length = positions.length;
902
- for (let i = 0; i < length; ++i) {
903
- const position = positions[i];
904
- Cartesian3_default.add(center, position, position);
905
- const cartographic = ellipsoid.cartesianToCartographic(
906
- position,
907
- projectTo2DCartographicScratch
908
- );
909
- projection.project(cartographic, position);
910
- }
911
- result = BoundingSphere.fromPoints(positions, result);
912
- center = result.center;
913
- const x = center.x;
914
- const y = center.y;
915
- const z = center.z;
916
- center.x = z;
917
- center.y = x;
918
- center.z = y;
919
- return result;
920
- };
921
- BoundingSphere.isOccluded = function(sphere, occluder) {
922
- Check_default.typeOf.object("sphere", sphere);
923
- Check_default.typeOf.object("occluder", occluder);
924
- return !occluder.isBoundingSphereVisible(sphere);
925
- };
926
- BoundingSphere.equals = function(left, right) {
927
- return left === right || defined_default(left) && defined_default(right) && Cartesian3_default.equals(left.center, right.center) && left.radius === right.radius;
928
- };
929
- BoundingSphere.prototype.intersectPlane = function(plane) {
930
- return BoundingSphere.intersectPlane(this, plane);
931
- };
932
- BoundingSphere.prototype.distanceSquaredTo = function(cartesian) {
933
- return BoundingSphere.distanceSquaredTo(this, cartesian);
934
- };
935
- BoundingSphere.prototype.computePlaneDistances = function(position, direction, result) {
936
- return BoundingSphere.computePlaneDistances(
937
- this,
938
- position,
939
- direction,
940
- result
941
- );
942
- };
943
- BoundingSphere.prototype.isOccluded = function(occluder) {
944
- return BoundingSphere.isOccluded(this, occluder);
945
- };
946
- BoundingSphere.prototype.equals = function(right) {
947
- return BoundingSphere.equals(this, right);
948
- };
949
- BoundingSphere.prototype.clone = function(result) {
950
- return BoundingSphere.clone(this, result);
951
- };
952
- BoundingSphere.prototype.volume = function() {
953
- const radius = this.radius;
954
- return volumeConstant * radius * radius * radius;
955
- };
956
- var BoundingSphere_default = BoundingSphere;
957
-
958
- export {
959
- GeographicProjection_default,
960
- Intersect_default,
961
- Interval_default,
962
- BoundingSphere_default
963
- };