@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,4 +1,3 @@
|
|
|
1
|
-
/* global require */
|
|
2
1
|
import createTaskProcessorWorker from "./createTaskProcessorWorker.js";
|
|
3
2
|
import defined from "../Core/defined.js";
|
|
4
3
|
import WebMercatorProjection from "../Core/WebMercatorProjection.js";
|
|
@@ -7,6 +6,7 @@ import Cartographic from "../Core/Cartographic.js";
|
|
|
7
6
|
import Cartesian3 from "../Core/Cartesian3.js";
|
|
8
7
|
import Matrix3 from "../Core/Matrix3.js";
|
|
9
8
|
import CesiumMath from "../Core/Math.js";
|
|
9
|
+
import dracoModule from "draco3d/draco_decoder_nodejs.js";
|
|
10
10
|
|
|
11
11
|
let draco;
|
|
12
12
|
|
|
@@ -171,7 +171,6 @@ function transformToLocal(
|
|
|
171
171
|
const rotatedNormal = {};
|
|
172
172
|
Matrix3.multiplyByVector(parentRotation, normal, rotatedNormal);
|
|
173
173
|
|
|
174
|
-
// TODO: check if normals are Z-UP or Y-UP and flip y and z
|
|
175
174
|
normals[indexOffset] = rotatedNormal.x;
|
|
176
175
|
normals[indexOffset1] = rotatedNormal.y;
|
|
177
176
|
normals[indexOffset2] = rotatedNormal.z;
|
|
@@ -890,17 +889,11 @@ function decodeBinaryGeometry(data, schema, bufferInfo, featureData) {
|
|
|
890
889
|
// Use default geometry schema
|
|
891
890
|
for (let i = 0; i < ordering.length; i++) {
|
|
892
891
|
const decoder = binaryAttributeDecoders[ordering[i]];
|
|
893
|
-
if (!defined(decoder)) {
|
|
894
|
-
console.log(ordering[i]);
|
|
895
|
-
}
|
|
896
892
|
offset = decoder(decodedGeometry, data, offset);
|
|
897
893
|
}
|
|
898
894
|
|
|
899
895
|
for (let j = 0; j < featureAttributeOrder.length; j++) {
|
|
900
896
|
const curDecoder = binaryAttributeDecoders[featureAttributeOrder[j]];
|
|
901
|
-
if (!defined(curDecoder)) {
|
|
902
|
-
console.log(featureAttributeOrder[j]);
|
|
903
|
-
}
|
|
904
897
|
offset = curDecoder(decodedGeometry, data, offset);
|
|
905
898
|
}
|
|
906
899
|
}
|
|
@@ -914,7 +907,7 @@ function decodeBinaryGeometry(data, schema, bufferInfo, featureData) {
|
|
|
914
907
|
return decodedGeometry;
|
|
915
908
|
}
|
|
916
909
|
|
|
917
|
-
function
|
|
910
|
+
function decodeAndCreateGltf(parameters) {
|
|
918
911
|
// Decode the data into geometry
|
|
919
912
|
const geometryData = decode(
|
|
920
913
|
parameters.binaryData,
|
|
@@ -1012,33 +1005,26 @@ function decodeI3S(parameters) {
|
|
|
1012
1005
|
return results;
|
|
1013
1006
|
}
|
|
1014
1007
|
|
|
1015
|
-
function initWorker(
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1008
|
+
async function initWorker(parameters, transferableObjects) {
|
|
1009
|
+
// Require and compile WebAssembly module, or use fallback if not supported
|
|
1010
|
+
const wasmConfig = parameters.webAssemblyConfig;
|
|
1011
|
+
if (defined(wasmConfig) && defined(wasmConfig.wasmBinaryFile)) {
|
|
1012
|
+
draco = await dracoModule(wasmConfig);
|
|
1013
|
+
} else {
|
|
1014
|
+
draco = await dracoModule();
|
|
1015
|
+
}
|
|
1020
1016
|
|
|
1021
|
-
|
|
1022
|
-
|
|
1017
|
+
return true;
|
|
1018
|
+
}
|
|
1023
1019
|
|
|
1020
|
+
function decodeI3S(parameters, transferableObjects) {
|
|
1024
1021
|
// Expect the first message to be to load a web assembly module
|
|
1025
|
-
const wasmConfig =
|
|
1022
|
+
const wasmConfig = parameters.webAssemblyConfig;
|
|
1026
1023
|
if (defined(wasmConfig)) {
|
|
1027
|
-
|
|
1028
|
-
return require([wasmConfig.modulePath], function (dracoModule) {
|
|
1029
|
-
if (defined(wasmConfig.wasmBinaryFile)) {
|
|
1030
|
-
if (!defined(dracoModule)) {
|
|
1031
|
-
dracoModule = self.DracoDecoderModule;
|
|
1032
|
-
}
|
|
1033
|
-
|
|
1034
|
-
dracoModule(wasmConfig).then(function (compiledModule) {
|
|
1035
|
-
initWorker(compiledModule);
|
|
1036
|
-
});
|
|
1037
|
-
} else {
|
|
1038
|
-
initWorker(dracoModule());
|
|
1039
|
-
}
|
|
1040
|
-
});
|
|
1024
|
+
return initWorker(parameters, transferableObjects);
|
|
1041
1025
|
}
|
|
1026
|
+
|
|
1027
|
+
return decodeAndCreateGltf(parameters, transferableObjects);
|
|
1042
1028
|
}
|
|
1043
1029
|
|
|
1044
|
-
export default
|
|
1030
|
+
export default createTaskProcessorWorker(decodeI3S);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import defaultValue from "../Core/defaultValue.js";
|
|
2
2
|
import defined from "../Core/defined.js";
|
|
3
3
|
import Check from "../Core/Check.js";
|
|
4
4
|
import PixelFormat from "../Core/PixelFormat.js";
|
|
@@ -7,6 +7,7 @@ import VulkanConstants from "../Core//VulkanConstants.js";
|
|
|
7
7
|
import PixelDatatype from "../Renderer/PixelDatatype.js";
|
|
8
8
|
import createTaskProcessorWorker from "./createTaskProcessorWorker.js";
|
|
9
9
|
import { read } from "ktx-parse";
|
|
10
|
+
import basis from "../ThirdParty/Workers/basis_transcoder.js";
|
|
10
11
|
|
|
11
12
|
const faceOrder = [
|
|
12
13
|
"positiveX",
|
|
@@ -281,36 +282,28 @@ function transcodeCompressed(
|
|
|
281
282
|
return result;
|
|
282
283
|
}
|
|
283
284
|
|
|
284
|
-
function initWorker(
|
|
285
|
-
|
|
285
|
+
async function initWorker(parameters, transferableObjects) {
|
|
286
|
+
// Require and compile WebAssembly module, or use fallback if not supported
|
|
287
|
+
const wasmConfig = parameters.webAssemblyConfig;
|
|
288
|
+
const basisTranscoder = defaultValue(basis, self.BASIS);
|
|
289
|
+
if (defined(wasmConfig.wasmBinaryFile)) {
|
|
290
|
+
transcoderModule = await basisTranscoder(wasmConfig);
|
|
291
|
+
} else {
|
|
292
|
+
transcoderModule = await basisTranscoder();
|
|
293
|
+
}
|
|
294
|
+
|
|
286
295
|
transcoderModule.initializeBasis();
|
|
287
296
|
|
|
288
|
-
|
|
289
|
-
self.postMessage(true);
|
|
297
|
+
return true;
|
|
290
298
|
}
|
|
291
299
|
|
|
292
|
-
function transcodeKTX2(
|
|
293
|
-
const data = event.data;
|
|
294
|
-
|
|
300
|
+
function transcodeKTX2(parameters, transferableObjects) {
|
|
295
301
|
// Expect the first message to be to load a web assembly module
|
|
296
|
-
const wasmConfig =
|
|
302
|
+
const wasmConfig = parameters.webAssemblyConfig;
|
|
297
303
|
if (defined(wasmConfig)) {
|
|
298
|
-
|
|
299
|
-
return require([wasmConfig.modulePath], function (mscBasisTranscoder) {
|
|
300
|
-
if (defined(wasmConfig.wasmBinaryFile)) {
|
|
301
|
-
if (!defined(mscBasisTranscoder)) {
|
|
302
|
-
mscBasisTranscoder = self.MSC_TRANSCODER;
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
mscBasisTranscoder(wasmConfig).then(function (compiledModule) {
|
|
306
|
-
initWorker(compiledModule);
|
|
307
|
-
});
|
|
308
|
-
} else {
|
|
309
|
-
return mscBasisTranscoder().then(function (transcoder) {
|
|
310
|
-
initWorker(transcoder);
|
|
311
|
-
});
|
|
312
|
-
}
|
|
313
|
-
});
|
|
304
|
+
return initWorker(parameters, transferableObjects);
|
|
314
305
|
}
|
|
306
|
+
|
|
307
|
+
return transcode(parameters, transferableObjects);
|
|
315
308
|
}
|
|
316
|
-
export default transcodeKTX2;
|
|
309
|
+
export default createTaskProcessorWorker(transcodeKTX2);
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
// make sure self is defined so that the Dojo build can evaluate this file without crashing.
|
|
2
|
-
if (typeof self === "undefined") {
|
|
3
|
-
//eslint-disable-next-line no-implicit-globals, no-global-assign
|
|
4
|
-
self = {};
|
|
5
|
-
}
|
|
6
|
-
|
|
7
1
|
self.onmessage = function (event) {
|
|
8
2
|
const array = event.data.array;
|
|
9
3
|
const postMessage = self.webkitPostMessage || self.postMessage;
|
package/index.d.ts
CHANGED
|
@@ -6405,6 +6405,11 @@ export namespace FeatureDetection {
|
|
|
6405
6405
|
* @returns true if the browser supports a WebGL2 rendering context, false if not.
|
|
6406
6406
|
*/
|
|
6407
6407
|
function supportsWebgl2(scene: Scene): boolean;
|
|
6408
|
+
/**
|
|
6409
|
+
* Detects whether the current browser supports ECMAScript modules in web workers.
|
|
6410
|
+
* @returns true if the browser supports ECMAScript modules in web workers.
|
|
6411
|
+
*/
|
|
6412
|
+
function supportsEsmWebWorkers(): boolean;
|
|
6408
6413
|
}
|
|
6409
6414
|
|
|
6410
6415
|
/**
|
|
@@ -12869,6 +12874,15 @@ export class PolygonGeometry {
|
|
|
12869
12874
|
* @param [result] - The object into which to store the result.
|
|
12870
12875
|
*/
|
|
12871
12876
|
static unpack(array: number[], startingIndex?: number, result?: PolygonGeometry): void;
|
|
12877
|
+
/**
|
|
12878
|
+
* Computes a rectangle which encloses the polygon defined by the list of positions, including cases over the international date line and the poles.
|
|
12879
|
+
* @param positions - A linear ring defining the outer boundary of the polygon.
|
|
12880
|
+
* @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid to be used as a reference.
|
|
12881
|
+
* @param [arcType = ArcType.GEODESIC] - The type of line the polygon edges must follow. Valid options are {@link ArcType.GEODESIC} and {@link ArcType.RHUMB}.
|
|
12882
|
+
* @param [result] - An object in which to store the result.
|
|
12883
|
+
* @returns The result rectangle
|
|
12884
|
+
*/
|
|
12885
|
+
static computeRectangleFromPositions(positions: Cartesian3[], ellipsoid?: Ellipsoid, arcType?: ArcType, result?: Rectangle): Rectangle;
|
|
12872
12886
|
/**
|
|
12873
12887
|
* Returns the bounding rectangle given the provided options
|
|
12874
12888
|
* @param options - Object with the following properties:
|
|
@@ -16081,6 +16095,15 @@ export class SteppedSpline {
|
|
|
16081
16095
|
evaluate(time: number, result?: Cartesian3 | Quaternion): number | Cartesian3 | Quaternion;
|
|
16082
16096
|
}
|
|
16083
16097
|
|
|
16098
|
+
/**
|
|
16099
|
+
* Represents a point in stereographic coordinates, which can be obtained by projecting a cartesian coordinate from one pole onto a tangent plane at the other pole.
|
|
16100
|
+
* The stereographic projection faithfully represents the relative directions of all great circles passing through its center point.
|
|
16101
|
+
* To faithfully represents angles everywhere, this is a conformal projection, which means points are projected onto an arbrary sphere.
|
|
16102
|
+
* @param [position] - The steroegraphic coordinates.
|
|
16103
|
+
* @param [tangentPlane] - The tangent plane onto which the point was projected.
|
|
16104
|
+
*/
|
|
16105
|
+
export function Stereographic(position?: Cartesian2, tangentPlane?: EllipseGeometry): void;
|
|
16106
|
+
|
|
16084
16107
|
/**
|
|
16085
16108
|
* A wrapper around a web worker that allows scheduling tasks for a given worker,
|
|
16086
16109
|
* returning results asynchronously via a promise.
|
|
@@ -16120,7 +16143,7 @@ export class TaskProcessor {
|
|
|
16120
16143
|
scheduleTask(parameters: any, transferableObjects?: object[]): Promise<object> | undefined;
|
|
16121
16144
|
/**
|
|
16122
16145
|
* Posts a message to a web worker with configuration to initialize loading
|
|
16123
|
-
* and compiling a web assembly module
|
|
16146
|
+
* and compiling a web assembly module asynchronously, as well as an optional
|
|
16124
16147
|
* fallback JavaScript module to use if Web Assembly is not supported.
|
|
16125
16148
|
* @param [webAssemblyOptions] - An object with the following properties:
|
|
16126
16149
|
* @param [webAssemblyOptions.modulePath] - The path of the web assembly JavaScript wrapper module.
|
|
@@ -16132,7 +16155,7 @@ export class TaskProcessor {
|
|
|
16132
16155
|
modulePath?: string;
|
|
16133
16156
|
wasmBinaryFile?: string;
|
|
16134
16157
|
fallbackModulePath?: string;
|
|
16135
|
-
}): Promise<
|
|
16158
|
+
}): Promise<any>;
|
|
16136
16159
|
/**
|
|
16137
16160
|
* Returns true if this object was destroyed; otherwise, false.
|
|
16138
16161
|
* <br /><br />
|
|
@@ -17183,10 +17206,10 @@ export namespace Transforms {
|
|
|
17183
17206
|
* at a given time. This function may return undefined if the data necessary to
|
|
17184
17207
|
* do the transformation is not yet loaded.
|
|
17185
17208
|
* @example
|
|
17186
|
-
* // Transform a point from the
|
|
17209
|
+
* // Transform a point from the Fixed axes to the ICRF axes.
|
|
17187
17210
|
* const now = Cesium.JulianDate.now();
|
|
17188
17211
|
* const pointInFixed = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
|
|
17189
|
-
* const fixedToIcrf = Cesium.Transforms.
|
|
17212
|
+
* const fixedToIcrf = Cesium.Transforms.computeFixedToIcrfMatrix(now);
|
|
17190
17213
|
* let pointInInertial = new Cesium.Cartesian3();
|
|
17191
17214
|
* if (Cesium.defined(fixedToIcrf)) {
|
|
17192
17215
|
* pointInInertial = Cesium.Matrix3.multiplyByVector(fixedToIcrf, pointInFixed, pointInInertial);
|
|
@@ -18341,12 +18364,20 @@ export function queryToObject(queryString: string): any;
|
|
|
18341
18364
|
* const updatedPositions = await Cesium.sampleTerrain(terrainProvider, 11, positions);
|
|
18342
18365
|
* // positions[0].height and positions[1].height have been updated.
|
|
18343
18366
|
* // updatedPositions is just a reference to positions.
|
|
18367
|
+
*
|
|
18368
|
+
* // To handle tile errors, pass true for the rejectOnTileFail parameter.
|
|
18369
|
+
* try {
|
|
18370
|
+
* const updatedPositions = await Cesium.sampleTerrain(terrainProvider, 11, positions, true);
|
|
18371
|
+
* } catch (error) {
|
|
18372
|
+
* // A tile request error occurred.
|
|
18373
|
+
* }
|
|
18344
18374
|
* @param terrainProvider - The terrain provider from which to query heights.
|
|
18345
18375
|
* @param level - The terrain level-of-detail from which to query terrain heights.
|
|
18346
18376
|
* @param positions - The positions to update with terrain heights.
|
|
18377
|
+
* @param [rejectOnTileFail = false] - If true, for a failed terrain tile request the promise will be rejected. If false, returned heights will be undefined.
|
|
18347
18378
|
* @returns A promise that resolves to the provided list of positions when terrain the query has completed.
|
|
18348
18379
|
*/
|
|
18349
|
-
export function sampleTerrain(terrainProvider: TerrainProvider, level: number, positions: Cartographic[]): Promise<Cartographic[]>;
|
|
18380
|
+
export function sampleTerrain(terrainProvider: TerrainProvider, level: number, positions: Cartographic[], rejectOnTileFail?: boolean): Promise<Cartographic[]>;
|
|
18350
18381
|
|
|
18351
18382
|
/**
|
|
18352
18383
|
* Initiates a sampleTerrain() request at the maximum available tile level for a terrain dataset.
|
|
@@ -18360,12 +18391,20 @@ export function sampleTerrain(terrainProvider: TerrainProvider, level: number, p
|
|
|
18360
18391
|
* const updatedPositions = await Cesium.sampleTerrainMostDetailed(terrainProvider, positions);
|
|
18361
18392
|
* // positions[0].height and positions[1].height have been updated.
|
|
18362
18393
|
* // updatedPositions is just a reference to positions.
|
|
18394
|
+
*
|
|
18395
|
+
* // To handle tile errors, pass true for the rejectOnTileFail parameter.
|
|
18396
|
+
* try {
|
|
18397
|
+
* const updatedPositions = await Cesium.sampleTerrainMostDetailed(terrainProvider, positions, true);
|
|
18398
|
+
* } catch (error) {
|
|
18399
|
+
* // A tile request error occurred.
|
|
18400
|
+
* }
|
|
18363
18401
|
* @param terrainProvider - The terrain provider from which to query heights.
|
|
18364
18402
|
* @param positions - The positions to update with terrain heights.
|
|
18403
|
+
* @param [rejectOnTileFail = false] - If true, for a failed terrain tile request the promise will be rejected. If false, returned heights will be undefined.
|
|
18365
18404
|
* @returns A promise that resolves to the provided list of positions when terrain the query has completed. This
|
|
18366
18405
|
* promise will reject if the terrain provider's `availability` property is undefined.
|
|
18367
18406
|
*/
|
|
18368
|
-
export function sampleTerrainMostDetailed(terrainProvider: TerrainProvider, positions: Cartographic[]): Promise<Cartographic[]>;
|
|
18407
|
+
export function sampleTerrainMostDetailed(terrainProvider: TerrainProvider, positions: Cartographic[], rejectOnTileFail?: boolean): Promise<Cartographic[]>;
|
|
18369
18408
|
|
|
18370
18409
|
/**
|
|
18371
18410
|
* Subdivides an array into a number of smaller, equal sized arrays.
|
|
@@ -28592,7 +28631,6 @@ export namespace Cesium3DTileset {
|
|
|
28592
28631
|
* @property [modelForwardAxis = Axis.X] - Which axis is considered forward when loading models for tile contents.
|
|
28593
28632
|
* @property [shadows = ShadowMode.ENABLED] - Determines whether the tileset casts or receives shadows from light sources.
|
|
28594
28633
|
* @property [maximumScreenSpaceError = 16] - The maximum screen space error used to drive level of detail refinement.
|
|
28595
|
-
* @property [maximumMemoryUsage = 512] - The maximum amount of memory in MB that can be used by the tileset. Deprecated.
|
|
28596
28634
|
* @property [cacheBytes = 536870912] - The size (in bytes) to which the tile cache will be trimmed, if the cache contains tiles not needed for the current view.
|
|
28597
28635
|
* @property [maximumCacheOverflowBytes = 536870912] - The maximum additional memory (in bytes) to allow for cache headroom, if more than {@link Cesium3DTileset#cacheBytes} are needed for the current view.
|
|
28598
28636
|
* @property [cullWithChildrenBounds = true] - Optimization option. Whether to cull tiles using the union of their children bounding volumes.
|
|
@@ -28654,7 +28692,6 @@ export namespace Cesium3DTileset {
|
|
|
28654
28692
|
modelForwardAxis?: Axis;
|
|
28655
28693
|
shadows?: ShadowMode;
|
|
28656
28694
|
maximumScreenSpaceError?: number;
|
|
28657
|
-
maximumMemoryUsage?: number;
|
|
28658
28695
|
cacheBytes?: number;
|
|
28659
28696
|
maximumCacheOverflowBytes?: number;
|
|
28660
28697
|
cullWithChildrenBounds?: boolean;
|
|
@@ -29253,26 +29290,6 @@ export class Cesium3DTileset {
|
|
|
29253
29290
|
* </p>
|
|
29254
29291
|
*/
|
|
29255
29292
|
maximumScreenSpaceError: number;
|
|
29256
|
-
/**
|
|
29257
|
-
* The maximum amount of GPU memory (in MB) that may be used to cache tiles. This value is estimated from
|
|
29258
|
-
* geometry, textures, and batch table textures of loaded tiles. For point clouds, this value also
|
|
29259
|
-
* includes per-point metadata.
|
|
29260
|
-
* <p>
|
|
29261
|
-
* Tiles not in view are unloaded to enforce this.
|
|
29262
|
-
* </p>
|
|
29263
|
-
* <p>
|
|
29264
|
-
* If decreasing this value results in unloading tiles, the tiles are unloaded the next frame.
|
|
29265
|
-
* </p>
|
|
29266
|
-
* <p>
|
|
29267
|
-
* If tiles sized more than <code>maximumMemoryUsage</code> are needed
|
|
29268
|
-
* to meet the desired screen space error, determined by {@link Cesium3DTileset#maximumScreenSpaceError},
|
|
29269
|
-
* for the current view, then the memory usage of the tiles loaded will exceed
|
|
29270
|
-
* <code>maximumMemoryUsage</code>. For example, if the maximum is 256 MB, but
|
|
29271
|
-
* 300 MB of tiles are needed to meet the screen space error, then 300 MB of tiles may be loaded. When
|
|
29272
|
-
* these tiles go out of view, they will be unloaded.
|
|
29273
|
-
* </p>
|
|
29274
|
-
*/
|
|
29275
|
-
maximumMemoryUsage: number;
|
|
29276
29293
|
/**
|
|
29277
29294
|
* The amount of GPU memory (in bytes) used to cache tiles. This memory usage is estimated from
|
|
29278
29295
|
* geometry, textures, and batch table textures of loaded tiles. For point clouds, this value also
|
|
@@ -36819,6 +36836,7 @@ export namespace OpenStreetMapImageryProvider {
|
|
|
36819
36836
|
* Initialization options for the OpenStreetMapImageryProvider constructor
|
|
36820
36837
|
* @property [url = 'https://tile.openstreetmap.org'] - The OpenStreetMap server url.
|
|
36821
36838
|
* @property [fileExtension = 'png'] - The file extension for images on the server.
|
|
36839
|
+
* @property [retinaTiles = false] - When true, request tiles at the 2x resolution for retina displays.
|
|
36822
36840
|
* @property [rectangle = Rectangle.MAX_VALUE] - The rectangle of the layer.
|
|
36823
36841
|
* @property [minimumLevel = 0] - The minimum level-of-detail supported by the imagery provider.
|
|
36824
36842
|
* @property [maximumLevel] - The maximum level-of-detail supported by the imagery provider, or undefined if there is no limit.
|
|
@@ -36828,6 +36846,7 @@ export namespace OpenStreetMapImageryProvider {
|
|
|
36828
36846
|
type ConstructorOptions = {
|
|
36829
36847
|
url?: string;
|
|
36830
36848
|
fileExtension?: string;
|
|
36849
|
+
retinaTiles?: boolean;
|
|
36831
36850
|
rectangle?: Rectangle;
|
|
36832
36851
|
minimumLevel?: number;
|
|
36833
36852
|
maximumLevel?: number;
|
|
@@ -38578,16 +38597,16 @@ export namespace PostProcessStageLibrary {
|
|
|
38578
38597
|
* </p>
|
|
38579
38598
|
* @example
|
|
38580
38599
|
* // multiple silhouette effects
|
|
38581
|
-
* const yellowEdge = Cesium.
|
|
38600
|
+
* const yellowEdge = Cesium.PostProcessStageLibrary.createEdgeDetectionStage();
|
|
38582
38601
|
* yellowEdge.uniforms.color = Cesium.Color.YELLOW;
|
|
38583
38602
|
* yellowEdge.selected = [feature0];
|
|
38584
38603
|
*
|
|
38585
|
-
* const greenEdge = Cesium.
|
|
38604
|
+
* const greenEdge = Cesium.PostProcessStageLibrary.createEdgeDetectionStage();
|
|
38586
38605
|
* greenEdge.uniforms.color = Cesium.Color.LIME;
|
|
38587
38606
|
* greenEdge.selected = [feature1];
|
|
38588
38607
|
*
|
|
38589
38608
|
* // draw edges around feature0 and feature1
|
|
38590
|
-
* postProcessStages.add(Cesium.
|
|
38609
|
+
* postProcessStages.add(Cesium.PostProcessStageLibrary.createSilhouetteStage([yellowEdge, greenEdge]);
|
|
38591
38610
|
* @returns A post-process stage that applies an edge detection effect.
|
|
38592
38611
|
*/
|
|
38593
38612
|
function createEdgeDetectionStage(): PostProcessStage;
|
|
@@ -39012,6 +39031,19 @@ export class PrimitiveCollection {
|
|
|
39012
39031
|
* Gets the number of primitives in the collection.
|
|
39013
39032
|
*/
|
|
39014
39033
|
readonly length: number;
|
|
39034
|
+
/**
|
|
39035
|
+
* An event that is raised when a primitive is added to the collection.
|
|
39036
|
+
* Event handlers are passed the primitive that was added.
|
|
39037
|
+
*/
|
|
39038
|
+
readonly primitiveAdded: Event;
|
|
39039
|
+
/**
|
|
39040
|
+
* An event that is raised when a primitive is removed from the collection.
|
|
39041
|
+
* Event handlers are passed the primitive that was removed.
|
|
39042
|
+
* <p>
|
|
39043
|
+
* Note: Depending on the destroyPrimitives constructor option, the primitive may already be destroyed.
|
|
39044
|
+
* </p>
|
|
39045
|
+
*/
|
|
39046
|
+
readonly primitiveRemoved: Event;
|
|
39015
39047
|
/**
|
|
39016
39048
|
* Adds a primitive to the collection.
|
|
39017
39049
|
* @example
|
|
@@ -40102,8 +40134,9 @@ export namespace SingleTileImageryProvider {
|
|
|
40102
40134
|
}
|
|
40103
40135
|
|
|
40104
40136
|
/**
|
|
40105
|
-
* Provides a single, top-level imagery tile. The single image is assumed to
|
|
40106
|
-
*
|
|
40137
|
+
* Provides a single, top-level imagery tile. The single image is assumed to be in
|
|
40138
|
+
* the Geographic projection (i.e. WGS84 / EPSG:4326),
|
|
40139
|
+
* and will be rendered using a {@link GeographicTilingScheme}.
|
|
40107
40140
|
* @param options - Object describing initialization options
|
|
40108
40141
|
*/
|
|
40109
40142
|
export class SingleTileImageryProvider {
|
|
@@ -40171,8 +40204,9 @@ export class SingleTileImageryProvider {
|
|
|
40171
40204
|
* const provider = await SingleTileImageryProvider.fromUrl("https://yoururl.com/image.png");
|
|
40172
40205
|
* @param url - The url for the tile
|
|
40173
40206
|
* @param [options] - Object describing initialization options.
|
|
40207
|
+
* @returns The resolved SingleTileImageryProvider.
|
|
40174
40208
|
*/
|
|
40175
|
-
static fromUrl(url: Resource | string, options?: SingleTileImageryProvider.fromUrlOptions):
|
|
40209
|
+
static fromUrl(url: Resource | string, options?: SingleTileImageryProvider.fromUrlOptions): Promise<SingleTileImageryProvider>;
|
|
40176
40210
|
/**
|
|
40177
40211
|
* Gets the credits to be displayed when a given tile is displayed.
|
|
40178
40212
|
* @param x - The tile X coordinate.
|
|
@@ -42361,7 +42395,7 @@ export function createWorldImageryAsync(options?: {
|
|
|
42361
42395
|
* @param [options.scene3DOnly = false] - When <code>true</code>, each geometry instance will only be rendered in 3D to save GPU memory.
|
|
42362
42396
|
* @param [options.orderIndependentTranslucency = true] - If true and the configuration supports it, use order independent translucency.
|
|
42363
42397
|
* @param [options.mapProjection = new GeographicProjection()] - The map projection to use in 2D and Columbus View modes.
|
|
42364
|
-
* @param [options.globe = new Globe(mapProjection.ellipsoid)] - The globe to use in the scene. If set to <code>false</code>, no globe will be added.
|
|
42398
|
+
* @param [options.globe = new Globe(mapProjection.ellipsoid)] - The globe to use in the scene. If set to <code>false</code>, no globe will be added and the sky atmosphere will be hidden by default.
|
|
42365
42399
|
* @param [options.useDefaultRenderLoop = true] - True if this widget should control the render loop, false otherwise.
|
|
42366
42400
|
* @param [options.useBrowserRecommendedResolution = true] - If true, render at the browser's recommended resolution and ignore <code>window.devicePixelRatio</code>.
|
|
42367
42401
|
* @param [options.targetFrameRate] - The target frame rate when using the default render loop.
|