@loaders.gl/tile-converter 4.0.0-alpha.9 → 4.0.0-beta.1
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/bin/i3s-server.js +4 -0
- package/bin/slpk-extractor.js +4 -0
- package/dist/3d-tiles-converter/3d-tiles-converter.d.ts +5 -5
- package/dist/3d-tiles-converter/3d-tiles-converter.d.ts.map +1 -1
- package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts +10 -5
- package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts.map +1 -1
- package/dist/3d-tiles-converter/helpers/load-i3s.d.ts +10 -0
- package/dist/3d-tiles-converter/helpers/load-i3s.d.ts.map +1 -0
- package/dist/3d-tiles-converter/helpers/texture-atlas.d.ts +2 -1
- package/dist/3d-tiles-converter/helpers/texture-atlas.d.ts.map +1 -1
- package/dist/converter.min.js +172 -103
- package/dist/deps-installer/deps-installer.d.ts +3 -2
- package/dist/deps-installer/deps-installer.d.ts.map +1 -1
- package/dist/dist.min.js +32715 -32567
- package/dist/es5/3d-tiles-converter/3d-tiles-converter.js +97 -117
- package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
- package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js +24 -22
- package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
- package/dist/es5/3d-tiles-converter/helpers/load-i3s.js +63 -0
- package/dist/es5/3d-tiles-converter/helpers/load-i3s.js.map +1 -0
- package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js.map +1 -1
- package/dist/es5/converter-cli.js +25 -65
- package/dist/es5/converter-cli.js.map +1 -1
- package/dist/es5/deps-installer/deps-installer.js +113 -39
- package/dist/es5/deps-installer/deps-installer.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js +45 -15
- package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/coordinate-converter.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/feature-attributes.js +8 -18
- package/dist/es5/i3s-converter/helpers/feature-attributes.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/geometry-attributes.js +83 -43
- package/dist/es5/i3s-converter/helpers/geometry-attributes.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/geometry-converter.js +100 -102
- package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/gltf-attributes.js.map +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/helpers/node-index-document.js +3 -2
- package/dist/es5/i3s-converter/helpers/node-index-document.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/preprocess-3d-tiles.js +47 -12
- package/dist/es5/i3s-converter/helpers/preprocess-3d-tiles.js.map +1 -1
- package/dist/es5/i3s-converter/i3s-converter.js +187 -174
- package/dist/es5/i3s-converter/i3s-converter.js.map +1 -1
- package/dist/es5/i3s-converter/types.js +11 -11
- package/dist/es5/i3s-converter/types.js.map +1 -1
- package/dist/es5/i3s-server/README.md +46 -2
- package/dist/es5/i3s-server/app.js +23 -15
- package/dist/es5/i3s-server/app.js.map +1 -1
- package/dist/es5/i3s-server/bin/www.js +33 -0
- package/dist/es5/i3s-server/bin/www.js.map +1 -0
- package/dist/es5/i3s-server/controllers/index-controller.js +23 -22
- package/dist/es5/i3s-server/controllers/index-controller.js.map +1 -1
- package/dist/es5/i3s-server/controllers/slpk-controller.js +35 -38
- package/dist/es5/i3s-server/controllers/slpk-controller.js.map +1 -1
- package/dist/es5/i3s-server/routes/index.js +2 -2
- package/dist/es5/i3s-server/routes/index.js.map +1 -1
- package/dist/es5/i3s-server/routes/slpk-router.js +14 -13
- package/dist/es5/i3s-server/routes/slpk-router.js.map +1 -1
- package/dist/es5/i3s-server/utils/create-scene-server.js +7 -4
- package/dist/es5/i3s-server/utils/create-scene-server.js.map +1 -1
- package/dist/es5/i3s-server/utils/server-utils.js +49 -0
- package/dist/es5/i3s-server/utils/server-utils.js.map +1 -0
- package/dist/es5/lib/utils/cli-utils.js +57 -0
- package/dist/es5/lib/utils/cli-utils.js.map +1 -0
- package/dist/es5/lib/utils/compress-util.js +1 -1
- package/dist/es5/lib/utils/compress-util.js.map +1 -1
- package/dist/es5/lib/utils/lod-conversion-utils.js +10 -4
- package/dist/es5/lib/utils/lod-conversion-utils.js.map +1 -1
- package/dist/es5/pgm-loader.js +11 -3
- package/dist/es5/pgm-loader.js.map +1 -1
- package/dist/es5/slpk-extractor/slpk-extractor.js +171 -0
- package/dist/es5/slpk-extractor/slpk-extractor.js.map +1 -0
- package/dist/es5/slpk-extractor-cli.js +117 -0
- package/dist/es5/slpk-extractor-cli.js.map +1 -0
- package/dist/esm/3d-tiles-converter/3d-tiles-converter.js +51 -58
- package/dist/esm/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
- package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js +12 -11
- package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
- package/dist/esm/3d-tiles-converter/helpers/load-i3s.js +32 -0
- package/dist/esm/3d-tiles-converter/helpers/load-i3s.js.map +1 -0
- package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js.map +1 -1
- package/dist/esm/converter-cli.js +8 -48
- package/dist/esm/converter-cli.js.map +1 -1
- package/dist/esm/deps-installer/deps-installer.js +38 -12
- package/dist/esm/deps-installer/deps-installer.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js +28 -11
- package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/coordinate-converter.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/feature-attributes.js +10 -8
- package/dist/esm/i3s-converter/helpers/feature-attributes.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/geometry-attributes.js +77 -34
- package/dist/esm/i3s-converter/helpers/geometry-attributes.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/geometry-converter.js +60 -61
- package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/gltf-attributes.js.map +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/helpers/node-index-document.js +2 -1
- package/dist/esm/i3s-converter/helpers/node-index-document.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/preprocess-3d-tiles.js +37 -12
- package/dist/esm/i3s-converter/helpers/preprocess-3d-tiles.js.map +1 -1
- package/dist/esm/i3s-converter/i3s-converter.js +101 -73
- package/dist/esm/i3s-converter/i3s-converter.js.map +1 -1
- package/dist/esm/i3s-converter/types.js +9 -9
- package/dist/esm/i3s-converter/types.js.map +1 -1
- package/dist/esm/i3s-server/README.md +46 -2
- package/dist/esm/i3s-server/app.js +13 -11
- package/dist/esm/i3s-server/app.js.map +1 -1
- package/dist/esm/i3s-server/bin/i3s-server.min.js +516 -0
- package/dist/esm/i3s-server/bin/www.js +30 -0
- package/dist/esm/i3s-server/bin/www.js.map +1 -0
- package/dist/esm/i3s-server/controllers/index-controller.js +4 -7
- package/dist/esm/i3s-server/controllers/index-controller.js.map +1 -1
- package/dist/esm/i3s-server/controllers/slpk-controller.js +9 -26
- package/dist/esm/i3s-server/controllers/slpk-controller.js.map +1 -1
- package/dist/esm/i3s-server/routes/index.js +1 -1
- package/dist/esm/i3s-server/routes/index.js.map +1 -1
- package/dist/esm/i3s-server/routes/slpk-router.js +5 -11
- package/dist/esm/i3s-server/routes/slpk-router.js.map +1 -1
- package/dist/esm/i3s-server/utils/create-scene-server.js +2 -5
- package/dist/esm/i3s-server/utils/create-scene-server.js.map +1 -1
- package/dist/esm/i3s-server/utils/server-utils.js +40 -0
- package/dist/esm/i3s-server/utils/server-utils.js.map +1 -0
- package/dist/esm/lib/utils/cli-utils.js +47 -0
- package/dist/esm/lib/utils/cli-utils.js.map +1 -0
- package/dist/esm/lib/utils/compress-util.js +1 -1
- package/dist/esm/lib/utils/compress-util.js.map +1 -1
- package/dist/esm/lib/utils/lod-conversion-utils.js +6 -4
- package/dist/esm/lib/utils/lod-conversion-utils.js.map +1 -1
- package/dist/esm/pgm-loader.js +7 -4
- package/dist/esm/pgm-loader.js.map +1 -1
- package/dist/esm/slpk-extractor/slpk-extractor.js +63 -0
- package/dist/esm/slpk-extractor/slpk-extractor.js.map +1 -0
- package/dist/esm/slpk-extractor-cli.js +74 -0
- package/dist/esm/slpk-extractor-cli.js.map +1 -0
- package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts +15 -2
- package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/coordinate-converter.d.ts +1 -2
- package/dist/i3s-converter/helpers/coordinate-converter.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/feature-attributes.d.ts +8 -8
- package/dist/i3s-converter/helpers/feature-attributes.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/geometry-attributes.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/geometry-converter.d.ts +9 -9
- package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/gltf-attributes.d.ts +3 -3
- package/dist/i3s-converter/helpers/gltf-attributes.d.ts.map +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/node-index-document.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/preprocess-3d-tiles.d.ts +4 -5
- package/dist/i3s-converter/helpers/preprocess-3d-tiles.d.ts.map +1 -1
- package/dist/i3s-converter/i3s-converter.d.ts +3 -2
- package/dist/i3s-converter/i3s-converter.d.ts.map +1 -1
- package/dist/i3s-converter/types.d.ts +48 -7
- package/dist/i3s-converter/types.d.ts.map +1 -1
- package/dist/i3s-server/app.d.ts +1 -2
- package/dist/i3s-server/app.d.ts.map +1 -1
- package/dist/i3s-server/bin/www.d.ts +3 -0
- package/dist/i3s-server/bin/www.d.ts.map +1 -0
- package/dist/i3s-server/controllers/index-controller.d.ts +6 -1
- package/dist/i3s-server/controllers/index-controller.d.ts.map +1 -1
- package/dist/i3s-server/controllers/slpk-controller.d.ts +13 -2
- package/dist/i3s-server/controllers/slpk-controller.d.ts.map +1 -1
- package/dist/i3s-server/routes/index.d.ts +1 -2
- package/dist/i3s-server/routes/index.d.ts.map +1 -1
- package/dist/i3s-server/routes/slpk-router.d.ts +2 -2
- package/dist/i3s-server/routes/slpk-router.d.ts.map +1 -1
- package/dist/i3s-server/utils/create-scene-server.d.ts +11 -5
- package/dist/i3s-server/utils/create-scene-server.d.ts.map +1 -1
- package/dist/i3s-server/utils/server-utils.d.ts +24 -0
- package/dist/i3s-server/utils/server-utils.d.ts.map +1 -0
- package/dist/lib/utils/cli-utils.d.ts +34 -0
- package/dist/lib/utils/cli-utils.d.ts.map +1 -0
- package/dist/lib/utils/lod-conversion-utils.d.ts +2 -2
- package/dist/lib/utils/lod-conversion-utils.d.ts.map +1 -1
- package/dist/pgm-loader.d.ts +9 -2
- package/dist/pgm-loader.d.ts.map +1 -1
- package/dist/slpk-extractor/slpk-extractor.d.ts +23 -0
- package/dist/slpk-extractor/slpk-extractor.d.ts.map +1 -0
- package/dist/slpk-extractor-cli.d.ts +17 -0
- package/dist/slpk-extractor-cli.d.ts.map +1 -0
- package/dist/slpk-extractor.min.js +189 -0
- package/package.json +27 -21
- package/src/3d-tiles-converter/3d-tiles-converter.ts +65 -69
- package/src/3d-tiles-converter/helpers/b3dm-converter.ts +23 -19
- package/src/3d-tiles-converter/helpers/load-i3s.ts +52 -0
- package/src/3d-tiles-converter/helpers/texture-atlas.ts +6 -2
- package/src/converter-cli.ts +16 -74
- package/src/deps-installer/deps-installer.ts +56 -11
- package/src/i3s-converter/helpers/batch-ids-extensions.ts +77 -32
- package/src/i3s-converter/helpers/coordinate-converter.ts +1 -2
- package/src/i3s-converter/helpers/feature-attributes.ts +23 -18
- package/src/i3s-converter/helpers/geometry-attributes.ts +81 -44
- package/src/i3s-converter/helpers/geometry-converter.ts +149 -126
- package/src/i3s-converter/helpers/gltf-attributes.ts +9 -10
- package/src/i3s-converter/helpers/load-3d-tiles.ts +61 -5
- package/src/i3s-converter/helpers/node-index-document.ts +5 -1
- package/src/i3s-converter/helpers/preprocess-3d-tiles.ts +70 -21
- package/src/i3s-converter/i3s-converter.ts +145 -73
- package/src/i3s-converter/types.ts +49 -7
- package/src/i3s-server/README.md +46 -2
- package/src/i3s-server/{app.js → app.ts} +11 -9
- package/src/i3s-server/bin/www.ts +38 -0
- package/src/i3s-server/controllers/{index-controller.js → index-controller.ts} +10 -9
- package/src/i3s-server/controllers/slpk-controller.ts +32 -0
- package/src/i3s-server/routes/{index.js → index.ts} +2 -1
- package/src/i3s-server/routes/{slpk-router.js → slpk-router.ts} +5 -10
- package/src/i3s-server/utils/create-scene-server.ts +20 -0
- package/src/i3s-server/utils/server-utils.ts +70 -0
- package/src/lib/utils/cli-utils.ts +78 -0
- package/src/lib/utils/compress-util.ts +1 -1
- package/src/lib/utils/lod-conversion-utils.ts +10 -6
- package/src/pgm-loader.ts +15 -7
- package/src/slpk-extractor/slpk-extractor.ts +101 -0
- package/src/slpk-extractor-cli.ts +128 -0
- package/dist/3d-tiles-attributes-worker.d.ts +0 -28
- package/dist/3d-tiles-attributes-worker.d.ts.map +0 -1
- package/dist/3d-tiles-attributes-worker.js +0 -3
- package/dist/3d-tiles-attributes-worker.js.map +0 -7
- package/dist/3d-tiles-converter/3d-tiles-converter.js +0 -288
- package/dist/3d-tiles-converter/helpers/b3dm-converter.js +0 -269
- package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +0 -23
- package/dist/3d-tiles-converter/helpers/texture-atlas.js +0 -52
- package/dist/3d-tiles-converter/json-templates/tileset.js +0 -43
- package/dist/bundle.js +0 -5
- package/dist/constants.js +0 -4
- package/dist/converter-cli.js +0 -280
- package/dist/deps-installer/deps-installer.js +0 -63
- package/dist/es5/3d-tiles-attributes-worker.js +0 -25
- package/dist/es5/3d-tiles-attributes-worker.js.map +0 -1
- package/dist/es5/i3s-attributes-worker.js +0 -25
- package/dist/es5/i3s-attributes-worker.js.map +0 -1
- package/dist/es5/i3s-server/bin/www +0 -102
- package/dist/es5/workers/3d-tiles-attributes-worker.js +0 -28
- package/dist/es5/workers/3d-tiles-attributes-worker.js.map +0 -1
- package/dist/es5/workers/i3s-attributes-worker.js +0 -30
- package/dist/es5/workers/i3s-attributes-worker.js.map +0 -1
- package/dist/esm/3d-tiles-attributes-worker.js +0 -16
- package/dist/esm/3d-tiles-attributes-worker.js.map +0 -1
- package/dist/esm/i3s-attributes-worker.js +0 -16
- package/dist/esm/i3s-attributes-worker.js.map +0 -1
- package/dist/esm/i3s-server/bin/www +0 -102
- package/dist/esm/workers/3d-tiles-attributes-worker.js +0 -8
- package/dist/esm/workers/3d-tiles-attributes-worker.js.map +0 -1
- package/dist/esm/workers/i3s-attributes-worker.js +0 -7
- package/dist/esm/workers/i3s-attributes-worker.js.map +0 -1
- package/dist/i3s-attributes-worker.d.ts +0 -45
- package/dist/i3s-attributes-worker.d.ts.map +0 -1
- package/dist/i3s-attributes-worker.js +0 -9
- package/dist/i3s-attributes-worker.js.map +0 -7
- package/dist/i3s-converter/helpers/batch-ids-extensions.js +0 -138
- package/dist/i3s-converter/helpers/coordinate-converter.js +0 -123
- package/dist/i3s-converter/helpers/create-scene-server-path.js +0 -28
- package/dist/i3s-converter/helpers/feature-attributes.js +0 -216
- package/dist/i3s-converter/helpers/geometry-attributes.js +0 -202
- package/dist/i3s-converter/helpers/geometry-converter.js +0 -1225
- package/dist/i3s-converter/helpers/gltf-attributes.js +0 -128
- package/dist/i3s-converter/helpers/load-3d-tiles.js +0 -53
- package/dist/i3s-converter/helpers/node-debug.js +0 -120
- package/dist/i3s-converter/helpers/node-index-document.js +0 -268
- package/dist/i3s-converter/helpers/node-pages.js +0 -316
- package/dist/i3s-converter/helpers/preprocess-3d-tiles.js +0 -76
- package/dist/i3s-converter/helpers/tileset-traversal.js +0 -29
- package/dist/i3s-converter/i3s-converter.js +0 -911
- package/dist/i3s-converter/json-templates/geometry-definitions.js +0 -87
- package/dist/i3s-converter/json-templates/layers.js +0 -139
- package/dist/i3s-converter/json-templates/metadata.js +0 -25
- package/dist/i3s-converter/json-templates/node.js +0 -89
- package/dist/i3s-converter/json-templates/scene-server.js +0 -31
- package/dist/i3s-converter/json-templates/shared-resources.js +0 -129
- package/dist/i3s-converter/json-templates/store.js +0 -103
- package/dist/i3s-converter/types.js +0 -17
- package/dist/i3s-server/app.js +0 -22
- package/dist/i3s-server/controllers/index-controller.js +0 -23
- package/dist/i3s-server/controllers/slpk-controller.js +0 -32
- package/dist/i3s-server/routes/index.js +0 -16
- package/dist/i3s-server/routes/slpk-router.js +0 -33
- package/dist/i3s-server/utils/create-scene-server.js +0 -14
- package/dist/index.js +0 -10
- package/dist/lib/utils/compress-util.js +0 -257
- package/dist/lib/utils/file-utils.js +0 -139
- package/dist/lib/utils/geometry-utils.js +0 -18
- package/dist/lib/utils/lod-conversion-utils.js +0 -76
- package/dist/lib/utils/queue.js +0 -18
- package/dist/lib/utils/statistic-utills.js +0 -64
- package/dist/lib/utils/write-queue.js +0 -80
- package/dist/pgm-loader.js +0 -24
- package/dist/workers/3d-tiles-attributes-worker.d.ts +0 -2
- package/dist/workers/3d-tiles-attributes-worker.d.ts.map +0 -1
- package/dist/workers/3d-tiles-attributes-worker.js +0 -9
- package/dist/workers/i3s-attributes-worker.d.ts +0 -2
- package/dist/workers/i3s-attributes-worker.d.ts.map +0 -1
- package/dist/workers/i3s-attributes-worker.js +0 -5
- package/src/3d-tiles-attributes-worker.ts +0 -43
- package/src/i3s-attributes-worker.ts +0 -59
- package/src/i3s-server/bin/www +0 -102
- package/src/i3s-server/controllers/slpk-controller.js +0 -38
- package/src/i3s-server/utils/create-scene-server.js +0 -15
- package/src/workers/3d-tiles-attributes-worker.ts +0 -6
- package/src/workers/i3s-attributes-worker.ts +0 -7
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
2
|
var _process$env;
|
|
3
|
-
import { load, encode,
|
|
3
|
+
import { load, encode, isBrowser } from '@loaders.gl/core';
|
|
4
4
|
import { CesiumIonLoader, Tiles3DLoader } from '@loaders.gl/3d-tiles';
|
|
5
5
|
import { join } from 'path';
|
|
6
6
|
import { v4 as uuidv4 } from 'uuid';
|
|
@@ -22,20 +22,18 @@ import { SHARED_RESOURCES as sharedResourcesTemplate } from './json-templates/sh
|
|
|
22
22
|
import { validateNodeBoundingVolumes } from './helpers/node-debug';
|
|
23
23
|
import { KTX2BasisWriterWorker } from '@loaders.gl/textures';
|
|
24
24
|
import { ImageWriter } from '@loaders.gl/images';
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import { DracoWriterWorker } from '@loaders.gl/draco';
|
|
25
|
+
import { GLTFPrimitiveModeString } from './types';
|
|
26
|
+
import { WorkerFarm } from '@loaders.gl/worker-utils';
|
|
28
27
|
import WriteQueue from '../lib/utils/write-queue';
|
|
29
|
-
import { I3SAttributesWorker } from '../i3s-attributes-worker';
|
|
30
28
|
import { BROWSER_ERROR_MESSAGE } from '../constants';
|
|
31
29
|
import { createdStorageAttribute, createFieldAttribute, createPopupInfo, getAttributeType, getFieldAttributeType } from './helpers/feature-attributes';
|
|
32
30
|
import { NodeIndexDocument } from './helpers/node-index-document';
|
|
33
|
-
import { loadNestedTileset, loadTile3DContent } from './helpers/load-3d-tiles';
|
|
31
|
+
import { isNestedTileset, loadNestedTileset, loadTile3DContent, loadFromArchive } from './helpers/load-3d-tiles';
|
|
34
32
|
import { Matrix4 } from '@math.gl/core';
|
|
35
33
|
import { createBoundingVolume } from '@loaders.gl/tiles';
|
|
36
34
|
import { traverseDatasetWith } from './helpers/tileset-traversal';
|
|
37
35
|
import { analyzeTileContent, mergePreprocessData } from './helpers/preprocess-3d-tiles';
|
|
38
|
-
const ION_DEFAULT_TOKEN = (
|
|
36
|
+
const ION_DEFAULT_TOKEN = (_process$env = process.env) === null || _process$env === void 0 ? void 0 : _process$env.IonToken;
|
|
39
37
|
const HARDCODED_NODES_PER_PAGE = 64;
|
|
40
38
|
const _3D_TILES = '3DTILES';
|
|
41
39
|
const _3D_OBJECT_LAYER_TYPE = '3DObject';
|
|
@@ -62,6 +60,7 @@ export default class I3SConverter {
|
|
|
62
60
|
_defineProperty(this, "loadOptions", {
|
|
63
61
|
_nodeWorkers: true,
|
|
64
62
|
reuseWorkers: true,
|
|
63
|
+
useLocalLibraries: true,
|
|
65
64
|
basis: {
|
|
66
65
|
format: 'rgba32',
|
|
67
66
|
workerUrl: './modules/textures/dist/basis-worker-node.js'
|
|
@@ -69,7 +68,8 @@ export default class I3SConverter {
|
|
|
69
68
|
draco: {
|
|
70
69
|
workerUrl: './modules/draco/dist/draco-worker-node.js'
|
|
71
70
|
},
|
|
72
|
-
fetch: {}
|
|
71
|
+
fetch: {},
|
|
72
|
+
modules: {}
|
|
73
73
|
});
|
|
74
74
|
_defineProperty(this, "geoidHeightModel", null);
|
|
75
75
|
_defineProperty(this, "Loader", Tiles3DLoader);
|
|
@@ -80,7 +80,8 @@ export default class I3SConverter {
|
|
|
80
80
|
_defineProperty(this, "writeQueue", new WriteQueue());
|
|
81
81
|
_defineProperty(this, "compressList", null);
|
|
82
82
|
_defineProperty(this, "preprocessData", {
|
|
83
|
-
meshTopologyTypes: new Set()
|
|
83
|
+
meshTopologyTypes: new Set(),
|
|
84
|
+
metadataClasses: new Set()
|
|
84
85
|
});
|
|
85
86
|
this.nodePages = new NodePages(writeFile, HARDCODED_NODES_PER_PAGE, this);
|
|
86
87
|
this.options = {};
|
|
@@ -122,7 +123,9 @@ export default class I3SConverter {
|
|
|
122
123
|
generateTextures,
|
|
123
124
|
generateBoundingVolumes,
|
|
124
125
|
instantNodeWriting = false,
|
|
125
|
-
mergeMaterials = true
|
|
126
|
+
mergeMaterials = true,
|
|
127
|
+
inquirer,
|
|
128
|
+
metadataClass
|
|
126
129
|
} = options;
|
|
127
130
|
this.options = {
|
|
128
131
|
maxDepth,
|
|
@@ -133,7 +136,9 @@ export default class I3SConverter {
|
|
|
133
136
|
token,
|
|
134
137
|
inputUrl,
|
|
135
138
|
instantNodeWriting,
|
|
136
|
-
mergeMaterials
|
|
139
|
+
mergeMaterials,
|
|
140
|
+
inquirer,
|
|
141
|
+
metadataClass
|
|
137
142
|
};
|
|
138
143
|
this.compressList = this.options.instantNodeWriting && [] || null;
|
|
139
144
|
this.validate = Boolean(validate);
|
|
@@ -148,15 +153,18 @@ export default class I3SConverter {
|
|
|
148
153
|
if (slpk) {
|
|
149
154
|
this.nodePages.useWriteFunction(writeFileForSlpk);
|
|
150
155
|
}
|
|
151
|
-
await this.loadWorkers();
|
|
152
156
|
try {
|
|
153
157
|
const preloadOptions = await this._fetchPreloadOptions();
|
|
158
|
+
let tilesetUrl = inputUrl;
|
|
159
|
+
if (preloadOptions.url) {
|
|
160
|
+
tilesetUrl = preloadOptions.url;
|
|
161
|
+
}
|
|
154
162
|
if (preloadOptions.headers) {
|
|
155
163
|
this.loadOptions.fetch = {
|
|
156
164
|
headers: preloadOptions.headers
|
|
157
165
|
};
|
|
158
166
|
}
|
|
159
|
-
this.sourceTileset = await
|
|
167
|
+
this.sourceTileset = await loadFromArchive(tilesetUrl, this.Loader, this.loadOptions);
|
|
160
168
|
const preprocessResult = await this.preprocessConversion();
|
|
161
169
|
if (preprocessResult) {
|
|
162
170
|
await this._createAndSaveTileset(outputPath, tilesetName);
|
|
@@ -180,35 +188,66 @@ export default class I3SConverter {
|
|
|
180
188
|
const sourceRootTile = this.sourceTileset.root;
|
|
181
189
|
await traverseDatasetWith(sourceRootTile, null, this.analyzeTile.bind(this), undefined, this.options.maxDepth);
|
|
182
190
|
const {
|
|
183
|
-
meshTopologyTypes
|
|
191
|
+
meshTopologyTypes,
|
|
192
|
+
metadataClasses
|
|
184
193
|
} = this.preprocessData;
|
|
185
194
|
console.log("------------------------------------------------");
|
|
186
195
|
console.log("Preprocess results:");
|
|
187
196
|
console.log("glTF mesh topology types: ".concat(Array.from(meshTopologyTypes).join(', ')));
|
|
197
|
+
if (metadataClasses.size) {
|
|
198
|
+
console.log("Feature metadata classes have been found: ".concat(Array.from(metadataClasses).join(', ')));
|
|
199
|
+
} else {
|
|
200
|
+
console.log('Feature metadata classes have not been found');
|
|
201
|
+
}
|
|
188
202
|
console.log("------------------------------------------------");
|
|
189
|
-
if (!meshTopologyTypes.has(
|
|
203
|
+
if (!meshTopologyTypes.has(GLTFPrimitiveModeString.TRIANGLES) && !meshTopologyTypes.has(GLTFPrimitiveModeString.TRIANGLE_STRIP)) {
|
|
190
204
|
console.log('The tileset is of unsupported mesh topology types. The conversion will be interrupted.');
|
|
191
205
|
console.log("------------------------------------------------");
|
|
192
206
|
return false;
|
|
193
207
|
}
|
|
208
|
+
if (metadataClasses.size > 1) {
|
|
209
|
+
var _this$options$metadat;
|
|
210
|
+
if ((_this$options$metadat = this.options.metadataClass) !== null && _this$options$metadat !== void 0 && _this$options$metadat.length) {
|
|
211
|
+
console.log("".concat(this.options.metadataClass, " has been selected"));
|
|
212
|
+
} else if (this.options.inquirer) {
|
|
213
|
+
const result = await this.options.inquirer.prompt([{
|
|
214
|
+
name: 'metadataClass',
|
|
215
|
+
type: 'list',
|
|
216
|
+
message: 'Select feature metadata data class to convert...',
|
|
217
|
+
choices: Array.from(metadataClasses)
|
|
218
|
+
}]);
|
|
219
|
+
this.options.metadataClass = result.metadataClass;
|
|
220
|
+
console.log("".concat(result.metadataClass, " has been selected"));
|
|
221
|
+
} else {
|
|
222
|
+
console.log("A feature metadata class has not been selected. Start the converter with option \"--metadata-class\". For example, \"npx tile-converter ... --metadata-class ".concat(Array.from(metadataClasses)[0], "\""));
|
|
223
|
+
console.log("------------------------------------------------");
|
|
224
|
+
return false;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
194
227
|
return true;
|
|
195
228
|
}
|
|
196
229
|
async analyzeTile(sourceTile, traversalProps) {
|
|
197
|
-
|
|
230
|
+
const isTileset = isNestedTileset(sourceTile);
|
|
231
|
+
if (isTileset) {
|
|
198
232
|
await loadNestedTileset(this.sourceTileset, sourceTile, this.loadOptions);
|
|
199
233
|
return null;
|
|
200
234
|
}
|
|
201
235
|
if (sourceTile.id) {
|
|
202
236
|
console.log("[analyze]: ".concat(sourceTile.id));
|
|
203
237
|
}
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
...this.loadOptions
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
238
|
+
let tileContent = null;
|
|
239
|
+
try {
|
|
240
|
+
tileContent = await loadTile3DContent(this.sourceTileset, sourceTile, {
|
|
241
|
+
...this.loadOptions,
|
|
242
|
+
'3d-tiles': {
|
|
243
|
+
...this.loadOptions['3d-tiles'],
|
|
244
|
+
loadGLTF: false
|
|
245
|
+
}
|
|
246
|
+
});
|
|
247
|
+
} catch (error) {
|
|
248
|
+
console.log("[warning]: Failed to load ".concat(sourceTile.contentUrl, ". An I3S tile with empty content will be added to the output tileset"));
|
|
249
|
+
}
|
|
250
|
+
const tilePreprocessData = await analyzeTileContent(tileContent);
|
|
212
251
|
mergePreprocessData(this.preprocessData, tilePreprocessData);
|
|
213
252
|
return null;
|
|
214
253
|
}
|
|
@@ -307,8 +346,9 @@ export default class I3SConverter {
|
|
|
307
346
|
}
|
|
308
347
|
}
|
|
309
348
|
async convertTile(sourceTile, traversalProps) {
|
|
310
|
-
|
|
311
|
-
|
|
349
|
+
const isTileset = isNestedTileset(sourceTile);
|
|
350
|
+
if (isTileset || sourceTile.type === 'empty') {
|
|
351
|
+
if (isTileset) {
|
|
312
352
|
if (sourceTile.id) {
|
|
313
353
|
console.log("[load]: ".concat(sourceTile.id));
|
|
314
354
|
}
|
|
@@ -347,14 +387,18 @@ export default class I3SConverter {
|
|
|
347
387
|
}
|
|
348
388
|
}
|
|
349
389
|
async _createNode(parentNode, sourceTile, transformationMatrix) {
|
|
350
|
-
var _this$layers, _this$layers$attribut;
|
|
351
390
|
this._checkAddRefinementTypeForTile(sourceTile);
|
|
352
391
|
await this._updateTilesetOptions();
|
|
353
|
-
|
|
392
|
+
let tileContent = null;
|
|
393
|
+
try {
|
|
394
|
+
tileContent = await loadTile3DContent(this.sourceTileset, sourceTile, this.loadOptions);
|
|
395
|
+
} catch (error) {
|
|
396
|
+
console.log("[warning]: Failed to load ".concat(sourceTile.contentUrl));
|
|
397
|
+
}
|
|
354
398
|
const sourceBoundingVolume = createBoundingVolume(sourceTile.boundingVolume, transformationMatrix, null);
|
|
355
399
|
let boundingVolumes = createBoundingVolumes(sourceBoundingVolume, this.geoidHeightModel);
|
|
356
|
-
const propertyTable = getPropertyTable(tileContent);
|
|
357
|
-
if (propertyTable
|
|
400
|
+
const propertyTable = getPropertyTable(tileContent, this.options.metadataClass);
|
|
401
|
+
if (propertyTable) {
|
|
358
402
|
this._convertPropertyTableToNodeAttributes(propertyTable);
|
|
359
403
|
}
|
|
360
404
|
const resourcesData = await this._convertResources(sourceTile, transformationMatrix, sourceBoundingVolume, tileContent, parentNode.inPageId, propertyTable);
|
|
@@ -401,7 +445,7 @@ export default class I3SConverter {
|
|
|
401
445
|
return nodes;
|
|
402
446
|
}
|
|
403
447
|
async _convertResources(sourceTile, transformationMatrix, boundingVolume, tileContent, parentId, propertyTable) {
|
|
404
|
-
var _this$
|
|
448
|
+
var _this$layers;
|
|
405
449
|
if (!this.isContentSupported(sourceTile) || !tileContent) {
|
|
406
450
|
return null;
|
|
407
451
|
}
|
|
@@ -413,7 +457,7 @@ export default class I3SConverter {
|
|
|
413
457
|
const resourcesData = await convertB3dmToI3sGeometry(tileContent, transformationMatrix, boundingVolume, async () => (await this.nodePages.push({
|
|
414
458
|
index: 0,
|
|
415
459
|
obb: draftObb
|
|
416
|
-
}, parentId)).index, propertyTable, this.featuresHashArray, (_this$
|
|
460
|
+
}, parentId)).index, propertyTable, this.featuresHashArray, (_this$layers = this.layers0) === null || _this$layers === void 0 ? void 0 : _this$layers.attributeStorageInfo, this.options.draco, this.generateBoundingVolumes, this.options.mergeMaterials, this.geoidHeightModel, this.loadOptions.modules, this.options.metadataClass);
|
|
417
461
|
return resourcesData;
|
|
418
462
|
}
|
|
419
463
|
async _updateNodeInNodePages(maxScreenThresholdSQ, boundingVolumes, sourceTile, parentId, resources) {
|
|
@@ -452,6 +496,9 @@ export default class I3SConverter {
|
|
|
452
496
|
} else {
|
|
453
497
|
node = await this.nodePages.getNodeById(nodeId);
|
|
454
498
|
}
|
|
499
|
+
if (!nodeInPage.mesh) {
|
|
500
|
+
console.log("[warning]: node ".concat(node.index, " is created with empty content"));
|
|
501
|
+
}
|
|
455
502
|
NodePages.updateAll(node, nodeInPage);
|
|
456
503
|
if (meshMaterial) {
|
|
457
504
|
NodePages.updateMaterialByNodeId(node, this._findOrCreateMaterial(meshMaterial));
|
|
@@ -560,9 +607,12 @@ export default class I3SConverter {
|
|
|
560
607
|
data: arrayToEncode
|
|
561
608
|
}, KTX2BasisWriterWorker, {
|
|
562
609
|
...KTX2BasisWriterWorker.options,
|
|
563
|
-
|
|
610
|
+
['ktx2-basis-writer']: {
|
|
611
|
+
workerUrl: './modules/textures/dist/ktx2-basis-writer-worker-node.js'
|
|
612
|
+
},
|
|
564
613
|
reuseWorkers: true,
|
|
565
|
-
_nodeWorkers: true
|
|
614
|
+
_nodeWorkers: true,
|
|
615
|
+
useLocalLibraries: true
|
|
566
616
|
});
|
|
567
617
|
await this.writeTextureFile(ktx2TextureData, '1', 'ktx2', childPath, slpkChildPath);
|
|
568
618
|
}
|
|
@@ -612,12 +662,13 @@ export default class I3SConverter {
|
|
|
612
662
|
}
|
|
613
663
|
}
|
|
614
664
|
async _writeAttributes() {
|
|
615
|
-
var _this$
|
|
665
|
+
var _this$layers2, _this$layers2$attribu;
|
|
616
666
|
let attributes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
617
667
|
let childPath = arguments.length > 1 ? arguments[1] : undefined;
|
|
618
668
|
let slpkChildPath = arguments.length > 2 ? arguments[2] : undefined;
|
|
619
|
-
if (attributes !== null && attributes !== void 0 && attributes.length && (_this$
|
|
620
|
-
|
|
669
|
+
if (attributes !== null && attributes !== void 0 && attributes.length && (_this$layers2 = this.layers0) !== null && _this$layers2 !== void 0 && (_this$layers2$attribu = _this$layers2.attributeStorageInfo) !== null && _this$layers2$attribu !== void 0 && _this$layers2$attribu.length) {
|
|
670
|
+
const minimumLength = attributes.length < this.layers0.attributeStorageInfo.length ? attributes.length : this.layers0.attributeStorageInfo.length;
|
|
671
|
+
for (let index = 0; index < minimumLength; index++) {
|
|
621
672
|
const folderName = this.layers0.attributeStorageInfo[index].key;
|
|
622
673
|
const fileBuffer = new Uint8Array(attributes[index]);
|
|
623
674
|
if (this.options.slpk) {
|
|
@@ -676,16 +727,19 @@ export default class I3SConverter {
|
|
|
676
727
|
...propertyTable
|
|
677
728
|
};
|
|
678
729
|
for (const key in propertyTableWithObjectId) {
|
|
679
|
-
const
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
730
|
+
const found = this.layers0.attributeStorageInfo.find(element => element.name === key);
|
|
731
|
+
if (!found) {
|
|
732
|
+
const firstAttribute = propertyTableWithObjectId[key][0];
|
|
733
|
+
const attributeType = getAttributeType(key, firstAttribute);
|
|
734
|
+
const storageAttribute = createdStorageAttribute(attributeIndex, key, attributeType);
|
|
735
|
+
const fieldAttributeType = getFieldAttributeType(attributeType);
|
|
736
|
+
const fieldAttribute = createFieldAttribute(key, fieldAttributeType);
|
|
737
|
+
const popupInfo = createPopupInfo(propertyTableWithObjectId);
|
|
738
|
+
this.layers0.attributeStorageInfo.push(storageAttribute);
|
|
739
|
+
this.layers0.fields.push(fieldAttribute);
|
|
740
|
+
this.layers0.popupInfo = popupInfo;
|
|
741
|
+
this.layers0.layerType = _3D_OBJECT_LAYER_TYPE;
|
|
742
|
+
}
|
|
689
743
|
attributeIndex += 1;
|
|
690
744
|
}
|
|
691
745
|
}
|
|
@@ -748,31 +802,5 @@ export default class I3SConverter {
|
|
|
748
802
|
isContentSupported(sourceTile) {
|
|
749
803
|
return ['b3dm', 'glTF', 'scenegraph'].includes(sourceTile.type || '');
|
|
750
804
|
}
|
|
751
|
-
async loadWorkers() {
|
|
752
|
-
console.log("Loading workers source...");
|
|
753
|
-
if (this.options.draco) {
|
|
754
|
-
const url = getWorkerURL(DracoWriterWorker, {
|
|
755
|
-
...getLoaderOptions()
|
|
756
|
-
});
|
|
757
|
-
const sourceResponse = await fetchFile(url);
|
|
758
|
-
const source = await sourceResponse.text();
|
|
759
|
-
this.workerSource.draco = source;
|
|
760
|
-
}
|
|
761
|
-
if (this.generateTextures) {
|
|
762
|
-
const url = getWorkerURL(KTX2BasisWriterWorker, {
|
|
763
|
-
...getLoaderOptions()
|
|
764
|
-
});
|
|
765
|
-
const sourceResponse = await fetchFile(url);
|
|
766
|
-
const source = await sourceResponse.text();
|
|
767
|
-
this.workerSource.ktx2 = source;
|
|
768
|
-
}
|
|
769
|
-
const i3sAttributesWorkerUrl = getWorkerURL(I3SAttributesWorker, {
|
|
770
|
-
...getLoaderOptions()
|
|
771
|
-
});
|
|
772
|
-
const sourceResponse = await fetchFile(i3sAttributesWorkerUrl);
|
|
773
|
-
const source = await sourceResponse.text();
|
|
774
|
-
this.workerSource.I3SAttributes = source;
|
|
775
|
-
console.log("Loading workers source completed!");
|
|
776
|
-
}
|
|
777
805
|
}
|
|
778
806
|
//# sourceMappingURL=i3s-converter.js.map
|