@rtzh/engine 0.0.3 → 0.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 (172) hide show
  1. package/Build/ThirdParty/Workers/zip-web-worker.js +640 -0
  2. package/Build/Workers/chunk-245NZYCR.js +124 -0
  3. package/Build/Workers/chunk-25BA4527.js +837 -0
  4. package/Build/Workers/chunk-2APW7KRS.js +101 -0
  5. package/Build/Workers/chunk-2BLQ3B4Q.js +299 -0
  6. package/Build/Workers/chunk-2CAIFJD5.js +387 -0
  7. package/Build/Workers/chunk-3K2PK2OU.js +1045 -0
  8. package/Build/Workers/chunk-3M5CRHSG.js +288 -0
  9. package/Build/Workers/chunk-4HXPSZRC.js +1483 -0
  10. package/Build/Workers/chunk-4Z26IS65.js +3514 -0
  11. package/Build/Workers/chunk-55IROWAX.js +139 -0
  12. package/Build/Workers/chunk-56XTN5NJ.js +1800 -0
  13. package/Build/Workers/chunk-5BIQOSBV.js +55 -0
  14. package/Build/Workers/chunk-5CSRWY7L.js +280 -0
  15. package/Build/Workers/chunk-5QTPACZQ.js +455 -0
  16. package/Build/Workers/chunk-5VZISKJF.js +629 -0
  17. package/Build/Workers/chunk-5WAG5YKS.js +368 -0
  18. package/Build/Workers/chunk-64W2RXA4.js +219 -0
  19. package/Build/Workers/chunk-66YGZWBI.js +1317 -0
  20. package/Build/Workers/chunk-6H33B6OL.js +37 -0
  21. package/Build/Workers/chunk-6LZBBEA7.js +439 -0
  22. package/Build/Workers/chunk-6QVMKRJ4.js +3514 -0
  23. package/Build/Workers/chunk-6XJO625E.js +497 -0
  24. package/Build/Workers/chunk-75UGCVME.js +102 -0
  25. package/Build/Workers/chunk-7B23DD46.js +1054 -0
  26. package/Build/Workers/chunk-7NCJH26L.js +352 -0
  27. package/Build/Workers/chunk-ACH67MPW.js +1483 -0
  28. package/Build/Workers/chunk-AIW5F22O.js +352 -0
  29. package/Build/Workers/chunk-AL22JVIA.js +256 -0
  30. package/Build/Workers/chunk-AVSQILVI.js +75 -0
  31. package/Build/Workers/chunk-B2VFNYD7.js +280 -0
  32. package/Build/Workers/chunk-BJ6WXQOW.js +305 -0
  33. package/Build/Workers/chunk-BN4WA7LX.js +75 -0
  34. package/Build/Workers/chunk-BOV6T7FO.js +44 -0
  35. package/Build/Workers/chunk-BXBGWQ3Z.js +171 -0
  36. package/Build/Workers/chunk-D7TGILR3.js +1054 -0
  37. package/Build/Workers/chunk-DBKYAGM6.js +1800 -0
  38. package/Build/Workers/chunk-DEIMB3B5.js +629 -0
  39. package/Build/Workers/chunk-DP76S3IQ.js +1067 -0
  40. package/Build/Workers/chunk-DSBEWMOQ.js +1067 -0
  41. package/Build/Workers/chunk-E2CARZA7.js +73 -0
  42. package/Build/Workers/chunk-EDIUN7V3.js +219 -0
  43. package/Build/Workers/chunk-EISI2CR2.js +2058 -0
  44. package/Build/Workers/chunk-EKMWNF4U.js +55 -0
  45. package/Build/Workers/chunk-ELXGXAYS.js +682 -0
  46. package/Build/Workers/chunk-F5LAPCFC.js +1460 -0
  47. package/Build/Workers/chunk-FJREGHFG.js +138 -0
  48. package/Build/Workers/chunk-FVYRV2T6.js +455 -0
  49. package/Build/Workers/chunk-GDIBU55R.js +778 -0
  50. package/Build/Workers/chunk-HAWJ7FMN.js +8366 -0
  51. package/Build/Workers/chunk-HAY6YE7M.js +97 -0
  52. package/Build/Workers/chunk-HGIGANIQ.js +163 -0
  53. package/Build/Workers/chunk-HI6X33GO.js +58 -0
  54. package/Build/Workers/chunk-HU5P7PMU.js +1317 -0
  55. package/Build/Workers/chunk-I76SRIKN.js +138 -0
  56. package/Build/Workers/chunk-IDVURFRN.js +241 -0
  57. package/Build/Workers/chunk-IELTSYPZ.js +241 -0
  58. package/Build/Workers/chunk-J3FBVUY4.js +37 -0
  59. package/Build/Workers/chunk-J4MIJCN5.js +171 -0
  60. package/Build/Workers/chunk-JFO3ELF3.js +642 -0
  61. package/Build/Workers/chunk-JH27ZGLN.js +352 -0
  62. package/Build/Workers/chunk-JURLMTV2.js +398 -0
  63. package/Build/Workers/chunk-K4IMD7KH.js +162 -0
  64. package/Build/Workers/chunk-KBAGFNQ4.js +139 -0
  65. package/Build/Workers/chunk-KFMCOG26.js +692 -0
  66. package/Build/Workers/chunk-KH2OWUUA.js +163 -0
  67. package/Build/Workers/chunk-KHKSE4WQ.js +778 -0
  68. package/Build/Workers/chunk-KKYQRQ57.js +368 -0
  69. package/Build/Workers/chunk-KQIZ7AFF.js +8366 -0
  70. package/Build/Workers/chunk-KUAWPGSB.js +511 -0
  71. package/Build/Workers/chunk-KVDSJXRK.js +114 -0
  72. package/Build/Workers/chunk-KVE5EAPO.js +398 -0
  73. package/Build/Workers/chunk-KXB3AARU.js +162 -0
  74. package/Build/Workers/chunk-LN4NMLYY.js +55 -0
  75. package/Build/Workers/chunk-LPM2FVDN.js +642 -0
  76. package/Build/Workers/chunk-MLFVICFZ.js +102 -0
  77. package/Build/Workers/chunk-MQ62ZE2U.js +124 -0
  78. package/Build/Workers/chunk-NOH3R3YY.js +198 -0
  79. package/Build/Workers/chunk-OAOREOSO.js +940 -0
  80. package/Build/Workers/chunk-OFJRMGNX.js +788 -0
  81. package/Build/Workers/chunk-OOB2KZC6.js +476 -0
  82. package/Build/Workers/chunk-OVPPHDU7.js +97 -0
  83. package/Build/Workers/chunk-P7M4VYFT.js +788 -0
  84. package/Build/Workers/chunk-PHB5MRHM.js +439 -0
  85. package/Build/Workers/chunk-PLLZB3R4.js +198 -0
  86. package/Build/Workers/chunk-POY6ZE32.js +2058 -0
  87. package/Build/Workers/chunk-PV5B2YNB.js +2719 -0
  88. package/Build/Workers/chunk-Q2DXNFYW.js +414 -0
  89. package/Build/Workers/chunk-QWV2DM66.js +1443 -0
  90. package/Build/Workers/chunk-R73BHGGI.js +305 -0
  91. package/Build/Workers/chunk-S3AE3MZZ.js +511 -0
  92. package/Build/Workers/chunk-SBFTVHRW.js +57 -0
  93. package/Build/Workers/chunk-SOR7PD4V.js +114 -0
  94. package/Build/Workers/chunk-TDI7UQBO.js +57 -0
  95. package/Build/Workers/chunk-TO7TWUET.js +476 -0
  96. package/Build/Workers/chunk-TSAJNE4K.js +101 -0
  97. package/Build/Workers/chunk-TWF4XRZ6.js +73 -0
  98. package/Build/Workers/chunk-U364CIW4.js +682 -0
  99. package/Build/Workers/chunk-UOD5YNH3.js +940 -0
  100. package/Build/Workers/chunk-UTWLMOPM.js +387 -0
  101. package/Build/Workers/chunk-UUJXSLQ2.js +2719 -0
  102. package/Build/Workers/chunk-UYT2PBMV.js +58 -0
  103. package/Build/Workers/chunk-VIYQ56Z7.js +837 -0
  104. package/Build/Workers/chunk-VR2L2Y4Z.js +1443 -0
  105. package/Build/Workers/chunk-WAS3IHIQ.js +288 -0
  106. package/Build/Workers/chunk-WLREXLZ7.js +414 -0
  107. package/Build/Workers/chunk-WMGESUDW.js +497 -0
  108. package/Build/Workers/chunk-WO5ZNC7S.js +1045 -0
  109. package/Build/Workers/chunk-X65Y2JSA.js +55 -0
  110. package/Build/Workers/chunk-XJKMLTSH.js +692 -0
  111. package/Build/Workers/chunk-XOVHLPKW.js +299 -0
  112. package/Build/Workers/chunk-YBVMSCW4.js +352 -0
  113. package/Build/Workers/chunk-YPGJSFOO.js +1460 -0
  114. package/Build/Workers/chunk-Z356SW7E.js +256 -0
  115. package/Build/Workers/chunk-ZV42SJKS.js +44 -0
  116. package/Build/Workers/combineGeometry.js +66 -0
  117. package/Build/Workers/createBoxGeometry.js +58 -0
  118. package/Build/Workers/createBoxOutlineGeometry.js +231 -0
  119. package/Build/Workers/createCircleGeometry.js +201 -0
  120. package/Build/Workers/createCircleOutlineGeometry.js +147 -0
  121. package/Build/Workers/createCoplanarPolygonGeometry.js +505 -0
  122. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +225 -0
  123. package/Build/Workers/createCorridorGeometry.js +1258 -0
  124. package/Build/Workers/createCorridorOutlineGeometry.js +563 -0
  125. package/Build/Workers/createCylinderGeometry.js +60 -0
  126. package/Build/Workers/createCylinderOutlineGeometry.js +231 -0
  127. package/Build/Workers/createEllipseGeometry.js +72 -0
  128. package/Build/Workers/createEllipseOutlineGeometry.js +65 -0
  129. package/Build/Workers/createEllipsoidGeometry.js +59 -0
  130. package/Build/Workers/createEllipsoidOutlineGeometry.js +61 -0
  131. package/Build/Workers/createFrustumGeometry.js +58 -0
  132. package/Build/Workers/createFrustumOutlineGeometry.js +234 -0
  133. package/Build/Workers/createGeometry.js +173 -0
  134. package/Build/Workers/createGroundPolylineGeometry.js +1602 -0
  135. package/Build/Workers/createPlaneGeometry.js +223 -0
  136. package/Build/Workers/createPlaneOutlineGeometry.js +124 -0
  137. package/Build/Workers/createPolygonGeometry.js +1404 -0
  138. package/Build/Workers/createPolygonOutlineGeometry.js +532 -0
  139. package/Build/Workers/createPolylineGeometry.js +491 -0
  140. package/Build/Workers/createPolylineVolumeGeometry.js +374 -0
  141. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +272 -0
  142. package/Build/Workers/createRectangleGeometry.js +1264 -0
  143. package/Build/Workers/createRectangleOutlineGeometry.js +476 -0
  144. package/Build/Workers/createSimplePolylineGeometry.js +397 -0
  145. package/Build/Workers/createSphereGeometry.js +116 -0
  146. package/Build/Workers/createSphereOutlineGeometry.js +116 -0
  147. package/Build/Workers/createTaskProcessorWorker.js +32 -0
  148. package/Build/Workers/createVectorTileClampedPolylines.js +492 -0
  149. package/Build/Workers/createVectorTileGeometries.js +387 -0
  150. package/Build/Workers/createVectorTilePoints.js +114 -0
  151. package/Build/Workers/createVectorTilePolygons.js +386 -0
  152. package/Build/Workers/createVectorTilePolylines.js +262 -0
  153. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +91 -0
  154. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +565 -0
  155. package/Build/Workers/createVerticesFromHeightmap.js +2254 -0
  156. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +499 -0
  157. package/Build/Workers/createWallGeometry.js +487 -0
  158. package/Build/Workers/createWallOutlineGeometry.js +335 -0
  159. package/Build/Workers/decodeDraco.js +369 -0
  160. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +2680 -0
  161. package/Build/Workers/decodeI3S.js +1339 -0
  162. package/Build/Workers/gaussianSplatSorter.js +62 -0
  163. package/Build/Workers/gaussianSplatTextureGenerator.js +68 -0
  164. package/Build/Workers/incrementallyBuildTerrainPicker.js +121 -0
  165. package/Build/Workers/transcodeKTX2.js +3463 -0
  166. package/Build/Workers/transferTypedArrayTest.js +41 -0
  167. package/Build/Workers/upsampleQuantizedTerrainMesh.js +820 -0
  168. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +95 -0
  169. package/Source/Scene/GltfLoader.js +2 -2
  170. package/Source/Scene/Model/I3dmLoader.js +2 -2
  171. package/index.js +110 -110
  172. package/package.json +1 -1
@@ -0,0 +1,487 @@
1
+ /**
2
+ * @license
3
+ * Cesium - https://github.com/CesiumGS/cesium
4
+ * Version 0.0.4
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
+ WallGeometryLibrary_default
28
+ } from "./chunk-NOH3R3YY.js";
29
+ import "./chunk-WLREXLZ7.js";
30
+ import "./chunk-JH27ZGLN.js";
31
+ import {
32
+ VertexFormat_default
33
+ } from "./chunk-FJREGHFG.js";
34
+ import "./chunk-OVPPHDU7.js";
35
+ import "./chunk-5QTPACZQ.js";
36
+ import "./chunk-HU5P7PMU.js";
37
+ import "./chunk-BXBGWQ3Z.js";
38
+ import {
39
+ IndexDatatype_default
40
+ } from "./chunk-KBAGFNQ4.js";
41
+ import {
42
+ GeometryAttributes_default
43
+ } from "./chunk-ZV42SJKS.js";
44
+ import {
45
+ GeometryAttribute_default,
46
+ Geometry_default,
47
+ PrimitiveType_default
48
+ } from "./chunk-2BLQ3B4Q.js";
49
+ import {
50
+ BoundingSphere_default
51
+ } from "./chunk-UOD5YNH3.js";
52
+ import "./chunk-5BIQOSBV.js";
53
+ import "./chunk-HAWJ7FMN.js";
54
+ import "./chunk-EISI2CR2.js";
55
+ import {
56
+ ComponentDatatype_default
57
+ } from "./chunk-Z356SW7E.js";
58
+ import "./chunk-DEIMB3B5.js";
59
+ import "./chunk-HI6X33GO.js";
60
+ import {
61
+ Ellipsoid_default
62
+ } from "./chunk-F5LAPCFC.js";
63
+ import {
64
+ Cartesian3_default,
65
+ Frozen_default
66
+ } from "./chunk-VR2L2Y4Z.js";
67
+ import {
68
+ Math_default
69
+ } from "./chunk-WMGESUDW.js";
70
+ import {
71
+ DeveloperError_default
72
+ } from "./chunk-HGIGANIQ.js";
73
+ import {
74
+ defined_default
75
+ } from "./chunk-BN4WA7LX.js";
76
+
77
+ // packages/engine/Source/Core/WallGeometry.js
78
+ var scratchCartesian3Position1 = new Cartesian3_default();
79
+ var scratchCartesian3Position2 = new Cartesian3_default();
80
+ var scratchCartesian3Position4 = new Cartesian3_default();
81
+ var scratchCartesian3Position5 = new Cartesian3_default();
82
+ var scratchBitangent = new Cartesian3_default();
83
+ var scratchTangent = new Cartesian3_default();
84
+ var scratchNormal = new Cartesian3_default();
85
+ function WallGeometry(options) {
86
+ options = options ?? Frozen_default.EMPTY_OBJECT;
87
+ const wallPositions = options.positions;
88
+ const maximumHeights = options.maximumHeights;
89
+ const minimumHeights = options.minimumHeights;
90
+ if (!defined_default(wallPositions)) {
91
+ throw new DeveloperError_default("options.positions is required.");
92
+ }
93
+ if (defined_default(maximumHeights) && maximumHeights.length !== wallPositions.length) {
94
+ throw new DeveloperError_default(
95
+ "options.positions and options.maximumHeights must have the same length."
96
+ );
97
+ }
98
+ if (defined_default(minimumHeights) && minimumHeights.length !== wallPositions.length) {
99
+ throw new DeveloperError_default(
100
+ "options.positions and options.minimumHeights must have the same length."
101
+ );
102
+ }
103
+ const vertexFormat = options.vertexFormat ?? VertexFormat_default.DEFAULT;
104
+ const granularity = options.granularity ?? Math_default.RADIANS_PER_DEGREE;
105
+ const ellipsoid = options.ellipsoid ?? Ellipsoid_default.default;
106
+ this._positions = wallPositions;
107
+ this._minimumHeights = minimumHeights;
108
+ this._maximumHeights = maximumHeights;
109
+ this._vertexFormat = VertexFormat_default.clone(vertexFormat);
110
+ this._granularity = granularity;
111
+ this._ellipsoid = Ellipsoid_default.clone(ellipsoid);
112
+ this._workerName = "createWallGeometry";
113
+ let numComponents = 1 + wallPositions.length * Cartesian3_default.packedLength + 2;
114
+ if (defined_default(minimumHeights)) {
115
+ numComponents += minimumHeights.length;
116
+ }
117
+ if (defined_default(maximumHeights)) {
118
+ numComponents += maximumHeights.length;
119
+ }
120
+ this.packedLength = numComponents + Ellipsoid_default.packedLength + VertexFormat_default.packedLength + 1;
121
+ }
122
+ WallGeometry.pack = function(value, array, startingIndex) {
123
+ if (!defined_default(value)) {
124
+ throw new DeveloperError_default("value is required");
125
+ }
126
+ if (!defined_default(array)) {
127
+ throw new DeveloperError_default("array is required");
128
+ }
129
+ startingIndex = startingIndex ?? 0;
130
+ let i;
131
+ const positions = value._positions;
132
+ let length = positions.length;
133
+ array[startingIndex++] = length;
134
+ for (i = 0; i < length; ++i, startingIndex += Cartesian3_default.packedLength) {
135
+ Cartesian3_default.pack(positions[i], array, startingIndex);
136
+ }
137
+ const minimumHeights = value._minimumHeights;
138
+ length = defined_default(minimumHeights) ? minimumHeights.length : 0;
139
+ array[startingIndex++] = length;
140
+ if (defined_default(minimumHeights)) {
141
+ for (i = 0; i < length; ++i) {
142
+ array[startingIndex++] = minimumHeights[i];
143
+ }
144
+ }
145
+ const maximumHeights = value._maximumHeights;
146
+ length = defined_default(maximumHeights) ? maximumHeights.length : 0;
147
+ array[startingIndex++] = length;
148
+ if (defined_default(maximumHeights)) {
149
+ for (i = 0; i < length; ++i) {
150
+ array[startingIndex++] = maximumHeights[i];
151
+ }
152
+ }
153
+ Ellipsoid_default.pack(value._ellipsoid, array, startingIndex);
154
+ startingIndex += Ellipsoid_default.packedLength;
155
+ VertexFormat_default.pack(value._vertexFormat, array, startingIndex);
156
+ startingIndex += VertexFormat_default.packedLength;
157
+ array[startingIndex] = value._granularity;
158
+ return array;
159
+ };
160
+ var scratchEllipsoid = Ellipsoid_default.clone(Ellipsoid_default.UNIT_SPHERE);
161
+ var scratchVertexFormat = new VertexFormat_default();
162
+ var scratchOptions = {
163
+ positions: void 0,
164
+ minimumHeights: void 0,
165
+ maximumHeights: void 0,
166
+ ellipsoid: scratchEllipsoid,
167
+ vertexFormat: scratchVertexFormat,
168
+ granularity: void 0
169
+ };
170
+ WallGeometry.unpack = function(array, startingIndex, result) {
171
+ if (!defined_default(array)) {
172
+ throw new DeveloperError_default("array is required");
173
+ }
174
+ startingIndex = startingIndex ?? 0;
175
+ let i;
176
+ let length = array[startingIndex++];
177
+ const positions = new Array(length);
178
+ for (i = 0; i < length; ++i, startingIndex += Cartesian3_default.packedLength) {
179
+ positions[i] = Cartesian3_default.unpack(array, startingIndex);
180
+ }
181
+ length = array[startingIndex++];
182
+ let minimumHeights;
183
+ if (length > 0) {
184
+ minimumHeights = new Array(length);
185
+ for (i = 0; i < length; ++i) {
186
+ minimumHeights[i] = array[startingIndex++];
187
+ }
188
+ }
189
+ length = array[startingIndex++];
190
+ let maximumHeights;
191
+ if (length > 0) {
192
+ maximumHeights = new Array(length);
193
+ for (i = 0; i < length; ++i) {
194
+ maximumHeights[i] = array[startingIndex++];
195
+ }
196
+ }
197
+ const ellipsoid = Ellipsoid_default.unpack(array, startingIndex, scratchEllipsoid);
198
+ startingIndex += Ellipsoid_default.packedLength;
199
+ const vertexFormat = VertexFormat_default.unpack(
200
+ array,
201
+ startingIndex,
202
+ scratchVertexFormat
203
+ );
204
+ startingIndex += VertexFormat_default.packedLength;
205
+ const granularity = array[startingIndex];
206
+ if (!defined_default(result)) {
207
+ scratchOptions.positions = positions;
208
+ scratchOptions.minimumHeights = minimumHeights;
209
+ scratchOptions.maximumHeights = maximumHeights;
210
+ scratchOptions.granularity = granularity;
211
+ return new WallGeometry(scratchOptions);
212
+ }
213
+ result._positions = positions;
214
+ result._minimumHeights = minimumHeights;
215
+ result._maximumHeights = maximumHeights;
216
+ result._ellipsoid = Ellipsoid_default.clone(ellipsoid, result._ellipsoid);
217
+ result._vertexFormat = VertexFormat_default.clone(vertexFormat, result._vertexFormat);
218
+ result._granularity = granularity;
219
+ return result;
220
+ };
221
+ WallGeometry.fromConstantHeights = function(options) {
222
+ options = options ?? Frozen_default.EMPTY_OBJECT;
223
+ const positions = options.positions;
224
+ if (!defined_default(positions)) {
225
+ throw new DeveloperError_default("options.positions is required.");
226
+ }
227
+ let minHeights;
228
+ let maxHeights;
229
+ const min = options.minimumHeight;
230
+ const max = options.maximumHeight;
231
+ const doMin = defined_default(min);
232
+ const doMax = defined_default(max);
233
+ if (doMin || doMax) {
234
+ const length = positions.length;
235
+ minHeights = doMin ? new Array(length) : void 0;
236
+ maxHeights = doMax ? new Array(length) : void 0;
237
+ for (let i = 0; i < length; ++i) {
238
+ if (doMin) {
239
+ minHeights[i] = min;
240
+ }
241
+ if (doMax) {
242
+ maxHeights[i] = max;
243
+ }
244
+ }
245
+ }
246
+ const newOptions = {
247
+ positions,
248
+ maximumHeights: maxHeights,
249
+ minimumHeights: minHeights,
250
+ ellipsoid: options.ellipsoid,
251
+ vertexFormat: options.vertexFormat
252
+ };
253
+ return new WallGeometry(newOptions);
254
+ };
255
+ WallGeometry.createGeometry = function(wallGeometry) {
256
+ const wallPositions = wallGeometry._positions;
257
+ const minimumHeights = wallGeometry._minimumHeights;
258
+ const maximumHeights = wallGeometry._maximumHeights;
259
+ const vertexFormat = wallGeometry._vertexFormat;
260
+ const granularity = wallGeometry._granularity;
261
+ const ellipsoid = wallGeometry._ellipsoid;
262
+ const pos = WallGeometryLibrary_default.computePositions(
263
+ ellipsoid,
264
+ wallPositions,
265
+ maximumHeights,
266
+ minimumHeights,
267
+ granularity,
268
+ true
269
+ );
270
+ if (!defined_default(pos)) {
271
+ return;
272
+ }
273
+ const bottomPositions = pos.bottomPositions;
274
+ const topPositions = pos.topPositions;
275
+ const numCorners = pos.numCorners;
276
+ let length = topPositions.length;
277
+ let size = length * 2;
278
+ const positions = vertexFormat.position ? new Float64Array(size) : void 0;
279
+ const normals = vertexFormat.normal ? new Float32Array(size) : void 0;
280
+ const tangents = vertexFormat.tangent ? new Float32Array(size) : void 0;
281
+ const bitangents = vertexFormat.bitangent ? new Float32Array(size) : void 0;
282
+ const textureCoordinates = vertexFormat.st ? new Float32Array(size / 3 * 2) : void 0;
283
+ let positionIndex = 0;
284
+ let normalIndex = 0;
285
+ let bitangentIndex = 0;
286
+ let tangentIndex = 0;
287
+ let stIndex = 0;
288
+ let normal = scratchNormal;
289
+ let tangent = scratchTangent;
290
+ let bitangent = scratchBitangent;
291
+ let recomputeNormal = true;
292
+ length /= 3;
293
+ let i;
294
+ let s = 0;
295
+ const ds = 1 / (length - numCorners - 1);
296
+ for (i = 0; i < length; ++i) {
297
+ const i3 = i * 3;
298
+ const topPosition = Cartesian3_default.fromArray(
299
+ topPositions,
300
+ i3,
301
+ scratchCartesian3Position1
302
+ );
303
+ const bottomPosition = Cartesian3_default.fromArray(
304
+ bottomPositions,
305
+ i3,
306
+ scratchCartesian3Position2
307
+ );
308
+ if (vertexFormat.position) {
309
+ positions[positionIndex++] = bottomPosition.x;
310
+ positions[positionIndex++] = bottomPosition.y;
311
+ positions[positionIndex++] = bottomPosition.z;
312
+ positions[positionIndex++] = topPosition.x;
313
+ positions[positionIndex++] = topPosition.y;
314
+ positions[positionIndex++] = topPosition.z;
315
+ }
316
+ if (vertexFormat.st) {
317
+ textureCoordinates[stIndex++] = s;
318
+ textureCoordinates[stIndex++] = 0;
319
+ textureCoordinates[stIndex++] = s;
320
+ textureCoordinates[stIndex++] = 1;
321
+ }
322
+ if (vertexFormat.normal || vertexFormat.tangent || vertexFormat.bitangent) {
323
+ let nextTop = Cartesian3_default.clone(
324
+ Cartesian3_default.ZERO,
325
+ scratchCartesian3Position5
326
+ );
327
+ const groundPosition = Cartesian3_default.subtract(
328
+ topPosition,
329
+ ellipsoid.geodeticSurfaceNormal(
330
+ topPosition,
331
+ scratchCartesian3Position2
332
+ ),
333
+ scratchCartesian3Position2
334
+ );
335
+ if (i + 1 < length) {
336
+ nextTop = Cartesian3_default.fromArray(
337
+ topPositions,
338
+ i3 + 3,
339
+ scratchCartesian3Position5
340
+ );
341
+ }
342
+ if (recomputeNormal) {
343
+ const scalednextPosition = Cartesian3_default.subtract(
344
+ nextTop,
345
+ topPosition,
346
+ scratchCartesian3Position4
347
+ );
348
+ const scaledGroundPosition = Cartesian3_default.subtract(
349
+ groundPosition,
350
+ topPosition,
351
+ scratchCartesian3Position1
352
+ );
353
+ normal = Cartesian3_default.normalize(
354
+ Cartesian3_default.cross(scaledGroundPosition, scalednextPosition, normal),
355
+ normal
356
+ );
357
+ recomputeNormal = false;
358
+ }
359
+ if (Cartesian3_default.equalsEpsilon(topPosition, nextTop, Math_default.EPSILON10)) {
360
+ recomputeNormal = true;
361
+ } else {
362
+ s += ds;
363
+ if (vertexFormat.tangent) {
364
+ tangent = Cartesian3_default.normalize(
365
+ Cartesian3_default.subtract(nextTop, topPosition, tangent),
366
+ tangent
367
+ );
368
+ }
369
+ if (vertexFormat.bitangent) {
370
+ bitangent = Cartesian3_default.normalize(
371
+ Cartesian3_default.cross(normal, tangent, bitangent),
372
+ bitangent
373
+ );
374
+ }
375
+ }
376
+ if (vertexFormat.normal) {
377
+ normals[normalIndex++] = normal.x;
378
+ normals[normalIndex++] = normal.y;
379
+ normals[normalIndex++] = normal.z;
380
+ normals[normalIndex++] = normal.x;
381
+ normals[normalIndex++] = normal.y;
382
+ normals[normalIndex++] = normal.z;
383
+ }
384
+ if (vertexFormat.tangent) {
385
+ tangents[tangentIndex++] = tangent.x;
386
+ tangents[tangentIndex++] = tangent.y;
387
+ tangents[tangentIndex++] = tangent.z;
388
+ tangents[tangentIndex++] = tangent.x;
389
+ tangents[tangentIndex++] = tangent.y;
390
+ tangents[tangentIndex++] = tangent.z;
391
+ }
392
+ if (vertexFormat.bitangent) {
393
+ bitangents[bitangentIndex++] = bitangent.x;
394
+ bitangents[bitangentIndex++] = bitangent.y;
395
+ bitangents[bitangentIndex++] = bitangent.z;
396
+ bitangents[bitangentIndex++] = bitangent.x;
397
+ bitangents[bitangentIndex++] = bitangent.y;
398
+ bitangents[bitangentIndex++] = bitangent.z;
399
+ }
400
+ }
401
+ }
402
+ const attributes = new GeometryAttributes_default();
403
+ if (vertexFormat.position) {
404
+ attributes.position = new GeometryAttribute_default({
405
+ componentDatatype: ComponentDatatype_default.DOUBLE,
406
+ componentsPerAttribute: 3,
407
+ values: positions
408
+ });
409
+ }
410
+ if (vertexFormat.normal) {
411
+ attributes.normal = new GeometryAttribute_default({
412
+ componentDatatype: ComponentDatatype_default.FLOAT,
413
+ componentsPerAttribute: 3,
414
+ values: normals
415
+ });
416
+ }
417
+ if (vertexFormat.tangent) {
418
+ attributes.tangent = new GeometryAttribute_default({
419
+ componentDatatype: ComponentDatatype_default.FLOAT,
420
+ componentsPerAttribute: 3,
421
+ values: tangents
422
+ });
423
+ }
424
+ if (vertexFormat.bitangent) {
425
+ attributes.bitangent = new GeometryAttribute_default({
426
+ componentDatatype: ComponentDatatype_default.FLOAT,
427
+ componentsPerAttribute: 3,
428
+ values: bitangents
429
+ });
430
+ }
431
+ if (vertexFormat.st) {
432
+ attributes.st = new GeometryAttribute_default({
433
+ componentDatatype: ComponentDatatype_default.FLOAT,
434
+ componentsPerAttribute: 2,
435
+ values: textureCoordinates
436
+ });
437
+ }
438
+ const numVertices = size / 3;
439
+ size -= 6 * (numCorners + 1);
440
+ const indices = IndexDatatype_default.createTypedArray(numVertices, size);
441
+ let edgeIndex = 0;
442
+ for (i = 0; i < numVertices - 2; i += 2) {
443
+ const LL = i;
444
+ const LR = i + 2;
445
+ const pl = Cartesian3_default.fromArray(
446
+ positions,
447
+ LL * 3,
448
+ scratchCartesian3Position1
449
+ );
450
+ const pr = Cartesian3_default.fromArray(
451
+ positions,
452
+ LR * 3,
453
+ scratchCartesian3Position2
454
+ );
455
+ if (Cartesian3_default.equalsEpsilon(pl, pr, Math_default.EPSILON10)) {
456
+ continue;
457
+ }
458
+ const UL = i + 1;
459
+ const UR = i + 3;
460
+ indices[edgeIndex++] = UL;
461
+ indices[edgeIndex++] = LL;
462
+ indices[edgeIndex++] = UR;
463
+ indices[edgeIndex++] = UR;
464
+ indices[edgeIndex++] = LL;
465
+ indices[edgeIndex++] = LR;
466
+ }
467
+ return new Geometry_default({
468
+ attributes,
469
+ indices,
470
+ primitiveType: PrimitiveType_default.TRIANGLES,
471
+ boundingSphere: new BoundingSphere_default.fromVertices(positions)
472
+ });
473
+ };
474
+ var WallGeometry_default = WallGeometry;
475
+
476
+ // packages/engine/Source/Workers/createWallGeometry.js
477
+ function createWallGeometry(wallGeometry, offset) {
478
+ if (defined_default(offset)) {
479
+ wallGeometry = WallGeometry_default.unpack(wallGeometry, offset);
480
+ }
481
+ wallGeometry._ellipsoid = Ellipsoid_default.clone(wallGeometry._ellipsoid);
482
+ return WallGeometry_default.createGeometry(wallGeometry);
483
+ }
484
+ var createWallGeometry_default = createWallGeometry;
485
+ export {
486
+ createWallGeometry_default as default
487
+ };