@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
|
@@ -12,6 +12,7 @@ const scratchCartesian2 = new Cartesian2();
|
|
|
12
12
|
*
|
|
13
13
|
* @param {TerrainProvider} terrainProvider The terrain provider from which to query heights.
|
|
14
14
|
* @param {Cartographic[]} positions The positions to update with terrain heights.
|
|
15
|
+
* @param {boolean} [rejectOnTileFail=false] If true, for a failed terrain tile request the promise will be rejected. If false, returned heights will be undefined.
|
|
15
16
|
* @returns {Promise<Cartographic[]>} A promise that resolves to the provided list of positions when terrain the query has completed. This
|
|
16
17
|
* promise will reject if the terrain provider's `availability` property is undefined.
|
|
17
18
|
*
|
|
@@ -25,8 +26,22 @@ const scratchCartesian2 = new Cartesian2();
|
|
|
25
26
|
* const updatedPositions = await Cesium.sampleTerrainMostDetailed(terrainProvider, positions);
|
|
26
27
|
* // positions[0].height and positions[1].height have been updated.
|
|
27
28
|
* // updatedPositions is just a reference to positions.
|
|
29
|
+
*
|
|
30
|
+
* // To handle tile errors, pass true for the rejectOnTileFail parameter.
|
|
31
|
+
* try {
|
|
32
|
+
* const updatedPositions = await Cesium.sampleTerrainMostDetailed(terrainProvider, positions, true);
|
|
33
|
+
* } catch (error) {
|
|
34
|
+
* // A tile request error occurred.
|
|
35
|
+
* }
|
|
28
36
|
*/
|
|
29
|
-
async function sampleTerrainMostDetailed(
|
|
37
|
+
async function sampleTerrainMostDetailed(
|
|
38
|
+
terrainProvider,
|
|
39
|
+
positions,
|
|
40
|
+
rejectOnTileFail
|
|
41
|
+
) {
|
|
42
|
+
if (!defined(rejectOnTileFail)) {
|
|
43
|
+
rejectOnTileFail = false;
|
|
44
|
+
}
|
|
30
45
|
//>>includeStart('debug', pragmas.debug);
|
|
31
46
|
if (!defined(terrainProvider)) {
|
|
32
47
|
throw new DeveloperError("terrainProvider is required.");
|
|
@@ -84,7 +99,12 @@ async function sampleTerrainMostDetailed(terrainProvider, positions) {
|
|
|
84
99
|
await Promise.all(
|
|
85
100
|
byLevel.map(function (positionsAtLevel, index) {
|
|
86
101
|
if (defined(positionsAtLevel)) {
|
|
87
|
-
return sampleTerrain(
|
|
102
|
+
return sampleTerrain(
|
|
103
|
+
terrainProvider,
|
|
104
|
+
index,
|
|
105
|
+
positionsAtLevel,
|
|
106
|
+
rejectOnTileFail
|
|
107
|
+
);
|
|
88
108
|
}
|
|
89
109
|
})
|
|
90
110
|
);
|
|
@@ -100,7 +120,11 @@ async function sampleTerrainMostDetailed(terrainProvider, positions) {
|
|
|
100
120
|
}
|
|
101
121
|
|
|
102
122
|
if (changedPositions.length > 0) {
|
|
103
|
-
await sampleTerrainMostDetailed(
|
|
123
|
+
await sampleTerrainMostDetailed(
|
|
124
|
+
terrainProvider,
|
|
125
|
+
changedPositions,
|
|
126
|
+
rejectOnTileFail
|
|
127
|
+
);
|
|
104
128
|
}
|
|
105
129
|
|
|
106
130
|
return positions;
|
|
@@ -4,7 +4,7 @@ import Resource from "../Core/Resource.js";
|
|
|
4
4
|
|
|
5
5
|
let defaultTokenCredit;
|
|
6
6
|
const defaultAccessToken =
|
|
7
|
-
"
|
|
7
|
+
"AAPK4db83df15a06415e9b7d45d826eec992u0REAmuLmykhOFOk_4e61HgsO_e3C_qGUgiWNGElpjpiMfO9_Qg5ZRyy8POvB5EF";
|
|
8
8
|
/**
|
|
9
9
|
* Default options for accessing the ArcGIS image tile service.
|
|
10
10
|
*
|
|
@@ -76,7 +76,6 @@ ArcGisMapService.getDefaultTokenCredit = function (providedKey) {
|
|
|
76
76
|
You can sign up for a free ArcGIS Developer account at <a href="https://developers.arcgis.com/">https://developers.arcgis.com/</a>.</b>';
|
|
77
77
|
|
|
78
78
|
defaultTokenCredit = new Credit(defaultTokenMessage, true);
|
|
79
|
-
defaultTokenCredit._isDefaultToken = true;
|
|
80
79
|
}
|
|
81
80
|
|
|
82
81
|
return defaultTokenCredit;
|
|
@@ -1166,6 +1166,13 @@ Billboard.prototype._loadImage = function () {
|
|
|
1166
1166
|
that._image = undefined;
|
|
1167
1167
|
that._imageIndexPromise = undefined;
|
|
1168
1168
|
makeDirty(that, IMAGE_INDEX_INDEX);
|
|
1169
|
+
|
|
1170
|
+
const scene = that._billboardCollection._scene;
|
|
1171
|
+
if (!defined(scene)) {
|
|
1172
|
+
return;
|
|
1173
|
+
}
|
|
1174
|
+
// Request a new render in request render mode
|
|
1175
|
+
scene.frameState.afterRender.push(() => true);
|
|
1169
1176
|
}
|
|
1170
1177
|
|
|
1171
1178
|
if (defined(image)) {
|
|
@@ -39,7 +39,7 @@ passOptions[Cesium3DTilePass.SHADOW] = Object.freeze({
|
|
|
39
39
|
});
|
|
40
40
|
|
|
41
41
|
passOptions[Cesium3DTilePass.PRELOAD] = Object.freeze({
|
|
42
|
-
pass: Cesium3DTilePass.
|
|
42
|
+
pass: Cesium3DTilePass.PRELOAD,
|
|
43
43
|
isRender: false,
|
|
44
44
|
requestTiles: true,
|
|
45
45
|
ignoreCommands: true,
|
|
@@ -67,7 +67,6 @@ import Cesium3DTilesetSkipTraversal from "./Cesium3DTilesetSkipTraversal.js";
|
|
|
67
67
|
* @property {Axis} [modelForwardAxis=Axis.X] Which axis is considered forward when loading models for tile contents.
|
|
68
68
|
* @property {ShadowMode} [shadows=ShadowMode.ENABLED] Determines whether the tileset casts or receives shadows from light sources.
|
|
69
69
|
* @property {number} [maximumScreenSpaceError=16] The maximum screen space error used to drive level of detail refinement.
|
|
70
|
-
* @property {number} [maximumMemoryUsage=512] The maximum amount of memory in MB that can be used by the tileset. Deprecated.
|
|
71
70
|
* @property {number} [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.
|
|
72
71
|
* @property {number} [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.
|
|
73
72
|
* @property {boolean} [cullWithChildrenBounds=true] Optimization option. Whether to cull tiles using the union of their children bounding volumes.
|
|
@@ -224,15 +223,7 @@ function Cesium3DTileset(options) {
|
|
|
224
223
|
);
|
|
225
224
|
this._memoryAdjustedScreenSpaceError = this._maximumScreenSpaceError;
|
|
226
225
|
|
|
227
|
-
|
|
228
|
-
if (defined(options.maximumMemoryUsage)) {
|
|
229
|
-
deprecationWarning(
|
|
230
|
-
"Cesium3DTileset.maximumMemoryUsage",
|
|
231
|
-
"Cesium3DTileset.maximumMemoryUsage was deprecated in CesiumJS 1.107. It will be removed in CesiumJS 1.110. Use Cesium3DTileset.cacheBytes instead."
|
|
232
|
-
);
|
|
233
|
-
defaultCacheBytes = options.maximumMemoryUsage * 1024 * 1024;
|
|
234
|
-
}
|
|
235
|
-
this._cacheBytes = defaultValue(options.cacheBytes, defaultCacheBytes);
|
|
226
|
+
this._cacheBytes = defaultValue(options.cacheBytes, 512 * 1024 * 1024);
|
|
236
227
|
//>>includeStart('debug', pragmas.debug);
|
|
237
228
|
Check.typeOf.number.greaterThanOrEquals("cacheBytes", this._cacheBytes, 0);
|
|
238
229
|
//>>includeEnd('debug');
|
|
@@ -1376,57 +1367,6 @@ Object.defineProperties(Cesium3DTileset.prototype, {
|
|
|
1376
1367
|
},
|
|
1377
1368
|
},
|
|
1378
1369
|
|
|
1379
|
-
/**
|
|
1380
|
-
* The maximum amount of GPU memory (in MB) that may be used to cache tiles. This value is estimated from
|
|
1381
|
-
* geometry, textures, and batch table textures of loaded tiles. For point clouds, this value also
|
|
1382
|
-
* includes per-point metadata.
|
|
1383
|
-
* <p>
|
|
1384
|
-
* Tiles not in view are unloaded to enforce this.
|
|
1385
|
-
* </p>
|
|
1386
|
-
* <p>
|
|
1387
|
-
* If decreasing this value results in unloading tiles, the tiles are unloaded the next frame.
|
|
1388
|
-
* </p>
|
|
1389
|
-
* <p>
|
|
1390
|
-
* If tiles sized more than <code>maximumMemoryUsage</code> are needed
|
|
1391
|
-
* to meet the desired screen space error, determined by {@link Cesium3DTileset#maximumScreenSpaceError},
|
|
1392
|
-
* for the current view, then the memory usage of the tiles loaded will exceed
|
|
1393
|
-
* <code>maximumMemoryUsage</code>. For example, if the maximum is 256 MB, but
|
|
1394
|
-
* 300 MB of tiles are needed to meet the screen space error, then 300 MB of tiles may be loaded. When
|
|
1395
|
-
* these tiles go out of view, they will be unloaded.
|
|
1396
|
-
* </p>
|
|
1397
|
-
*
|
|
1398
|
-
* @memberof Cesium3DTileset.prototype
|
|
1399
|
-
*
|
|
1400
|
-
* @type {number}
|
|
1401
|
-
* @default 512
|
|
1402
|
-
*
|
|
1403
|
-
* @exception {DeveloperError} <code>maximumMemoryUsage</code> must be greater than or equal to zero.
|
|
1404
|
-
* @see Cesium3DTileset#totalMemoryUsageInBytes
|
|
1405
|
-
*
|
|
1406
|
-
* @deprecated
|
|
1407
|
-
*/
|
|
1408
|
-
maximumMemoryUsage: {
|
|
1409
|
-
get: function () {
|
|
1410
|
-
deprecationWarning(
|
|
1411
|
-
"Cesium3DTileset.maximumMemoryUsage",
|
|
1412
|
-
"Cesium3DTileset.maximumMemoryUsage was deprecated in CesiumJS 1.107. It will be removed in CesiumJS 1.110. Use Cesium3DTileset.cacheBytes instead."
|
|
1413
|
-
);
|
|
1414
|
-
return this._maximumMemoryUsage;
|
|
1415
|
-
},
|
|
1416
|
-
set: function (value) {
|
|
1417
|
-
deprecationWarning(
|
|
1418
|
-
"Cesium3DTileset.maximumMemoryUsage",
|
|
1419
|
-
"Cesium3DTileset.maximumMemoryUsage was deprecated in CesiumJS 1.107. It will be removed in CesiumJS 1.110. Use Cesium3DTileset.cacheBytes instead."
|
|
1420
|
-
);
|
|
1421
|
-
//>>includeStart('debug', pragmas.debug);
|
|
1422
|
-
Check.typeOf.number.greaterThanOrEquals("value", value, 0);
|
|
1423
|
-
//>>includeEnd('debug');
|
|
1424
|
-
|
|
1425
|
-
this._maximumMemoryUsage = value;
|
|
1426
|
-
this._cacheBytes = value * 1024 * 1024;
|
|
1427
|
-
},
|
|
1428
|
-
},
|
|
1429
|
-
|
|
1430
1370
|
/**
|
|
1431
1371
|
* The amount of GPU memory (in bytes) used to cache tiles. This memory usage is estimated from
|
|
1432
1372
|
* geometry, textures, and batch table textures of loaded tiles. For point clouds, this value also
|
|
@@ -1880,6 +1820,7 @@ Object.defineProperties(Cesium3DTileset.prototype, {
|
|
|
1880
1820
|
},
|
|
1881
1821
|
set: function (value) {
|
|
1882
1822
|
this._showCreditsOnScreen = value;
|
|
1823
|
+
createCredits(this);
|
|
1883
1824
|
},
|
|
1884
1825
|
},
|
|
1885
1826
|
|
|
@@ -2068,24 +2009,7 @@ Cesium3DTileset.fromUrl = async function (url, options) {
|
|
|
2068
2009
|
tileset._asset = asset;
|
|
2069
2010
|
tileset._extras = tilesetJson.extras;
|
|
2070
2011
|
|
|
2071
|
-
|
|
2072
|
-
if (!defined(credits)) {
|
|
2073
|
-
credits = [];
|
|
2074
|
-
}
|
|
2075
|
-
|
|
2076
|
-
const assetExtras = asset.extras;
|
|
2077
|
-
if (
|
|
2078
|
-
defined(assetExtras) &&
|
|
2079
|
-
defined(assetExtras.cesium) &&
|
|
2080
|
-
defined(assetExtras.cesium.credits)
|
|
2081
|
-
) {
|
|
2082
|
-
const extraCredits = assetExtras.cesium.credits;
|
|
2083
|
-
for (let i = 0; i < extraCredits.length; ++i) {
|
|
2084
|
-
const credit = extraCredits[i];
|
|
2085
|
-
credits.push(new Credit(credit.html, tileset._showCreditsOnScreen));
|
|
2086
|
-
}
|
|
2087
|
-
}
|
|
2088
|
-
tileset._credits = credits;
|
|
2012
|
+
createCredits(tileset);
|
|
2089
2013
|
|
|
2090
2014
|
// Handle legacy gltfUpAxis option
|
|
2091
2015
|
const gltfUpAxis = defined(tilesetJson.asset.gltfUpAxis)
|
|
@@ -3210,8 +3134,6 @@ function update(tileset, frameState, passStatistics, passOptions) {
|
|
|
3210
3134
|
if (defined(credits) && statistics.selected !== 0) {
|
|
3211
3135
|
for (let i = 0; i < credits.length; ++i) {
|
|
3212
3136
|
const credit = credits[i];
|
|
3213
|
-
credit.showOnScreen =
|
|
3214
|
-
tileset._showCreditsOnScreen || credit._isDefaultToken;
|
|
3215
3137
|
frameState.creditDisplay.addCreditToNextFrame(credit);
|
|
3216
3138
|
}
|
|
3217
3139
|
}
|
|
@@ -3220,6 +3142,41 @@ function update(tileset, frameState, passStatistics, passOptions) {
|
|
|
3220
3142
|
return ready;
|
|
3221
3143
|
}
|
|
3222
3144
|
|
|
3145
|
+
function createCredits(tileset) {
|
|
3146
|
+
let credits = tileset._credits;
|
|
3147
|
+
if (!defined(credits)) {
|
|
3148
|
+
credits = [];
|
|
3149
|
+
}
|
|
3150
|
+
credits.length = 0;
|
|
3151
|
+
|
|
3152
|
+
if (defined(tileset.resource.credits)) {
|
|
3153
|
+
tileset.resource.credits.forEach((credit) => {
|
|
3154
|
+
credits.push(Credit.clone(credit));
|
|
3155
|
+
});
|
|
3156
|
+
}
|
|
3157
|
+
|
|
3158
|
+
const assetExtras = tileset.asset.extras;
|
|
3159
|
+
if (
|
|
3160
|
+
defined(assetExtras) &&
|
|
3161
|
+
defined(assetExtras.cesium) &&
|
|
3162
|
+
defined(assetExtras.cesium.credits)
|
|
3163
|
+
) {
|
|
3164
|
+
const extraCredits = assetExtras.cesium.credits;
|
|
3165
|
+
for (let i = 0; i < extraCredits.length; ++i) {
|
|
3166
|
+
const credit = extraCredits[i];
|
|
3167
|
+
credits.push(new Credit(credit.html));
|
|
3168
|
+
}
|
|
3169
|
+
}
|
|
3170
|
+
|
|
3171
|
+
credits.forEach(
|
|
3172
|
+
(credit) =>
|
|
3173
|
+
(credit.showOnScreen =
|
|
3174
|
+
credit.showOnScreen || tileset._showCreditsOnScreen)
|
|
3175
|
+
);
|
|
3176
|
+
|
|
3177
|
+
tileset._credits = credits;
|
|
3178
|
+
}
|
|
3179
|
+
|
|
3223
3180
|
/**
|
|
3224
3181
|
* @private
|
|
3225
3182
|
* @param {object} passOptions
|
|
@@ -437,7 +437,7 @@ CreditDisplay.prototype.addCreditToNextFrame = function (credit) {
|
|
|
437
437
|
Check.defined("credit", credit);
|
|
438
438
|
//>>includeEnd('debug');
|
|
439
439
|
|
|
440
|
-
if (credit.
|
|
440
|
+
if (credit.isIon()) {
|
|
441
441
|
// If this is the an ion logo credit from the ion server
|
|
442
442
|
// Just use the default credit (which is identical) to avoid blinking
|
|
443
443
|
if (!defined(this._defaultCredit)) {
|
|
@@ -546,7 +546,7 @@ CreditDisplay.prototype.beginFrame = function () {
|
|
|
546
546
|
: lightboxCredits;
|
|
547
547
|
|
|
548
548
|
if (
|
|
549
|
-
staticCredit.
|
|
549
|
+
staticCredit.isIon() &&
|
|
550
550
|
Credit.equals(CreditDisplay.cesiumCredit, this._cesiumCredit)
|
|
551
551
|
) {
|
|
552
552
|
// If this is an ion logo credit from the ion server,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import defined from "../Core/defined.js";
|
|
2
2
|
import FeatureDetection from "../Core/FeatureDetection.js";
|
|
3
|
+
import RuntimeError from "../Core/RuntimeError.js";
|
|
3
4
|
import TaskProcessor from "../Core/TaskProcessor.js";
|
|
4
5
|
|
|
5
6
|
/**
|
|
@@ -16,6 +17,7 @@ DracoLoader._maxDecodingConcurrency = Math.max(
|
|
|
16
17
|
// Exposed for testing purposes
|
|
17
18
|
DracoLoader._decoderTaskProcessor = undefined;
|
|
18
19
|
DracoLoader._taskProcessorReady = false;
|
|
20
|
+
DracoLoader._error = undefined;
|
|
19
21
|
DracoLoader._getDecoderTaskProcessor = function () {
|
|
20
22
|
if (!defined(DracoLoader._decoderTaskProcessor)) {
|
|
21
23
|
const processor = new TaskProcessor(
|
|
@@ -24,11 +26,19 @@ DracoLoader._getDecoderTaskProcessor = function () {
|
|
|
24
26
|
);
|
|
25
27
|
processor
|
|
26
28
|
.initWebAssemblyModule({
|
|
27
|
-
modulePath: "ThirdParty/Workers/draco_decoder_nodejs.js",
|
|
28
29
|
wasmBinaryFile: "ThirdParty/draco_decoder.wasm",
|
|
29
30
|
})
|
|
30
|
-
.then(function () {
|
|
31
|
-
|
|
31
|
+
.then(function (result) {
|
|
32
|
+
if (result) {
|
|
33
|
+
DracoLoader._taskProcessorReady = true;
|
|
34
|
+
} else {
|
|
35
|
+
DracoLoader._error = new RuntimeError(
|
|
36
|
+
"Draco decoder could not be initialized."
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
})
|
|
40
|
+
.catch((error) => {
|
|
41
|
+
DracoLoader._error = error;
|
|
32
42
|
});
|
|
33
43
|
DracoLoader._decoderTaskProcessor = processor;
|
|
34
44
|
}
|
|
@@ -39,9 +49,15 @@ DracoLoader._getDecoderTaskProcessor = function () {
|
|
|
39
49
|
/**
|
|
40
50
|
* Decodes a compressed point cloud. Returns undefined if the task cannot be scheduled.
|
|
41
51
|
* @private
|
|
52
|
+
*
|
|
53
|
+
* @exception {RuntimeError} Draco decoder could not be initialized.
|
|
42
54
|
*/
|
|
43
55
|
DracoLoader.decodePointCloud = function (parameters) {
|
|
44
56
|
const decoderTaskProcessor = DracoLoader._getDecoderTaskProcessor();
|
|
57
|
+
if (defined(DracoLoader._error)) {
|
|
58
|
+
throw DracoLoader._error;
|
|
59
|
+
}
|
|
60
|
+
|
|
45
61
|
if (!DracoLoader._taskProcessorReady) {
|
|
46
62
|
// The task processor is not ready to schedule tasks
|
|
47
63
|
return;
|
|
@@ -62,9 +78,16 @@ DracoLoader.decodePointCloud = function (parameters) {
|
|
|
62
78
|
*
|
|
63
79
|
* @returns {Promise} A promise that resolves to the decoded indices and attributes.
|
|
64
80
|
* @private
|
|
81
|
+
*
|
|
82
|
+
* @exception {RuntimeError} Draco decoder could not be initialized.
|
|
65
83
|
*/
|
|
66
84
|
DracoLoader.decodeBufferView = function (options) {
|
|
67
85
|
const decoderTaskProcessor = DracoLoader._getDecoderTaskProcessor();
|
|
86
|
+
|
|
87
|
+
if (defined(DracoLoader._error)) {
|
|
88
|
+
throw DracoLoader._error;
|
|
89
|
+
}
|
|
90
|
+
|
|
68
91
|
if (!DracoLoader._taskProcessorReady) {
|
|
69
92
|
// The task processor is not ready to schedule tasks
|
|
70
93
|
return;
|
|
@@ -55,7 +55,6 @@ import destroyObject from "../Core/destroyObject.js";
|
|
|
55
55
|
import HeightmapEncoding from "../Core/HeightmapEncoding.js";
|
|
56
56
|
import Resource from "../Core/Resource.js";
|
|
57
57
|
import RuntimeError from "../Core/RuntimeError.js";
|
|
58
|
-
import TaskProcessor from "../Core/TaskProcessor.js";
|
|
59
58
|
import WebMercatorProjection from "../Core/WebMercatorProjection.js";
|
|
60
59
|
import I3SLayer from "./I3SLayer.js";
|
|
61
60
|
import Lerc from "lerc";
|
|
@@ -492,32 +491,6 @@ I3SDataProvider.prototype._binarizeGltf = function (rawGltf) {
|
|
|
492
491
|
return binaryGltfData;
|
|
493
492
|
};
|
|
494
493
|
|
|
495
|
-
/**
|
|
496
|
-
* @private
|
|
497
|
-
* @returns {Promise<TaskProcessor>}
|
|
498
|
-
*/
|
|
499
|
-
I3SDataProvider.prototype.getDecoderTaskProcessor = function () {
|
|
500
|
-
if (defined(this._taskProcessorReadyPromise)) {
|
|
501
|
-
return this._taskProcessorReadyPromise;
|
|
502
|
-
}
|
|
503
|
-
|
|
504
|
-
if (!defined(this._decoderTaskProcessor)) {
|
|
505
|
-
const processor = new TaskProcessor("decodeI3S");
|
|
506
|
-
this._taskProcessorReadyPromise = processor
|
|
507
|
-
.initWebAssemblyModule({
|
|
508
|
-
modulePath: "ThirdParty/Workers/draco_decoder_nodejs.js",
|
|
509
|
-
wasmBinaryFile: "ThirdParty/draco_decoder.wasm",
|
|
510
|
-
})
|
|
511
|
-
.then(() => {
|
|
512
|
-
return processor;
|
|
513
|
-
});
|
|
514
|
-
|
|
515
|
-
this._decoderTaskProcessor = processor;
|
|
516
|
-
}
|
|
517
|
-
|
|
518
|
-
return this._taskProcessorReadyPromise;
|
|
519
|
-
};
|
|
520
|
-
|
|
521
494
|
const scratchCartesian2 = new Cartesian2();
|
|
522
495
|
|
|
523
496
|
function getCoveredTiles(terrainProvider, extent) {
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import Cartographic from "../Core/Cartographic.js";
|
|
2
|
+
import Check from "../Core/Check.js";
|
|
3
|
+
import defined from "../Core/defined.js";
|
|
4
|
+
import Ellipsoid from "../Core/Ellipsoid.js";
|
|
5
|
+
import FeatureDetection from "../Core/FeatureDetection.js";
|
|
6
|
+
import CesiumMath from "../Core/Math.js";
|
|
7
|
+
import Matrix3 from "../Core/Matrix3.js";
|
|
8
|
+
import RuntimeError from "../Core/RuntimeError.js";
|
|
9
|
+
import TaskProcessor from "../Core/TaskProcessor.js";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Decode I3S using web workers.
|
|
13
|
+
*
|
|
14
|
+
* @private
|
|
15
|
+
*/
|
|
16
|
+
function I3SDecoder() {}
|
|
17
|
+
|
|
18
|
+
// Maximum concurrency to use when decoding draco models
|
|
19
|
+
I3SDecoder._maxDecodingConcurrency = Math.max(
|
|
20
|
+
FeatureDetection.hardwareConcurrency - 1,
|
|
21
|
+
1
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
I3SDecoder._decodeTaskProcessor = new TaskProcessor(
|
|
25
|
+
"decodeI3S",
|
|
26
|
+
I3SDecoder._maxDecodingConcurrency
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
I3SDecoder._promise = undefined;
|
|
30
|
+
|
|
31
|
+
async function initializeDecoder() {
|
|
32
|
+
const result = await I3SDecoder._decodeTaskProcessor.initWebAssemblyModule({
|
|
33
|
+
wasmBinaryFile: "ThirdParty/draco_decoder.wasm",
|
|
34
|
+
});
|
|
35
|
+
if (result) {
|
|
36
|
+
return I3SDecoder._decodeTaskProcessor;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
throw new RuntimeError("I3S decoder could not be initialized.");
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Transcodes I3S to glTF in a web worker
|
|
44
|
+
* @param {String} url custom attributes source URL
|
|
45
|
+
* @param {Object} defaultGeometrySchema Schema to use during decoding
|
|
46
|
+
* @param {I3SGeometry} geometryData The draco encoded geometry data
|
|
47
|
+
* @param {Array} [featureData] The draco encoded feature data
|
|
48
|
+
* @returns Promise<undefined|object> Returns a promise which resolves to the glTF result, or undefined if the task cannot be scheduled this frame.
|
|
49
|
+
*
|
|
50
|
+
* @exception {RuntimeError} I3S decoder could not be initialized.
|
|
51
|
+
*/
|
|
52
|
+
I3SDecoder.decode = async function (
|
|
53
|
+
url,
|
|
54
|
+
defaultGeometrySchema,
|
|
55
|
+
geometryData,
|
|
56
|
+
featureData
|
|
57
|
+
) {
|
|
58
|
+
//>>includeStart('debug', pragmas.debug);
|
|
59
|
+
Check.typeOf.string("url", url);
|
|
60
|
+
Check.defined("defaultGeometrySchema", defaultGeometrySchema);
|
|
61
|
+
Check.defined("geometryData", geometryData);
|
|
62
|
+
//>>includeEnd('debug');
|
|
63
|
+
|
|
64
|
+
if (!defined(I3SDecoder._promise)) {
|
|
65
|
+
I3SDecoder._promise = initializeDecoder();
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return I3SDecoder._promise.then(function (taskProcessor) {
|
|
69
|
+
// Prepare the data to send to the worker
|
|
70
|
+
const parentData = geometryData._parent._data;
|
|
71
|
+
const parentRotationInverseMatrix =
|
|
72
|
+
geometryData._parent._inverseRotationMatrix;
|
|
73
|
+
|
|
74
|
+
let longitude = 0.0;
|
|
75
|
+
let latitude = 0.0;
|
|
76
|
+
let height = 0.0;
|
|
77
|
+
|
|
78
|
+
if (defined(parentData.obb)) {
|
|
79
|
+
longitude = parentData.obb.center[0];
|
|
80
|
+
latitude = parentData.obb.center[1];
|
|
81
|
+
height = parentData.obb.center[2];
|
|
82
|
+
} else if (defined(parentData.mbs)) {
|
|
83
|
+
longitude = parentData.mbs[0];
|
|
84
|
+
latitude = parentData.mbs[1];
|
|
85
|
+
height = parentData.mbs[2];
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const axisFlipRotation = Matrix3.fromRotationX(-CesiumMath.PI_OVER_TWO);
|
|
89
|
+
const parentRotation = new Matrix3();
|
|
90
|
+
|
|
91
|
+
Matrix3.multiply(
|
|
92
|
+
axisFlipRotation,
|
|
93
|
+
parentRotationInverseMatrix,
|
|
94
|
+
parentRotation
|
|
95
|
+
);
|
|
96
|
+
|
|
97
|
+
const cartographicCenter = Cartographic.fromDegrees(
|
|
98
|
+
longitude,
|
|
99
|
+
latitude,
|
|
100
|
+
height
|
|
101
|
+
);
|
|
102
|
+
|
|
103
|
+
const cartesianCenter = Ellipsoid.WGS84.cartographicToCartesian(
|
|
104
|
+
cartographicCenter
|
|
105
|
+
);
|
|
106
|
+
|
|
107
|
+
const payload = {
|
|
108
|
+
binaryData: geometryData._data,
|
|
109
|
+
featureData:
|
|
110
|
+
defined(featureData) && defined(featureData[0])
|
|
111
|
+
? featureData[0].data
|
|
112
|
+
: undefined,
|
|
113
|
+
schema: defaultGeometrySchema,
|
|
114
|
+
bufferInfo: geometryData._geometryBufferInfo,
|
|
115
|
+
ellipsoidRadiiSquare: Ellipsoid.WGS84.radiiSquared,
|
|
116
|
+
url: url,
|
|
117
|
+
geoidDataList: geometryData._dataProvider._geoidDataList,
|
|
118
|
+
cartographicCenter: cartographicCenter,
|
|
119
|
+
cartesianCenter: cartesianCenter,
|
|
120
|
+
parentRotation: parentRotation,
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
return taskProcessor.scheduleTask(payload);
|
|
124
|
+
});
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
export default I3SDecoder;
|