@hztxi/cesium-engine 25.0.2 → 25.0.3

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 (227) 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-3CSWK42O.js +3648 -0
  10. package/Build/Workers/chunk-3GDVUAIX.js +1287 -0
  11. package/Build/Workers/chunk-3L5NZHVW.js +288 -0
  12. package/Build/Workers/chunk-3LQDIJFX.js +2719 -0
  13. package/Build/Workers/chunk-3WIDW5QO.js +1800 -0
  14. package/Build/Workers/chunk-4L4ZXXL7.js +57 -0
  15. package/Build/Workers/chunk-4QK5RZ5I.js +171 -0
  16. package/Build/Workers/chunk-4RWSLDVO.js +198 -0
  17. package/Build/Workers/chunk-53HFLKT5.js +76 -0
  18. package/Build/Workers/chunk-5DJBLQEH.js +56 -0
  19. package/Build/Workers/chunk-5FNZGB4U.js +368 -0
  20. package/Build/Workers/chunk-5KOCUIKQ.js +476 -0
  21. package/Build/Workers/chunk-5PK42ITB.js +219 -0
  22. package/Build/Workers/chunk-5SGB3BKM.js +73 -0
  23. package/Build/Workers/chunk-5ZWRS2E6.js +280 -0
  24. package/Build/Workers/chunk-6FU5LWYG.js +352 -0
  25. package/Build/Workers/chunk-6IYEGXEW.js +1344 -0
  26. package/Build/Workers/chunk-6KWWDFT4.js +278 -0
  27. package/Build/Workers/chunk-73DJHI53.js +398 -0
  28. package/Build/Workers/chunk-73OT3YBQ.js +1054 -0
  29. package/Build/Workers/chunk-73T2E2OA.js +454 -0
  30. package/Build/Workers/chunk-752QDGCS.js +778 -0
  31. package/Build/Workers/chunk-76HD3HYN.js +2342 -0
  32. package/Build/Workers/chunk-7I4AKIEV.js +58 -0
  33. package/Build/Workers/chunk-7ZYD7GL6.js +414 -0
  34. package/Build/Workers/chunk-ALJYMECF.js +973 -0
  35. package/Build/Workers/chunk-ANGZAKVP.js +257 -0
  36. package/Build/Workers/chunk-ATT5UEK6.js +97 -0
  37. package/Build/Workers/chunk-AW3UT5RP.js +97 -0
  38. package/Build/Workers/chunk-AZGPL6BR.js +38 -0
  39. package/Build/Workers/chunk-B7SMDRPA.js +476 -0
  40. package/Build/Workers/chunk-BADQ2G5E.js +837 -0
  41. package/Build/Workers/chunk-BAPOWX62.js +368 -0
  42. package/Build/Workers/chunk-BE5ULV4I.js +1800 -0
  43. package/Build/Workers/chunk-BII4UB3C.js +476 -0
  44. package/Build/Workers/chunk-BPL3HT2R.js +837 -0
  45. package/Build/Workers/chunk-BVAMP4M3.js +101 -0
  46. package/Build/Workers/chunk-BVFS5LSK.js +1067 -0
  47. package/Build/Workers/chunk-CKWUU4JK.js +138 -0
  48. package/Build/Workers/chunk-CMMHWVUF.js +2719 -0
  49. package/Build/Workers/chunk-CQNFIAZU.js +56 -0
  50. package/Build/Workers/chunk-CSUBL77L.js +140 -0
  51. package/Build/Workers/chunk-DHCQSFRN.js +301 -0
  52. package/Build/Workers/chunk-DKFSOFKR.js +241 -0
  53. package/Build/Workers/chunk-DLHFYNG6.js +52 -0
  54. package/Build/Workers/chunk-ETABYWY4.js +973 -0
  55. package/Build/Workers/chunk-EYVCQUVQ.js +1067 -0
  56. package/Build/Workers/chunk-FE7VHPNW.js +102 -0
  57. package/Build/Workers/chunk-FFEVCOBU.js +387 -0
  58. package/Build/Workers/chunk-FWABE4BL.js +305 -0
  59. package/Build/Workers/chunk-GC24BPCQ.js +305 -0
  60. package/Build/Workers/chunk-GCTHMF35.js +387 -0
  61. package/Build/Workers/chunk-GDHSPLWC.js +9237 -0
  62. package/Build/Workers/chunk-GGK7SA4Y.js +414 -0
  63. package/Build/Workers/chunk-GGVG7G5Z.js +1483 -0
  64. package/Build/Workers/chunk-GL7W3I3A.js +959 -0
  65. package/Build/Workers/chunk-H52M4HMP.js +9230 -0
  66. package/Build/Workers/chunk-H7QGY7HB.js +1054 -0
  67. package/Build/Workers/chunk-H7ZXQIV2.js +398 -0
  68. package/Build/Workers/chunk-HBJKIDKK.js +76 -0
  69. package/Build/Workers/chunk-HERVRBJW.js +76 -0
  70. package/Build/Workers/chunk-HFMS7MXO.js +511 -0
  71. package/Build/Workers/chunk-HH6PJ22V.js +455 -0
  72. package/Build/Workers/chunk-HQ2PXPP7.js +102 -0
  73. package/Build/Workers/chunk-HTO45L3X.js +454 -0
  74. package/Build/Workers/chunk-HW5TLMPQ.js +57 -0
  75. package/Build/Workers/chunk-IC3HVJBG.js +301 -0
  76. package/Build/Workers/chunk-IEKP7CEH.js +387 -0
  77. package/Build/Workers/chunk-ILUFUAF3.js +1992 -0
  78. package/Build/Workers/chunk-ILX5N5QR.js +2342 -0
  79. package/Build/Workers/chunk-IRSD4EJW.js +630 -0
  80. package/Build/Workers/chunk-J3A3XMTG.js +672 -0
  81. package/Build/Workers/chunk-JK54NBBO.js +778 -0
  82. package/Build/Workers/chunk-JSFKPEFK.js +352 -0
  83. package/Build/Workers/chunk-JTSSQ3RH.js +147 -0
  84. package/Build/Workers/chunk-JZVZDHC2.js +288 -0
  85. package/Build/Workers/chunk-K724BR5O.js +455 -0
  86. package/Build/Workers/chunk-KJOVSN7J.js +56 -0
  87. package/Build/Workers/chunk-KKEMKV5G.js +44 -0
  88. package/Build/Workers/chunk-KXNXQXP5.js +682 -0
  89. package/Build/Workers/chunk-KYXZ3XTC.js +497 -0
  90. package/Build/Workers/chunk-L65LWRUE.js +3648 -0
  91. package/Build/Workers/chunk-LAN4XQR6.js +162 -0
  92. package/Build/Workers/chunk-LVO4J36T.js +1800 -0
  93. package/Build/Workers/chunk-LY5KUQ2L.js +57 -0
  94. package/Build/Workers/chunk-M2XWG5VC.js +124 -0
  95. package/Build/Workers/chunk-MUPWJMPP.js +44 -0
  96. package/Build/Workers/chunk-MVBEMXN4.js +163 -0
  97. package/Build/Workers/chunk-MVQYVX6D.js +511 -0
  98. package/Build/Workers/chunk-N4RF6TUL.js +301 -0
  99. package/Build/Workers/chunk-NCH4P66E.js +219 -0
  100. package/Build/Workers/chunk-NCL22ZUX.js +56 -0
  101. package/Build/Workers/chunk-NNJDVVEG.js +3794 -0
  102. package/Build/Workers/chunk-NYQSZLRF.js +78 -0
  103. package/Build/Workers/chunk-O2V4I3I5.js +682 -0
  104. package/Build/Workers/chunk-O453S45W.js +1483 -0
  105. package/Build/Workers/chunk-O5CYW2IR.js +1046 -0
  106. package/Build/Workers/chunk-OJ7O7DKV.js +973 -0
  107. package/Build/Workers/chunk-OJK33YVT.js +171 -0
  108. package/Build/Workers/chunk-OKFC4PDV.js +1344 -0
  109. package/Build/Workers/chunk-OKUXJIW3.js +124 -0
  110. package/Build/Workers/chunk-OWDZ5BX4.js +280 -0
  111. package/Build/Workers/chunk-PCERHV4S.js +198 -0
  112. package/Build/Workers/chunk-PJT22BD4.js +352 -0
  113. package/Build/Workers/chunk-PKV3R77E.js +672 -0
  114. package/Build/Workers/chunk-PQ2MGY7X.js +162 -0
  115. package/Build/Workers/chunk-PR62UBKE.js +693 -0
  116. package/Build/Workers/chunk-QJJ3GXSH.js +140 -0
  117. package/Build/Workers/chunk-QM4HZZYW.js +219 -0
  118. package/Build/Workers/chunk-QQ2BBL7Z.js +162 -0
  119. package/Build/Workers/chunk-QYC6Y25A.js +124 -0
  120. package/Build/Workers/chunk-RBAZR7R2.js +280 -0
  121. package/Build/Workers/chunk-REZJEC6F.js +241 -0
  122. package/Build/Workers/chunk-RS3LRHOK.js +73 -0
  123. package/Build/Workers/chunk-S2WTOFGB.js +102 -0
  124. package/Build/Workers/chunk-SGLJWWWY.js +352 -0
  125. package/Build/Workers/chunk-SJZMU3OS.js +2342 -0
  126. package/Build/Workers/chunk-SMZXVFCA.js +1344 -0
  127. package/Build/Workers/chunk-SND4KNB6.js +754 -0
  128. package/Build/Workers/chunk-SRH2XIWS.js +1067 -0
  129. package/Build/Workers/chunk-SXSP3JHS.js +38 -0
  130. package/Build/Workers/chunk-T6SVKD76.js +511 -0
  131. package/Build/Workers/chunk-TA3PH4Q7.js +519 -0
  132. package/Build/Workers/chunk-TDJ2NSYJ.js +171 -0
  133. package/Build/Workers/chunk-TJCD5NV5.js +837 -0
  134. package/Build/Workers/chunk-TXBADNRA.js +9237 -0
  135. package/Build/Workers/chunk-TYW2D7VU.js +2719 -0
  136. package/Build/Workers/chunk-U3KB4HMG.js +1054 -0
  137. package/Build/Workers/chunk-U6OMVSBY.js +368 -0
  138. package/Build/Workers/chunk-UAVMVBMC.js +754 -0
  139. package/Build/Workers/chunk-UCOZLNHF.js +1284 -0
  140. package/Build/Workers/chunk-UDKEO3UF.js +163 -0
  141. package/Build/Workers/chunk-UIQUUY4A.js +73 -0
  142. package/Build/Workers/chunk-ULY2FDDP.js +454 -0
  143. package/Build/Workers/chunk-UT7YX565.js +1992 -0
  144. package/Build/Workers/chunk-UTOYFI3Q.js +1992 -0
  145. package/Build/Workers/chunk-UUXWWJI7.js +101 -0
  146. package/Build/Workers/chunk-V5AWAGL2.js +97 -0
  147. package/Build/Workers/chunk-V5AXOGPW.js +682 -0
  148. package/Build/Workers/chunk-VAUX2Q2X.js +138 -0
  149. package/Build/Workers/chunk-VDX4SJKV.js +58 -0
  150. package/Build/Workers/chunk-W7WEPLZL.js +414 -0
  151. package/Build/Workers/chunk-WNAG4FHY.js +305 -0
  152. package/Build/Workers/chunk-WNQX2CP3.js +455 -0
  153. package/Build/Workers/chunk-XCASHPVG.js +778 -0
  154. package/Build/Workers/chunk-XJUIVTHG.js +1483 -0
  155. package/Build/Workers/chunk-XQVSSVT2.js +140 -0
  156. package/Build/Workers/chunk-Y5E2LVSX.js +138 -0
  157. package/Build/Workers/chunk-YEMKJOOG.js +352 -0
  158. package/Build/Workers/chunk-YGFVAGYF.js +630 -0
  159. package/Build/Workers/chunk-YNWTO2WN.js +147 -0
  160. package/Build/Workers/chunk-YZAMLSIA.js +352 -0
  161. package/Build/Workers/chunk-Z6LUW5FN.js +198 -0
  162. package/Build/Workers/chunk-ZDUCDVKX.js +288 -0
  163. package/Build/Workers/chunk-ZEEPTE4R.js +147 -0
  164. package/Build/Workers/chunk-ZIBW2BFB.js +1284 -0
  165. package/Build/Workers/chunk-ZOYVNCFZ.js +754 -0
  166. package/Build/Workers/chunk-ZSWY7UNG.js +3201 -0
  167. package/Build/Workers/chunk-ZXRWKKJP.js +398 -0
  168. package/Build/Workers/combineGeometry.js +24 -24
  169. package/Build/Workers/createBoxGeometry.js +18 -18
  170. package/Build/Workers/createBoxOutlineGeometry.js +16 -16
  171. package/Build/Workers/createCircleGeometry.js +26 -26
  172. package/Build/Workers/createCircleOutlineGeometry.js +19 -19
  173. package/Build/Workers/createCoplanarPolygonGeometry.js +33 -33
  174. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
  175. package/Build/Workers/createCorridorGeometry.js +29 -29
  176. package/Build/Workers/createCorridorOutlineGeometry.js +28 -28
  177. package/Build/Workers/createCylinderGeometry.js +20 -20
  178. package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
  179. package/Build/Workers/createEllipseGeometry.js +26 -26
  180. package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
  181. package/Build/Workers/createEllipsoidGeometry.js +19 -19
  182. package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
  183. package/Build/Workers/createFrustumGeometry.js +18 -18
  184. package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
  185. package/Build/Workers/createGeometry.js +24 -24
  186. package/Build/Workers/createGroundPolylineGeometry.js +23 -23
  187. package/Build/Workers/createMvtTile.js +1815 -0
  188. package/Build/Workers/createPlaneGeometry.js +16 -16
  189. package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
  190. package/Build/Workers/createPolygonGeometry.js +32 -32
  191. package/Build/Workers/createPolygonOutlineGeometry.js +30 -30
  192. package/Build/Workers/createPolylineGeometry.js +25 -25
  193. package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
  194. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
  195. package/Build/Workers/createRectangleGeometry.js +27 -27
  196. package/Build/Workers/createRectangleOutlineGeometry.js +20 -20
  197. package/Build/Workers/createSimplePolylineGeometry.js +23 -23
  198. package/Build/Workers/createSphereGeometry.js +19 -19
  199. package/Build/Workers/createSphereOutlineGeometry.js +18 -18
  200. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  201. package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
  202. package/Build/Workers/createVectorTileGeometries.js +24 -24
  203. package/Build/Workers/createVectorTilePoints.js +13 -13
  204. package/Build/Workers/createVectorTilePolygons.js +22 -22
  205. package/Build/Workers/createVectorTilePolylines.js +14 -14
  206. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +26 -26
  207. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +23 -23
  208. package/Build/Workers/createVerticesFromHeightmap.js +25 -25
  209. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +21 -21
  210. package/Build/Workers/createWallGeometry.js +24 -24
  211. package/Build/Workers/createWallOutlineGeometry.js +23 -23
  212. package/Build/Workers/decodeDraco.js +10 -10
  213. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +58 -44
  214. package/Build/Workers/decodeI3S.js +10 -10
  215. package/Build/Workers/gaussianSplatSorter.js +4 -4
  216. package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
  217. package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
  218. package/Build/Workers/transcodeKTX2.js +7 -7
  219. package/Build/Workers/transferTypedArrayTest.js +1 -1
  220. package/Build/Workers/upsampleQuantizedTerrainMesh.js +23 -23
  221. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +26 -26
  222. package/Source/Core/ScreenSpaceEventHandler.js +19 -0
  223. package/Source/ThirdParty/Workers/zip-web-worker.js +1 -1
  224. package/Source/ThirdParty/zip-module.wasm +0 -0
  225. package/index.d.ts +48305 -0
  226. package/index.js +373 -373
  227. package/package.json +10 -10
@@ -0,0 +1,301 @@
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
+ Matrix2_default,
28
+ Quaternion_default,
29
+ Rectangle_default,
30
+ Transforms_default
31
+ } from "./chunk-H52M4HMP.js";
32
+ import {
33
+ Matrix4_default
34
+ } from "./chunk-37IVAHRF.js";
35
+ import {
36
+ WebGLConstants_default
37
+ } from "./chunk-IRSD4EJW.js";
38
+ import {
39
+ Cartesian2_default,
40
+ Cartographic_default
41
+ } from "./chunk-ILUFUAF3.js";
42
+ import {
43
+ Cartesian3_default,
44
+ Frozen_default,
45
+ Matrix3_default
46
+ } from "./chunk-ILX5N5QR.js";
47
+ import {
48
+ Check_default,
49
+ DeveloperError_default
50
+ } from "./chunk-MVBEMXN4.js";
51
+ import {
52
+ defined_default
53
+ } from "./chunk-2RC5GQMH.js";
54
+
55
+ // packages/engine/Source/Core/GeometryType.js
56
+ var GeometryType = {
57
+ NONE: 0,
58
+ TRIANGLES: 1,
59
+ LINES: 2,
60
+ POLYLINES: 3
61
+ };
62
+ Object.freeze(GeometryType);
63
+ var GeometryType_default = GeometryType;
64
+
65
+ // packages/engine/Source/Core/PrimitiveType.js
66
+ var PrimitiveType = {
67
+ /**
68
+ * Points primitive where each vertex (or index) is a separate point.
69
+ *
70
+ * @type {number}
71
+ * @constant
72
+ */
73
+ POINTS: WebGLConstants_default.POINTS,
74
+ /**
75
+ * Lines primitive where each two vertices (or indices) is a line segment. Line segments are not necessarily connected.
76
+ *
77
+ * @type {number}
78
+ * @constant
79
+ */
80
+ LINES: WebGLConstants_default.LINES,
81
+ /**
82
+ * Line loop primitive where each vertex (or index) after the first connects a line to
83
+ * the previous vertex, and the last vertex implicitly connects to the first.
84
+ *
85
+ * @type {number}
86
+ * @constant
87
+ */
88
+ LINE_LOOP: WebGLConstants_default.LINE_LOOP,
89
+ /**
90
+ * Line strip primitive where each vertex (or index) after the first connects a line to the previous vertex.
91
+ *
92
+ * @type {number}
93
+ * @constant
94
+ */
95
+ LINE_STRIP: WebGLConstants_default.LINE_STRIP,
96
+ /**
97
+ * Triangles primitive where each three vertices (or indices) is a triangle. Triangles do not necessarily share edges.
98
+ *
99
+ * @type {number}
100
+ * @constant
101
+ */
102
+ TRIANGLES: WebGLConstants_default.TRIANGLES,
103
+ /**
104
+ * Triangle strip primitive where each vertex (or index) after the first two connect to
105
+ * the previous two vertices forming a triangle. For example, this can be used to model a wall.
106
+ *
107
+ * @type {number}
108
+ * @constant
109
+ */
110
+ TRIANGLE_STRIP: WebGLConstants_default.TRIANGLE_STRIP,
111
+ /**
112
+ * Triangle fan primitive where each vertex (or index) after the first two connect to
113
+ * the previous vertex and the first vertex forming a triangle. For example, this can be used
114
+ * to model a cone or circle.
115
+ *
116
+ * @type {number}
117
+ * @constant
118
+ */
119
+ TRIANGLE_FAN: WebGLConstants_default.TRIANGLE_FAN
120
+ };
121
+ PrimitiveType.isLines = function(primitiveType) {
122
+ return primitiveType === PrimitiveType.LINES || primitiveType === PrimitiveType.LINE_LOOP || primitiveType === PrimitiveType.LINE_STRIP;
123
+ };
124
+ PrimitiveType.isTriangles = function(primitiveType) {
125
+ return primitiveType === PrimitiveType.TRIANGLES || primitiveType === PrimitiveType.TRIANGLE_STRIP || primitiveType === PrimitiveType.TRIANGLE_FAN;
126
+ };
127
+ PrimitiveType.validate = function(primitiveType) {
128
+ return primitiveType === PrimitiveType.POINTS || primitiveType === PrimitiveType.LINES || primitiveType === PrimitiveType.LINE_LOOP || primitiveType === PrimitiveType.LINE_STRIP || primitiveType === PrimitiveType.TRIANGLES || primitiveType === PrimitiveType.TRIANGLE_STRIP || primitiveType === PrimitiveType.TRIANGLE_FAN;
129
+ };
130
+ Object.freeze(PrimitiveType);
131
+ var PrimitiveType_default = PrimitiveType;
132
+
133
+ // packages/engine/Source/Core/Geometry.js
134
+ function Geometry(options) {
135
+ options = options ?? Frozen_default.EMPTY_OBJECT;
136
+ Check_default.typeOf.object("options.attributes", options.attributes);
137
+ this.attributes = options.attributes;
138
+ this.indices = options.indices;
139
+ this.primitiveType = options.primitiveType ?? PrimitiveType_default.TRIANGLES;
140
+ this.boundingSphere = options.boundingSphere;
141
+ this.geometryType = options.geometryType ?? GeometryType_default.NONE;
142
+ this.boundingSphereCV = options.boundingSphereCV;
143
+ this.offsetAttribute = options.offsetAttribute;
144
+ }
145
+ Geometry.computeNumberOfVertices = function(geometry) {
146
+ Check_default.typeOf.object("geometry", geometry);
147
+ let numberOfVertices = -1;
148
+ for (const property in geometry.attributes) {
149
+ if (geometry.attributes.hasOwnProperty(property) && defined_default(geometry.attributes[property]) && defined_default(geometry.attributes[property].values)) {
150
+ const attribute = geometry.attributes[property];
151
+ const num = attribute.values.length / attribute.componentsPerAttribute;
152
+ if (numberOfVertices !== num && numberOfVertices !== -1) {
153
+ throw new DeveloperError_default(
154
+ "All attribute lists must have the same number of attributes."
155
+ );
156
+ }
157
+ numberOfVertices = num;
158
+ }
159
+ }
160
+ return numberOfVertices;
161
+ };
162
+ var rectangleCenterScratch = new Cartographic_default();
163
+ var enuCenterScratch = new Cartesian3_default();
164
+ var fixedFrameToEnuScratch = new Matrix4_default();
165
+ var boundingRectanglePointsCartographicScratch = [
166
+ new Cartographic_default(),
167
+ new Cartographic_default(),
168
+ new Cartographic_default()
169
+ ];
170
+ var boundingRectanglePointsEnuScratch = [
171
+ new Cartesian2_default(),
172
+ new Cartesian2_default(),
173
+ new Cartesian2_default()
174
+ ];
175
+ var points2DScratch = [new Cartesian2_default(), new Cartesian2_default(), new Cartesian2_default()];
176
+ var pointEnuScratch = new Cartesian3_default();
177
+ var enuRotationScratch = new Quaternion_default();
178
+ var enuRotationMatrixScratch = new Matrix4_default();
179
+ var rotation2DScratch = new Matrix2_default();
180
+ Geometry._textureCoordinateRotationPoints = function(positions, stRotation, ellipsoid, boundingRectangle) {
181
+ let i;
182
+ const rectangleCenter = Rectangle_default.center(
183
+ boundingRectangle,
184
+ rectangleCenterScratch
185
+ );
186
+ const enuCenter = Cartographic_default.toCartesian(
187
+ rectangleCenter,
188
+ ellipsoid,
189
+ enuCenterScratch
190
+ );
191
+ const enuToFixedFrame = Transforms_default.eastNorthUpToFixedFrame(
192
+ enuCenter,
193
+ ellipsoid,
194
+ fixedFrameToEnuScratch
195
+ );
196
+ const fixedFrameToEnu = Matrix4_default.inverse(
197
+ enuToFixedFrame,
198
+ fixedFrameToEnuScratch
199
+ );
200
+ const boundingPointsEnu = boundingRectanglePointsEnuScratch;
201
+ const boundingPointsCarto = boundingRectanglePointsCartographicScratch;
202
+ boundingPointsCarto[0].longitude = boundingRectangle.west;
203
+ boundingPointsCarto[0].latitude = boundingRectangle.south;
204
+ boundingPointsCarto[1].longitude = boundingRectangle.west;
205
+ boundingPointsCarto[1].latitude = boundingRectangle.north;
206
+ boundingPointsCarto[2].longitude = boundingRectangle.east;
207
+ boundingPointsCarto[2].latitude = boundingRectangle.south;
208
+ let posEnu = pointEnuScratch;
209
+ for (i = 0; i < 3; i++) {
210
+ Cartographic_default.toCartesian(boundingPointsCarto[i], ellipsoid, posEnu);
211
+ posEnu = Matrix4_default.multiplyByPointAsVector(fixedFrameToEnu, posEnu, posEnu);
212
+ boundingPointsEnu[i].x = posEnu.x;
213
+ boundingPointsEnu[i].y = posEnu.y;
214
+ }
215
+ const rotation = Quaternion_default.fromAxisAngle(
216
+ Cartesian3_default.UNIT_Z,
217
+ -stRotation,
218
+ enuRotationScratch
219
+ );
220
+ const textureMatrix = Matrix3_default.fromQuaternion(
221
+ rotation,
222
+ enuRotationMatrixScratch
223
+ );
224
+ const positionsLength = positions.length;
225
+ let enuMinX = Number.POSITIVE_INFINITY;
226
+ let enuMinY = Number.POSITIVE_INFINITY;
227
+ let enuMaxX = Number.NEGATIVE_INFINITY;
228
+ let enuMaxY = Number.NEGATIVE_INFINITY;
229
+ for (i = 0; i < positionsLength; i++) {
230
+ posEnu = Matrix4_default.multiplyByPointAsVector(
231
+ fixedFrameToEnu,
232
+ positions[i],
233
+ posEnu
234
+ );
235
+ posEnu = Matrix3_default.multiplyByVector(textureMatrix, posEnu, posEnu);
236
+ enuMinX = Math.min(enuMinX, posEnu.x);
237
+ enuMinY = Math.min(enuMinY, posEnu.y);
238
+ enuMaxX = Math.max(enuMaxX, posEnu.x);
239
+ enuMaxY = Math.max(enuMaxY, posEnu.y);
240
+ }
241
+ const toDesiredInComputed = Matrix2_default.fromRotation(
242
+ stRotation,
243
+ rotation2DScratch
244
+ );
245
+ const points2D = points2DScratch;
246
+ points2D[0].x = enuMinX;
247
+ points2D[0].y = enuMinY;
248
+ points2D[1].x = enuMinX;
249
+ points2D[1].y = enuMaxY;
250
+ points2D[2].x = enuMaxX;
251
+ points2D[2].y = enuMinY;
252
+ const boundingEnuMin = boundingPointsEnu[0];
253
+ const boundingPointsWidth = boundingPointsEnu[2].x - boundingEnuMin.x;
254
+ const boundingPointsHeight = boundingPointsEnu[1].y - boundingEnuMin.y;
255
+ for (i = 0; i < 3; i++) {
256
+ const point2D = points2D[i];
257
+ Matrix2_default.multiplyByVector(toDesiredInComputed, point2D, point2D);
258
+ point2D.x = (point2D.x - boundingEnuMin.x) / boundingPointsWidth;
259
+ point2D.y = (point2D.y - boundingEnuMin.y) / boundingPointsHeight;
260
+ }
261
+ const minXYCorner = points2D[0];
262
+ const maxYCorner = points2D[1];
263
+ const maxXCorner = points2D[2];
264
+ const result = new Array(6);
265
+ Cartesian2_default.pack(minXYCorner, result);
266
+ Cartesian2_default.pack(maxYCorner, result, 2);
267
+ Cartesian2_default.pack(maxXCorner, result, 4);
268
+ return result;
269
+ };
270
+ var Geometry_default = Geometry;
271
+
272
+ // packages/engine/Source/Core/GeometryAttribute.js
273
+ function GeometryAttribute(options) {
274
+ options = options ?? Frozen_default.EMPTY_OBJECT;
275
+ if (!defined_default(options.componentDatatype)) {
276
+ throw new DeveloperError_default("options.componentDatatype is required.");
277
+ }
278
+ if (!defined_default(options.componentsPerAttribute)) {
279
+ throw new DeveloperError_default("options.componentsPerAttribute is required.");
280
+ }
281
+ if (options.componentsPerAttribute < 1 || options.componentsPerAttribute > 4) {
282
+ throw new DeveloperError_default(
283
+ "options.componentsPerAttribute must be between 1 and 4."
284
+ );
285
+ }
286
+ if (!defined_default(options.values)) {
287
+ throw new DeveloperError_default("options.values is required.");
288
+ }
289
+ this.componentDatatype = options.componentDatatype;
290
+ this.componentsPerAttribute = options.componentsPerAttribute;
291
+ this.normalize = options.normalize ?? false;
292
+ this.values = options.values;
293
+ }
294
+ var GeometryAttribute_default = GeometryAttribute;
295
+
296
+ export {
297
+ GeometryType_default,
298
+ PrimitiveType_default,
299
+ Geometry_default,
300
+ GeometryAttribute_default
301
+ };
@@ -0,0 +1,387 @@
1
+ /**
2
+ * @license
3
+ * Cesium - https://github.com/CesiumGS/cesium
4
+ * Version 1.144.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
+ EllipseGeometryLibrary_default
28
+ } from "./chunk-GC24BPCQ.js";
29
+ import {
30
+ GeometryOffsetAttribute_default
31
+ } from "./chunk-SXSP3JHS.js";
32
+ import {
33
+ IndexDatatype_default
34
+ } from "./chunk-QJJ3GXSH.js";
35
+ import {
36
+ GeometryAttributes_default
37
+ } from "./chunk-2P5SGQUU.js";
38
+ import {
39
+ BoundingSphere_default
40
+ } from "./chunk-UCOZLNHF.js";
41
+ import {
42
+ GeometryAttribute_default,
43
+ Geometry_default,
44
+ PrimitiveType_default
45
+ } from "./chunk-DHCQSFRN.js";
46
+ import {
47
+ ComponentDatatype_default
48
+ } from "./chunk-6KWWDFT4.js";
49
+ import {
50
+ Ellipsoid_default
51
+ } from "./chunk-UT7YX565.js";
52
+ import {
53
+ Cartesian3_default,
54
+ Frozen_default
55
+ } from "./chunk-76HD3HYN.js";
56
+ import {
57
+ Math_default
58
+ } from "./chunk-TA3PH4Q7.js";
59
+ import {
60
+ DeveloperError_default
61
+ } from "./chunk-UDKEO3UF.js";
62
+ import {
63
+ defined_default
64
+ } from "./chunk-NYQSZLRF.js";
65
+
66
+ // packages/engine/Source/Core/EllipseOutlineGeometry.js
67
+ var scratchCartesian1 = new Cartesian3_default();
68
+ var boundingSphereCenter = new Cartesian3_default();
69
+ function computeEllipse(options) {
70
+ const center = options.center;
71
+ boundingSphereCenter = Cartesian3_default.multiplyByScalar(
72
+ options.ellipsoid.geodeticSurfaceNormal(center, boundingSphereCenter),
73
+ options.height,
74
+ boundingSphereCenter
75
+ );
76
+ boundingSphereCenter = Cartesian3_default.add(
77
+ center,
78
+ boundingSphereCenter,
79
+ boundingSphereCenter
80
+ );
81
+ const boundingSphere = new BoundingSphere_default(
82
+ boundingSphereCenter,
83
+ options.semiMajorAxis
84
+ );
85
+ const positions = EllipseGeometryLibrary_default.computeEllipsePositions(
86
+ options,
87
+ false,
88
+ true
89
+ ).outerPositions;
90
+ const attributes = new GeometryAttributes_default({
91
+ position: new GeometryAttribute_default({
92
+ componentDatatype: ComponentDatatype_default.DOUBLE,
93
+ componentsPerAttribute: 3,
94
+ values: EllipseGeometryLibrary_default.raisePositionsToHeight(
95
+ positions,
96
+ options,
97
+ false
98
+ )
99
+ })
100
+ });
101
+ const length = positions.length / 3;
102
+ const indices = IndexDatatype_default.createTypedArray(length, length * 2);
103
+ let index = 0;
104
+ for (let i = 0; i < length; ++i) {
105
+ indices[index++] = i;
106
+ indices[index++] = (i + 1) % length;
107
+ }
108
+ return {
109
+ boundingSphere,
110
+ attributes,
111
+ indices
112
+ };
113
+ }
114
+ var topBoundingSphere = new BoundingSphere_default();
115
+ var bottomBoundingSphere = new BoundingSphere_default();
116
+ function computeExtrudedEllipse(options) {
117
+ const center = options.center;
118
+ const ellipsoid = options.ellipsoid;
119
+ const semiMajorAxis = options.semiMajorAxis;
120
+ let scaledNormal = Cartesian3_default.multiplyByScalar(
121
+ ellipsoid.geodeticSurfaceNormal(center, scratchCartesian1),
122
+ options.height,
123
+ scratchCartesian1
124
+ );
125
+ topBoundingSphere.center = Cartesian3_default.add(
126
+ center,
127
+ scaledNormal,
128
+ topBoundingSphere.center
129
+ );
130
+ topBoundingSphere.radius = semiMajorAxis;
131
+ scaledNormal = Cartesian3_default.multiplyByScalar(
132
+ ellipsoid.geodeticSurfaceNormal(center, scaledNormal),
133
+ options.extrudedHeight,
134
+ scaledNormal
135
+ );
136
+ bottomBoundingSphere.center = Cartesian3_default.add(
137
+ center,
138
+ scaledNormal,
139
+ bottomBoundingSphere.center
140
+ );
141
+ bottomBoundingSphere.radius = semiMajorAxis;
142
+ let positions = EllipseGeometryLibrary_default.computeEllipsePositions(
143
+ options,
144
+ false,
145
+ true
146
+ ).outerPositions;
147
+ const attributes = new GeometryAttributes_default({
148
+ position: new GeometryAttribute_default({
149
+ componentDatatype: ComponentDatatype_default.DOUBLE,
150
+ componentsPerAttribute: 3,
151
+ values: EllipseGeometryLibrary_default.raisePositionsToHeight(
152
+ positions,
153
+ options,
154
+ true
155
+ )
156
+ })
157
+ });
158
+ positions = attributes.position.values;
159
+ const boundingSphere = BoundingSphere_default.union(
160
+ topBoundingSphere,
161
+ bottomBoundingSphere
162
+ );
163
+ let length = positions.length / 3;
164
+ if (defined_default(options.offsetAttribute)) {
165
+ let applyOffset = new Uint8Array(length);
166
+ if (options.offsetAttribute === GeometryOffsetAttribute_default.TOP) {
167
+ applyOffset = applyOffset.fill(1, 0, length / 2);
168
+ } else {
169
+ const offsetValue = options.offsetAttribute === GeometryOffsetAttribute_default.NONE ? 0 : 1;
170
+ applyOffset = applyOffset.fill(offsetValue);
171
+ }
172
+ attributes.applyOffset = new GeometryAttribute_default({
173
+ componentDatatype: ComponentDatatype_default.UNSIGNED_BYTE,
174
+ componentsPerAttribute: 1,
175
+ values: applyOffset
176
+ });
177
+ }
178
+ let numberOfVerticalLines = options.numberOfVerticalLines ?? 16;
179
+ numberOfVerticalLines = Math_default.clamp(
180
+ numberOfVerticalLines,
181
+ 0,
182
+ length / 2
183
+ );
184
+ const indices = IndexDatatype_default.createTypedArray(
185
+ length,
186
+ length * 2 + numberOfVerticalLines * 2
187
+ );
188
+ length /= 2;
189
+ let index = 0;
190
+ let i;
191
+ for (i = 0; i < length; ++i) {
192
+ indices[index++] = i;
193
+ indices[index++] = (i + 1) % length;
194
+ indices[index++] = i + length;
195
+ indices[index++] = (i + 1) % length + length;
196
+ }
197
+ let numSide;
198
+ if (numberOfVerticalLines > 0) {
199
+ const numSideLines = Math.min(numberOfVerticalLines, length);
200
+ numSide = Math.round(length / numSideLines);
201
+ const maxI = Math.min(numSide * numberOfVerticalLines, length);
202
+ for (i = 0; i < maxI; i += numSide) {
203
+ indices[index++] = i;
204
+ indices[index++] = i + length;
205
+ }
206
+ }
207
+ return {
208
+ boundingSphere,
209
+ attributes,
210
+ indices
211
+ };
212
+ }
213
+ function EllipseOutlineGeometry(options) {
214
+ options = options ?? Frozen_default.EMPTY_OBJECT;
215
+ const center = options.center;
216
+ const ellipsoid = options.ellipsoid ?? Ellipsoid_default.default;
217
+ const semiMajorAxis = options.semiMajorAxis;
218
+ const semiMinorAxis = options.semiMinorAxis;
219
+ const granularity = options.granularity ?? Math_default.RADIANS_PER_DEGREE;
220
+ if (!defined_default(center)) {
221
+ throw new DeveloperError_default("center is required.");
222
+ }
223
+ if (!defined_default(semiMajorAxis)) {
224
+ throw new DeveloperError_default("semiMajorAxis is required.");
225
+ }
226
+ if (!defined_default(semiMinorAxis)) {
227
+ throw new DeveloperError_default("semiMinorAxis is required.");
228
+ }
229
+ if (semiMajorAxis < semiMinorAxis) {
230
+ throw new DeveloperError_default(
231
+ "semiMajorAxis must be greater than or equal to the semiMinorAxis."
232
+ );
233
+ }
234
+ if (granularity <= 0) {
235
+ throw new DeveloperError_default("granularity must be greater than zero.");
236
+ }
237
+ const height = options.height ?? 0;
238
+ const extrudedHeight = options.extrudedHeight ?? height;
239
+ this._center = Cartesian3_default.clone(center);
240
+ this._semiMajorAxis = semiMajorAxis;
241
+ this._semiMinorAxis = semiMinorAxis;
242
+ this._ellipsoid = Ellipsoid_default.clone(ellipsoid);
243
+ this._rotation = options.rotation ?? 0;
244
+ this._height = Math.max(extrudedHeight, height);
245
+ this._granularity = granularity;
246
+ this._extrudedHeight = Math.min(extrudedHeight, height);
247
+ this._numberOfVerticalLines = Math.max(
248
+ options.numberOfVerticalLines ?? 16,
249
+ 0
250
+ );
251
+ this._offsetAttribute = options.offsetAttribute;
252
+ this._workerName = "createEllipseOutlineGeometry";
253
+ }
254
+ EllipseOutlineGeometry.packedLength = Cartesian3_default.packedLength + Ellipsoid_default.packedLength + 8;
255
+ EllipseOutlineGeometry.pack = function(value, array, startingIndex) {
256
+ if (!defined_default(value)) {
257
+ throw new DeveloperError_default("value is required");
258
+ }
259
+ if (!defined_default(array)) {
260
+ throw new DeveloperError_default("array is required");
261
+ }
262
+ startingIndex = startingIndex ?? 0;
263
+ Cartesian3_default.pack(value._center, array, startingIndex);
264
+ startingIndex += Cartesian3_default.packedLength;
265
+ Ellipsoid_default.pack(value._ellipsoid, array, startingIndex);
266
+ startingIndex += Ellipsoid_default.packedLength;
267
+ array[startingIndex++] = value._semiMajorAxis;
268
+ array[startingIndex++] = value._semiMinorAxis;
269
+ array[startingIndex++] = value._rotation;
270
+ array[startingIndex++] = value._height;
271
+ array[startingIndex++] = value._granularity;
272
+ array[startingIndex++] = value._extrudedHeight;
273
+ array[startingIndex++] = value._numberOfVerticalLines;
274
+ array[startingIndex] = value._offsetAttribute ?? -1;
275
+ return array;
276
+ };
277
+ var scratchCenter = new Cartesian3_default();
278
+ var scratchEllipsoid = new Ellipsoid_default();
279
+ var scratchOptions = {
280
+ center: scratchCenter,
281
+ ellipsoid: scratchEllipsoid,
282
+ semiMajorAxis: void 0,
283
+ semiMinorAxis: void 0,
284
+ rotation: void 0,
285
+ height: void 0,
286
+ granularity: void 0,
287
+ extrudedHeight: void 0,
288
+ numberOfVerticalLines: void 0,
289
+ offsetAttribute: void 0
290
+ };
291
+ EllipseOutlineGeometry.unpack = function(array, startingIndex, result) {
292
+ if (!defined_default(array)) {
293
+ throw new DeveloperError_default("array is required");
294
+ }
295
+ startingIndex = startingIndex ?? 0;
296
+ const center = Cartesian3_default.unpack(array, startingIndex, scratchCenter);
297
+ startingIndex += Cartesian3_default.packedLength;
298
+ const ellipsoid = Ellipsoid_default.unpack(array, startingIndex, scratchEllipsoid);
299
+ startingIndex += Ellipsoid_default.packedLength;
300
+ const semiMajorAxis = array[startingIndex++];
301
+ const semiMinorAxis = array[startingIndex++];
302
+ const rotation = array[startingIndex++];
303
+ const height = array[startingIndex++];
304
+ const granularity = array[startingIndex++];
305
+ const extrudedHeight = array[startingIndex++];
306
+ const numberOfVerticalLines = array[startingIndex++];
307
+ const offsetAttribute = array[startingIndex];
308
+ if (!defined_default(result)) {
309
+ scratchOptions.height = height;
310
+ scratchOptions.extrudedHeight = extrudedHeight;
311
+ scratchOptions.granularity = granularity;
312
+ scratchOptions.rotation = rotation;
313
+ scratchOptions.semiMajorAxis = semiMajorAxis;
314
+ scratchOptions.semiMinorAxis = semiMinorAxis;
315
+ scratchOptions.numberOfVerticalLines = numberOfVerticalLines;
316
+ scratchOptions.offsetAttribute = offsetAttribute === -1 ? void 0 : offsetAttribute;
317
+ return new EllipseOutlineGeometry(scratchOptions);
318
+ }
319
+ result._center = Cartesian3_default.clone(center, result._center);
320
+ result._ellipsoid = Ellipsoid_default.clone(ellipsoid, result._ellipsoid);
321
+ result._semiMajorAxis = semiMajorAxis;
322
+ result._semiMinorAxis = semiMinorAxis;
323
+ result._rotation = rotation;
324
+ result._height = height;
325
+ result._granularity = granularity;
326
+ result._extrudedHeight = extrudedHeight;
327
+ result._numberOfVerticalLines = numberOfVerticalLines;
328
+ result._offsetAttribute = offsetAttribute === -1 ? void 0 : offsetAttribute;
329
+ return result;
330
+ };
331
+ EllipseOutlineGeometry.createGeometry = function(ellipseGeometry) {
332
+ if (ellipseGeometry._semiMajorAxis <= 0 || ellipseGeometry._semiMinorAxis <= 0) {
333
+ return;
334
+ }
335
+ const height = ellipseGeometry._height;
336
+ const extrudedHeight = ellipseGeometry._extrudedHeight;
337
+ const extrude = !Math_default.equalsEpsilon(
338
+ height,
339
+ extrudedHeight,
340
+ 0,
341
+ Math_default.EPSILON2
342
+ );
343
+ ellipseGeometry._center = ellipseGeometry._ellipsoid.scaleToGeodeticSurface(
344
+ ellipseGeometry._center,
345
+ ellipseGeometry._center
346
+ );
347
+ const options = {
348
+ center: ellipseGeometry._center,
349
+ semiMajorAxis: ellipseGeometry._semiMajorAxis,
350
+ semiMinorAxis: ellipseGeometry._semiMinorAxis,
351
+ ellipsoid: ellipseGeometry._ellipsoid,
352
+ rotation: ellipseGeometry._rotation,
353
+ height,
354
+ granularity: ellipseGeometry._granularity,
355
+ numberOfVerticalLines: ellipseGeometry._numberOfVerticalLines
356
+ };
357
+ let geometry;
358
+ if (extrude) {
359
+ options.extrudedHeight = extrudedHeight;
360
+ options.offsetAttribute = ellipseGeometry._offsetAttribute;
361
+ geometry = computeExtrudedEllipse(options);
362
+ } else {
363
+ geometry = computeEllipse(options);
364
+ if (defined_default(ellipseGeometry._offsetAttribute)) {
365
+ const length = geometry.attributes.position.values.length;
366
+ const offsetValue = ellipseGeometry._offsetAttribute === GeometryOffsetAttribute_default.NONE ? 0 : 1;
367
+ const applyOffset = new Uint8Array(length / 3).fill(offsetValue);
368
+ geometry.attributes.applyOffset = new GeometryAttribute_default({
369
+ componentDatatype: ComponentDatatype_default.UNSIGNED_BYTE,
370
+ componentsPerAttribute: 1,
371
+ values: applyOffset
372
+ });
373
+ }
374
+ }
375
+ return new Geometry_default({
376
+ attributes: geometry.attributes,
377
+ indices: geometry.indices,
378
+ primitiveType: PrimitiveType_default.LINES,
379
+ boundingSphere: geometry.boundingSphere,
380
+ offsetAttribute: ellipseGeometry._offsetAttribute
381
+ });
382
+ };
383
+ var EllipseOutlineGeometry_default = EllipseOutlineGeometry;
384
+
385
+ export {
386
+ EllipseOutlineGeometry_default
387
+ };