@cesium/engine 2.1.0 → 2.3.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/Workers/{AttributeCompression-8a5a065e.js → AttributeCompression-f9f6c717.js} +1 -1
- package/Build/Workers/{AxisAlignedBoundingBox-a6f9f0e5.js → AxisAlignedBoundingBox-31fadcf0.js} +1 -1
- package/Build/Workers/{BoundingRectangle-b0a68595.js → BoundingRectangle-995f0079.js} +1 -1
- package/Build/Workers/{BoxGeometry-baedd794.js → BoxGeometry-7eb1af60.js} +1 -1
- package/Build/Workers/{Color-f85df1be.js → Color-2dc49658.js} +1 -1
- package/Build/Workers/{CoplanarPolygonGeometryLibrary-30516950.js → CoplanarPolygonGeometryLibrary-d7d972d6.js} +1 -1
- package/Build/Workers/{CorridorGeometryLibrary-5d5d3b3a.js → CorridorGeometryLibrary-1f5ef7b3.js} +1 -1
- package/Build/Workers/{CylinderGeometry-d899ae26.js → CylinderGeometry-23c67a6c.js} +1 -1
- package/Build/Workers/{CylinderGeometryLibrary-135b0858.js → CylinderGeometryLibrary-7bf291b4.js} +1 -1
- package/Build/Workers/{EllipseGeometry-a49f8449.js → EllipseGeometry-37014da4.js} +1 -1
- package/Build/Workers/{EllipseGeometryLibrary-cba7edde.js → EllipseGeometryLibrary-92ab6b1e.js} +1 -1
- package/Build/Workers/{EllipseOutlineGeometry-8095c8cb.js → EllipseOutlineGeometry-12b6fef5.js} +1 -1
- package/Build/Workers/{EllipsoidGeodesic-dcff5cbd.js → EllipsoidGeodesic-5b3623dc.js} +1 -1
- package/Build/Workers/{EllipsoidGeometry-ed93f571.js → EllipsoidGeometry-508da15c.js} +1 -1
- package/Build/Workers/{EllipsoidOutlineGeometry-e4854854.js → EllipsoidOutlineGeometry-40d97455.js} +1 -1
- package/Build/Workers/{EllipsoidRhumbLine-b672d507.js → EllipsoidRhumbLine-ef872433.js} +1 -1
- package/Build/Workers/{EllipsoidTangentPlane-7ae1aa9a.js → EllipsoidTangentPlane-46d4d9c2.js} +1 -1
- package/Build/Workers/{EncodedCartesian3-e8bbca36.js → EncodedCartesian3-57415c8a.js} +1 -1
- package/Build/Workers/{FrustumGeometry-b62db3e3.js → FrustumGeometry-38605e69.js} +32 -4
- package/Build/Workers/{GeometryAttribute-780af4fa.js → GeometryAttribute-a466e9c7.js} +1 -1
- package/Build/Workers/{GeometryInstance-3fb607b7.js → GeometryInstance-34d9e21e.js} +1 -1
- package/Build/Workers/{GeometryPipeline-36b61c99.js → GeometryPipeline-dcf79306.js} +1 -1
- package/Build/Workers/{IndexDatatype-b8f3e09d.js → IndexDatatype-2643aa47.js} +1 -1
- package/Build/Workers/{IntersectionTests-e889fcf0.js → IntersectionTests-88c49b2e.js} +1 -1
- package/Build/Workers/{Math-dad82b4d.js → Math-0a2ac845.js} +12 -2
- package/Build/Workers/{Matrix2-1e403d0e.js → Matrix2-e1298525.js} +1 -1
- package/Build/Workers/{Matrix3-fa806b97.js → Matrix3-41c58dde.js} +1 -1
- package/Build/Workers/{OrientedBoundingBox-43478ac8.js → OrientedBoundingBox-2dd47921.js} +5 -3
- package/Build/Workers/{Plane-c27e1ac6.js → Plane-4c3d403b.js} +1 -1
- package/Build/Workers/{PolygonGeometryLibrary-38a98276.js → PolygonGeometryLibrary-59126025.js} +1 -1
- package/Build/Workers/PolygonPipeline-1fe328c0.js +1344 -0
- package/Build/Workers/{PolylinePipeline-30e4cec9.js → PolylinePipeline-896735cc.js} +1 -1
- package/Build/Workers/{PolylineVolumeGeometryLibrary-90551d26.js → PolylineVolumeGeometryLibrary-9c0639f7.js} +1 -1
- package/Build/Workers/{PrimitivePipeline-558d9cb0.js → PrimitivePipeline-fc1a47ff.js} +1 -1
- package/Build/Workers/{RectangleGeometryLibrary-815c68df.js → RectangleGeometryLibrary-a23c9ebe.js} +1 -1
- package/Build/Workers/{TerrainEncoding-341ead52.js → TerrainEncoding-51b8b33b.js} +1 -1
- package/Build/Workers/Transforms-bc45e707.js +14699 -0
- package/Build/Workers/{WallGeometryLibrary-ccf90976.js → WallGeometryLibrary-007e9883.js} +1 -1
- package/Build/Workers/{WebMercatorProjection-76a3fcc0.js → WebMercatorProjection-13ed1a6e.js} +1 -1
- package/Build/Workers/{arrayRemoveDuplicates-fac118a8.js → arrayRemoveDuplicates-d2061e85.js} +1 -1
- package/Build/Workers/cesiumWorkerBootstrapper.js +1 -1
- package/Build/Workers/combineGeometry.js +1 -1
- package/Build/Workers/createBoxGeometry.js +1 -1
- package/Build/Workers/createBoxOutlineGeometry.js +1 -1
- package/Build/Workers/createCircleGeometry.js +1 -1
- package/Build/Workers/createCircleOutlineGeometry.js +1 -1
- package/Build/Workers/createCoplanarPolygonGeometry.js +1 -1
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
- package/Build/Workers/createCorridorGeometry.js +1 -1
- package/Build/Workers/createCorridorOutlineGeometry.js +1 -1
- package/Build/Workers/createCylinderGeometry.js +1 -1
- package/Build/Workers/createCylinderOutlineGeometry.js +1 -1
- package/Build/Workers/createEllipseGeometry.js +1 -1
- package/Build/Workers/createEllipseOutlineGeometry.js +1 -1
- package/Build/Workers/createEllipsoidGeometry.js +1 -1
- package/Build/Workers/createEllipsoidOutlineGeometry.js +1 -1
- package/Build/Workers/createFrustumGeometry.js +1 -1
- package/Build/Workers/createFrustumOutlineGeometry.js +1 -1
- package/Build/Workers/createGeometry.js +1 -1
- package/Build/Workers/createGroundPolylineGeometry.js +1 -1
- package/Build/Workers/createPlaneGeometry.js +1 -1
- package/Build/Workers/createPlaneOutlineGeometry.js +1 -1
- package/Build/Workers/createPolygonGeometry.js +1 -1
- package/Build/Workers/createPolygonOutlineGeometry.js +1 -1
- package/Build/Workers/createPolylineGeometry.js +1 -1
- package/Build/Workers/createPolylineVolumeGeometry.js +1 -1
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +1 -1
- package/Build/Workers/createRectangleGeometry.js +1 -1
- package/Build/Workers/createRectangleOutlineGeometry.js +1 -1
- package/Build/Workers/createSimplePolylineGeometry.js +1 -1
- package/Build/Workers/createSphereGeometry.js +1 -1
- package/Build/Workers/createSphereOutlineGeometry.js +1 -1
- package/Build/Workers/createVectorTileClampedPolylines.js +1 -1
- package/Build/Workers/createVectorTileGeometries.js +1 -1
- package/Build/Workers/createVectorTilePoints.js +1 -1
- package/Build/Workers/createVectorTilePolygons.js +1 -1
- package/Build/Workers/createVectorTilePolylines.js +1 -1
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
- package/Build/Workers/createVerticesFromHeightmap.js +5 -8
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +10 -15
- package/Build/Workers/createWallGeometry.js +1 -1
- package/Build/Workers/createWallOutlineGeometry.js +1 -1
- package/Build/Workers/decodeDraco.js +1 -1
- package/Build/Workers/decodeI3S.js +1 -1
- package/Build/Workers/package.js +1 -1
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +1 -1
- package/Source/Core/ArcGISTiledElevationTerrainProvider.js +291 -191
- package/Source/Core/BingMapsGeocoderService.js +19 -1
- package/Source/Core/CartographicGeocoderService.js +15 -0
- package/Source/Core/CesiumTerrainProvider.js +571 -434
- package/Source/Core/Credit.js +1 -1
- package/Source/Core/CustomHeightmapTerrainProvider.js +12 -0
- package/Source/Core/EllipsoidTerrainProvider.js +17 -10
- package/Source/Core/FrustumGeometry.js +4 -3
- package/Source/Core/GeocoderService.js +32 -1
- package/Source/Core/GoogleEarthEnterpriseMetadata.js +86 -34
- package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +119 -82
- package/Source/Core/Ion.js +1 -1
- package/Source/Core/IonGeocoderService.js +17 -2
- package/Source/Core/IonResource.js +14 -3
- package/Source/Core/OpenCageGeocoderService.js +18 -1
- package/Source/Core/OrientedBoundingBox.js +4 -2
- package/Source/Core/OrthographicFrustum.js +13 -0
- package/Source/Core/PeliasGeocoderService.js +14 -1
- package/Source/Core/PerspectiveFrustum.js +14 -0
- package/Source/Core/Request.js +3 -2
- package/Source/Core/RequestScheduler.js +10 -5
- package/Source/Core/Resource.js +230 -236
- package/Source/Core/TerrainProvider.js +9 -14
- package/Source/Core/TileProviderError.js +8 -8
- package/Source/Core/VRTheWorldTerrainProvider.js +193 -124
- package/Source/Core/buildModuleUrl.js +4 -3
- package/Source/Core/createWorldTerrain.js +20 -2
- package/Source/Core/createWorldTerrainAsync.js +48 -0
- package/Source/Core/sampleTerrain.js +9 -10
- package/Source/Core/sampleTerrainMostDetailed.js +66 -72
- package/Source/DataSources/Cesium3DTilesetVisualizer.js +37 -26
- package/Source/DataSources/DataSourceDisplay.js +2 -2
- package/Source/DataSources/Entity.js +6 -1
- package/Source/DataSources/EntityCluster.js +126 -128
- package/Source/DataSources/ModelVisualizer.js +104 -34
- package/Source/DataSources/PolygonGraphics.js +1 -1
- package/Source/Renderer/UniformState.js +3 -2
- package/Source/Renderer/demodernizeShader.js +5 -5
- package/Source/Scene/ArcGisBaseMapType.js +12 -0
- package/Source/Scene/ArcGisMapServerImageryProvider.js +694 -376
- package/Source/Scene/ArcGisMapService.js +83 -0
- package/Source/Scene/BingMapsImageryProvider.js +511 -305
- package/Source/Scene/BufferLoader.js +29 -34
- package/Source/Scene/Camera.js +8 -7
- package/Source/Scene/Cesium3DTile.js +392 -254
- package/Source/Scene/Cesium3DTileBatchTable.js +2 -2
- package/Source/Scene/Cesium3DTileContent.js +16 -0
- package/Source/Scene/Cesium3DTileContentFactory.js +4 -4
- package/Source/Scene/Cesium3DTilePass.js +8 -11
- package/Source/Scene/Cesium3DTileStyleEngine.js +1 -1
- package/Source/Scene/Cesium3DTilesVoxelProvider.js +225 -117
- package/Source/Scene/Cesium3DTileset.js +756 -482
- package/Source/Scene/Cesium3DTilesetBaseTraversal.js +301 -0
- package/Source/Scene/Cesium3DTilesetMostDetailedTraversal.js +33 -46
- package/Source/Scene/Cesium3DTilesetSkipTraversal.js +421 -0
- package/Source/Scene/Cesium3DTilesetTraversal.js +219 -671
- package/Source/Scene/ClassificationPrimitive.js +7 -0
- package/Source/Scene/Composite3DTileContent.js +69 -26
- package/Source/Scene/CreditDisplay.js +132 -20
- package/Source/Scene/DepthPlane.js +1 -1
- package/Source/Scene/Empty3DTileContent.js +31 -1
- package/Source/Scene/Geometry3DTileContent.js +47 -7
- package/Source/Scene/Globe.js +5 -1
- package/Source/Scene/GlobeSurfaceTile.js +2 -1
- package/Source/Scene/GlobeSurfaceTileProvider.js +53 -30
- package/Source/Scene/GltfBufferViewLoader.js +47 -91
- package/Source/Scene/GltfDracoLoader.js +110 -112
- package/Source/Scene/GltfImageLoader.js +71 -78
- package/Source/Scene/GltfIndexBufferLoader.js +108 -121
- package/Source/Scene/GltfJsonLoader.js +87 -74
- package/Source/Scene/GltfLoader.js +381 -300
- package/Source/Scene/GltfStructuralMetadataLoader.js +109 -110
- package/Source/Scene/GltfTextureLoader.js +97 -96
- package/Source/Scene/GltfVertexBufferLoader.js +128 -133
- package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +353 -225
- package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +491 -331
- package/Source/Scene/GridImageryProvider.js +267 -104
- package/Source/Scene/GroundPolylinePrimitive.js +12 -1
- package/Source/Scene/GroundPrimitive.js +8 -1
- package/Source/Scene/I3SDataProvider.js +214 -113
- package/Source/Scene/I3SFeature.js +7 -6
- package/Source/Scene/I3SLayer.js +26 -37
- package/Source/Scene/I3SNode.js +59 -66
- package/Source/Scene/Imagery.js +6 -1
- package/Source/Scene/ImageryLayer.js +299 -48
- package/Source/Scene/ImageryLayerCollection.js +26 -0
- package/Source/Scene/ImageryProvider.js +129 -111
- package/Source/Scene/Implicit3DTileContent.js +72 -23
- package/Source/Scene/ImplicitSubtree.js +66 -45
- package/Source/Scene/IonImageryProvider.js +482 -275
- package/Source/Scene/MapboxImageryProvider.js +272 -112
- package/Source/Scene/MapboxStyleImageryProvider.js +270 -111
- package/Source/Scene/MetadataSchemaLoader.js +26 -36
- package/Source/Scene/Model/B3dmLoader.js +42 -46
- package/Source/Scene/Model/GeoJsonLoader.js +8 -32
- package/Source/Scene/Model/I3dmLoader.js +48 -74
- package/Source/Scene/Model/MaterialPipelineStage.js +12 -12
- package/Source/Scene/Model/Model.js +514 -135
- package/Source/Scene/Model/Model3DTileContent.js +83 -31
- package/Source/Scene/Model/ModelAnimationCollection.js +3 -3
- package/Source/Scene/Model/ModelDrawCommand.js +15 -26
- package/Source/Scene/Model/ModelUtility.js +16 -16
- package/Source/Scene/Model/PntsLoader.js +27 -32
- package/Source/Scene/Model/UniformType.js +1 -1
- package/Source/Scene/Multiple3DTileContent.js +134 -115
- package/Source/Scene/Picking.js +3 -2
- package/Source/Scene/PointCloud.js +11 -19
- package/Source/Scene/Primitive.js +20 -0
- package/Source/Scene/QuadtreePrimitive.js +5 -2
- package/Source/Scene/QuadtreeTileProvider.js +4 -8
- package/Source/Scene/ResourceCache.js +47 -105
- package/Source/Scene/ResourceCacheStatistics.js +24 -58
- package/Source/Scene/ResourceLoader.js +5 -17
- package/Source/Scene/ResourceLoaderState.js +12 -4
- package/Source/Scene/Scene.js +65 -0
- package/Source/Scene/SceneTransforms.js +3 -2
- package/Source/Scene/ScreenSpaceCameraController.js +2 -2
- package/Source/Scene/SingleTileImageryProvider.js +382 -209
- package/Source/Scene/Terrain.js +196 -0
- package/Source/Scene/TileCoordinatesImageryProvider.js +267 -104
- package/Source/Scene/TileMapServiceImageryProvider.js +177 -85
- package/Source/Scene/Tileset3DTileContent.js +47 -5
- package/Source/Scene/TimeDynamicPointCloud.js +15 -2
- package/Source/Scene/UrlTemplateImageryProvider.js +343 -215
- package/Source/Scene/Vector3DTileClampedPolylines.js +96 -84
- package/Source/Scene/Vector3DTileContent.js +47 -22
- package/Source/Scene/Vector3DTileGeometry.js +57 -52
- package/Source/Scene/Vector3DTilePoints.js +97 -81
- package/Source/Scene/Vector3DTilePolygons.js +118 -117
- package/Source/Scene/Vector3DTilePolylines.js +86 -82
- package/Source/Scene/Vector3DTilePrimitive.js +0 -1
- package/Source/Scene/VoxelContent.js +61 -63
- package/Source/Scene/VoxelPrimitive.js +39 -91
- package/Source/Scene/VoxelProvider.js +2 -2
- package/Source/Scene/WebMapServiceImageryProvider.js +272 -111
- package/Source/Scene/WebMapTileServiceImageryProvider.js +270 -107
- package/Source/Scene/computeFlyToLocationForRectangle.js +33 -37
- package/Source/Scene/createOsmBuildings.js +6 -0
- package/Source/Scene/createOsmBuildingsAsync.js +82 -0
- package/Source/Scene/createWorldImagery.js +14 -5
- package/Source/Scene/createWorldImageryAsync.js +39 -0
- package/Source/Shaders/AtmosphereCommon.glsl +51 -8
- package/Source/Shaders/AtmosphereCommon.js +51 -8
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +1 -1
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +1 -1
- package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.glsl +3 -3
- package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.js +3 -3
- package/Source/Widget/CesiumWidget.js +67 -27
- package/index.d.ts +2429 -1475
- package/index.js +324 -315
- package/package.json +4 -4
- package/Build/Workers/PolygonPipeline-d31ff61c.js +0 -1345
- package/Build/Workers/Transforms-9e9df299.js +0 -14714
package/Source/Scene/I3SNode.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import Cartographic from "../Core/Cartographic.js";
|
|
2
2
|
import defaultValue from "../Core/defaultValue.js";
|
|
3
|
-
import defer from "../Core/defer.js";
|
|
4
3
|
import defined from "../Core/defined.js";
|
|
5
4
|
import Ellipsoid from "../Core/Ellipsoid.js";
|
|
6
5
|
import HeadingPitchRoll from "../Core/HeadingPitchRoll.js";
|
|
@@ -11,6 +10,7 @@ import Resource from "../Core/Resource.js";
|
|
|
11
10
|
import Quaternion from "../Core/Quaternion.js";
|
|
12
11
|
import Transforms from "../Core/Transforms.js";
|
|
13
12
|
import Cesium3DTile from "./Cesium3DTile.js";
|
|
13
|
+
import I3SDataProvider from "./I3SDataProvider.js";
|
|
14
14
|
import I3SFeature from "./I3SFeature.js";
|
|
15
15
|
import I3SField from "./I3SField.js";
|
|
16
16
|
import I3SGeometry from "./I3SGeometry.js";
|
|
@@ -52,6 +52,7 @@ function I3SNode(parent, ref, isRoot) {
|
|
|
52
52
|
this._layer = layer;
|
|
53
53
|
this._nodeIndex = nodeIndex;
|
|
54
54
|
this._resource = resource;
|
|
55
|
+
this._isLoading = false;
|
|
55
56
|
|
|
56
57
|
this._tile = undefined;
|
|
57
58
|
this._data = undefined;
|
|
@@ -170,7 +171,7 @@ Object.defineProperties(I3SNode.prototype, {
|
|
|
170
171
|
/**
|
|
171
172
|
* @private
|
|
172
173
|
*/
|
|
173
|
-
I3SNode.prototype.load = function () {
|
|
174
|
+
I3SNode.prototype.load = async function () {
|
|
174
175
|
const that = this;
|
|
175
176
|
|
|
176
177
|
function processData() {
|
|
@@ -191,28 +192,29 @@ I3SNode.prototype.load = function () {
|
|
|
191
192
|
|
|
192
193
|
// If we don't have a nodepage index load from json
|
|
193
194
|
if (!defined(this._nodeIndex)) {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
195
|
+
const data = await I3SDataProvider.loadJson(
|
|
196
|
+
this._resource,
|
|
197
|
+
this._dataProvider._traceFetches
|
|
198
|
+
);
|
|
199
|
+
that._data = data;
|
|
200
|
+
processData();
|
|
201
|
+
return;
|
|
199
202
|
}
|
|
200
203
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
204
|
+
const node = await this._layer._getNodeInNodePages(this._nodeIndex);
|
|
205
|
+
that._data = node;
|
|
206
|
+
let uri;
|
|
207
|
+
if (that._isRoot) {
|
|
208
|
+
uri = "nodes/root/";
|
|
209
|
+
} else if (defined(node.mesh)) {
|
|
210
|
+
const uriIndex = node.mesh.geometry.resource;
|
|
211
|
+
uri = `../${uriIndex}/`;
|
|
212
|
+
}
|
|
213
|
+
if (defined(uri)) {
|
|
214
|
+
that._resource = that._parent.resource.getDerivedResource({ url: uri });
|
|
215
|
+
}
|
|
213
216
|
|
|
214
|
-
|
|
215
|
-
});
|
|
217
|
+
processData();
|
|
216
218
|
};
|
|
217
219
|
|
|
218
220
|
/**
|
|
@@ -609,7 +611,10 @@ I3SNode.prototype._create3DTileDefinition = function () {
|
|
|
609
611
|
/**
|
|
610
612
|
* @private
|
|
611
613
|
*/
|
|
612
|
-
I3SNode.prototype._createI3SDecoderTask = function (
|
|
614
|
+
I3SNode.prototype._createI3SDecoderTask = async function (
|
|
615
|
+
decodeI3STaskProcessor,
|
|
616
|
+
data
|
|
617
|
+
) {
|
|
613
618
|
// Prepare the data to send to the worker
|
|
614
619
|
const parentData = data.geometryData._parent._data;
|
|
615
620
|
const parentRotationInverseMatrix =
|
|
@@ -664,18 +669,14 @@ I3SNode.prototype._createI3SDecoderTask = function (dataProvider, data) {
|
|
|
664
669
|
parentRotation: parentRotation,
|
|
665
670
|
};
|
|
666
671
|
|
|
667
|
-
const decodeI3STaskProcessor = dataProvider._getDecoderTaskProcessor();
|
|
668
|
-
|
|
669
672
|
const transferrableObjects = [];
|
|
670
|
-
return
|
|
671
|
-
return decodeI3STaskProcessor.scheduleTask(payload, transferrableObjects);
|
|
672
|
-
});
|
|
673
|
+
return decodeI3STaskProcessor.scheduleTask(payload, transferrableObjects);
|
|
673
674
|
};
|
|
674
675
|
|
|
675
676
|
/**
|
|
676
677
|
* @private
|
|
677
678
|
*/
|
|
678
|
-
I3SNode.prototype._createContentURL = function () {
|
|
679
|
+
I3SNode.prototype._createContentURL = async function () {
|
|
679
680
|
let rawGltf = {
|
|
680
681
|
scene: 0,
|
|
681
682
|
scenes: [
|
|
@@ -701,6 +702,8 @@ I3SNode.prototype._createContentURL = function () {
|
|
|
701
702
|
},
|
|
702
703
|
};
|
|
703
704
|
|
|
705
|
+
const decodeI3STaskProcessor = await this._dataProvider.getDecoderTaskProcessor();
|
|
706
|
+
|
|
704
707
|
// Load the geometry data
|
|
705
708
|
const dataPromises = [this._loadGeometryData()];
|
|
706
709
|
if (this._dataProvider.legacyVersion16) {
|
|
@@ -720,13 +723,16 @@ I3SNode.prototype._createContentURL = function () {
|
|
|
720
723
|
tile: that._tile,
|
|
721
724
|
};
|
|
722
725
|
|
|
723
|
-
const
|
|
724
|
-
|
|
726
|
+
const promise = that._createI3SDecoderTask(
|
|
727
|
+
decodeI3STaskProcessor,
|
|
728
|
+
parameters
|
|
729
|
+
);
|
|
730
|
+
if (!defined(promise)) {
|
|
725
731
|
// Postponed
|
|
726
732
|
return;
|
|
727
733
|
}
|
|
728
734
|
|
|
729
|
-
generateGltfPromise =
|
|
735
|
+
generateGltfPromise = promise.then(function (result) {
|
|
730
736
|
rawGltf = parameters.geometryData._generateGltf(
|
|
731
737
|
result.meshData.nodesInScene,
|
|
732
738
|
result.meshData.nodes,
|
|
@@ -746,7 +752,7 @@ I3SNode.prototype._createContentURL = function () {
|
|
|
746
752
|
const glbDataBlob = new Blob([binaryGltfData], {
|
|
747
753
|
type: "application/binary",
|
|
748
754
|
});
|
|
749
|
-
|
|
755
|
+
return URL.createObjectURL(glbDataBlob);
|
|
750
756
|
});
|
|
751
757
|
});
|
|
752
758
|
};
|
|
@@ -757,50 +763,37 @@ Cesium3DTile.prototype._hookedRequestContent =
|
|
|
757
763
|
Cesium3DTile.prototype.requestContent;
|
|
758
764
|
|
|
759
765
|
/**
|
|
766
|
+
* Requests the tile's content.
|
|
767
|
+
* <p>
|
|
768
|
+
* The request may not be made if the Cesium Request Scheduler can't prioritize it.
|
|
769
|
+
* </p>
|
|
770
|
+
*
|
|
771
|
+
* @return {Promise<Cesium3DTileContent>|undefined} A promise that resolves when the request completes, or undefined if there is no request needed, or the request cannot be scheduled.
|
|
760
772
|
* @private
|
|
761
773
|
*/
|
|
762
|
-
Cesium3DTile.prototype._resolveHookedObject = function () {
|
|
763
|
-
const that = this;
|
|
764
|
-
// Keep a handle on the early promises
|
|
765
|
-
// Call the real requestContent function
|
|
766
|
-
this._hookedRequestContent();
|
|
767
|
-
|
|
768
|
-
// Fulfill the promises
|
|
769
|
-
this._contentReadyToProcessPromise.then(function () {
|
|
770
|
-
that._contentReadyToProcessDefer.resolve();
|
|
771
|
-
});
|
|
772
|
-
|
|
773
|
-
this._contentReadyPromise.then(function (content) {
|
|
774
|
-
that._isLoading = false;
|
|
775
|
-
that._contentReadyDefer.resolve(content);
|
|
776
|
-
});
|
|
777
|
-
};
|
|
778
|
-
|
|
779
774
|
Cesium3DTile.prototype.requestContent = function () {
|
|
780
|
-
const that = this;
|
|
781
775
|
if (!this.tileset._isI3STileSet) {
|
|
782
776
|
return this._hookedRequestContent();
|
|
783
777
|
}
|
|
784
778
|
|
|
785
779
|
if (!this._isLoading) {
|
|
786
780
|
this._isLoading = true;
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
781
|
+
return this._i3sNode
|
|
782
|
+
._createContentURL()
|
|
783
|
+
.then((url) => {
|
|
784
|
+
if (!defined(url)) {
|
|
785
|
+
this._isLoading = false;
|
|
786
|
+
return;
|
|
787
|
+
}
|
|
788
|
+
|
|
789
|
+
this._contentResource = new Resource({ url: url });
|
|
790
|
+
return this._hookedRequestContent();
|
|
791
|
+
})
|
|
792
|
+
.then((content) => {
|
|
793
|
+
this._isLoading = false;
|
|
794
|
+
return content;
|
|
795
|
+
});
|
|
801
796
|
}
|
|
802
|
-
|
|
803
|
-
return 1;
|
|
804
797
|
};
|
|
805
798
|
|
|
806
799
|
function bilinearInterpolate(tx, ty, h00, h10, h01, h11) {
|
package/Source/Scene/Imagery.js
CHANGED
|
@@ -34,7 +34,12 @@ function Imagery(imageryLayer, x, y, level, rectangle) {
|
|
|
34
34
|
this.credits = undefined;
|
|
35
35
|
this.referenceCount = 0;
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
// imageryProvider._ready is deprecated; This is here for backward compatibility
|
|
38
|
+
if (
|
|
39
|
+
!defined(rectangle) &&
|
|
40
|
+
imageryLayer.ready &&
|
|
41
|
+
imageryLayer.imageryProvider._ready
|
|
42
|
+
) {
|
|
38
43
|
const tilingScheme = imageryLayer.imageryProvider.tilingScheme;
|
|
39
44
|
rectangle = tilingScheme.tileXYToRectangle(x, y, level);
|
|
40
45
|
}
|