@loaders.gl/tile-converter 4.0.0-beta.1 → 4.0.0-beta.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/{esm/3d-tiles-converter → 3d-tiles-converter}/3d-tiles-converter.js +31 -32
- package/dist/3d-tiles-converter/3d-tiles-converter.js.map +1 -0
- package/dist/{esm/3d-tiles-converter → 3d-tiles-converter}/helpers/b3dm-converter.js +5 -6
- package/dist/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -0
- package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -0
- package/dist/3d-tiles-converter/helpers/load-i3s.js.map +1 -0
- package/dist/3d-tiles-converter/helpers/texture-atlas.js.map +1 -0
- package/dist/3d-tiles-converter/json-templates/tileset.js.map +1 -0
- package/dist/constants.js.map +1 -0
- package/dist/{esm/converter-cli.js → converter-cli.js} +37 -15
- package/dist/converter-cli.js.map +1 -0
- package/dist/converter.min.js +496 -328
- package/dist/{esm/deps-installer → deps-installer}/deps-installer.js +3 -3
- package/dist/deps-installer/deps-installer.js.map +1 -0
- package/dist/esm/i3s-server/bin/i3s-server.min.js +789 -431
- package/dist/{esm/i3s-converter → i3s-converter}/helpers/batch-ids-extensions.js +2 -2
- package/dist/i3s-converter/helpers/batch-ids-extensions.js.map +1 -0
- package/dist/i3s-converter/helpers/coordinate-converter.js.map +1 -0
- package/dist/{esm/i3s-converter → i3s-converter}/helpers/create-scene-server-path.js +2 -2
- package/dist/i3s-converter/helpers/create-scene-server-path.js.map +1 -0
- package/dist/{esm/i3s-converter → i3s-converter}/helpers/feature-attributes.js +1 -1
- package/dist/i3s-converter/helpers/feature-attributes.js.map +1 -0
- package/dist/i3s-converter/helpers/geometry-attributes.js.map +1 -0
- package/dist/{esm/i3s-converter → i3s-converter}/helpers/geometry-converter.js +11 -11
- package/dist/i3s-converter/helpers/geometry-converter.js.map +1 -0
- package/dist/i3s-converter/helpers/gltf-attributes.js.map +1 -0
- package/dist/{esm/i3s-converter → i3s-converter}/helpers/load-3d-tiles.js +1 -1
- package/dist/i3s-converter/helpers/load-3d-tiles.js.map +1 -0
- package/dist/{esm/i3s-converter → i3s-converter}/helpers/node-debug.js +2 -2
- package/dist/i3s-converter/helpers/node-debug.js.map +1 -0
- package/dist/{esm/i3s-converter → i3s-converter}/helpers/node-index-document.js +14 -15
- package/dist/i3s-converter/helpers/node-index-document.js.map +1 -0
- package/dist/{esm/i3s-converter → i3s-converter}/helpers/node-pages.js +13 -14
- package/dist/i3s-converter/helpers/node-pages.js.map +1 -0
- package/dist/{esm/i3s-converter → i3s-converter}/helpers/preprocess-3d-tiles.js +1 -1
- package/dist/i3s-converter/helpers/preprocess-3d-tiles.js.map +1 -0
- package/dist/i3s-converter/helpers/tileset-traversal.js.map +1 -0
- package/dist/i3s-converter/i3s-converter.d.ts +6 -0
- package/dist/i3s-converter/i3s-converter.d.ts.map +1 -1
- package/dist/{esm/i3s-converter → i3s-converter}/i3s-converter.js +120 -111
- package/dist/i3s-converter/i3s-converter.js.map +1 -0
- package/dist/i3s-converter/json-templates/geometry-definitions.js.map +1 -0
- package/dist/{esm/i3s-converter → i3s-converter}/json-templates/layers.js +1 -1
- package/dist/i3s-converter/json-templates/layers.js.map +1 -0
- package/dist/i3s-converter/json-templates/metadata.js.map +1 -0
- package/dist/i3s-converter/json-templates/node.js.map +1 -0
- package/dist/i3s-converter/json-templates/scene-server.js.map +1 -0
- package/dist/{esm/i3s-converter → i3s-converter}/json-templates/shared-resources.js +2 -2
- package/dist/i3s-converter/json-templates/shared-resources.js.map +1 -0
- package/dist/i3s-converter/json-templates/store.js.map +1 -0
- package/dist/i3s-converter/types.js.map +1 -0
- package/dist/{esm/i3s-server → i3s-server}/app.js +1 -1
- package/dist/i3s-server/app.js.map +1 -0
- package/dist/{esm/i3s-server → i3s-server}/bin/www.js +4 -4
- package/dist/i3s-server/bin/www.js.map +1 -0
- package/dist/{esm/i3s-server → i3s-server}/controllers/index-controller.js +1 -1
- package/dist/i3s-server/controllers/index-controller.js.map +1 -0
- package/dist/i3s-server/controllers/slpk-controller.d.ts +2 -3
- package/dist/i3s-server/controllers/slpk-controller.d.ts.map +1 -1
- package/dist/i3s-server/controllers/slpk-controller.js +19 -0
- package/dist/i3s-server/controllers/slpk-controller.js.map +1 -0
- package/dist/i3s-server/routes/index.js.map +1 -0
- package/dist/{esm/i3s-server → i3s-server}/routes/slpk-router.js +2 -2
- package/dist/i3s-server/routes/slpk-router.js.map +1 -0
- package/dist/i3s-server/utils/create-scene-server.js.map +1 -0
- package/dist/{esm/i3s-server → i3s-server}/utils/server-utils.js +5 -5
- package/dist/i3s-server/utils/server-utils.js.map +1 -0
- package/dist/index.cjs +5129 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/{esm/lib → lib}/utils/cli-utils.js +2 -2
- package/dist/lib/utils/cli-utils.js.map +1 -0
- package/dist/{esm/lib → lib}/utils/compress-util.js +15 -15
- package/dist/lib/utils/compress-util.js.map +1 -0
- package/dist/{esm/lib → lib}/utils/file-utils.js +5 -5
- package/dist/lib/utils/file-utils.js.map +1 -0
- package/dist/lib/utils/geometry-utils.js.map +1 -0
- package/dist/lib/utils/lod-conversion-utils.js.map +1 -0
- package/dist/lib/utils/queue.js.map +1 -0
- package/dist/lib/utils/statistic-utills.d.js +2 -0
- package/dist/lib/utils/statistic-utills.d.js.map +1 -0
- package/dist/{esm/lib → lib}/utils/statistic-utills.js +6 -6
- package/dist/lib/utils/statistic-utills.js.map +1 -0
- package/dist/{esm/lib → lib}/utils/write-queue.js +6 -7
- package/dist/lib/utils/write-queue.js.map +1 -0
- package/dist/{esm/pgm-loader.js → pgm-loader.js} +1 -1
- package/dist/pgm-loader.js.map +1 -0
- package/dist/{esm/slpk-extractor → slpk-extractor}/slpk-extractor.js +4 -4
- package/dist/slpk-extractor/slpk-extractor.js.map +1 -0
- package/dist/{esm/slpk-extractor-cli.js → slpk-extractor-cli.js} +6 -6
- package/dist/slpk-extractor-cli.js.map +1 -0
- package/dist/slpk-extractor.min.js +286 -140
- package/package.json +29 -22
- package/src/converter-cli.ts +32 -14
- package/src/i3s-converter/i3s-converter.ts +44 -30
- package/src/i3s-server/controllers/slpk-controller.ts +12 -10
- package/src/slpk-extractor/slpk-extractor.ts +1 -1
- package/dist/bundle.d.ts +0 -2
- package/dist/bundle.d.ts.map +0 -1
- package/dist/dist.min.js +0 -64291
- package/dist/es5/3d-tiles-converter/3d-tiles-converter.js +0 -447
- package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +0 -1
- package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js +0 -295
- package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js.map +0 -1
- package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +0 -18
- package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +0 -1
- package/dist/es5/3d-tiles-converter/helpers/load-i3s.js +0 -63
- package/dist/es5/3d-tiles-converter/helpers/load-i3s.js.map +0 -1
- package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js +0 -33
- package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js.map +0 -1
- package/dist/es5/3d-tiles-converter/json-templates/tileset.js +0 -61
- package/dist/es5/3d-tiles-converter/json-templates/tileset.js.map +0 -1
- package/dist/es5/bundle.js +0 -6
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/constants.js +0 -9
- package/dist/es5/constants.js.map +0 -1
- package/dist/es5/converter-cli.js +0 -249
- package/dist/es5/converter-cli.js.map +0 -1
- package/dist/es5/deps-installer/deps-installer.js +0 -198
- package/dist/es5/deps-installer/deps-installer.js.map +0 -1
- package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js +0 -146
- package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js.map +0 -1
- package/dist/es5/i3s-converter/helpers/coordinate-converter.js +0 -89
- package/dist/es5/i3s-converter/helpers/coordinate-converter.js.map +0 -1
- package/dist/es5/i3s-converter/helpers/create-scene-server-path.js +0 -41
- package/dist/es5/i3s-converter/helpers/create-scene-server-path.js.map +0 -1
- package/dist/es5/i3s-converter/helpers/feature-attributes.js +0 -164
- package/dist/es5/i3s-converter/helpers/feature-attributes.js.map +0 -1
- package/dist/es5/i3s-converter/helpers/geometry-attributes.js +0 -253
- package/dist/es5/i3s-converter/helpers/geometry-attributes.js.map +0 -1
- package/dist/es5/i3s-converter/helpers/geometry-converter.js +0 -1190
- package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +0 -1
- package/dist/es5/i3s-converter/helpers/gltf-attributes.js +0 -113
- package/dist/es5/i3s-converter/helpers/gltf-attributes.js.map +0 -1
- package/dist/es5/i3s-converter/helpers/load-3d-tiles.js +0 -148
- package/dist/es5/i3s-converter/helpers/load-3d-tiles.js.map +0 -1
- package/dist/es5/i3s-converter/helpers/node-debug.js +0 -76
- package/dist/es5/i3s-converter/helpers/node-debug.js.map +0 -1
- package/dist/es5/i3s-converter/helpers/node-index-document.js +0 -522
- package/dist/es5/i3s-converter/helpers/node-index-document.js.map +0 -1
- package/dist/es5/i3s-converter/helpers/node-pages.js +0 -519
- package/dist/es5/i3s-converter/helpers/node-pages.js.map +0 -1
- package/dist/es5/i3s-converter/helpers/preprocess-3d-tiles.js +0 -146
- package/dist/es5/i3s-converter/helpers/preprocess-3d-tiles.js.map +0 -1
- package/dist/es5/i3s-converter/helpers/tileset-traversal.js +0 -82
- package/dist/es5/i3s-converter/helpers/tileset-traversal.js.map +0 -1
- package/dist/es5/i3s-converter/i3s-converter.js +0 -1554
- package/dist/es5/i3s-converter/i3s-converter.js.map +0 -1
- package/dist/es5/i3s-converter/json-templates/geometry-definitions.js +0 -107
- package/dist/es5/i3s-converter/json-templates/geometry-definitions.js.map +0 -1
- package/dist/es5/i3s-converter/json-templates/layers.js +0 -163
- package/dist/es5/i3s-converter/json-templates/layers.js.map +0 -1
- package/dist/es5/i3s-converter/json-templates/metadata.js +0 -31
- package/dist/es5/i3s-converter/json-templates/metadata.js.map +0 -1
- package/dist/es5/i3s-converter/json-templates/node.js +0 -99
- package/dist/es5/i3s-converter/json-templates/node.js.map +0 -1
- package/dist/es5/i3s-converter/json-templates/scene-server.js +0 -39
- package/dist/es5/i3s-converter/json-templates/scene-server.js.map +0 -1
- package/dist/es5/i3s-converter/json-templates/shared-resources.js +0 -173
- package/dist/es5/i3s-converter/json-templates/shared-resources.js.map +0 -1
- package/dist/es5/i3s-converter/json-templates/store.js +0 -107
- package/dist/es5/i3s-converter/json-templates/store.js.map +0 -1
- package/dist/es5/i3s-converter/types.js +0 -18
- package/dist/es5/i3s-converter/types.js.map +0 -1
- package/dist/es5/i3s-server/app.js +0 -35
- package/dist/es5/i3s-server/app.js.map +0 -1
- package/dist/es5/i3s-server/bin/www.js +0 -33
- package/dist/es5/i3s-server/bin/www.js.map +0 -1
- package/dist/es5/i3s-server/controllers/index-controller.js +0 -56
- package/dist/es5/i3s-server/controllers/index-controller.js.map +0 -1
- package/dist/es5/i3s-server/controllers/slpk-controller.js +0 -81
- package/dist/es5/i3s-server/controllers/slpk-controller.js.map +0 -1
- package/dist/es5/i3s-server/routes/index.js +0 -37
- package/dist/es5/i3s-server/routes/index.js.map +0 -1
- package/dist/es5/i3s-server/routes/slpk-router.js +0 -72
- package/dist/es5/i3s-server/routes/slpk-router.js.map +0 -1
- package/dist/es5/i3s-server/utils/create-scene-server.js +0 -20
- package/dist/es5/i3s-server/utils/create-scene-server.js.map +0 -1
- package/dist/es5/i3s-server/utils/server-utils.js +0 -49
- package/dist/es5/i3s-server/utils/server-utils.js.map +0 -1
- package/dist/es5/index.js +0 -21
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/lib/utils/cli-utils.js +0 -57
- package/dist/es5/lib/utils/cli-utils.js.map +0 -1
- package/dist/es5/lib/utils/compress-util.js +0 -346
- package/dist/es5/lib/utils/compress-util.js.map +0 -1
- package/dist/es5/lib/utils/file-utils.js +0 -208
- package/dist/es5/lib/utils/file-utils.js.map +0 -1
- package/dist/es5/lib/utils/geometry-utils.js +0 -15
- package/dist/es5/lib/utils/geometry-utils.js.map +0 -1
- package/dist/es5/lib/utils/lod-conversion-utils.js +0 -50
- package/dist/es5/lib/utils/lod-conversion-utils.js.map +0 -1
- package/dist/es5/lib/utils/queue.js +0 -47
- package/dist/es5/lib/utils/queue.js.map +0 -1
- package/dist/es5/lib/utils/statistic-utills.d.ts +0 -25
- package/dist/es5/lib/utils/statistic-utills.js +0 -147
- package/dist/es5/lib/utils/statistic-utills.js.map +0 -1
- package/dist/es5/lib/utils/write-queue.js +0 -214
- package/dist/es5/lib/utils/write-queue.js.map +0 -1
- package/dist/es5/pgm-loader.js +0 -49
- package/dist/es5/pgm-loader.js.map +0 -1
- package/dist/es5/slpk-extractor/slpk-extractor.js +0 -171
- package/dist/es5/slpk-extractor/slpk-extractor.js.map +0 -1
- package/dist/es5/slpk-extractor-cli.js +0 -117
- package/dist/es5/slpk-extractor-cli.js.map +0 -1
- package/dist/esm/3d-tiles-converter/3d-tiles-converter.js.map +0 -1
- package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js.map +0 -1
- package/dist/esm/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +0 -1
- package/dist/esm/3d-tiles-converter/helpers/load-i3s.js.map +0 -1
- package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js.map +0 -1
- package/dist/esm/3d-tiles-converter/json-templates/tileset.js.map +0 -1
- package/dist/esm/bundle.js +0 -4
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/constants.js.map +0 -1
- package/dist/esm/converter-cli.js.map +0 -1
- package/dist/esm/deps-installer/deps-installer.js.map +0 -1
- package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js.map +0 -1
- package/dist/esm/i3s-converter/helpers/coordinate-converter.js.map +0 -1
- package/dist/esm/i3s-converter/helpers/create-scene-server-path.js.map +0 -1
- package/dist/esm/i3s-converter/helpers/feature-attributes.js.map +0 -1
- package/dist/esm/i3s-converter/helpers/geometry-attributes.js.map +0 -1
- package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +0 -1
- package/dist/esm/i3s-converter/helpers/gltf-attributes.js.map +0 -1
- package/dist/esm/i3s-converter/helpers/load-3d-tiles.js.map +0 -1
- package/dist/esm/i3s-converter/helpers/node-debug.js.map +0 -1
- package/dist/esm/i3s-converter/helpers/node-index-document.js.map +0 -1
- package/dist/esm/i3s-converter/helpers/node-pages.js.map +0 -1
- package/dist/esm/i3s-converter/helpers/preprocess-3d-tiles.js.map +0 -1
- package/dist/esm/i3s-converter/helpers/tileset-traversal.js.map +0 -1
- package/dist/esm/i3s-converter/i3s-converter.js.map +0 -1
- package/dist/esm/i3s-converter/json-templates/geometry-definitions.js.map +0 -1
- package/dist/esm/i3s-converter/json-templates/layers.js.map +0 -1
- package/dist/esm/i3s-converter/json-templates/metadata.js.map +0 -1
- package/dist/esm/i3s-converter/json-templates/node.js.map +0 -1
- package/dist/esm/i3s-converter/json-templates/scene-server.js.map +0 -1
- package/dist/esm/i3s-converter/json-templates/shared-resources.js.map +0 -1
- package/dist/esm/i3s-converter/json-templates/store.js.map +0 -1
- package/dist/esm/i3s-converter/types.js.map +0 -1
- package/dist/esm/i3s-server/README.md +0 -63
- package/dist/esm/i3s-server/app.js.map +0 -1
- package/dist/esm/i3s-server/bin/www.js.map +0 -1
- package/dist/esm/i3s-server/certs/cert.pem +0 -19
- package/dist/esm/i3s-server/certs/key.pem +0 -27
- package/dist/esm/i3s-server/controllers/index-controller.js.map +0 -1
- package/dist/esm/i3s-server/controllers/slpk-controller.js +0 -19
- package/dist/esm/i3s-server/controllers/slpk-controller.js.map +0 -1
- package/dist/esm/i3s-server/routes/index.js.map +0 -1
- package/dist/esm/i3s-server/routes/slpk-router.js.map +0 -1
- package/dist/esm/i3s-server/utils/create-scene-server.js.map +0 -1
- package/dist/esm/i3s-server/utils/server-utils.js.map +0 -1
- package/dist/esm/index.js +0 -3
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/lib/utils/cli-utils.js.map +0 -1
- package/dist/esm/lib/utils/compress-util.js.map +0 -1
- package/dist/esm/lib/utils/file-utils.js.map +0 -1
- package/dist/esm/lib/utils/geometry-utils.js.map +0 -1
- package/dist/esm/lib/utils/lod-conversion-utils.js.map +0 -1
- package/dist/esm/lib/utils/queue.js.map +0 -1
- package/dist/esm/lib/utils/statistic-utills.d.ts +0 -25
- package/dist/esm/lib/utils/statistic-utills.js.map +0 -1
- package/dist/esm/lib/utils/write-queue.js.map +0 -1
- package/dist/esm/pgm-loader.js.map +0 -1
- package/dist/esm/slpk-extractor/slpk-extractor.js.map +0 -1
- package/dist/esm/slpk-extractor-cli.js.map +0 -1
- package/src/bundle.ts +0 -4
- /package/dist/{esm/3d-tiles-converter → 3d-tiles-converter}/helpers/i3s-obb-to-3d-tiles-obb.js +0 -0
- /package/dist/{esm/3d-tiles-converter → 3d-tiles-converter}/helpers/load-i3s.js +0 -0
- /package/dist/{esm/3d-tiles-converter → 3d-tiles-converter}/helpers/texture-atlas.js +0 -0
- /package/dist/{esm/3d-tiles-converter → 3d-tiles-converter}/json-templates/tileset.js +0 -0
- /package/dist/{esm/constants.js → constants.js} +0 -0
- /package/dist/{esm/i3s-converter → i3s-converter}/helpers/coordinate-converter.js +0 -0
- /package/dist/{esm/i3s-converter → i3s-converter}/helpers/geometry-attributes.js +0 -0
- /package/dist/{esm/i3s-converter → i3s-converter}/helpers/gltf-attributes.js +0 -0
- /package/dist/{esm/i3s-converter → i3s-converter}/helpers/tileset-traversal.js +0 -0
- /package/dist/{esm/i3s-converter → i3s-converter}/json-templates/geometry-definitions.js +0 -0
- /package/dist/{esm/i3s-converter → i3s-converter}/json-templates/metadata.js +0 -0
- /package/dist/{esm/i3s-converter → i3s-converter}/json-templates/node.js +0 -0
- /package/dist/{esm/i3s-converter → i3s-converter}/json-templates/scene-server.js +0 -0
- /package/dist/{esm/i3s-converter → i3s-converter}/json-templates/store.js +0 -0
- /package/dist/{esm/i3s-converter → i3s-converter}/types.js +0 -0
- /package/dist/{es5/i3s-server → i3s-server}/README.md +0 -0
- /package/dist/{es5/i3s-server → i3s-server}/certs/cert.pem +0 -0
- /package/dist/{es5/i3s-server → i3s-server}/certs/key.pem +0 -0
- /package/dist/{esm/i3s-server → i3s-server}/routes/index.js +0 -0
- /package/dist/{esm/i3s-server → i3s-server}/utils/create-scene-server.js +0 -0
- /package/dist/{esm/lib → lib}/utils/geometry-utils.js +0 -0
- /package/dist/{esm/lib → lib}/utils/lod-conversion-utils.js +0 -0
- /package/dist/{esm/lib → lib}/utils/queue.js +0 -0
|
@@ -1,1554 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
14
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
var _core = require("@loaders.gl/core");
|
|
16
|
-
var _dTiles = require("@loaders.gl/3d-tiles");
|
|
17
|
-
var _path = require("path");
|
|
18
|
-
var _uuid = require("uuid");
|
|
19
|
-
var _process = _interopRequireDefault(require("process"));
|
|
20
|
-
var _jsonMapTransform = _interopRequireDefault(require("json-map-transform"));
|
|
21
|
-
var _md = _interopRequireDefault(require("md5"));
|
|
22
|
-
var _nodePages = _interopRequireDefault(require("./helpers/node-pages"));
|
|
23
|
-
var _fileUtils = require("../lib/utils/file-utils");
|
|
24
|
-
var _compressUtil = require("../lib/utils/compress-util");
|
|
25
|
-
var _statisticUtills = require("../lib/utils/statistic-utills");
|
|
26
|
-
var _geometryConverter = _interopRequireWildcard(require("./helpers/geometry-converter"));
|
|
27
|
-
var _coordinateConverter = require("./helpers/coordinate-converter");
|
|
28
|
-
var _createSceneServerPath = require("./helpers/create-scene-server-path");
|
|
29
|
-
var _lodConversionUtils = require("../lib/utils/lod-conversion-utils");
|
|
30
|
-
var _pgmLoader = require("../pgm-loader");
|
|
31
|
-
var _layers = require("./json-templates/layers");
|
|
32
|
-
var _geometryDefinitions = require("./json-templates/geometry-definitions");
|
|
33
|
-
var _sharedResources = require("./json-templates/shared-resources");
|
|
34
|
-
var _nodeDebug = require("./helpers/node-debug");
|
|
35
|
-
var _textures = require("@loaders.gl/textures");
|
|
36
|
-
var _images = require("@loaders.gl/images");
|
|
37
|
-
var _types = require("./types");
|
|
38
|
-
var _workerUtils = require("@loaders.gl/worker-utils");
|
|
39
|
-
var _writeQueue = _interopRequireDefault(require("../lib/utils/write-queue"));
|
|
40
|
-
var _constants = require("../constants");
|
|
41
|
-
var _featureAttributes = require("./helpers/feature-attributes");
|
|
42
|
-
var _nodeIndexDocument = require("./helpers/node-index-document");
|
|
43
|
-
var _load3dTiles = require("./helpers/load-3d-tiles");
|
|
44
|
-
var _core2 = require("@math.gl/core");
|
|
45
|
-
var _tiles = require("@loaders.gl/tiles");
|
|
46
|
-
var _tilesetTraversal = require("./helpers/tileset-traversal");
|
|
47
|
-
var _preprocess3dTiles = require("./helpers/preprocess-3d-tiles");
|
|
48
|
-
var _process$env;
|
|
49
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
50
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
51
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
52
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
53
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
54
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
55
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
56
|
-
var ION_DEFAULT_TOKEN = (_process$env = _process.default.env) === null || _process$env === void 0 ? void 0 : _process$env.IonToken;
|
|
57
|
-
var HARDCODED_NODES_PER_PAGE = 64;
|
|
58
|
-
var _3D_TILES = '3DTILES';
|
|
59
|
-
var _3D_OBJECT_LAYER_TYPE = '3DObject';
|
|
60
|
-
var REFRESH_TOKEN_TIMEOUT = 1800;
|
|
61
|
-
var CESIUM_DATASET_PREFIX = 'https://';
|
|
62
|
-
var I3SConverter = function () {
|
|
63
|
-
function I3SConverter() {
|
|
64
|
-
(0, _classCallCheck2.default)(this, I3SConverter);
|
|
65
|
-
(0, _defineProperty2.default)(this, "nodePages", void 0);
|
|
66
|
-
(0, _defineProperty2.default)(this, "options", void 0);
|
|
67
|
-
(0, _defineProperty2.default)(this, "layers0Path", void 0);
|
|
68
|
-
(0, _defineProperty2.default)(this, "materialMap", void 0);
|
|
69
|
-
(0, _defineProperty2.default)(this, "materialDefinitions", void 0);
|
|
70
|
-
(0, _defineProperty2.default)(this, "geometryMap", void 0);
|
|
71
|
-
(0, _defineProperty2.default)(this, "geometryConfigs", void 0);
|
|
72
|
-
(0, _defineProperty2.default)(this, "vertexCounter", void 0);
|
|
73
|
-
(0, _defineProperty2.default)(this, "layers0", void 0);
|
|
74
|
-
(0, _defineProperty2.default)(this, "featuresHashArray", void 0);
|
|
75
|
-
(0, _defineProperty2.default)(this, "refinementCounter", void 0);
|
|
76
|
-
(0, _defineProperty2.default)(this, "validate", void 0);
|
|
77
|
-
(0, _defineProperty2.default)(this, "boundingVolumeWarnings", []);
|
|
78
|
-
(0, _defineProperty2.default)(this, "conversionStartTime", [0, 0]);
|
|
79
|
-
(0, _defineProperty2.default)(this, "refreshTokenTime", [0, 0]);
|
|
80
|
-
(0, _defineProperty2.default)(this, "sourceTileset", null);
|
|
81
|
-
(0, _defineProperty2.default)(this, "loadOptions", {
|
|
82
|
-
_nodeWorkers: true,
|
|
83
|
-
reuseWorkers: true,
|
|
84
|
-
useLocalLibraries: true,
|
|
85
|
-
basis: {
|
|
86
|
-
format: 'rgba32',
|
|
87
|
-
workerUrl: './modules/textures/dist/basis-worker-node.js'
|
|
88
|
-
},
|
|
89
|
-
draco: {
|
|
90
|
-
workerUrl: './modules/draco/dist/draco-worker-node.js'
|
|
91
|
-
},
|
|
92
|
-
fetch: {},
|
|
93
|
-
modules: {}
|
|
94
|
-
});
|
|
95
|
-
(0, _defineProperty2.default)(this, "geoidHeightModel", null);
|
|
96
|
-
(0, _defineProperty2.default)(this, "Loader", _dTiles.Tiles3DLoader);
|
|
97
|
-
(0, _defineProperty2.default)(this, "generateTextures", void 0);
|
|
98
|
-
(0, _defineProperty2.default)(this, "generateBoundingVolumes", void 0);
|
|
99
|
-
(0, _defineProperty2.default)(this, "layersHasTexture", void 0);
|
|
100
|
-
(0, _defineProperty2.default)(this, "workerSource", {});
|
|
101
|
-
(0, _defineProperty2.default)(this, "writeQueue", new _writeQueue.default());
|
|
102
|
-
(0, _defineProperty2.default)(this, "compressList", null);
|
|
103
|
-
(0, _defineProperty2.default)(this, "preprocessData", {
|
|
104
|
-
meshTopologyTypes: new Set(),
|
|
105
|
-
metadataClasses: new Set()
|
|
106
|
-
});
|
|
107
|
-
this.nodePages = new _nodePages.default(_fileUtils.writeFile, HARDCODED_NODES_PER_PAGE, this);
|
|
108
|
-
this.options = {};
|
|
109
|
-
this.layers0Path = '';
|
|
110
|
-
this.materialMap = new Map();
|
|
111
|
-
this.materialDefinitions = [];
|
|
112
|
-
this.geometryMap = new Map();
|
|
113
|
-
this.geometryConfigs = [];
|
|
114
|
-
this.vertexCounter = 0;
|
|
115
|
-
this.layers0 = null;
|
|
116
|
-
this.featuresHashArray = [];
|
|
117
|
-
this.refinementCounter = {
|
|
118
|
-
tilesCount: 0,
|
|
119
|
-
tilesWithAddRefineCount: 0
|
|
120
|
-
};
|
|
121
|
-
this.validate = false;
|
|
122
|
-
this.generateTextures = false;
|
|
123
|
-
this.generateBoundingVolumes = false;
|
|
124
|
-
this.layersHasTexture = false;
|
|
125
|
-
this.compressList = null;
|
|
126
|
-
}
|
|
127
|
-
(0, _createClass2.default)(I3SConverter, [{
|
|
128
|
-
key: "convert",
|
|
129
|
-
value: function () {
|
|
130
|
-
var _convert = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
|
|
131
|
-
var tilesetName, slpk, egmFilePath, inputUrl, validate, outputPath, _options$draco, draco, sevenZipExe, maxDepth, token, generateTextures, generateBoundingVolumes, _options$instantNodeW, instantNodeWriting, _options$mergeMateria, mergeMaterials, inquirer, metadataClass, preloadOptions, tilesetUrl, preprocessResult, workerFarm;
|
|
132
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
133
|
-
while (1) switch (_context.prev = _context.next) {
|
|
134
|
-
case 0:
|
|
135
|
-
if (!_core.isBrowser) {
|
|
136
|
-
_context.next = 3;
|
|
137
|
-
break;
|
|
138
|
-
}
|
|
139
|
-
console.log(_constants.BROWSER_ERROR_MESSAGE);
|
|
140
|
-
return _context.abrupt("return", _constants.BROWSER_ERROR_MESSAGE);
|
|
141
|
-
case 3:
|
|
142
|
-
this.conversionStartTime = _process.default.hrtime();
|
|
143
|
-
tilesetName = options.tilesetName, slpk = options.slpk, egmFilePath = options.egmFilePath, inputUrl = options.inputUrl, validate = options.validate, outputPath = options.outputPath, _options$draco = options.draco, draco = _options$draco === void 0 ? true : _options$draco, sevenZipExe = options.sevenZipExe, maxDepth = options.maxDepth, token = options.token, generateTextures = options.generateTextures, generateBoundingVolumes = options.generateBoundingVolumes, _options$instantNodeW = options.instantNodeWriting, instantNodeWriting = _options$instantNodeW === void 0 ? false : _options$instantNodeW, _options$mergeMateria = options.mergeMaterials, mergeMaterials = _options$mergeMateria === void 0 ? true : _options$mergeMateria, inquirer = options.inquirer, metadataClass = options.metadataClass;
|
|
144
|
-
this.options = {
|
|
145
|
-
maxDepth: maxDepth,
|
|
146
|
-
slpk: slpk,
|
|
147
|
-
sevenZipExe: sevenZipExe,
|
|
148
|
-
egmFilePath: egmFilePath,
|
|
149
|
-
draco: draco,
|
|
150
|
-
token: token,
|
|
151
|
-
inputUrl: inputUrl,
|
|
152
|
-
instantNodeWriting: instantNodeWriting,
|
|
153
|
-
mergeMaterials: mergeMaterials,
|
|
154
|
-
inquirer: inquirer,
|
|
155
|
-
metadataClass: metadataClass
|
|
156
|
-
};
|
|
157
|
-
this.compressList = this.options.instantNodeWriting && [] || null;
|
|
158
|
-
this.validate = Boolean(validate);
|
|
159
|
-
this.Loader = inputUrl.indexOf(CESIUM_DATASET_PREFIX) !== -1 ? _dTiles.CesiumIonLoader : _dTiles.Tiles3DLoader;
|
|
160
|
-
this.generateTextures = Boolean(generateTextures);
|
|
161
|
-
this.generateBoundingVolumes = Boolean(generateBoundingVolumes);
|
|
162
|
-
this.writeQueue = new _writeQueue.default();
|
|
163
|
-
this.writeQueue.startListening();
|
|
164
|
-
console.log('Loading egm file...');
|
|
165
|
-
_context.next = 16;
|
|
166
|
-
return (0, _core.load)(egmFilePath, _pgmLoader.PGMLoader);
|
|
167
|
-
case 16:
|
|
168
|
-
this.geoidHeightModel = _context.sent;
|
|
169
|
-
console.log('Loading egm file completed!');
|
|
170
|
-
if (slpk) {
|
|
171
|
-
this.nodePages.useWriteFunction(_fileUtils.writeFileForSlpk);
|
|
172
|
-
}
|
|
173
|
-
_context.prev = 19;
|
|
174
|
-
_context.next = 22;
|
|
175
|
-
return this._fetchPreloadOptions();
|
|
176
|
-
case 22:
|
|
177
|
-
preloadOptions = _context.sent;
|
|
178
|
-
tilesetUrl = inputUrl;
|
|
179
|
-
if (preloadOptions.url) {
|
|
180
|
-
tilesetUrl = preloadOptions.url;
|
|
181
|
-
}
|
|
182
|
-
if (preloadOptions.headers) {
|
|
183
|
-
this.loadOptions.fetch = {
|
|
184
|
-
headers: preloadOptions.headers
|
|
185
|
-
};
|
|
186
|
-
}
|
|
187
|
-
_context.next = 28;
|
|
188
|
-
return (0, _load3dTiles.loadFromArchive)(tilesetUrl, this.Loader, this.loadOptions);
|
|
189
|
-
case 28:
|
|
190
|
-
this.sourceTileset = _context.sent;
|
|
191
|
-
_context.next = 31;
|
|
192
|
-
return this.preprocessConversion();
|
|
193
|
-
case 31:
|
|
194
|
-
preprocessResult = _context.sent;
|
|
195
|
-
if (!preprocessResult) {
|
|
196
|
-
_context.next = 37;
|
|
197
|
-
break;
|
|
198
|
-
}
|
|
199
|
-
_context.next = 35;
|
|
200
|
-
return this._createAndSaveTileset(outputPath, tilesetName);
|
|
201
|
-
case 35:
|
|
202
|
-
_context.next = 37;
|
|
203
|
-
return this._finishConversion({
|
|
204
|
-
slpk: Boolean(slpk),
|
|
205
|
-
outputPath: outputPath,
|
|
206
|
-
tilesetName: tilesetName
|
|
207
|
-
});
|
|
208
|
-
case 37:
|
|
209
|
-
_context.next = 42;
|
|
210
|
-
break;
|
|
211
|
-
case 39:
|
|
212
|
-
_context.prev = 39;
|
|
213
|
-
_context.t0 = _context["catch"](19);
|
|
214
|
-
throw _context.t0;
|
|
215
|
-
case 42:
|
|
216
|
-
_context.prev = 42;
|
|
217
|
-
_context.next = 45;
|
|
218
|
-
return this.writeQueue.finalize();
|
|
219
|
-
case 45:
|
|
220
|
-
workerFarm = _workerUtils.WorkerFarm.getWorkerFarm({});
|
|
221
|
-
workerFarm.destroy();
|
|
222
|
-
return _context.finish(42);
|
|
223
|
-
case 48:
|
|
224
|
-
return _context.abrupt("return", 'success');
|
|
225
|
-
case 49:
|
|
226
|
-
case "end":
|
|
227
|
-
return _context.stop();
|
|
228
|
-
}
|
|
229
|
-
}, _callee, this, [[19, 39, 42, 48]]);
|
|
230
|
-
}));
|
|
231
|
-
function convert(_x) {
|
|
232
|
-
return _convert.apply(this, arguments);
|
|
233
|
-
}
|
|
234
|
-
return convert;
|
|
235
|
-
}()
|
|
236
|
-
}, {
|
|
237
|
-
key: "preprocessConversion",
|
|
238
|
-
value: function () {
|
|
239
|
-
var _preprocessConversion = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2() {
|
|
240
|
-
var sourceRootTile, _this$preprocessData, meshTopologyTypes, metadataClasses, _this$options$metadat, result;
|
|
241
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
242
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
243
|
-
case 0:
|
|
244
|
-
console.log("Analyze source tileset");
|
|
245
|
-
sourceRootTile = this.sourceTileset.root;
|
|
246
|
-
_context2.next = 4;
|
|
247
|
-
return (0, _tilesetTraversal.traverseDatasetWith)(sourceRootTile, null, this.analyzeTile.bind(this), undefined, this.options.maxDepth);
|
|
248
|
-
case 4:
|
|
249
|
-
_this$preprocessData = this.preprocessData, meshTopologyTypes = _this$preprocessData.meshTopologyTypes, metadataClasses = _this$preprocessData.metadataClasses;
|
|
250
|
-
console.log("------------------------------------------------");
|
|
251
|
-
console.log("Preprocess results:");
|
|
252
|
-
console.log("glTF mesh topology types: ".concat(Array.from(meshTopologyTypes).join(', ')));
|
|
253
|
-
if (metadataClasses.size) {
|
|
254
|
-
console.log("Feature metadata classes have been found: ".concat(Array.from(metadataClasses).join(', ')));
|
|
255
|
-
} else {
|
|
256
|
-
console.log('Feature metadata classes have not been found');
|
|
257
|
-
}
|
|
258
|
-
console.log("------------------------------------------------");
|
|
259
|
-
if (!(!meshTopologyTypes.has(_types.GLTFPrimitiveModeString.TRIANGLES) && !meshTopologyTypes.has(_types.GLTFPrimitiveModeString.TRIANGLE_STRIP))) {
|
|
260
|
-
_context2.next = 14;
|
|
261
|
-
break;
|
|
262
|
-
}
|
|
263
|
-
console.log('The tileset is of unsupported mesh topology types. The conversion will be interrupted.');
|
|
264
|
-
console.log("------------------------------------------------");
|
|
265
|
-
return _context2.abrupt("return", false);
|
|
266
|
-
case 14:
|
|
267
|
-
if (!(metadataClasses.size > 1)) {
|
|
268
|
-
_context2.next = 30;
|
|
269
|
-
break;
|
|
270
|
-
}
|
|
271
|
-
if (!((_this$options$metadat = this.options.metadataClass) !== null && _this$options$metadat !== void 0 && _this$options$metadat.length)) {
|
|
272
|
-
_context2.next = 19;
|
|
273
|
-
break;
|
|
274
|
-
}
|
|
275
|
-
console.log("".concat(this.options.metadataClass, " has been selected"));
|
|
276
|
-
_context2.next = 30;
|
|
277
|
-
break;
|
|
278
|
-
case 19:
|
|
279
|
-
if (!this.options.inquirer) {
|
|
280
|
-
_context2.next = 27;
|
|
281
|
-
break;
|
|
282
|
-
}
|
|
283
|
-
_context2.next = 22;
|
|
284
|
-
return this.options.inquirer.prompt([{
|
|
285
|
-
name: 'metadataClass',
|
|
286
|
-
type: 'list',
|
|
287
|
-
message: 'Select feature metadata data class to convert...',
|
|
288
|
-
choices: Array.from(metadataClasses)
|
|
289
|
-
}]);
|
|
290
|
-
case 22:
|
|
291
|
-
result = _context2.sent;
|
|
292
|
-
this.options.metadataClass = result.metadataClass;
|
|
293
|
-
console.log("".concat(result.metadataClass, " has been selected"));
|
|
294
|
-
_context2.next = 30;
|
|
295
|
-
break;
|
|
296
|
-
case 27:
|
|
297
|
-
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], "\""));
|
|
298
|
-
console.log("------------------------------------------------");
|
|
299
|
-
return _context2.abrupt("return", false);
|
|
300
|
-
case 30:
|
|
301
|
-
return _context2.abrupt("return", true);
|
|
302
|
-
case 31:
|
|
303
|
-
case "end":
|
|
304
|
-
return _context2.stop();
|
|
305
|
-
}
|
|
306
|
-
}, _callee2, this);
|
|
307
|
-
}));
|
|
308
|
-
function preprocessConversion() {
|
|
309
|
-
return _preprocessConversion.apply(this, arguments);
|
|
310
|
-
}
|
|
311
|
-
return preprocessConversion;
|
|
312
|
-
}()
|
|
313
|
-
}, {
|
|
314
|
-
key: "analyzeTile",
|
|
315
|
-
value: function () {
|
|
316
|
-
var _analyzeTile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(sourceTile, traversalProps) {
|
|
317
|
-
var isTileset, tileContent, tilePreprocessData;
|
|
318
|
-
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
319
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
320
|
-
case 0:
|
|
321
|
-
isTileset = (0, _load3dTiles.isNestedTileset)(sourceTile);
|
|
322
|
-
if (!isTileset) {
|
|
323
|
-
_context3.next = 5;
|
|
324
|
-
break;
|
|
325
|
-
}
|
|
326
|
-
_context3.next = 4;
|
|
327
|
-
return (0, _load3dTiles.loadNestedTileset)(this.sourceTileset, sourceTile, this.loadOptions);
|
|
328
|
-
case 4:
|
|
329
|
-
return _context3.abrupt("return", null);
|
|
330
|
-
case 5:
|
|
331
|
-
if (sourceTile.id) {
|
|
332
|
-
console.log("[analyze]: ".concat(sourceTile.id));
|
|
333
|
-
}
|
|
334
|
-
tileContent = null;
|
|
335
|
-
_context3.prev = 7;
|
|
336
|
-
_context3.next = 10;
|
|
337
|
-
return (0, _load3dTiles.loadTile3DContent)(this.sourceTileset, sourceTile, _objectSpread(_objectSpread({}, this.loadOptions), {}, {
|
|
338
|
-
'3d-tiles': _objectSpread(_objectSpread({}, this.loadOptions['3d-tiles']), {}, {
|
|
339
|
-
loadGLTF: false
|
|
340
|
-
})
|
|
341
|
-
}));
|
|
342
|
-
case 10:
|
|
343
|
-
tileContent = _context3.sent;
|
|
344
|
-
_context3.next = 16;
|
|
345
|
-
break;
|
|
346
|
-
case 13:
|
|
347
|
-
_context3.prev = 13;
|
|
348
|
-
_context3.t0 = _context3["catch"](7);
|
|
349
|
-
console.log("[warning]: Failed to load ".concat(sourceTile.contentUrl, ". An I3S tile with empty content will be added to the output tileset"));
|
|
350
|
-
case 16:
|
|
351
|
-
_context3.next = 18;
|
|
352
|
-
return (0, _preprocess3dTiles.analyzeTileContent)(tileContent);
|
|
353
|
-
case 18:
|
|
354
|
-
tilePreprocessData = _context3.sent;
|
|
355
|
-
(0, _preprocess3dTiles.mergePreprocessData)(this.preprocessData, tilePreprocessData);
|
|
356
|
-
return _context3.abrupt("return", null);
|
|
357
|
-
case 21:
|
|
358
|
-
case "end":
|
|
359
|
-
return _context3.stop();
|
|
360
|
-
}
|
|
361
|
-
}, _callee3, this, [[7, 13]]);
|
|
362
|
-
}));
|
|
363
|
-
function analyzeTile(_x2, _x3) {
|
|
364
|
-
return _analyzeTile.apply(this, arguments);
|
|
365
|
-
}
|
|
366
|
-
return analyzeTile;
|
|
367
|
-
}()
|
|
368
|
-
}, {
|
|
369
|
-
key: "_createAndSaveTileset",
|
|
370
|
-
value: function () {
|
|
371
|
-
var _createAndSaveTileset2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(outputPath, tilesetName) {
|
|
372
|
-
var _this$sourceTileset,
|
|
373
|
-
_this$sourceTileset$r,
|
|
374
|
-
_this$sourceTileset$r2,
|
|
375
|
-
_this = this;
|
|
376
|
-
var tilesetPath, sourceRootTile, sourceBoundingVolume, boundingVolumes, rootNode, _iterator, _step, filePath;
|
|
377
|
-
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
378
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
379
|
-
case 0:
|
|
380
|
-
tilesetPath = (0, _path.join)("".concat(outputPath), "".concat(tilesetName));
|
|
381
|
-
_context4.prev = 1;
|
|
382
|
-
_context4.next = 4;
|
|
383
|
-
return (0, _fileUtils.removeDir)(tilesetPath);
|
|
384
|
-
case 4:
|
|
385
|
-
_context4.next = 8;
|
|
386
|
-
break;
|
|
387
|
-
case 6:
|
|
388
|
-
_context4.prev = 6;
|
|
389
|
-
_context4.t0 = _context4["catch"](1);
|
|
390
|
-
case 8:
|
|
391
|
-
this.layers0Path = (0, _path.join)(tilesetPath, 'SceneServer', 'layers', '0');
|
|
392
|
-
this.materialDefinitions = [];
|
|
393
|
-
this.materialMap = new Map();
|
|
394
|
-
sourceRootTile = this.sourceTileset.root;
|
|
395
|
-
sourceBoundingVolume = (0, _tiles.createBoundingVolume)(sourceRootTile.boundingVolume, new _core2.Matrix4(sourceRootTile.transform), null);
|
|
396
|
-
this._formLayers0(tilesetName, sourceBoundingVolume, (_this$sourceTileset = this.sourceTileset) === null || _this$sourceTileset === void 0 ? void 0 : (_this$sourceTileset$r = _this$sourceTileset.root) === null || _this$sourceTileset$r === void 0 ? void 0 : (_this$sourceTileset$r2 = _this$sourceTileset$r.boundingVolume) === null || _this$sourceTileset$r2 === void 0 ? void 0 : _this$sourceTileset$r2.region);
|
|
397
|
-
boundingVolumes = (0, _coordinateConverter.createBoundingVolumes)(sourceBoundingVolume, this.geoidHeightModel);
|
|
398
|
-
_context4.next = 17;
|
|
399
|
-
return this.nodePages.push({
|
|
400
|
-
index: 0,
|
|
401
|
-
lodThreshold: 0,
|
|
402
|
-
obb: boundingVolumes.obb,
|
|
403
|
-
children: []
|
|
404
|
-
});
|
|
405
|
-
case 17:
|
|
406
|
-
_context4.next = 19;
|
|
407
|
-
return _nodeIndexDocument.NodeIndexDocument.createRootNode(boundingVolumes, this);
|
|
408
|
-
case 19:
|
|
409
|
-
rootNode = _context4.sent;
|
|
410
|
-
_context4.next = 22;
|
|
411
|
-
return (0, _tilesetTraversal.traverseDatasetWith)(sourceRootTile, {
|
|
412
|
-
transform: new _core2.Matrix4(sourceRootTile.transform),
|
|
413
|
-
parentNodes: [rootNode]
|
|
414
|
-
}, this.convertTile.bind(this), this.finalizeTile.bind(this), this.options.maxDepth);
|
|
415
|
-
case 22:
|
|
416
|
-
this.layers0.materialDefinitions = this.materialDefinitions;
|
|
417
|
-
this.layers0.geometryDefinitions = (0, _jsonMapTransform.default)(this.geometryConfigs.map(function (config) {
|
|
418
|
-
return {
|
|
419
|
-
geometryConfig: _objectSpread(_objectSpread({}, config), {}, {
|
|
420
|
-
draco: _this.options.draco
|
|
421
|
-
})
|
|
422
|
-
};
|
|
423
|
-
}), (0, _geometryDefinitions.GEOMETRY_DEFINITION)());
|
|
424
|
-
if (this.layersHasTexture === false) {
|
|
425
|
-
this.layers0.store.defaultGeometrySchema.ordering = this.layers0.store.defaultGeometrySchema.ordering.filter(function (attribute) {
|
|
426
|
-
return attribute !== 'uv0';
|
|
427
|
-
});
|
|
428
|
-
}
|
|
429
|
-
_context4.next = 27;
|
|
430
|
-
return this._writeLayers0();
|
|
431
|
-
case 27:
|
|
432
|
-
(0, _createSceneServerPath.createSceneServerPath)(tilesetName, this.layers0, tilesetPath);
|
|
433
|
-
_iterator = _createForOfIteratorHelper(this.compressList || []);
|
|
434
|
-
_context4.prev = 29;
|
|
435
|
-
_iterator.s();
|
|
436
|
-
case 31:
|
|
437
|
-
if ((_step = _iterator.n()).done) {
|
|
438
|
-
_context4.next = 39;
|
|
439
|
-
break;
|
|
440
|
-
}
|
|
441
|
-
filePath = _step.value;
|
|
442
|
-
_context4.next = 35;
|
|
443
|
-
return (0, _compressUtil.compressFileWithGzip)(filePath);
|
|
444
|
-
case 35:
|
|
445
|
-
_context4.next = 37;
|
|
446
|
-
return (0, _fileUtils.removeFile)(filePath);
|
|
447
|
-
case 37:
|
|
448
|
-
_context4.next = 31;
|
|
449
|
-
break;
|
|
450
|
-
case 39:
|
|
451
|
-
_context4.next = 44;
|
|
452
|
-
break;
|
|
453
|
-
case 41:
|
|
454
|
-
_context4.prev = 41;
|
|
455
|
-
_context4.t1 = _context4["catch"](29);
|
|
456
|
-
_iterator.e(_context4.t1);
|
|
457
|
-
case 44:
|
|
458
|
-
_context4.prev = 44;
|
|
459
|
-
_iterator.f();
|
|
460
|
-
return _context4.finish(44);
|
|
461
|
-
case 47:
|
|
462
|
-
_context4.next = 49;
|
|
463
|
-
return this.nodePages.save();
|
|
464
|
-
case 49:
|
|
465
|
-
_context4.next = 51;
|
|
466
|
-
return this.writeQueue.finalize();
|
|
467
|
-
case 51:
|
|
468
|
-
_context4.next = 53;
|
|
469
|
-
return this._createSlpk(tilesetPath);
|
|
470
|
-
case 53:
|
|
471
|
-
case "end":
|
|
472
|
-
return _context4.stop();
|
|
473
|
-
}
|
|
474
|
-
}, _callee4, this, [[1, 6], [29, 41, 44, 47]]);
|
|
475
|
-
}));
|
|
476
|
-
function _createAndSaveTileset(_x4, _x5) {
|
|
477
|
-
return _createAndSaveTileset2.apply(this, arguments);
|
|
478
|
-
}
|
|
479
|
-
return _createAndSaveTileset;
|
|
480
|
-
}()
|
|
481
|
-
}, {
|
|
482
|
-
key: "_formLayers0",
|
|
483
|
-
value: function _formLayers0(tilesetName, sourceBoundingVolume, boundingVolumeRegion) {
|
|
484
|
-
var _this$sourceTileset2;
|
|
485
|
-
if (!((_this$sourceTileset2 = this.sourceTileset) !== null && _this$sourceTileset2 !== void 0 && _this$sourceTileset2.root)) {
|
|
486
|
-
return;
|
|
487
|
-
}
|
|
488
|
-
var fullExtent = (0, _coordinateConverter.convertBoundingVolumeToI3SFullExtent)(sourceBoundingVolume);
|
|
489
|
-
if (boundingVolumeRegion) {
|
|
490
|
-
fullExtent.zmin = boundingVolumeRegion[4];
|
|
491
|
-
fullExtent.zmax = boundingVolumeRegion[5];
|
|
492
|
-
}
|
|
493
|
-
var extent = [fullExtent.xmin, fullExtent.ymin, fullExtent.xmax, fullExtent.ymax];
|
|
494
|
-
var layers0data = {
|
|
495
|
-
version: "{".concat((0, _uuid.v4)().toUpperCase(), "}"),
|
|
496
|
-
id: 0,
|
|
497
|
-
name: tilesetName,
|
|
498
|
-
href: './layers/0',
|
|
499
|
-
store: {
|
|
500
|
-
id: "{".concat((0, _uuid.v4)().toUpperCase(), "}"),
|
|
501
|
-
extent: extent
|
|
502
|
-
},
|
|
503
|
-
nodePages: {
|
|
504
|
-
nodesPerPage: HARDCODED_NODES_PER_PAGE
|
|
505
|
-
},
|
|
506
|
-
compressGeometry: this.options.draco,
|
|
507
|
-
fullExtent: fullExtent
|
|
508
|
-
};
|
|
509
|
-
this.layers0 = (0, _jsonMapTransform.default)(layers0data, (0, _layers.LAYERS)());
|
|
510
|
-
}
|
|
511
|
-
}, {
|
|
512
|
-
key: "_writeLayers0",
|
|
513
|
-
value: function () {
|
|
514
|
-
var _writeLayers = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5() {
|
|
515
|
-
var _this2 = this;
|
|
516
|
-
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
517
|
-
while (1) switch (_context5.prev = _context5.next) {
|
|
518
|
-
case 0:
|
|
519
|
-
if (!this.options.slpk) {
|
|
520
|
-
_context5.next = 5;
|
|
521
|
-
break;
|
|
522
|
-
}
|
|
523
|
-
_context5.next = 3;
|
|
524
|
-
return this.writeQueue.enqueue({
|
|
525
|
-
archiveKey: '3dSceneLayer.json.gz',
|
|
526
|
-
writePromise: function writePromise() {
|
|
527
|
-
return (0, _fileUtils.writeFileForSlpk)(_this2.layers0Path, JSON.stringify(_this2.layers0), '3dSceneLayer.json');
|
|
528
|
-
}
|
|
529
|
-
});
|
|
530
|
-
case 3:
|
|
531
|
-
_context5.next = 7;
|
|
532
|
-
break;
|
|
533
|
-
case 5:
|
|
534
|
-
_context5.next = 7;
|
|
535
|
-
return this.writeQueue.enqueue({
|
|
536
|
-
writePromise: function writePromise() {
|
|
537
|
-
return (0, _fileUtils.writeFile)(_this2.layers0Path, JSON.stringify(_this2.layers0));
|
|
538
|
-
}
|
|
539
|
-
});
|
|
540
|
-
case 7:
|
|
541
|
-
case "end":
|
|
542
|
-
return _context5.stop();
|
|
543
|
-
}
|
|
544
|
-
}, _callee5, this);
|
|
545
|
-
}));
|
|
546
|
-
function _writeLayers0() {
|
|
547
|
-
return _writeLayers.apply(this, arguments);
|
|
548
|
-
}
|
|
549
|
-
return _writeLayers0;
|
|
550
|
-
}()
|
|
551
|
-
}, {
|
|
552
|
-
key: "_createSlpk",
|
|
553
|
-
value: function () {
|
|
554
|
-
var _createSlpk2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee6(tilesetPath) {
|
|
555
|
-
var slpkTilesetPath, slpkFileName;
|
|
556
|
-
return _regenerator.default.wrap(function _callee6$(_context6) {
|
|
557
|
-
while (1) switch (_context6.prev = _context6.next) {
|
|
558
|
-
case 0:
|
|
559
|
-
if (!this.options.slpk) {
|
|
560
|
-
_context6.next = 12;
|
|
561
|
-
break;
|
|
562
|
-
}
|
|
563
|
-
slpkTilesetPath = (0, _path.join)(tilesetPath, 'SceneServer', 'layers', '0');
|
|
564
|
-
slpkFileName = "".concat(tilesetPath, ".slpk");
|
|
565
|
-
_context6.next = 5;
|
|
566
|
-
return (0, _compressUtil.compressWithChildProcess)(slpkTilesetPath, slpkFileName, 0, '.', this.options.sevenZipExe);
|
|
567
|
-
case 5:
|
|
568
|
-
_context6.prev = 5;
|
|
569
|
-
_context6.next = 8;
|
|
570
|
-
return (0, _fileUtils.removeDir)(tilesetPath);
|
|
571
|
-
case 8:
|
|
572
|
-
_context6.next = 12;
|
|
573
|
-
break;
|
|
574
|
-
case 10:
|
|
575
|
-
_context6.prev = 10;
|
|
576
|
-
_context6.t0 = _context6["catch"](5);
|
|
577
|
-
case 12:
|
|
578
|
-
case "end":
|
|
579
|
-
return _context6.stop();
|
|
580
|
-
}
|
|
581
|
-
}, _callee6, this, [[5, 10]]);
|
|
582
|
-
}));
|
|
583
|
-
function _createSlpk(_x6) {
|
|
584
|
-
return _createSlpk2.apply(this, arguments);
|
|
585
|
-
}
|
|
586
|
-
return _createSlpk;
|
|
587
|
-
}()
|
|
588
|
-
}, {
|
|
589
|
-
key: "convertTile",
|
|
590
|
-
value: function () {
|
|
591
|
-
var _convertTile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee7(sourceTile, traversalProps) {
|
|
592
|
-
var isTileset, parentNodes, transform, transformationMatrix, parentNode, childNodes, newTraversalProps;
|
|
593
|
-
return _regenerator.default.wrap(function _callee7$(_context7) {
|
|
594
|
-
while (1) switch (_context7.prev = _context7.next) {
|
|
595
|
-
case 0:
|
|
596
|
-
isTileset = (0, _load3dTiles.isNestedTileset)(sourceTile);
|
|
597
|
-
if (!(isTileset || sourceTile.type === 'empty')) {
|
|
598
|
-
_context7.next = 7;
|
|
599
|
-
break;
|
|
600
|
-
}
|
|
601
|
-
if (!isTileset) {
|
|
602
|
-
_context7.next = 6;
|
|
603
|
-
break;
|
|
604
|
-
}
|
|
605
|
-
if (sourceTile.id) {
|
|
606
|
-
console.log("[load]: ".concat(sourceTile.id));
|
|
607
|
-
}
|
|
608
|
-
_context7.next = 6;
|
|
609
|
-
return (0, _load3dTiles.loadNestedTileset)(this.sourceTileset, sourceTile, this.loadOptions);
|
|
610
|
-
case 6:
|
|
611
|
-
return _context7.abrupt("return", traversalProps);
|
|
612
|
-
case 7:
|
|
613
|
-
if (sourceTile.id) {
|
|
614
|
-
console.log("[convert]: ".concat(sourceTile.id));
|
|
615
|
-
}
|
|
616
|
-
parentNodes = traversalProps.parentNodes, transform = traversalProps.transform;
|
|
617
|
-
transformationMatrix = transform.clone();
|
|
618
|
-
if (sourceTile.transform) {
|
|
619
|
-
transformationMatrix = transformationMatrix.multiplyRight(sourceTile.transform);
|
|
620
|
-
}
|
|
621
|
-
parentNode = parentNodes[0];
|
|
622
|
-
_context7.next = 14;
|
|
623
|
-
return this._createNode(parentNode, sourceTile, transformationMatrix);
|
|
624
|
-
case 14:
|
|
625
|
-
childNodes = _context7.sent;
|
|
626
|
-
_context7.next = 17;
|
|
627
|
-
return parentNode.addChildren(childNodes);
|
|
628
|
-
case 17:
|
|
629
|
-
newTraversalProps = {
|
|
630
|
-
transform: transformationMatrix,
|
|
631
|
-
parentNodes: childNodes
|
|
632
|
-
};
|
|
633
|
-
return _context7.abrupt("return", newTraversalProps);
|
|
634
|
-
case 19:
|
|
635
|
-
case "end":
|
|
636
|
-
return _context7.stop();
|
|
637
|
-
}
|
|
638
|
-
}, _callee7, this);
|
|
639
|
-
}));
|
|
640
|
-
function convertTile(_x7, _x8) {
|
|
641
|
-
return _convertTile.apply(this, arguments);
|
|
642
|
-
}
|
|
643
|
-
return convertTile;
|
|
644
|
-
}()
|
|
645
|
-
}, {
|
|
646
|
-
key: "finalizeTile",
|
|
647
|
-
value: function () {
|
|
648
|
-
var _finalizeTile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee8(conversionResults, currentTraversalProps) {
|
|
649
|
-
var _iterator2, _step2, result, _iterator4, _step4, node, _iterator3, _step3, _node;
|
|
650
|
-
return _regenerator.default.wrap(function _callee8$(_context8) {
|
|
651
|
-
while (1) switch (_context8.prev = _context8.next) {
|
|
652
|
-
case 0:
|
|
653
|
-
_iterator2 = _createForOfIteratorHelper(conversionResults);
|
|
654
|
-
_context8.prev = 1;
|
|
655
|
-
_iterator2.s();
|
|
656
|
-
case 3:
|
|
657
|
-
if ((_step2 = _iterator2.n()).done) {
|
|
658
|
-
_context8.next = 24;
|
|
659
|
-
break;
|
|
660
|
-
}
|
|
661
|
-
result = _step2.value;
|
|
662
|
-
_iterator4 = _createForOfIteratorHelper(result.parentNodes);
|
|
663
|
-
_context8.prev = 6;
|
|
664
|
-
_iterator4.s();
|
|
665
|
-
case 8:
|
|
666
|
-
if ((_step4 = _iterator4.n()).done) {
|
|
667
|
-
_context8.next = 14;
|
|
668
|
-
break;
|
|
669
|
-
}
|
|
670
|
-
node = _step4.value;
|
|
671
|
-
_context8.next = 12;
|
|
672
|
-
return node.addNeighbors();
|
|
673
|
-
case 12:
|
|
674
|
-
_context8.next = 8;
|
|
675
|
-
break;
|
|
676
|
-
case 14:
|
|
677
|
-
_context8.next = 19;
|
|
678
|
-
break;
|
|
679
|
-
case 16:
|
|
680
|
-
_context8.prev = 16;
|
|
681
|
-
_context8.t0 = _context8["catch"](6);
|
|
682
|
-
_iterator4.e(_context8.t0);
|
|
683
|
-
case 19:
|
|
684
|
-
_context8.prev = 19;
|
|
685
|
-
_iterator4.f();
|
|
686
|
-
return _context8.finish(19);
|
|
687
|
-
case 22:
|
|
688
|
-
_context8.next = 3;
|
|
689
|
-
break;
|
|
690
|
-
case 24:
|
|
691
|
-
_context8.next = 29;
|
|
692
|
-
break;
|
|
693
|
-
case 26:
|
|
694
|
-
_context8.prev = 26;
|
|
695
|
-
_context8.t1 = _context8["catch"](1);
|
|
696
|
-
_iterator2.e(_context8.t1);
|
|
697
|
-
case 29:
|
|
698
|
-
_context8.prev = 29;
|
|
699
|
-
_iterator2.f();
|
|
700
|
-
return _context8.finish(29);
|
|
701
|
-
case 32:
|
|
702
|
-
_iterator3 = _createForOfIteratorHelper(currentTraversalProps.parentNodes);
|
|
703
|
-
_context8.prev = 33;
|
|
704
|
-
_iterator3.s();
|
|
705
|
-
case 35:
|
|
706
|
-
if ((_step3 = _iterator3.n()).done) {
|
|
707
|
-
_context8.next = 41;
|
|
708
|
-
break;
|
|
709
|
-
}
|
|
710
|
-
_node = _step3.value;
|
|
711
|
-
_context8.next = 39;
|
|
712
|
-
return _node.save();
|
|
713
|
-
case 39:
|
|
714
|
-
_context8.next = 35;
|
|
715
|
-
break;
|
|
716
|
-
case 41:
|
|
717
|
-
_context8.next = 46;
|
|
718
|
-
break;
|
|
719
|
-
case 43:
|
|
720
|
-
_context8.prev = 43;
|
|
721
|
-
_context8.t2 = _context8["catch"](33);
|
|
722
|
-
_iterator3.e(_context8.t2);
|
|
723
|
-
case 46:
|
|
724
|
-
_context8.prev = 46;
|
|
725
|
-
_iterator3.f();
|
|
726
|
-
return _context8.finish(46);
|
|
727
|
-
case 49:
|
|
728
|
-
case "end":
|
|
729
|
-
return _context8.stop();
|
|
730
|
-
}
|
|
731
|
-
}, _callee8, null, [[1, 26, 29, 32], [6, 16, 19, 22], [33, 43, 46, 49]]);
|
|
732
|
-
}));
|
|
733
|
-
function finalizeTile(_x9, _x10) {
|
|
734
|
-
return _finalizeTile.apply(this, arguments);
|
|
735
|
-
}
|
|
736
|
-
return finalizeTile;
|
|
737
|
-
}()
|
|
738
|
-
}, {
|
|
739
|
-
key: "_createNode",
|
|
740
|
-
value: function () {
|
|
741
|
-
var _createNode2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee9(parentNode, sourceTile, transformationMatrix) {
|
|
742
|
-
var tileContent, sourceBoundingVolume, boundingVolumes, propertyTable, resourcesData, nodes, nodeIds, nodesInPage, emptyResources, _iterator5, _step5, resources, lodSelection, maxScreenThresholdSQ, nodeInPage, nodeData, node, _console;
|
|
743
|
-
return _regenerator.default.wrap(function _callee9$(_context9) {
|
|
744
|
-
while (1) switch (_context9.prev = _context9.next) {
|
|
745
|
-
case 0:
|
|
746
|
-
this._checkAddRefinementTypeForTile(sourceTile);
|
|
747
|
-
_context9.next = 3;
|
|
748
|
-
return this._updateTilesetOptions();
|
|
749
|
-
case 3:
|
|
750
|
-
tileContent = null;
|
|
751
|
-
_context9.prev = 4;
|
|
752
|
-
_context9.next = 7;
|
|
753
|
-
return (0, _load3dTiles.loadTile3DContent)(this.sourceTileset, sourceTile, this.loadOptions);
|
|
754
|
-
case 7:
|
|
755
|
-
tileContent = _context9.sent;
|
|
756
|
-
_context9.next = 13;
|
|
757
|
-
break;
|
|
758
|
-
case 10:
|
|
759
|
-
_context9.prev = 10;
|
|
760
|
-
_context9.t0 = _context9["catch"](4);
|
|
761
|
-
console.log("[warning]: Failed to load ".concat(sourceTile.contentUrl));
|
|
762
|
-
case 13:
|
|
763
|
-
sourceBoundingVolume = (0, _tiles.createBoundingVolume)(sourceTile.boundingVolume, transformationMatrix, null);
|
|
764
|
-
boundingVolumes = (0, _coordinateConverter.createBoundingVolumes)(sourceBoundingVolume, this.geoidHeightModel);
|
|
765
|
-
propertyTable = (0, _geometryConverter.getPropertyTable)(tileContent, this.options.metadataClass);
|
|
766
|
-
if (propertyTable) {
|
|
767
|
-
this._convertPropertyTableToNodeAttributes(propertyTable);
|
|
768
|
-
}
|
|
769
|
-
_context9.next = 19;
|
|
770
|
-
return this._convertResources(sourceTile, transformationMatrix, sourceBoundingVolume, tileContent, parentNode.inPageId, propertyTable);
|
|
771
|
-
case 19:
|
|
772
|
-
resourcesData = _context9.sent;
|
|
773
|
-
nodes = [];
|
|
774
|
-
nodeIds = [];
|
|
775
|
-
nodesInPage = [];
|
|
776
|
-
emptyResources = {
|
|
777
|
-
geometry: null,
|
|
778
|
-
compressedGeometry: null,
|
|
779
|
-
texture: null,
|
|
780
|
-
hasUvRegions: false,
|
|
781
|
-
sharedResources: null,
|
|
782
|
-
meshMaterial: null,
|
|
783
|
-
vertexCount: null,
|
|
784
|
-
attributes: null,
|
|
785
|
-
featureCount: null,
|
|
786
|
-
boundingVolumes: null
|
|
787
|
-
};
|
|
788
|
-
_iterator5 = _createForOfIteratorHelper(resourcesData || [emptyResources]);
|
|
789
|
-
_context9.prev = 25;
|
|
790
|
-
_iterator5.s();
|
|
791
|
-
case 27:
|
|
792
|
-
if ((_step5 = _iterator5.n()).done) {
|
|
793
|
-
_context9.next = 51;
|
|
794
|
-
break;
|
|
795
|
-
}
|
|
796
|
-
resources = _step5.value;
|
|
797
|
-
this.layersHasTexture = this.layersHasTexture || Boolean(resources.texture);
|
|
798
|
-
if (this.generateBoundingVolumes && resources.boundingVolumes) {
|
|
799
|
-
boundingVolumes = resources.boundingVolumes;
|
|
800
|
-
}
|
|
801
|
-
lodSelection = (0, _lodConversionUtils.convertGeometricErrorToScreenThreshold)(sourceTile, boundingVolumes);
|
|
802
|
-
maxScreenThresholdSQ = lodSelection.find(function (val) {
|
|
803
|
-
return val.metricType === 'maxScreenThresholdSQ';
|
|
804
|
-
}) || {
|
|
805
|
-
maxError: 0
|
|
806
|
-
};
|
|
807
|
-
_context9.next = 35;
|
|
808
|
-
return this._updateNodeInNodePages(maxScreenThresholdSQ, boundingVolumes, sourceTile, parentNode.inPageId, resources);
|
|
809
|
-
case 35:
|
|
810
|
-
nodeInPage = _context9.sent;
|
|
811
|
-
_context9.next = 38;
|
|
812
|
-
return _nodeIndexDocument.NodeIndexDocument.createNodeIndexDocument(parentNode, boundingVolumes, lodSelection, nodeInPage, resources);
|
|
813
|
-
case 38:
|
|
814
|
-
nodeData = _context9.sent;
|
|
815
|
-
_context9.next = 41;
|
|
816
|
-
return new _nodeIndexDocument.NodeIndexDocument(nodeInPage.index, this).addData(nodeData);
|
|
817
|
-
case 41:
|
|
818
|
-
node = _context9.sent;
|
|
819
|
-
nodes.push(node);
|
|
820
|
-
if (!nodeInPage.mesh) {
|
|
821
|
-
_context9.next = 46;
|
|
822
|
-
break;
|
|
823
|
-
}
|
|
824
|
-
_context9.next = 46;
|
|
825
|
-
return this._writeResources(resources, node.id);
|
|
826
|
-
case 46:
|
|
827
|
-
if (this.validate) {
|
|
828
|
-
this.boundingVolumeWarnings = (0, _nodeDebug.validateNodeBoundingVolumes)(nodeData);
|
|
829
|
-
if (this.boundingVolumeWarnings && this.boundingVolumeWarnings.length) {
|
|
830
|
-
(_console = console).warn.apply(_console, ['Bounding Volume Warnings: '].concat((0, _toConsumableArray2.default)(this.boundingVolumeWarnings)));
|
|
831
|
-
}
|
|
832
|
-
}
|
|
833
|
-
nodeIds.push(nodeInPage.index);
|
|
834
|
-
nodesInPage.push(nodeInPage);
|
|
835
|
-
case 49:
|
|
836
|
-
_context9.next = 27;
|
|
837
|
-
break;
|
|
838
|
-
case 51:
|
|
839
|
-
_context9.next = 56;
|
|
840
|
-
break;
|
|
841
|
-
case 53:
|
|
842
|
-
_context9.prev = 53;
|
|
843
|
-
_context9.t1 = _context9["catch"](25);
|
|
844
|
-
_iterator5.e(_context9.t1);
|
|
845
|
-
case 56:
|
|
846
|
-
_context9.prev = 56;
|
|
847
|
-
_iterator5.f();
|
|
848
|
-
return _context9.finish(56);
|
|
849
|
-
case 59:
|
|
850
|
-
return _context9.abrupt("return", nodes);
|
|
851
|
-
case 60:
|
|
852
|
-
case "end":
|
|
853
|
-
return _context9.stop();
|
|
854
|
-
}
|
|
855
|
-
}, _callee9, this, [[4, 10], [25, 53, 56, 59]]);
|
|
856
|
-
}));
|
|
857
|
-
function _createNode(_x11, _x12, _x13) {
|
|
858
|
-
return _createNode2.apply(this, arguments);
|
|
859
|
-
}
|
|
860
|
-
return _createNode;
|
|
861
|
-
}()
|
|
862
|
-
}, {
|
|
863
|
-
key: "_convertResources",
|
|
864
|
-
value: function () {
|
|
865
|
-
var _convertResources2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee11(sourceTile, transformationMatrix, boundingVolume, tileContent, parentId, propertyTable) {
|
|
866
|
-
var _this3 = this,
|
|
867
|
-
_this$layers;
|
|
868
|
-
var draftObb, resourcesData;
|
|
869
|
-
return _regenerator.default.wrap(function _callee11$(_context11) {
|
|
870
|
-
while (1) switch (_context11.prev = _context11.next) {
|
|
871
|
-
case 0:
|
|
872
|
-
if (!(!this.isContentSupported(sourceTile) || !tileContent)) {
|
|
873
|
-
_context11.next = 2;
|
|
874
|
-
break;
|
|
875
|
-
}
|
|
876
|
-
return _context11.abrupt("return", null);
|
|
877
|
-
case 2:
|
|
878
|
-
draftObb = {
|
|
879
|
-
center: [],
|
|
880
|
-
halfSize: [],
|
|
881
|
-
quaternion: []
|
|
882
|
-
};
|
|
883
|
-
_context11.next = 5;
|
|
884
|
-
return (0, _geometryConverter.default)(tileContent, transformationMatrix, boundingVolume, (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee10() {
|
|
885
|
-
return _regenerator.default.wrap(function _callee10$(_context10) {
|
|
886
|
-
while (1) switch (_context10.prev = _context10.next) {
|
|
887
|
-
case 0:
|
|
888
|
-
_context10.next = 2;
|
|
889
|
-
return _this3.nodePages.push({
|
|
890
|
-
index: 0,
|
|
891
|
-
obb: draftObb
|
|
892
|
-
}, parentId);
|
|
893
|
-
case 2:
|
|
894
|
-
return _context10.abrupt("return", _context10.sent.index);
|
|
895
|
-
case 3:
|
|
896
|
-
case "end":
|
|
897
|
-
return _context10.stop();
|
|
898
|
-
}
|
|
899
|
-
}, _callee10);
|
|
900
|
-
})), 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);
|
|
901
|
-
case 5:
|
|
902
|
-
resourcesData = _context11.sent;
|
|
903
|
-
return _context11.abrupt("return", resourcesData);
|
|
904
|
-
case 7:
|
|
905
|
-
case "end":
|
|
906
|
-
return _context11.stop();
|
|
907
|
-
}
|
|
908
|
-
}, _callee11, this);
|
|
909
|
-
}));
|
|
910
|
-
function _convertResources(_x14, _x15, _x16, _x17, _x18, _x19) {
|
|
911
|
-
return _convertResources2.apply(this, arguments);
|
|
912
|
-
}
|
|
913
|
-
return _convertResources;
|
|
914
|
-
}()
|
|
915
|
-
}, {
|
|
916
|
-
key: "_updateNodeInNodePages",
|
|
917
|
-
value: function () {
|
|
918
|
-
var _updateNodeInNodePages2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee12(maxScreenThresholdSQ, boundingVolumes, sourceTile, parentId, resources) {
|
|
919
|
-
var meshMaterial, texture, vertexCount, featureCount, geometry, hasUvRegions, nodeInPage, nodeId, node, texelCountHint;
|
|
920
|
-
return _regenerator.default.wrap(function _callee12$(_context12) {
|
|
921
|
-
while (1) switch (_context12.prev = _context12.next) {
|
|
922
|
-
case 0:
|
|
923
|
-
meshMaterial = resources.meshMaterial, texture = resources.texture, vertexCount = resources.vertexCount, featureCount = resources.featureCount, geometry = resources.geometry, hasUvRegions = resources.hasUvRegions;
|
|
924
|
-
nodeInPage = {
|
|
925
|
-
index: 0,
|
|
926
|
-
lodThreshold: maxScreenThresholdSQ.maxError,
|
|
927
|
-
obb: boundingVolumes.obb,
|
|
928
|
-
children: []
|
|
929
|
-
};
|
|
930
|
-
if (geometry && this.isContentSupported(sourceTile)) {
|
|
931
|
-
nodeInPage.mesh = {
|
|
932
|
-
geometry: {
|
|
933
|
-
definition: this.findOrCreateGeometryDefinition(Boolean(texture), hasUvRegions),
|
|
934
|
-
resource: 0
|
|
935
|
-
},
|
|
936
|
-
attribute: {
|
|
937
|
-
resource: 0
|
|
938
|
-
},
|
|
939
|
-
material: {
|
|
940
|
-
definition: 0
|
|
941
|
-
}
|
|
942
|
-
};
|
|
943
|
-
}
|
|
944
|
-
nodeId = resources.nodeId;
|
|
945
|
-
if (nodeId) {
|
|
946
|
-
_context12.next = 10;
|
|
947
|
-
break;
|
|
948
|
-
}
|
|
949
|
-
_context12.next = 7;
|
|
950
|
-
return this.nodePages.push(nodeInPage, parentId);
|
|
951
|
-
case 7:
|
|
952
|
-
node = _context12.sent;
|
|
953
|
-
_context12.next = 13;
|
|
954
|
-
break;
|
|
955
|
-
case 10:
|
|
956
|
-
_context12.next = 12;
|
|
957
|
-
return this.nodePages.getNodeById(nodeId);
|
|
958
|
-
case 12:
|
|
959
|
-
node = _context12.sent;
|
|
960
|
-
case 13:
|
|
961
|
-
if (!nodeInPage.mesh) {
|
|
962
|
-
console.log("[warning]: node ".concat(node.index, " is created with empty content"));
|
|
963
|
-
}
|
|
964
|
-
_nodePages.default.updateAll(node, nodeInPage);
|
|
965
|
-
if (meshMaterial) {
|
|
966
|
-
_nodePages.default.updateMaterialByNodeId(node, this._findOrCreateMaterial(meshMaterial));
|
|
967
|
-
}
|
|
968
|
-
if (texture) {
|
|
969
|
-
texelCountHint = texture.image.height * texture.image.width;
|
|
970
|
-
_nodePages.default.updateTexelCountHintByNodeId(node, texelCountHint);
|
|
971
|
-
}
|
|
972
|
-
if (vertexCount) {
|
|
973
|
-
this.vertexCounter += vertexCount;
|
|
974
|
-
_nodePages.default.updateVertexCountByNodeId(node, vertexCount);
|
|
975
|
-
}
|
|
976
|
-
_nodePages.default.updateNodeAttributeByNodeId(node);
|
|
977
|
-
if (featureCount) {
|
|
978
|
-
_nodePages.default.updateFeatureCountByNodeId(node, featureCount);
|
|
979
|
-
}
|
|
980
|
-
this.nodePages.saveNode(node);
|
|
981
|
-
return _context12.abrupt("return", node);
|
|
982
|
-
case 22:
|
|
983
|
-
case "end":
|
|
984
|
-
return _context12.stop();
|
|
985
|
-
}
|
|
986
|
-
}, _callee12, this);
|
|
987
|
-
}));
|
|
988
|
-
function _updateNodeInNodePages(_x20, _x21, _x22, _x23, _x24) {
|
|
989
|
-
return _updateNodeInNodePages2.apply(this, arguments);
|
|
990
|
-
}
|
|
991
|
-
return _updateNodeInNodePages;
|
|
992
|
-
}()
|
|
993
|
-
}, {
|
|
994
|
-
key: "_writeResources",
|
|
995
|
-
value: function () {
|
|
996
|
-
var _writeResources2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee13(resources, nodePath) {
|
|
997
|
-
var geometryBuffer, compressedGeometry, texture, sharedResources, attributes, childPath, slpkChildPath;
|
|
998
|
-
return _regenerator.default.wrap(function _callee13$(_context13) {
|
|
999
|
-
while (1) switch (_context13.prev = _context13.next) {
|
|
1000
|
-
case 0:
|
|
1001
|
-
geometryBuffer = resources.geometry, compressedGeometry = resources.compressedGeometry, texture = resources.texture, sharedResources = resources.sharedResources, attributes = resources.attributes;
|
|
1002
|
-
childPath = (0, _path.join)(this.layers0Path, 'nodes', nodePath);
|
|
1003
|
-
slpkChildPath = (0, _path.join)('nodes', nodePath);
|
|
1004
|
-
_context13.next = 5;
|
|
1005
|
-
return this._writeGeometries(geometryBuffer, compressedGeometry, childPath, slpkChildPath);
|
|
1006
|
-
case 5:
|
|
1007
|
-
_context13.next = 7;
|
|
1008
|
-
return this._writeShared(sharedResources, childPath, slpkChildPath, nodePath);
|
|
1009
|
-
case 7:
|
|
1010
|
-
_context13.next = 9;
|
|
1011
|
-
return this._writeTexture(texture, childPath, slpkChildPath);
|
|
1012
|
-
case 9:
|
|
1013
|
-
_context13.next = 11;
|
|
1014
|
-
return this._writeAttributes(attributes, childPath, slpkChildPath);
|
|
1015
|
-
case 11:
|
|
1016
|
-
case "end":
|
|
1017
|
-
return _context13.stop();
|
|
1018
|
-
}
|
|
1019
|
-
}, _callee13, this);
|
|
1020
|
-
}));
|
|
1021
|
-
function _writeResources(_x25, _x26) {
|
|
1022
|
-
return _writeResources2.apply(this, arguments);
|
|
1023
|
-
}
|
|
1024
|
-
return _writeResources;
|
|
1025
|
-
}()
|
|
1026
|
-
}, {
|
|
1027
|
-
key: "_writeGeometries",
|
|
1028
|
-
value: function () {
|
|
1029
|
-
var _writeGeometries2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee14(geometryBuffer, compressedGeometry, childPath, slpkChildPath) {
|
|
1030
|
-
var slpkGeometryPath, geometryPath, slpkCompressedGeometryPath, compressedGeometryPath;
|
|
1031
|
-
return _regenerator.default.wrap(function _callee14$(_context14) {
|
|
1032
|
-
while (1) switch (_context14.prev = _context14.next) {
|
|
1033
|
-
case 0:
|
|
1034
|
-
if (!this.options.slpk) {
|
|
1035
|
-
_context14.next = 6;
|
|
1036
|
-
break;
|
|
1037
|
-
}
|
|
1038
|
-
slpkGeometryPath = (0, _path.join)(childPath, 'geometries');
|
|
1039
|
-
_context14.next = 4;
|
|
1040
|
-
return this.writeQueue.enqueue({
|
|
1041
|
-
archiveKey: "".concat(slpkChildPath, "/geometries/0.bin.gz"),
|
|
1042
|
-
writePromise: function writePromise() {
|
|
1043
|
-
return (0, _fileUtils.writeFileForSlpk)(slpkGeometryPath, geometryBuffer, '0.bin');
|
|
1044
|
-
}
|
|
1045
|
-
});
|
|
1046
|
-
case 4:
|
|
1047
|
-
_context14.next = 9;
|
|
1048
|
-
break;
|
|
1049
|
-
case 6:
|
|
1050
|
-
geometryPath = (0, _path.join)(childPath, 'geometries/0/');
|
|
1051
|
-
_context14.next = 9;
|
|
1052
|
-
return this.writeQueue.enqueue({
|
|
1053
|
-
writePromise: function writePromise() {
|
|
1054
|
-
return (0, _fileUtils.writeFile)(geometryPath, geometryBuffer, 'index.bin');
|
|
1055
|
-
}
|
|
1056
|
-
});
|
|
1057
|
-
case 9:
|
|
1058
|
-
if (!this.options.draco) {
|
|
1059
|
-
_context14.next = 19;
|
|
1060
|
-
break;
|
|
1061
|
-
}
|
|
1062
|
-
if (!this.options.slpk) {
|
|
1063
|
-
_context14.next = 16;
|
|
1064
|
-
break;
|
|
1065
|
-
}
|
|
1066
|
-
slpkCompressedGeometryPath = (0, _path.join)(childPath, 'geometries');
|
|
1067
|
-
_context14.next = 14;
|
|
1068
|
-
return this.writeQueue.enqueue({
|
|
1069
|
-
archiveKey: "".concat(slpkChildPath, "/geometries/1.bin.gz"),
|
|
1070
|
-
writePromise: function writePromise() {
|
|
1071
|
-
return (0, _fileUtils.writeFileForSlpk)(slpkCompressedGeometryPath, compressedGeometry, '1.bin');
|
|
1072
|
-
}
|
|
1073
|
-
});
|
|
1074
|
-
case 14:
|
|
1075
|
-
_context14.next = 19;
|
|
1076
|
-
break;
|
|
1077
|
-
case 16:
|
|
1078
|
-
compressedGeometryPath = (0, _path.join)(childPath, 'geometries/1/');
|
|
1079
|
-
_context14.next = 19;
|
|
1080
|
-
return this.writeQueue.enqueue({
|
|
1081
|
-
writePromise: function writePromise() {
|
|
1082
|
-
return (0, _fileUtils.writeFile)(compressedGeometryPath, compressedGeometry, 'index.bin');
|
|
1083
|
-
}
|
|
1084
|
-
});
|
|
1085
|
-
case 19:
|
|
1086
|
-
case "end":
|
|
1087
|
-
return _context14.stop();
|
|
1088
|
-
}
|
|
1089
|
-
}, _callee14, this);
|
|
1090
|
-
}));
|
|
1091
|
-
function _writeGeometries(_x27, _x28, _x29, _x30) {
|
|
1092
|
-
return _writeGeometries2.apply(this, arguments);
|
|
1093
|
-
}
|
|
1094
|
-
return _writeGeometries;
|
|
1095
|
-
}()
|
|
1096
|
-
}, {
|
|
1097
|
-
key: "_writeShared",
|
|
1098
|
-
value: function () {
|
|
1099
|
-
var _writeShared2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee15(sharedResources, childPath, slpkChildPath, nodePath) {
|
|
1100
|
-
var sharedData, sharedDataStr, slpkSharedPath, sharedPath;
|
|
1101
|
-
return _regenerator.default.wrap(function _callee15$(_context15) {
|
|
1102
|
-
while (1) switch (_context15.prev = _context15.next) {
|
|
1103
|
-
case 0:
|
|
1104
|
-
if (sharedResources) {
|
|
1105
|
-
_context15.next = 2;
|
|
1106
|
-
break;
|
|
1107
|
-
}
|
|
1108
|
-
return _context15.abrupt("return");
|
|
1109
|
-
case 2:
|
|
1110
|
-
sharedResources.nodePath = nodePath;
|
|
1111
|
-
sharedData = (0, _jsonMapTransform.default)(sharedResources, (0, _sharedResources.SHARED_RESOURCES)());
|
|
1112
|
-
sharedDataStr = JSON.stringify(sharedData);
|
|
1113
|
-
if (!this.options.slpk) {
|
|
1114
|
-
_context15.next = 11;
|
|
1115
|
-
break;
|
|
1116
|
-
}
|
|
1117
|
-
slpkSharedPath = (0, _path.join)(childPath, 'shared');
|
|
1118
|
-
_context15.next = 9;
|
|
1119
|
-
return this.writeQueue.enqueue({
|
|
1120
|
-
archiveKey: "".concat(slpkChildPath, "/shared/sharedResource.json.gz"),
|
|
1121
|
-
writePromise: function writePromise() {
|
|
1122
|
-
return (0, _fileUtils.writeFileForSlpk)(slpkSharedPath, sharedDataStr, 'sharedResource.json');
|
|
1123
|
-
}
|
|
1124
|
-
});
|
|
1125
|
-
case 9:
|
|
1126
|
-
_context15.next = 14;
|
|
1127
|
-
break;
|
|
1128
|
-
case 11:
|
|
1129
|
-
sharedPath = (0, _path.join)(childPath, 'shared/');
|
|
1130
|
-
_context15.next = 14;
|
|
1131
|
-
return this.writeQueue.enqueue({
|
|
1132
|
-
writePromise: function writePromise() {
|
|
1133
|
-
return (0, _fileUtils.writeFile)(sharedPath, sharedDataStr);
|
|
1134
|
-
}
|
|
1135
|
-
});
|
|
1136
|
-
case 14:
|
|
1137
|
-
case "end":
|
|
1138
|
-
return _context15.stop();
|
|
1139
|
-
}
|
|
1140
|
-
}, _callee15, this);
|
|
1141
|
-
}));
|
|
1142
|
-
function _writeShared(_x31, _x32, _x33, _x34) {
|
|
1143
|
-
return _writeShared2.apply(this, arguments);
|
|
1144
|
-
}
|
|
1145
|
-
return _writeShared;
|
|
1146
|
-
}()
|
|
1147
|
-
}, {
|
|
1148
|
-
key: "_writeTexture",
|
|
1149
|
-
value: function () {
|
|
1150
|
-
var _writeTexture2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee16(texture, childPath, slpkChildPath) {
|
|
1151
|
-
var format, formats, textureData, _objectSpread2, copyArrayBuffer, arrayToEncode, ktx2TextureData, decodedFromKTX2TextureData;
|
|
1152
|
-
return _regenerator.default.wrap(function _callee16$(_context16) {
|
|
1153
|
-
while (1) switch (_context16.prev = _context16.next) {
|
|
1154
|
-
case 0:
|
|
1155
|
-
if (!texture) {
|
|
1156
|
-
_context16.next = 27;
|
|
1157
|
-
break;
|
|
1158
|
-
}
|
|
1159
|
-
format = this._getFormatByMimeType(texture === null || texture === void 0 ? void 0 : texture.mimeType);
|
|
1160
|
-
formats = [];
|
|
1161
|
-
textureData = texture.bufferView.data;
|
|
1162
|
-
_context16.t0 = format;
|
|
1163
|
-
_context16.next = _context16.t0 === 'jpg' ? 7 : _context16.t0 === 'png' ? 7 : _context16.t0 === 'ktx2' ? 18 : 26;
|
|
1164
|
-
break;
|
|
1165
|
-
case 7:
|
|
1166
|
-
formats.push({
|
|
1167
|
-
name: '0',
|
|
1168
|
-
format: format
|
|
1169
|
-
});
|
|
1170
|
-
_context16.next = 10;
|
|
1171
|
-
return this.writeTextureFile(textureData, '0', format, childPath, slpkChildPath);
|
|
1172
|
-
case 10:
|
|
1173
|
-
if (!this.generateTextures) {
|
|
1174
|
-
_context16.next = 17;
|
|
1175
|
-
break;
|
|
1176
|
-
}
|
|
1177
|
-
formats.push({
|
|
1178
|
-
name: '1',
|
|
1179
|
-
format: 'ktx2'
|
|
1180
|
-
});
|
|
1181
|
-
copyArrayBuffer = texture.image.data.subarray();
|
|
1182
|
-
arrayToEncode = new Uint8Array(copyArrayBuffer);
|
|
1183
|
-
ktx2TextureData = (0, _core.encode)(_objectSpread(_objectSpread({}, texture.image), {}, {
|
|
1184
|
-
data: arrayToEncode
|
|
1185
|
-
}), _textures.KTX2BasisWriterWorker, _objectSpread(_objectSpread({}, _textures.KTX2BasisWriterWorker.options), {}, (_objectSpread2 = {}, (0, _defineProperty2.default)(_objectSpread2, 'ktx2-basis-writer', {
|
|
1186
|
-
workerUrl: './modules/textures/dist/ktx2-basis-writer-worker-node.js'
|
|
1187
|
-
}), (0, _defineProperty2.default)(_objectSpread2, "reuseWorkers", true), (0, _defineProperty2.default)(_objectSpread2, "_nodeWorkers", true), (0, _defineProperty2.default)(_objectSpread2, "useLocalLibraries", true), _objectSpread2)));
|
|
1188
|
-
_context16.next = 17;
|
|
1189
|
-
return this.writeTextureFile(ktx2TextureData, '1', 'ktx2', childPath, slpkChildPath);
|
|
1190
|
-
case 17:
|
|
1191
|
-
return _context16.abrupt("break", 26);
|
|
1192
|
-
case 18:
|
|
1193
|
-
formats.push({
|
|
1194
|
-
name: '1',
|
|
1195
|
-
format: format
|
|
1196
|
-
});
|
|
1197
|
-
_context16.next = 21;
|
|
1198
|
-
return this.writeTextureFile(textureData, '1', format, childPath, slpkChildPath);
|
|
1199
|
-
case 21:
|
|
1200
|
-
if (!this.generateTextures) {
|
|
1201
|
-
_context16.next = 26;
|
|
1202
|
-
break;
|
|
1203
|
-
}
|
|
1204
|
-
formats.push({
|
|
1205
|
-
name: '0',
|
|
1206
|
-
format: 'jpg'
|
|
1207
|
-
});
|
|
1208
|
-
decodedFromKTX2TextureData = (0, _core.encode)(texture.image.data[0], _images.ImageWriter);
|
|
1209
|
-
_context16.next = 26;
|
|
1210
|
-
return this.writeTextureFile(decodedFromKTX2TextureData, '0', 'jpg', childPath, slpkChildPath);
|
|
1211
|
-
case 26:
|
|
1212
|
-
if (!this.layers0.textureSetDefinitions.length) {
|
|
1213
|
-
this.layers0.textureSetDefinitions.push({
|
|
1214
|
-
formats: formats
|
|
1215
|
-
});
|
|
1216
|
-
this.layers0.textureSetDefinitions.push({
|
|
1217
|
-
formats: formats,
|
|
1218
|
-
atlas: true
|
|
1219
|
-
});
|
|
1220
|
-
}
|
|
1221
|
-
case 27:
|
|
1222
|
-
case "end":
|
|
1223
|
-
return _context16.stop();
|
|
1224
|
-
}
|
|
1225
|
-
}, _callee16, this);
|
|
1226
|
-
}));
|
|
1227
|
-
function _writeTexture(_x35, _x36, _x37) {
|
|
1228
|
-
return _writeTexture2.apply(this, arguments);
|
|
1229
|
-
}
|
|
1230
|
-
return _writeTexture;
|
|
1231
|
-
}()
|
|
1232
|
-
}, {
|
|
1233
|
-
key: "writeTextureFile",
|
|
1234
|
-
value: function () {
|
|
1235
|
-
var _writeTextureFile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee17(textureData, name, format, childPath, slpkChildPath) {
|
|
1236
|
-
var slpkTexturePath, compress, texturePath;
|
|
1237
|
-
return _regenerator.default.wrap(function _callee17$(_context17) {
|
|
1238
|
-
while (1) switch (_context17.prev = _context17.next) {
|
|
1239
|
-
case 0:
|
|
1240
|
-
if (!this.options.slpk) {
|
|
1241
|
-
_context17.next = 7;
|
|
1242
|
-
break;
|
|
1243
|
-
}
|
|
1244
|
-
slpkTexturePath = (0, _path.join)(childPath, 'textures');
|
|
1245
|
-
compress = false;
|
|
1246
|
-
_context17.next = 5;
|
|
1247
|
-
return this.writeQueue.enqueue({
|
|
1248
|
-
archiveKey: "".concat(slpkChildPath, "/textures/").concat(name, ".").concat(format),
|
|
1249
|
-
writePromise: function writePromise() {
|
|
1250
|
-
return (0, _fileUtils.writeFileForSlpk)(slpkTexturePath, textureData, "".concat(name, ".").concat(format), compress);
|
|
1251
|
-
}
|
|
1252
|
-
});
|
|
1253
|
-
case 5:
|
|
1254
|
-
_context17.next = 10;
|
|
1255
|
-
break;
|
|
1256
|
-
case 7:
|
|
1257
|
-
texturePath = (0, _path.join)(childPath, "textures/".concat(name, "/"));
|
|
1258
|
-
_context17.next = 10;
|
|
1259
|
-
return this.writeQueue.enqueue({
|
|
1260
|
-
writePromise: function writePromise() {
|
|
1261
|
-
return (0, _fileUtils.writeFile)(texturePath, textureData, "index.".concat(format));
|
|
1262
|
-
}
|
|
1263
|
-
});
|
|
1264
|
-
case 10:
|
|
1265
|
-
case "end":
|
|
1266
|
-
return _context17.stop();
|
|
1267
|
-
}
|
|
1268
|
-
}, _callee17, this);
|
|
1269
|
-
}));
|
|
1270
|
-
function writeTextureFile(_x38, _x39, _x40, _x41, _x42) {
|
|
1271
|
-
return _writeTextureFile.apply(this, arguments);
|
|
1272
|
-
}
|
|
1273
|
-
return writeTextureFile;
|
|
1274
|
-
}()
|
|
1275
|
-
}, {
|
|
1276
|
-
key: "_writeAttributes",
|
|
1277
|
-
value: function () {
|
|
1278
|
-
var _writeAttributes2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee18() {
|
|
1279
|
-
var _this$layers2,
|
|
1280
|
-
_this$layers2$attribu,
|
|
1281
|
-
_this4 = this;
|
|
1282
|
-
var attributes,
|
|
1283
|
-
childPath,
|
|
1284
|
-
slpkChildPath,
|
|
1285
|
-
minimumLength,
|
|
1286
|
-
_loop,
|
|
1287
|
-
index,
|
|
1288
|
-
_args19 = arguments;
|
|
1289
|
-
return _regenerator.default.wrap(function _callee18$(_context19) {
|
|
1290
|
-
while (1) switch (_context19.prev = _context19.next) {
|
|
1291
|
-
case 0:
|
|
1292
|
-
attributes = _args19.length > 0 && _args19[0] !== undefined ? _args19[0] : [];
|
|
1293
|
-
childPath = _args19.length > 1 ? _args19[1] : undefined;
|
|
1294
|
-
slpkChildPath = _args19.length > 2 ? _args19[2] : undefined;
|
|
1295
|
-
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)) {
|
|
1296
|
-
_context19.next = 12;
|
|
1297
|
-
break;
|
|
1298
|
-
}
|
|
1299
|
-
minimumLength = attributes.length < this.layers0.attributeStorageInfo.length ? attributes.length : this.layers0.attributeStorageInfo.length;
|
|
1300
|
-
_loop = _regenerator.default.mark(function _loop() {
|
|
1301
|
-
var folderName, fileBuffer, slpkAttributesPath, attributesPath;
|
|
1302
|
-
return _regenerator.default.wrap(function _loop$(_context18) {
|
|
1303
|
-
while (1) switch (_context18.prev = _context18.next) {
|
|
1304
|
-
case 0:
|
|
1305
|
-
folderName = _this4.layers0.attributeStorageInfo[index].key;
|
|
1306
|
-
fileBuffer = new Uint8Array(attributes[index]);
|
|
1307
|
-
if (!_this4.options.slpk) {
|
|
1308
|
-
_context18.next = 8;
|
|
1309
|
-
break;
|
|
1310
|
-
}
|
|
1311
|
-
slpkAttributesPath = (0, _path.join)(childPath, 'attributes', folderName);
|
|
1312
|
-
_context18.next = 6;
|
|
1313
|
-
return _this4.writeQueue.enqueue({
|
|
1314
|
-
archiveKey: "".concat(slpkChildPath, "/attributes/").concat(folderName, ".bin.gz"),
|
|
1315
|
-
writePromise: function writePromise() {
|
|
1316
|
-
return (0, _fileUtils.writeFileForSlpk)(slpkAttributesPath, fileBuffer, '0.bin');
|
|
1317
|
-
}
|
|
1318
|
-
});
|
|
1319
|
-
case 6:
|
|
1320
|
-
_context18.next = 11;
|
|
1321
|
-
break;
|
|
1322
|
-
case 8:
|
|
1323
|
-
attributesPath = (0, _path.join)(childPath, "attributes/".concat(folderName, "/0"));
|
|
1324
|
-
_context18.next = 11;
|
|
1325
|
-
return _this4.writeQueue.enqueue({
|
|
1326
|
-
writePromise: function writePromise() {
|
|
1327
|
-
return (0, _fileUtils.writeFile)(attributesPath, fileBuffer, 'index.bin');
|
|
1328
|
-
}
|
|
1329
|
-
});
|
|
1330
|
-
case 11:
|
|
1331
|
-
case "end":
|
|
1332
|
-
return _context18.stop();
|
|
1333
|
-
}
|
|
1334
|
-
}, _loop);
|
|
1335
|
-
});
|
|
1336
|
-
index = 0;
|
|
1337
|
-
case 7:
|
|
1338
|
-
if (!(index < minimumLength)) {
|
|
1339
|
-
_context19.next = 12;
|
|
1340
|
-
break;
|
|
1341
|
-
}
|
|
1342
|
-
return _context19.delegateYield(_loop(), "t0", 9);
|
|
1343
|
-
case 9:
|
|
1344
|
-
index++;
|
|
1345
|
-
_context19.next = 7;
|
|
1346
|
-
break;
|
|
1347
|
-
case 12:
|
|
1348
|
-
case "end":
|
|
1349
|
-
return _context19.stop();
|
|
1350
|
-
}
|
|
1351
|
-
}, _callee18, this);
|
|
1352
|
-
}));
|
|
1353
|
-
function _writeAttributes() {
|
|
1354
|
-
return _writeAttributes2.apply(this, arguments);
|
|
1355
|
-
}
|
|
1356
|
-
return _writeAttributes;
|
|
1357
|
-
}()
|
|
1358
|
-
}, {
|
|
1359
|
-
key: "_getFormatByMimeType",
|
|
1360
|
-
value: function _getFormatByMimeType(mimeType) {
|
|
1361
|
-
switch (mimeType) {
|
|
1362
|
-
case 'image/jpeg':
|
|
1363
|
-
return 'jpg';
|
|
1364
|
-
case 'image/png':
|
|
1365
|
-
return 'png';
|
|
1366
|
-
case 'image/ktx2':
|
|
1367
|
-
return 'ktx2';
|
|
1368
|
-
default:
|
|
1369
|
-
return 'jpg';
|
|
1370
|
-
}
|
|
1371
|
-
}
|
|
1372
|
-
}, {
|
|
1373
|
-
key: "_findOrCreateMaterial",
|
|
1374
|
-
value: function _findOrCreateMaterial(material) {
|
|
1375
|
-
var hash = (0, _md.default)(JSON.stringify(material));
|
|
1376
|
-
if (this.materialMap.has(hash)) {
|
|
1377
|
-
return this.materialMap.get(hash) || 0;
|
|
1378
|
-
}
|
|
1379
|
-
var newMaterialId = this.materialDefinitions.push(material) - 1;
|
|
1380
|
-
this.materialMap.set(hash, newMaterialId);
|
|
1381
|
-
return newMaterialId;
|
|
1382
|
-
}
|
|
1383
|
-
}, {
|
|
1384
|
-
key: "findOrCreateGeometryDefinition",
|
|
1385
|
-
value: function findOrCreateGeometryDefinition(hasTexture, hasUvRegions) {
|
|
1386
|
-
var geometryConfig = {
|
|
1387
|
-
hasTexture: hasTexture,
|
|
1388
|
-
hasUvRegions: hasUvRegions
|
|
1389
|
-
};
|
|
1390
|
-
var hash = (0, _md.default)(JSON.stringify(geometryConfig));
|
|
1391
|
-
if (this.geometryMap.has(hash)) {
|
|
1392
|
-
return this.geometryMap.get(hash) || 0;
|
|
1393
|
-
}
|
|
1394
|
-
var newGeometryId = this.geometryConfigs.push(geometryConfig) - 1;
|
|
1395
|
-
this.geometryMap.set(hash, newGeometryId);
|
|
1396
|
-
return newGeometryId;
|
|
1397
|
-
}
|
|
1398
|
-
}, {
|
|
1399
|
-
key: "_convertPropertyTableToNodeAttributes",
|
|
1400
|
-
value: function _convertPropertyTableToNodeAttributes(propertyTable) {
|
|
1401
|
-
var _this5 = this;
|
|
1402
|
-
var attributeIndex = 0;
|
|
1403
|
-
var propertyTableWithObjectId = _objectSpread({
|
|
1404
|
-
OBJECTID: [0]
|
|
1405
|
-
}, propertyTable);
|
|
1406
|
-
var _loop2 = function _loop2(_key) {
|
|
1407
|
-
var found = _this5.layers0.attributeStorageInfo.find(function (element) {
|
|
1408
|
-
return element.name === _key;
|
|
1409
|
-
});
|
|
1410
|
-
if (!found) {
|
|
1411
|
-
var firstAttribute = propertyTableWithObjectId[_key][0];
|
|
1412
|
-
var attributeType = (0, _featureAttributes.getAttributeType)(_key, firstAttribute);
|
|
1413
|
-
var storageAttribute = (0, _featureAttributes.createdStorageAttribute)(attributeIndex, _key, attributeType);
|
|
1414
|
-
var fieldAttributeType = (0, _featureAttributes.getFieldAttributeType)(attributeType);
|
|
1415
|
-
var fieldAttribute = (0, _featureAttributes.createFieldAttribute)(_key, fieldAttributeType);
|
|
1416
|
-
var popupInfo = (0, _featureAttributes.createPopupInfo)(propertyTableWithObjectId);
|
|
1417
|
-
_this5.layers0.attributeStorageInfo.push(storageAttribute);
|
|
1418
|
-
_this5.layers0.fields.push(fieldAttribute);
|
|
1419
|
-
_this5.layers0.popupInfo = popupInfo;
|
|
1420
|
-
_this5.layers0.layerType = _3D_OBJECT_LAYER_TYPE;
|
|
1421
|
-
}
|
|
1422
|
-
attributeIndex += 1;
|
|
1423
|
-
};
|
|
1424
|
-
for (var _key in propertyTableWithObjectId) {
|
|
1425
|
-
_loop2(_key);
|
|
1426
|
-
}
|
|
1427
|
-
}
|
|
1428
|
-
}, {
|
|
1429
|
-
key: "_finishConversion",
|
|
1430
|
-
value: function () {
|
|
1431
|
-
var _finishConversion2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee19(params) {
|
|
1432
|
-
var _this$refinementCount, tilesCount, tilesWithAddRefineCount, addRefinementPercentage, filesSize, diff, conversionTime;
|
|
1433
|
-
return _regenerator.default.wrap(function _callee19$(_context20) {
|
|
1434
|
-
while (1) switch (_context20.prev = _context20.next) {
|
|
1435
|
-
case 0:
|
|
1436
|
-
_this$refinementCount = this.refinementCounter, tilesCount = _this$refinementCount.tilesCount, tilesWithAddRefineCount = _this$refinementCount.tilesWithAddRefineCount;
|
|
1437
|
-
addRefinementPercentage = tilesWithAddRefineCount ? tilesWithAddRefineCount / tilesCount * 100 : 0;
|
|
1438
|
-
_context20.next = 4;
|
|
1439
|
-
return (0, _statisticUtills.calculateFilesSize)(params);
|
|
1440
|
-
case 4:
|
|
1441
|
-
filesSize = _context20.sent;
|
|
1442
|
-
diff = _process.default.hrtime(this.conversionStartTime);
|
|
1443
|
-
conversionTime = (0, _statisticUtills.timeConverter)(diff);
|
|
1444
|
-
console.log("------------------------------------------------");
|
|
1445
|
-
console.log("Finishing conversion of ".concat(_3D_TILES));
|
|
1446
|
-
console.log("Total conversion time: ".concat(conversionTime));
|
|
1447
|
-
console.log("Vertex count: ", this.vertexCounter);
|
|
1448
|
-
console.log("File(s) size: ", filesSize, ' bytes');
|
|
1449
|
-
console.log("Percentage of tiles with \"ADD\" refinement type:", addRefinementPercentage, '%');
|
|
1450
|
-
console.log("------------------------------------------------");
|
|
1451
|
-
case 14:
|
|
1452
|
-
case "end":
|
|
1453
|
-
return _context20.stop();
|
|
1454
|
-
}
|
|
1455
|
-
}, _callee19, this);
|
|
1456
|
-
}));
|
|
1457
|
-
function _finishConversion(_x43) {
|
|
1458
|
-
return _finishConversion2.apply(this, arguments);
|
|
1459
|
-
}
|
|
1460
|
-
return _finishConversion;
|
|
1461
|
-
}()
|
|
1462
|
-
}, {
|
|
1463
|
-
key: "_fetchPreloadOptions",
|
|
1464
|
-
value: function () {
|
|
1465
|
-
var _fetchPreloadOptions2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee20() {
|
|
1466
|
-
var options, preloadOptions;
|
|
1467
|
-
return _regenerator.default.wrap(function _callee20$(_context21) {
|
|
1468
|
-
while (1) switch (_context21.prev = _context21.next) {
|
|
1469
|
-
case 0:
|
|
1470
|
-
if (this.Loader.preload) {
|
|
1471
|
-
_context21.next = 2;
|
|
1472
|
-
break;
|
|
1473
|
-
}
|
|
1474
|
-
return _context21.abrupt("return", {});
|
|
1475
|
-
case 2:
|
|
1476
|
-
options = {
|
|
1477
|
-
'cesium-ion': {
|
|
1478
|
-
accessToken: this.options.token || ION_DEFAULT_TOKEN
|
|
1479
|
-
}
|
|
1480
|
-
};
|
|
1481
|
-
_context21.next = 5;
|
|
1482
|
-
return this.Loader.preload(this.options.inputUrl, options);
|
|
1483
|
-
case 5:
|
|
1484
|
-
preloadOptions = _context21.sent;
|
|
1485
|
-
this.refreshTokenTime = _process.default.hrtime();
|
|
1486
|
-
return _context21.abrupt("return", _objectSpread(_objectSpread({}, options), preloadOptions));
|
|
1487
|
-
case 8:
|
|
1488
|
-
case "end":
|
|
1489
|
-
return _context21.stop();
|
|
1490
|
-
}
|
|
1491
|
-
}, _callee20, this);
|
|
1492
|
-
}));
|
|
1493
|
-
function _fetchPreloadOptions() {
|
|
1494
|
-
return _fetchPreloadOptions2.apply(this, arguments);
|
|
1495
|
-
}
|
|
1496
|
-
return _fetchPreloadOptions;
|
|
1497
|
-
}()
|
|
1498
|
-
}, {
|
|
1499
|
-
key: "_updateTilesetOptions",
|
|
1500
|
-
value: function () {
|
|
1501
|
-
var _updateTilesetOptions2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee21() {
|
|
1502
|
-
var diff, preloadOptions;
|
|
1503
|
-
return _regenerator.default.wrap(function _callee21$(_context22) {
|
|
1504
|
-
while (1) switch (_context22.prev = _context22.next) {
|
|
1505
|
-
case 0:
|
|
1506
|
-
diff = _process.default.hrtime(this.refreshTokenTime);
|
|
1507
|
-
if (!(diff[0] < REFRESH_TOKEN_TIMEOUT)) {
|
|
1508
|
-
_context22.next = 3;
|
|
1509
|
-
break;
|
|
1510
|
-
}
|
|
1511
|
-
return _context22.abrupt("return");
|
|
1512
|
-
case 3:
|
|
1513
|
-
this.refreshTokenTime = _process.default.hrtime();
|
|
1514
|
-
_context22.next = 6;
|
|
1515
|
-
return this._fetchPreloadOptions();
|
|
1516
|
-
case 6:
|
|
1517
|
-
preloadOptions = _context22.sent;
|
|
1518
|
-
if (preloadOptions.headers) {
|
|
1519
|
-
this.loadOptions.fetch = _objectSpread(_objectSpread({}, this.loadOptions.fetch), {}, {
|
|
1520
|
-
headers: preloadOptions.headers
|
|
1521
|
-
});
|
|
1522
|
-
console.log('Authorization Bearer token has been updated');
|
|
1523
|
-
}
|
|
1524
|
-
case 8:
|
|
1525
|
-
case "end":
|
|
1526
|
-
return _context22.stop();
|
|
1527
|
-
}
|
|
1528
|
-
}, _callee21, this);
|
|
1529
|
-
}));
|
|
1530
|
-
function _updateTilesetOptions() {
|
|
1531
|
-
return _updateTilesetOptions2.apply(this, arguments);
|
|
1532
|
-
}
|
|
1533
|
-
return _updateTilesetOptions;
|
|
1534
|
-
}()
|
|
1535
|
-
}, {
|
|
1536
|
-
key: "_checkAddRefinementTypeForTile",
|
|
1537
|
-
value: function _checkAddRefinementTypeForTile(tile) {
|
|
1538
|
-
var ADD_TILE_REFINEMENT = 1;
|
|
1539
|
-
if (tile.refine === ADD_TILE_REFINEMENT) {
|
|
1540
|
-
this.refinementCounter.tilesWithAddRefineCount += 1;
|
|
1541
|
-
console.warn('This tile uses "ADD" type of refinement');
|
|
1542
|
-
}
|
|
1543
|
-
this.refinementCounter.tilesCount += 1;
|
|
1544
|
-
}
|
|
1545
|
-
}, {
|
|
1546
|
-
key: "isContentSupported",
|
|
1547
|
-
value: function isContentSupported(sourceTile) {
|
|
1548
|
-
return ['b3dm', 'glTF', 'scenegraph'].includes(sourceTile.type || '');
|
|
1549
|
-
}
|
|
1550
|
-
}]);
|
|
1551
|
-
return I3SConverter;
|
|
1552
|
-
}();
|
|
1553
|
-
exports.default = I3SConverter;
|
|
1554
|
-
//# sourceMappingURL=i3s-converter.js.map
|