@cesium/engine 3.0.2 → 5.0.0
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.
- package/Build/ThirdParty/Workers/pako_deflate.min.js +605 -0
- package/Build/ThirdParty/Workers/pako_inflate.min.js +800 -0
- package/Build/ThirdParty/Workers/z-worker-pako.js +502 -0
- package/Build/Workers/chunk-2U6EBIRX.js +757 -0
- package/Build/Workers/chunk-2ZI7FZ3Q.js +58 -0
- package/Build/Workers/chunk-3TSHZWOZ.js +1860 -0
- package/Build/Workers/chunk-44B6FQSJ.js +684 -0
- package/Build/Workers/chunk-4AJR66C5.js +368 -0
- package/Build/Workers/chunk-4HN3N5SE.js +501 -0
- package/Build/Workers/chunk-4QGPYV3W.js +102 -0
- package/Build/Workers/chunk-4RKE4B3G.js +476 -0
- package/Build/Workers/chunk-5E3V7Y4R.js +196 -0
- package/Build/Workers/chunk-6EHT6GS3.js +163 -0
- package/Build/Workers/chunk-6I22NWKQ.js +171 -0
- package/Build/Workers/chunk-7N67FBLW.js +1054 -0
- package/Build/Workers/chunk-AQQGAFKX.js +124 -0
- package/Build/Workers/chunk-CROU4RHL.js +138 -0
- package/Build/Workers/chunk-CTJCECTX.js +258 -0
- package/Build/Workers/chunk-DWJZFZ67.js +781 -0
- package/Build/Workers/chunk-EHJQEARC.js +59 -0
- package/Build/Workers/chunk-EVLKHUAE.js +1477 -0
- package/Build/Workers/chunk-FOOYJER7.js +834 -0
- package/Build/Workers/chunk-GLCRFDOB.js +73 -0
- package/Build/Workers/chunk-GPO47TW4.js +39 -0
- package/Build/Workers/chunk-H5Q2JKIA.js +1075 -0
- package/Build/Workers/chunk-HIDSEUWS.js +2041 -0
- package/Build/Workers/chunk-HV67ARO7.js +302 -0
- package/Build/Workers/chunk-IC7G4BX2.js +421 -0
- package/Build/Workers/chunk-IQN2LMGD.js +55 -0
- package/Build/Workers/chunk-J2FHYK2Z.js +55 -0
- package/Build/Workers/chunk-K3VEWONC.js +289 -0
- package/Build/Workers/chunk-KZFXE35V.js +117 -0
- package/Build/Workers/chunk-MG2TXIO5.js +400 -0
- package/Build/Workers/chunk-MRCFDEKH.js +138 -0
- package/Build/Workers/chunk-MYDS6HBL.js +3273 -0
- package/Build/Workers/chunk-OCIX2CQ7.js +305 -0
- package/Build/Workers/chunk-P32XMW4I.js +2716 -0
- package/Build/Workers/chunk-PEVZYZBQ.js +157 -0
- package/Build/Workers/chunk-PMDLIBEQ.js +218 -0
- package/Build/Workers/chunk-QDUOGCCO.js +1009 -0
- package/Build/Workers/chunk-QUCJGBCK.js +430 -0
- package/Build/Workers/chunk-RCI7BSOM.js +452 -0
- package/Build/Workers/chunk-SVTSC7FX.js +390 -0
- package/Build/Workers/chunk-TXOGSFHZ.js +77 -0
- package/Build/Workers/chunk-TXYJOVQK.js +629 -0
- package/Build/Workers/chunk-UFIT5XDI.js +1258 -0
- package/Build/Workers/chunk-ULLMQNFQ.js +73 -0
- package/Build/Workers/chunk-UM7FIUQW.js +101 -0
- package/Build/Workers/{package.js → chunk-UMLTOPAE.js} +13 -2
- package/Build/Workers/chunk-V5S5N2IS.js +8644 -0
- package/Build/Workers/chunk-VN2IHJKM.js +513 -0
- package/Build/Workers/chunk-VWSD2XV5.js +669 -0
- package/Build/Workers/chunk-X2KIWBTW.js +100 -0
- package/Build/Workers/chunk-Y24CDOJC.js +353 -0
- package/Build/Workers/chunk-YLMDWSXO.js +44 -0
- package/Build/Workers/chunk-YNZ4DMR7.js +634 -0
- package/Build/Workers/chunk-Z2MP3UBE.js +236 -0
- package/Build/Workers/combineGeometry.js +65 -15
- package/Build/Workers/createBoxGeometry.js +55 -10
- package/Build/Workers/createBoxOutlineGeometry.js +231 -310
- package/Build/Workers/createCircleGeometry.js +185 -202
- package/Build/Workers/createCircleOutlineGeometry.js +141 -155
- package/Build/Workers/createCoplanarPolygonGeometry.js +477 -557
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +218 -230
- package/Build/Workers/createCorridorGeometry.js +1163 -1307
- package/Build/Workers/createCorridorOutlineGeometry.js +534 -569
- package/Build/Workers/createCylinderGeometry.js +57 -10
- package/Build/Workers/createCylinderOutlineGeometry.js +224 -258
- package/Build/Workers/createEllipseGeometry.js +68 -12
- package/Build/Workers/createEllipseOutlineGeometry.js +61 -12
- package/Build/Workers/createEllipsoidGeometry.js +56 -10
- package/Build/Workers/createEllipsoidOutlineGeometry.js +58 -13
- package/Build/Workers/createFrustumGeometry.js +55 -10
- package/Build/Workers/createFrustumOutlineGeometry.js +226 -243
- package/Build/Workers/createGeometry.js +143 -48
- package/Build/Workers/createGroundPolylineGeometry.js +1484 -2012
- package/Build/Workers/createPlaneGeometry.js +216 -243
- package/Build/Workers/createPlaneOutlineGeometry.js +121 -113
- package/Build/Workers/createPolygonGeometry.js +1437 -1314
- package/Build/Workers/createPolygonOutlineGeometry.js +516 -657
- package/Build/Workers/createPolylineGeometry.js +471 -547
- package/Build/Workers/createPolylineVolumeGeometry.js +354 -384
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +272 -295
- package/Build/Workers/createRectangleGeometry.js +1128 -1331
- package/Build/Workers/createRectangleOutlineGeometry.js +445 -500
- package/Build/Workers/createSimplePolylineGeometry.js +381 -440
- package/Build/Workers/createSphereGeometry.js +112 -118
- package/Build/Workers/createSphereOutlineGeometry.js +112 -121
- package/Build/Workers/createTaskProcessorWorker.js +32 -127
- package/Build/Workers/createVectorTileClampedPolylines.js +462 -505
- package/Build/Workers/createVectorTileGeometries.js +377 -436
- package/Build/Workers/createVectorTilePoints.js +110 -77
- package/Build/Workers/createVectorTilePolygons.js +369 -391
- package/Build/Workers/createVectorTilePolylines.js +252 -244
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +543 -615
- package/Build/Workers/createVerticesFromHeightmap.js +2244 -2677
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +682 -904
- package/Build/Workers/createWallGeometry.js +459 -593
- package/Build/Workers/createWallOutlineGeometry.js +324 -419
- package/Build/Workers/decodeDraco.js +327 -347
- package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +2530 -3567
- package/Build/Workers/decodeI3S.js +765 -970
- package/Build/Workers/transcodeKTX2.js +3351 -1473
- package/Build/Workers/transferTypedArrayTest.js +3 -4
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +748 -953
- package/LICENSE.md +0 -12
- package/Source/Core/CesiumTerrainProvider.js +1 -2
- package/Source/Core/Credit.js +7 -1
- package/Source/Core/FeatureDetection.js +9 -0
- package/Source/Core/GoogleMaps.js +1 -2
- package/Source/Core/Ion.js +1 -2
- package/Source/Core/KTX2Transcoder.js +7 -3
- package/Source/Core/PolygonGeometry.js +340 -27
- package/Source/Core/PolygonGeometryLibrary.js +302 -1
- package/Source/Core/Stereographic.js +247 -0
- package/Source/Core/TaskProcessor.js +185 -168
- package/Source/Core/Transforms.js +2 -2
- package/Source/Core/buildModuleUrl.js +6 -5
- package/Source/Core/sampleTerrain.js +43 -10
- package/Source/Core/sampleTerrainMostDetailed.js +27 -3
- package/Source/Scene/ArcGisMapService.js +1 -2
- package/Source/Scene/Billboard.js +7 -0
- package/Source/Scene/Cesium3DTilePass.js +1 -1
- package/Source/Scene/Cesium3DTileset.js +38 -81
- package/Source/Scene/CreditDisplay.js +2 -2
- package/Source/Scene/DracoLoader.js +26 -3
- package/Source/Scene/I3SDataProvider.js +0 -27
- package/Source/Scene/I3SDecoder.js +127 -0
- package/Source/Scene/I3SNode.js +32 -110
- package/Source/Scene/Implicit3DTileContent.js +13 -0
- package/Source/Scene/ImplicitTileset.js +5 -0
- package/Source/Scene/LabelCollection.js +3 -1
- package/Source/Scene/Model/I3dmLoader.js +5 -1
- package/Source/Scene/Model/Model.js +20 -23
- package/Source/Scene/OpenStreetMapImageryProvider.js +4 -1
- package/Source/Scene/PostProcessStageLibrary.js +3 -3
- package/Source/Scene/PrimitiveCollection.js +39 -0
- package/Source/Scene/Scene.js +3 -0
- package/Source/Scene/SingleTileImageryProvider.js +4 -2
- package/Source/ThirdParty/Workers/basis_transcoder.js +1 -1
- package/Source/Widget/CesiumWidget.js +2 -1
- package/Source/{WorkersES6 → Workers}/createGeometry.js +11 -12
- package/Source/{WorkersES6 → Workers}/createTaskProcessorWorker.js +43 -59
- package/Source/{WorkersES6 → Workers}/decodeDraco.js +19 -25
- package/Source/{WorkersES6 → Workers}/decodeI3S.js +18 -32
- package/Source/{WorkersES6 → Workers}/transcodeKTX2.js +19 -26
- package/Source/Workers/transferTypedArrayTest.js +0 -6
- package/index.d.ts +69 -35
- package/index.js +189 -187
- package/package.json +2 -1
- package/Build/Workers/ArcType-2d9abbbc.js +0 -37
- package/Build/Workers/AttributeCompression-f9f6c717.js +0 -716
- package/Build/Workers/AxisAlignedBoundingBox-a03420b1.js +0 -258
- package/Build/Workers/BoundingRectangle-32fa8a4a.js +0 -369
- package/Build/Workers/BoxGeometry-cd550612.js +0 -884
- package/Build/Workers/Check-6ede7e26.js +0 -290
- package/Build/Workers/Color-571a6085.js +0 -2262
- package/Build/Workers/ComponentDatatype-cf1fa08e.js +0 -341
- package/Build/Workers/CoplanarPolygonGeometryLibrary-488b1a9f.js +0 -132
- package/Build/Workers/CorridorGeometryLibrary-fc4ff147.js +0 -498
- package/Build/Workers/CylinderGeometry-bc26926d.js +0 -467
- package/Build/Workers/CylinderGeometryLibrary-7bf291b4.js +0 -63
- package/Build/Workers/EllipseGeometry-89533a10.js +0 -1304
- package/Build/Workers/EllipseGeometryLibrary-b0d7df17.js +0 -366
- package/Build/Workers/EllipseOutlineGeometry-63ff7a87.js +0 -443
- package/Build/Workers/EllipsoidGeodesic-5b3623dc.js +0 -520
- package/Build/Workers/EllipsoidGeometry-07e99d2d.js +0 -637
- package/Build/Workers/EllipsoidOutlineGeometry-ba5c7ee2.js +0 -454
- package/Build/Workers/EllipsoidRhumbLine-ef872433.js +0 -741
- package/Build/Workers/EllipsoidTangentPlane-65d41b3e.js +0 -373
- package/Build/Workers/EncodedCartesian3-57415c8a.js +0 -171
- package/Build/Workers/FrustumGeometry-4a7589ed.js +0 -2540
- package/Build/Workers/GeometryAttribute-a5b6275b.js +0 -619
- package/Build/Workers/GeometryAttributes-ad136444.js +0 -91
- package/Build/Workers/GeometryInstance-34d9e21e.js +0 -121
- package/Build/Workers/GeometryOffsetAttribute-9ad0019c.js +0 -16
- package/Build/Workers/GeometryPipeline-fa9e6ffc.js +0 -3690
- package/Build/Workers/IndexDatatype-2643aa47.js +0 -200
- package/Build/Workers/IntersectionTests-feace3da.js +0 -1836
- package/Build/Workers/Math-0a2ac845.js +0 -1340
- package/Build/Workers/Matrix2-e1298525.js +0 -7086
- package/Build/Workers/Matrix3-41c58dde.js +0 -4283
- package/Build/Workers/OrientedBoundingBox-6b94d955.js +0 -1259
- package/Build/Workers/Plane-4c3d403b.js +0 -309
- package/Build/Workers/PolygonGeometryLibrary-4ffc457d.js +0 -1074
- package/Build/Workers/PolygonPipeline-d5e66350.js +0 -1344
- package/Build/Workers/PolylinePipeline-83410f0c.js +0 -573
- package/Build/Workers/PolylineVolumeGeometryLibrary-290e7aec.js +0 -781
- package/Build/Workers/PrimitivePipeline-6081d138.js +0 -966
- package/Build/Workers/RectangleGeometryLibrary-986710d8.js +0 -280
- package/Build/Workers/RuntimeError-ef395448.js +0 -68
- package/Build/Workers/TerrainEncoding-528e1d68.js +0 -1227
- package/Build/Workers/Transforms-b527bb09.js +0 -14714
- package/Build/Workers/VertexFormat-030f11ff.js +0 -312
- package/Build/Workers/WallGeometryLibrary-faf583f8.js +0 -211
- package/Build/Workers/WebGLConstants-0b1ce7ba.js +0 -620
- package/Build/Workers/WebMercatorProjection-13ed1a6e.js +0 -151
- package/Build/Workers/arrayRemoveDuplicates-d2061e85.js +0 -129
- package/Build/Workers/cesiumWorkerBootstrapper.js +0 -1363
- package/Build/Workers/combine-d9581036.js +0 -82
- package/Build/Workers/defaultValue-fe22d8c0.js +0 -51
- package/Source/ThirdParty/Workers/draco_decoder_nodejs.js +0 -117
- package/Source/Workers/cesiumWorkerBootstrapper.js +0 -2290
- package/Source/Workers/package.json +0 -1
- /package/Source/{WorkersES6 → Workers}/combineGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createBoxGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createBoxOutlineGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createCircleGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createCircleOutlineGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createCoplanarPolygonGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createCoplanarPolygonOutlineGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createCorridorGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createCorridorOutlineGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createCylinderGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createCylinderOutlineGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createEllipseGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createEllipseOutlineGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createEllipsoidGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createEllipsoidOutlineGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createFrustumGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createFrustumOutlineGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createGroundPolylineGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createPlaneGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createPlaneOutlineGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createPolygonGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createPolygonOutlineGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createPolylineGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createPolylineVolumeGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createPolylineVolumeOutlineGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createRectangleGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createRectangleOutlineGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createSimplePolylineGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createSphereGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createSphereOutlineGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createVectorTileClampedPolylines.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createVectorTileGeometries.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createVectorTilePoints.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createVectorTilePolygons.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createVectorTilePolylines.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createVerticesFromGoogleEarthEnterpriseBuffer.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createVerticesFromHeightmap.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createVerticesFromQuantizedTerrainMesh.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createWallGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/createWallOutlineGeometry.js +0 -0
- /package/Source/{WorkersES6 → Workers}/decodeGoogleEarthEnterprisePacket.js +0 -0
- /package/Source/{WorkersES6 → Workers}/upsampleQuantizedTerrainMesh.js +0 -0
|
@@ -1,254 +1,262 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Cesium - https://github.com/CesiumGS/cesium
|
|
4
|
+
* Version 1.110
|
|
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-UM7FIUQW.js";
|
|
29
|
+
import {
|
|
30
|
+
AttributeCompression_default
|
|
31
|
+
} from "./chunk-QUCJGBCK.js";
|
|
32
|
+
import {
|
|
33
|
+
IndexDatatype_default
|
|
34
|
+
} from "./chunk-CROU4RHL.js";
|
|
35
|
+
import {
|
|
36
|
+
combine_default
|
|
37
|
+
} from "./chunk-ULLMQNFQ.js";
|
|
38
|
+
import {
|
|
39
|
+
Rectangle_default
|
|
40
|
+
} from "./chunk-MYDS6HBL.js";
|
|
41
|
+
import "./chunk-CTJCECTX.js";
|
|
42
|
+
import {
|
|
43
|
+
Cartesian3_default,
|
|
44
|
+
Cartographic_default,
|
|
45
|
+
Ellipsoid_default
|
|
46
|
+
} from "./chunk-HIDSEUWS.js";
|
|
47
|
+
import {
|
|
48
|
+
Math_default
|
|
49
|
+
} from "./chunk-4HN3N5SE.js";
|
|
50
|
+
import "./chunk-TXYJOVQK.js";
|
|
51
|
+
import "./chunk-2ZI7FZ3Q.js";
|
|
52
|
+
import "./chunk-GPO47TW4.js";
|
|
53
|
+
import "./chunk-6EHT6GS3.js";
|
|
54
|
+
import "./chunk-TXOGSFHZ.js";
|
|
55
|
+
|
|
56
|
+
// packages/engine/Source/Core/decodeVectorPolylinePositions.js
|
|
57
|
+
var maxShort = 32767;
|
|
58
|
+
var scratchBVCartographic = new Cartographic_default();
|
|
59
|
+
var scratchEncodedPosition = new Cartesian3_default();
|
|
60
|
+
function decodeVectorPolylinePositions(positions, rectangle, minimumHeight, maximumHeight, ellipsoid) {
|
|
61
|
+
const positionsLength = positions.length / 3;
|
|
62
|
+
const uBuffer = positions.subarray(0, positionsLength);
|
|
63
|
+
const vBuffer = positions.subarray(positionsLength, 2 * positionsLength);
|
|
64
|
+
const heightBuffer = positions.subarray(
|
|
65
|
+
2 * positionsLength,
|
|
66
|
+
3 * positionsLength
|
|
67
|
+
);
|
|
68
|
+
AttributeCompression_default.zigZagDeltaDecode(uBuffer, vBuffer, heightBuffer);
|
|
69
|
+
const decoded = new Float64Array(positions.length);
|
|
70
|
+
for (let i = 0; i < positionsLength; ++i) {
|
|
71
|
+
const u = uBuffer[i];
|
|
72
|
+
const v = vBuffer[i];
|
|
73
|
+
const h = heightBuffer[i];
|
|
74
|
+
const lon = Math_default.lerp(rectangle.west, rectangle.east, u / maxShort);
|
|
75
|
+
const lat = Math_default.lerp(rectangle.south, rectangle.north, v / maxShort);
|
|
76
|
+
const alt = Math_default.lerp(minimumHeight, maximumHeight, h / maxShort);
|
|
77
|
+
const cartographic = Cartographic_default.fromRadians(
|
|
78
|
+
lon,
|
|
79
|
+
lat,
|
|
80
|
+
alt,
|
|
81
|
+
scratchBVCartographic
|
|
82
|
+
);
|
|
83
|
+
const decodedPosition = ellipsoid.cartographicToCartesian(
|
|
84
|
+
cartographic,
|
|
85
|
+
scratchEncodedPosition
|
|
86
|
+
);
|
|
87
|
+
Cartesian3_default.pack(decodedPosition, decoded, i * 3);
|
|
88
|
+
}
|
|
89
|
+
return decoded;
|
|
90
|
+
}
|
|
91
|
+
var decodeVectorPolylinePositions_default = decodeVectorPolylinePositions;
|
|
92
|
+
|
|
93
|
+
// packages/engine/Source/Workers/createVectorTilePolylines.js
|
|
94
|
+
var scratchRectangle = new Rectangle_default();
|
|
95
|
+
var scratchEllipsoid = new Ellipsoid_default();
|
|
96
|
+
var scratchCenter = new Cartesian3_default();
|
|
97
|
+
var scratchMinMaxHeights = {
|
|
98
|
+
min: void 0,
|
|
99
|
+
max: void 0
|
|
100
|
+
};
|
|
101
|
+
function unpackBuffer(packedBuffer) {
|
|
102
|
+
packedBuffer = new Float64Array(packedBuffer);
|
|
103
|
+
let offset = 0;
|
|
104
|
+
scratchMinMaxHeights.min = packedBuffer[offset++];
|
|
105
|
+
scratchMinMaxHeights.max = packedBuffer[offset++];
|
|
106
|
+
Rectangle_default.unpack(packedBuffer, offset, scratchRectangle);
|
|
107
|
+
offset += Rectangle_default.packedLength;
|
|
108
|
+
Ellipsoid_default.unpack(packedBuffer, offset, scratchEllipsoid);
|
|
109
|
+
offset += Ellipsoid_default.packedLength;
|
|
110
|
+
Cartesian3_default.unpack(packedBuffer, offset, scratchCenter);
|
|
111
|
+
}
|
|
112
|
+
function getPositionOffsets(counts) {
|
|
113
|
+
const countsLength = counts.length;
|
|
114
|
+
const positionOffsets = new Uint32Array(countsLength + 1);
|
|
115
|
+
let offset = 0;
|
|
116
|
+
for (let i = 0; i < countsLength; ++i) {
|
|
117
|
+
positionOffsets[i] = offset;
|
|
118
|
+
offset += counts[i];
|
|
119
|
+
}
|
|
120
|
+
positionOffsets[countsLength] = offset;
|
|
121
|
+
return positionOffsets;
|
|
122
|
+
}
|
|
123
|
+
var scratchP0 = new Cartesian3_default();
|
|
124
|
+
var scratchP1 = new Cartesian3_default();
|
|
125
|
+
var scratchPrev = new Cartesian3_default();
|
|
126
|
+
var scratchCur = new Cartesian3_default();
|
|
127
|
+
var scratchNext = new Cartesian3_default();
|
|
128
|
+
function createVectorTilePolylines(parameters, transferableObjects) {
|
|
129
|
+
const encodedPositions = new Uint16Array(parameters.positions);
|
|
130
|
+
const widths = new Uint16Array(parameters.widths);
|
|
131
|
+
const counts = new Uint32Array(parameters.counts);
|
|
132
|
+
const batchIds = new Uint16Array(parameters.batchIds);
|
|
133
|
+
unpackBuffer(parameters.packedBuffer);
|
|
134
|
+
const rectangle = scratchRectangle;
|
|
135
|
+
const ellipsoid = scratchEllipsoid;
|
|
136
|
+
const center = scratchCenter;
|
|
137
|
+
const minimumHeight = scratchMinMaxHeights.min;
|
|
138
|
+
const maximumHeight = scratchMinMaxHeights.max;
|
|
139
|
+
const positions = decodeVectorPolylinePositions_default(
|
|
140
|
+
encodedPositions,
|
|
10
141
|
rectangle,
|
|
11
142
|
minimumHeight,
|
|
12
143
|
maximumHeight,
|
|
13
144
|
ellipsoid
|
|
14
|
-
)
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
145
|
+
);
|
|
146
|
+
const positionsLength = positions.length / 3;
|
|
147
|
+
const size = positionsLength * 4 - 4;
|
|
148
|
+
const curPositions = new Float32Array(size * 3);
|
|
149
|
+
const prevPositions = new Float32Array(size * 3);
|
|
150
|
+
const nextPositions = new Float32Array(size * 3);
|
|
151
|
+
const expandAndWidth = new Float32Array(size * 2);
|
|
152
|
+
const vertexBatchIds = new Uint16Array(size);
|
|
153
|
+
let positionIndex = 0;
|
|
154
|
+
let expandAndWidthIndex = 0;
|
|
155
|
+
let batchIdIndex = 0;
|
|
156
|
+
let i;
|
|
157
|
+
let offset = 0;
|
|
158
|
+
let length = counts.length;
|
|
159
|
+
for (i = 0; i < length; ++i) {
|
|
160
|
+
const count = counts[i];
|
|
161
|
+
const width = widths[i];
|
|
162
|
+
const batchId = batchIds[i];
|
|
163
|
+
for (let j = 0; j < count; ++j) {
|
|
164
|
+
let previous;
|
|
165
|
+
if (j === 0) {
|
|
166
|
+
const p0 = Cartesian3_default.unpack(positions, offset * 3, scratchP0);
|
|
167
|
+
const p1 = Cartesian3_default.unpack(positions, (offset + 1) * 3, scratchP1);
|
|
168
|
+
previous = Cartesian3_default.subtract(p0, p1, scratchPrev);
|
|
169
|
+
Cartesian3_default.add(p0, previous, previous);
|
|
170
|
+
} else {
|
|
171
|
+
previous = Cartesian3_default.unpack(
|
|
172
|
+
positions,
|
|
173
|
+
(offset + j - 1) * 3,
|
|
174
|
+
scratchPrev
|
|
175
|
+
);
|
|
176
|
+
}
|
|
177
|
+
const current = Cartesian3_default.unpack(
|
|
178
|
+
positions,
|
|
179
|
+
(offset + j) * 3,
|
|
180
|
+
scratchCur
|
|
43
181
|
);
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
const scratchRectangle = new Matrix2.Rectangle();
|
|
50
|
-
const scratchEllipsoid = new Matrix3.Ellipsoid();
|
|
51
|
-
const scratchCenter = new Matrix3.Cartesian3();
|
|
52
|
-
const scratchMinMaxHeights = {
|
|
53
|
-
min: undefined,
|
|
54
|
-
max: undefined,
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
function unpackBuffer(packedBuffer) {
|
|
58
|
-
packedBuffer = new Float64Array(packedBuffer);
|
|
59
|
-
|
|
60
|
-
let offset = 0;
|
|
61
|
-
scratchMinMaxHeights.min = packedBuffer[offset++];
|
|
62
|
-
scratchMinMaxHeights.max = packedBuffer[offset++];
|
|
63
|
-
|
|
64
|
-
Matrix2.Rectangle.unpack(packedBuffer, offset, scratchRectangle);
|
|
65
|
-
offset += Matrix2.Rectangle.packedLength;
|
|
66
|
-
|
|
67
|
-
Matrix3.Ellipsoid.unpack(packedBuffer, offset, scratchEllipsoid);
|
|
68
|
-
offset += Matrix3.Ellipsoid.packedLength;
|
|
69
|
-
|
|
70
|
-
Matrix3.Cartesian3.unpack(packedBuffer, offset, scratchCenter);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
function getPositionOffsets(counts) {
|
|
74
|
-
const countsLength = counts.length;
|
|
75
|
-
const positionOffsets = new Uint32Array(countsLength + 1);
|
|
76
|
-
let offset = 0;
|
|
77
|
-
for (let i = 0; i < countsLength; ++i) {
|
|
78
|
-
positionOffsets[i] = offset;
|
|
79
|
-
offset += counts[i];
|
|
80
|
-
}
|
|
81
|
-
positionOffsets[countsLength] = offset;
|
|
82
|
-
return positionOffsets;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
const scratchP0 = new Matrix3.Cartesian3();
|
|
86
|
-
const scratchP1 = new Matrix3.Cartesian3();
|
|
87
|
-
const scratchPrev = new Matrix3.Cartesian3();
|
|
88
|
-
const scratchCur = new Matrix3.Cartesian3();
|
|
89
|
-
const scratchNext = new Matrix3.Cartesian3();
|
|
90
|
-
|
|
91
|
-
function createVectorTilePolylines(parameters, transferableObjects) {
|
|
92
|
-
const encodedPositions = new Uint16Array(parameters.positions);
|
|
93
|
-
const widths = new Uint16Array(parameters.widths);
|
|
94
|
-
const counts = new Uint32Array(parameters.counts);
|
|
95
|
-
const batchIds = new Uint16Array(parameters.batchIds);
|
|
96
|
-
|
|
97
|
-
unpackBuffer(parameters.packedBuffer);
|
|
98
|
-
const rectangle = scratchRectangle;
|
|
99
|
-
const ellipsoid = scratchEllipsoid;
|
|
100
|
-
const center = scratchCenter;
|
|
101
|
-
const minimumHeight = scratchMinMaxHeights.min;
|
|
102
|
-
const maximumHeight = scratchMinMaxHeights.max;
|
|
103
|
-
|
|
104
|
-
const positions = decodeVectorPolylinePositions(
|
|
105
|
-
encodedPositions,
|
|
106
|
-
rectangle,
|
|
107
|
-
minimumHeight,
|
|
108
|
-
maximumHeight,
|
|
109
|
-
ellipsoid
|
|
110
|
-
);
|
|
111
|
-
|
|
112
|
-
const positionsLength = positions.length / 3;
|
|
113
|
-
const size = positionsLength * 4 - 4;
|
|
114
|
-
|
|
115
|
-
const curPositions = new Float32Array(size * 3);
|
|
116
|
-
const prevPositions = new Float32Array(size * 3);
|
|
117
|
-
const nextPositions = new Float32Array(size * 3);
|
|
118
|
-
const expandAndWidth = new Float32Array(size * 2);
|
|
119
|
-
const vertexBatchIds = new Uint16Array(size);
|
|
120
|
-
|
|
121
|
-
let positionIndex = 0;
|
|
122
|
-
let expandAndWidthIndex = 0;
|
|
123
|
-
let batchIdIndex = 0;
|
|
124
|
-
|
|
125
|
-
let i;
|
|
126
|
-
let offset = 0;
|
|
127
|
-
let length = counts.length;
|
|
128
|
-
|
|
129
|
-
for (i = 0; i < length; ++i) {
|
|
130
|
-
const count = counts[i];
|
|
131
|
-
const width = widths[i];
|
|
132
|
-
const batchId = batchIds[i];
|
|
133
|
-
|
|
134
|
-
for (let j = 0; j < count; ++j) {
|
|
135
|
-
let previous;
|
|
136
|
-
if (j === 0) {
|
|
137
|
-
const p0 = Matrix3.Cartesian3.unpack(positions, offset * 3, scratchP0);
|
|
138
|
-
const p1 = Matrix3.Cartesian3.unpack(positions, (offset + 1) * 3, scratchP1);
|
|
139
|
-
|
|
140
|
-
previous = Matrix3.Cartesian3.subtract(p0, p1, scratchPrev);
|
|
141
|
-
Matrix3.Cartesian3.add(p0, previous, previous);
|
|
142
|
-
} else {
|
|
143
|
-
previous = Matrix3.Cartesian3.unpack(
|
|
144
|
-
positions,
|
|
145
|
-
(offset + j - 1) * 3,
|
|
146
|
-
scratchPrev
|
|
147
|
-
);
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
const current = Matrix3.Cartesian3.unpack(
|
|
182
|
+
let next;
|
|
183
|
+
if (j === count - 1) {
|
|
184
|
+
const p2 = Cartesian3_default.unpack(
|
|
151
185
|
positions,
|
|
152
|
-
(offset +
|
|
153
|
-
|
|
186
|
+
(offset + count - 1) * 3,
|
|
187
|
+
scratchP0
|
|
154
188
|
);
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
const startK = j === 0 ? 2 : 0;
|
|
180
|
-
const endK = j === count - 1 ? 2 : 4;
|
|
181
|
-
|
|
182
|
-
for (let k = startK; k < endK; ++k) {
|
|
183
|
-
Matrix3.Cartesian3.pack(current, curPositions, positionIndex);
|
|
184
|
-
Matrix3.Cartesian3.pack(previous, prevPositions, positionIndex);
|
|
185
|
-
Matrix3.Cartesian3.pack(next, nextPositions, positionIndex);
|
|
186
|
-
positionIndex += 3;
|
|
187
|
-
|
|
188
|
-
const direction = k - 2 < 0 ? -1.0 : 1.0;
|
|
189
|
-
expandAndWidth[expandAndWidthIndex++] = 2 * (k % 2) - 1;
|
|
190
|
-
expandAndWidth[expandAndWidthIndex++] = direction * width;
|
|
191
|
-
|
|
192
|
-
vertexBatchIds[batchIdIndex++] = batchId;
|
|
193
|
-
}
|
|
189
|
+
const p3 = Cartesian3_default.unpack(
|
|
190
|
+
positions,
|
|
191
|
+
(offset + count - 2) * 3,
|
|
192
|
+
scratchP1
|
|
193
|
+
);
|
|
194
|
+
next = Cartesian3_default.subtract(p2, p3, scratchNext);
|
|
195
|
+
Cartesian3_default.add(p2, next, next);
|
|
196
|
+
} else {
|
|
197
|
+
next = Cartesian3_default.unpack(positions, (offset + j + 1) * 3, scratchNext);
|
|
198
|
+
}
|
|
199
|
+
Cartesian3_default.subtract(previous, center, previous);
|
|
200
|
+
Cartesian3_default.subtract(current, center, current);
|
|
201
|
+
Cartesian3_default.subtract(next, center, next);
|
|
202
|
+
const startK = j === 0 ? 2 : 0;
|
|
203
|
+
const endK = j === count - 1 ? 2 : 4;
|
|
204
|
+
for (let k = startK; k < endK; ++k) {
|
|
205
|
+
Cartesian3_default.pack(current, curPositions, positionIndex);
|
|
206
|
+
Cartesian3_default.pack(previous, prevPositions, positionIndex);
|
|
207
|
+
Cartesian3_default.pack(next, nextPositions, positionIndex);
|
|
208
|
+
positionIndex += 3;
|
|
209
|
+
const direction = k - 2 < 0 ? -1 : 1;
|
|
210
|
+
expandAndWidth[expandAndWidthIndex++] = 2 * (k % 2) - 1;
|
|
211
|
+
expandAndWidth[expandAndWidthIndex++] = direction * width;
|
|
212
|
+
vertexBatchIds[batchIdIndex++] = batchId;
|
|
194
213
|
}
|
|
195
|
-
|
|
196
|
-
offset += count;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
const indices = IndexDatatype.IndexDatatype.createTypedArray(size, positionsLength * 6 - 6);
|
|
200
|
-
let index = 0;
|
|
201
|
-
let indicesIndex = 0;
|
|
202
|
-
length = positionsLength - 1;
|
|
203
|
-
for (i = 0; i < length; ++i) {
|
|
204
|
-
indices[indicesIndex++] = index;
|
|
205
|
-
indices[indicesIndex++] = index + 2;
|
|
206
|
-
indices[indicesIndex++] = index + 1;
|
|
207
|
-
|
|
208
|
-
indices[indicesIndex++] = index + 1;
|
|
209
|
-
indices[indicesIndex++] = index + 2;
|
|
210
|
-
indices[indicesIndex++] = index + 3;
|
|
211
|
-
|
|
212
|
-
index += 4;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
transferableObjects.push(
|
|
216
|
-
curPositions.buffer,
|
|
217
|
-
prevPositions.buffer,
|
|
218
|
-
nextPositions.buffer
|
|
219
|
-
);
|
|
220
|
-
transferableObjects.push(
|
|
221
|
-
expandAndWidth.buffer,
|
|
222
|
-
vertexBatchIds.buffer,
|
|
223
|
-
indices.buffer
|
|
224
|
-
);
|
|
225
|
-
|
|
226
|
-
let results = {
|
|
227
|
-
indexDatatype:
|
|
228
|
-
indices.BYTES_PER_ELEMENT === 2
|
|
229
|
-
? IndexDatatype.IndexDatatype.UNSIGNED_SHORT
|
|
230
|
-
: IndexDatatype.IndexDatatype.UNSIGNED_INT,
|
|
231
|
-
currentPositions: curPositions.buffer,
|
|
232
|
-
previousPositions: prevPositions.buffer,
|
|
233
|
-
nextPositions: nextPositions.buffer,
|
|
234
|
-
expandAndWidth: expandAndWidth.buffer,
|
|
235
|
-
batchIds: vertexBatchIds.buffer,
|
|
236
|
-
indices: indices.buffer,
|
|
237
|
-
};
|
|
238
|
-
|
|
239
|
-
if (parameters.keepDecodedPositions) {
|
|
240
|
-
const positionOffsets = getPositionOffsets(counts);
|
|
241
|
-
transferableObjects.push(positions.buffer, positionOffsets.buffer);
|
|
242
|
-
results = combine.combine(results, {
|
|
243
|
-
decodedPositions: positions.buffer,
|
|
244
|
-
decodedPositionOffsets: positionOffsets.buffer,
|
|
245
|
-
});
|
|
246
214
|
}
|
|
247
|
-
|
|
248
|
-
return results;
|
|
215
|
+
offset += count;
|
|
249
216
|
}
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
217
|
+
const indices = IndexDatatype_default.createTypedArray(size, positionsLength * 6 - 6);
|
|
218
|
+
let index = 0;
|
|
219
|
+
let indicesIndex = 0;
|
|
220
|
+
length = positionsLength - 1;
|
|
221
|
+
for (i = 0; i < length; ++i) {
|
|
222
|
+
indices[indicesIndex++] = index;
|
|
223
|
+
indices[indicesIndex++] = index + 2;
|
|
224
|
+
indices[indicesIndex++] = index + 1;
|
|
225
|
+
indices[indicesIndex++] = index + 1;
|
|
226
|
+
indices[indicesIndex++] = index + 2;
|
|
227
|
+
indices[indicesIndex++] = index + 3;
|
|
228
|
+
index += 4;
|
|
229
|
+
}
|
|
230
|
+
transferableObjects.push(
|
|
231
|
+
curPositions.buffer,
|
|
232
|
+
prevPositions.buffer,
|
|
233
|
+
nextPositions.buffer
|
|
234
|
+
);
|
|
235
|
+
transferableObjects.push(
|
|
236
|
+
expandAndWidth.buffer,
|
|
237
|
+
vertexBatchIds.buffer,
|
|
238
|
+
indices.buffer
|
|
239
|
+
);
|
|
240
|
+
let results = {
|
|
241
|
+
indexDatatype: indices.BYTES_PER_ELEMENT === 2 ? IndexDatatype_default.UNSIGNED_SHORT : IndexDatatype_default.UNSIGNED_INT,
|
|
242
|
+
currentPositions: curPositions.buffer,
|
|
243
|
+
previousPositions: prevPositions.buffer,
|
|
244
|
+
nextPositions: nextPositions.buffer,
|
|
245
|
+
expandAndWidth: expandAndWidth.buffer,
|
|
246
|
+
batchIds: vertexBatchIds.buffer,
|
|
247
|
+
indices: indices.buffer
|
|
248
|
+
};
|
|
249
|
+
if (parameters.keepDecodedPositions) {
|
|
250
|
+
const positionOffsets = getPositionOffsets(counts);
|
|
251
|
+
transferableObjects.push(positions.buffer, positionOffsets.buffer);
|
|
252
|
+
results = combine_default(results, {
|
|
253
|
+
decodedPositions: positions.buffer,
|
|
254
|
+
decodedPositionOffsets: positionOffsets.buffer
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
return results;
|
|
258
|
+
}
|
|
259
|
+
var createVectorTilePolylines_default = createTaskProcessorWorker_default(createVectorTilePolylines);
|
|
260
|
+
export {
|
|
261
|
+
createVectorTilePolylines_default as default
|
|
262
|
+
};
|