@rtzh/engine 0.0.2 → 0.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 (113) hide show
  1. package/Source/Scene/GltfLoader.js +2 -2
  2. package/package.json +1 -1
  3. package/Build/ThirdParty/Workers/zip-web-worker.js +0 -640
  4. package/Build/Workers/chunk-245NZYCR.js +0 -124
  5. package/Build/Workers/chunk-25BA4527.js +0 -837
  6. package/Build/Workers/chunk-4HXPSZRC.js +0 -1483
  7. package/Build/Workers/chunk-4Z26IS65.js +0 -3514
  8. package/Build/Workers/chunk-55IROWAX.js +0 -139
  9. package/Build/Workers/chunk-56XTN5NJ.js +0 -1800
  10. package/Build/Workers/chunk-5VZISKJF.js +0 -629
  11. package/Build/Workers/chunk-5WAG5YKS.js +0 -368
  12. package/Build/Workers/chunk-66YGZWBI.js +0 -1317
  13. package/Build/Workers/chunk-6H33B6OL.js +0 -37
  14. package/Build/Workers/chunk-6LZBBEA7.js +0 -439
  15. package/Build/Workers/chunk-6XJO625E.js +0 -497
  16. package/Build/Workers/chunk-75UGCVME.js +0 -102
  17. package/Build/Workers/chunk-7B23DD46.js +0 -1054
  18. package/Build/Workers/chunk-7NCJH26L.js +0 -352
  19. package/Build/Workers/chunk-AIW5F22O.js +0 -352
  20. package/Build/Workers/chunk-AL22JVIA.js +0 -256
  21. package/Build/Workers/chunk-AVSQILVI.js +0 -75
  22. package/Build/Workers/chunk-B2VFNYD7.js +0 -280
  23. package/Build/Workers/chunk-BOV6T7FO.js +0 -44
  24. package/Build/Workers/chunk-DP76S3IQ.js +0 -1067
  25. package/Build/Workers/chunk-EDIUN7V3.js +0 -219
  26. package/Build/Workers/chunk-EKMWNF4U.js +0 -55
  27. package/Build/Workers/chunk-ELXGXAYS.js +0 -682
  28. package/Build/Workers/chunk-FVYRV2T6.js +0 -455
  29. package/Build/Workers/chunk-GDIBU55R.js +0 -778
  30. package/Build/Workers/chunk-HAY6YE7M.js +0 -97
  31. package/Build/Workers/chunk-I76SRIKN.js +0 -138
  32. package/Build/Workers/chunk-IELTSYPZ.js +0 -241
  33. package/Build/Workers/chunk-J4MIJCN5.js +0 -171
  34. package/Build/Workers/chunk-JFO3ELF3.js +0 -642
  35. package/Build/Workers/chunk-K4IMD7KH.js +0 -162
  36. package/Build/Workers/chunk-KFMCOG26.js +0 -692
  37. package/Build/Workers/chunk-KH2OWUUA.js +0 -163
  38. package/Build/Workers/chunk-KQIZ7AFF.js +0 -8366
  39. package/Build/Workers/chunk-KVE5EAPO.js +0 -398
  40. package/Build/Workers/chunk-OAOREOSO.js +0 -940
  41. package/Build/Workers/chunk-OFJRMGNX.js +0 -788
  42. package/Build/Workers/chunk-PLLZB3R4.js +0 -198
  43. package/Build/Workers/chunk-POY6ZE32.js +0 -2058
  44. package/Build/Workers/chunk-PV5B2YNB.js +0 -2719
  45. package/Build/Workers/chunk-Q2DXNFYW.js +0 -414
  46. package/Build/Workers/chunk-QWV2DM66.js +0 -1443
  47. package/Build/Workers/chunk-R73BHGGI.js +0 -305
  48. package/Build/Workers/chunk-S3AE3MZZ.js +0 -511
  49. package/Build/Workers/chunk-SBFTVHRW.js +0 -57
  50. package/Build/Workers/chunk-SOR7PD4V.js +0 -114
  51. package/Build/Workers/chunk-TO7TWUET.js +0 -476
  52. package/Build/Workers/chunk-TSAJNE4K.js +0 -101
  53. package/Build/Workers/chunk-TWF4XRZ6.js +0 -73
  54. package/Build/Workers/chunk-UTWLMOPM.js +0 -387
  55. package/Build/Workers/chunk-UYT2PBMV.js +0 -58
  56. package/Build/Workers/chunk-WAS3IHIQ.js +0 -288
  57. package/Build/Workers/chunk-WO5ZNC7S.js +0 -1045
  58. package/Build/Workers/chunk-X65Y2JSA.js +0 -55
  59. package/Build/Workers/chunk-XOVHLPKW.js +0 -299
  60. package/Build/Workers/chunk-YPGJSFOO.js +0 -1460
  61. package/Build/Workers/combineGeometry.js +0 -66
  62. package/Build/Workers/createBoxGeometry.js +0 -58
  63. package/Build/Workers/createBoxOutlineGeometry.js +0 -231
  64. package/Build/Workers/createCircleGeometry.js +0 -201
  65. package/Build/Workers/createCircleOutlineGeometry.js +0 -147
  66. package/Build/Workers/createCoplanarPolygonGeometry.js +0 -505
  67. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +0 -225
  68. package/Build/Workers/createCorridorGeometry.js +0 -1258
  69. package/Build/Workers/createCorridorOutlineGeometry.js +0 -563
  70. package/Build/Workers/createCylinderGeometry.js +0 -60
  71. package/Build/Workers/createCylinderOutlineGeometry.js +0 -231
  72. package/Build/Workers/createEllipseGeometry.js +0 -72
  73. package/Build/Workers/createEllipseOutlineGeometry.js +0 -65
  74. package/Build/Workers/createEllipsoidGeometry.js +0 -59
  75. package/Build/Workers/createEllipsoidOutlineGeometry.js +0 -61
  76. package/Build/Workers/createFrustumGeometry.js +0 -58
  77. package/Build/Workers/createFrustumOutlineGeometry.js +0 -234
  78. package/Build/Workers/createGeometry.js +0 -173
  79. package/Build/Workers/createGroundPolylineGeometry.js +0 -1602
  80. package/Build/Workers/createPlaneGeometry.js +0 -223
  81. package/Build/Workers/createPlaneOutlineGeometry.js +0 -124
  82. package/Build/Workers/createPolygonGeometry.js +0 -1404
  83. package/Build/Workers/createPolygonOutlineGeometry.js +0 -532
  84. package/Build/Workers/createPolylineGeometry.js +0 -491
  85. package/Build/Workers/createPolylineVolumeGeometry.js +0 -374
  86. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +0 -272
  87. package/Build/Workers/createRectangleGeometry.js +0 -1264
  88. package/Build/Workers/createRectangleOutlineGeometry.js +0 -476
  89. package/Build/Workers/createSimplePolylineGeometry.js +0 -397
  90. package/Build/Workers/createSphereGeometry.js +0 -116
  91. package/Build/Workers/createSphereOutlineGeometry.js +0 -116
  92. package/Build/Workers/createTaskProcessorWorker.js +0 -32
  93. package/Build/Workers/createVectorTileClampedPolylines.js +0 -492
  94. package/Build/Workers/createVectorTileGeometries.js +0 -387
  95. package/Build/Workers/createVectorTilePoints.js +0 -114
  96. package/Build/Workers/createVectorTilePolygons.js +0 -386
  97. package/Build/Workers/createVectorTilePolylines.js +0 -262
  98. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +0 -91
  99. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +0 -565
  100. package/Build/Workers/createVerticesFromHeightmap.js +0 -2254
  101. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +0 -499
  102. package/Build/Workers/createWallGeometry.js +0 -487
  103. package/Build/Workers/createWallOutlineGeometry.js +0 -335
  104. package/Build/Workers/decodeDraco.js +0 -369
  105. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +0 -2680
  106. package/Build/Workers/decodeI3S.js +0 -1339
  107. package/Build/Workers/gaussianSplatSorter.js +0 -62
  108. package/Build/Workers/gaussianSplatTextureGenerator.js +0 -68
  109. package/Build/Workers/incrementallyBuildTerrainPicker.js +0 -121
  110. package/Build/Workers/transcodeKTX2.js +0 -3463
  111. package/Build/Workers/transferTypedArrayTest.js +0 -41
  112. package/Build/Workers/upsampleQuantizedTerrainMesh.js +0 -820
  113. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +0 -95
@@ -1,492 +0,0 @@
1
- /**
2
- * @license
3
- * Cesium - https://github.com/CesiumGS/cesium
4
- * Version 0.0.1
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
- createTaskProcessorWorker_default
28
- } from "./chunk-TSAJNE4K.js";
29
- import {
30
- AttributeCompression_default
31
- } from "./chunk-6LZBBEA7.js";
32
- import {
33
- IndexDatatype_default
34
- } from "./chunk-55IROWAX.js";
35
- import {
36
- Rectangle_default,
37
- combine_default
38
- } from "./chunk-KQIZ7AFF.js";
39
- import "./chunk-POY6ZE32.js";
40
- import "./chunk-AL22JVIA.js";
41
- import "./chunk-5VZISKJF.js";
42
- import "./chunk-UYT2PBMV.js";
43
- import {
44
- Cartographic_default,
45
- Ellipsoid_default
46
- } from "./chunk-YPGJSFOO.js";
47
- import {
48
- Cartesian3_default
49
- } from "./chunk-QWV2DM66.js";
50
- import {
51
- Math_default
52
- } from "./chunk-6XJO625E.js";
53
- import "./chunk-KH2OWUUA.js";
54
- import "./chunk-AVSQILVI.js";
55
-
56
- // packages/engine/Source/Workers/createVectorTileClampedPolylines.js
57
- var MAX_SHORT = 32767;
58
- var MITER_BREAK = Math.cos(Math_default.toRadians(150));
59
- var scratchBVCartographic = new Cartographic_default();
60
- var scratchEncodedPosition = new Cartesian3_default();
61
- function decodePositions(uBuffer, vBuffer, heightBuffer, rectangle, minimumHeight, maximumHeight, ellipsoid) {
62
- const positionsLength = uBuffer.length;
63
- const decodedPositions = new Float64Array(positionsLength * 3);
64
- for (let i = 0; i < positionsLength; ++i) {
65
- const u = uBuffer[i];
66
- const v = vBuffer[i];
67
- const h = heightBuffer[i];
68
- const lon = Math_default.lerp(rectangle.west, rectangle.east, u / MAX_SHORT);
69
- const lat = Math_default.lerp(
70
- rectangle.south,
71
- rectangle.north,
72
- v / MAX_SHORT
73
- );
74
- const alt = Math_default.lerp(minimumHeight, maximumHeight, h / MAX_SHORT);
75
- const cartographic = Cartographic_default.fromRadians(
76
- lon,
77
- lat,
78
- alt,
79
- scratchBVCartographic
80
- );
81
- const decodedPosition = ellipsoid.cartographicToCartesian(
82
- cartographic,
83
- scratchEncodedPosition
84
- );
85
- Cartesian3_default.pack(decodedPosition, decodedPositions, i * 3);
86
- }
87
- return decodedPositions;
88
- }
89
- function getPositionOffsets(counts) {
90
- const countsLength = counts.length;
91
- const positionOffsets = new Uint32Array(countsLength + 1);
92
- let offset = 0;
93
- for (let i = 0; i < countsLength; ++i) {
94
- positionOffsets[i] = offset;
95
- offset += counts[i];
96
- }
97
- positionOffsets[countsLength] = offset;
98
- return positionOffsets;
99
- }
100
- var previousCompressedCartographicScratch = new Cartographic_default();
101
- var currentCompressedCartographicScratch = new Cartographic_default();
102
- function removeDuplicates(uBuffer, vBuffer, heightBuffer, counts) {
103
- const countsLength = counts.length;
104
- const positionsLength = uBuffer.length;
105
- const markRemoval = new Uint8Array(positionsLength);
106
- const previous = previousCompressedCartographicScratch;
107
- const current = currentCompressedCartographicScratch;
108
- let offset = 0;
109
- for (let i = 0; i < countsLength; i++) {
110
- const count = counts[i];
111
- let updatedCount = count;
112
- for (let j = 1; j < count; j++) {
113
- const index = offset + j;
114
- const previousIndex = index - 1;
115
- current.longitude = uBuffer[index];
116
- current.latitude = vBuffer[index];
117
- previous.longitude = uBuffer[previousIndex];
118
- previous.latitude = vBuffer[previousIndex];
119
- if (Cartographic_default.equals(current, previous)) {
120
- updatedCount--;
121
- markRemoval[previousIndex] = 1;
122
- }
123
- }
124
- counts[i] = updatedCount;
125
- offset += count;
126
- }
127
- let nextAvailableIndex = 0;
128
- for (let k = 0; k < positionsLength; k++) {
129
- if (markRemoval[k] !== 1) {
130
- uBuffer[nextAvailableIndex] = uBuffer[k];
131
- vBuffer[nextAvailableIndex] = vBuffer[k];
132
- heightBuffer[nextAvailableIndex] = heightBuffer[k];
133
- nextAvailableIndex++;
134
- }
135
- }
136
- }
137
- function VertexAttributesAndIndices(volumesCount) {
138
- const vertexCount = volumesCount * 8;
139
- const vec3Floats = vertexCount * 3;
140
- const vec4Floats = vertexCount * 4;
141
- this.startEllipsoidNormals = new Float32Array(vec3Floats);
142
- this.endEllipsoidNormals = new Float32Array(vec3Floats);
143
- this.startPositionAndHeights = new Float32Array(vec4Floats);
144
- this.startFaceNormalAndVertexCornerIds = new Float32Array(vec4Floats);
145
- this.endPositionAndHeights = new Float32Array(vec4Floats);
146
- this.endFaceNormalAndHalfWidths = new Float32Array(vec4Floats);
147
- this.vertexBatchIds = new Uint16Array(vertexCount);
148
- this.indices = IndexDatatype_default.createTypedArray(vertexCount, 36 * volumesCount);
149
- this.vec3Offset = 0;
150
- this.vec4Offset = 0;
151
- this.batchIdOffset = 0;
152
- this.indexOffset = 0;
153
- this.volumeStartIndex = 0;
154
- }
155
- var towardCurrScratch = new Cartesian3_default();
156
- var towardNextScratch = new Cartesian3_default();
157
- function computeMiteredNormal(previousPosition, position, nextPosition, ellipsoidSurfaceNormal, result) {
158
- const towardNext = Cartesian3_default.subtract(
159
- nextPosition,
160
- position,
161
- towardNextScratch
162
- );
163
- let towardCurr = Cartesian3_default.subtract(
164
- position,
165
- previousPosition,
166
- towardCurrScratch
167
- );
168
- Cartesian3_default.normalize(towardNext, towardNext);
169
- Cartesian3_default.normalize(towardCurr, towardCurr);
170
- if (Cartesian3_default.dot(towardNext, towardCurr) < MITER_BREAK) {
171
- towardCurr = Cartesian3_default.multiplyByScalar(
172
- towardCurr,
173
- -1,
174
- towardCurrScratch
175
- );
176
- }
177
- Cartesian3_default.add(towardNext, towardCurr, result);
178
- if (Cartesian3_default.equals(result, Cartesian3_default.ZERO)) {
179
- result = Cartesian3_default.subtract(previousPosition, position);
180
- }
181
- Cartesian3_default.cross(result, ellipsoidSurfaceNormal, result);
182
- Cartesian3_default.cross(ellipsoidSurfaceNormal, result, result);
183
- Cartesian3_default.normalize(result, result);
184
- return result;
185
- }
186
- var REFERENCE_INDICES = [
187
- 0,
188
- 2,
189
- 6,
190
- 0,
191
- 6,
192
- 4,
193
- // right
194
- 0,
195
- 1,
196
- 3,
197
- 0,
198
- 3,
199
- 2,
200
- // start face
201
- 0,
202
- 4,
203
- 5,
204
- 0,
205
- 5,
206
- 1,
207
- // bottom
208
- 5,
209
- 3,
210
- 1,
211
- 5,
212
- 7,
213
- 3,
214
- // left
215
- 7,
216
- 5,
217
- 4,
218
- 7,
219
- 4,
220
- 6,
221
- // end face
222
- 7,
223
- 6,
224
- 2,
225
- 7,
226
- 2,
227
- 3
228
- // top
229
- ];
230
- var REFERENCE_INDICES_LENGTH = REFERENCE_INDICES.length;
231
- var positionScratch = new Cartesian3_default();
232
- var scratchStartEllipsoidNormal = new Cartesian3_default();
233
- var scratchStartFaceNormal = new Cartesian3_default();
234
- var scratchEndEllipsoidNormal = new Cartesian3_default();
235
- var scratchEndFaceNormal = new Cartesian3_default();
236
- VertexAttributesAndIndices.prototype.addVolume = function(preStartRTC, startRTC, endRTC, postEndRTC, startHeight, endHeight, halfWidth, batchId, center, ellipsoid) {
237
- let position = Cartesian3_default.add(startRTC, center, positionScratch);
238
- const startEllipsoidNormal = ellipsoid.geodeticSurfaceNormal(
239
- position,
240
- scratchStartEllipsoidNormal
241
- );
242
- position = Cartesian3_default.add(endRTC, center, positionScratch);
243
- const endEllipsoidNormal = ellipsoid.geodeticSurfaceNormal(
244
- position,
245
- scratchEndEllipsoidNormal
246
- );
247
- const startFaceNormal = computeMiteredNormal(
248
- preStartRTC,
249
- startRTC,
250
- endRTC,
251
- startEllipsoidNormal,
252
- scratchStartFaceNormal
253
- );
254
- const endFaceNormal = computeMiteredNormal(
255
- postEndRTC,
256
- endRTC,
257
- startRTC,
258
- endEllipsoidNormal,
259
- scratchEndFaceNormal
260
- );
261
- const startEllipsoidNormals = this.startEllipsoidNormals;
262
- const endEllipsoidNormals = this.endEllipsoidNormals;
263
- const startPositionAndHeights = this.startPositionAndHeights;
264
- const startFaceNormalAndVertexCornerIds = this.startFaceNormalAndVertexCornerIds;
265
- const endPositionAndHeights = this.endPositionAndHeights;
266
- const endFaceNormalAndHalfWidths = this.endFaceNormalAndHalfWidths;
267
- const vertexBatchIds = this.vertexBatchIds;
268
- let batchIdOffset = this.batchIdOffset;
269
- let vec3Offset = this.vec3Offset;
270
- let vec4Offset = this.vec4Offset;
271
- let i;
272
- for (i = 0; i < 8; i++) {
273
- Cartesian3_default.pack(startEllipsoidNormal, startEllipsoidNormals, vec3Offset);
274
- Cartesian3_default.pack(endEllipsoidNormal, endEllipsoidNormals, vec3Offset);
275
- Cartesian3_default.pack(startRTC, startPositionAndHeights, vec4Offset);
276
- startPositionAndHeights[vec4Offset + 3] = startHeight;
277
- Cartesian3_default.pack(endRTC, endPositionAndHeights, vec4Offset);
278
- endPositionAndHeights[vec4Offset + 3] = endHeight;
279
- Cartesian3_default.pack(
280
- startFaceNormal,
281
- startFaceNormalAndVertexCornerIds,
282
- vec4Offset
283
- );
284
- startFaceNormalAndVertexCornerIds[vec4Offset + 3] = i;
285
- Cartesian3_default.pack(endFaceNormal, endFaceNormalAndHalfWidths, vec4Offset);
286
- endFaceNormalAndHalfWidths[vec4Offset + 3] = halfWidth;
287
- vertexBatchIds[batchIdOffset++] = batchId;
288
- vec3Offset += 3;
289
- vec4Offset += 4;
290
- }
291
- this.batchIdOffset = batchIdOffset;
292
- this.vec3Offset = vec3Offset;
293
- this.vec4Offset = vec4Offset;
294
- const indices = this.indices;
295
- const volumeStartIndex = this.volumeStartIndex;
296
- const indexOffset = this.indexOffset;
297
- for (i = 0; i < REFERENCE_INDICES_LENGTH; i++) {
298
- indices[indexOffset + i] = REFERENCE_INDICES[i] + volumeStartIndex;
299
- }
300
- this.volumeStartIndex += 8;
301
- this.indexOffset += REFERENCE_INDICES_LENGTH;
302
- };
303
- var scratchRectangle = new Rectangle_default();
304
- var scratchEllipsoid = new Ellipsoid_default();
305
- var scratchCenter = new Cartesian3_default();
306
- var scratchPrev = new Cartesian3_default();
307
- var scratchP0 = new Cartesian3_default();
308
- var scratchP1 = new Cartesian3_default();
309
- var scratchNext = new Cartesian3_default();
310
- function createVectorTileClampedPolylines(parameters, transferableObjects) {
311
- const encodedPositions = new Uint16Array(parameters.positions);
312
- const widths = new Uint16Array(parameters.widths);
313
- const counts = new Uint32Array(parameters.counts);
314
- const batchIds = new Uint16Array(parameters.batchIds);
315
- const rectangle = scratchRectangle;
316
- const ellipsoid = scratchEllipsoid;
317
- const center = scratchCenter;
318
- const packedBuffer = new Float64Array(parameters.packedBuffer);
319
- let offset = 0;
320
- const minimumHeight = packedBuffer[offset++];
321
- const maximumHeight = packedBuffer[offset++];
322
- Rectangle_default.unpack(packedBuffer, offset, rectangle);
323
- offset += Rectangle_default.packedLength;
324
- Ellipsoid_default.unpack(packedBuffer, offset, ellipsoid);
325
- offset += Ellipsoid_default.packedLength;
326
- Cartesian3_default.unpack(packedBuffer, offset, center);
327
- let i;
328
- let positionsLength = encodedPositions.length / 3;
329
- const uBuffer = encodedPositions.subarray(0, positionsLength);
330
- const vBuffer = encodedPositions.subarray(
331
- positionsLength,
332
- 2 * positionsLength
333
- );
334
- const heightBuffer = encodedPositions.subarray(
335
- 2 * positionsLength,
336
- 3 * positionsLength
337
- );
338
- AttributeCompression_default.zigZagDeltaDecode(uBuffer, vBuffer, heightBuffer);
339
- removeDuplicates(uBuffer, vBuffer, heightBuffer, counts);
340
- const countsLength = counts.length;
341
- let volumesCount = 0;
342
- for (i = 0; i < countsLength; i++) {
343
- const polylinePositionCount = counts[i];
344
- volumesCount += polylinePositionCount - 1;
345
- }
346
- const attribsAndIndices = new VertexAttributesAndIndices(volumesCount);
347
- const positions = decodePositions(
348
- uBuffer,
349
- vBuffer,
350
- heightBuffer,
351
- rectangle,
352
- minimumHeight,
353
- maximumHeight,
354
- ellipsoid,
355
- center
356
- );
357
- positionsLength = uBuffer.length;
358
- const positionsRTC = new Float32Array(positionsLength * 3);
359
- for (i = 0; i < positionsLength; ++i) {
360
- positionsRTC[i * 3] = positions[i * 3] - center.x;
361
- positionsRTC[i * 3 + 1] = positions[i * 3 + 1] - center.y;
362
- positionsRTC[i * 3 + 2] = positions[i * 3 + 2] - center.z;
363
- }
364
- let currentPositionIndex = 0;
365
- let currentHeightIndex = 0;
366
- for (i = 0; i < countsLength; i++) {
367
- const polylineVolumeCount = counts[i] - 1;
368
- const halfWidth = widths[i] * 0.5;
369
- const batchId = batchIds[i];
370
- const volumeFirstPositionIndex = currentPositionIndex;
371
- for (let j = 0; j < polylineVolumeCount; j++) {
372
- const volumeStart = Cartesian3_default.unpack(
373
- positionsRTC,
374
- currentPositionIndex,
375
- scratchP0
376
- );
377
- const volumeEnd = Cartesian3_default.unpack(
378
- positionsRTC,
379
- currentPositionIndex + 3,
380
- scratchP1
381
- );
382
- let startHeight = heightBuffer[currentHeightIndex];
383
- let endHeight = heightBuffer[currentHeightIndex + 1];
384
- startHeight = Math_default.lerp(
385
- minimumHeight,
386
- maximumHeight,
387
- startHeight / MAX_SHORT
388
- );
389
- endHeight = Math_default.lerp(
390
- minimumHeight,
391
- maximumHeight,
392
- endHeight / MAX_SHORT
393
- );
394
- currentHeightIndex++;
395
- let preStart = scratchPrev;
396
- let postEnd = scratchNext;
397
- if (j === 0) {
398
- const finalPositionIndex = volumeFirstPositionIndex + polylineVolumeCount * 3;
399
- const finalPosition = Cartesian3_default.unpack(
400
- positionsRTC,
401
- finalPositionIndex,
402
- scratchPrev
403
- );
404
- if (Cartesian3_default.equals(finalPosition, volumeStart)) {
405
- Cartesian3_default.unpack(positionsRTC, finalPositionIndex - 3, preStart);
406
- } else {
407
- const offsetPastStart = Cartesian3_default.subtract(
408
- volumeStart,
409
- volumeEnd,
410
- scratchPrev
411
- );
412
- preStart = Cartesian3_default.add(offsetPastStart, volumeStart, scratchPrev);
413
- }
414
- } else {
415
- Cartesian3_default.unpack(positionsRTC, currentPositionIndex - 3, preStart);
416
- }
417
- if (j === polylineVolumeCount - 1) {
418
- const firstPosition = Cartesian3_default.unpack(
419
- positionsRTC,
420
- volumeFirstPositionIndex,
421
- scratchNext
422
- );
423
- if (Cartesian3_default.equals(firstPosition, volumeEnd)) {
424
- Cartesian3_default.unpack(
425
- positionsRTC,
426
- volumeFirstPositionIndex + 3,
427
- postEnd
428
- );
429
- } else {
430
- const offsetPastEnd = Cartesian3_default.subtract(
431
- volumeEnd,
432
- volumeStart,
433
- scratchNext
434
- );
435
- postEnd = Cartesian3_default.add(offsetPastEnd, volumeEnd, scratchNext);
436
- }
437
- } else {
438
- Cartesian3_default.unpack(positionsRTC, currentPositionIndex + 6, postEnd);
439
- }
440
- attribsAndIndices.addVolume(
441
- preStart,
442
- volumeStart,
443
- volumeEnd,
444
- postEnd,
445
- startHeight,
446
- endHeight,
447
- halfWidth,
448
- batchId,
449
- center,
450
- ellipsoid
451
- );
452
- currentPositionIndex += 3;
453
- }
454
- currentPositionIndex += 3;
455
- currentHeightIndex++;
456
- }
457
- const indices = attribsAndIndices.indices;
458
- transferableObjects.push(attribsAndIndices.startEllipsoidNormals.buffer);
459
- transferableObjects.push(attribsAndIndices.endEllipsoidNormals.buffer);
460
- transferableObjects.push(attribsAndIndices.startPositionAndHeights.buffer);
461
- transferableObjects.push(
462
- attribsAndIndices.startFaceNormalAndVertexCornerIds.buffer
463
- );
464
- transferableObjects.push(attribsAndIndices.endPositionAndHeights.buffer);
465
- transferableObjects.push(attribsAndIndices.endFaceNormalAndHalfWidths.buffer);
466
- transferableObjects.push(attribsAndIndices.vertexBatchIds.buffer);
467
- transferableObjects.push(indices.buffer);
468
- let results = {
469
- indexDatatype: indices.BYTES_PER_ELEMENT === 2 ? IndexDatatype_default.UNSIGNED_SHORT : IndexDatatype_default.UNSIGNED_INT,
470
- startEllipsoidNormals: attribsAndIndices.startEllipsoidNormals.buffer,
471
- endEllipsoidNormals: attribsAndIndices.endEllipsoidNormals.buffer,
472
- startPositionAndHeights: attribsAndIndices.startPositionAndHeights.buffer,
473
- startFaceNormalAndVertexCornerIds: attribsAndIndices.startFaceNormalAndVertexCornerIds.buffer,
474
- endPositionAndHeights: attribsAndIndices.endPositionAndHeights.buffer,
475
- endFaceNormalAndHalfWidths: attribsAndIndices.endFaceNormalAndHalfWidths.buffer,
476
- vertexBatchIds: attribsAndIndices.vertexBatchIds.buffer,
477
- indices: indices.buffer
478
- };
479
- if (parameters.keepDecodedPositions) {
480
- const positionOffsets = getPositionOffsets(counts);
481
- transferableObjects.push(positions.buffer, positionOffsets.buffer);
482
- results = combine_default(results, {
483
- decodedPositions: positions.buffer,
484
- decodedPositionOffsets: positionOffsets.buffer
485
- });
486
- }
487
- return results;
488
- }
489
- var createVectorTileClampedPolylines_default = createTaskProcessorWorker_default(createVectorTileClampedPolylines);
490
- export {
491
- createVectorTileClampedPolylines_default as default
492
- };