@loaders.gl/tile-converter 3.2.0-alpha.2 → 3.2.0-alpha.3
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-attributes-worker.js +1 -1
- package/dist/3d-tiles-converter/3d-tiles-converter.d.ts +1 -1
- package/dist/3d-tiles-converter/3d-tiles-converter.d.ts.map +1 -1
- package/dist/converter-cli.d.ts +2 -0
- package/dist/converter-cli.d.ts.map +1 -0
- package/dist/converter-cli.js +232 -0
- package/dist/converter.min.js +68 -68
- package/dist/deps-installer/deps-installer.d.ts +11 -1
- package/dist/deps-installer/deps-installer.d.ts.map +1 -1
- package/dist/deps-installer/deps-installer.js +10 -0
- package/dist/dist.min.js +95 -162
- package/dist/es5/3d-tiles-attributes-worker.js +1 -1
- package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
- package/dist/es5/converter-cli.js +306 -0
- package/dist/es5/converter-cli.js.map +1 -0
- package/dist/es5/deps-installer/deps-installer.js.map +1 -1
- package/dist/es5/i3s-attributes-worker.js +1 -1
- package/dist/es5/i3s-converter/helpers/geometry-converter.js +4 -4
- package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -1
- package/dist/es5/i3s-converter/i3s-converter.js +64 -43
- package/dist/es5/i3s-converter/i3s-converter.js.map +1 -1
- package/dist/es5/index.js +0 -24
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/pgm-loader.js +1 -1
- package/dist/esm/3d-tiles-attributes-worker.js +1 -1
- package/dist/esm/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
- package/dist/esm/converter-cli.js +230 -0
- package/dist/esm/converter-cli.js.map +1 -0
- package/dist/esm/deps-installer/deps-installer.js.map +1 -1
- package/dist/esm/i3s-attributes-worker.js +1 -1
- package/dist/esm/i3s-converter/helpers/geometry-converter.js +4 -4
- package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +1 -1
- package/dist/esm/i3s-converter/i3s-converter.js +44 -26
- package/dist/esm/i3s-converter/i3s-converter.js.map +1 -1
- package/dist/esm/index.js +0 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/pgm-loader.js +1 -1
- package/dist/i3s-attributes-worker.js +1 -1
- package/dist/i3s-attributes-worker.js.map +2 -2
- package/dist/i3s-converter/helpers/geometry-converter.js +3 -3
- package/dist/i3s-converter/i3s-converter.d.ts +0 -2
- package/dist/i3s-converter/i3s-converter.d.ts.map +1 -1
- package/dist/i3s-converter/i3s-converter.js +34 -16
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -7
- package/package.json +16 -17
- package/src/3d-tiles-converter/3d-tiles-converter.ts +1 -1
- package/src/converter-cli.ts +310 -0
- package/src/deps-installer/{deps-installer.js → deps-installer.ts} +11 -1
- package/src/i3s-converter/helpers/geometry-converter.ts +4 -4
- package/src/i3s-converter/i3s-converter.ts +37 -25
- package/src/index.ts +0 -5
- package/dist/es5/deps-installer/deps-installer.d.ts +0 -10
- package/dist/esm/deps-installer/deps-installer.d.ts +0 -10
- package/src/deps-installer/deps-installer.d.ts +0 -10
|
@@ -48,7 +48,7 @@ import {NODE as nodeTemplate} from './json-templates/node';
|
|
|
48
48
|
import {SHARED_RESOURCES as sharedResourcesTemplate} from './json-templates/shared-resources';
|
|
49
49
|
import {validateNodeBoundingVolumes} from './helpers/node-debug';
|
|
50
50
|
import TileHeader from '@loaders.gl/tiles/src/tileset/tile-3d';
|
|
51
|
-
import {
|
|
51
|
+
import {KTX2BasisWriterWorker} from '@loaders.gl/textures';
|
|
52
52
|
import {LoaderWithParser} from '@loaders.gl/loader-utils';
|
|
53
53
|
import {I3SMaterialDefinition, TextureSetDefinitionFormats} from '@loaders.gl/i3s/src/types';
|
|
54
54
|
import {ImageWriter} from '@loaders.gl/images';
|
|
@@ -148,8 +148,6 @@ export default class I3SConverter {
|
|
|
148
148
|
validate?: boolean;
|
|
149
149
|
generateTextures?: boolean;
|
|
150
150
|
generateBoundingVolumes?: boolean;
|
|
151
|
-
/** @deprecated */
|
|
152
|
-
inputType?: string;
|
|
153
151
|
}): Promise<any> {
|
|
154
152
|
this.conversionStartTime = process.hrtime();
|
|
155
153
|
const {
|
|
@@ -185,24 +183,27 @@ export default class I3SConverter {
|
|
|
185
183
|
|
|
186
184
|
await this.loadWorkers();
|
|
187
185
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
186
|
+
try {
|
|
187
|
+
const preloadOptions = await this._fetchPreloadOptions();
|
|
188
|
+
const tilesetOptions: Tileset3DProps = {loadOptions: {basis: {format: 'rgba32'}}};
|
|
189
|
+
if (preloadOptions.headers) {
|
|
190
|
+
tilesetOptions.loadOptions!.fetch = {headers: preloadOptions.headers};
|
|
191
|
+
}
|
|
192
|
+
Object.assign(tilesetOptions, preloadOptions);
|
|
193
|
+
const sourceTilesetJson = await load(inputUrl, this.Loader, tilesetOptions.loadOptions);
|
|
194
|
+
// console.log(tilesetJson); // eslint-disable-line
|
|
195
|
+
this.sourceTileset = new Tileset3D(sourceTilesetJson, tilesetOptions);
|
|
196
|
+
|
|
197
|
+
await this._createAndSaveTileset(outputPath, tilesetName);
|
|
198
|
+
await this._finishConversion({slpk: Boolean(slpk), outputPath, tilesetName});
|
|
199
|
+
return sourceTilesetJson;
|
|
200
|
+
} catch (error) {
|
|
201
|
+
throw error;
|
|
202
|
+
} finally {
|
|
203
|
+
// Clean up worker pools
|
|
204
|
+
const workerFarm = WorkerFarm.getWorkerFarm({});
|
|
205
|
+
workerFarm.destroy();
|
|
192
206
|
}
|
|
193
|
-
Object.assign(tilesetOptions, preloadOptions);
|
|
194
|
-
const sourceTilesetJson = await load(inputUrl, this.Loader, tilesetOptions.loadOptions);
|
|
195
|
-
// console.log(tilesetJson); // eslint-disable-line
|
|
196
|
-
this.sourceTileset = new Tileset3D(sourceTilesetJson, tilesetOptions);
|
|
197
|
-
|
|
198
|
-
await this._createAndSaveTileset(outputPath, tilesetName);
|
|
199
|
-
await this._finishConversion({slpk: Boolean(slpk), outputPath, tilesetName});
|
|
200
|
-
|
|
201
|
-
// Clean up worker pools
|
|
202
|
-
const workerFarm = WorkerFarm.getWorkerFarm({});
|
|
203
|
-
workerFarm.destroy();
|
|
204
|
-
|
|
205
|
-
return sourceTilesetJson;
|
|
206
207
|
}
|
|
207
208
|
|
|
208
209
|
/**
|
|
@@ -932,7 +933,13 @@ export default class I3SConverter {
|
|
|
932
933
|
|
|
933
934
|
if (this.generateTextures) {
|
|
934
935
|
formats.push({name: '1', format: 'ktx2'});
|
|
935
|
-
const ktx2TextureData =
|
|
936
|
+
const ktx2TextureData = encode(texture.image, KTX2BasisWriterWorker, {
|
|
937
|
+
...KTX2BasisWriterWorker.options,
|
|
938
|
+
source: this.workerSource.ktx2,
|
|
939
|
+
reuseWorkers: true,
|
|
940
|
+
_nodeWorkers: true
|
|
941
|
+
});
|
|
942
|
+
|
|
936
943
|
await this.writeTextureFile(ktx2TextureData, '1', 'ktx2', childPath, slpkChildPath);
|
|
937
944
|
}
|
|
938
945
|
|
|
@@ -945,9 +952,7 @@ export default class I3SConverter {
|
|
|
945
952
|
|
|
946
953
|
if (this.generateTextures) {
|
|
947
954
|
formats.push({name: '0', format: 'jpg'});
|
|
948
|
-
const decodedFromKTX2TextureData =
|
|
949
|
-
await encode(texture.image!.data[0], ImageWriter)
|
|
950
|
-
);
|
|
955
|
+
const decodedFromKTX2TextureData = encode(texture.image!.data[0], ImageWriter);
|
|
951
956
|
await this.writeTextureFile(
|
|
952
957
|
decodedFromKTX2TextureData,
|
|
953
958
|
'0',
|
|
@@ -974,7 +979,7 @@ export default class I3SConverter {
|
|
|
974
979
|
* @param slpkChildPath
|
|
975
980
|
*/
|
|
976
981
|
private async writeTextureFile(
|
|
977
|
-
textureData: ArrayBuffer
|
|
982
|
+
textureData: Promise<ArrayBuffer>,
|
|
978
983
|
name: string,
|
|
979
984
|
format: 'jpg' | 'png' | 'ktx2',
|
|
980
985
|
childPath: string,
|
|
@@ -1346,6 +1351,13 @@ export default class I3SConverter {
|
|
|
1346
1351
|
this.workerSource.draco = source;
|
|
1347
1352
|
}
|
|
1348
1353
|
|
|
1354
|
+
if (this.generateTextures) {
|
|
1355
|
+
const url = getWorkerURL(KTX2BasisWriterWorker, {...getLoaderOptions()});
|
|
1356
|
+
const sourceResponse = await fetchFile(url);
|
|
1357
|
+
const source = await sourceResponse.text();
|
|
1358
|
+
this.workerSource.ktx2 = source;
|
|
1359
|
+
}
|
|
1360
|
+
|
|
1349
1361
|
const i3sAttributesWorkerUrl = getWorkerURL(I3SAttributesWorker, {...getLoaderOptions()});
|
|
1350
1362
|
const sourceResponse = await fetchFile(i3sAttributesWorkerUrl);
|
|
1351
1363
|
const source = await sourceResponse.text();
|
package/src/index.ts
CHANGED
|
@@ -1,7 +1,2 @@
|
|
|
1
1
|
export {default as I3SConverter} from './i3s-converter/i3s-converter';
|
|
2
|
-
export {default as NodePages} from './i3s-converter/helpers/node-pages';
|
|
3
|
-
|
|
4
2
|
export {default as Tiles3DConverter} from './3d-tiles-converter/3d-tiles-converter';
|
|
5
|
-
|
|
6
|
-
export {DepsInstaller} from './deps-installer/deps-installer';
|
|
7
|
-
export {prepareDataForAttributesConversion} from './i3s-converter/helpers/gltf-attributes';
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Install external dependencies for converter:
|
|
3
|
-
* * PGM file (implemented);
|
|
4
|
-
* * Draco library (not implemented);
|
|
5
|
-
* * 7z archiver (not implemented);
|
|
6
|
-
*/
|
|
7
|
-
export class DepsInstaller {
|
|
8
|
-
// Run installation
|
|
9
|
-
install(path?: string): Promise<void>;
|
|
10
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Install external dependencies for converter:
|
|
3
|
-
* * PGM file (implemented);
|
|
4
|
-
* * Draco library (not implemented);
|
|
5
|
-
* * 7z archiver (not implemented);
|
|
6
|
-
*/
|
|
7
|
-
export class DepsInstaller {
|
|
8
|
-
// Run installation
|
|
9
|
-
install(path?: string): Promise<void>;
|
|
10
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Install external dependencies for converter:
|
|
3
|
-
* * PGM file (implemented);
|
|
4
|
-
* * Draco library (not implemented);
|
|
5
|
-
* * 7z archiver (not implemented);
|
|
6
|
-
*/
|
|
7
|
-
export class DepsInstaller {
|
|
8
|
-
// Run installation
|
|
9
|
-
install(path?: string): Promise<void>;
|
|
10
|
-
}
|