@loaders.gl/3d-tiles 4.0.0-alpha.21 → 4.0.0-alpha.23
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/dist/3d-tiles-archive/3d-tiles-archive-archive.d.ts +30 -0
- package/dist/3d-tiles-archive/3d-tiles-archive-archive.d.ts.map +1 -0
- package/dist/{tz3/tz3-archive.js → 3d-tiles-archive/3d-tiles-archive-archive.js} +16 -16
- package/dist/3d-tiles-archive/3d-tiles-archive-parser.d.ts +10 -0
- package/dist/3d-tiles-archive/3d-tiles-archive-parser.d.ts.map +1 -0
- package/dist/{tz3/tz3-parser.js → 3d-tiles-archive/3d-tiles-archive-parser.js} +5 -5
- package/dist/3d-tiles-archive-loader.d.ts +13 -0
- package/dist/3d-tiles-archive-loader.d.ts.map +1 -0
- package/dist/3d-tiles-archive-loader.js +31 -0
- package/dist/cesium-ion-loader.d.ts.map +1 -1
- package/dist/cesium-ion-loader.js +0 -1
- package/dist/dist.min.js +2218 -1370
- package/dist/es5/3d-tiles-archive/3d-tiles-archive-archive.js +126 -0
- package/dist/es5/3d-tiles-archive/3d-tiles-archive-archive.js.map +1 -0
- package/dist/es5/{tz3/tz3-parser.js → 3d-tiles-archive/3d-tiles-archive-parser.js} +7 -7
- package/dist/es5/3d-tiles-archive/3d-tiles-archive-parser.js.map +1 -0
- package/dist/es5/3d-tiles-archive-loader.js +50 -0
- package/dist/es5/3d-tiles-archive-loader.js.map +1 -0
- package/dist/es5/cesium-ion-loader.js.map +1 -1
- package/dist/es5/index.js +14 -7
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/filesystems/tiles-3d-archive-file-system.js +151 -0
- package/dist/es5/lib/filesystems/tiles-3d-archive-file-system.js.map +1 -0
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js +3 -3
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile-composite.js +3 -1
- package/dist/es5/lib/parsers/parse-3d-tile-composite.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile-gltf.js +14 -12
- package/dist/es5/lib/parsers/parse-3d-tile-gltf.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile-header.js +2 -1
- package/dist/es5/lib/parsers/parse-3d-tile-header.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js +6 -6
- package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile.js +3 -1
- package/dist/es5/lib/parsers/parse-3d-tile.js.map +1 -1
- package/dist/es5/lib/utils/version.js +1 -1
- package/dist/es5/tiles-3d-loader.js +2 -0
- package/dist/es5/tiles-3d-loader.js.map +1 -1
- package/dist/es5/types.js.map +1 -1
- package/dist/esm/{tz3/tz3-archive.js → 3d-tiles-archive/3d-tiles-archive-archive.js} +14 -19
- package/dist/esm/3d-tiles-archive/3d-tiles-archive-archive.js.map +1 -0
- package/dist/esm/{tz3/tz3-parser.js → 3d-tiles-archive/3d-tiles-archive-parser.js} +4 -4
- package/dist/esm/3d-tiles-archive/3d-tiles-archive-parser.js.map +1 -0
- package/dist/esm/3d-tiles-archive-loader.js +20 -0
- package/dist/esm/3d-tiles-archive-loader.js.map +1 -0
- package/dist/esm/cesium-ion-loader.js.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/filesystems/tiles-3d-archive-file-system.js +49 -0
- package/dist/esm/lib/filesystems/tiles-3d-archive-file-system.js.map +1 -0
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-gltf-view.js +5 -6
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +1 -1
- package/dist/esm/lib/parsers/parse-3d-tile-composite.js +3 -1
- package/dist/esm/lib/parsers/parse-3d-tile-composite.js.map +1 -1
- package/dist/esm/lib/parsers/parse-3d-tile-gltf.js +7 -8
- package/dist/esm/lib/parsers/parse-3d-tile-gltf.js.map +1 -1
- package/dist/esm/lib/parsers/parse-3d-tile-header.js +2 -1
- package/dist/esm/lib/parsers/parse-3d-tile-header.js.map +1 -1
- package/dist/esm/lib/parsers/parse-3d-tile-point-cloud.js +2 -4
- package/dist/esm/lib/parsers/parse-3d-tile-point-cloud.js.map +1 -1
- package/dist/esm/lib/parsers/parse-3d-tile.js +3 -1
- package/dist/esm/lib/parsers/parse-3d-tile.js.map +1 -1
- package/dist/esm/lib/utils/version.js +1 -1
- package/dist/esm/tiles-3d-loader.js +2 -0
- package/dist/esm/tiles-3d-loader.js.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/lib/filesystems/tiles-3d-archive-file-system.d.ts +32 -0
- package/dist/lib/filesystems/tiles-3d-archive-file-system.d.ts.map +1 -0
- package/dist/lib/filesystems/tiles-3d-archive-file-system.js +75 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.d.ts.map +1 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.js +2 -2
- package/dist/lib/parsers/parse-3d-tile-composite.js +1 -1
- package/dist/lib/parsers/parse-3d-tile-gltf.d.ts +2 -2
- package/dist/lib/parsers/parse-3d-tile-gltf.d.ts.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-gltf.js +8 -7
- package/dist/lib/parsers/parse-3d-tile-header.d.ts.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-header.js +2 -1
- package/dist/lib/parsers/parse-3d-tile-point-cloud.d.ts +1 -1
- package/dist/lib/parsers/parse-3d-tile-point-cloud.d.ts.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-point-cloud.js +10 -2
- package/dist/lib/parsers/parse-3d-tile.d.ts +1 -1
- package/dist/lib/parsers/parse-3d-tile.d.ts.map +1 -1
- package/dist/lib/parsers/parse-3d-tile.js +1 -1
- package/dist/tiles-3d-loader.d.ts +2 -1
- package/dist/tiles-3d-loader.d.ts.map +1 -1
- package/dist/tiles-3d-loader.js +4 -0
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +8 -7
- package/src/{tz3/tz3-archive.ts → 3d-tiles-archive/3d-tiles-archive-archive.ts} +22 -19
- package/src/{tz3/tz3-parser.ts → 3d-tiles-archive/3d-tiles-archive-parser.ts} +5 -5
- package/src/3d-tiles-archive-loader.ts +47 -0
- package/src/cesium-ion-loader.ts +0 -1
- package/src/index.ts +3 -2
- package/src/lib/filesystems/tiles-3d-archive-file-system.ts +97 -0
- package/src/lib/parsers/helpers/parse-3d-tile-gltf-view.ts +8 -3
- package/src/lib/parsers/parse-3d-tile-composite.ts +1 -1
- package/src/lib/parsers/parse-3d-tile-gltf.ts +11 -10
- package/src/lib/parsers/parse-3d-tile-header.ts +2 -1
- package/src/lib/parsers/parse-3d-tile-point-cloud.ts +10 -3
- package/src/lib/parsers/parse-3d-tile.ts +2 -2
- package/src/tiles-3d-loader.ts +16 -4
- package/src/types.ts +3 -0
- package/dist/es5/tz3/tz3-archive.js +0 -161
- package/dist/es5/tz3/tz3-archive.js.map +0 -1
- package/dist/es5/tz3/tz3-parser.js.map +0 -1
- package/dist/es5/tz3-loader.js +0 -48
- package/dist/es5/tz3-loader.js.map +0 -1
- package/dist/esm/tz3/tz3-archive.js.map +0 -1
- package/dist/esm/tz3/tz3-parser.js.map +0 -1
- package/dist/esm/tz3-loader.js +0 -19
- package/dist/esm/tz3-loader.js.map +0 -1
- package/dist/tz3/tz3-archive.d.ts +0 -23
- package/dist/tz3/tz3-archive.d.ts.map +0 -1
- package/dist/tz3/tz3-parser.d.ts +0 -10
- package/dist/tz3/tz3-parser.d.ts.map +0 -1
- package/dist/tz3-loader.d.ts +0 -14
- package/dist/tz3-loader.d.ts.map +0 -1
- package/dist/tz3-loader.js +0 -30
- package/src/tz3-loader.ts +0 -41
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
// loaders.gl, MIT license
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.parseGltf3DTile = void 0;
|
|
5
|
+
const loader_utils_1 = require("@loaders.gl/loader-utils");
|
|
4
6
|
const gltf_1 = require("@loaders.gl/gltf");
|
|
5
7
|
async function parseGltf3DTile(tile, arrayBuffer, options, context) {
|
|
6
8
|
// Set flags
|
|
@@ -8,21 +10,20 @@ async function parseGltf3DTile(tile, arrayBuffer, options, context) {
|
|
|
8
10
|
// https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification#y-up-to-z-up
|
|
9
11
|
tile.rotateYtoZ = true;
|
|
10
12
|
// Save gltf up axis
|
|
11
|
-
tile.gltfUpAxis =
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
: 'Y';
|
|
13
|
+
tile.gltfUpAxis = options?.['3d-tiles']?.assetGltfUpAxis
|
|
14
|
+
? options['3d-tiles'].assetGltfUpAxis
|
|
15
|
+
: 'Y';
|
|
15
16
|
if (options?.['3d-tiles']?.loadGLTF) {
|
|
16
17
|
if (!context) {
|
|
17
|
-
return;
|
|
18
|
+
return arrayBuffer.byteLength;
|
|
18
19
|
}
|
|
19
|
-
const
|
|
20
|
-
const gltfWithBuffers = await parse(arrayBuffer, gltf_1.GLTFLoader, options, context);
|
|
20
|
+
const gltfWithBuffers = await (0, loader_utils_1.parseFromContext)(arrayBuffer, gltf_1.GLTFLoader, options, context);
|
|
21
21
|
tile.gltf = (0, gltf_1.postProcessGLTF)(gltfWithBuffers);
|
|
22
22
|
tile.gpuMemoryUsageInBytes = (0, gltf_1._getMemoryUsageGLTF)(tile.gltf);
|
|
23
23
|
}
|
|
24
24
|
else {
|
|
25
25
|
tile.gltfArrayBuffer = arrayBuffer;
|
|
26
26
|
}
|
|
27
|
+
return arrayBuffer.byteLength;
|
|
27
28
|
}
|
|
28
29
|
exports.parseGltf3DTile = parseGltf3DTile;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-3d-tile-header.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-3d-tile-header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"parse-3d-tile-header.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-3d-tile-header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAI5D,OAAO,EAAC,eAAe,EAAE,eAAe,EAAE,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EACL,0BAA0B,EAC1B,OAAO,EACP,oBAAoB,EAEpB,eAAe,EACf,4BAA4B,EAC5B,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAMrB,sDAAsD;AACtD,MAAM,MAAM,eAAe,GAAG;IAC5B,uDAAuD;IACvD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,+CAA+C;IAC/C,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kCAAkC;IAClC,iBAAiB,EAAE,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;IAClD,yBAAyB;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,aAAa,EAAE,eAAe,CAAC,eAAe,CAAC;IAC/C,kEAAkE;IAClE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gEAAgE;IAChE,kBAAkB,EAAE,oBAAoB,CAAC;IACzC,uEAAuE;IACvE,WAAW,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,SAAS,GAAG,MAAM,CAAC;IACpF,gEAAgE;IAChE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,eAAe,GAAG,MAAM,GAAG,SAAS,CAAC;CACtE,CAAC;AAiDF,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,eAAe,GAAG,IAAI,EAC5B,QAAQ,EAAE,MAAM,GACf,4BAA4B,GAAG,IAAI,CAqBrC;AAGD,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC,CA+C9C;AAED;;;;GAIG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,MAAM,EAChB,uBAAuB,EAAE,0BAA0B,EACnD,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC,CA0C9C;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,OAAO,EACpB,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,oBAAoB,GAClC,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC,CA+B9C"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.normalizeImplicitTileData = exports.normalizeImplicitTileHeaders = exports.normalizeTileHeaders = exports.normalizeTileData = void 0;
|
|
4
|
+
const loader_utils_1 = require("@loaders.gl/loader-utils");
|
|
4
5
|
const tile_3d_subtree_loader_1 = require("../../tile-3d-subtree-loader");
|
|
5
6
|
const core_1 = require("@loaders.gl/core");
|
|
6
7
|
const tiles_1 = require("@loaders.gl/tiles");
|
|
@@ -46,7 +47,7 @@ function resolveUri(uri = '', basePath) {
|
|
|
46
47
|
else if (uri.startsWith('/')) {
|
|
47
48
|
return uri;
|
|
48
49
|
}
|
|
49
|
-
return
|
|
50
|
+
return loader_utils_1.path.resolve(basePath, uri);
|
|
50
51
|
}
|
|
51
52
|
function normalizeTileData(tile, basePath) {
|
|
52
53
|
if (!tile) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Tiles3DLoaderOptions } from '../../tiles-3d-loader';
|
|
2
1
|
import { LoaderContext } from '@loaders.gl/loader-utils';
|
|
2
|
+
import { Tiles3DLoaderOptions } from '../../tiles-3d-loader';
|
|
3
3
|
import { Tiles3DTileContent } from '../../types';
|
|
4
4
|
export declare function parsePointCloud3DTile(tile: Tiles3DTileContent, arrayBuffer: ArrayBuffer, byteOffset: number, options?: Tiles3DLoaderOptions, context?: LoaderContext): Promise<number>;
|
|
5
5
|
export declare function loadDraco(tile: Tiles3DTileContent, dracoData: any, options?: Tiles3DLoaderOptions, context?: LoaderContext): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-3d-tile-point-cloud.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-3d-tile-point-cloud.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-3d-tile-point-cloud.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-3d-tile-point-cloud.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,aAAa,EAAmB,MAAM,0BAA0B,CAAC;AAWzE,OAAO,EAAC,oBAAoB,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,kBAAkB,EAAC,MAAM,aAAa,CAAC;AAE/C,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,kBAAkB,EACxB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,oBAAoB,EAC9B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAuND,wBAAsB,SAAS,CAC7B,IAAI,EAAE,kBAAkB,EACxB,SAAS,KAAA,EACT,OAAO,CAAC,EAAE,oBAAoB,EAC9B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,IAAI,CAAC,CA+Df"}
|
|
@@ -7,6 +7,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.loadDraco = exports.parsePointCloud3DTile = void 0;
|
|
9
9
|
const draco_1 = require("@loaders.gl/draco");
|
|
10
|
+
const loader_utils_1 = require("@loaders.gl/loader-utils");
|
|
10
11
|
const math_1 = require("@loaders.gl/math");
|
|
11
12
|
const core_1 = require("@math.gl/core");
|
|
12
13
|
const tile_3d_feature_table_1 = __importDefault(require("../classes/tile-3d-feature-table"));
|
|
@@ -192,7 +193,6 @@ async function loadDraco(tile, dracoData, options, context) {
|
|
|
192
193
|
if (!context) {
|
|
193
194
|
return;
|
|
194
195
|
}
|
|
195
|
-
const { parse } = context;
|
|
196
196
|
const dracoOptions = {
|
|
197
197
|
...options,
|
|
198
198
|
draco: {
|
|
@@ -202,16 +202,19 @@ async function loadDraco(tile, dracoData, options, context) {
|
|
|
202
202
|
};
|
|
203
203
|
// The entire tileset might be included, too expensive to serialize
|
|
204
204
|
delete dracoOptions['3d-tiles'];
|
|
205
|
-
const data = await
|
|
205
|
+
const data = await (0, loader_utils_1.parseFromContext)(dracoData.buffer, draco_1.DracoLoader, dracoOptions, context);
|
|
206
206
|
const decodedPositions = data.attributes.POSITION && data.attributes.POSITION.value;
|
|
207
207
|
const decodedColors = data.attributes.COLOR_0 && data.attributes.COLOR_0.value;
|
|
208
208
|
const decodedNormals = data.attributes.NORMAL && data.attributes.NORMAL.value;
|
|
209
209
|
const decodedBatchIds = data.attributes.BATCH_ID && data.attributes.BATCH_ID.value;
|
|
210
|
+
// @ts-expect-error
|
|
210
211
|
const isQuantizedDraco = decodedPositions && data.attributes.POSITION.value.quantization;
|
|
212
|
+
// @ts-expect-error
|
|
211
213
|
const isOctEncodedDraco = decodedNormals && data.attributes.NORMAL.value.quantization;
|
|
212
214
|
if (isQuantizedDraco) {
|
|
213
215
|
// Draco quantization range == quantized volume scale - size in meters of the quantized volume
|
|
214
216
|
// Internal quantized range is the range of values of the quantized data, e.g. 255 for 8-bit, 1023 for 10-bit, etc
|
|
217
|
+
// @ts-expect-error This doesn't look right
|
|
215
218
|
const quantization = data.POSITION.data.quantization;
|
|
216
219
|
const range = quantization.range;
|
|
217
220
|
tile.quantizedVolumeScale = new core_1.Vector3(range, range, range);
|
|
@@ -220,6 +223,7 @@ async function loadDraco(tile, dracoData, options, context) {
|
|
|
220
223
|
tile.isQuantizedDraco = true;
|
|
221
224
|
}
|
|
222
225
|
if (isOctEncodedDraco) {
|
|
226
|
+
// @ts-expect-error This doesn't look right
|
|
223
227
|
tile.octEncodedRange = (1 << data.NORMAL.data.quantization.quantizationBits) - 1.0;
|
|
224
228
|
tile.isOctEncodedDraco = true;
|
|
225
229
|
}
|
|
@@ -233,9 +237,13 @@ async function loadDraco(tile, dracoData, options, context) {
|
|
|
233
237
|
}
|
|
234
238
|
}
|
|
235
239
|
tile.attributes = {
|
|
240
|
+
// @ts-expect-error
|
|
236
241
|
positions: decodedPositions,
|
|
242
|
+
// @ts-expect-error
|
|
237
243
|
colors: (0, normalize_3d_tile_colors_1.normalize3DTileColorAttribute)(tile, decodedColors, undefined),
|
|
244
|
+
// @ts-expect-error
|
|
238
245
|
normals: decodedNormals,
|
|
246
|
+
// @ts-expect-error
|
|
239
247
|
batchIds: decodedBatchIds,
|
|
240
248
|
...batchTableAttributes
|
|
241
249
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LoaderContext } from '@loaders.gl/loader-utils';
|
|
2
2
|
import { Tiles3DLoaderOptions } from '../../tiles-3d-loader';
|
|
3
3
|
import { Tiles3DTileContent } from '../../types';
|
|
4
|
-
export declare function parse3DTile(arrayBuffer: ArrayBuffer, byteOffset: number | undefined, options: Tiles3DLoaderOptions | undefined, context: LoaderContext | undefined, tile?: Tiles3DTileContent): Promise<number
|
|
4
|
+
export declare function parse3DTile(arrayBuffer: ArrayBuffer, byteOffset: number | undefined, options: Tiles3DLoaderOptions | undefined, context: LoaderContext | undefined, tile?: Tiles3DTileContent): Promise<number>;
|
|
5
5
|
//# sourceMappingURL=parse-3d-tile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-3d-tile.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-3d-tile.ts"],"names":[],"mappings":"AAWA,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAC,oBAAoB,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,kBAAkB,EAAC,MAAM,aAAa,CAAC;AAG/C,wBAAsB,WAAW,CAC/B,WAAW,EAAE,WAAW,EACxB,UAAU,oBAAI,EACd,OAAO,EAAE,oBAAoB,GAAG,SAAS,EACzC,OAAO,EAAE,aAAa,GAAG,SAAS,EAClC,IAAI,GAAE,
|
|
1
|
+
{"version":3,"file":"parse-3d-tile.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-3d-tile.ts"],"names":[],"mappings":"AAWA,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAC,oBAAoB,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,kBAAkB,EAAC,MAAM,aAAa,CAAC;AAG/C,wBAAsB,WAAW,CAC/B,WAAW,EAAE,WAAW,EACxB,UAAU,oBAAI,EACd,OAAO,EAAE,oBAAoB,GAAG,SAAS,EACzC,OAAO,EAAE,aAAa,GAAG,SAAS,EAClC,IAAI,GAAE,kBAAsC,GAC3C,OAAO,CAAC,MAAM,CAAC,CA+BjB"}
|
|
@@ -11,7 +11,7 @@ const parse_3d_tile_instanced_model_1 = require("./parse-3d-tile-instanced-model
|
|
|
11
11
|
const parse_3d_tile_composite_1 = require("./parse-3d-tile-composite");
|
|
12
12
|
const parse_3d_tile_gltf_1 = require("./parse-3d-tile-gltf");
|
|
13
13
|
// Extracts
|
|
14
|
-
async function parse3DTile(arrayBuffer, byteOffset = 0, options, context, tile = {}) {
|
|
14
|
+
async function parse3DTile(arrayBuffer, byteOffset = 0, options, context, tile = { shape: 'tile3d' }) {
|
|
15
15
|
tile.byteOffset = byteOffset;
|
|
16
16
|
tile.type = (0, parse_utils_1.getMagicString)(arrayBuffer, byteOffset);
|
|
17
17
|
switch (tile.type) {
|
|
@@ -16,5 +16,6 @@ export type Tiles3DLoaderOptions = LoaderOptions & DracoLoaderOptions & ImageLoa
|
|
|
16
16
|
/**
|
|
17
17
|
* Loader for 3D Tiles
|
|
18
18
|
*/
|
|
19
|
-
export declare const Tiles3DLoader: LoaderWithParser
|
|
19
|
+
export declare const Tiles3DLoader: LoaderWithParser<any, // Tiles3DTileContent | Tiles3DTilesetJSONPostprocessed,
|
|
20
|
+
never, Tiles3DLoaderOptions>;
|
|
20
21
|
//# sourceMappingURL=tiles-3d-loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tiles-3d-loader.d.ts","sourceRoot":"","sources":["../src/tiles-3d-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAE,aAAa,EAAgB,MAAM,0BAA0B,CAAC;AAE7F,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAS3D,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAE9C,kBAAkB,GAClB,kBAAkB,GAAG;IACnB,UAAU,CAAC,EAAE;QACX,mGAAmG;QACnG,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,qFAAqF;QACrF,wBAAwB,CAAC,EAAE,OAAO,CAAC;QACnC,0CAA0C;QAC1C,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;QAC7B,gDAAgD;QAChD,eAAe,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;KAC1C,CAAC;CACH,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"tiles-3d-loader.d.ts","sourceRoot":"","sources":["../src/tiles-3d-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAE,aAAa,EAAgB,MAAM,0BAA0B,CAAC;AAE7F,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAS3D,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAE9C,kBAAkB,GAClB,kBAAkB,GAAG;IACnB,UAAU,CAAC,EAAE;QACX,mGAAmG;QACnG,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,qFAAqF;QACrF,wBAAwB,CAAC,EAAE,OAAO,CAAC;QACnC,0CAA0C;QAC1C,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;QAC7B,gDAAgD;QAChD,eAAe,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;KAC1C,CAAC;CACH,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,gBAAgB,CAC1C,GAAG,EAAE,wDAAwD;AAC7D,KAAK,EACL,oBAAoB,CAkBrB,CAAC"}
|
package/dist/tiles-3d-loader.js
CHANGED
|
@@ -48,6 +48,7 @@ async function parseTileset(data, options, context) {
|
|
|
48
48
|
const normalizedRoot = await (0, parse_3d_tile_header_1.normalizeTileHeaders)(tilesetJson, basePath, options || {});
|
|
49
49
|
const tilesetJsonPostprocessed = {
|
|
50
50
|
...tilesetJson,
|
|
51
|
+
shape: 'tileset3d',
|
|
51
52
|
loader: exports.Tiles3DLoader,
|
|
52
53
|
url: tilesetUrl,
|
|
53
54
|
queryString: context?.queryString || '',
|
|
@@ -63,11 +64,14 @@ async function parseTileset(data, options, context) {
|
|
|
63
64
|
async function parseTile(arrayBuffer, options, context) {
|
|
64
65
|
const tile = {
|
|
65
66
|
content: {
|
|
67
|
+
shape: 'tile3d',
|
|
66
68
|
featureIds: null
|
|
67
69
|
}
|
|
68
70
|
};
|
|
69
71
|
const byteOffset = 0;
|
|
72
|
+
// @ts-expect-error
|
|
70
73
|
await (0, parse_3d_tile_1.parse3DTile)(arrayBuffer, byteOffset, options, context, tile.content);
|
|
74
|
+
// @ts-expect-error
|
|
71
75
|
return tile.content;
|
|
72
76
|
}
|
|
73
77
|
/** Get base name */
|
package/dist/types.d.ts
CHANGED
|
@@ -38,6 +38,7 @@ export type GLTFHeader = {
|
|
|
38
38
|
* https://github.com/CesiumGS/3d-tiles/tree/main/specification#property-reference
|
|
39
39
|
*/
|
|
40
40
|
export type Tiles3DTilesetJSON = {
|
|
41
|
+
shape: 'tileset3d';
|
|
41
42
|
/** Metadata about the entire tileset.
|
|
42
43
|
* https://github.com/CesiumGS/3d-tiles/tree/main/specification#asset
|
|
43
44
|
*/
|
|
@@ -190,6 +191,7 @@ export type TilesetProperty = {
|
|
|
190
191
|
extras?: any;
|
|
191
192
|
};
|
|
192
193
|
export type Tiles3DTileContent = {
|
|
194
|
+
shape: 'tile3d';
|
|
193
195
|
/** Common properties */
|
|
194
196
|
byteOffset?: number;
|
|
195
197
|
type?: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loaders.gl/3d-tiles",
|
|
3
|
-
"version": "4.0.0-alpha.
|
|
3
|
+
"version": "4.0.0-alpha.23",
|
|
4
4
|
"description": "3D Tiles, an open standard for streaming massive heterogeneous 3D geospatial datasets.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -34,11 +34,12 @@
|
|
|
34
34
|
"build-bundle": "esbuild src/bundle.ts --bundle --outfile=dist/dist.min.js"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@loaders.gl/draco": "4.0.0-alpha.
|
|
38
|
-
"@loaders.gl/gltf": "4.0.0-alpha.
|
|
39
|
-
"@loaders.gl/loader-utils": "4.0.0-alpha.
|
|
40
|
-
"@loaders.gl/math": "4.0.0-alpha.
|
|
41
|
-
"@loaders.gl/tiles": "4.0.0-alpha.
|
|
37
|
+
"@loaders.gl/draco": "4.0.0-alpha.23",
|
|
38
|
+
"@loaders.gl/gltf": "4.0.0-alpha.23",
|
|
39
|
+
"@loaders.gl/loader-utils": "4.0.0-alpha.23",
|
|
40
|
+
"@loaders.gl/math": "4.0.0-alpha.23",
|
|
41
|
+
"@loaders.gl/tiles": "4.0.0-alpha.23",
|
|
42
|
+
"@loaders.gl/zip": "4.0.0-alpha.23",
|
|
42
43
|
"@math.gl/core": "^3.5.1",
|
|
43
44
|
"@math.gl/geospatial": "^3.5.1",
|
|
44
45
|
"@probe.gl/log": "^4.0.4",
|
|
@@ -47,5 +48,5 @@
|
|
|
47
48
|
"peerDependencies": {
|
|
48
49
|
"@loaders.gl/core": "^4.0.0-alpha.8"
|
|
49
50
|
},
|
|
50
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "e212f2a0c0e342f7cb65ce84fa2ff39f64b7d94b"
|
|
51
52
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import md5 from 'md5';
|
|
2
|
-
import {FileProvider
|
|
3
|
-
import {
|
|
2
|
+
import {FileProvider} from '@loaders.gl/loader-utils';
|
|
3
|
+
import {parseZipLocalFileHeader, HashElement, findBin} from '@loaders.gl/zip';
|
|
4
|
+
import {DeflateCompression, NoCompression} from '@loaders.gl/compression';
|
|
4
5
|
|
|
5
6
|
type CompressionHandler = (compressedFile: ArrayBuffer) => Promise<ArrayBuffer>;
|
|
6
7
|
|
|
@@ -9,24 +10,27 @@ type CompressionHandler = (compressedFile: ArrayBuffer) => Promise<ArrayBuffer>;
|
|
|
9
10
|
*/
|
|
10
11
|
const COMPRESSION_METHODS: {[key: number]: CompressionHandler} = {
|
|
11
12
|
/** No compression */
|
|
12
|
-
0:
|
|
13
|
-
|
|
13
|
+
0: (data) => new NoCompression().decompress(data),
|
|
14
14
|
/** Deflation */
|
|
15
|
-
8:
|
|
16
|
-
const compression = new DeflateCompression({raw: true});
|
|
17
|
-
const decompressedData = await compression.decompress(compressedFile);
|
|
18
|
-
return decompressedData;
|
|
19
|
-
}
|
|
15
|
+
8: (data) => new DeflateCompression({raw: true}).decompress(data)
|
|
20
16
|
};
|
|
21
17
|
|
|
22
18
|
/**
|
|
23
19
|
* Class for handling information about 3tz file
|
|
24
20
|
*/
|
|
25
|
-
export class
|
|
26
|
-
|
|
21
|
+
export class Tiles3DArchive {
|
|
22
|
+
/** FileProvider with whe whole file */
|
|
23
|
+
private fileProvider: FileProvider;
|
|
24
|
+
/** hash info */
|
|
27
25
|
private hashArray: HashElement[];
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* creates Tiles3DArchive handler
|
|
29
|
+
* @param fileProvider - FileProvider with the whole file
|
|
30
|
+
* @param hashFile - hash info
|
|
31
|
+
*/
|
|
32
|
+
constructor(fileProvider: FileProvider, hashFile: HashElement[]) {
|
|
33
|
+
this.fileProvider = fileProvider;
|
|
30
34
|
this.hashArray = hashFile;
|
|
31
35
|
}
|
|
32
36
|
|
|
@@ -35,7 +39,7 @@ export class TZ3Archive {
|
|
|
35
39
|
* @param path - path inside the 3tz
|
|
36
40
|
* @returns buffer with ready to use file
|
|
37
41
|
*/
|
|
38
|
-
async getFile(path: string): Promise<
|
|
42
|
+
async getFile(path: string): Promise<ArrayBuffer> {
|
|
39
43
|
// sometimes paths are not in lower case when hash file is created,
|
|
40
44
|
// so first we're looking for lower case file name and then for original one
|
|
41
45
|
let data = await this.getFileBytes(path.toLocaleLowerCase());
|
|
@@ -43,11 +47,10 @@ export class TZ3Archive {
|
|
|
43
47
|
data = await this.getFileBytes(path);
|
|
44
48
|
}
|
|
45
49
|
if (!data) {
|
|
46
|
-
throw new Error('No such file in the
|
|
50
|
+
throw new Error('No such file in the archive');
|
|
47
51
|
}
|
|
48
|
-
const decompressedFile = Buffer.from(data);
|
|
49
52
|
|
|
50
|
-
return
|
|
53
|
+
return data;
|
|
51
54
|
}
|
|
52
55
|
|
|
53
56
|
/**
|
|
@@ -62,12 +65,12 @@ export class TZ3Archive {
|
|
|
62
65
|
return null;
|
|
63
66
|
}
|
|
64
67
|
|
|
65
|
-
const localFileHeader = await parseZipLocalFileHeader(fileInfo.offset, this.
|
|
68
|
+
const localFileHeader = await parseZipLocalFileHeader(fileInfo.offset, this.fileProvider);
|
|
66
69
|
if (!localFileHeader) {
|
|
67
70
|
return null;
|
|
68
71
|
}
|
|
69
72
|
|
|
70
|
-
const compressedFile = await this.
|
|
73
|
+
const compressedFile = await this.fileProvider.slice(
|
|
71
74
|
localFileHeader.fileDataOffset,
|
|
72
75
|
localFileHeader.fileDataOffset + localFileHeader.compressedSize
|
|
73
76
|
);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import {FileProvider} from '@loaders.gl/loader-utils';
|
|
1
2
|
import {
|
|
2
|
-
FileProvider,
|
|
3
3
|
HashElement,
|
|
4
4
|
cdSignature as cdHeaderSignature,
|
|
5
5
|
generateHashInfo,
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
parseZipLocalFileHeader,
|
|
9
9
|
searchFromTheEnd
|
|
10
10
|
} from '@loaders.gl/zip';
|
|
11
|
-
import {
|
|
11
|
+
import {Tiles3DArchive} from './3d-tiles-archive-archive';
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Creates 3tz file handler from raw file
|
|
@@ -16,10 +16,10 @@ import {TZ3Archive} from './tz3-archive';
|
|
|
16
16
|
* @param cb is called with information message during parsing
|
|
17
17
|
* @returns 3tz file handler
|
|
18
18
|
*/
|
|
19
|
-
export const
|
|
19
|
+
export const parse3DTilesArchive = async (
|
|
20
20
|
fileProvider: FileProvider,
|
|
21
21
|
cb?: (msg: string) => void
|
|
22
|
-
): Promise<
|
|
22
|
+
): Promise<Tiles3DArchive> => {
|
|
23
23
|
const hashCDOffset = await searchFromTheEnd(fileProvider, cdHeaderSignature);
|
|
24
24
|
|
|
25
25
|
const cdFileHeader = await parseZipCDFileHeader(hashCDOffset, fileProvider);
|
|
@@ -48,5 +48,5 @@ export const parse3tz = async (
|
|
|
48
48
|
hashData = parseHashFile(hashFile);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
return new
|
|
51
|
+
return new Tiles3DArchive(fileProvider, hashData);
|
|
52
52
|
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';
|
|
2
|
+
import {DataViewFile} from '@loaders.gl/loader-utils';
|
|
3
|
+
import {parse3DTilesArchive as parse3DTilesArchiveFromProvider} from './3d-tiles-archive/3d-tiles-archive-parser';
|
|
4
|
+
|
|
5
|
+
// __VERSION__ is injected by babel-plugin-version-inline
|
|
6
|
+
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
7
|
+
const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
|
|
8
|
+
|
|
9
|
+
/** options to load data from 3tz */
|
|
10
|
+
export type Tiles3DArchiveFileLoaderOptions = LoaderOptions & {
|
|
11
|
+
'3d-tiles-archive'?: {
|
|
12
|
+
/** path inside the 3tz archive */
|
|
13
|
+
path?: string;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Loader for 3tz packages
|
|
19
|
+
*/
|
|
20
|
+
export const Tiles3DArchiveFileLoader: LoaderWithParser<
|
|
21
|
+
ArrayBuffer,
|
|
22
|
+
never,
|
|
23
|
+
Tiles3DArchiveFileLoaderOptions
|
|
24
|
+
> = {
|
|
25
|
+
name: '3tz',
|
|
26
|
+
id: '3tz',
|
|
27
|
+
module: '3d-tiles',
|
|
28
|
+
version: VERSION,
|
|
29
|
+
mimeTypes: ['application/octet-stream', 'application/vnd.maxar.archive.3tz+zip'],
|
|
30
|
+
parse: parse3DTilesArchive,
|
|
31
|
+
extensions: ['3tz'],
|
|
32
|
+
options: {}
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* returns a single file from the 3tz archive
|
|
37
|
+
* @param data 3tz archive data
|
|
38
|
+
* @param options options
|
|
39
|
+
* @returns requested file
|
|
40
|
+
*/
|
|
41
|
+
async function parse3DTilesArchive(
|
|
42
|
+
data: ArrayBuffer,
|
|
43
|
+
options: Tiles3DArchiveFileLoaderOptions = {}
|
|
44
|
+
): Promise<ArrayBuffer> {
|
|
45
|
+
const archive = await parse3DTilesArchiveFromProvider(new DataViewFile(new DataView(data)));
|
|
46
|
+
return archive.getFile(options['3d-tiles-archive']?.path ?? '');
|
|
47
|
+
}
|
package/src/cesium-ion-loader.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
export {Tiles3DLoader} from './tiles-3d-loader';
|
|
3
3
|
export {CesiumIonLoader} from './cesium-ion-loader';
|
|
4
4
|
export {Tile3DSubtreeLoader} from './tile-3d-subtree-loader';
|
|
5
|
-
export type {
|
|
6
|
-
export {
|
|
5
|
+
export type {Tiles3DArchiveFileLoaderOptions} from './3d-tiles-archive-loader';
|
|
6
|
+
export {Tiles3DArchiveFileLoader} from './3d-tiles-archive-loader';
|
|
7
|
+
export {Tiles3DArchiveFileSystem} from './lib/filesystems/tiles-3d-archive-file-system';
|
|
7
8
|
|
|
8
9
|
// WRITERS
|
|
9
10
|
export {Tile3DWriter} from './tile-3d-writer';
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import {FileProvider} from '@loaders.gl/loader-utils';
|
|
2
|
+
import {
|
|
3
|
+
ZipFileSystem,
|
|
4
|
+
cdSignature as cdHeaderSignature,
|
|
5
|
+
searchFromTheEnd,
|
|
6
|
+
parseZipCDFileHeader,
|
|
7
|
+
HashElement,
|
|
8
|
+
parseHashFile,
|
|
9
|
+
parseZipLocalFileHeader
|
|
10
|
+
} from '@loaders.gl/zip';
|
|
11
|
+
import {Tiles3DArchive} from '../../3d-tiles-archive/3d-tiles-archive-archive';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* FileSystem adapter for a 3tz (3D tiles archive format) file
|
|
15
|
+
* Holds FileProvider object that provides random access to archived files.
|
|
16
|
+
* The difference from ZipFileSystem is usage of `@3dtilesIndex1@` index file that increases
|
|
17
|
+
* access speed to archived files
|
|
18
|
+
* @see https://github.com/erikdahlstrom/3tz-specification/blob/master/Specification.md
|
|
19
|
+
*/
|
|
20
|
+
export class Tiles3DArchiveFileSystem extends ZipFileSystem {
|
|
21
|
+
hashData?: HashElement[] | null;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Constructor
|
|
25
|
+
* @param file - instance of FileProvider or file path string
|
|
26
|
+
*/
|
|
27
|
+
constructor(file: FileProvider | string) {
|
|
28
|
+
super(file);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Implementation of fetch against this file system.
|
|
33
|
+
* It tries to take `@3dtilesIndex1@` file from the archive and use it
|
|
34
|
+
* for faster access to archived files
|
|
35
|
+
* @param filename - name of a file
|
|
36
|
+
* @returns - Response with file data
|
|
37
|
+
*/
|
|
38
|
+
async fetch(filename: string): Promise<Response> {
|
|
39
|
+
const fileProvider = await this.fileProvider;
|
|
40
|
+
if (!fileProvider) {
|
|
41
|
+
throw new Error('No data detected in the zip archive');
|
|
42
|
+
}
|
|
43
|
+
await this.parseHashFile();
|
|
44
|
+
if (this.hashData) {
|
|
45
|
+
const archive = new Tiles3DArchive(fileProvider, this.hashData);
|
|
46
|
+
|
|
47
|
+
const fileData = await archive.getFile(filename);
|
|
48
|
+
const response = new Response(fileData);
|
|
49
|
+
Object.defineProperty(response, 'url', {value: `${this.fileName || ''}/${filename}`});
|
|
50
|
+
return response;
|
|
51
|
+
}
|
|
52
|
+
return super.fetch(filename);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Try to get and parse '@3dtilesIndex1@' file, that allows to get direct access
|
|
57
|
+
* to files inside the archive
|
|
58
|
+
* @returns void
|
|
59
|
+
*/
|
|
60
|
+
private async parseHashFile(): Promise<void> {
|
|
61
|
+
if (this.hashData !== undefined) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const fileProvider = await this.fileProvider;
|
|
66
|
+
if (!fileProvider) {
|
|
67
|
+
throw new Error('No data detected in the zip archive');
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
const hashCDOffset = await searchFromTheEnd(fileProvider, cdHeaderSignature);
|
|
71
|
+
|
|
72
|
+
const cdFileHeader = await parseZipCDFileHeader(hashCDOffset, fileProvider);
|
|
73
|
+
|
|
74
|
+
// '@3dtilesIndex1@' is index file that must be the last in the archive. It allows
|
|
75
|
+
// to improve load and read performance when the archive contains a very large number
|
|
76
|
+
// of files.
|
|
77
|
+
if (cdFileHeader?.fileName === '@3dtilesIndex1@') {
|
|
78
|
+
const localFileHeader = await parseZipLocalFileHeader(
|
|
79
|
+
cdFileHeader.localHeaderOffset,
|
|
80
|
+
fileProvider
|
|
81
|
+
);
|
|
82
|
+
if (!localFileHeader) {
|
|
83
|
+
throw new Error('corrupted 3tz');
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
const fileDataOffset = localFileHeader.fileDataOffset;
|
|
87
|
+
const hashFile = await fileProvider.slice(
|
|
88
|
+
fileDataOffset,
|
|
89
|
+
fileDataOffset + localFileHeader.compressedSize
|
|
90
|
+
);
|
|
91
|
+
|
|
92
|
+
this.hashData = parseHashFile(hashFile);
|
|
93
|
+
} else {
|
|
94
|
+
this.hashData = null;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
// - Also, should we have hard dependency on gltf module or use injection or auto-discovery for gltf parser?
|
|
9
9
|
|
|
10
10
|
import {GLTFLoader, postProcessGLTF, _getMemoryUsageGLTF} from '@loaders.gl/gltf';
|
|
11
|
-
import {LoaderContext, sliceArrayBuffer} from '@loaders.gl/loader-utils';
|
|
11
|
+
import {LoaderContext, sliceArrayBuffer, parseFromContext} from '@loaders.gl/loader-utils';
|
|
12
12
|
import {Tiles3DTileContent} from '../../../types';
|
|
13
13
|
import {Tiles3DLoaderOptions} from '../../../tiles-3d-loader';
|
|
14
14
|
|
|
@@ -74,15 +74,20 @@ export async function extractGLTF(
|
|
|
74
74
|
if (!context) {
|
|
75
75
|
return;
|
|
76
76
|
}
|
|
77
|
-
const {parse, fetch} = context;
|
|
78
77
|
if (tile.gltfUrl) {
|
|
78
|
+
const {fetch} = context;
|
|
79
79
|
const response = await fetch(tile.gltfUrl, options);
|
|
80
80
|
tile.gltfArrayBuffer = await response.arrayBuffer();
|
|
81
81
|
tile.gltfByteOffset = 0;
|
|
82
82
|
}
|
|
83
83
|
if (tile.gltfArrayBuffer) {
|
|
84
84
|
// TODO - Should handle byteOffset... However, not used now...
|
|
85
|
-
const gltfWithBuffers = await
|
|
85
|
+
const gltfWithBuffers = await parseFromContext(
|
|
86
|
+
tile.gltfArrayBuffer,
|
|
87
|
+
GLTFLoader,
|
|
88
|
+
options,
|
|
89
|
+
context
|
|
90
|
+
);
|
|
86
91
|
tile.gltf = postProcessGLTF(gltfWithBuffers);
|
|
87
92
|
tile.gpuMemoryUsageInBytes = _getMemoryUsageGLTF(tile.gltf);
|
|
88
93
|
delete tile.gltfArrayBuffer;
|
|
@@ -38,7 +38,7 @@ export async function parseComposite3DTile(
|
|
|
38
38
|
// extract each tile from the byte stream
|
|
39
39
|
tile.tiles = [];
|
|
40
40
|
while (tile.tiles.length < tile.tilesLength && (tile.byteLength || 0) - byteOffset > 12) {
|
|
41
|
-
const subtile = {};
|
|
41
|
+
const subtile: Tiles3DTileContent = {shape: 'tile3d'};
|
|
42
42
|
tile.tiles.push(subtile);
|
|
43
43
|
byteOffset = await parse3DTile(arrayBuffer, byteOffset, options, context, subtile);
|
|
44
44
|
// TODO - do we need to add any padding in between tiles?
|