@rtzh/engine 0.0.4 → 0.0.6

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 (228) hide show
  1. package/Build/Workers/{chunk-HAY6YE7M.js → chunk-23CHWHW6.js} +4 -4
  2. package/Build/Workers/{chunk-3K2PK2OU.js → chunk-243UEBJF.js} +10 -10
  3. package/Build/Workers/{chunk-TSAJNE4K.js → chunk-27JI7F7B.js} +2 -2
  4. package/Build/Workers/{chunk-OVPPHDU7.js → chunk-2OWEFNS4.js} +4 -4
  5. package/Build/Workers/{chunk-YBVMSCW4.js → chunk-2VN5W6HA.js} +5 -5
  6. package/Build/Workers/{chunk-OOB2KZC6.js → chunk-2YAONTGQ.js} +7 -7
  7. package/Build/Workers/{chunk-JH27ZGLN.js → chunk-324L25HV.js} +6 -6
  8. package/Build/Workers/{chunk-6LZBBEA7.js → chunk-3EZBCDBK.js} +9 -9
  9. package/Build/Workers/{chunk-25BA4527.js → chunk-3JPA6GA3.js} +12 -12
  10. package/Build/Workers/{chunk-DP76S3IQ.js → chunk-3NSMZ3XW.js} +17 -17
  11. package/Build/Workers/chunk-3WRJXCJS.js +497 -0
  12. package/Build/Workers/{chunk-SBFTVHRW.js → chunk-3ZJ6X3BW.js} +5 -5
  13. package/Build/Workers/{chunk-B2VFNYD7.js → chunk-42I3QSKJ.js} +1 -1
  14. package/Build/Workers/{chunk-BXBGWQ3Z.js → chunk-4BJHO56J.js} +6 -6
  15. package/Build/Workers/{chunk-YPGJSFOO.js → chunk-4DIL24GG.js} +5 -5
  16. package/Build/Workers/{chunk-XOVHLPKW.js → chunk-4FEDW3WT.js} +8 -8
  17. package/Build/Workers/{chunk-WAS3IHIQ.js → chunk-4GPHI5UY.js} +10 -10
  18. package/Build/Workers/{chunk-3M5CRHSG.js → chunk-4NAHNN5G.js} +10 -10
  19. package/Build/Workers/{chunk-KFMCOG26.js → chunk-4SC4KVID.js} +10 -10
  20. package/Build/Workers/{chunk-J3FBVUY4.js → chunk-53AFSDGM.js} +1 -1
  21. package/Build/Workers/{chunk-Q2DXNFYW.js → chunk-54AFUJNV.js} +11 -11
  22. package/Build/Workers/{chunk-7NCJH26L.js → chunk-54SSO7NS.js} +5 -5
  23. package/Build/Workers/{chunk-2BLQ3B4Q.js → chunk-553BNJPP.js} +8 -8
  24. package/Build/Workers/{chunk-GDIBU55R.js → chunk-56MKFDJH.js} +12 -12
  25. package/Build/Workers/{chunk-K4IMD7KH.js → chunk-5DPCF65K.js} +5 -5
  26. package/Build/Workers/{chunk-5QTPACZQ.js → chunk-5MCUZL44.js} +6 -6
  27. package/Build/Workers/{chunk-VIYQ56Z7.js → chunk-5SVTAJRH.js} +12 -12
  28. package/Build/Workers/chunk-5T4DXPEL.js +299 -0
  29. package/Build/Workers/{chunk-56XTN5NJ.js → chunk-5UHIRI2A.js} +2 -2
  30. package/Build/Workers/{chunk-ACH67MPW.js → chunk-5W4ISZGQ.js} +14 -14
  31. package/Build/Workers/{chunk-KVDSJXRK.js → chunk-64VDO4BW.js} +6 -6
  32. package/Build/Workers/{chunk-5WAG5YKS.js → chunk-664SI23B.js} +12 -12
  33. package/Build/Workers/{chunk-TO7TWUET.js → chunk-6AUSOZOL.js} +7 -7
  34. package/Build/Workers/{chunk-SOR7PD4V.js → chunk-6GNLKYQO.js} +6 -6
  35. package/Build/Workers/{chunk-POY6ZE32.js → chunk-6ZF4QOFM.js} +6 -6
  36. package/Build/Workers/{chunk-4HXPSZRC.js → chunk-763Q2YKY.js} +14 -14
  37. package/Build/Workers/chunk-7MMYV5PM.js +288 -0
  38. package/Build/Workers/{chunk-TDI7UQBO.js → chunk-7QPQGSS3.js} +5 -5
  39. package/Build/Workers/{chunk-IELTSYPZ.js → chunk-7R74V5Z3.js} +8 -8
  40. package/Build/Workers/{chunk-PHB5MRHM.js → chunk-7X6CLAD2.js} +9 -9
  41. package/Build/Workers/{chunk-PV5B2YNB.js → chunk-ADQVXDEJ.js} +16 -16
  42. package/Build/Workers/{chunk-TWF4XRZ6.js → chunk-AEURJQ3B.js} +2 -2
  43. package/Build/Workers/{chunk-WLREXLZ7.js → chunk-AMJRLIO3.js} +11 -11
  44. package/Build/Workers/{chunk-7B23DD46.js → chunk-ATC2WXI4.js} +17 -17
  45. package/Build/Workers/{chunk-KVE5EAPO.js → chunk-B5ZUBUPB.js} +14 -14
  46. package/Build/Workers/{chunk-4Z26IS65.js → chunk-BCYABDWF.js} +18 -18
  47. package/Build/Workers/{chunk-E2CARZA7.js → chunk-BHTWF7UG.js} +2 -2
  48. package/Build/Workers/{chunk-UUJXSLQ2.js → chunk-BLZILZWF.js} +16 -16
  49. package/Build/Workers/{chunk-J4MIJCN5.js → chunk-CCPKBCZD.js} +6 -6
  50. package/Build/Workers/chunk-CMAG5O53.js +1483 -0
  51. package/Build/Workers/{chunk-KUAWPGSB.js → chunk-CTARL7CY.js} +13 -13
  52. package/Build/Workers/{chunk-FJREGHFG.js → chunk-D3FNWB3Q.js} +4 -4
  53. package/Build/Workers/{chunk-HI6X33GO.js → chunk-DAYNPAVN.js} +2 -2
  54. package/Build/Workers/{chunk-WMGESUDW.js → chunk-DIA4J2DB.js} +3 -3
  55. package/Build/Workers/{chunk-EISI2CR2.js → chunk-DKJMD2HX.js} +6 -6
  56. package/Build/Workers/{chunk-AL22JVIA.js → chunk-DVTKM7FF.js} +4 -4
  57. package/Build/Workers/{chunk-KBAGFNQ4.js → chunk-E5BSDIGY.js} +5 -5
  58. package/Build/Workers/{chunk-HU5P7PMU.js → chunk-EJVGOIOW.js} +7 -7
  59. package/Build/Workers/chunk-ERYOZBVC.js +171 -0
  60. package/Build/Workers/{chunk-UYT2PBMV.js → chunk-ET7LWDHA.js} +2 -2
  61. package/Build/Workers/{chunk-5BIQOSBV.js → chunk-FSYQE5XE.js} +1 -1
  62. package/Build/Workers/{chunk-ZV42SJKS.js → chunk-FTHCZAWE.js} +2 -2
  63. package/Build/Workers/{chunk-DSBEWMOQ.js → chunk-FTXEOX64.js} +17 -17
  64. package/Build/Workers/{chunk-R73BHGGI.js → chunk-FUFHIXPT.js} +4 -4
  65. package/Build/Workers/{chunk-I76SRIKN.js → chunk-G2KELS4I.js} +4 -4
  66. package/Build/Workers/{chunk-2CAIFJD5.js → chunk-G7PGTG3P.js} +13 -13
  67. package/Build/Workers/{chunk-KXB3AARU.js → chunk-GCZNJHST.js} +5 -5
  68. package/Build/Workers/{chunk-UTWLMOPM.js → chunk-GJFIEALZ.js} +13 -13
  69. package/Build/Workers/{chunk-VR2L2Y4Z.js → chunk-GZMTBQM2.js} +4 -4
  70. package/Build/Workers/{chunk-DBKYAGM6.js → chunk-HAR6Y2HP.js} +2 -2
  71. package/Build/Workers/{chunk-NOH3R3YY.js → chunk-HC6DDPFU.js} +7 -7
  72. package/Build/Workers/{chunk-ELXGXAYS.js → chunk-HHN2M3ES.js} +10 -10
  73. package/Build/Workers/chunk-HHUKBKWS.js +414 -0
  74. package/Build/Workers/chunk-HLIXASKN.js +476 -0
  75. package/Build/Workers/chunk-HM4MH5IG.js +138 -0
  76. package/Build/Workers/{chunk-2APW7KRS.js → chunk-IB2XQV6U.js} +2 -2
  77. package/Build/Workers/{chunk-6XJO625E.js → chunk-IEBTKCMB.js} +3 -3
  78. package/Build/Workers/{chunk-Z356SW7E.js → chunk-IXM65GBF.js} +4 -4
  79. package/Build/Workers/{chunk-LPM2FVDN.js → chunk-IYAZCFAC.js} +6 -6
  80. package/Build/Workers/{chunk-XJKMLTSH.js → chunk-IYXLSOLF.js} +10 -10
  81. package/Build/Workers/{chunk-6QVMKRJ4.js → chunk-JJD7S2CV.js} +18 -18
  82. package/Build/Workers/{chunk-D7TGILR3.js → chunk-JRPAFYGJ.js} +17 -17
  83. package/Build/Workers/{chunk-F5LAPCFC.js → chunk-K6PDZWHZ.js} +5 -5
  84. package/Build/Workers/{chunk-OAOREOSO.js → chunk-KWFCDTXS.js} +9 -9
  85. package/Build/Workers/{chunk-JURLMTV2.js → chunk-LENXRROQ.js} +14 -14
  86. package/Build/Workers/{chunk-BJ6WXQOW.js → chunk-LPJHTJDQ.js} +4 -4
  87. package/Build/Workers/{chunk-AIW5F22O.js → chunk-LRW2QXMW.js} +6 -6
  88. package/Build/Workers/{chunk-EKMWNF4U.js → chunk-MB2ZJQR3.js} +1 -1
  89. package/Build/Workers/{chunk-55IROWAX.js → chunk-MCNY7SPD.js} +5 -5
  90. package/Build/Workers/{chunk-S3AE3MZZ.js → chunk-MHEKNHOF.js} +13 -13
  91. package/Build/Workers/chunk-MRLJERN3.js +114 -0
  92. package/Build/Workers/{chunk-5CSRWY7L.js → chunk-MWN26ZEM.js} +1 -1
  93. package/Build/Workers/{chunk-PLLZB3R4.js → chunk-NIWB6UMY.js} +7 -7
  94. package/Build/Workers/{chunk-MLFVICFZ.js → chunk-NOJAQPXU.js} +4 -4
  95. package/Build/Workers/{chunk-5VZISKJF.js → chunk-O5QH7XD5.js} +1 -1
  96. package/Build/Workers/chunk-OAFZ26QL.js +837 -0
  97. package/Build/Workers/{chunk-AVSQILVI.js → chunk-OBM2JYMG.js} +1 -1
  98. package/Build/Workers/{chunk-245NZYCR.js → chunk-OBQVOEPZ.js} +5 -5
  99. package/Build/Workers/chunk-OC63Z35M.js +280 -0
  100. package/Build/Workers/{chunk-EDIUN7V3.js → chunk-ODZZZGXK.js} +7 -7
  101. package/Build/Workers/chunk-OEAC5XUG.js +73 -0
  102. package/Build/Workers/chunk-OQK27J4J.js +139 -0
  103. package/Build/Workers/{chunk-LN4NMLYY.js → chunk-OTDNJAYJ.js} +1 -1
  104. package/Build/Workers/{chunk-JFO3ELF3.js → chunk-PGYA2CMO.js} +6 -6
  105. package/Build/Workers/{chunk-64W2RXA4.js → chunk-PSDWIJMU.js} +7 -7
  106. package/Build/Workers/chunk-PW3GQAXA.js +3514 -0
  107. package/Build/Workers/chunk-Q2YRPH7V.js +1067 -0
  108. package/Build/Workers/{chunk-KKYQRQ57.js → chunk-QDNIPHD7.js} +12 -12
  109. package/Build/Workers/{chunk-WO5ZNC7S.js → chunk-QEGQDFX2.js} +10 -10
  110. package/Build/Workers/chunk-QY55DT53.js +97 -0
  111. package/Build/Workers/{chunk-BOV6T7FO.js → chunk-R3PTQZ6H.js} +2 -2
  112. package/Build/Workers/chunk-R5U3MYPS.js +198 -0
  113. package/Build/Workers/{chunk-IDVURFRN.js → chunk-RJIH4MDC.js} +8 -8
  114. package/Build/Workers/chunk-RO7SDGOD.js +352 -0
  115. package/Build/Workers/chunk-RT7PY6BH.js +2719 -0
  116. package/Build/Workers/{chunk-KH2OWUUA.js → chunk-RTJ6L5O4.js} +2 -2
  117. package/Build/Workers/{chunk-75UGCVME.js → chunk-SAD42JSM.js} +4 -4
  118. package/Build/Workers/chunk-SCNCHSTQ.js +642 -0
  119. package/Build/Workers/{chunk-U364CIW4.js → chunk-SFM3GNS2.js} +10 -10
  120. package/Build/Workers/{chunk-OFJRMGNX.js → chunk-SG56ZOPD.js} +11 -11
  121. package/Build/Workers/chunk-SHQEATE2.js +1045 -0
  122. package/Build/Workers/{chunk-FVYRV2T6.js → chunk-SLYUIIFB.js} +6 -6
  123. package/Build/Workers/chunk-SPL7JK6K.js +1054 -0
  124. package/Build/Workers/chunk-SQSWONTJ.js +241 -0
  125. package/Build/Workers/chunk-SRLJWNU2.js +368 -0
  126. package/Build/Workers/{chunk-QWV2DM66.js → chunk-SYCWSSRX.js} +4 -4
  127. package/Build/Workers/{chunk-HGIGANIQ.js → chunk-SZELHE7Q.js} +2 -2
  128. package/Build/Workers/{chunk-MQ62ZE2U.js → chunk-TBASKFFL.js} +5 -5
  129. package/Build/Workers/chunk-TDGGEIZE.js +398 -0
  130. package/Build/Workers/{chunk-HAWJ7FMN.js → chunk-TEZGNCXH.js} +8 -8
  131. package/Build/Workers/chunk-TIQZUI5N.js +44 -0
  132. package/Build/Workers/chunk-TKJHRY4V.js +511 -0
  133. package/Build/Workers/{chunk-KHKSE4WQ.js → chunk-TLXEQ5QY.js} +12 -12
  134. package/Build/Workers/chunk-U3VI26GL.js +162 -0
  135. package/Build/Workers/chunk-UIMHSWDJ.js +455 -0
  136. package/Build/Workers/chunk-UO3AWZR3.js +352 -0
  137. package/Build/Workers/{chunk-UOD5YNH3.js → chunk-UTXXZ7XH.js} +9 -9
  138. package/Build/Workers/{chunk-66YGZWBI.js → chunk-V2TRFTCU.js} +7 -7
  139. package/Build/Workers/chunk-V4I3IKAK.js +1460 -0
  140. package/Build/Workers/chunk-VLB25GGE.js +439 -0
  141. package/Build/Workers/{chunk-BN4WA7LX.js → chunk-W2EK42GB.js} +1 -1
  142. package/Build/Workers/chunk-W2OMUTYA.js +1800 -0
  143. package/Build/Workers/{chunk-KQIZ7AFF.js → chunk-W4DV7TAL.js} +8 -8
  144. package/Build/Workers/{chunk-P7M4VYFT.js → chunk-WFTPZ3ZX.js} +11 -11
  145. package/Build/Workers/chunk-WHOEQFL4.js +682 -0
  146. package/Build/Workers/{chunk-X65Y2JSA.js → chunk-WWLWTSMV.js} +1 -1
  147. package/Build/Workers/chunk-WX2ZANQC.js +940 -0
  148. package/Build/Workers/chunk-XFKTM6GN.js +2058 -0
  149. package/Build/Workers/chunk-XHNWVOIJ.js +219 -0
  150. package/Build/Workers/{chunk-DEIMB3B5.js → chunk-XNKQLSHI.js} +1 -1
  151. package/Build/Workers/chunk-XOXF37BU.js +1317 -0
  152. package/Build/Workers/chunk-YC6PFDXQ.js +8366 -0
  153. package/Build/Workers/chunk-YFJB3US4.js +102 -0
  154. package/Build/Workers/chunk-YMXATXRN.js +57 -0
  155. package/Build/Workers/chunk-YVRD2PO5.js +124 -0
  156. package/Build/Workers/chunk-Z24A5EMJ.js +387 -0
  157. package/Build/Workers/chunk-Z4IW5XUY.js +788 -0
  158. package/Build/Workers/chunk-Z5MHVJGN.js +778 -0
  159. package/Build/Workers/chunk-ZFHCP7RN.js +692 -0
  160. package/Build/Workers/{chunk-6H33B6OL.js → chunk-ZHHEFNHL.js} +1 -1
  161. package/Build/Workers/chunk-ZI5GDNEV.js +305 -0
  162. package/Build/Workers/chunk-ZYTMDBCR.js +1443 -0
  163. package/Build/Workers/combineGeometry.js +24 -24
  164. package/Build/Workers/createBoxGeometry.js +18 -18
  165. package/Build/Workers/createBoxOutlineGeometry.js +16 -16
  166. package/Build/Workers/createCircleGeometry.js +26 -26
  167. package/Build/Workers/createCircleOutlineGeometry.js +19 -19
  168. package/Build/Workers/createCoplanarPolygonGeometry.js +33 -33
  169. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
  170. package/Build/Workers/createCorridorGeometry.js +29 -29
  171. package/Build/Workers/createCorridorOutlineGeometry.js +28 -28
  172. package/Build/Workers/createCylinderGeometry.js +20 -20
  173. package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
  174. package/Build/Workers/createEllipseGeometry.js +26 -26
  175. package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
  176. package/Build/Workers/createEllipsoidGeometry.js +19 -19
  177. package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
  178. package/Build/Workers/createFrustumGeometry.js +18 -18
  179. package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
  180. package/Build/Workers/createGeometry.js +24 -24
  181. package/Build/Workers/createGroundPolylineGeometry.js +22 -22
  182. package/Build/Workers/createPlaneGeometry.js +16 -16
  183. package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
  184. package/Build/Workers/createPolygonGeometry.js +32 -32
  185. package/Build/Workers/createPolygonOutlineGeometry.js +30 -30
  186. package/Build/Workers/createPolylineGeometry.js +25 -25
  187. package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
  188. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
  189. package/Build/Workers/createRectangleGeometry.js +27 -27
  190. package/Build/Workers/createRectangleOutlineGeometry.js +20 -20
  191. package/Build/Workers/createSimplePolylineGeometry.js +23 -23
  192. package/Build/Workers/createSphereGeometry.js +19 -19
  193. package/Build/Workers/createSphereOutlineGeometry.js +18 -18
  194. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  195. package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
  196. package/Build/Workers/createVectorTileGeometries.js +24 -24
  197. package/Build/Workers/createVectorTilePoints.js +13 -13
  198. package/Build/Workers/createVectorTilePolygons.js +22 -22
  199. package/Build/Workers/createVectorTilePolylines.js +14 -14
  200. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +25 -25
  201. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -22
  202. package/Build/Workers/createVerticesFromHeightmap.js +22 -22
  203. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +20 -20
  204. package/Build/Workers/createWallGeometry.js +24 -24
  205. package/Build/Workers/createWallOutlineGeometry.js +23 -23
  206. package/Build/Workers/decodeDraco.js +10 -10
  207. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  208. package/Build/Workers/decodeI3S.js +10 -10
  209. package/Build/Workers/gaussianSplatSorter.js +4 -4
  210. package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
  211. package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
  212. package/Build/Workers/transcodeKTX2.js +6 -6
  213. package/Build/Workers/transferTypedArrayTest.js +1 -1
  214. package/Build/Workers/upsampleQuantizedTerrainMesh.js +22 -22
  215. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +25 -25
  216. package/Source/Scene/Cesium3DTileset.js +4121 -3932
  217. package/Source/Scene/Model/BarycentricWireframePipelineStage.js +355 -0
  218. package/Source/Scene/Model/Model.js +3584 -3340
  219. package/Source/Scene/Model/Model3DTileContent.js +568 -551
  220. package/Source/Scene/Model/ModelRuntimePrimitive.js +391 -380
  221. package/Source/Scene/Model/WireframePipelineStage.js +122 -118
  222. package/Source/Shaders/Model/ModelFS.glsl +14 -0
  223. package/Source/Shaders/Model/ModelFS.js +14 -0
  224. package/Source/Shaders/Model/ModelVS.glsl +4 -0
  225. package/Source/Shaders/Model/ModelVS.js +4 -0
  226. package/index.d.ts +891 -697
  227. package/index.js +3 -2
  228. package/package.json +1 -1
@@ -0,0 +1,305 @@
1
+ /**
2
+ * @license
3
+ * Cesium - https://github.com/CesiumGS/cesium
4
+ * Version 0.0.5
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-YC6PFDXQ.js";
29
+ import {
30
+ Cartesian3_default,
31
+ Matrix3_default
32
+ } from "./chunk-SYCWSSRX.js";
33
+ import {
34
+ Math_default
35
+ } from "./chunk-3WRJXCJS.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
+ };