@rtzh/engine 0.0.1 → 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 (115) hide show
  1. package/Source/Scene/GltfLoader.js +2 -2
  2. package/Source/Scene/Model/CustomShader.js +2 -2
  3. package/index.js +504 -504
  4. package/package.json +1 -1
  5. package/Build/ThirdParty/Workers/zip-web-worker.js +0 -640
  6. package/Build/Workers/chunk-245NZYCR.js +0 -124
  7. package/Build/Workers/chunk-25BA4527.js +0 -837
  8. package/Build/Workers/chunk-4HXPSZRC.js +0 -1483
  9. package/Build/Workers/chunk-4Z26IS65.js +0 -3514
  10. package/Build/Workers/chunk-55IROWAX.js +0 -139
  11. package/Build/Workers/chunk-56XTN5NJ.js +0 -1800
  12. package/Build/Workers/chunk-5VZISKJF.js +0 -629
  13. package/Build/Workers/chunk-5WAG5YKS.js +0 -368
  14. package/Build/Workers/chunk-66YGZWBI.js +0 -1317
  15. package/Build/Workers/chunk-6H33B6OL.js +0 -37
  16. package/Build/Workers/chunk-6LZBBEA7.js +0 -439
  17. package/Build/Workers/chunk-6XJO625E.js +0 -497
  18. package/Build/Workers/chunk-75UGCVME.js +0 -102
  19. package/Build/Workers/chunk-7B23DD46.js +0 -1054
  20. package/Build/Workers/chunk-7NCJH26L.js +0 -352
  21. package/Build/Workers/chunk-AIW5F22O.js +0 -352
  22. package/Build/Workers/chunk-AL22JVIA.js +0 -256
  23. package/Build/Workers/chunk-AVSQILVI.js +0 -75
  24. package/Build/Workers/chunk-B2VFNYD7.js +0 -280
  25. package/Build/Workers/chunk-BOV6T7FO.js +0 -44
  26. package/Build/Workers/chunk-DP76S3IQ.js +0 -1067
  27. package/Build/Workers/chunk-EDIUN7V3.js +0 -219
  28. package/Build/Workers/chunk-EKMWNF4U.js +0 -55
  29. package/Build/Workers/chunk-ELXGXAYS.js +0 -682
  30. package/Build/Workers/chunk-FVYRV2T6.js +0 -455
  31. package/Build/Workers/chunk-GDIBU55R.js +0 -778
  32. package/Build/Workers/chunk-HAY6YE7M.js +0 -97
  33. package/Build/Workers/chunk-I76SRIKN.js +0 -138
  34. package/Build/Workers/chunk-IELTSYPZ.js +0 -241
  35. package/Build/Workers/chunk-J4MIJCN5.js +0 -171
  36. package/Build/Workers/chunk-JFO3ELF3.js +0 -642
  37. package/Build/Workers/chunk-K4IMD7KH.js +0 -162
  38. package/Build/Workers/chunk-KFMCOG26.js +0 -692
  39. package/Build/Workers/chunk-KH2OWUUA.js +0 -163
  40. package/Build/Workers/chunk-KQIZ7AFF.js +0 -8366
  41. package/Build/Workers/chunk-KVE5EAPO.js +0 -398
  42. package/Build/Workers/chunk-OAOREOSO.js +0 -940
  43. package/Build/Workers/chunk-OFJRMGNX.js +0 -788
  44. package/Build/Workers/chunk-PLLZB3R4.js +0 -198
  45. package/Build/Workers/chunk-POY6ZE32.js +0 -2058
  46. package/Build/Workers/chunk-PV5B2YNB.js +0 -2719
  47. package/Build/Workers/chunk-Q2DXNFYW.js +0 -414
  48. package/Build/Workers/chunk-QWV2DM66.js +0 -1443
  49. package/Build/Workers/chunk-R73BHGGI.js +0 -305
  50. package/Build/Workers/chunk-S3AE3MZZ.js +0 -511
  51. package/Build/Workers/chunk-SBFTVHRW.js +0 -57
  52. package/Build/Workers/chunk-SOR7PD4V.js +0 -114
  53. package/Build/Workers/chunk-TO7TWUET.js +0 -476
  54. package/Build/Workers/chunk-TSAJNE4K.js +0 -101
  55. package/Build/Workers/chunk-TWF4XRZ6.js +0 -73
  56. package/Build/Workers/chunk-UTWLMOPM.js +0 -387
  57. package/Build/Workers/chunk-UYT2PBMV.js +0 -58
  58. package/Build/Workers/chunk-WAS3IHIQ.js +0 -288
  59. package/Build/Workers/chunk-WO5ZNC7S.js +0 -1045
  60. package/Build/Workers/chunk-X65Y2JSA.js +0 -55
  61. package/Build/Workers/chunk-XOVHLPKW.js +0 -299
  62. package/Build/Workers/chunk-YPGJSFOO.js +0 -1460
  63. package/Build/Workers/combineGeometry.js +0 -66
  64. package/Build/Workers/createBoxGeometry.js +0 -58
  65. package/Build/Workers/createBoxOutlineGeometry.js +0 -231
  66. package/Build/Workers/createCircleGeometry.js +0 -201
  67. package/Build/Workers/createCircleOutlineGeometry.js +0 -147
  68. package/Build/Workers/createCoplanarPolygonGeometry.js +0 -505
  69. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +0 -225
  70. package/Build/Workers/createCorridorGeometry.js +0 -1258
  71. package/Build/Workers/createCorridorOutlineGeometry.js +0 -563
  72. package/Build/Workers/createCylinderGeometry.js +0 -60
  73. package/Build/Workers/createCylinderOutlineGeometry.js +0 -231
  74. package/Build/Workers/createEllipseGeometry.js +0 -72
  75. package/Build/Workers/createEllipseOutlineGeometry.js +0 -65
  76. package/Build/Workers/createEllipsoidGeometry.js +0 -59
  77. package/Build/Workers/createEllipsoidOutlineGeometry.js +0 -61
  78. package/Build/Workers/createFrustumGeometry.js +0 -58
  79. package/Build/Workers/createFrustumOutlineGeometry.js +0 -234
  80. package/Build/Workers/createGeometry.js +0 -173
  81. package/Build/Workers/createGroundPolylineGeometry.js +0 -1602
  82. package/Build/Workers/createPlaneGeometry.js +0 -223
  83. package/Build/Workers/createPlaneOutlineGeometry.js +0 -124
  84. package/Build/Workers/createPolygonGeometry.js +0 -1404
  85. package/Build/Workers/createPolygonOutlineGeometry.js +0 -532
  86. package/Build/Workers/createPolylineGeometry.js +0 -491
  87. package/Build/Workers/createPolylineVolumeGeometry.js +0 -374
  88. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +0 -272
  89. package/Build/Workers/createRectangleGeometry.js +0 -1264
  90. package/Build/Workers/createRectangleOutlineGeometry.js +0 -476
  91. package/Build/Workers/createSimplePolylineGeometry.js +0 -397
  92. package/Build/Workers/createSphereGeometry.js +0 -116
  93. package/Build/Workers/createSphereOutlineGeometry.js +0 -116
  94. package/Build/Workers/createTaskProcessorWorker.js +0 -32
  95. package/Build/Workers/createVectorTileClampedPolylines.js +0 -492
  96. package/Build/Workers/createVectorTileGeometries.js +0 -387
  97. package/Build/Workers/createVectorTilePoints.js +0 -114
  98. package/Build/Workers/createVectorTilePolygons.js +0 -386
  99. package/Build/Workers/createVectorTilePolylines.js +0 -262
  100. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +0 -91
  101. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +0 -565
  102. package/Build/Workers/createVerticesFromHeightmap.js +0 -2254
  103. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +0 -499
  104. package/Build/Workers/createWallGeometry.js +0 -487
  105. package/Build/Workers/createWallOutlineGeometry.js +0 -335
  106. package/Build/Workers/decodeDraco.js +0 -369
  107. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +0 -2680
  108. package/Build/Workers/decodeI3S.js +0 -1339
  109. package/Build/Workers/gaussianSplatSorter.js +0 -62
  110. package/Build/Workers/gaussianSplatTextureGenerator.js +0 -68
  111. package/Build/Workers/incrementallyBuildTerrainPicker.js +0 -121
  112. package/Build/Workers/transcodeKTX2.js +0 -3463
  113. package/Build/Workers/transferTypedArrayTest.js +0 -41
  114. package/Build/Workers/upsampleQuantizedTerrainMesh.js +0 -820
  115. 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
- };