@cesium/engine 26.1.0 → 26.2.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 (384) hide show
  1. package/Build/ThirdParty/Workers/zip-web-worker.js +586 -480
  2. package/Build/Workers/chunk-27FWRTJI.js +454 -0
  3. package/Build/Workers/chunk-2H5264K7.js +1284 -0
  4. package/Build/Workers/chunk-2H73KDBM.js +511 -0
  5. package/Build/Workers/chunk-2RGJPWQX.js +1284 -0
  6. package/Build/Workers/chunk-2Z4ZLVOD.js +352 -0
  7. package/Build/Workers/chunk-2ZKH2QZB.js +387 -0
  8. package/Build/Workers/chunk-36NI5E6W.js +3820 -0
  9. package/Build/Workers/chunk-37SW7SYS.js +778 -0
  10. package/Build/Workers/chunk-3GHVJ3SO.js +455 -0
  11. package/Build/Workers/chunk-3LB4UVPU.js +387 -0
  12. package/Build/Workers/chunk-3PONLKEL.js +778 -0
  13. package/Build/Workers/chunk-3PSS3T43.js +102 -0
  14. package/Build/Workers/chunk-3QR662HH.js +3820 -0
  15. package/Build/Workers/chunk-3SX2WYSO.js +973 -0
  16. package/Build/Workers/chunk-3UDN6LYX.js +476 -0
  17. package/Build/Workers/chunk-47MCBSXI.js +9237 -0
  18. package/Build/Workers/chunk-4E626OCE.js +1067 -0
  19. package/Build/Workers/chunk-4NW2MJKH.js +455 -0
  20. package/Build/Workers/chunk-52YK5BSN.js +198 -0
  21. package/Build/Workers/chunk-5RNAQZK6.js +9234 -0
  22. package/Build/Workers/chunk-5YPQBFRD.js +519 -0
  23. package/Build/Workers/chunk-6FHT43QR.js +140 -0
  24. package/Build/Workers/chunk-6FZDPMTO.js +455 -0
  25. package/Build/Workers/chunk-6R5X2GUA.js +1284 -0
  26. package/Build/Workers/chunk-7A2OGDHT.js +305 -0
  27. package/Build/Workers/chunk-7CGEQUM2.js +305 -0
  28. package/Build/Workers/chunk-7I325HV6.js +1344 -0
  29. package/Build/Workers/chunk-7MM3N2VE.js +1067 -0
  30. package/Build/Workers/chunk-7TKLTCZW.js +219 -0
  31. package/Build/Workers/chunk-7UUKBDH6.js +1054 -0
  32. package/Build/Workers/chunk-7W6DUHAB.js +693 -0
  33. package/Build/Workers/chunk-7XM5JK5F.js +162 -0
  34. package/Build/Workers/chunk-7YG3ND3P.js +454 -0
  35. package/Build/Workers/chunk-A62YI6S6.js +305 -0
  36. package/Build/Workers/chunk-A7TTWVTF.js +2719 -0
  37. package/Build/Workers/chunk-ACTVJHSP.js +519 -0
  38. package/Build/Workers/chunk-ADX3CBKD.js +9234 -0
  39. package/Build/Workers/chunk-AF7DTMJ7.js +398 -0
  40. package/Build/Workers/chunk-AJSFRY4U.js +1344 -0
  41. package/Build/Workers/chunk-ARZICEEP.js +301 -0
  42. package/Build/Workers/chunk-B3QHNA4A.js +147 -0
  43. package/Build/Workers/chunk-BKPQFCXH.js +511 -0
  44. package/Build/Workers/chunk-BSPCI2LO.js +959 -0
  45. package/Build/Workers/chunk-BUJWSX5S.js +301 -0
  46. package/Build/Workers/chunk-C7QDUNI3.js +138 -0
  47. package/Build/Workers/chunk-CIV5DJOQ.js +778 -0
  48. package/Build/Workers/chunk-CQNFIAZU.js +56 -0
  49. package/Build/Workers/chunk-CRCGE4J4.js +9237 -0
  50. package/Build/Workers/chunk-CUTRKXUQ.js +288 -0
  51. package/Build/Workers/chunk-D6AY775A.js +3201 -0
  52. package/Build/Workers/chunk-DSGLDRTI.js +278 -0
  53. package/Build/Workers/chunk-DZBQUULR.js +138 -0
  54. package/Build/Workers/chunk-DZUFEE4L.js +140 -0
  55. package/Build/Workers/chunk-E2NKV5YT.js +3820 -0
  56. package/Build/Workers/chunk-EB3Y5P3A.js +368 -0
  57. package/Build/Workers/chunk-ELE6SC2C.js +837 -0
  58. package/Build/Workers/chunk-EOWDZN5S.js +288 -0
  59. package/Build/Workers/chunk-ERKUET22.js +3201 -0
  60. package/Build/Workers/chunk-EZGQPOIG.js +162 -0
  61. package/Build/Workers/chunk-F2IMBMZY.js +241 -0
  62. package/Build/Workers/chunk-F4CSNRZO.js +219 -0
  63. package/Build/Workers/chunk-FBP4DUQJ.js +693 -0
  64. package/Build/Workers/chunk-FJWZMGOQ.js +1992 -0
  65. package/Build/Workers/chunk-FQ42MT7M.js +58 -0
  66. package/Build/Workers/chunk-FU4BGABC.js +398 -0
  67. package/Build/Workers/chunk-FX3VEAIU.js +2719 -0
  68. package/Build/Workers/chunk-GGNWQWSB.js +301 -0
  69. package/Build/Workers/chunk-GHXVQVUM.js +1344 -0
  70. package/Build/Workers/chunk-GNKXEN4C.js +682 -0
  71. package/Build/Workers/chunk-GVA7XQI2.js +368 -0
  72. package/Build/Workers/chunk-GXDHRC4J.js +1344 -0
  73. package/Build/Workers/chunk-GYSYP6PC.js +1067 -0
  74. package/Build/Workers/chunk-H2WCFXLP.js +241 -0
  75. package/Build/Workers/chunk-HDL4HOXZ.js +778 -0
  76. package/Build/Workers/chunk-HLW2ZRVK.js +368 -0
  77. package/Build/Workers/chunk-HT6FASOT.js +973 -0
  78. package/Build/Workers/chunk-I74ZH5LK.js +959 -0
  79. package/Build/Workers/chunk-IDVHUDZT.js +352 -0
  80. package/Build/Workers/chunk-IJZJMIUY.js +789 -0
  81. package/Build/Workers/chunk-IMBVP57H.js +44 -0
  82. package/Build/Workers/chunk-IOO7Z2AV.js +57 -0
  83. package/Build/Workers/chunk-IUIFLOYO.js +44 -0
  84. package/Build/Workers/chunk-J73T2VOY.js +171 -0
  85. package/Build/Workers/chunk-JALGQYDY.js +288 -0
  86. package/Build/Workers/chunk-JXYLJCTC.js +124 -0
  87. package/Build/Workers/chunk-K27QOAW6.js +97 -0
  88. package/Build/Workers/chunk-KMV25A63.js +789 -0
  89. package/Build/Workers/chunk-KP5QD7WU.js +693 -0
  90. package/Build/Workers/chunk-KZWFWJML.js +2719 -0
  91. package/Build/Workers/chunk-LCXRRALY.js +387 -0
  92. package/Build/Workers/chunk-LDRQSYBN.js +1800 -0
  93. package/Build/Workers/chunk-M4JZ6TSZ.js +959 -0
  94. package/Build/Workers/chunk-M6QKXVAU.js +1054 -0
  95. package/Build/Workers/chunk-MAAHFYPC.js +198 -0
  96. package/Build/Workers/chunk-MCJDRDJQ.js +102 -0
  97. package/Build/Workers/chunk-MEENMEAH.js +198 -0
  98. package/Build/Workers/chunk-NAWU5RF4.js +162 -0
  99. package/Build/Workers/chunk-NCL22ZUX.js +56 -0
  100. package/Build/Workers/chunk-NEFDMMLY.js +241 -0
  101. package/Build/Workers/chunk-NJVBJG63.js +124 -0
  102. package/Build/Workers/chunk-NLLCQBX3.js +73 -0
  103. package/Build/Workers/chunk-NSKZ6SBK.js +1483 -0
  104. package/Build/Workers/chunk-NXGQBQWE.js +837 -0
  105. package/Build/Workers/chunk-O3DKEX7Q.js +352 -0
  106. package/Build/Workers/chunk-O3XFXGPZ.js +476 -0
  107. package/Build/Workers/chunk-OA6MYL2C.js +837 -0
  108. package/Build/Workers/chunk-OHP4ELS7.js +198 -0
  109. package/Build/Workers/chunk-OZGPS7FB.js +138 -0
  110. package/Build/Workers/chunk-PCL3Y7H5.js +82 -0
  111. package/Build/Workers/chunk-PD4GK4EM.js +57 -0
  112. package/Build/Workers/chunk-PEDU33QG.js +2342 -0
  113. package/Build/Workers/chunk-PRWUMCXF.js +682 -0
  114. package/Build/Workers/chunk-PVTSNNVI.js +288 -0
  115. package/Build/Workers/chunk-QFSSCLLZ.js +973 -0
  116. package/Build/Workers/chunk-QHPZH22L.js +241 -0
  117. package/Build/Workers/chunk-QIZDWZK6.js +301 -0
  118. package/Build/Workers/chunk-QV6DG2YX.js +1483 -0
  119. package/Build/Workers/chunk-R4K7EHOU.js +171 -0
  120. package/Build/Workers/chunk-R7JGHDD6.js +789 -0
  121. package/Build/Workers/chunk-RASQEYD4.js +1483 -0
  122. package/Build/Workers/chunk-RW6ITX7Q.js +3820 -0
  123. package/Build/Workers/chunk-RYSQVJR6.js +398 -0
  124. package/Build/Workers/chunk-S6RJU5NM.js +1054 -0
  125. package/Build/Workers/chunk-SA2A2AN5.js +2342 -0
  126. package/Build/Workers/chunk-SDFHDNS4.js +147 -0
  127. package/Build/Workers/chunk-SJYSIOEM.js +414 -0
  128. package/Build/Workers/chunk-SMTGMFBL.js +97 -0
  129. package/Build/Workers/chunk-SXSP3JHS.js +38 -0
  130. package/Build/Workers/chunk-TN35HP5B.js +1067 -0
  131. package/Build/Workers/chunk-TNWKJNUZ.js +454 -0
  132. package/Build/Workers/chunk-TOAF47AQ.js +102 -0
  133. package/Build/Workers/chunk-TQ4QCOXT.js +2719 -0
  134. package/Build/Workers/chunk-TSDSILQB.js +124 -0
  135. package/Build/Workers/chunk-U5LV3F3Z.js +1054 -0
  136. package/Build/Workers/chunk-UAZUP4I5.js +1992 -0
  137. package/Build/Workers/chunk-UF46SZEZ.js +789 -0
  138. package/Build/Workers/chunk-UNRTMCET.js +398 -0
  139. package/Build/Workers/chunk-UTB7U3O6.js +1992 -0
  140. package/Build/Workers/chunk-V46YGZE6.js +352 -0
  141. package/Build/Workers/chunk-VDGOCROW.js +57 -0
  142. package/Build/Workers/chunk-VFWSSBPT.js +511 -0
  143. package/Build/Workers/chunk-VVYMXI3I.js +1284 -0
  144. package/Build/Workers/chunk-VXWHPYQM.js +837 -0
  145. package/Build/Workers/chunk-VXYUBRSB.js +219 -0
  146. package/Build/Workers/chunk-VZLDLEWI.js +387 -0
  147. package/Build/Workers/chunk-W5OCKMPJ.js +101 -0
  148. package/Build/Workers/chunk-WN3F4CVG.js +3201 -0
  149. package/Build/Workers/chunk-WPRUWXGV.js +693 -0
  150. package/Build/Workers/chunk-WTO2ERBP.js +414 -0
  151. package/Build/Workers/chunk-WVHMDVG4.js +959 -0
  152. package/Build/Workers/chunk-XCBZVTIV.js +280 -0
  153. package/Build/Workers/chunk-XGA23TAX.js +73 -0
  154. package/Build/Workers/chunk-XLQZNQ4Z.js +163 -0
  155. package/Build/Workers/chunk-XQH66YJC.js +147 -0
  156. package/Build/Workers/chunk-XTA7BXJG.js +682 -0
  157. package/Build/Workers/chunk-XTIDAFRS.js +476 -0
  158. package/Build/Workers/chunk-XUEDWBUD.js +682 -0
  159. package/Build/Workers/chunk-XYFLRH3H.js +124 -0
  160. package/Build/Workers/chunk-Y7JRTRTO.js +305 -0
  161. package/Build/Workers/chunk-Y7QSMDCJ.js +352 -0
  162. package/Build/Workers/chunk-YCB5TYTR.js +1483 -0
  163. package/Build/Workers/chunk-YEYOSTJX.js +219 -0
  164. package/Build/Workers/chunk-YGFVAGYF.js +630 -0
  165. package/Build/Workers/chunk-YIIACKQO.js +368 -0
  166. package/Build/Workers/chunk-YJGSP6PE.js +511 -0
  167. package/Build/Workers/chunk-Z4LR5EHE.js +454 -0
  168. package/Build/Workers/chunk-Z66EVE2A.js +44 -0
  169. package/Build/Workers/chunk-ZHIHHHTB.js +414 -0
  170. package/Build/Workers/chunk-ZNWHFSLE.js +171 -0
  171. package/Build/Workers/chunk-ZQLZG4IN.js +2342 -0
  172. package/Build/Workers/chunk-ZRTSMUZ2.js +414 -0
  173. package/Build/Workers/chunk-ZZUVT5BM.js +476 -0
  174. package/Build/Workers/combineGeometry.js +16 -16
  175. package/Build/Workers/createBoxGeometry.js +10 -10
  176. package/Build/Workers/createBoxOutlineGeometry.js +8 -8
  177. package/Build/Workers/createCircleGeometry.js +18 -18
  178. package/Build/Workers/createCircleOutlineGeometry.js +11 -11
  179. package/Build/Workers/createCoplanarPolygonGeometry.js +27 -27
  180. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +23 -23
  181. package/Build/Workers/createCorridorGeometry.js +23 -25
  182. package/Build/Workers/createCorridorOutlineGeometry.js +21 -23
  183. package/Build/Workers/createCylinderGeometry.js +12 -12
  184. package/Build/Workers/createCylinderOutlineGeometry.js +10 -10
  185. package/Build/Workers/createEllipseGeometry.js +18 -18
  186. package/Build/Workers/createEllipseOutlineGeometry.js +11 -11
  187. package/Build/Workers/createEllipsoidGeometry.js +11 -11
  188. package/Build/Workers/createEllipsoidOutlineGeometry.js +10 -10
  189. package/Build/Workers/createFrustumGeometry.js +11 -11
  190. package/Build/Workers/createFrustumOutlineGeometry.js +11 -11
  191. package/Build/Workers/createGeometry.js +16 -16
  192. package/Build/Workers/createGroundPolylineGeometry.js +16 -16
  193. package/Build/Workers/createPlaneGeometry.js +9 -9
  194. package/Build/Workers/createPlaneOutlineGeometry.js +8 -8
  195. package/Build/Workers/createPolygonGeometry.js +25 -25
  196. package/Build/Workers/createPolygonOutlineGeometry.js +22 -22
  197. package/Build/Workers/createPolylineGeometry.js +18 -18
  198. package/Build/Workers/createPolylineVolumeGeometry.js +24 -24
  199. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +20 -20
  200. package/Build/Workers/createRectangleGeometry.js +19 -19
  201. package/Build/Workers/createRectangleOutlineGeometry.js +13 -13
  202. package/Build/Workers/createSimplePolylineGeometry.js +16 -16
  203. package/Build/Workers/createSphereGeometry.js +11 -11
  204. package/Build/Workers/createSphereOutlineGeometry.js +10 -10
  205. package/Build/Workers/createVectorTileClampedPolylines.js +7 -7
  206. package/Build/Workers/createVectorTileGeometries.js +15 -15
  207. package/Build/Workers/createVectorTilePoints.js +6 -6
  208. package/Build/Workers/createVectorTilePolygons.js +14 -14
  209. package/Build/Workers/createVectorTilePolylines.js +7 -7
  210. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +17 -17
  211. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +14 -14
  212. package/Build/Workers/createVerticesFromHeightmap.js +14 -14
  213. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +12 -12
  214. package/Build/Workers/createWallGeometry.js +17 -17
  215. package/Build/Workers/createWallOutlineGeometry.js +17 -17
  216. package/Build/Workers/decodeDraco.js +2 -2
  217. package/Build/Workers/decodeI3S.js +5 -5
  218. package/Build/Workers/incrementallyBuildTerrainPicker.js +4 -4
  219. package/Build/Workers/upsampleQuantizedTerrainMesh.js +14 -14
  220. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +17 -17
  221. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +1 -5
  222. package/Source/Core/BoundingSphere.js +0 -3
  223. package/Source/Core/Cesium3DTilesTerrainGeometryProcessor.js +3 -4
  224. package/Source/Core/CoplanarPolygonGeometry.js +2 -2
  225. package/Source/Core/CorridorGeometry.js +2 -4
  226. package/Source/Core/CorridorOutlineGeometry.js +1 -3
  227. package/Source/Core/EarthOrientationParameters.js +2 -2
  228. package/Source/Core/EllipseGeometryLibrary.js +2 -2
  229. package/Source/Core/EllipsoidGeodesic.js +3 -3
  230. package/Source/Core/EllipsoidRhumbLine.js +1 -1
  231. package/Source/Core/GroundPolylineGeometry.js +2 -2
  232. package/Source/Core/Heap.js +1 -1
  233. package/Source/Core/HermitePolynomialApproximation.js +215 -179
  234. package/Source/Core/InterpolationAlgorithm.js +1 -0
  235. package/Source/Core/Ion.js +1 -1
  236. package/Source/Core/JulianDate.js +1 -1
  237. package/Source/Core/LagrangePolynomialApproximation.js +55 -52
  238. package/Source/Core/LinearApproximation.js +69 -66
  239. package/Source/Core/Math.js +59 -0
  240. package/Source/Core/Matrix2.js +2 -2
  241. package/Source/Core/Matrix3.js +2 -2
  242. package/Source/Core/OrthographicFrustum.js +1 -1
  243. package/Source/Core/PerspectiveFrustum.js +1 -1
  244. package/Source/Core/PolygonGeometry.js +2 -2
  245. package/Source/Core/PolygonGeometryLibrary.js +1 -1
  246. package/Source/Core/PolygonOutlineGeometry.js +1 -1
  247. package/Source/Core/PolylineGeometry.js +1 -1
  248. package/Source/Core/PolylineVolumeGeometryLibrary.js +1 -1
  249. package/Source/Core/Rectangle.js +7 -1
  250. package/Source/Core/RectangleOutlineGeometry.js +1 -1
  251. package/Source/Core/SimplePolylineGeometry.js +1 -1
  252. package/Source/Core/TerrainEncoding.js +2 -2
  253. package/Source/Core/TerrainPicker.js +179 -168
  254. package/Source/Core/TimeIntervalCollection.js +1 -3
  255. package/Source/Core/Tipsify.js +1 -1
  256. package/Source/Core/Transforms.js +5 -1
  257. package/Source/Core/VectorPipeline.js +1117 -0
  258. package/Source/Core/VectorProvider.js +429 -0
  259. package/Source/Core/WallOutlineGeometry.js +1 -1
  260. package/Source/Core/getTimestamp.js +4 -2
  261. package/Source/DataSources/CompositeEntityCollection.js +0 -1
  262. package/Source/DataSources/CzmlDataSource.js +2 -0
  263. package/Source/DataSources/DataSourceDisplay.js +1 -1
  264. package/Source/DataSources/GeoJsonDataSource.js +0 -1
  265. package/Source/DataSources/GeometryVisualizer.js +1 -1
  266. package/Source/DataSources/KmlDataSource.js +1 -2
  267. package/Source/DataSources/PolylineVisualizer.js +1 -1
  268. package/Source/DataSources/StaticOutlineGeometryBatch.js +1 -1
  269. package/Source/Renderer/AutomaticUniforms.js +23 -0
  270. package/Source/Renderer/Context.js +9 -3
  271. package/Source/Renderer/DrawCommand.js +22 -0
  272. package/Source/Renderer/Framebuffer.js +4 -0
  273. package/Source/Renderer/Pass.js +11 -10
  274. package/Source/Renderer/Texture.js +11 -0
  275. package/Source/Renderer/UniformState.js +7 -0
  276. package/Source/Renderer/VertexArray.js +0 -1
  277. package/Source/Scene/ArcGisMapServerImageryProvider.js +0 -5
  278. package/Source/Scene/ArcGisMapService.js +1 -1
  279. package/Source/Scene/Billboard.js +2 -1
  280. package/Source/Scene/BillboardCollection.js +7 -3
  281. package/Source/Scene/BufferPrimitiveCollection.js +27 -5
  282. package/Source/Scene/Camera.js +71 -5
  283. package/Source/Scene/Cesium3DTileset.js +1 -1
  284. package/Source/Scene/ClippingPlaneCollection.js +2 -2
  285. package/Source/Scene/Controllers/Controller.js +63 -0
  286. package/Source/Scene/Controllers/ControllerHost.js +78 -0
  287. package/Source/Scene/Controllers/HybridScreenSpacePanCameraController.js +106 -0
  288. package/Source/Scene/Controllers/MouseButton.js +32 -0
  289. package/Source/Scene/Controllers/ScreenSpaceElevatorCameraController.js +295 -0
  290. package/Source/Scene/Controllers/ScreenSpaceInputBindings.js +154 -0
  291. package/Source/Scene/Controllers/ScreenSpaceMapCameraController.js +310 -0
  292. package/Source/Scene/Controllers/ScreenSpaceTiltOrbitCameraController.js +642 -0
  293. package/Source/Scene/Controllers/ScreenSpaceZoomCameraController.js +431 -0
  294. package/Source/Scene/Controllers/defaultPickWorldPosition.js +84 -0
  295. package/Source/Scene/DerivedCommand.js +94 -0
  296. package/Source/Scene/EdgeFramebuffer.js +1 -5
  297. package/Source/Scene/FrameState.js +17 -0
  298. package/Source/Scene/Globe.js +20 -0
  299. package/Source/Scene/GlobeDepth.js +27 -1
  300. package/Source/Scene/GlobeSurfaceShaderSet.js +12 -2
  301. package/Source/Scene/GlobeSurfaceTile.js +48 -10
  302. package/Source/Scene/GlobeSurfaceTileProvider.js +121 -3
  303. package/Source/Scene/GltfLoader.js +32 -3
  304. package/Source/Scene/GltfSpzLoader.js +1 -1
  305. package/Source/Scene/GltfVertexBufferLoader.js +6 -3
  306. package/Source/Scene/I3SDataProvider.js +1 -1
  307. package/Source/Scene/I3SLayer.js +1 -1
  308. package/Source/Scene/I3SNode.js +2 -2
  309. package/Source/Scene/ImageryLayerCollection.js +188 -4
  310. package/Source/Scene/IonImageryProvider.js +1 -5
  311. package/Source/Scene/Label.js +4 -4
  312. package/Source/Scene/LabelCollection.js +1 -1
  313. package/Source/Scene/MVTDataProvider.js +2 -0
  314. package/Source/Scene/Model/B3dmLoader.js +1 -2
  315. package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +10 -8
  316. package/Source/Scene/Model/I3dmLoader.js +1 -1
  317. package/Source/Scene/Model/InstancingPipelineStage.js +4 -7
  318. package/Source/Scene/Model/MaterialPipelineStage.js +124 -1
  319. package/Source/Scene/Model/Model.js +8 -10
  320. package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +28 -1
  321. package/Source/Scene/Model/ModelDrawCommand.js +160 -16
  322. package/Source/Scene/Model/ModelDrawCommands.js +4 -0
  323. package/Source/Scene/Model/ModelSceneGraph.js +21 -0
  324. package/Source/Scene/Model/PickingPipelineStage.js +29 -0
  325. package/Source/Scene/Model/PrimitiveRenderResources.js +24 -0
  326. package/Source/Scene/ModelComponents.js +71 -0
  327. package/Source/Scene/Picking.js +16 -5
  328. package/Source/Scene/PlanarFillIdFramebuffer.js +172 -0
  329. package/Source/Scene/PntsParser.js +0 -1
  330. package/Source/Scene/PolylineCollection.js +1 -1
  331. package/Source/Scene/PostProcessStage.js +4 -2
  332. package/Source/Scene/ResourceCache.js +7 -4
  333. package/Source/Scene/ResourceCacheKey.js +16 -13
  334. package/Source/Scene/Scene.js +202 -5
  335. package/Source/Scene/ScreenSpaceCameraController.js +1 -2
  336. package/Source/Scene/ShadowMap.js +9 -3
  337. package/Source/Scene/ShadowMapShader.js +50 -2
  338. package/Source/Scene/SnapFramebuffer.js +121 -0
  339. package/Source/Scene/Snapping.js +184 -0
  340. package/Source/Scene/TerrainFillMesh.js +3 -2
  341. package/Source/Scene/UrlTemplate3DTilesDataProvider.js +1 -1
  342. package/Source/Scene/Vector3DTileContent.js +2 -3
  343. package/Source/Scene/VectorGltf3DTileContent.js +23 -3
  344. package/Source/Scene/View.js +10 -8
  345. package/Source/Scene/VoxelTraversal.js +1 -1
  346. package/Source/Scene/createElevationBandMaterial.js +1 -1
  347. package/Source/Scene/renderBufferPointCollection.js +1 -2
  348. package/Source/Scene/renderBufferPolygonCollection.js +1 -2
  349. package/Source/Scene/renderBufferPolylineCollection.js +1 -2
  350. package/Source/Shaders/Builtin/Constants/passCesium3DTile.glsl +1 -1
  351. package/Source/Shaders/Builtin/Constants/passCesium3DTile.js +1 -1
  352. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.glsl +1 -1
  353. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.js +1 -1
  354. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.glsl +1 -1
  355. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.js +1 -1
  356. package/Source/Shaders/Builtin/Constants/passCesium3DTilePlanarFillId.glsl +9 -0
  357. package/Source/Shaders/Builtin/Constants/passCesium3DTilePlanarFillId.js +11 -0
  358. package/Source/Shaders/Builtin/Constants/passClassification.glsl +1 -1
  359. package/Source/Shaders/Builtin/Constants/passClassification.js +1 -1
  360. package/Source/Shaders/Builtin/Constants/passGaussianSplats.glsl +1 -1
  361. package/Source/Shaders/Builtin/Constants/passGaussianSplats.js +1 -1
  362. package/Source/Shaders/Builtin/Constants/passOpaque.glsl +1 -1
  363. package/Source/Shaders/Builtin/Constants/passOpaque.js +1 -1
  364. package/Source/Shaders/Builtin/Constants/passTranslucent.glsl +1 -1
  365. package/Source/Shaders/Builtin/Constants/passTranslucent.js +1 -1
  366. package/Source/Shaders/Builtin/Constants/passVoxels.glsl +1 -1
  367. package/Source/Shaders/Builtin/Constants/passVoxels.js +1 -1
  368. package/Source/Shaders/Builtin/CzmBuiltins.js +2 -0
  369. package/Source/Shaders/GlobeFS.glsl +10 -5
  370. package/Source/Shaders/GlobeFS.js +9 -5
  371. package/Source/Shaders/Materials/PolylineGlowMaterial.glsl +1 -1
  372. package/Source/Shaders/Materials/PolylineGlowMaterial.js +1 -1
  373. package/Source/Shaders/Model/MaterialStageFS.glsl +8 -2
  374. package/Source/Shaders/Model/MaterialStageFS.js +8 -2
  375. package/Source/Shaders/Model/ModelFS.glsl +105 -0
  376. package/Source/Shaders/Model/ModelFS.js +105 -0
  377. package/Source/Shaders/VectorCommon.glsl +178 -0
  378. package/Source/Shaders/VectorCommon.js +75 -0
  379. package/Source/ThirdParty/Workers/zip-web-worker.js +1 -1
  380. package/Source/ThirdParty/zip-module.wasm +0 -0
  381. package/Source/Widget/CesiumWidget.js +30 -0
  382. package/index.d.ts +770 -10
  383. package/index.js +177 -160
  384. package/package.json +1 -1
@@ -0,0 +1,455 @@
1
+ /**
2
+ * @license
3
+ * Cesium - https://github.com/CesiumGS/cesium
4
+ * Version 1.143.0
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
+ Cartographic_default,
28
+ Ellipsoid_default
29
+ } from "./chunk-FJWZMGOQ.js";
30
+ import {
31
+ Cartesian3_default
32
+ } from "./chunk-PEDU33QG.js";
33
+ import {
34
+ Math_default
35
+ } from "./chunk-C7JQVRLM.js";
36
+ import {
37
+ Check_default,
38
+ DeveloperError_default
39
+ } from "./chunk-6YR6JBMY.js";
40
+ import {
41
+ defined_default
42
+ } from "./chunk-AHWAZRBV.js";
43
+
44
+ // packages/engine/Source/Core/EllipsoidRhumbLine.js
45
+ function calculateM(ellipticity, major, latitude) {
46
+ if (ellipticity === 0) {
47
+ return major * latitude;
48
+ }
49
+ const e2 = ellipticity * ellipticity;
50
+ const e4 = e2 * e2;
51
+ const e6 = e4 * e2;
52
+ const e8 = e6 * e2;
53
+ const e10 = e8 * e2;
54
+ const e12 = e10 * e2;
55
+ const phi = latitude;
56
+ const sin2Phi = Math.sin(2 * phi);
57
+ const sin4Phi = Math.sin(4 * phi);
58
+ const sin6Phi = Math.sin(6 * phi);
59
+ const sin8Phi = Math.sin(8 * phi);
60
+ const sin10Phi = Math.sin(10 * phi);
61
+ const sin12Phi = Math.sin(12 * phi);
62
+ return major * ((1 - e2 / 4 - 3 * e4 / 64 - 5 * e6 / 256 - 175 * e8 / 16384 - 441 * e10 / 65536 - 4851 * e12 / 1048576) * phi - (3 * e2 / 8 + 3 * e4 / 32 + 45 * e6 / 1024 + 105 * e8 / 4096 + 2205 * e10 / 131072 + 6237 * e12 / 524288) * sin2Phi + (15 * e4 / 256 + 45 * e6 / 1024 + 525 * e8 / 16384 + 1575 * e10 / 65536 + 155925 * e12 / 8388608) * sin4Phi - (35 * e6 / 3072 + 175 * e8 / 12288 + 3675 * e10 / 262144 + 13475 * e12 / 1048576) * sin6Phi + (315 * e8 / 131072 + 2205 * e10 / 524288 + 43659 * e12 / 8388608) * sin8Phi - (693 * e10 / 1310720 + 6237 * e12 / 5242880) * sin10Phi + 1001 * e12 / 8388608 * sin12Phi);
63
+ }
64
+ function calculateInverseM(M, ellipticity, major) {
65
+ const d = M / major;
66
+ if (ellipticity === 0) {
67
+ return d;
68
+ }
69
+ const d2 = d * d;
70
+ const d3 = d2 * d;
71
+ const d4 = d3 * d;
72
+ const e = ellipticity;
73
+ const e2 = e * e;
74
+ const e4 = e2 * e2;
75
+ const e6 = e4 * e2;
76
+ const e8 = e6 * e2;
77
+ const e10 = e8 * e2;
78
+ const e12 = e10 * e2;
79
+ const sin2D = Math.sin(2 * d);
80
+ const cos2D = Math.cos(2 * d);
81
+ const sin4D = Math.sin(4 * d);
82
+ const cos4D = Math.cos(4 * d);
83
+ const sin6D = Math.sin(6 * d);
84
+ const cos6D = Math.cos(6 * d);
85
+ const sin8D = Math.sin(8 * d);
86
+ const cos8D = Math.cos(8 * d);
87
+ const sin10D = Math.sin(10 * d);
88
+ const cos10D = Math.cos(10 * d);
89
+ const sin12D = Math.sin(12 * d);
90
+ return d + d * e2 / 4 + 7 * d * e4 / 64 + 15 * d * e6 / 256 + 579 * d * e8 / 16384 + 1515 * d * e10 / 65536 + 16837 * d * e12 / 1048576 + (3 * d * e4 / 16 + 45 * d * e6 / 256 - d * (32 * d2 - 561) * e8 / 4096 - d * (232 * d2 - 1677) * e10 / 16384 + d * (399985 - 90560 * d2 + 512 * d4) * e12 / 5242880) * cos2D + (21 * d * e6 / 256 + 483 * d * e8 / 4096 - d * (224 * d2 - 1969) * e10 / 16384 - d * (33152 * d2 - 112599) * e12 / 1048576) * cos4D + (151 * d * e8 / 4096 + 4681 * d * e10 / 65536 + 1479 * d * e12 / 16384 - 453 * d3 * e12 / 32768) * cos6D + (1097 * d * e10 / 65536 + 42783 * d * e12 / 1048576) * cos8D + 8011 * d * e12 / 1048576 * cos10D + (3 * e2 / 8 + 3 * e4 / 16 + 213 * e6 / 2048 - 3 * d2 * e6 / 64 + 255 * e8 / 4096 - 33 * d2 * e8 / 512 + 20861 * e10 / 524288 - 33 * d2 * e10 / 512 + d4 * e10 / 1024 + 28273 * e12 / 1048576 - 471 * d2 * e12 / 8192 + 9 * d4 * e12 / 4096) * sin2D + (21 * e4 / 256 + 21 * e6 / 256 + 533 * e8 / 8192 - 21 * d2 * e8 / 512 + 197 * e10 / 4096 - 315 * d2 * e10 / 4096 + 584039 * e12 / 16777216 - 12517 * d2 * e12 / 131072 + 7 * d4 * e12 / 2048) * sin4D + (151 * e6 / 6144 + 151 * e8 / 4096 + 5019 * e10 / 131072 - 453 * d2 * e10 / 16384 + 26965 * e12 / 786432 - 8607 * d2 * e12 / 131072) * sin6D + (1097 * e8 / 131072 + 1097 * e10 / 65536 + 225797 * e12 / 10485760 - 1097 * d2 * e12 / 65536) * sin8D + (8011 * e10 / 2621440 + 8011 * e12 / 1048576) * sin10D + 293393 * e12 / 251658240 * sin12D;
91
+ }
92
+ function calculateSigma(ellipticity, latitude) {
93
+ if (ellipticity === 0) {
94
+ return Math.log(Math.tan(0.5 * (Math_default.PI_OVER_TWO + latitude)));
95
+ }
96
+ const eSinL = ellipticity * Math.sin(latitude);
97
+ return Math.log(Math.tan(0.5 * (Math_default.PI_OVER_TWO + latitude))) - ellipticity / 2 * Math.log((1 + eSinL) / (1 - eSinL));
98
+ }
99
+ function calculateHeading(ellipsoidRhumbLine, firstLongitude, firstLatitude, secondLongitude, secondLatitude) {
100
+ const sigma1 = calculateSigma(ellipsoidRhumbLine._ellipticity, firstLatitude);
101
+ const sigma2 = calculateSigma(
102
+ ellipsoidRhumbLine._ellipticity,
103
+ secondLatitude
104
+ );
105
+ return Math.atan2(
106
+ Math_default.negativePiToPi(secondLongitude - firstLongitude),
107
+ sigma2 - sigma1
108
+ );
109
+ }
110
+ function calculateArcLength(ellipsoidRhumbLine, major, minor, firstLongitude, firstLatitude, secondLongitude, secondLatitude) {
111
+ const heading = ellipsoidRhumbLine._heading;
112
+ const deltaLongitude = secondLongitude - firstLongitude;
113
+ let distance;
114
+ if (Math_default.equalsEpsilon(
115
+ Math.abs(heading),
116
+ Math_default.PI_OVER_TWO,
117
+ Math_default.EPSILON8
118
+ )) {
119
+ if (major === minor) {
120
+ distance = major * Math.cos(firstLatitude) * Math_default.negativePiToPi(deltaLongitude);
121
+ } else {
122
+ const sinPhi = Math.sin(firstLatitude);
123
+ distance = major * Math.cos(firstLatitude) * Math_default.negativePiToPi(deltaLongitude) / Math.sqrt(1 - ellipsoidRhumbLine._ellipticitySquared * sinPhi * sinPhi);
124
+ }
125
+ } else {
126
+ const M1 = calculateM(
127
+ ellipsoidRhumbLine._ellipticity,
128
+ major,
129
+ firstLatitude
130
+ );
131
+ const M2 = calculateM(
132
+ ellipsoidRhumbLine._ellipticity,
133
+ major,
134
+ secondLatitude
135
+ );
136
+ distance = (M2 - M1) / Math.cos(heading);
137
+ }
138
+ return Math.abs(distance);
139
+ }
140
+ var scratchCart1 = new Cartesian3_default();
141
+ var scratchCart2 = new Cartesian3_default();
142
+ function computeProperties(ellipsoidRhumbLine, start, end, ellipsoid) {
143
+ const firstCartesian = Cartesian3_default.normalize(
144
+ ellipsoid.cartographicToCartesian(start, scratchCart2),
145
+ scratchCart1
146
+ );
147
+ const lastCartesian = Cartesian3_default.normalize(
148
+ ellipsoid.cartographicToCartesian(end, scratchCart2),
149
+ scratchCart2
150
+ );
151
+ Check_default.typeOf.number.greaterThanOrEquals(
152
+ "value",
153
+ Math.abs(
154
+ Math.abs(Cartesian3_default.angleBetween(firstCartesian, lastCartesian)) - Math.PI
155
+ ),
156
+ 0.0125
157
+ );
158
+ const major = ellipsoid.maximumRadius;
159
+ const minor = ellipsoid.minimumRadius;
160
+ const majorSquared = major * major;
161
+ const minorSquared = minor * minor;
162
+ ellipsoidRhumbLine._ellipticitySquared = (majorSquared - minorSquared) / majorSquared;
163
+ ellipsoidRhumbLine._ellipticity = Math.sqrt(
164
+ ellipsoidRhumbLine._ellipticitySquared
165
+ );
166
+ ellipsoidRhumbLine._start = Cartographic_default.clone(
167
+ start,
168
+ ellipsoidRhumbLine._start
169
+ );
170
+ ellipsoidRhumbLine._start.height = 0;
171
+ ellipsoidRhumbLine._end = Cartographic_default.clone(end, ellipsoidRhumbLine._end);
172
+ ellipsoidRhumbLine._end.height = 0;
173
+ ellipsoidRhumbLine._heading = calculateHeading(
174
+ ellipsoidRhumbLine,
175
+ start.longitude,
176
+ start.latitude,
177
+ end.longitude,
178
+ end.latitude
179
+ );
180
+ ellipsoidRhumbLine._distance = calculateArcLength(
181
+ ellipsoidRhumbLine,
182
+ ellipsoid.maximumRadius,
183
+ ellipsoid.minimumRadius,
184
+ start.longitude,
185
+ start.latitude,
186
+ end.longitude,
187
+ end.latitude
188
+ );
189
+ }
190
+ function interpolateUsingSurfaceDistance(start, heading, distance, major, ellipticity, result) {
191
+ if (distance === 0) {
192
+ return Cartographic_default.clone(start, result);
193
+ }
194
+ const ellipticitySquared = ellipticity * ellipticity;
195
+ let longitude;
196
+ let latitude;
197
+ let deltaLongitude;
198
+ if (Math.abs(Math_default.PI_OVER_TWO - Math.abs(heading)) > Math_default.EPSILON8) {
199
+ const M1 = calculateM(ellipticity, major, start.latitude);
200
+ const deltaM = distance * Math.cos(heading);
201
+ const M2 = M1 + deltaM;
202
+ latitude = calculateInverseM(M2, ellipticity, major);
203
+ if (Math.abs(heading) < Math_default.EPSILON10) {
204
+ longitude = Math_default.negativePiToPi(start.longitude);
205
+ } else {
206
+ const sigma1 = calculateSigma(ellipticity, start.latitude);
207
+ const sigma2 = calculateSigma(ellipticity, latitude);
208
+ deltaLongitude = Math.tan(heading) * (sigma2 - sigma1);
209
+ longitude = Math_default.negativePiToPi(start.longitude + deltaLongitude);
210
+ }
211
+ } else {
212
+ latitude = start.latitude;
213
+ let localRad;
214
+ if (ellipticity === 0) {
215
+ localRad = major * Math.cos(start.latitude);
216
+ } else {
217
+ const sinPhi = Math.sin(start.latitude);
218
+ localRad = major * Math.cos(start.latitude) / Math.sqrt(1 - ellipticitySquared * sinPhi * sinPhi);
219
+ }
220
+ deltaLongitude = distance / localRad;
221
+ if (heading > 0) {
222
+ longitude = Math_default.negativePiToPi(start.longitude + deltaLongitude);
223
+ } else {
224
+ longitude = Math_default.negativePiToPi(start.longitude - deltaLongitude);
225
+ }
226
+ }
227
+ if (defined_default(result)) {
228
+ result.longitude = longitude;
229
+ result.latitude = latitude;
230
+ result.height = 0;
231
+ return result;
232
+ }
233
+ return new Cartographic_default(longitude, latitude, 0);
234
+ }
235
+ function EllipsoidRhumbLine(start, end, ellipsoid) {
236
+ const e = ellipsoid ?? Ellipsoid_default.default;
237
+ this._ellipsoid = e;
238
+ this._start = new Cartographic_default();
239
+ this._end = new Cartographic_default();
240
+ this._heading = void 0;
241
+ this._distance = void 0;
242
+ this._ellipticity = void 0;
243
+ this._ellipticitySquared = void 0;
244
+ if (defined_default(start) && defined_default(end)) {
245
+ computeProperties(this, start, end, e);
246
+ }
247
+ }
248
+ Object.defineProperties(EllipsoidRhumbLine.prototype, {
249
+ /**
250
+ * Gets the ellipsoid.
251
+ * @memberof EllipsoidRhumbLine.prototype
252
+ * @type {Ellipsoid}
253
+ * @readonly
254
+ */
255
+ ellipsoid: {
256
+ get: function() {
257
+ return this._ellipsoid;
258
+ }
259
+ },
260
+ /**
261
+ * Gets the surface distance between the start and end point
262
+ * @memberof EllipsoidRhumbLine.prototype
263
+ * @type {number}
264
+ * @readonly
265
+ */
266
+ surfaceDistance: {
267
+ get: function() {
268
+ Check_default.defined("distance", this._distance);
269
+ return this._distance;
270
+ }
271
+ },
272
+ /**
273
+ * Gets the initial planetodetic point on the path.
274
+ * @memberof EllipsoidRhumbLine.prototype
275
+ * @type {Cartographic}
276
+ * @readonly
277
+ */
278
+ start: {
279
+ get: function() {
280
+ return this._start;
281
+ }
282
+ },
283
+ /**
284
+ * Gets the final planetodetic point on the path.
285
+ * @memberof EllipsoidRhumbLine.prototype
286
+ * @type {Cartographic}
287
+ * @readonly
288
+ */
289
+ end: {
290
+ get: function() {
291
+ return this._end;
292
+ }
293
+ },
294
+ /**
295
+ * Gets the heading from the start point to the end point.
296
+ * @memberof EllipsoidRhumbLine.prototype
297
+ * @type {number}
298
+ * @readonly
299
+ */
300
+ heading: {
301
+ get: function() {
302
+ Check_default.defined("distance", this._distance);
303
+ return this._heading;
304
+ }
305
+ }
306
+ });
307
+ EllipsoidRhumbLine.fromStartHeadingDistance = function(start, heading, distance, ellipsoid, result) {
308
+ Check_default.defined("start", start);
309
+ Check_default.defined("heading", heading);
310
+ Check_default.defined("distance", distance);
311
+ Check_default.typeOf.number.greaterThan("distance", distance, 0);
312
+ const e = ellipsoid ?? Ellipsoid_default.default;
313
+ const major = e.maximumRadius;
314
+ const minor = e.minimumRadius;
315
+ const majorSquared = major * major;
316
+ const minorSquared = minor * minor;
317
+ const ellipticity = Math.sqrt((majorSquared - minorSquared) / majorSquared);
318
+ heading = Math_default.negativePiToPi(heading);
319
+ const end = interpolateUsingSurfaceDistance(
320
+ start,
321
+ heading,
322
+ distance,
323
+ e.maximumRadius,
324
+ ellipticity
325
+ );
326
+ if (!defined_default(result) || defined_default(ellipsoid) && !ellipsoid.equals(result.ellipsoid)) {
327
+ return new EllipsoidRhumbLine(start, end, e);
328
+ }
329
+ result.setEndPoints(start, end);
330
+ return result;
331
+ };
332
+ EllipsoidRhumbLine.prototype.setEndPoints = function(start, end) {
333
+ Check_default.defined("start", start);
334
+ Check_default.defined("end", end);
335
+ computeProperties(this, start, end, this._ellipsoid);
336
+ };
337
+ EllipsoidRhumbLine.prototype.interpolateUsingFraction = function(fraction, result) {
338
+ return this.interpolateUsingSurfaceDistance(
339
+ fraction * this._distance,
340
+ result
341
+ );
342
+ };
343
+ EllipsoidRhumbLine.prototype.interpolateUsingSurfaceDistance = function(distance, result) {
344
+ Check_default.typeOf.number("distance", distance);
345
+ if (!defined_default(this._distance) || this._distance === 0) {
346
+ throw new DeveloperError_default(
347
+ "EllipsoidRhumbLine must have distinct start and end set."
348
+ );
349
+ }
350
+ return interpolateUsingSurfaceDistance(
351
+ this._start,
352
+ this._heading,
353
+ distance,
354
+ this._ellipsoid.maximumRadius,
355
+ this._ellipticity,
356
+ result
357
+ );
358
+ };
359
+ EllipsoidRhumbLine.prototype.findIntersectionWithLongitude = function(intersectionLongitude, result) {
360
+ Check_default.typeOf.number("intersectionLongitude", intersectionLongitude);
361
+ if (!defined_default(this._distance) || this._distance === 0) {
362
+ throw new DeveloperError_default(
363
+ "EllipsoidRhumbLine must have distinct start and end set."
364
+ );
365
+ }
366
+ const ellipticity = this._ellipticity;
367
+ const heading = this._heading;
368
+ const absHeading = Math.abs(heading);
369
+ const start = this._start;
370
+ intersectionLongitude = Math_default.negativePiToPi(intersectionLongitude);
371
+ if (Math_default.equalsEpsilon(
372
+ Math.abs(intersectionLongitude),
373
+ Math.PI,
374
+ Math_default.EPSILON14
375
+ )) {
376
+ intersectionLongitude = Math_default.sign(start.longitude) * Math.PI;
377
+ }
378
+ if (!defined_default(result)) {
379
+ result = new Cartographic_default();
380
+ }
381
+ if (Math.abs(Math_default.PI_OVER_TWO - absHeading) <= Math_default.EPSILON8) {
382
+ result.longitude = intersectionLongitude;
383
+ result.latitude = start.latitude;
384
+ result.height = 0;
385
+ return result;
386
+ } else if (Math_default.equalsEpsilon(
387
+ Math.abs(Math_default.PI_OVER_TWO - absHeading),
388
+ Math_default.PI_OVER_TWO,
389
+ Math_default.EPSILON8
390
+ )) {
391
+ if (Math_default.equalsEpsilon(
392
+ intersectionLongitude,
393
+ start.longitude,
394
+ Math_default.EPSILON12
395
+ )) {
396
+ return void 0;
397
+ }
398
+ result.longitude = intersectionLongitude;
399
+ result.latitude = Math_default.PI_OVER_TWO * Math_default.sign(Math_default.PI_OVER_TWO - heading);
400
+ result.height = 0;
401
+ return result;
402
+ }
403
+ const phi1 = start.latitude;
404
+ const eSinPhi1 = ellipticity * Math.sin(phi1);
405
+ const leftComponent = Math.tan(0.5 * (Math_default.PI_OVER_TWO + phi1)) * Math.exp((intersectionLongitude - start.longitude) / Math.tan(heading));
406
+ const denominator = (1 + eSinPhi1) / (1 - eSinPhi1);
407
+ let newPhi = start.latitude;
408
+ let phi;
409
+ do {
410
+ phi = newPhi;
411
+ const eSinPhi = ellipticity * Math.sin(phi);
412
+ const numerator = (1 + eSinPhi) / (1 - eSinPhi);
413
+ newPhi = 2 * Math.atan(
414
+ leftComponent * Math.pow(numerator / denominator, ellipticity / 2)
415
+ ) - Math_default.PI_OVER_TWO;
416
+ } while (!Math_default.equalsEpsilon(newPhi, phi, Math_default.EPSILON12));
417
+ result.longitude = intersectionLongitude;
418
+ result.latitude = newPhi;
419
+ result.height = 0;
420
+ return result;
421
+ };
422
+ EllipsoidRhumbLine.prototype.findIntersectionWithLatitude = function(intersectionLatitude, result) {
423
+ Check_default.typeOf.number("intersectionLatitude", intersectionLatitude);
424
+ if (!defined_default(this._distance) || this._distance === 0) {
425
+ throw new DeveloperError_default(
426
+ "EllipsoidRhumbLine must have distinct start and end set."
427
+ );
428
+ }
429
+ const ellipticity = this._ellipticity;
430
+ const heading = this._heading;
431
+ const start = this._start;
432
+ if (Math_default.equalsEpsilon(
433
+ Math.abs(heading),
434
+ Math_default.PI_OVER_TWO,
435
+ Math_default.EPSILON8
436
+ )) {
437
+ return;
438
+ }
439
+ const sigma1 = calculateSigma(ellipticity, start.latitude);
440
+ const sigma2 = calculateSigma(ellipticity, intersectionLatitude);
441
+ const deltaLongitude = Math.tan(heading) * (sigma2 - sigma1);
442
+ const longitude = Math_default.negativePiToPi(start.longitude + deltaLongitude);
443
+ if (defined_default(result)) {
444
+ result.longitude = longitude;
445
+ result.latitude = intersectionLatitude;
446
+ result.height = 0;
447
+ return result;
448
+ }
449
+ return new Cartographic_default(longitude, intersectionLatitude, 0);
450
+ };
451
+ var EllipsoidRhumbLine_default = EllipsoidRhumbLine;
452
+
453
+ export {
454
+ EllipsoidRhumbLine_default
455
+ };