@loaders.gl/tile-converter 4.0.0-alpha.21 → 4.0.0-alpha.22
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/converter.min.js +112 -112
- package/dist/dist.min.js +856 -195
- package/dist/es5/deps-installer/deps-installer.js +1 -1
- package/dist/es5/i3s-converter/helpers/load-3d-tiles.js +70 -4
- package/dist/es5/i3s-converter/helpers/load-3d-tiles.js.map +1 -1
- package/dist/es5/i3s-converter/i3s-converter.js +34 -32
- package/dist/es5/i3s-converter/i3s-converter.js.map +1 -1
- package/dist/es5/pgm-loader.js +1 -1
- package/dist/esm/deps-installer/deps-installer.js +1 -1
- package/dist/esm/i3s-converter/helpers/load-3d-tiles.js +33 -4
- package/dist/esm/i3s-converter/helpers/load-3d-tiles.js.map +1 -1
- package/dist/esm/i3s-converter/i3s-converter.js +7 -5
- package/dist/esm/i3s-converter/i3s-converter.js.map +1 -1
- package/dist/esm/i3s-server/bin/i3s-server.min.js +1 -1
- package/dist/esm/pgm-loader.js +1 -1
- package/dist/i3s-converter/helpers/load-3d-tiles.d.ts +15 -0
- package/dist/i3s-converter/helpers/load-3d-tiles.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/load-3d-tiles.js +51 -5
- package/dist/i3s-converter/i3s-converter.d.ts.map +1 -1
- package/dist/i3s-converter/i3s-converter.js +6 -4
- package/dist/slpk-extractor.min.js +1 -1
- package/package.json +14 -14
- package/src/i3s-converter/helpers/load-3d-tiles.ts +61 -5
- package/src/i3s-converter/i3s-converter.ts +12 -5
package/dist/esm/pgm-loader.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { parsePGM } from '@math.gl/geoid';
|
|
2
|
-
const VERSION = typeof "4.0.0-alpha.
|
|
2
|
+
const VERSION = typeof "4.0.0-alpha.22" !== 'undefined' ? "4.0.0-alpha.22" : 'latest';
|
|
3
3
|
export const PGMLoader = {
|
|
4
4
|
name: 'PGM - Netpbm grayscale image format',
|
|
5
5
|
id: 'pgm',
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Tiles3DLoaderOptions, Tiles3DTileContent, Tiles3DTileJSONPostprocessed, Tiles3DTilesetJSONPostprocessed } from '@loaders.gl/3d-tiles';
|
|
2
|
+
import { LoaderWithParser } from '@loaders.gl/core';
|
|
2
3
|
/**
|
|
3
4
|
* Load nested 3DTiles tileset. If the sourceTile is not nested tileset - do nothing
|
|
4
5
|
* @param sourceTileset - source root tileset JSON
|
|
@@ -15,4 +16,18 @@ export declare const loadNestedTileset: (sourceTileset: Tiles3DTilesetJSONPostpr
|
|
|
15
16
|
* @returns - 3DTiles tile content or null
|
|
16
17
|
*/
|
|
17
18
|
export declare const loadTile3DContent: (sourceTileset: Tiles3DTilesetJSONPostprocessed | null, sourceTile: Tiles3DTileJSONPostprocessed, tilesetLoadOptions: Tiles3DLoaderOptions) => Promise<Tiles3DTileContent | null>;
|
|
19
|
+
/**
|
|
20
|
+
* Load a resource with load options and .3tz format support
|
|
21
|
+
* @param url - resource URL
|
|
22
|
+
* @param loader - loader to parse data (Tiles3DLoader / CesiumIonLoader)
|
|
23
|
+
* @param loadOptions - 3d-tiles loader options
|
|
24
|
+
* @returns 3d-tiles resource
|
|
25
|
+
*/
|
|
26
|
+
export declare function loadFromArchive(url: string, loader: LoaderWithParser, loadOptions: Tiles3DLoaderOptions): Promise<any>;
|
|
27
|
+
/**
|
|
28
|
+
* Check if tile is nested tileset
|
|
29
|
+
* @param tile - 3DTiles header data
|
|
30
|
+
* @returns true if tile is nested tileset
|
|
31
|
+
*/
|
|
32
|
+
export declare function isNestedTileset(tile: Tiles3DTileJSONPostprocessed): boolean;
|
|
18
33
|
//# sourceMappingURL=load-3d-tiles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-3d-tiles.d.ts","sourceRoot":"","sources":["../../../src/i3s-converter/helpers/load-3d-tiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,4BAA4B,EAC5B,+BAA+B,EAChC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"load-3d-tiles.d.ts","sourceRoot":"","sources":["../../../src/i3s-converter/helpers/load-3d-tiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,4BAA4B,EAC5B,+BAA+B,EAChC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAC,gBAAgB,EAAO,MAAM,kBAAkB,CAAC;AAExD;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,kBACb,+BAA+B,GAAG,IAAI,cACzC,4BAA4B,sBACpB,oBAAoB,KACvC,QAAQ,IAAI,CAsBd,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,kBACb,+BAA+B,GAAG,IAAI,cACzC,4BAA4B,sBACpB,oBAAoB,KACvC,QAAQ,kBAAkB,GAAG,IAAI,CAqBnC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,oBAAoB,gBA0BlC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,4BAA4B,WAEjE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.loadTile3DContent = exports.loadNestedTileset = void 0;
|
|
3
|
+
exports.isNestedTileset = exports.loadFromArchive = exports.loadTile3DContent = exports.loadNestedTileset = void 0;
|
|
4
|
+
const _3d_tiles_1 = require("@loaders.gl/3d-tiles");
|
|
4
5
|
const core_1 = require("@loaders.gl/core");
|
|
5
6
|
/**
|
|
6
7
|
* Load nested 3DTiles tileset. If the sourceTile is not nested tileset - do nothing
|
|
@@ -10,7 +11,7 @@ const core_1 = require("@loaders.gl/core");
|
|
|
10
11
|
* @returns nothing
|
|
11
12
|
*/
|
|
12
13
|
const loadNestedTileset = async (sourceTileset, sourceTile, tilesetLoadOptions) => {
|
|
13
|
-
const isTileset = sourceTile
|
|
14
|
+
const isTileset = isNestedTileset(sourceTile);
|
|
14
15
|
if (!sourceTileset || !sourceTile.contentUrl || !isTileset) {
|
|
15
16
|
return;
|
|
16
17
|
}
|
|
@@ -21,7 +22,7 @@ const loadNestedTileset = async (sourceTileset, sourceTile, tilesetLoadOptions)
|
|
|
21
22
|
assetGltfUpAxis: (sourceTileset.asset && sourceTileset.asset.gltfUpAxis) || 'Y'
|
|
22
23
|
}
|
|
23
24
|
};
|
|
24
|
-
const tileContent = await (
|
|
25
|
+
const tileContent = await loadFromArchive(sourceTile.contentUrl, sourceTileset.loader, loadOptions);
|
|
25
26
|
if (tileContent.root) {
|
|
26
27
|
sourceTile.children = [tileContent.root];
|
|
27
28
|
}
|
|
@@ -35,7 +36,7 @@ exports.loadNestedTileset = loadNestedTileset;
|
|
|
35
36
|
* @returns - 3DTiles tile content or null
|
|
36
37
|
*/
|
|
37
38
|
const loadTile3DContent = async (sourceTileset, sourceTile, tilesetLoadOptions) => {
|
|
38
|
-
const isTileset = sourceTile
|
|
39
|
+
const isTileset = isNestedTileset(sourceTile);
|
|
39
40
|
if (!sourceTileset || !sourceTile.contentUrl || isTileset) {
|
|
40
41
|
return null;
|
|
41
42
|
}
|
|
@@ -47,7 +48,52 @@ const loadTile3DContent = async (sourceTileset, sourceTile, tilesetLoadOptions)
|
|
|
47
48
|
assetGltfUpAxis: (sourceTileset.asset && sourceTileset.asset.gltfUpAxis) || 'Y'
|
|
48
49
|
}
|
|
49
50
|
};
|
|
50
|
-
const tileContent = await (
|
|
51
|
+
const tileContent = await loadFromArchive(sourceTile.contentUrl, sourceTileset.loader, loadOptions);
|
|
51
52
|
return tileContent;
|
|
52
53
|
};
|
|
53
54
|
exports.loadTile3DContent = loadTile3DContent;
|
|
55
|
+
/**
|
|
56
|
+
* Load a resource with load options and .3tz format support
|
|
57
|
+
* @param url - resource URL
|
|
58
|
+
* @param loader - loader to parse data (Tiles3DLoader / CesiumIonLoader)
|
|
59
|
+
* @param loadOptions - 3d-tiles loader options
|
|
60
|
+
* @returns 3d-tiles resource
|
|
61
|
+
*/
|
|
62
|
+
async function loadFromArchive(url, loader, loadOptions) {
|
|
63
|
+
const tz3UrlParts = url.split('.3tz');
|
|
64
|
+
let filename;
|
|
65
|
+
// No '.3tz'. The file will be loaded with global fetch function
|
|
66
|
+
if (tz3UrlParts.length === 1) {
|
|
67
|
+
filename = null;
|
|
68
|
+
}
|
|
69
|
+
else if (tz3UrlParts.length === 2) {
|
|
70
|
+
filename = tz3UrlParts[1].slice(1);
|
|
71
|
+
if (filename === '') {
|
|
72
|
+
filename = 'tileset.json';
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
throw new Error('Unexpected URL format');
|
|
77
|
+
}
|
|
78
|
+
if (filename) {
|
|
79
|
+
const tz3Path = `${tz3UrlParts[0]}.3tz`;
|
|
80
|
+
const fileSystem = new _3d_tiles_1.Tiles3DArchiveFileSystem(tz3Path);
|
|
81
|
+
const content = await (0, core_1.load)(filename, loader, {
|
|
82
|
+
...loadOptions,
|
|
83
|
+
fetch: fileSystem.fetch.bind(fileSystem)
|
|
84
|
+
});
|
|
85
|
+
await fileSystem.destroy();
|
|
86
|
+
return content;
|
|
87
|
+
}
|
|
88
|
+
return await (0, core_1.load)(url, loader, loadOptions);
|
|
89
|
+
}
|
|
90
|
+
exports.loadFromArchive = loadFromArchive;
|
|
91
|
+
/**
|
|
92
|
+
* Check if tile is nested tileset
|
|
93
|
+
* @param tile - 3DTiles header data
|
|
94
|
+
* @returns true if tile is nested tileset
|
|
95
|
+
*/
|
|
96
|
+
function isNestedTileset(tile) {
|
|
97
|
+
return tile?.type === 'json' || tile?.type === '3tz';
|
|
98
|
+
}
|
|
99
|
+
exports.isNestedTileset = isNestedTileset;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i3s-converter.d.ts","sourceRoot":"","sources":["../../src/i3s-converter/i3s-converter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,oBAAoB,EAGpB,+BAA+B,EAChC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EACV,YAAY,EAIb,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAC;AAOrC,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAuB7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAC,qBAAqB,EAA8B,MAAM,iBAAiB,CAAC;AAGnF,OAAO,EAGL,cAAc,EAEf,MAAM,SAAS,CAAC;AAEjB,OAAO,UAAU,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"i3s-converter.d.ts","sourceRoot":"","sources":["../../src/i3s-converter/i3s-converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -178,7 +178,7 @@ class I3SConverter {
|
|
|
178
178
|
if (preloadOptions.headers) {
|
|
179
179
|
this.loadOptions.fetch = { headers: preloadOptions.headers };
|
|
180
180
|
}
|
|
181
|
-
this.sourceTileset = await (0,
|
|
181
|
+
this.sourceTileset = await (0, load_3d_tiles_1.loadFromArchive)(tilesetUrl, this.Loader, this.loadOptions);
|
|
182
182
|
const preprocessResult = await this.preprocessConversion();
|
|
183
183
|
if (preprocessResult) {
|
|
184
184
|
await this._createAndSaveTileset(outputPath, tilesetName);
|
|
@@ -253,7 +253,8 @@ class I3SConverter {
|
|
|
253
253
|
* @returns - nothing
|
|
254
254
|
*/
|
|
255
255
|
async analyzeTile(sourceTile, traversalProps) {
|
|
256
|
-
|
|
256
|
+
const isTileset = (0, load_3d_tiles_1.isNestedTileset)(sourceTile);
|
|
257
|
+
if (isTileset) {
|
|
257
258
|
await (0, load_3d_tiles_1.loadNestedTileset)(this.sourceTileset, sourceTile, this.loadOptions);
|
|
258
259
|
return null;
|
|
259
260
|
}
|
|
@@ -417,8 +418,9 @@ class I3SConverter {
|
|
|
417
418
|
* @returns - traversal properties for the child tiles
|
|
418
419
|
*/
|
|
419
420
|
async convertTile(sourceTile, traversalProps) {
|
|
420
|
-
|
|
421
|
-
|
|
421
|
+
const isTileset = (0, load_3d_tiles_1.isNestedTileset)(sourceTile);
|
|
422
|
+
if (isTileset || sourceTile.type === 'empty') {
|
|
423
|
+
if (isTileset) {
|
|
422
424
|
if (sourceTile.id) {
|
|
423
425
|
console.log(`[load]: ${sourceTile.id}`); // eslint-disable-line
|
|
424
426
|
}
|