@hztxi/cesium-engine 25.0.2 → 25.0.4

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 (292) hide show
  1. package/Build/ThirdParty/Workers/zip-web-worker.js +761 -520
  2. package/Build/Workers/chunk-2KZP32NE.js +3201 -0
  3. package/Build/Workers/chunk-2P5SGQUU.js +44 -0
  4. package/Build/Workers/chunk-2PFSIZOR.js +959 -0
  5. package/Build/Workers/chunk-2RC5GQMH.js +82 -0
  6. package/Build/Workers/chunk-2TM5FET3.js +241 -0
  7. package/Build/Workers/chunk-2ZYMQXBB.js +519 -0
  8. package/Build/Workers/chunk-37IVAHRF.js +3201 -0
  9. package/Build/Workers/chunk-3B2TIEWW.js +73 -0
  10. package/Build/Workers/chunk-3CSWK42O.js +3648 -0
  11. package/Build/Workers/chunk-3GDVUAIX.js +1287 -0
  12. package/Build/Workers/chunk-3HOOLJ6E.js +1483 -0
  13. package/Build/Workers/chunk-3L5NZHVW.js +288 -0
  14. package/Build/Workers/chunk-3LQDIJFX.js +2719 -0
  15. package/Build/Workers/chunk-3MWOYCFC.js +511 -0
  16. package/Build/Workers/chunk-3Q52BERF.js +476 -0
  17. package/Build/Workers/chunk-3WIDW5QO.js +1800 -0
  18. package/Build/Workers/chunk-4L4ZXXL7.js +57 -0
  19. package/Build/Workers/chunk-4MHUA5ZK.js +163 -0
  20. package/Build/Workers/chunk-4QK5RZ5I.js +171 -0
  21. package/Build/Workers/chunk-4RWSLDVO.js +198 -0
  22. package/Build/Workers/chunk-53HFLKT5.js +76 -0
  23. package/Build/Workers/chunk-5BVKUNRB.js +368 -0
  24. package/Build/Workers/chunk-5DJBLQEH.js +56 -0
  25. package/Build/Workers/chunk-5FNZGB4U.js +368 -0
  26. package/Build/Workers/chunk-5KOCUIKQ.js +476 -0
  27. package/Build/Workers/chunk-5PK42ITB.js +219 -0
  28. package/Build/Workers/chunk-5SGB3BKM.js +73 -0
  29. package/Build/Workers/chunk-5ZWRS2E6.js +280 -0
  30. package/Build/Workers/chunk-642GMGGP.js +162 -0
  31. package/Build/Workers/chunk-65LZTCWG.js +1344 -0
  32. package/Build/Workers/chunk-6FU5LWYG.js +352 -0
  33. package/Build/Workers/chunk-6IYEGXEW.js +1344 -0
  34. package/Build/Workers/chunk-6KWWDFT4.js +278 -0
  35. package/Build/Workers/chunk-6PYOAYJD.js +1046 -0
  36. package/Build/Workers/chunk-73DJHI53.js +398 -0
  37. package/Build/Workers/chunk-73OT3YBQ.js +1054 -0
  38. package/Build/Workers/chunk-73T2E2OA.js +454 -0
  39. package/Build/Workers/chunk-752QDGCS.js +778 -0
  40. package/Build/Workers/chunk-76HD3HYN.js +2342 -0
  41. package/Build/Workers/chunk-7I4AKIEV.js +58 -0
  42. package/Build/Workers/chunk-7ZYD7GL6.js +414 -0
  43. package/Build/Workers/chunk-AH6GJ5MT.js +754 -0
  44. package/Build/Workers/chunk-ALJYMECF.js +973 -0
  45. package/Build/Workers/chunk-AM56LGEB.js +352 -0
  46. package/Build/Workers/chunk-ANGZAKVP.js +257 -0
  47. package/Build/Workers/chunk-ATT5UEK6.js +97 -0
  48. package/Build/Workers/chunk-AW3UT5RP.js +97 -0
  49. package/Build/Workers/chunk-AZGPL6BR.js +38 -0
  50. package/Build/Workers/chunk-B7SMDRPA.js +476 -0
  51. package/Build/Workers/chunk-BADQ2G5E.js +837 -0
  52. package/Build/Workers/chunk-BAPOWX62.js +368 -0
  53. package/Build/Workers/chunk-BE5ULV4I.js +1800 -0
  54. package/Build/Workers/chunk-BII4UB3C.js +476 -0
  55. package/Build/Workers/chunk-BPL3HT2R.js +837 -0
  56. package/Build/Workers/chunk-BVAMP4M3.js +101 -0
  57. package/Build/Workers/chunk-BVFS5LSK.js +1067 -0
  58. package/Build/Workers/chunk-CADDH6MK.js +140 -0
  59. package/Build/Workers/chunk-CEIY3YH2.js +57 -0
  60. package/Build/Workers/chunk-CJT3FTZK.js +58 -0
  61. package/Build/Workers/chunk-CKWUU4JK.js +138 -0
  62. package/Build/Workers/chunk-CMMHWVUF.js +2719 -0
  63. package/Build/Workers/chunk-CQNFIAZU.js +56 -0
  64. package/Build/Workers/chunk-CSUBL77L.js +140 -0
  65. package/Build/Workers/chunk-CV7K25H3.js +138 -0
  66. package/Build/Workers/chunk-DHCQSFRN.js +301 -0
  67. package/Build/Workers/chunk-DKFSOFKR.js +241 -0
  68. package/Build/Workers/chunk-DLHFYNG6.js +52 -0
  69. package/Build/Workers/chunk-DNEERCHO.js +171 -0
  70. package/Build/Workers/chunk-EHXAKTME.js +147 -0
  71. package/Build/Workers/chunk-ETABYWY4.js +973 -0
  72. package/Build/Workers/chunk-EYVCQUVQ.js +1067 -0
  73. package/Build/Workers/chunk-FE7VHPNW.js +102 -0
  74. package/Build/Workers/chunk-FF6JKPLF.js +454 -0
  75. package/Build/Workers/chunk-FFEVCOBU.js +387 -0
  76. package/Build/Workers/chunk-FTRHXHI5.js +3794 -0
  77. package/Build/Workers/chunk-FWABE4BL.js +305 -0
  78. package/Build/Workers/chunk-GC24BPCQ.js +305 -0
  79. package/Build/Workers/chunk-GCTHMF35.js +387 -0
  80. package/Build/Workers/chunk-GDHSPLWC.js +9237 -0
  81. package/Build/Workers/chunk-GGK7SA4Y.js +414 -0
  82. package/Build/Workers/chunk-GGVG7G5Z.js +1483 -0
  83. package/Build/Workers/chunk-GH2D6MPO.js +497 -0
  84. package/Build/Workers/chunk-GHVEEVR7.js +778 -0
  85. package/Build/Workers/chunk-GL7W3I3A.js +959 -0
  86. package/Build/Workers/chunk-H52M4HMP.js +9230 -0
  87. package/Build/Workers/chunk-H7QGY7HB.js +1054 -0
  88. package/Build/Workers/chunk-H7ZXQIV2.js +398 -0
  89. package/Build/Workers/chunk-HBJKIDKK.js +76 -0
  90. package/Build/Workers/chunk-HERVRBJW.js +76 -0
  91. package/Build/Workers/chunk-HFMS7MXO.js +511 -0
  92. package/Build/Workers/chunk-HH6PJ22V.js +455 -0
  93. package/Build/Workers/chunk-HQ2PXPP7.js +102 -0
  94. package/Build/Workers/chunk-HTO45L3X.js +454 -0
  95. package/Build/Workers/chunk-HUNCRVVV.js +1067 -0
  96. package/Build/Workers/chunk-HW5TLMPQ.js +57 -0
  97. package/Build/Workers/chunk-IC3HVJBG.js +301 -0
  98. package/Build/Workers/chunk-IEKP7CEH.js +387 -0
  99. package/Build/Workers/chunk-IFSGYIDE.js +257 -0
  100. package/Build/Workers/chunk-ILUFUAF3.js +1992 -0
  101. package/Build/Workers/chunk-ILX5N5QR.js +2342 -0
  102. package/Build/Workers/chunk-IRSD4EJW.js +630 -0
  103. package/Build/Workers/chunk-ISRYZ3F4.js +414 -0
  104. package/Build/Workers/chunk-J3A3XMTG.js +672 -0
  105. package/Build/Workers/chunk-JBJ5PC2D.js +102 -0
  106. package/Build/Workers/chunk-JFPBQCDB.js +398 -0
  107. package/Build/Workers/chunk-JK54NBBO.js +778 -0
  108. package/Build/Workers/chunk-JKPELBSI.js +682 -0
  109. package/Build/Workers/chunk-JLLWLD6O.js +973 -0
  110. package/Build/Workers/chunk-JSFKPEFK.js +352 -0
  111. package/Build/Workers/chunk-JTSSQ3RH.js +147 -0
  112. package/Build/Workers/chunk-JZVZDHC2.js +288 -0
  113. package/Build/Workers/chunk-K724BR5O.js +455 -0
  114. package/Build/Workers/chunk-KCUS7QEU.js +387 -0
  115. package/Build/Workers/chunk-KFRKYG4B.js +288 -0
  116. package/Build/Workers/chunk-KJOVSN7J.js +56 -0
  117. package/Build/Workers/chunk-KKEMKV5G.js +44 -0
  118. package/Build/Workers/chunk-KXNXQXP5.js +682 -0
  119. package/Build/Workers/chunk-KYXZ3XTC.js +497 -0
  120. package/Build/Workers/chunk-L65LWRUE.js +3648 -0
  121. package/Build/Workers/chunk-LAN4XQR6.js +162 -0
  122. package/Build/Workers/chunk-LERIK6IA.js +219 -0
  123. package/Build/Workers/chunk-LOVXQI64.js +2719 -0
  124. package/Build/Workers/chunk-LVO4J36T.js +1800 -0
  125. package/Build/Workers/chunk-LY5KUQ2L.js +57 -0
  126. package/Build/Workers/chunk-M2XWG5VC.js +124 -0
  127. package/Build/Workers/chunk-MD7CEJO5.js +2342 -0
  128. package/Build/Workers/chunk-MUPWJMPP.js +44 -0
  129. package/Build/Workers/chunk-MVBEMXN4.js +163 -0
  130. package/Build/Workers/chunk-MVQYVX6D.js +511 -0
  131. package/Build/Workers/chunk-N4RF6TUL.js +301 -0
  132. package/Build/Workers/chunk-NCH4P66E.js +219 -0
  133. package/Build/Workers/chunk-NCL22ZUX.js +56 -0
  134. package/Build/Workers/chunk-NNJDVVEG.js +3794 -0
  135. package/Build/Workers/chunk-NYQSZLRF.js +78 -0
  136. package/Build/Workers/chunk-O2V4I3I5.js +682 -0
  137. package/Build/Workers/chunk-O453S45W.js +1483 -0
  138. package/Build/Workers/chunk-O5CYW2IR.js +1046 -0
  139. package/Build/Workers/chunk-OJ7O7DKV.js +973 -0
  140. package/Build/Workers/chunk-OJK33YVT.js +171 -0
  141. package/Build/Workers/chunk-OKFC4PDV.js +1344 -0
  142. package/Build/Workers/chunk-OKPQ3QBG.js +124 -0
  143. package/Build/Workers/chunk-OKUXJIW3.js +124 -0
  144. package/Build/Workers/chunk-OWDZ5BX4.js +280 -0
  145. package/Build/Workers/chunk-PC7533X2.js +1800 -0
  146. package/Build/Workers/chunk-PCERHV4S.js +198 -0
  147. package/Build/Workers/chunk-PCXE4XMI.js +82 -0
  148. package/Build/Workers/chunk-PJT22BD4.js +352 -0
  149. package/Build/Workers/chunk-PKV3R77E.js +672 -0
  150. package/Build/Workers/chunk-PQ2MGY7X.js +162 -0
  151. package/Build/Workers/chunk-PR62UBKE.js +693 -0
  152. package/Build/Workers/chunk-PXPUYOFJ.js +1287 -0
  153. package/Build/Workers/chunk-QJJ3GXSH.js +140 -0
  154. package/Build/Workers/chunk-QM4HZZYW.js +219 -0
  155. package/Build/Workers/chunk-QQ2BBL7Z.js +162 -0
  156. package/Build/Workers/chunk-QX6AYJX2.js +455 -0
  157. package/Build/Workers/chunk-QYC6Y25A.js +124 -0
  158. package/Build/Workers/chunk-RBAZR7R2.js +280 -0
  159. package/Build/Workers/chunk-REZJEC6F.js +241 -0
  160. package/Build/Workers/chunk-RS3LRHOK.js +73 -0
  161. package/Build/Workers/chunk-RSJUCJPN.js +241 -0
  162. package/Build/Workers/chunk-S2WTOFGB.js +102 -0
  163. package/Build/Workers/chunk-SGLJWWWY.js +352 -0
  164. package/Build/Workers/chunk-SJZMU3OS.js +2342 -0
  165. package/Build/Workers/chunk-SMZXVFCA.js +1344 -0
  166. package/Build/Workers/chunk-SND4KNB6.js +754 -0
  167. package/Build/Workers/chunk-SPTT255E.js +301 -0
  168. package/Build/Workers/chunk-SRH2XIWS.js +1067 -0
  169. package/Build/Workers/chunk-STXWAEVD.js +101 -0
  170. package/Build/Workers/chunk-SUG6ECWR.js +76 -0
  171. package/Build/Workers/chunk-SXSP3JHS.js +38 -0
  172. package/Build/Workers/chunk-T6SVKD76.js +511 -0
  173. package/Build/Workers/chunk-TA3PH4Q7.js +519 -0
  174. package/Build/Workers/chunk-TDJ2NSYJ.js +171 -0
  175. package/Build/Workers/chunk-TJCD5NV5.js +837 -0
  176. package/Build/Workers/chunk-TPT5IM72.js +280 -0
  177. package/Build/Workers/chunk-TTG2JNFN.js +198 -0
  178. package/Build/Workers/chunk-TXBADNRA.js +9237 -0
  179. package/Build/Workers/chunk-TYW2D7VU.js +2719 -0
  180. package/Build/Workers/chunk-U3KB4HMG.js +1054 -0
  181. package/Build/Workers/chunk-U6OMVSBY.js +368 -0
  182. package/Build/Workers/chunk-UAVMVBMC.js +754 -0
  183. package/Build/Workers/chunk-UCOZLNHF.js +1284 -0
  184. package/Build/Workers/chunk-UDKEO3UF.js +163 -0
  185. package/Build/Workers/chunk-UDXUBVNR.js +1992 -0
  186. package/Build/Workers/chunk-UIQUUY4A.js +73 -0
  187. package/Build/Workers/chunk-ULY2FDDP.js +454 -0
  188. package/Build/Workers/chunk-UNXJWCXV.js +9230 -0
  189. package/Build/Workers/chunk-UT7YX565.js +1992 -0
  190. package/Build/Workers/chunk-UTKCX3AS.js +352 -0
  191. package/Build/Workers/chunk-UTOYFI3Q.js +1992 -0
  192. package/Build/Workers/chunk-UUXWWJI7.js +101 -0
  193. package/Build/Workers/chunk-V5AWAGL2.js +97 -0
  194. package/Build/Workers/chunk-V5AXOGPW.js +682 -0
  195. package/Build/Workers/chunk-VAUX2Q2X.js +138 -0
  196. package/Build/Workers/chunk-VDX4SJKV.js +58 -0
  197. package/Build/Workers/chunk-VL2WHGQI.js +305 -0
  198. package/Build/Workers/chunk-W37YFRTG.js +38 -0
  199. package/Build/Workers/chunk-W5AGSDWX.js +44 -0
  200. package/Build/Workers/chunk-W7WEPLZL.js +414 -0
  201. package/Build/Workers/chunk-WBQDTVCN.js +97 -0
  202. package/Build/Workers/chunk-WDSHSR57.js +837 -0
  203. package/Build/Workers/chunk-WNAG4FHY.js +305 -0
  204. package/Build/Workers/chunk-WNQX2CP3.js +455 -0
  205. package/Build/Workers/chunk-XCASHPVG.js +778 -0
  206. package/Build/Workers/chunk-XJUIVTHG.js +1483 -0
  207. package/Build/Workers/chunk-XPIDT6UT.js +1054 -0
  208. package/Build/Workers/chunk-XQETP7YD.js +3201 -0
  209. package/Build/Workers/chunk-XQVSSVT2.js +140 -0
  210. package/Build/Workers/chunk-Y5E2LVSX.js +138 -0
  211. package/Build/Workers/chunk-YEMKJOOG.js +352 -0
  212. package/Build/Workers/chunk-YGFVAGYF.js +630 -0
  213. package/Build/Workers/chunk-YNWTO2WN.js +147 -0
  214. package/Build/Workers/chunk-YZAMLSIA.js +352 -0
  215. package/Build/Workers/chunk-Z3KHKVNA.js +56 -0
  216. package/Build/Workers/chunk-Z6LUW5FN.js +198 -0
  217. package/Build/Workers/chunk-Z7XRKD6H.js +693 -0
  218. package/Build/Workers/chunk-ZDUCDVKX.js +288 -0
  219. package/Build/Workers/chunk-ZEEPTE4R.js +147 -0
  220. package/Build/Workers/chunk-ZIBW2BFB.js +1284 -0
  221. package/Build/Workers/chunk-ZOYVNCFZ.js +754 -0
  222. package/Build/Workers/chunk-ZQUSI7YK.js +630 -0
  223. package/Build/Workers/chunk-ZSWY7UNG.js +3201 -0
  224. package/Build/Workers/chunk-ZXRWKKJP.js +398 -0
  225. package/Build/Workers/chunk-ZY4DTNR2.js +56 -0
  226. package/Build/Workers/combineGeometry.js +24 -24
  227. package/Build/Workers/createBoxGeometry.js +18 -18
  228. package/Build/Workers/createBoxOutlineGeometry.js +16 -16
  229. package/Build/Workers/createCircleGeometry.js +26 -26
  230. package/Build/Workers/createCircleOutlineGeometry.js +19 -19
  231. package/Build/Workers/createCoplanarPolygonGeometry.js +33 -33
  232. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
  233. package/Build/Workers/createCorridorGeometry.js +29 -29
  234. package/Build/Workers/createCorridorOutlineGeometry.js +28 -28
  235. package/Build/Workers/createCylinderGeometry.js +20 -20
  236. package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
  237. package/Build/Workers/createEllipseGeometry.js +26 -26
  238. package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
  239. package/Build/Workers/createEllipsoidGeometry.js +19 -19
  240. package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
  241. package/Build/Workers/createFrustumGeometry.js +18 -18
  242. package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
  243. package/Build/Workers/createGeometry.js +24 -24
  244. package/Build/Workers/createGroundPolylineGeometry.js +23 -23
  245. package/Build/Workers/createMvtTile.js +1815 -0
  246. package/Build/Workers/createPlaneGeometry.js +16 -16
  247. package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
  248. package/Build/Workers/createPolygonGeometry.js +32 -32
  249. package/Build/Workers/createPolygonOutlineGeometry.js +30 -30
  250. package/Build/Workers/createPolylineGeometry.js +25 -25
  251. package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
  252. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
  253. package/Build/Workers/createRectangleGeometry.js +27 -27
  254. package/Build/Workers/createRectangleOutlineGeometry.js +20 -20
  255. package/Build/Workers/createSimplePolylineGeometry.js +23 -23
  256. package/Build/Workers/createSphereGeometry.js +19 -19
  257. package/Build/Workers/createSphereOutlineGeometry.js +18 -18
  258. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  259. package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
  260. package/Build/Workers/createVectorTileGeometries.js +24 -24
  261. package/Build/Workers/createVectorTilePoints.js +13 -13
  262. package/Build/Workers/createVectorTilePolygons.js +22 -22
  263. package/Build/Workers/createVectorTilePolylines.js +14 -14
  264. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +26 -26
  265. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +23 -23
  266. package/Build/Workers/createVerticesFromHeightmap.js +25 -25
  267. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +21 -21
  268. package/Build/Workers/createWallGeometry.js +24 -24
  269. package/Build/Workers/createWallOutlineGeometry.js +23 -23
  270. package/Build/Workers/decodeDraco.js +10 -10
  271. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +58 -44
  272. package/Build/Workers/decodeI3S.js +10 -10
  273. package/Build/Workers/gaussianSplatSorter.js +4 -4
  274. package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
  275. package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
  276. package/Build/Workers/transcodeKTX2.js +7 -7
  277. package/Build/Workers/transferTypedArrayTest.js +1 -1
  278. package/Build/Workers/upsampleQuantizedTerrainMesh.js +23 -23
  279. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +26 -26
  280. package/Source/Core/ScreenSpaceEventHandler.js +19 -0
  281. package/Source/Scene/Globe.js +55 -0
  282. package/Source/Scene/GlobeSurfaceShaderSet.js +132 -1
  283. package/Source/Scene/GlobeSurfaceTileProvider.js +378 -2
  284. package/Source/Scene/ImageryLayer.js +244 -10
  285. package/Source/Scene/QuadtreePrimitive.js +256 -2
  286. package/Source/Shaders/GlobeFS.glsl +43 -0
  287. package/Source/Shaders/GlobeFS.js +43 -0
  288. package/Source/ThirdParty/Workers/zip-web-worker.js +1 -1
  289. package/Source/ThirdParty/zip-module.wasm +0 -0
  290. package/index.d.ts +48305 -0
  291. package/index.js +184 -184
  292. package/package.json +1 -1
@@ -0,0 +1,305 @@
1
+ /**
2
+ * @license
3
+ * Cesium - https://github.com/CesiumGS/cesium
4
+ * Version 1.141.3
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
+ Quaternion_default
28
+ } from "./chunk-H52M4HMP.js";
29
+ import {
30
+ Cartesian3_default,
31
+ Matrix3_default
32
+ } from "./chunk-ILX5N5QR.js";
33
+ import {
34
+ Math_default
35
+ } from "./chunk-KYXZ3XTC.js";
36
+
37
+ // packages/engine/Source/Core/EllipseGeometryLibrary.js
38
+ var EllipseGeometryLibrary = {};
39
+ var rotAxis = new Cartesian3_default();
40
+ var tempVec = new Cartesian3_default();
41
+ var unitQuat = new Quaternion_default();
42
+ var rotMtx = new Matrix3_default();
43
+ function pointOnEllipsoid(theta, rotation, northVec, eastVec, aSqr, ab, bSqr, mag, unitPos, result) {
44
+ const azimuth = theta + rotation;
45
+ Cartesian3_default.multiplyByScalar(eastVec, Math.cos(azimuth), rotAxis);
46
+ Cartesian3_default.multiplyByScalar(northVec, Math.sin(azimuth), tempVec);
47
+ Cartesian3_default.add(rotAxis, tempVec, rotAxis);
48
+ let cosThetaSquared = Math.cos(theta);
49
+ cosThetaSquared = cosThetaSquared * cosThetaSquared;
50
+ let sinThetaSquared = Math.sin(theta);
51
+ sinThetaSquared = sinThetaSquared * sinThetaSquared;
52
+ const radius = ab / Math.sqrt(bSqr * cosThetaSquared + aSqr * sinThetaSquared);
53
+ const angle = radius / mag;
54
+ Quaternion_default.fromAxisAngle(rotAxis, angle, unitQuat);
55
+ Matrix3_default.fromQuaternion(unitQuat, rotMtx);
56
+ Matrix3_default.multiplyByVector(rotMtx, unitPos, result);
57
+ Cartesian3_default.normalize(result, result);
58
+ Cartesian3_default.multiplyByScalar(result, mag, result);
59
+ return result;
60
+ }
61
+ var scratchCartesian1 = new Cartesian3_default();
62
+ var scratchCartesian2 = new Cartesian3_default();
63
+ var scratchCartesian3 = new Cartesian3_default();
64
+ var scratchNormal = new Cartesian3_default();
65
+ EllipseGeometryLibrary.raisePositionsToHeight = function(positions, options, extrude) {
66
+ const ellipsoid = options.ellipsoid;
67
+ const height = options.height;
68
+ const extrudedHeight = options.extrudedHeight;
69
+ const size = extrude ? positions.length / 3 * 2 : positions.length / 3;
70
+ const finalPositions = new Float64Array(size * 3);
71
+ const length = positions.length;
72
+ const bottomOffset = extrude ? length : 0;
73
+ for (let i = 0; i < length; i += 3) {
74
+ const i1 = i + 1;
75
+ const i2 = i + 2;
76
+ const position = Cartesian3_default.fromArray(positions, i, scratchCartesian1);
77
+ ellipsoid.scaleToGeodeticSurface(position, position);
78
+ const extrudedPosition = Cartesian3_default.clone(position, scratchCartesian2);
79
+ const normal = ellipsoid.geodeticSurfaceNormal(position, scratchNormal);
80
+ const scaledNormal = Cartesian3_default.multiplyByScalar(
81
+ normal,
82
+ height,
83
+ scratchCartesian3
84
+ );
85
+ Cartesian3_default.add(position, scaledNormal, position);
86
+ if (extrude) {
87
+ Cartesian3_default.multiplyByScalar(normal, extrudedHeight, scaledNormal);
88
+ Cartesian3_default.add(extrudedPosition, scaledNormal, extrudedPosition);
89
+ finalPositions[i + bottomOffset] = extrudedPosition.x;
90
+ finalPositions[i1 + bottomOffset] = extrudedPosition.y;
91
+ finalPositions[i2 + bottomOffset] = extrudedPosition.z;
92
+ }
93
+ finalPositions[i] = position.x;
94
+ finalPositions[i1] = position.y;
95
+ finalPositions[i2] = position.z;
96
+ }
97
+ return finalPositions;
98
+ };
99
+ var unitPosScratch = new Cartesian3_default();
100
+ var eastVecScratch = new Cartesian3_default();
101
+ var northVecScratch = new Cartesian3_default();
102
+ EllipseGeometryLibrary.computeEllipsePositions = function(options, addFillPositions, addEdgePositions) {
103
+ const semiMinorAxis = options.semiMinorAxis;
104
+ const semiMajorAxis = options.semiMajorAxis;
105
+ const rotation = options.rotation;
106
+ const center = options.center;
107
+ const granularity = options.granularity * 8;
108
+ const aSqr = semiMinorAxis * semiMinorAxis;
109
+ const bSqr = semiMajorAxis * semiMajorAxis;
110
+ const ab = semiMajorAxis * semiMinorAxis;
111
+ const mag = Cartesian3_default.magnitude(center);
112
+ const unitPos = Cartesian3_default.normalize(center, unitPosScratch);
113
+ let eastVec = Cartesian3_default.cross(Cartesian3_default.UNIT_Z, center, eastVecScratch);
114
+ eastVec = Cartesian3_default.normalize(eastVec, eastVec);
115
+ const northVec = Cartesian3_default.cross(unitPos, eastVec, northVecScratch);
116
+ let numPts = 1 + Math.ceil(Math_default.PI_OVER_TWO / granularity);
117
+ const deltaTheta = Math_default.PI_OVER_TWO / (numPts - 1);
118
+ let theta = Math_default.PI_OVER_TWO - numPts * deltaTheta;
119
+ if (theta < 0) {
120
+ numPts -= Math.ceil(Math.abs(theta) / deltaTheta);
121
+ }
122
+ const size = 2 * (numPts * (numPts + 2));
123
+ const positions = addFillPositions ? new Array(size * 3) : void 0;
124
+ let positionIndex = 0;
125
+ let position = scratchCartesian1;
126
+ let reflectedPosition = scratchCartesian2;
127
+ const outerPositionsLength = numPts * 4 * 3;
128
+ let outerRightIndex = outerPositionsLength - 1;
129
+ let outerLeftIndex = 0;
130
+ const outerPositions = addEdgePositions ? new Array(outerPositionsLength) : void 0;
131
+ let i;
132
+ let j;
133
+ let numInterior;
134
+ let t;
135
+ let interiorPosition;
136
+ theta = Math_default.PI_OVER_TWO;
137
+ position = pointOnEllipsoid(
138
+ theta,
139
+ rotation,
140
+ northVec,
141
+ eastVec,
142
+ aSqr,
143
+ ab,
144
+ bSqr,
145
+ mag,
146
+ unitPos,
147
+ position
148
+ );
149
+ if (addFillPositions) {
150
+ positions[positionIndex++] = position.x;
151
+ positions[positionIndex++] = position.y;
152
+ positions[positionIndex++] = position.z;
153
+ }
154
+ if (addEdgePositions) {
155
+ outerPositions[outerRightIndex--] = position.z;
156
+ outerPositions[outerRightIndex--] = position.y;
157
+ outerPositions[outerRightIndex--] = position.x;
158
+ }
159
+ theta = Math_default.PI_OVER_TWO - deltaTheta;
160
+ for (i = 1; i < numPts + 1; ++i) {
161
+ position = pointOnEllipsoid(
162
+ theta,
163
+ rotation,
164
+ northVec,
165
+ eastVec,
166
+ aSqr,
167
+ ab,
168
+ bSqr,
169
+ mag,
170
+ unitPos,
171
+ position
172
+ );
173
+ reflectedPosition = pointOnEllipsoid(
174
+ Math.PI - theta,
175
+ rotation,
176
+ northVec,
177
+ eastVec,
178
+ aSqr,
179
+ ab,
180
+ bSqr,
181
+ mag,
182
+ unitPos,
183
+ reflectedPosition
184
+ );
185
+ if (addFillPositions) {
186
+ positions[positionIndex++] = position.x;
187
+ positions[positionIndex++] = position.y;
188
+ positions[positionIndex++] = position.z;
189
+ numInterior = 2 * i + 2;
190
+ for (j = 1; j < numInterior - 1; ++j) {
191
+ t = j / (numInterior - 1);
192
+ interiorPosition = Cartesian3_default.lerp(
193
+ position,
194
+ reflectedPosition,
195
+ t,
196
+ scratchCartesian3
197
+ );
198
+ positions[positionIndex++] = interiorPosition.x;
199
+ positions[positionIndex++] = interiorPosition.y;
200
+ positions[positionIndex++] = interiorPosition.z;
201
+ }
202
+ positions[positionIndex++] = reflectedPosition.x;
203
+ positions[positionIndex++] = reflectedPosition.y;
204
+ positions[positionIndex++] = reflectedPosition.z;
205
+ }
206
+ if (addEdgePositions) {
207
+ outerPositions[outerRightIndex--] = position.z;
208
+ outerPositions[outerRightIndex--] = position.y;
209
+ outerPositions[outerRightIndex--] = position.x;
210
+ outerPositions[outerLeftIndex++] = reflectedPosition.x;
211
+ outerPositions[outerLeftIndex++] = reflectedPosition.y;
212
+ outerPositions[outerLeftIndex++] = reflectedPosition.z;
213
+ }
214
+ theta = Math_default.PI_OVER_TWO - (i + 1) * deltaTheta;
215
+ }
216
+ for (i = numPts; i > 1; --i) {
217
+ theta = Math_default.PI_OVER_TWO - (i - 1) * deltaTheta;
218
+ position = pointOnEllipsoid(
219
+ -theta,
220
+ rotation,
221
+ northVec,
222
+ eastVec,
223
+ aSqr,
224
+ ab,
225
+ bSqr,
226
+ mag,
227
+ unitPos,
228
+ position
229
+ );
230
+ reflectedPosition = pointOnEllipsoid(
231
+ theta + Math.PI,
232
+ rotation,
233
+ northVec,
234
+ eastVec,
235
+ aSqr,
236
+ ab,
237
+ bSqr,
238
+ mag,
239
+ unitPos,
240
+ reflectedPosition
241
+ );
242
+ if (addFillPositions) {
243
+ positions[positionIndex++] = position.x;
244
+ positions[positionIndex++] = position.y;
245
+ positions[positionIndex++] = position.z;
246
+ numInterior = 2 * (i - 1) + 2;
247
+ for (j = 1; j < numInterior - 1; ++j) {
248
+ t = j / (numInterior - 1);
249
+ interiorPosition = Cartesian3_default.lerp(
250
+ position,
251
+ reflectedPosition,
252
+ t,
253
+ scratchCartesian3
254
+ );
255
+ positions[positionIndex++] = interiorPosition.x;
256
+ positions[positionIndex++] = interiorPosition.y;
257
+ positions[positionIndex++] = interiorPosition.z;
258
+ }
259
+ positions[positionIndex++] = reflectedPosition.x;
260
+ positions[positionIndex++] = reflectedPosition.y;
261
+ positions[positionIndex++] = reflectedPosition.z;
262
+ }
263
+ if (addEdgePositions) {
264
+ outerPositions[outerRightIndex--] = position.z;
265
+ outerPositions[outerRightIndex--] = position.y;
266
+ outerPositions[outerRightIndex--] = position.x;
267
+ outerPositions[outerLeftIndex++] = reflectedPosition.x;
268
+ outerPositions[outerLeftIndex++] = reflectedPosition.y;
269
+ outerPositions[outerLeftIndex++] = reflectedPosition.z;
270
+ }
271
+ }
272
+ theta = Math_default.PI_OVER_TWO;
273
+ position = pointOnEllipsoid(
274
+ -theta,
275
+ rotation,
276
+ northVec,
277
+ eastVec,
278
+ aSqr,
279
+ ab,
280
+ bSqr,
281
+ mag,
282
+ unitPos,
283
+ position
284
+ );
285
+ const r = {};
286
+ if (addFillPositions) {
287
+ positions[positionIndex++] = position.x;
288
+ positions[positionIndex++] = position.y;
289
+ positions[positionIndex++] = position.z;
290
+ r.positions = positions;
291
+ r.numPts = numPts;
292
+ }
293
+ if (addEdgePositions) {
294
+ outerPositions[outerRightIndex--] = position.z;
295
+ outerPositions[outerRightIndex--] = position.y;
296
+ outerPositions[outerRightIndex--] = position.x;
297
+ r.outerPositions = outerPositions;
298
+ }
299
+ return r;
300
+ };
301
+ var EllipseGeometryLibrary_default = EllipseGeometryLibrary;
302
+
303
+ export {
304
+ EllipseGeometryLibrary_default
305
+ };