@loaders.gl/tile-converter 4.0.0-beta.2 → 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 +786 -428
- 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 +279 -133
- 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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"i3s-converter.js","names":["_core","require","_dTiles","_path","_uuid","_process","_interopRequireDefault","_jsonMapTransform","_md","_nodePages","_fileUtils","_compressUtil","_statisticUtills","_geometryConverter","_interopRequireWildcard","_coordinateConverter","_createSceneServerPath","_lodConversionUtils","_pgmLoader","_layers","_geometryDefinitions","_sharedResources","_nodeDebug","_textures","_images","_types","_workerUtils","_writeQueue","_constants","_featureAttributes","_nodeIndexDocument","_load3dTiles","_core2","_tiles","_tilesetTraversal","_preprocess3dTiles","_process$env","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","return","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","arr","len","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","ION_DEFAULT_TOKEN","process","env","IonToken","HARDCODED_NODES_PER_PAGE","_3D_TILES","_3D_OBJECT_LAYER_TYPE","REFRESH_TOKEN_TIMEOUT","CESIUM_DATASET_PREFIX","I3SConverter","_classCallCheck2","_nodeWorkers","reuseWorkers","useLocalLibraries","basis","format","workerUrl","draco","fetch","modules","Tiles3DLoader","WriteQueue","meshTopologyTypes","Set","metadataClasses","nodePages","NodePages","writeFile","options","layers0Path","materialMap","Map","materialDefinitions","geometryMap","geometryConfigs","vertexCounter","layers0","featuresHashArray","refinementCounter","tilesCount","tilesWithAddRefineCount","validate","generateTextures","generateBoundingVolumes","layersHasTexture","compressList","_createClass2","_convert","_asyncToGenerator2","_regenerator","mark","_callee","tilesetName","slpk","egmFilePath","inputUrl","outputPath","_options$draco","sevenZipExe","maxDepth","token","_options$instantNodeW","instantNodeWriting","_options$mergeMateria","mergeMaterials","inquirer","metadataClass","preloadOptions","tilesetUrl","preprocessResult","workerFarm","wrap","_callee$","_context","prev","isBrowser","console","log","BROWSER_ERROR_MESSAGE","abrupt","conversionStartTime","hrtime","Boolean","Loader","indexOf","CesiumIonLoader","writeQueue","startListening","load","PGMLoader","geoidHeightModel","sent","useWriteFunction","writeFileForSlpk","_fetchPreloadOptions","url","headers","loadOptions","loadFromArchive","sourceTileset","preprocessConversion","_createAndSaveTileset","_finishConversion","t0","finalize","WorkerFarm","getWorkerFarm","destroy","finish","stop","convert","_x","_preprocessConversion","_callee2","sourceRootTile","_this$preprocessData","_this$options$metadat","result","_callee2$","_context2","root","traverseDatasetWith","analyzeTile","bind","undefined","preprocessData","concat","join","size","GLTFPrimitiveModeString","TRIANGLES","TRIANGLE_STRIP","prompt","type","message","choices","_analyzeTile","_callee3","sourceTile","traversalProps","isTileset","tileContent","tilePreprocessData","_callee3$","_context3","isNestedTileset","loadNestedTileset","id","loadTile3DContent","loadGLTF","contentUrl","analyzeTileContent","mergePreprocessData","_x2","_x3","_createAndSaveTileset2","_callee4","_this$sourceTileset","_this$sourceTileset$r","_this$sourceTileset$r2","_this","tilesetPath","sourceBoundingVolume","boundingVolumes","rootNode","_iterator","_step","filePath","_callee4$","_context4","removeDir","createBoundingVolume","boundingVolume","Matrix4","transform","_formLayers0","region","createBoundingVolumes","index","lodThreshold","obb","children","NodeIndexDocument","createRootNode","parentNodes","convertTile","finalizeTile","geometryDefinitions","map","config","geometryConfig","geometryDefinitionTemlate","store","defaultGeometrySchema","ordering","attribute","_writeLayers0","createSceneServerPath","compressFileWithGzip","removeFile","t1","save","_createSlpk","_x4","_x5","boundingVolumeRegion","_this$sourceTileset2","fullExtent","convertBoundingVolumeToI3SFullExtent","zmin","zmax","extent","xmin","ymin","xmax","ymax","layers0data","version","uuidv4","toUpperCase","href","nodesPerPage","compressGeometry","layersTemplate","_writeLayers","_callee5","_this2","_callee5$","_context5","enqueue","archiveKey","writePromise","JSON","stringify","_createSlpk2","_callee6","slpkTilesetPath","slpkFileName","_callee6$","_context6","compressWithChildProcess","_x6","_convertTile","_callee7","transformationMatrix","parentNode","childNodes","newTraversalProps","_callee7$","_context7","clone","multiplyRight","_createNode","addChildren","_x7","_x8","_finalizeTile","_callee8","conversionResults","currentTraversalProps","_iterator2","_step2","_iterator4","_step4","node","_iterator3","_step3","_node","_callee8$","_context8","addNeighbors","t2","_x9","_x10","_createNode2","_callee9","propertyTable","resourcesData","nodes","nodeIds","nodesInPage","emptyResources","_iterator5","_step5","resources","lodSelection","maxScreenThresholdSQ","nodeInPage","nodeData","_console","_callee9$","_context9","_checkAddRefinementTypeForTile","_updateTilesetOptions","getPropertyTable","_convertPropertyTableToNodeAttributes","_convertResources","inPageId","geometry","compressedGeometry","texture","hasUvRegions","sharedResources","meshMaterial","vertexCount","attributes","featureCount","convertGeometricErrorToScreenThreshold","find","val","metricType","maxError","_updateNodeInNodePages","createNodeIndexDocument","addData","mesh","_writeResources","boundingVolumeWarnings","validateNodeBoundingVolumes","warn","_toConsumableArray2","_x11","_x12","_x13","_convertResources2","_callee11","parentId","_this3","_this$layers","draftObb","_callee11$","_context11","isContentSupported","center","halfSize","quaternion","convertB3dmToI3sGeometry","_callee10","_callee10$","_context10","attributeStorageInfo","_x14","_x15","_x16","_x17","_x18","_x19","_updateNodeInNodePages2","_callee12","nodeId","texelCountHint","_callee12$","_context12","definition","findOrCreateGeometryDefinition","resource","material","getNodeById","updateAll","updateMaterialByNodeId","_findOrCreateMaterial","image","height","width","updateTexelCountHintByNodeId","updateVertexCountByNodeId","updateNodeAttributeByNodeId","updateFeatureCountByNodeId","saveNode","_x20","_x21","_x22","_x23","_x24","_writeResources2","_callee13","nodePath","geometryBuffer","childPath","slpkChildPath","_callee13$","_context13","_writeGeometries","_writeShared","_writeTexture","_writeAttributes","_x25","_x26","_writeGeometries2","_callee14","slpkGeometryPath","geometryPath","slpkCompressedGeometryPath","compressedGeometryPath","_callee14$","_context14","_x27","_x28","_x29","_x30","_writeShared2","_callee15","sharedData","sharedDataStr","slpkSharedPath","sharedPath","_callee15$","_context15","sharedResourcesTemplate","_x31","_x32","_x33","_x34","_writeTexture2","_callee16","formats","textureData","_objectSpread2","copyArrayBuffer","arrayToEncode","ktx2TextureData","decodedFromKTX2TextureData","_callee16$","_context16","_getFormatByMimeType","mimeType","bufferView","data","writeTextureFile","subarray","Uint8Array","encode","KTX2BasisWriterWorker","ImageWriter","textureSetDefinitions","atlas","_x35","_x36","_x37","_writeTextureFile","_callee17","slpkTexturePath","compress","texturePath","_callee17$","_context17","_x38","_x39","_x40","_x41","_x42","_writeAttributes2","_callee18","_this$layers2","_this$layers2$attribu","_this4","minimumLength","_loop","_args19","_callee18$","_context19","folderName","fileBuffer","slpkAttributesPath","attributesPath","_loop$","_context18","delegateYield","hash","md5","newMaterialId","hasTexture","newGeometryId","_this5","attributeIndex","propertyTableWithObjectId","OBJECTID","_loop2","_key","found","element","firstAttribute","attributeType","getAttributeType","storageAttribute","createdStorageAttribute","fieldAttributeType","getFieldAttributeType","fieldAttribute","createFieldAttribute","popupInfo","createPopupInfo","fields","layerType","_finishConversion2","_callee19","params","_this$refinementCount","addRefinementPercentage","filesSize","diff","conversionTime","_callee19$","_context20","calculateFilesSize","timeConverter","_x43","_fetchPreloadOptions2","_callee20","_callee20$","_context21","preload","accessToken","refreshTokenTime","_updateTilesetOptions2","_callee21","_callee21$","_context22","tile","ADD_TILE_REFINEMENT","refine","includes","exports"],"sources":["../../../src/i3s-converter/i3s-converter.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {\n FeatureTableJson,\n Tiles3DLoaderOptions,\n Tiles3DTileContent,\n Tiles3DTileJSONPostprocessed,\n Tiles3DTilesetJSONPostprocessed\n} from '@loaders.gl/3d-tiles';\nimport type {WriteQueueItem} from '../lib/utils/write-queue';\nimport type {\n SceneLayer3D,\n BoundingVolumes,\n MaxScreenThresholdSQ,\n NodeInPage,\n AttributeStorageInfo\n} from '@loaders.gl/i3s';\nimport {load, encode, isBrowser} from '@loaders.gl/core';\nimport {CesiumIonLoader, Tiles3DLoader} from '@loaders.gl/3d-tiles';\nimport {Geoid} from '@math.gl/geoid';\nimport {join} from 'path';\nimport {v4 as uuidv4} from 'uuid';\nimport process from 'process';\nimport transform from 'json-map-transform';\nimport md5 from 'md5';\n\nimport NodePages from './helpers/node-pages';\nimport {writeFile, removeDir, writeFileForSlpk, removeFile} from '../lib/utils/file-utils';\nimport {\n compressFileWithGzip,\n compressWithChildProcess\n // generateHash128FromZip,\n // addFileToZip\n} from '../lib/utils/compress-util';\nimport {calculateFilesSize, timeConverter} from '../lib/utils/statistic-utills';\nimport convertB3dmToI3sGeometry, {getPropertyTable} from './helpers/geometry-converter';\nimport {\n createBoundingVolumes,\n convertBoundingVolumeToI3SFullExtent\n} from './helpers/coordinate-converter';\nimport {createSceneServerPath} from './helpers/create-scene-server-path';\nimport {convertGeometricErrorToScreenThreshold} from '../lib/utils/lod-conversion-utils';\nimport {PGMLoader} from '../pgm-loader';\n\nimport {LAYERS as layersTemplate} from './json-templates/layers';\nimport {GEOMETRY_DEFINITION as geometryDefinitionTemlate} from './json-templates/geometry-definitions';\nimport {SHARED_RESOURCES as sharedResourcesTemplate} from './json-templates/shared-resources';\nimport {validateNodeBoundingVolumes} from './helpers/node-debug';\nimport {KTX2BasisWriterWorker} from '@loaders.gl/textures';\nimport {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {I3SMaterialDefinition, TextureSetDefinitionFormats} from '@loaders.gl/i3s';\nimport {ImageWriter} from '@loaders.gl/images';\nimport {GLTFImagePostprocessed} from '@loaders.gl/gltf';\nimport {\n GLTFPrimitiveModeString,\n I3SConvertedResources,\n PreprocessData,\n SharedResourcesArrays\n} from './types';\nimport {WorkerFarm} from '@loaders.gl/worker-utils';\nimport WriteQueue from '../lib/utils/write-queue';\nimport {BROWSER_ERROR_MESSAGE} from '../constants';\nimport {\n createdStorageAttribute,\n createFieldAttribute,\n createPopupInfo,\n getAttributeType,\n getFieldAttributeType\n} from './helpers/feature-attributes';\nimport {NodeIndexDocument} from './helpers/node-index-document';\nimport {\n isNestedTileset,\n loadNestedTileset,\n loadTile3DContent,\n loadFromArchive\n} from './helpers/load-3d-tiles';\nimport {Matrix4} from '@math.gl/core';\nimport {BoundingSphere, OrientedBoundingBox} from '@math.gl/culling';\nimport {createBoundingVolume} from '@loaders.gl/tiles';\nimport {TraversalConversionProps, traverseDatasetWith} from './helpers/tileset-traversal';\nimport {analyzeTileContent, mergePreprocessData} from './helpers/preprocess-3d-tiles';\n\nconst ION_DEFAULT_TOKEN = process.env?.IonToken;\nconst HARDCODED_NODES_PER_PAGE = 64;\nconst _3D_TILES = '3DTILES';\nconst _3D_OBJECT_LAYER_TYPE = '3DObject';\nconst REFRESH_TOKEN_TIMEOUT = 1800; // 30 minutes in seconds\nconst CESIUM_DATASET_PREFIX = 'https://';\n// const FS_FILE_TOO_LARGE = 'ERR_FS_FILE_TOO_LARGE';\n\n/**\n * Converter from 3d-tiles tileset to i3s layer\n */\nexport default class I3SConverter {\n nodePages: NodePages;\n options: any;\n layers0Path: string;\n materialMap: Map<string, number>;\n materialDefinitions: I3SMaterialDefinition[];\n geometryMap: Map<string, number>;\n geometryConfigs: {hasTexture: boolean; hasUvRegions: boolean}[];\n vertexCounter: number;\n layers0: SceneLayer3D | null;\n featuresHashArray: string[];\n refinementCounter: {\n tilesCount: number;\n tilesWithAddRefineCount: number;\n };\n validate: boolean;\n boundingVolumeWarnings?: string[] = [];\n conversionStartTime: [number, number] = [0, 0];\n refreshTokenTime: [number, number] = [0, 0];\n sourceTileset: Tiles3DTilesetJSONPostprocessed | null = null;\n loadOptions: Tiles3DLoaderOptions = {\n _nodeWorkers: true,\n reuseWorkers: true,\n useLocalLibraries: true,\n basis: {\n format: 'rgba32',\n // We need to load local fs workers because nodejs can't load workers from the Internet\n workerUrl: './modules/textures/dist/basis-worker-node.js'\n },\n // We need to load local fs workers because nodejs can't load workers from the Internet\n draco: {workerUrl: './modules/draco/dist/draco-worker-node.js'},\n fetch: {},\n modules: {}\n };\n geoidHeightModel: Geoid | null = null;\n Loader: LoaderWithParser = Tiles3DLoader;\n generateTextures: boolean;\n generateBoundingVolumes: boolean;\n layersHasTexture: boolean;\n workerSource: {[key: string]: string} = {};\n writeQueue: WriteQueue<WriteQueueItem> = new WriteQueue();\n compressList: string[] | null = null;\n preprocessData: PreprocessData = {\n meshTopologyTypes: new Set(),\n metadataClasses: new Set()\n };\n\n constructor() {\n this.nodePages = new NodePages(writeFile, HARDCODED_NODES_PER_PAGE, this);\n this.options = {};\n this.layers0Path = '';\n this.materialMap = new Map();\n this.materialDefinitions = [];\n this.geometryMap = new Map();\n this.geometryConfigs = [];\n this.vertexCounter = 0;\n this.layers0 = null;\n this.featuresHashArray = [];\n this.refinementCounter = {\n tilesCount: 0,\n tilesWithAddRefineCount: 0\n };\n this.validate = false;\n this.generateTextures = false;\n this.generateBoundingVolumes = false;\n this.layersHasTexture = false;\n this.compressList = null;\n }\n\n /**\n * Convert a 3d tileset\n * @param options\n * @param options.inputUrl the url to read the tileset from\n * @param options.outputPath the output filename\n * @param options.tilesetName the output name of the tileset\n * @param options.maxDepth The max tree depth of conversion\n * @param options.slpk Generate slpk (Scene Layer Packages) output file\n * @param options.sevenZipExe Location of 7z.exe archiver to create slpk on Windows\n * @param options.egmFilePath location of *.pgm file to convert heights from ellipsoidal to gravity-related format\n * @param options.token Token for Cesium ION tilesets authentication\n * @param options.draco Generate I3S 1.7 draco compressed geometries\n * @param options.validate -enable validation\n * @param options.generateTextures - generate alternative type of textures (to have non-compressed jpeg/png and compressed ktx2)\n * @param options.generateBoundingVolumes - generate bounding volumes from vertices coordinates instead of source tiles bounding volumes\n * @param options.instantNodeWriting - Keep created 3DNodeIndexDocument files on disk instead of memory. This option reduce memory usage but decelerates conversion speed\n */\n async convert(options: {\n inputUrl: string;\n outputPath: string;\n tilesetName: string;\n sevenZipExe: string;\n egmFilePath: string;\n maxDepth?: number;\n slpk?: boolean;\n token?: string;\n draco?: boolean;\n mergeMaterials?: boolean;\n validate?: boolean;\n generateTextures?: boolean;\n generateBoundingVolumes?: boolean;\n instantNodeWriting?: boolean;\n inquirer?: Promise<unknown>;\n metadataClass?: string;\n }): Promise<string> {\n if (isBrowser) {\n console.log(BROWSER_ERROR_MESSAGE);\n return BROWSER_ERROR_MESSAGE;\n }\n this.conversionStartTime = process.hrtime();\n const {\n tilesetName,\n slpk,\n egmFilePath,\n inputUrl,\n validate,\n outputPath,\n draco = true,\n sevenZipExe,\n maxDepth,\n token,\n generateTextures,\n generateBoundingVolumes,\n instantNodeWriting = false,\n mergeMaterials = true,\n inquirer,\n metadataClass\n } = options;\n this.options = {\n maxDepth,\n slpk,\n sevenZipExe,\n egmFilePath,\n draco,\n token,\n inputUrl,\n instantNodeWriting,\n mergeMaterials,\n inquirer,\n metadataClass\n };\n this.compressList = (this.options.instantNodeWriting && []) || null;\n this.validate = Boolean(validate);\n this.Loader = inputUrl.indexOf(CESIUM_DATASET_PREFIX) !== -1 ? CesiumIonLoader : Tiles3DLoader;\n this.generateTextures = Boolean(generateTextures);\n this.generateBoundingVolumes = Boolean(generateBoundingVolumes);\n\n this.writeQueue = new WriteQueue();\n this.writeQueue.startListening();\n\n console.log('Loading egm file...'); // eslint-disable-line\n this.geoidHeightModel = await load(egmFilePath, PGMLoader);\n console.log('Loading egm file completed!'); // eslint-disable-line\n\n if (slpk) {\n this.nodePages.useWriteFunction(writeFileForSlpk);\n }\n\n try {\n const preloadOptions = await this._fetchPreloadOptions();\n let tilesetUrl = inputUrl;\n if (preloadOptions.url) {\n tilesetUrl = preloadOptions.url;\n }\n if (preloadOptions.headers) {\n this.loadOptions.fetch = {headers: preloadOptions.headers};\n }\n this.sourceTileset = await loadFromArchive(tilesetUrl, this.Loader, this.loadOptions);\n\n const preprocessResult = await this.preprocessConversion();\n\n if (preprocessResult) {\n await this._createAndSaveTileset(outputPath, tilesetName);\n await this._finishConversion({slpk: Boolean(slpk), outputPath, tilesetName});\n }\n } catch (error) {\n throw error;\n } finally {\n await this.writeQueue.finalize();\n // Clean up worker pools\n const workerFarm = WorkerFarm.getWorkerFarm({});\n workerFarm.destroy();\n }\n return 'success';\n }\n\n /**\n * Preprocess stage of the tile converter. Traverse all the tiles tree and\n * check a tile content to be sure that the data is supported\n * @returns true - the conversion is possible, false - the tileset's content is not supported\n */\n private async preprocessConversion(): Promise<boolean> {\n console.log(`Analyze source tileset`);\n const sourceRootTile: Tiles3DTileJSONPostprocessed = this.sourceTileset!.root!;\n await traverseDatasetWith<null>(\n sourceRootTile,\n null,\n this.analyzeTile.bind(this),\n undefined,\n this.options.maxDepth\n );\n const {meshTopologyTypes, metadataClasses} = this.preprocessData;\n\n console.log(`------------------------------------------------`);\n console.log(`Preprocess results:`);\n console.log(`glTF mesh topology types: ${Array.from(meshTopologyTypes).join(', ')}`);\n\n if (metadataClasses.size) {\n console.log(\n `Feature metadata classes have been found: ${Array.from(metadataClasses).join(', ')}`\n );\n } else {\n console.log('Feature metadata classes have not been found');\n }\n\n console.log(`------------------------------------------------`);\n if (\n !meshTopologyTypes.has(GLTFPrimitiveModeString.TRIANGLES) &&\n !meshTopologyTypes.has(GLTFPrimitiveModeString.TRIANGLE_STRIP)\n ) {\n console.log(\n 'The tileset is of unsupported mesh topology types. The conversion will be interrupted.'\n );\n console.log(`------------------------------------------------`);\n return false;\n }\n\n if (metadataClasses.size > 1) {\n if (this.options.metadataClass?.length) {\n console.log(`${this.options.metadataClass} has been selected`);\n } else if (this.options.inquirer) {\n const result = await this.options.inquirer.prompt([\n {\n name: 'metadataClass',\n type: 'list',\n message: 'Select feature metadata data class to convert...',\n choices: Array.from(metadataClasses)\n }\n ]);\n this.options.metadataClass = result.metadataClass;\n console.log(`${result.metadataClass} has been selected`);\n } else {\n console.log(\n `A feature metadata class has not been selected. Start the converter with option \"--metadata-class\". For example, \"npx tile-converter ... --metadata-class ${\n Array.from(metadataClasses)[0]\n }\"`\n );\n console.log(`------------------------------------------------`);\n return false;\n }\n }\n\n return true;\n }\n\n /**\n * Analyze a tile content. The callback for preprocess stage.\n * @param sourceTile - 3DTiles tile JSON metadata\n * @param traversalProps - mandatory argument but it is not used for the preprocess stage\n * @returns - nothing\n */\n private async analyzeTile(\n sourceTile: Tiles3DTileJSONPostprocessed,\n traversalProps: null\n ): Promise<null> {\n const isTileset = isNestedTileset(sourceTile);\n if (isTileset) {\n await loadNestedTileset(this.sourceTileset, sourceTile, this.loadOptions);\n return null;\n }\n if (sourceTile.id) {\n console.log(`[analyze]: ${sourceTile.id}`); // eslint-disable-line\n }\n\n let tileContent: Tiles3DTileContent | null = null;\n try {\n tileContent = await loadTile3DContent(this.sourceTileset, sourceTile, {\n ...this.loadOptions,\n '3d-tiles': {...this.loadOptions['3d-tiles'], loadGLTF: false}\n });\n } catch (error) {\n console.log(\n `[warning]: Failed to load ${sourceTile.contentUrl}. An I3S tile with empty content will be added to the output tileset`\n );\n }\n const tilePreprocessData = await analyzeTileContent(tileContent);\n mergePreprocessData(this.preprocessData, tilePreprocessData);\n\n return null;\n }\n\n /**\n * Convert and save the layer and embedded tiles\n * @param outputPath - path to save output data\n * @param tilesetName - new tileset path\n */\n private async _createAndSaveTileset(outputPath: string, tilesetName: string): Promise<void> {\n const tilesetPath = join(`${outputPath}`, `${tilesetName}`);\n // Removing the tilesetPath needed to exclude erroneous files after conversion\n try {\n await removeDir(tilesetPath);\n } catch (e) {\n // do nothing\n }\n\n this.layers0Path = join(tilesetPath, 'SceneServer', 'layers', '0');\n\n this.materialDefinitions = [];\n this.materialMap = new Map();\n\n const sourceRootTile: Tiles3DTileJSONPostprocessed = this.sourceTileset!.root!;\n const sourceBoundingVolume = createBoundingVolume(\n sourceRootTile.boundingVolume,\n new Matrix4(sourceRootTile.transform),\n null\n );\n\n this._formLayers0(\n tilesetName,\n sourceBoundingVolume,\n this.sourceTileset?.root?.boundingVolume?.region\n );\n\n const boundingVolumes = createBoundingVolumes(sourceBoundingVolume, this.geoidHeightModel!);\n\n await this.nodePages.push({\n index: 0,\n lodThreshold: 0,\n obb: boundingVolumes.obb,\n children: []\n });\n\n const rootNode = await NodeIndexDocument.createRootNode(boundingVolumes, this);\n await traverseDatasetWith<TraversalConversionProps>(\n sourceRootTile,\n {\n transform: new Matrix4(sourceRootTile.transform),\n parentNodes: [rootNode]\n },\n this.convertTile.bind(this),\n this.finalizeTile.bind(this),\n this.options.maxDepth\n );\n\n this.layers0!.materialDefinitions = this.materialDefinitions;\n // @ts-ignore\n this.layers0.geometryDefinitions = transform(\n this.geometryConfigs.map((config) => ({\n geometryConfig: {...config, draco: this.options.draco}\n })),\n geometryDefinitionTemlate()\n );\n\n if (this.layersHasTexture === false) {\n this.layers0!.store.defaultGeometrySchema.ordering =\n this.layers0!.store.defaultGeometrySchema.ordering.filter(\n (attribute) => attribute !== 'uv0'\n );\n }\n\n await this._writeLayers0();\n createSceneServerPath(tilesetName, this.layers0!, tilesetPath);\n for (const filePath of this.compressList || []) {\n await compressFileWithGzip(filePath);\n await removeFile(filePath);\n }\n await this.nodePages.save();\n await this.writeQueue.finalize();\n await this._createSlpk(tilesetPath);\n }\n\n /**\n * Form object of 3DSceneLayer https://github.com/Esri/i3s-spec/blob/master/docs/1.7/3DSceneLayer.cmn.md\n * @param tilesetName - Name of layer\n * @param sourceBoundingVolume - initialized bounding volume of the source root tile\n * @param boundingVolumeRegion - region bounding volume of the source root tile\n */\n private _formLayers0(\n tilesetName: string,\n sourceBoundingVolume: OrientedBoundingBox | BoundingSphere,\n boundingVolumeRegion?: number[]\n ): void {\n if (!this.sourceTileset?.root) {\n return;\n }\n const fullExtent = convertBoundingVolumeToI3SFullExtent(sourceBoundingVolume);\n if (boundingVolumeRegion) {\n fullExtent.zmin = boundingVolumeRegion[4];\n fullExtent.zmax = boundingVolumeRegion[5];\n }\n const extent = [fullExtent.xmin, fullExtent.ymin, fullExtent.xmax, fullExtent.ymax];\n const layers0data = {\n version: `{${uuidv4().toUpperCase()}}`,\n id: 0,\n name: tilesetName,\n href: './layers/0',\n store: {\n id: `{${uuidv4().toUpperCase()}}`,\n extent\n },\n nodePages: {\n nodesPerPage: HARDCODED_NODES_PER_PAGE\n },\n compressGeometry: this.options.draco,\n fullExtent\n };\n this.layers0 = transform(layers0data, layersTemplate());\n }\n\n /**\n * Write 3DSceneLayer https://github.com/Esri/i3s-spec/blob/master/docs/1.7/3DSceneLayer.cmn.md in file\n */\n private async _writeLayers0(): Promise<void> {\n if (this.options.slpk) {\n await this.writeQueue.enqueue({\n archiveKey: '3dSceneLayer.json.gz',\n writePromise: () =>\n writeFileForSlpk(this.layers0Path, JSON.stringify(this.layers0), '3dSceneLayer.json')\n });\n } else {\n await this.writeQueue.enqueue({\n writePromise: () => writeFile(this.layers0Path, JSON.stringify(this.layers0))\n });\n }\n }\n\n /**\n * Pack files into *.slpk archive\n * @param tilesetPath - Path to save file\n */\n private async _createSlpk(tilesetPath: string): Promise<void> {\n if (this.options.slpk) {\n const slpkTilesetPath = join(tilesetPath, 'SceneServer', 'layers', '0');\n const slpkFileName = `${tilesetPath}.slpk`;\n await compressWithChildProcess(\n slpkTilesetPath,\n slpkFileName,\n 0,\n '.',\n this.options.sevenZipExe\n );\n\n // TODO: `addFileToZip` corrupts archive so it can't be validated with windows i3s_converter.exe\n // const fileHash128Path = `${tilesetPath}/@specialIndexFileHASH128@`;\n // try {\n // await generateHash128FromZip(slpkFileName, fileHash128Path);\n // await addFileToZip(\n // tilesetPath,\n // '@specialIndexFileHASH128@',\n // slpkFileName,\n // this.options.sevenZipExe\n // );\n // } catch (error) {\n // if (error.code === FS_FILE_TOO_LARGE) {\n // console.warn(`${slpkFileName} file is too big to generate a hash`); // eslint-disable-line\n // } else {\n // console.error(error); // eslint-disable-line\n // }\n // }\n // All converted files are contained in slpk now they can be deleted\n try {\n await removeDir(tilesetPath);\n } catch (e) {\n // do nothing\n }\n }\n }\n\n /**\n * Convert the specific 3DTiles tile to I3S nodes.\n * This is callback function for the traversal generic function\n * @param sourceTile - current 3DTiles tile JSON metadata\n * @param traversalProps - traversal properties calculated recursively\n * @returns - traversal properties for the child tiles\n */\n private async convertTile(\n sourceTile: Tiles3DTileJSONPostprocessed,\n traversalProps: TraversalConversionProps\n ): Promise<TraversalConversionProps> {\n const isTileset = isNestedTileset(sourceTile);\n if (isTileset || sourceTile.type === 'empty') {\n if (isTileset) {\n if (sourceTile.id) {\n console.log(`[load]: ${sourceTile.id}`); // eslint-disable-line\n }\n await loadNestedTileset(this.sourceTileset, sourceTile, this.loadOptions);\n }\n return traversalProps;\n }\n if (sourceTile.id) {\n console.log(`[convert]: ${sourceTile.id}`); // eslint-disable-line\n }\n\n const {parentNodes, transform} = traversalProps;\n let transformationMatrix: Matrix4 = transform.clone();\n if (sourceTile.transform) {\n transformationMatrix = transformationMatrix.multiplyRight(sourceTile.transform);\n }\n const parentNode = parentNodes[0];\n const childNodes = await this._createNode(parentNode, sourceTile, transformationMatrix);\n await parentNode.addChildren(childNodes);\n\n const newTraversalProps: TraversalConversionProps = {\n transform: transformationMatrix,\n parentNodes: childNodes\n };\n return newTraversalProps;\n }\n\n /**\n * Do final action with nodes after the current node and all child nodes been converted.\n * @param conversionResults - array of conversion results of the current node\n * @param currentTraversalProps - traversal properties of the current node\n */\n private async finalizeTile(\n conversionResults: TraversalConversionProps[],\n currentTraversalProps: TraversalConversionProps\n ): Promise<void> {\n for (const result of conversionResults) {\n for (const node of result.parentNodes) {\n await node.addNeighbors();\n }\n }\n for (const node of currentTraversalProps.parentNodes) {\n await node.save();\n }\n }\n\n /**\n * Convert tile to one or more I3S nodes\n * @param parentNode - 3DNodeIndexDocument of parent node\n * @param sourceTile - source 3DTile data\n * @param transformationMatrix - transformation matrix of the current tile, calculated recursively multiplying\n * transform of all parent tiles and transform of the current tile\n * @param level - tree level\n */\n private async _createNode(\n parentNode: NodeIndexDocument,\n sourceTile: Tiles3DTileJSONPostprocessed,\n transformationMatrix: Matrix4\n ): Promise<NodeIndexDocument[]> {\n this._checkAddRefinementTypeForTile(sourceTile);\n\n await this._updateTilesetOptions();\n\n let tileContent: Tiles3DTileContent | null = null;\n try {\n tileContent = await loadTile3DContent(this.sourceTileset, sourceTile, this.loadOptions);\n } catch (error) {\n console.log(`[warning]: Failed to load ${sourceTile.contentUrl}`);\n }\n const sourceBoundingVolume = createBoundingVolume(\n sourceTile.boundingVolume,\n transformationMatrix,\n null\n );\n let boundingVolumes = createBoundingVolumes(sourceBoundingVolume, this.geoidHeightModel!);\n\n const propertyTable = getPropertyTable(tileContent, this.options.metadataClass);\n\n if (propertyTable) {\n /*\n Call the convertion procedure even if the node attributes have been already created.\n We will append new attributes only in case the property table is updated.\n According to ver 1.9 (see https://github.com/Esri/i3s-spec/blob/master/docs/1.9/attributeStorageInfo.cmn.md):\n \"The attributeStorageInfo object describes the structure of the binary attribute data resource of a layer, which is the same for every node in the layer.\"\n */\n this._convertPropertyTableToNodeAttributes(propertyTable);\n }\n\n const resourcesData = await this._convertResources(\n sourceTile,\n transformationMatrix,\n sourceBoundingVolume,\n tileContent,\n parentNode.inPageId,\n propertyTable\n );\n\n const nodes: NodeIndexDocument[] = [];\n const nodeIds: number[] = [];\n const nodesInPage: NodeInPage[] = [];\n const emptyResources = {\n geometry: null,\n compressedGeometry: null,\n texture: null,\n hasUvRegions: false,\n sharedResources: null,\n meshMaterial: null,\n vertexCount: null,\n attributes: null,\n featureCount: null,\n boundingVolumes: null\n };\n\n for (const resources of resourcesData || [emptyResources]) {\n this.layersHasTexture = this.layersHasTexture || Boolean(resources.texture);\n\n if (this.generateBoundingVolumes && resources.boundingVolumes) {\n boundingVolumes = resources.boundingVolumes;\n }\n\n const lodSelection = convertGeometricErrorToScreenThreshold(sourceTile, boundingVolumes);\n const maxScreenThresholdSQ = lodSelection.find(\n (val) => val.metricType === 'maxScreenThresholdSQ'\n ) || {maxError: 0};\n\n const nodeInPage = await this._updateNodeInNodePages(\n maxScreenThresholdSQ,\n boundingVolumes,\n sourceTile,\n parentNode.inPageId,\n resources\n );\n\n const nodeData = await NodeIndexDocument.createNodeIndexDocument(\n parentNode,\n boundingVolumes,\n lodSelection,\n nodeInPage,\n resources\n );\n const node = await new NodeIndexDocument(nodeInPage.index, this).addData(nodeData);\n nodes.push(node);\n\n if (nodeInPage.mesh) {\n await this._writeResources(resources, node.id);\n }\n\n if (this.validate) {\n this.boundingVolumeWarnings = validateNodeBoundingVolumes(nodeData);\n\n if (this.boundingVolumeWarnings && this.boundingVolumeWarnings.length) {\n console.warn('Bounding Volume Warnings: ', ...this.boundingVolumeWarnings); //eslint-disable-line\n }\n }\n\n nodeIds.push(nodeInPage.index);\n nodesInPage.push(nodeInPage);\n }\n\n return nodes;\n }\n\n /**\n * Convert tile to one or more I3S nodes\n * @param sourceTile - source tile (3DTile)\n * @param transformationMatrix - transformation matrix of the current tile, calculated recursively multiplying\n * transform of all parent tiles and transform of the current tile\n * @param boundingVolume - initialized bounding volume of the source tile\n * @param tileContent - content of the source tile\n * @param parentId - id of parent node in node pages\n * @param propertyTable - batch table from b3dm / feature properties from EXT_FEATURE_METADATA, EXT_MESH_FEATURES or EXT_STRUCTURAL_METADATA\n * @returns - converted node resources\n */\n private async _convertResources(\n sourceTile: Tiles3DTileJSONPostprocessed,\n transformationMatrix: Matrix4,\n boundingVolume: OrientedBoundingBox | BoundingSphere,\n tileContent: Tiles3DTileContent | null,\n parentId: number,\n propertyTable: FeatureTableJson | null\n ): Promise<I3SConvertedResources[] | null> {\n if (!this.isContentSupported(sourceTile) || !tileContent) {\n return null;\n }\n const draftObb = {\n center: [],\n halfSize: [],\n quaternion: []\n };\n const resourcesData = await convertB3dmToI3sGeometry(\n tileContent,\n transformationMatrix,\n boundingVolume,\n async () => (await this.nodePages.push({index: 0, obb: draftObb}, parentId)).index,\n propertyTable,\n this.featuresHashArray,\n this.layers0?.attributeStorageInfo,\n this.options.draco,\n this.generateBoundingVolumes,\n this.options.mergeMaterials,\n this.geoidHeightModel!,\n this.loadOptions.modules as Record<string, string>,\n this.options.metadataClass\n );\n return resourcesData;\n }\n\n /**\n * Update node object (https://github.com/Esri/i3s-spec/blob/master/docs/1.7/node.cmn.md)\n * in node pages (https://github.com/Esri/i3s-spec/blob/master/docs/1.7/nodePage.cmn.md)\n * @param maxScreenThresholdSQ - Level of Details (LOD) metric\n * @param boundingVolumes - Bounding volumes\n * @param sourceTile - source tile (3DTile)\n * @param parentId - id of parent node in node pages\n * @param resources - the node resources data\n * @param resources.meshMaterial - PBR-like material object\n * @param resources.texture - texture image\n * @param resources.vertexCount - number of vertices in geometry\n * @param resources.featureCount - number of features\n * @param resources.geometry - Uint8Array with geometry attributes\n * @return the node object in node pages\n */\n private async _updateNodeInNodePages(\n maxScreenThresholdSQ: MaxScreenThresholdSQ,\n boundingVolumes: BoundingVolumes,\n sourceTile: Tiles3DTileJSONPostprocessed,\n parentId: number,\n resources: I3SConvertedResources\n ): Promise<NodeInPage> {\n const {meshMaterial, texture, vertexCount, featureCount, geometry, hasUvRegions} = resources;\n const nodeInPage: NodeInPage = {\n index: 0,\n lodThreshold: maxScreenThresholdSQ.maxError,\n obb: boundingVolumes.obb,\n children: []\n };\n if (geometry && this.isContentSupported(sourceTile)) {\n nodeInPage.mesh = {\n geometry: {\n definition: this.findOrCreateGeometryDefinition(Boolean(texture), hasUvRegions),\n resource: 0\n },\n attribute: {\n resource: 0\n },\n material: {\n definition: 0\n }\n };\n }\n\n let nodeId = resources.nodeId;\n let node: NodeInPage;\n if (!nodeId) {\n node = await this.nodePages.push(nodeInPage, parentId);\n } else {\n node = await this.nodePages.getNodeById(nodeId);\n }\n\n if (!nodeInPage.mesh) {\n console.log(`[warning]: node ${node.index} is created with empty content`);\n }\n\n NodePages.updateAll(node, nodeInPage);\n if (meshMaterial) {\n NodePages.updateMaterialByNodeId(node, this._findOrCreateMaterial(meshMaterial));\n }\n if (texture) {\n const texelCountHint = texture.image.height * texture.image.width;\n NodePages.updateTexelCountHintByNodeId(node, texelCountHint);\n }\n if (vertexCount) {\n this.vertexCounter += vertexCount;\n NodePages.updateVertexCountByNodeId(node, vertexCount);\n }\n NodePages.updateNodeAttributeByNodeId(node);\n if (featureCount) {\n NodePages.updateFeatureCountByNodeId(node, featureCount);\n }\n\n this.nodePages.saveNode(node);\n\n return node;\n }\n\n /**\n * Write node resources in files\n * @param resources - source tile (3DTile)\n * @param resources.geometry - Uint8Array with geometry attributes\n * @param resources.compressedGeometry - Uint8Array with compressed (draco) geometry\n * @param resources.texture - texture image\n * @param resources.sharedResources - shared resource data object\n * @param resources.attributes - feature attributes\n * @return {Promise<void>}\n */\n private async _writeResources(resources: I3SConvertedResources, nodePath: string): Promise<void> {\n const {\n geometry: geometryBuffer,\n compressedGeometry,\n texture,\n sharedResources,\n attributes\n } = resources;\n const childPath = join(this.layers0Path, 'nodes', nodePath);\n const slpkChildPath = join('nodes', nodePath);\n\n await this._writeGeometries(geometryBuffer!, compressedGeometry!, childPath, slpkChildPath);\n await this._writeShared(sharedResources, childPath, slpkChildPath, nodePath);\n await this._writeTexture(texture, childPath, slpkChildPath);\n await this._writeAttributes(attributes, childPath, slpkChildPath);\n }\n\n /**\n * Write non-compressed and compressed geometries in files\n * @param geometryBuffer - Uint8Array with geometry attributes\n * @param compressedGeometry - Uint8Array with compressed (draco) geometry\n * @param childPath - a child path to write resources\n * @param slpkChildPath - resource path inside *slpk file\n */\n private async _writeGeometries(\n geometryBuffer: ArrayBuffer,\n compressedGeometry: Promise<ArrayBuffer>,\n childPath: string,\n slpkChildPath: string\n ): Promise<void> {\n if (this.options.slpk) {\n const slpkGeometryPath = join(childPath, 'geometries');\n await this.writeQueue.enqueue({\n archiveKey: `${slpkChildPath}/geometries/0.bin.gz`,\n writePromise: () => writeFileForSlpk(slpkGeometryPath, geometryBuffer, '0.bin')\n });\n } else {\n const geometryPath = join(childPath, 'geometries/0/');\n await this.writeQueue.enqueue({\n writePromise: () => writeFile(geometryPath, geometryBuffer, 'index.bin')\n });\n }\n\n if (this.options.draco) {\n if (this.options.slpk) {\n const slpkCompressedGeometryPath = join(childPath, 'geometries');\n await this.writeQueue.enqueue({\n archiveKey: `${slpkChildPath}/geometries/1.bin.gz`,\n writePromise: () =>\n writeFileForSlpk(slpkCompressedGeometryPath, compressedGeometry, '1.bin')\n });\n } else {\n const compressedGeometryPath = join(childPath, 'geometries/1/');\n await this.writeQueue.enqueue({\n writePromise: () => writeFile(compressedGeometryPath, compressedGeometry, 'index.bin')\n });\n }\n }\n }\n\n /**\n * Write shared resources in a file\n * @param sharedResources - shared resource data object\n * @param childPath - a child path to write resources\n * @param slpkChildPath - resource path inside *slpk file\n * @param nodePath - a node path\n */\n private async _writeShared(\n sharedResources: SharedResourcesArrays | null,\n childPath: string,\n slpkChildPath: string,\n nodePath: string\n ): Promise<void> {\n if (!sharedResources) {\n return;\n }\n sharedResources.nodePath = nodePath;\n const sharedData = transform(sharedResources, sharedResourcesTemplate());\n const sharedDataStr = JSON.stringify(sharedData);\n if (this.options.slpk) {\n const slpkSharedPath = join(childPath, 'shared');\n await this.writeQueue.enqueue({\n archiveKey: `${slpkChildPath}/shared/sharedResource.json.gz`,\n writePromise: () => writeFileForSlpk(slpkSharedPath, sharedDataStr, 'sharedResource.json')\n });\n } else {\n const sharedPath = join(childPath, 'shared/');\n await this.writeQueue.enqueue({writePromise: () => writeFile(sharedPath, sharedDataStr)});\n }\n }\n\n /**\n * Generates textures based on texture mime type and fill in textureSetDefinitions data.\n * @param texture - the texture image\n * @param childPath - a child path to write resources\n * @param slpkChildPath - the resource path inside *slpk file\n */\n private async _writeTexture(\n texture: GLTFImagePostprocessed,\n childPath: string,\n slpkChildPath: string\n ): Promise<void> {\n if (texture) {\n const format = this._getFormatByMimeType(texture?.mimeType);\n const formats: TextureSetDefinitionFormats = [];\n const textureData = texture.bufferView!.data;\n\n switch (format) {\n case 'jpg':\n case 'png': {\n formats.push({name: '0', format});\n await this.writeTextureFile(textureData, '0', format, childPath, slpkChildPath);\n\n if (this.generateTextures) {\n formats.push({name: '1', format: 'ktx2'});\n // For Node.js texture.image.data is type of Buffer\n const copyArrayBuffer = texture.image.data.subarray();\n const arrayToEncode = new Uint8Array(copyArrayBuffer);\n const ktx2TextureData = encode(\n {...texture.image, data: arrayToEncode},\n KTX2BasisWriterWorker,\n {\n ...KTX2BasisWriterWorker.options,\n ['ktx2-basis-writer']: {\n // We need to load local fs workers because nodejs can't load workers from the Internet\n workerUrl: './modules/textures/dist/ktx2-basis-writer-worker-node.js'\n },\n reuseWorkers: true,\n _nodeWorkers: true,\n useLocalLibraries: true\n }\n );\n\n await this.writeTextureFile(ktx2TextureData, '1', 'ktx2', childPath, slpkChildPath);\n }\n\n break;\n }\n\n case 'ktx2': {\n formats.push({name: '1', format});\n await this.writeTextureFile(textureData, '1', format, childPath, slpkChildPath);\n\n if (this.generateTextures) {\n formats.push({name: '0', format: 'jpg'});\n const decodedFromKTX2TextureData = encode(texture.image!.data[0], ImageWriter);\n await this.writeTextureFile(\n decodedFromKTX2TextureData,\n '0',\n 'jpg',\n childPath,\n slpkChildPath\n );\n }\n }\n }\n\n if (!this.layers0!.textureSetDefinitions!.length) {\n this.layers0!.textureSetDefinitions!.push({formats});\n this.layers0!.textureSetDefinitions!.push({formats, atlas: true});\n }\n }\n }\n\n /**\n * Write the texture image in a file\n * @param textureData\n * @param name\n * @param format\n * @param childPath\n * @param slpkChildPath\n */\n private async writeTextureFile(\n textureData: Uint8Array | Promise<ArrayBuffer>,\n name: string,\n format: 'jpg' | 'png' | 'ktx2',\n childPath: string,\n slpkChildPath: string\n ): Promise<void> {\n if (this.options.slpk) {\n const slpkTexturePath = join(childPath, 'textures');\n const compress = false;\n\n await this.writeQueue.enqueue({\n archiveKey: `${slpkChildPath}/textures/${name}.${format}`,\n writePromise: () =>\n writeFileForSlpk(slpkTexturePath, textureData, `${name}.${format}`, compress)\n });\n } else {\n const texturePath = join(childPath, `textures/${name}/`);\n await this.writeQueue.enqueue({\n writePromise: () => writeFile(texturePath, textureData, `index.${format}`)\n });\n }\n }\n\n /**\n * Write feature attributes in files\n * @param attributes - feature attributes\n * @param childPath - a child path to write resources\n * @param slpkChildPath - the resource path inside *slpk file\n */\n private async _writeAttributes(\n attributes: ArrayBuffer[] | null = [],\n childPath: string,\n slpkChildPath: string\n ): Promise<void> {\n if (attributes?.length && this.layers0?.attributeStorageInfo?.length) {\n const minimumLength =\n attributes.length < this.layers0.attributeStorageInfo.length\n ? attributes.length\n : this.layers0.attributeStorageInfo.length;\n\n for (let index = 0; index < minimumLength; index++) {\n const folderName = this.layers0.attributeStorageInfo[index].key;\n const fileBuffer = new Uint8Array(attributes[index]);\n\n if (this.options.slpk) {\n const slpkAttributesPath = join(childPath, 'attributes', folderName);\n await this.writeQueue.enqueue({\n archiveKey: `${slpkChildPath}/attributes/${folderName}.bin.gz`,\n writePromise: () => writeFileForSlpk(slpkAttributesPath, fileBuffer, '0.bin')\n });\n } else {\n const attributesPath = join(childPath, `attributes/${folderName}/0`);\n await this.writeQueue.enqueue({\n writePromise: () => writeFile(attributesPath, fileBuffer, 'index.bin')\n });\n }\n }\n }\n }\n\n /**\n * Return file format by its MIME type\n * @param mimeType - feature attributes\n */\n private _getFormatByMimeType(mimeType: string | undefined): 'jpg' | 'png' | 'ktx2' {\n switch (mimeType) {\n case 'image/jpeg':\n return 'jpg';\n case 'image/png':\n return 'png';\n case 'image/ktx2':\n return 'ktx2';\n default:\n return 'jpg';\n }\n }\n\n /**\n * Find or create material in materialDefinitions array\n * @param material - end-to-end index of the node\n * @return material id\n */\n private _findOrCreateMaterial(material: I3SMaterialDefinition): number {\n const hash = md5(JSON.stringify(material));\n if (this.materialMap.has(hash)) {\n return this.materialMap.get(hash) || 0;\n }\n const newMaterialId = this.materialDefinitions.push(material) - 1;\n this.materialMap.set(hash, newMaterialId);\n return newMaterialId;\n }\n\n /**\n * Get unique geometry configuration index\n * In the end of conversion configurations will be transformed to geometryDefinitions array\n * @param hasTexture\n * @param hasUvRegions\n * @returns\n */\n private findOrCreateGeometryDefinition(hasTexture: boolean, hasUvRegions: boolean): number {\n const geometryConfig = {hasTexture, hasUvRegions};\n const hash = md5(JSON.stringify(geometryConfig));\n if (this.geometryMap.has(hash)) {\n return this.geometryMap.get(hash) || 0;\n }\n const newGeometryId = this.geometryConfigs.push(geometryConfig) - 1;\n this.geometryMap.set(hash, newGeometryId);\n return newGeometryId;\n }\n\n /**\n * Do conversion of 3DTiles property table to I3s node attributes.\n * @param propertyTable - Table with layer meta data.\n */\n private _convertPropertyTableToNodeAttributes(propertyTable: FeatureTableJson): void {\n let attributeIndex = 0;\n const propertyTableWithObjectId = {\n OBJECTID: [0],\n ...propertyTable\n };\n\n for (const key in propertyTableWithObjectId) {\n /*\n We will append new attributes only in case the property table is updated.\n According to ver 1.9 (see https://github.com/Esri/i3s-spec/blob/master/docs/1.9/attributeStorageInfo.cmn.md):\n \"The attributeStorageInfo object describes the structure of the binary attribute data resource of a layer, which is the same for every node in the layer.\"\n */\n const found = this.layers0!.attributeStorageInfo!.find((element) => element.name === key);\n if (!found) {\n const firstAttribute = propertyTableWithObjectId[key][0];\n const attributeType = getAttributeType(key, firstAttribute);\n\n const storageAttribute: AttributeStorageInfo = createdStorageAttribute(\n attributeIndex,\n key,\n attributeType\n );\n const fieldAttributeType = getFieldAttributeType(attributeType);\n const fieldAttribute = createFieldAttribute(key, fieldAttributeType);\n const popupInfo = createPopupInfo(propertyTableWithObjectId);\n\n this.layers0!.attributeStorageInfo!.push(storageAttribute);\n this.layers0!.fields!.push(fieldAttribute);\n this.layers0!.popupInfo = popupInfo;\n this.layers0!.layerType = _3D_OBJECT_LAYER_TYPE;\n }\n attributeIndex += 1;\n }\n }\n\n /**\n * Print statistics in the end of conversion\n * @param params - output files data\n */\n private async _finishConversion(params: {\n slpk: boolean;\n outputPath: string;\n tilesetName: string;\n }): Promise<void> {\n const {tilesCount, tilesWithAddRefineCount} = this.refinementCounter;\n const addRefinementPercentage = tilesWithAddRefineCount\n ? (tilesWithAddRefineCount / tilesCount) * 100\n : 0;\n const filesSize = await calculateFilesSize(params);\n const diff = process.hrtime(this.conversionStartTime);\n const conversionTime = timeConverter(diff);\n console.log(`------------------------------------------------`); // eslint-disable-line no-undef, no-console\n console.log(`Finishing conversion of ${_3D_TILES}`); // eslint-disable-line no-undef, no-console\n console.log(`Total conversion time: ${conversionTime}`); // eslint-disable-line no-undef, no-console\n console.log(`Vertex count: `, this.vertexCounter); // eslint-disable-line no-undef, no-console\n console.log(`File(s) size: `, filesSize, ' bytes'); // eslint-disable-line no-undef, no-console\n console.log(`Percentage of tiles with \"ADD\" refinement type:`, addRefinementPercentage, '%'); // eslint-disable-line no-undef, no-console\n console.log(`------------------------------------------------`); // eslint-disable-line no-undef, no-console\n }\n\n /**\n * Fetch preload options for ION tileset\n */\n private async _fetchPreloadOptions(): Promise<any> {\n if (!this.Loader.preload) {\n return {};\n }\n const options = {\n 'cesium-ion': {accessToken: this.options.token || ION_DEFAULT_TOKEN}\n };\n const preloadOptions = await this.Loader.preload(this.options.inputUrl, options);\n this.refreshTokenTime = process.hrtime();\n return {...options, ...preloadOptions};\n }\n\n /**\n * Update options of source tileset\n */\n private async _updateTilesetOptions(): Promise<void> {\n const diff = process.hrtime(this.refreshTokenTime);\n if (diff[0] < REFRESH_TOKEN_TIMEOUT) {\n return;\n }\n this.refreshTokenTime = process.hrtime();\n\n const preloadOptions = await this._fetchPreloadOptions();\n if (preloadOptions.headers) {\n this.loadOptions.fetch = {\n ...this.loadOptions.fetch,\n headers: preloadOptions.headers\n };\n console.log('Authorization Bearer token has been updated'); // eslint-disable-line no-undef, no-console\n }\n }\n\n /** Do calculations of all tiles and tiles with \"ADD\" type of refinement.\n * @param tile\n */\n private _checkAddRefinementTypeForTile(tile: Tiles3DTileJSONPostprocessed): void {\n const ADD_TILE_REFINEMENT = 1;\n\n if (tile.refine === ADD_TILE_REFINEMENT) {\n this.refinementCounter.tilesWithAddRefineCount += 1;\n console.warn('This tile uses \"ADD\" type of refinement'); // eslint-disable-line\n }\n\n this.refinementCounter.tilesCount += 1;\n }\n\n /**\n * Check if the tile's content format is supported by the converter\n * @param sourceTile\n * @returns\n */\n private isContentSupported(sourceTile: Tiles3DTileJSONPostprocessed): boolean {\n return ['b3dm', 'glTF', 'scenegraph'].includes(sourceTile.type || '');\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.GEOMETRY_DEFINITION = void 0;
|
|
8
|
-
var _jsonMapTransform = _interopRequireDefault(require("json-map-transform"));
|
|
9
|
-
var PLAIN_GEOMETRY_DEFINITION = function PLAIN_GEOMETRY_DEFINITION() {
|
|
10
|
-
return {
|
|
11
|
-
offset: {
|
|
12
|
-
default: 8
|
|
13
|
-
},
|
|
14
|
-
position: {
|
|
15
|
-
default: {
|
|
16
|
-
type: 'Float32',
|
|
17
|
-
component: 3
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
normal: {
|
|
21
|
-
default: {
|
|
22
|
-
type: 'Float32',
|
|
23
|
-
component: 3
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
uv0: {
|
|
27
|
-
path: 'hasTexture',
|
|
28
|
-
transform: function transform(val) {
|
|
29
|
-
return val && {
|
|
30
|
-
type: 'Float32',
|
|
31
|
-
component: 2
|
|
32
|
-
} || false;
|
|
33
|
-
},
|
|
34
|
-
omitValues: [false]
|
|
35
|
-
},
|
|
36
|
-
color: {
|
|
37
|
-
default: {
|
|
38
|
-
type: 'UInt8',
|
|
39
|
-
component: 4
|
|
40
|
-
}
|
|
41
|
-
},
|
|
42
|
-
uvRegion: {
|
|
43
|
-
path: 'hasUvRegions',
|
|
44
|
-
transform: function transform(val) {
|
|
45
|
-
return val && {
|
|
46
|
-
type: 'UInt16',
|
|
47
|
-
component: 4
|
|
48
|
-
} || false;
|
|
49
|
-
},
|
|
50
|
-
omitValues: [false]
|
|
51
|
-
},
|
|
52
|
-
featureId: {
|
|
53
|
-
default: {
|
|
54
|
-
binding: 'per-feature',
|
|
55
|
-
type: 'UInt64',
|
|
56
|
-
component: 1
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
faceRange: {
|
|
60
|
-
default: {
|
|
61
|
-
binding: 'per-feature',
|
|
62
|
-
type: 'UInt32',
|
|
63
|
-
component: 2
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
};
|
|
68
|
-
var COMPRESSED_GEOMETRY_DEFINITION = function COMPRESSED_GEOMETRY_DEFINITION() {
|
|
69
|
-
return {
|
|
70
|
-
'compressedAttributes.encoding': {
|
|
71
|
-
default: 'draco'
|
|
72
|
-
},
|
|
73
|
-
'compressedAttributes.attributes': {
|
|
74
|
-
path: 'geometryConfig',
|
|
75
|
-
transform: function transform(val) {
|
|
76
|
-
var result = ['position', 'normal'];
|
|
77
|
-
if (val.hasTexture) {
|
|
78
|
-
result.push('uv0');
|
|
79
|
-
}
|
|
80
|
-
result.push('color');
|
|
81
|
-
if (val.hasUvRegions) {
|
|
82
|
-
result.push('uv-region');
|
|
83
|
-
}
|
|
84
|
-
result.push('feature-index');
|
|
85
|
-
return result;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
};
|
|
90
|
-
var GEOMETRY_DEFINITION = function GEOMETRY_DEFINITION() {
|
|
91
|
-
return {
|
|
92
|
-
geometryBuffers: {
|
|
93
|
-
path: 'geometryConfig',
|
|
94
|
-
transform: function transform(val) {
|
|
95
|
-
var result = [(0, _jsonMapTransform.default)(val, PLAIN_GEOMETRY_DEFINITION())];
|
|
96
|
-
if (val.draco) {
|
|
97
|
-
result.push((0, _jsonMapTransform.default)({
|
|
98
|
-
geometryConfig: val
|
|
99
|
-
}, COMPRESSED_GEOMETRY_DEFINITION()));
|
|
100
|
-
}
|
|
101
|
-
return result;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
};
|
|
106
|
-
exports.GEOMETRY_DEFINITION = GEOMETRY_DEFINITION;
|
|
107
|
-
//# sourceMappingURL=geometry-definitions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"geometry-definitions.js","names":["_jsonMapTransform","_interopRequireDefault","require","PLAIN_GEOMETRY_DEFINITION","offset","default","position","type","component","normal","uv0","path","transform","val","omitValues","color","uvRegion","featureId","binding","faceRange","COMPRESSED_GEOMETRY_DEFINITION","result","hasTexture","push","hasUvRegions","GEOMETRY_DEFINITION","geometryBuffers","draco","geometryConfig","exports"],"sources":["../../../../src/i3s-converter/json-templates/geometry-definitions.ts"],"sourcesContent":["import transform from 'json-map-transform';\n\nconst PLAIN_GEOMETRY_DEFINITION = () => ({\n offset: {\n default: 8\n },\n position: {\n default: {\n type: 'Float32',\n component: 3\n }\n },\n normal: {\n default: {\n type: 'Float32',\n component: 3\n }\n },\n uv0: {\n path: 'hasTexture',\n transform: (val) => (val && {type: 'Float32', component: 2}) || false,\n omitValues: [false]\n },\n color: {\n default: {\n type: 'UInt8',\n component: 4\n }\n },\n uvRegion: {\n path: 'hasUvRegions',\n transform: (val) => (val && {type: 'UInt16', component: 4}) || false,\n omitValues: [false]\n },\n featureId: {\n default: {\n binding: 'per-feature',\n type: 'UInt64',\n component: 1\n }\n },\n faceRange: {\n default: {\n binding: 'per-feature',\n type: 'UInt32',\n component: 2\n }\n }\n});\n\nconst COMPRESSED_GEOMETRY_DEFINITION = () => ({\n 'compressedAttributes.encoding': {\n default: 'draco'\n },\n 'compressedAttributes.attributes': {\n path: 'geometryConfig',\n transform: (val) => {\n const result = ['position', 'normal'];\n if (val.hasTexture) {\n result.push('uv0');\n }\n result.push('color');\n if (val.hasUvRegions) {\n result.push('uv-region');\n }\n result.push('feature-index');\n return result;\n }\n }\n});\n\nexport const GEOMETRY_DEFINITION = () => ({\n geometryBuffers: {\n path: 'geometryConfig',\n transform: (val) => {\n const result = [transform(val, PLAIN_GEOMETRY_DEFINITION())];\n if (val.draco) {\n result.push(transform({geometryConfig: val}, COMPRESSED_GEOMETRY_DEFINITION()));\n }\n return result;\n }\n }\n});\n"],"mappings":";;;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAMC,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAA;EAAA,OAAU;IACvCC,MAAM,EAAE;MACNC,OAAO,EAAE;IACX,CAAC;IACDC,QAAQ,EAAE;MACRD,OAAO,EAAE;QACPE,IAAI,EAAE,SAAS;QACfC,SAAS,EAAE;MACb;IACF,CAAC;IACDC,MAAM,EAAE;MACNJ,OAAO,EAAE;QACPE,IAAI,EAAE,SAAS;QACfC,SAAS,EAAE;MACb;IACF,CAAC;IACDE,GAAG,EAAE;MACHC,IAAI,EAAE,YAAY;MAClBC,SAAS,EAAE,SAAAA,UAACC,GAAG;QAAA,OAAMA,GAAG,IAAI;UAACN,IAAI,EAAE,SAAS;UAAEC,SAAS,EAAE;QAAC,CAAC,IAAK,KAAK;MAAA;MACrEM,UAAU,EAAE,CAAC,KAAK;IACpB,CAAC;IACDC,KAAK,EAAE;MACLV,OAAO,EAAE;QACPE,IAAI,EAAE,OAAO;QACbC,SAAS,EAAE;MACb;IACF,CAAC;IACDQ,QAAQ,EAAE;MACRL,IAAI,EAAE,cAAc;MACpBC,SAAS,EAAE,SAAAA,UAACC,GAAG;QAAA,OAAMA,GAAG,IAAI;UAACN,IAAI,EAAE,QAAQ;UAAEC,SAAS,EAAE;QAAC,CAAC,IAAK,KAAK;MAAA;MACpEM,UAAU,EAAE,CAAC,KAAK;IACpB,CAAC;IACDG,SAAS,EAAE;MACTZ,OAAO,EAAE;QACPa,OAAO,EAAE,aAAa;QACtBX,IAAI,EAAE,QAAQ;QACdC,SAAS,EAAE;MACb;IACF,CAAC;IACDW,SAAS,EAAE;MACTd,OAAO,EAAE;QACPa,OAAO,EAAE,aAAa;QACtBX,IAAI,EAAE,QAAQ;QACdC,SAAS,EAAE;MACb;IACF;EACF,CAAC;AAAA,CAAC;AAEF,IAAMY,8BAA8B,GAAG,SAAjCA,8BAA8BA,CAAA;EAAA,OAAU;IAC5C,+BAA+B,EAAE;MAC/Bf,OAAO,EAAE;IACX,CAAC;IACD,iCAAiC,EAAE;MACjCM,IAAI,EAAE,gBAAgB;MACtBC,SAAS,EAAE,SAAAA,UAACC,GAAG,EAAK;QAClB,IAAMQ,MAAM,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC;QACrC,IAAIR,GAAG,CAACS,UAAU,EAAE;UAClBD,MAAM,CAACE,IAAI,CAAC,KAAK,CAAC;QACpB;QACAF,MAAM,CAACE,IAAI,CAAC,OAAO,CAAC;QACpB,IAAIV,GAAG,CAACW,YAAY,EAAE;UACpBH,MAAM,CAACE,IAAI,CAAC,WAAW,CAAC;QAC1B;QACAF,MAAM,CAACE,IAAI,CAAC,eAAe,CAAC;QAC5B,OAAOF,MAAM;MACf;IACF;EACF,CAAC;AAAA,CAAC;AAEK,IAAMI,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAA;EAAA,OAAU;IACxCC,eAAe,EAAE;MACff,IAAI,EAAE,gBAAgB;MACtBC,SAAS,EAAE,SAAAA,UAACC,GAAG,EAAK;QAClB,IAAMQ,MAAM,GAAG,CAAC,IAAAT,yBAAS,EAACC,GAAG,EAAEV,yBAAyB,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAIU,GAAG,CAACc,KAAK,EAAE;UACbN,MAAM,CAACE,IAAI,CAAC,IAAAX,yBAAS,EAAC;YAACgB,cAAc,EAAEf;UAAG,CAAC,EAAEO,8BAA8B,CAAC,CAAC,CAAC,CAAC;QACjF;QACA,OAAOC,MAAM;MACf;IACF;EACF,CAAC;AAAA,CAAC;AAACQ,OAAA,CAAAJ,mBAAA,GAAAA,mBAAA"}
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.LAYERS = void 0;
|
|
8
|
-
var _jsonMapTransform = _interopRequireDefault(require("json-map-transform"));
|
|
9
|
-
var _store = require("./store");
|
|
10
|
-
var SPATIAL_REFERENCE = function SPATIAL_REFERENCE() {
|
|
11
|
-
return {
|
|
12
|
-
wkid: {
|
|
13
|
-
path: 'wkid',
|
|
14
|
-
default: 4326
|
|
15
|
-
},
|
|
16
|
-
latestWkid: {
|
|
17
|
-
path: 'latestWkid',
|
|
18
|
-
default: 4326
|
|
19
|
-
},
|
|
20
|
-
vcsWkid: {
|
|
21
|
-
path: 'vcsWkid',
|
|
22
|
-
default: 5773
|
|
23
|
-
},
|
|
24
|
-
latestVcsWkid: {
|
|
25
|
-
path: 'latestVcsWkid',
|
|
26
|
-
default: 5773
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
};
|
|
30
|
-
var HEIGHT_MODEL_INFO = function HEIGHT_MODEL_INFO() {
|
|
31
|
-
return {
|
|
32
|
-
heightModel: {
|
|
33
|
-
path: 'heightModel',
|
|
34
|
-
default: 'gravity_related_height'
|
|
35
|
-
},
|
|
36
|
-
vertCRS: {
|
|
37
|
-
path: 'vertCRS',
|
|
38
|
-
default: 'EGM96_Geoid'
|
|
39
|
-
},
|
|
40
|
-
heightUnit: {
|
|
41
|
-
path: 'heightUnit',
|
|
42
|
-
default: 'meter'
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
};
|
|
46
|
-
var NODE_PAGES = function NODE_PAGES() {
|
|
47
|
-
return {
|
|
48
|
-
nodesPerPage: {
|
|
49
|
-
path: 'nodesPerPage'
|
|
50
|
-
},
|
|
51
|
-
lodSelectionMetricType: {
|
|
52
|
-
path: 'lodSelectionMetricType',
|
|
53
|
-
default: 'maxScreenThresholdSQ'
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
};
|
|
57
|
-
var FULL_EXTENT = function FULL_EXTENT() {
|
|
58
|
-
return {
|
|
59
|
-
xmin: {
|
|
60
|
-
path: 'xmin'
|
|
61
|
-
},
|
|
62
|
-
ymin: {
|
|
63
|
-
path: 'ymin'
|
|
64
|
-
},
|
|
65
|
-
xmax: {
|
|
66
|
-
path: 'xmax'
|
|
67
|
-
},
|
|
68
|
-
ymax: {
|
|
69
|
-
path: 'ymax'
|
|
70
|
-
},
|
|
71
|
-
zmin: {
|
|
72
|
-
path: 'zmin'
|
|
73
|
-
},
|
|
74
|
-
zmax: {
|
|
75
|
-
path: 'zmax'
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
};
|
|
79
|
-
var LAYERS = function LAYERS() {
|
|
80
|
-
return {
|
|
81
|
-
version: {
|
|
82
|
-
path: 'version',
|
|
83
|
-
transform: function transform(val) {
|
|
84
|
-
return val.toUpperCase();
|
|
85
|
-
}
|
|
86
|
-
},
|
|
87
|
-
id: {
|
|
88
|
-
path: 'id',
|
|
89
|
-
default: 0
|
|
90
|
-
},
|
|
91
|
-
name: {
|
|
92
|
-
path: 'name'
|
|
93
|
-
},
|
|
94
|
-
href: {
|
|
95
|
-
path: 'href',
|
|
96
|
-
default: './layers/0'
|
|
97
|
-
},
|
|
98
|
-
layerType: {
|
|
99
|
-
path: 'layerType',
|
|
100
|
-
default: 'IntegratedMesh'
|
|
101
|
-
},
|
|
102
|
-
spatialReference: {
|
|
103
|
-
path: 'spatialReference',
|
|
104
|
-
transform: function transform(val) {
|
|
105
|
-
return (0, _jsonMapTransform.default)(val, SPATIAL_REFERENCE());
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
capabilities: {
|
|
109
|
-
path: 'capabilities',
|
|
110
|
-
default: ['View', 'Query']
|
|
111
|
-
},
|
|
112
|
-
store: {
|
|
113
|
-
path: 'store',
|
|
114
|
-
transform: function transform(val) {
|
|
115
|
-
return (0, _jsonMapTransform.default)(val, _store.STORE);
|
|
116
|
-
}
|
|
117
|
-
},
|
|
118
|
-
fullExtent: {
|
|
119
|
-
path: 'fullExtent',
|
|
120
|
-
transform: function transform(val) {
|
|
121
|
-
return (0, _jsonMapTransform.default)(val, FULL_EXTENT());
|
|
122
|
-
}
|
|
123
|
-
},
|
|
124
|
-
heightModelInfo: {
|
|
125
|
-
path: 'heightModelInfo',
|
|
126
|
-
transform: function transform(val) {
|
|
127
|
-
return (0, _jsonMapTransform.default)(val, HEIGHT_MODEL_INFO());
|
|
128
|
-
}
|
|
129
|
-
},
|
|
130
|
-
nodePages: {
|
|
131
|
-
path: 'nodePages',
|
|
132
|
-
transform: function transform(val) {
|
|
133
|
-
return (0, _jsonMapTransform.default)(val, NODE_PAGES());
|
|
134
|
-
}
|
|
135
|
-
},
|
|
136
|
-
materialDefinitions: {
|
|
137
|
-
path: 'materialDefinitions',
|
|
138
|
-
default: []
|
|
139
|
-
},
|
|
140
|
-
textureSetDefinitions: {
|
|
141
|
-
path: 'textureSetDefinitions',
|
|
142
|
-
default: []
|
|
143
|
-
},
|
|
144
|
-
geometryDefinitions: {
|
|
145
|
-
path: 'geometryDefinitions',
|
|
146
|
-
default: []
|
|
147
|
-
},
|
|
148
|
-
attributeStorageInfo: {
|
|
149
|
-
path: 'attributeStorageInfo',
|
|
150
|
-
default: []
|
|
151
|
-
},
|
|
152
|
-
fields: {
|
|
153
|
-
path: 'fields',
|
|
154
|
-
default: []
|
|
155
|
-
},
|
|
156
|
-
popupInfo: {
|
|
157
|
-
path: 'popupInfo',
|
|
158
|
-
default: null
|
|
159
|
-
}
|
|
160
|
-
};
|
|
161
|
-
};
|
|
162
|
-
exports.LAYERS = LAYERS;
|
|
163
|
-
//# sourceMappingURL=layers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"layers.js","names":["_jsonMapTransform","_interopRequireDefault","require","_store","SPATIAL_REFERENCE","wkid","path","default","latestWkid","vcsWkid","latestVcsWkid","HEIGHT_MODEL_INFO","heightModel","vertCRS","heightUnit","NODE_PAGES","nodesPerPage","lodSelectionMetricType","FULL_EXTENT","xmin","ymin","xmax","ymax","zmin","zmax","LAYERS","version","transform","val","toUpperCase","id","name","href","layerType","spatialReference","capabilities","store","STORE","fullExtent","heightModelInfo","nodePages","materialDefinitions","textureSetDefinitions","geometryDefinitions","attributeStorageInfo","fields","popupInfo","exports"],"sources":["../../../../src/i3s-converter/json-templates/layers.ts"],"sourcesContent":["import transform from 'json-map-transform';\nimport {STORE} from './store';\n\nconst SPATIAL_REFERENCE = () => ({\n wkid: {\n path: 'wkid',\n default: 4326\n },\n latestWkid: {\n path: 'latestWkid',\n default: 4326\n },\n vcsWkid: {\n path: 'vcsWkid',\n default: 5773\n },\n latestVcsWkid: {\n path: 'latestVcsWkid',\n default: 5773\n }\n});\n\nconst HEIGHT_MODEL_INFO = () => ({\n heightModel: {\n path: 'heightModel',\n default: 'gravity_related_height'\n },\n vertCRS: {\n path: 'vertCRS',\n default: 'EGM96_Geoid'\n },\n heightUnit: {\n path: 'heightUnit',\n default: 'meter'\n }\n});\n\nconst NODE_PAGES = () => ({\n nodesPerPage: {\n path: 'nodesPerPage'\n },\n lodSelectionMetricType: {\n path: 'lodSelectionMetricType',\n default: 'maxScreenThresholdSQ'\n }\n});\n\nconst FULL_EXTENT = () => ({\n xmin: {\n path: 'xmin'\n },\n ymin: {\n path: 'ymin'\n },\n xmax: {\n path: 'xmax'\n },\n ymax: {\n path: 'ymax'\n },\n zmin: {\n path: 'zmin'\n },\n zmax: {\n path: 'zmax'\n }\n});\n\nexport const LAYERS = () => ({\n version: {\n path: 'version',\n transform: (val) => val.toUpperCase()\n },\n id: {\n path: 'id',\n default: 0\n },\n name: {\n path: 'name'\n },\n href: {\n path: 'href',\n default: './layers/0'\n },\n layerType: {\n path: 'layerType',\n default: 'IntegratedMesh'\n },\n spatialReference: {\n path: 'spatialReference',\n transform: (val) => transform(val, SPATIAL_REFERENCE())\n },\n capabilities: {\n path: 'capabilities',\n default: ['View', 'Query']\n },\n store: {\n path: 'store',\n transform: (val) => transform(val, STORE)\n },\n fullExtent: {\n path: 'fullExtent',\n transform: (val) => transform(val, FULL_EXTENT())\n },\n heightModelInfo: {\n path: 'heightModelInfo',\n transform: (val) => transform(val, HEIGHT_MODEL_INFO())\n },\n nodePages: {\n path: 'nodePages',\n transform: (val) => transform(val, NODE_PAGES())\n },\n materialDefinitions: {\n path: 'materialDefinitions',\n default: []\n },\n textureSetDefinitions: {\n path: 'textureSetDefinitions',\n default: []\n },\n geometryDefinitions: {\n path: 'geometryDefinitions',\n default: []\n },\n attributeStorageInfo: {\n path: 'attributeStorageInfo',\n default: []\n },\n fields: {\n path: 'fields',\n default: []\n },\n popupInfo: {\n path: 'popupInfo',\n default: null\n }\n});\n"],"mappings":"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"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.METADATA = void 0;
|
|
7
|
-
var METADATA = function METADATA() {
|
|
8
|
-
return {
|
|
9
|
-
folderPattern: {
|
|
10
|
-
path: 'folderPattern',
|
|
11
|
-
default: 'BASIC'
|
|
12
|
-
},
|
|
13
|
-
archiveCompressionType: {
|
|
14
|
-
path: 'archiveCompressionType',
|
|
15
|
-
default: 'STORE'
|
|
16
|
-
},
|
|
17
|
-
resourceCompressionType: {
|
|
18
|
-
path: 'resourceCompressionType',
|
|
19
|
-
default: 'GZIP'
|
|
20
|
-
},
|
|
21
|
-
I3SVersion: {
|
|
22
|
-
path: 'I3SVersion',
|
|
23
|
-
default: '1.8'
|
|
24
|
-
},
|
|
25
|
-
nodeCount: {
|
|
26
|
-
path: 'nodeCount'
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
};
|
|
30
|
-
exports.METADATA = METADATA;
|
|
31
|
-
//# sourceMappingURL=metadata.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","names":["METADATA","folderPattern","path","default","archiveCompressionType","resourceCompressionType","I3SVersion","nodeCount","exports"],"sources":["../../../../src/i3s-converter/json-templates/metadata.ts"],"sourcesContent":["export const METADATA = () => ({\n folderPattern: {\n path: 'folderPattern',\n default: 'BASIC'\n },\n archiveCompressionType: {\n path: 'archiveCompressionType',\n default: 'STORE'\n },\n resourceCompressionType: {\n path: 'resourceCompressionType',\n default: 'GZIP'\n },\n I3SVersion: {\n path: 'I3SVersion',\n default: '1.8'\n },\n nodeCount: {\n path: 'nodeCount'\n }\n});\n"],"mappings":";;;;;;AAAO,IAAMA,QAAQ,GAAG,SAAXA,QAAQA,CAAA;EAAA,OAAU;IAC7BC,aAAa,EAAE;MACbC,IAAI,EAAE,eAAe;MACrBC,OAAO,EAAE;IACX,CAAC;IACDC,sBAAsB,EAAE;MACtBF,IAAI,EAAE,wBAAwB;MAC9BC,OAAO,EAAE;IACX,CAAC;IACDE,uBAAuB,EAAE;MACvBH,IAAI,EAAE,yBAAyB;MAC/BC,OAAO,EAAE;IACX,CAAC;IACDG,UAAU,EAAE;MACVJ,IAAI,EAAE,YAAY;MAClBC,OAAO,EAAE;IACX,CAAC;IACDI,SAAS,EAAE;MACTL,IAAI,EAAE;IACR;EACF,CAAC;AAAA,CAAC;AAACM,OAAA,CAAAR,QAAA,GAAAA,QAAA"}
|