@loaders.gl/tile-converter 4.0.0-alpha.4 → 4.0.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/3d-tiles-attributes-worker.d.ts +28 -0
- package/dist/3d-tiles-attributes-worker.d.ts.map +1 -0
- package/dist/3d-tiles-attributes-worker.js +3 -0
- package/dist/3d-tiles-attributes-worker.js.map +7 -0
- package/dist/3d-tiles-converter/3d-tiles-converter.d.ts +90 -0
- package/dist/3d-tiles-converter/3d-tiles-converter.d.ts.map +1 -0
- package/dist/3d-tiles-converter/3d-tiles-converter.js +273 -231
- package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts +79 -18
- package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts.map +1 -0
- package/dist/3d-tiles-converter/helpers/b3dm-converter.js +269 -236
- package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.d.ts +4 -7
- package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.d.ts.map +1 -0
- package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +22 -9
- package/dist/3d-tiles-converter/helpers/texture-atlas.d.ts +9 -0
- package/dist/3d-tiles-converter/helpers/texture-atlas.d.ts.map +1 -0
- package/dist/3d-tiles-converter/helpers/texture-atlas.js +47 -28
- package/dist/3d-tiles-converter/json-templates/tileset.d.ts +15 -0
- package/dist/3d-tiles-converter/json-templates/tileset.d.ts.map +1 -0
- package/dist/3d-tiles-converter/json-templates/tileset.js +42 -36
- package/dist/bundle.d.ts +2 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/bundle.js +2 -2
- package/dist/constants.d.ts +2 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +4 -0
- package/dist/converter-cli.d.ts +2 -0
- package/dist/converter-cli.d.ts.map +1 -0
- package/dist/converter-cli.js +280 -0
- package/dist/converter.min.js +186 -190
- package/dist/deps-installer/deps-installer.d.ts +11 -3
- package/dist/deps-installer/deps-installer.d.ts.map +1 -0
- package/dist/deps-installer/deps-installer.js +60 -23
- package/dist/dist.min.js +63496 -0
- package/dist/es5/3d-tiles-attributes-worker.js +25 -0
- package/dist/es5/3d-tiles-attributes-worker.js.map +1 -0
- package/dist/es5/3d-tiles-converter/3d-tiles-converter.js +470 -0
- package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +1 -0
- package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js +301 -0
- package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -0
- package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +18 -0
- package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -0
- package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js +33 -0
- package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js.map +1 -0
- package/dist/es5/3d-tiles-converter/json-templates/tileset.js +61 -0
- package/dist/es5/3d-tiles-converter/json-templates/tileset.js.map +1 -0
- package/dist/es5/bundle.js +6 -0
- package/dist/es5/bundle.js.map +1 -0
- package/dist/es5/constants.js +9 -0
- package/dist/es5/constants.js.map +1 -0
- package/dist/es5/converter-cli.js +289 -0
- package/dist/es5/converter-cli.js.map +1 -0
- package/dist/es5/deps-installer/deps-installer.js +123 -0
- package/dist/es5/deps-installer/deps-installer.js.map +1 -0
- package/dist/es5/i3s-attributes-worker.js +25 -0
- package/dist/es5/i3s-attributes-worker.js.map +1 -0
- package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js +116 -0
- package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js.map +1 -0
- package/dist/es5/i3s-converter/helpers/coordinate-converter.js +90 -0
- package/dist/es5/i3s-converter/helpers/coordinate-converter.js.map +1 -0
- package/dist/es5/i3s-converter/helpers/create-scene-server-path.js +41 -0
- package/dist/es5/i3s-converter/helpers/create-scene-server-path.js.map +1 -0
- package/dist/es5/i3s-converter/helpers/feature-attributes.js +174 -0
- package/dist/es5/i3s-converter/helpers/feature-attributes.js.map +1 -0
- package/dist/es5/i3s-converter/helpers/geometry-attributes.js +213 -0
- package/dist/es5/i3s-converter/helpers/geometry-attributes.js.map +1 -0
- package/dist/es5/i3s-converter/helpers/geometry-converter.js +1173 -0
- package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -0
- package/dist/es5/i3s-converter/helpers/gltf-attributes.js +83 -0
- package/dist/es5/i3s-converter/helpers/gltf-attributes.js.map +1 -0
- package/dist/es5/i3s-converter/helpers/node-debug.js +76 -0
- package/dist/es5/i3s-converter/helpers/node-debug.js.map +1 -0
- package/dist/es5/i3s-converter/helpers/node-index-document.js +492 -0
- package/dist/es5/i3s-converter/helpers/node-index-document.js.map +1 -0
- package/dist/es5/i3s-converter/helpers/node-pages.js +519 -0
- package/dist/es5/i3s-converter/helpers/node-pages.js.map +1 -0
- package/dist/es5/i3s-converter/i3s-converter.js +1519 -0
- package/dist/es5/i3s-converter/i3s-converter.js.map +1 -0
- package/dist/es5/i3s-converter/json-templates/geometry-definitions.js +107 -0
- package/dist/es5/i3s-converter/json-templates/geometry-definitions.js.map +1 -0
- package/dist/es5/i3s-converter/json-templates/layers.js +163 -0
- package/dist/es5/i3s-converter/json-templates/layers.js.map +1 -0
- package/dist/es5/i3s-converter/json-templates/metadata.js +31 -0
- package/dist/es5/i3s-converter/json-templates/metadata.js.map +1 -0
- package/dist/es5/i3s-converter/json-templates/node.js +99 -0
- package/dist/es5/i3s-converter/json-templates/node.js.map +1 -0
- package/dist/es5/i3s-converter/json-templates/scene-server.js +39 -0
- package/dist/es5/i3s-converter/json-templates/scene-server.js.map +1 -0
- package/dist/es5/i3s-converter/json-templates/shared-resources.js +173 -0
- package/dist/es5/i3s-converter/json-templates/shared-resources.js.map +1 -0
- package/dist/es5/i3s-converter/json-templates/store.js +107 -0
- package/dist/es5/i3s-converter/json-templates/store.js.map +1 -0
- package/dist/es5/i3s-converter/types.js +2 -0
- package/dist/es5/i3s-converter/types.js.map +1 -0
- package/dist/es5/i3s-server/app.js +18 -0
- package/dist/es5/i3s-server/app.js.map +1 -0
- package/dist/es5/i3s-server/controllers/index-controller.js +55 -0
- package/dist/es5/i3s-server/controllers/index-controller.js.map +1 -0
- package/dist/es5/i3s-server/routes/index.js +37 -0
- package/dist/es5/i3s-server/routes/index.js.map +1 -0
- package/dist/es5/index.js +21 -0
- package/dist/es5/index.js.map +1 -0
- package/dist/es5/lib/utils/compress-util.js +346 -0
- package/dist/es5/lib/utils/compress-util.js.map +1 -0
- package/dist/es5/lib/utils/file-utils.js +208 -0
- package/dist/es5/lib/utils/file-utils.js.map +1 -0
- package/dist/es5/lib/utils/lod-conversion-utils.js +44 -0
- package/dist/es5/lib/utils/lod-conversion-utils.js.map +1 -0
- package/dist/es5/lib/utils/queue.js +47 -0
- package/dist/es5/lib/utils/queue.js.map +1 -0
- package/dist/es5/lib/utils/statistic-utills.d.ts +25 -0
- package/dist/es5/lib/utils/statistic-utills.js +147 -0
- package/dist/es5/lib/utils/statistic-utills.js.map +1 -0
- package/dist/es5/lib/utils/write-queue.js +214 -0
- package/dist/es5/lib/utils/write-queue.js.map +1 -0
- package/dist/es5/pgm-loader.js +41 -0
- package/dist/es5/pgm-loader.js.map +1 -0
- package/dist/es5/workers/3d-tiles-attributes-worker.js +28 -0
- package/dist/es5/workers/3d-tiles-attributes-worker.js.map +1 -0
- package/dist/es5/workers/i3s-attributes-worker.js +30 -0
- package/dist/es5/workers/i3s-attributes-worker.js.map +1 -0
- package/dist/esm/3d-tiles-attributes-worker.js +16 -0
- package/dist/esm/3d-tiles-attributes-worker.js.map +1 -0
- package/dist/esm/3d-tiles-converter/3d-tiles-converter.js +248 -0
- package/dist/esm/3d-tiles-converter/3d-tiles-converter.js.map +1 -0
- package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js +224 -0
- package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -0
- package/dist/esm/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +10 -0
- package/dist/esm/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -0
- package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js +27 -0
- package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js.map +1 -0
- package/dist/esm/3d-tiles-converter/json-templates/tileset.js +37 -0
- package/dist/esm/3d-tiles-converter/json-templates/tileset.js.map +1 -0
- package/dist/esm/bundle.js +4 -0
- package/dist/esm/bundle.js.map +1 -0
- package/dist/esm/constants.js +2 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/converter-cli.js +232 -0
- package/dist/esm/converter-cli.js.map +1 -0
- package/dist/esm/deps-installer/deps-installer.js +44 -0
- package/dist/esm/deps-installer/deps-installer.js.map +1 -0
- package/dist/esm/i3s-attributes-worker.js +16 -0
- package/dist/esm/i3s-attributes-worker.js.map +1 -0
- package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js +105 -0
- package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js.map +1 -0
- package/dist/esm/i3s-converter/helpers/coordinate-converter.js +80 -0
- package/dist/esm/i3s-converter/helpers/coordinate-converter.js.map +1 -0
- package/dist/esm/i3s-converter/helpers/create-scene-server-path.js +16 -0
- package/dist/esm/i3s-converter/helpers/create-scene-server-path.js.map +1 -0
- package/dist/esm/i3s-converter/helpers/feature-attributes.js +147 -0
- package/dist/esm/i3s-converter/helpers/feature-attributes.js.map +1 -0
- package/{src → dist/esm}/i3s-converter/helpers/geometry-attributes.js +80 -106
- package/dist/esm/i3s-converter/helpers/geometry-attributes.js.map +1 -0
- package/dist/esm/i3s-converter/helpers/geometry-converter.js +887 -0
- package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +1 -0
- package/dist/esm/i3s-converter/helpers/gltf-attributes.js +76 -0
- package/dist/esm/i3s-converter/helpers/gltf-attributes.js.map +1 -0
- package/{src → dist/esm}/i3s-converter/helpers/node-debug.js +20 -41
- package/dist/esm/i3s-converter/helpers/node-debug.js.map +1 -0
- package/dist/esm/i3s-converter/helpers/node-index-document.js +188 -0
- package/dist/esm/i3s-converter/helpers/node-index-document.js.map +1 -0
- package/dist/esm/i3s-converter/helpers/node-pages.js +206 -0
- package/dist/esm/i3s-converter/helpers/node-pages.js.map +1 -0
- package/dist/esm/i3s-converter/i3s-converter.js +771 -0
- package/dist/esm/i3s-converter/i3s-converter.js.map +1 -0
- package/dist/esm/i3s-converter/json-templates/geometry-definitions.js +89 -0
- package/dist/esm/i3s-converter/json-templates/geometry-definitions.js.map +1 -0
- package/dist/esm/i3s-converter/json-templates/layers.js +133 -0
- package/dist/esm/i3s-converter/json-templates/layers.js.map +1 -0
- package/dist/esm/i3s-converter/json-templates/metadata.js +22 -0
- package/dist/esm/i3s-converter/json-templates/metadata.js.map +1 -0
- package/dist/esm/i3s-converter/json-templates/node.js +80 -0
- package/dist/esm/i3s-converter/json-templates/node.js.map +1 -0
- package/dist/esm/i3s-converter/json-templates/scene-server.js +28 -0
- package/dist/esm/i3s-converter/json-templates/scene-server.js.map +1 -0
- package/dist/esm/i3s-converter/json-templates/shared-resources.js +123 -0
- package/dist/esm/i3s-converter/json-templates/shared-resources.js.map +1 -0
- package/dist/esm/i3s-converter/json-templates/store.js +98 -0
- package/dist/esm/i3s-converter/json-templates/store.js.map +1 -0
- package/dist/esm/i3s-converter/types.js +2 -0
- package/dist/esm/i3s-converter/types.js.map +1 -0
- package/dist/esm/i3s-server/app.js +16 -0
- package/dist/esm/i3s-server/app.js.map +1 -0
- package/dist/esm/i3s-server/bin/www +102 -0
- package/dist/esm/i3s-server/certs/cert.pem +19 -0
- package/dist/esm/i3s-server/certs/key.pem +27 -0
- package/dist/esm/i3s-server/controllers/index-controller.js +24 -0
- package/dist/esm/i3s-server/controllers/index-controller.js.map +1 -0
- package/dist/esm/i3s-server/routes/index.js +16 -0
- package/dist/esm/i3s-server/routes/index.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/utils/compress-util.js +168 -0
- package/dist/esm/lib/utils/compress-util.js.map +1 -0
- package/dist/esm/lib/utils/file-utils.js +87 -0
- package/dist/esm/lib/utils/file-utils.js.map +1 -0
- package/dist/esm/lib/utils/lod-conversion-utils.js +37 -0
- package/dist/esm/lib/utils/lod-conversion-utils.js.map +1 -0
- package/dist/esm/lib/utils/queue.js +15 -0
- package/dist/esm/lib/utils/queue.js.map +1 -0
- package/dist/esm/lib/utils/statistic-utills.d.ts +25 -0
- package/dist/esm/lib/utils/statistic-utills.js +62 -0
- package/dist/esm/lib/utils/statistic-utills.js.map +1 -0
- package/dist/esm/lib/utils/write-queue.js +85 -0
- package/dist/esm/lib/utils/write-queue.js.map +1 -0
- package/dist/esm/pgm-loader.js +15 -0
- package/dist/esm/pgm-loader.js.map +1 -0
- package/dist/esm/workers/3d-tiles-attributes-worker.js +8 -0
- package/dist/esm/workers/3d-tiles-attributes-worker.js.map +1 -0
- package/dist/esm/workers/i3s-attributes-worker.js +7 -0
- package/dist/esm/workers/i3s-attributes-worker.js.map +1 -0
- package/dist/i3s-attributes-worker.d.ts +37 -0
- package/dist/i3s-attributes-worker.d.ts.map +1 -0
- package/dist/i3s-attributes-worker.js +9 -0
- package/dist/i3s-attributes-worker.js.map +7 -0
- package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts +11 -0
- package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/batch-ids-extensions.js +141 -0
- package/dist/i3s-converter/helpers/coordinate-converter.d.ts +41 -0
- package/dist/i3s-converter/helpers/coordinate-converter.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/coordinate-converter.js +120 -42
- package/dist/i3s-converter/helpers/create-scene-server-path.d.ts +9 -0
- package/dist/i3s-converter/helpers/create-scene-server-path.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/create-scene-server-path.js +27 -15
- package/dist/i3s-converter/helpers/feature-attributes.d.ts +56 -0
- package/dist/i3s-converter/helpers/feature-attributes.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/feature-attributes.js +216 -0
- package/dist/i3s-converter/helpers/geometry-attributes.d.ts +8 -0
- package/dist/i3s-converter/helpers/geometry-attributes.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/geometry-attributes.js +188 -185
- package/dist/i3s-converter/helpers/geometry-converter.d.ts +36 -35
- package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/geometry-converter.js +1149 -650
- package/dist/i3s-converter/helpers/gltf-attributes.d.ts +9 -0
- package/dist/i3s-converter/helpers/gltf-attributes.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/gltf-attributes.js +88 -0
- package/dist/i3s-converter/helpers/node-debug.d.ts +8 -0
- package/dist/i3s-converter/helpers/node-debug.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/node-debug.js +106 -74
- package/dist/i3s-converter/helpers/node-index-document.d.ts +95 -0
- package/dist/i3s-converter/helpers/node-index-document.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/node-index-document.js +250 -0
- package/dist/i3s-converter/helpers/node-pages.d.ts +125 -113
- package/dist/i3s-converter/helpers/node-pages.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/node-pages.js +313 -133
- package/dist/i3s-converter/i3s-converter.d.ts +267 -0
- package/dist/i3s-converter/i3s-converter.d.ts.map +1 -0
- package/dist/i3s-converter/i3s-converter.js +860 -861
- package/dist/i3s-converter/json-templates/geometry-definitions.d.ts +7 -0
- package/dist/i3s-converter/json-templates/geometry-definitions.d.ts.map +1 -0
- package/dist/i3s-converter/json-templates/geometry-definitions.js +87 -0
- package/dist/i3s-converter/json-templates/layers.d.ts +70 -0
- package/dist/i3s-converter/json-templates/layers.d.ts.map +1 -0
- package/dist/i3s-converter/json-templates/layers.js +138 -190
- package/dist/i3s-converter/json-templates/metadata.d.ts +22 -0
- package/dist/i3s-converter/json-templates/metadata.d.ts.map +1 -0
- package/dist/i3s-converter/json-templates/metadata.js +25 -22
- package/dist/i3s-converter/json-templates/node.d.ts +61 -0
- package/dist/i3s-converter/json-templates/node.d.ts.map +1 -0
- package/dist/i3s-converter/json-templates/node.js +88 -79
- package/dist/i3s-converter/json-templates/scene-server.d.ts +28 -0
- package/dist/i3s-converter/json-templates/scene-server.d.ts.map +1 -0
- package/dist/i3s-converter/json-templates/scene-server.js +31 -28
- package/dist/i3s-converter/json-templates/shared-resources.d.ts +14 -0
- package/dist/i3s-converter/json-templates/shared-resources.d.ts.map +1 -0
- package/dist/i3s-converter/json-templates/shared-resources.js +124 -125
- package/dist/i3s-converter/json-templates/store.d.ts +95 -0
- package/dist/i3s-converter/json-templates/store.d.ts.map +1 -0
- package/dist/i3s-converter/json-templates/store.js +100 -95
- package/dist/i3s-converter/types.d.ts +145 -0
- package/dist/i3s-converter/types.d.ts.map +1 -0
- package/dist/i3s-converter/types.js +2 -0
- package/dist/i3s-server/app.d.ts +3 -0
- package/dist/i3s-server/app.d.ts.map +1 -0
- package/dist/i3s-server/app.js +2 -9
- package/dist/i3s-server/controllers/index-controller.d.ts +2 -0
- package/dist/i3s-server/controllers/index-controller.d.ts.map +1 -0
- package/dist/i3s-server/controllers/index-controller.js +16 -24
- package/dist/i3s-server/routes/index.d.ts +3 -0
- package/dist/i3s-server/routes/index.d.ts.map +1 -0
- package/dist/i3s-server/routes/index.js +11 -15
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -5
- package/dist/lib/utils/compress-util.d.ts +45 -0
- package/dist/lib/utils/compress-util.d.ts.map +1 -0
- package/dist/lib/utils/compress-util.js +238 -160
- package/dist/lib/utils/file-utils.d.ts +22 -14
- package/dist/lib/utils/file-utils.d.ts.map +1 -0
- package/dist/lib/utils/file-utils.js +133 -36
- package/dist/lib/utils/lod-conversion-utils.d.ts +21 -12
- package/dist/lib/utils/lod-conversion-utils.d.ts.map +1 -0
- package/dist/lib/utils/lod-conversion-utils.js +72 -39
- package/dist/lib/utils/queue.d.ts +7 -0
- package/dist/lib/utils/queue.d.ts.map +1 -0
- package/dist/lib/utils/queue.js +18 -0
- package/dist/lib/utils/statistic-utills.d.ts +3 -25
- package/dist/lib/utils/statistic-utills.d.ts.map +1 -0
- package/dist/lib/utils/statistic-utills.js +58 -67
- package/dist/lib/utils/write-queue.d.ts +39 -0
- package/dist/lib/utils/write-queue.d.ts.map +1 -0
- package/dist/lib/utils/write-queue.js +80 -0
- package/dist/pgm-loader.d.ts +6 -0
- package/dist/pgm-loader.d.ts.map +1 -0
- package/dist/pgm-loader.js +23 -14
- package/dist/workers/3d-tiles-attributes-worker.d.ts +2 -0
- package/dist/workers/3d-tiles-attributes-worker.d.ts.map +1 -0
- package/dist/workers/3d-tiles-attributes-worker.js +9 -0
- package/dist/workers/i3s-attributes-worker.d.ts +2 -0
- package/dist/workers/i3s-attributes-worker.d.ts.map +1 -0
- package/dist/workers/i3s-attributes-worker.js +5 -0
- package/package.json +35 -24
- package/src/3d-tiles-attributes-worker.ts +43 -0
- package/src/3d-tiles-converter/3d-tiles-converter.ts +124 -59
- package/src/3d-tiles-converter/helpers/{b3dm-converter.js → b3dm-converter.ts} +71 -38
- package/src/3d-tiles-converter/helpers/{i3s-obb-to-3d-tiles-obb.js → i3s-obb-to-3d-tiles-obb.ts} +16 -1
- package/src/3d-tiles-converter/helpers/texture-atlas.ts +4 -4
- package/src/3d-tiles-converter/json-templates/{tileset.js → tileset.ts} +9 -9
- package/src/constants.ts +2 -0
- package/src/converter-cli.ts +370 -0
- package/src/deps-installer/deps-installer.ts +71 -0
- package/src/i3s-attributes-worker.ts +50 -0
- package/src/i3s-converter/helpers/batch-ids-extensions.ts +206 -0
- package/src/i3s-converter/helpers/coordinate-converter.ts +87 -27
- package/src/i3s-converter/helpers/create-scene-server-path.ts +29 -0
- package/src/i3s-converter/helpers/feature-attributes.ts +247 -0
- package/src/i3s-converter/helpers/geometry-attributes.ts +267 -0
- package/src/i3s-converter/helpers/geometry-converter.ts +1608 -0
- package/src/i3s-converter/helpers/gltf-attributes.ts +103 -0
- package/src/i3s-converter/helpers/node-debug.ts +146 -0
- package/src/i3s-converter/helpers/node-index-document.ts +315 -0
- package/src/i3s-converter/helpers/node-pages.ts +344 -0
- package/src/i3s-converter/i3s-converter.ts +557 -627
- package/src/i3s-converter/json-templates/geometry-definitions.ts +83 -0
- package/src/i3s-converter/json-templates/layers.ts +137 -0
- package/src/i3s-converter/json-templates/{metadata.js → metadata.ts} +2 -2
- package/src/i3s-converter/json-templates/{node.js → node.ts} +12 -12
- package/src/i3s-converter/json-templates/{scene-server.js → scene-server.ts} +2 -2
- package/src/i3s-converter/json-templates/{shared-resources.js → shared-resources.ts} +17 -17
- package/src/i3s-converter/types.ts +165 -0
- package/src/index.ts +0 -4
- package/src/lib/utils/{compress-util.js → compress-util.ts} +105 -18
- package/src/lib/utils/file-utils.ts +139 -0
- package/src/lib/utils/{lod-conversion-utils.js → lod-conversion-utils.ts} +27 -5
- package/src/lib/utils/queue.ts +17 -0
- package/src/lib/utils/write-queue.ts +110 -0
- package/src/pgm-loader.ts +3 -3
- package/src/workers/3d-tiles-attributes-worker.ts +6 -0
- package/src/workers/i3s-attributes-worker.ts +7 -0
- package/dist/3d-tiles-converter/3d-tiles-converter.js.map +0 -1
- package/dist/3d-tiles-converter/helpers/b3dm-converter.js.map +0 -1
- package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +0 -1
- package/dist/3d-tiles-converter/helpers/texture-atlas.js.map +0 -1
- package/dist/3d-tiles-converter/json-templates/tileset.js.map +0 -1
- package/dist/bundle.js.map +0 -1
- package/dist/deps-installer/deps-installer.js.map +0 -1
- package/dist/i3s-converter/helpers/coordinate-converter.js.map +0 -1
- package/dist/i3s-converter/helpers/create-scene-server-path.js.map +0 -1
- package/dist/i3s-converter/helpers/geometry-attributes.js.map +0 -1
- package/dist/i3s-converter/helpers/geometry-converter.js.map +0 -1
- package/dist/i3s-converter/helpers/node-debug.js.map +0 -1
- package/dist/i3s-converter/helpers/node-pages.js.map +0 -1
- package/dist/i3s-converter/i3s-converter.js.map +0 -1
- package/dist/i3s-converter/json-templates/layers.js.map +0 -1
- package/dist/i3s-converter/json-templates/metadata.js.map +0 -1
- package/dist/i3s-converter/json-templates/node.js.map +0 -1
- package/dist/i3s-converter/json-templates/scene-server.js.map +0 -1
- package/dist/i3s-converter/json-templates/shared-resources.js.map +0 -1
- package/dist/i3s-converter/json-templates/store.js.map +0 -1
- package/dist/i3s-server/app.js.map +0 -1
- package/dist/i3s-server/controllers/index-controller.js.map +0 -1
- package/dist/i3s-server/routes/index.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/geoid-height-model.d.ts +0 -41
- package/dist/lib/geoid-height-model.js +0 -140
- package/dist/lib/geoid-height-model.js.map +0 -1
- package/dist/lib/pgm-parser.d.ts +0 -14
- package/dist/lib/pgm-parser.js +0 -183
- package/dist/lib/pgm-parser.js.map +0 -1
- package/dist/lib/utils/compress-util.js.map +0 -1
- package/dist/lib/utils/compress-utils.d.ts +0 -53
- package/dist/lib/utils/file-utils.js.map +0 -1
- package/dist/lib/utils/lod-conversion-utils.js.map +0 -1
- package/dist/lib/utils/statistic-utills.js.map +0 -1
- package/dist/pgm-loader.js.map +0 -1
- package/src/3d-tiles-converter/helpers/b3dm-converter.d.ts +0 -23
- package/src/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.d.ts +0 -16
- package/src/deps-installer/deps-installer.d.ts +0 -10
- package/src/deps-installer/deps-installer.js +0 -22
- package/src/i3s-converter/helpers/create-scene-server-path.js +0 -25
- package/src/i3s-converter/helpers/geometry-converter.d.ts +0 -40
- package/src/i3s-converter/helpers/geometry-converter.js +0 -915
- package/src/i3s-converter/helpers/node-pages.d.ts +0 -144
- package/src/i3s-converter/helpers/node-pages.js +0 -208
- package/src/i3s-converter/json-templates/layers.js +0 -199
- package/src/lib/geoid-height-model.d.ts +0 -41
- package/src/lib/geoid-height-model.js +0 -239
- package/src/lib/pgm-parser.d.ts +0 -14
- package/src/lib/pgm-parser.js +0 -179
- package/src/lib/utils/compress-utils.d.ts +0 -53
- package/src/lib/utils/file-utils.d.ts +0 -43
- package/src/lib/utils/file-utils.js +0 -38
- package/src/lib/utils/lod-conversion-utils.d.ts +0 -32
- /package/dist/{i3s-server → es5/i3s-server}/bin/www +0 -0
- /package/dist/{i3s-server → es5/i3s-server}/certs/cert.pem +0 -0
- /package/dist/{i3s-server → es5/i3s-server}/certs/key.pem +0 -0
- /package/src/i3s-converter/json-templates/{store.js → store.ts} +0 -0
- /package/src/lib/utils/{statistic-utills.js → statistic-utills.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i3s-converter.js","names":["load","encode","fetchFile","getLoaderOptions","isBrowser","Tileset3D","CesiumIonLoader","Tiles3DLoader","join","v4","uuidv4","process","transform","md5","NodePages","writeFile","removeDir","writeFileForSlpk","removeFile","compressFileWithGzip","compressWithChildProcess","calculateFilesSize","timeConverter","convertB3dmToI3sGeometry","getPropertyTable","createBoundingVolumes","convertBoundingVolumeToI3SFullExtent","createSceneServerPath","convertGeometricErrorToScreenThreshold","PGMLoader","LAYERS","layersTemplate","GEOMETRY_DEFINITION","geometryDefinitionTemlate","SHARED_RESOURCES","sharedResourcesTemplate","validateNodeBoundingVolumes","KTX2BasisWriterWorker","ImageWriter","getWorkerURL","WorkerFarm","DracoWriterWorker","WriteQueue","I3SAttributesWorker","BROWSER_ERROR_MESSAGE","createdStorageAttribute","createFieldAttribute","createPopupInfo","getAttributeType","getFieldAttributeType","NodeIndexDocument","ION_DEFAULT_TOKEN","_process$env","env","IonToken","HARDCODED_NODES_PER_PAGE","_3D_TILES","_3D_OBJECT_LAYER_TYPE","REFRESH_TOKEN_TIMEOUT","CESIUM_DATASET_PREFIX","I3SConverter","constructor","_defineProperty","nodePages","options","layers0Path","materialMap","Map","materialDefinitions","geometryMap","geometryConfigs","vertexCounter","layers0","featuresHashArray","refinementCounter","tilesCount","tilesWithAddRefineCount","validate","generateTextures","generateBoundingVolumes","layersHasTexture","compressList","convert","console","log","conversionStartTime","hrtime","tilesetName","slpk","egmFilePath","inputUrl","outputPath","draco","sevenZipExe","maxDepth","token","instantNodeWriting","mergeMaterials","Boolean","Loader","indexOf","writeQueue","startListening","geoidHeightModel","useWriteFunction","loadWorkers","_sourceTilesetJson$ro","_sourceTilesetJson$ro2","preloadOptions","_fetchPreloadOptions","tilesetOptions","loadOptions","_nodeWorkers","reuseWorkers","basis","format","workerUrl","headers","fetch","Object","assign","sourceTilesetJson","sourceTileset","_createAndSaveTileset","root","boundingVolume","region","_finishConversion","error","workerFarm","getWorkerFarm","destroy","boundingVolumeRegion","tilesetPath","concat","e","_formLayers0","sourceRootTile","boundingVolumes","push","index","lodThreshold","obb","children","rootNode","createRootNode","_convertNodesTree","geometryDefinitions","map","config","geometryConfig","store","defaultGeometrySchema","ordering","filter","attribute","_writeLayers0","filePath","save","finalize","_createSlpk","_this$sourceTileset","_this$sourceTileset2","_this$sourceTileset2$","fullExtent","zmin","zmax","extent","xmin","ymin","xmax","ymax","layers0data","version","toUpperCase","id","name","href","nodesPerPage","compressGeometry","_loadTile","isContentSupported","childNodes","_createNode","childNode","addChildren","_addChildrenWithNeighborsAndWriteFile","parentNode","sourceTiles","level","unloadContent","enqueue","archiveKey","writePromise","JSON","stringify","slpkTilesetPath","slpkFileName","data","_addChildren","addNeighbors","convertNestedTileset","_ref","sourceTile","convertNode","_ref2","type","_this$layers","_this$layers$attribut","_checkAddRefinementTypeForTile","_updateTilesetOptions","propertyTable","content","attributeStorageInfo","length","_convertPropertyTableToNodeAttributes","resourcesData","_convertResources","inPageId","nodes","nodeIds","nodesInPage","emptyResources","geometry","compressedGeometry","texture","hasUvRegions","sharedResources","meshMaterial","vertexCount","attributes","featureCount","resources","lodSelection","maxScreenThresholdSQ","find","val","metricType","maxError","nodeInPage","_updateNodeInNodePages","nodeData","createNodeIndexDocument","node","addData","mesh","_writeResources","boundingVolumeWarnings","warn","parentId","_this$layers2","draftObb","center","halfSize","quaternion","workerSource","definition","findOrCreateGeometryDefinition","resource","material","nodeId","getNodeById","updateAll","updateMaterialByNodeId","_findOrCreateMaterial","texelCountHint","image","height","width","updateTexelCountHintByNodeId","updateVertexCountByNodeId","updateNodeAttributeByNodeId","updateFeatureCountByNodeId","saveNode","nodePath","geometryBuffer","childPath","slpkChildPath","_writeGeometries","_writeShared","_writeTexture","_writeAttributes","slpkGeometryPath","geometryPath","slpkCompressedGeometryPath","compressedGeometryPath","sharedData","sharedDataStr","slpkSharedPath","sharedPath","_getFormatByMimeType","mimeType","formats","textureData","bufferView","writeTextureFile","copyArrayBuffer","subarray","arrayToEncode","Uint8Array","ktx2TextureData","source","ktx2","decodedFromKTX2TextureData","textureSetDefinitions","atlas","slpkTexturePath","compress","texturePath","_this$layers3","_this$layers3$attribu","arguments","undefined","folderName","key","fileBuffer","slpkAttributesPath","attributesPath","hash","has","get","newMaterialId","set","hasTexture","newGeometryId","attributeIndex","propertyTableWithObjectId","OBJECTID","firstAttribute","attributeType","storageAttribute","fieldAttributeType","fieldAttribute","popupInfo","fields","layerType","params","addRefinementPercentage","filesSize","diff","conversionTime","preload","accessToken","refreshTokenTime","tile","ADD_TILE_REFINEMENT","refine","_sourceRootTile$conte","includes","url","sourceResponse","text","i3sAttributesWorkerUrl","I3SAttributes"],"sources":["../../../src/i3s-converter/i3s-converter.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Tileset3DProps} from '@loaders.gl/tiles';\nimport type {FeatureTableJson} from '@loaders.gl/3d-tiles';\nimport type {WriteQueueItem} from '../lib/utils/write-queue';\nimport type {\n SceneLayer3D,\n BoundingVolumes,\n MaxScreenThresholdSQ,\n NodeInPage\n} from '@loaders.gl/i3s';\nimport {load, encode, fetchFile, getLoaderOptions, isBrowser} from '@loaders.gl/core';\nimport {Tileset3D} from '@loaders.gl/tiles';\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';\n// loaders.gl, MIT license\n\nimport {Tile3D} from '@loaders.gl/tiles';\nimport {KTX2BasisWriterWorker} from '@loaders.gl/textures';\nimport {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {I3SMaterialDefinition, TextureSetDefinitionFormats} from '@loaders.gl/i3s/src/types';\nimport {ImageWriter} from '@loaders.gl/images';\nimport {GLTFImagePostprocessed} from '@loaders.gl/gltf';\nimport {I3SConvertedResources, SharedResourcesArrays} from './types';\nimport {getWorkerURL, WorkerFarm} from '@loaders.gl/worker-utils';\nimport {DracoWriterWorker} from '@loaders.gl/draco';\nimport WriteQueue from '../lib/utils/write-queue';\nimport {I3SAttributesWorker} from '../i3s-attributes-worker';\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';\n\nconst ION_DEFAULT_TOKEN =\n process.env?.IonToken || // eslint-disable-line\n 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJlYWMxMzcyYy0zZjJkLTQwODctODNlNi01MDRkZmMzMjIxOWIiLCJpZCI6OTYyMCwic2NvcGVzIjpbImFzbCIsImFzciIsImdjIl0sImlhdCI6MTU2Mjg2NjI3M30.1FNiClUyk00YH_nWfSGpiQAjR5V2OvREDq1PJ5QMjWQ'; // eslint-disable-line\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: Tileset3D | null = null;\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\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 }): Promise<any> {\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 } = options;\n this.options = {\n maxDepth,\n slpk,\n sevenZipExe,\n egmFilePath,\n draco,\n token,\n inputUrl,\n instantNodeWriting,\n mergeMaterials\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 await this.loadWorkers();\n\n try {\n const preloadOptions = await this._fetchPreloadOptions();\n const tilesetOptions: Tileset3DProps = {\n loadOptions: {\n _nodeWorkers: true,\n reuseWorkers: true,\n basis: {format: 'rgba32'},\n 'basis-nodejs': {\n format: 'rgba32',\n workerUrl: './modules/textures/dist/basis-nodejs-worker.js'\n },\n 'draco-nodejs': {workerUrl: './modules/draco/dist/draco-nodejs-worker.js'}\n }\n };\n if (preloadOptions.headers) {\n tilesetOptions.loadOptions!.fetch = {headers: preloadOptions.headers};\n }\n Object.assign(tilesetOptions, preloadOptions);\n const sourceTilesetJson = await load(inputUrl, this.Loader, tilesetOptions.loadOptions);\n // console.log(tilesetJson); // eslint-disable-line\n this.sourceTileset = new Tileset3D(sourceTilesetJson, tilesetOptions);\n\n await this._createAndSaveTileset(\n outputPath,\n tilesetName,\n sourceTilesetJson?.root?.boundingVolume?.region\n );\n await this._finishConversion({slpk: Boolean(slpk), outputPath, tilesetName});\n return sourceTilesetJson;\n } catch (error) {\n throw error;\n } finally {\n // Clean up worker pools\n const workerFarm = WorkerFarm.getWorkerFarm({});\n workerFarm.destroy();\n }\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(\n outputPath: string,\n tilesetName: string,\n boundingVolumeRegion?: number[]\n ): 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._formLayers0(tilesetName, boundingVolumeRegion);\n\n this.materialDefinitions = [];\n this.materialMap = new Map();\n\n const sourceRootTile: Tile3D = this.sourceTileset!.root!;\n const boundingVolumes = createBoundingVolumes(sourceRootTile, this.geoidHeightModel!);\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 this._convertNodesTree(rootNode, sourceRootTile);\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 */\n private _formLayers0(tilesetName: string, boundingVolumeRegion?: number[]): void {\n const fullExtent = convertBoundingVolumeToI3SFullExtent(\n this.sourceTileset?.boundingVolume || this.sourceTileset?.root?.boundingVolume\n );\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 * Form object of 3DSceneLayer https://github.com/Esri/i3s-spec/blob/master/docs/1.7/3DSceneLayer.cmn.md\n * @param rootNode - 3DNodeIndexDocument of root node https://github.com/Esri/i3s-spec/blob/master/docs/1.7/3DNodeIndexDocument.cmn.md\n * @param sourceRootTile - Source (3DTile) tile data\n */\n private async _convertNodesTree(\n rootNode: NodeIndexDocument,\n sourceRootTile: Tile3D\n ): Promise<void> {\n await this.sourceTileset!._loadTile(sourceRootTile);\n if (this.isContentSupported(sourceRootTile)) {\n const childNodes = await this._createNode(rootNode, sourceRootTile, 0);\n for (const childNode of childNodes) {\n await childNode.save();\n }\n await rootNode.addChildren(childNodes);\n } else {\n await this._addChildrenWithNeighborsAndWriteFile({\n parentNode: rootNode,\n sourceTiles: sourceRootTile.children,\n level: 1\n });\n }\n await sourceRootTile.unloadContent();\n await rootNode.save();\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 * Add child nodes recursively and write them to files\n * @param data - arguments\n * @param data.parentNode - 3DNodeIndexDocument of parent node\n * @param data.sourceTiles - array of source child nodes\n * @param data.level - level of node (distanse to root node in the tree)\n */\n private async _addChildrenWithNeighborsAndWriteFile(data: {\n parentNode: NodeIndexDocument;\n sourceTiles: Tile3D[];\n level: number;\n }): Promise<void> {\n await this._addChildren(data);\n await data.parentNode.addNeighbors();\n }\n\n /**\n * Convert nested subtree of 3DTiles dataset\n * @param param0\n * @param data.parentNode - 3DNodeIndexDocument of parent node\n * @param param0.sourceTile - source 3DTile data\n * @param param0.level - tree level\n */\n private async convertNestedTileset({\n parentNode,\n sourceTile,\n level\n }: {\n parentNode: NodeIndexDocument;\n sourceTile: Tile3D;\n level: number;\n }) {\n await this.sourceTileset!._loadTile(sourceTile);\n await this._addChildren({\n parentNode,\n sourceTiles: sourceTile.children,\n level: level + 1\n });\n await sourceTile.unloadContent();\n }\n\n /**\n * Convert 3DTiles tile to I3S node\n * @param param0\n * @param param0.parentNode - 3DNodeIndexDocument of parent node\n * @param param0.sourceTile - source 3DTile data\n * @param param0.level - tree level\n */\n private async convertNode({\n parentNode,\n sourceTile,\n level\n }: {\n parentNode: NodeIndexDocument;\n sourceTile: Tile3D;\n level: number;\n }) {\n const childNodes = await this._createNode(parentNode, sourceTile, level);\n await parentNode.addChildren(childNodes);\n }\n\n /**\n * Add child nodes recursively and write them to files\n * @param param0 - arguments\n * @param param0.parentNode - 3DNodeIndexDocument of parent node\n * @param param0.sourceTile - source 3DTile data\n * @param param0.level - tree level\n */\n private async _addChildren(data: {\n parentNode: NodeIndexDocument;\n sourceTiles: Tile3D[];\n level: number;\n }): Promise<void> {\n const {sourceTiles, parentNode, level} = data;\n if (this.options.maxDepth && level > this.options.maxDepth) {\n return;\n }\n for (const sourceTile of sourceTiles) {\n if (sourceTile.type === 'json') {\n await this.convertNestedTileset({parentNode, sourceTile, level});\n } else {\n await this.convertNode({parentNode, sourceTile, level});\n }\n if (sourceTile.id) {\n console.log(sourceTile.id); // eslint-disable-line\n }\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 level - tree level\n */\n private async _createNode(\n parentNode: NodeIndexDocument,\n sourceTile: Tile3D,\n level: number\n ): Promise<NodeIndexDocument[]> {\n this._checkAddRefinementTypeForTile(sourceTile);\n\n await this._updateTilesetOptions();\n await this.sourceTileset!._loadTile(sourceTile);\n\n let boundingVolumes = createBoundingVolumes(sourceTile, this.geoidHeightModel!);\n\n const propertyTable = getPropertyTable(sourceTile.content);\n\n if (propertyTable && !this.layers0?.attributeStorageInfo?.length) {\n this._convertPropertyTableToNodeAttributes(propertyTable);\n }\n\n const resourcesData = await this._convertResources(\n sourceTile,\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 sourceTile.unloadContent();\n\n await this._addChildrenWithNeighborsAndWriteFile({\n parentNode: nodes[0],\n sourceTiles: sourceTile.children,\n level: level + 1\n });\n return nodes;\n }\n\n /**\n * Convert tile to one or more I3S nodes\n * @param sourceTile - source tile (3DTile)\n * @param parentId - id of parent node in node pages\n * @param propertyTable - batch table from b3dm / feature properties from EXT_FEATURE_METADATA\n * @returns - converted node resources\n */\n private async _convertResources(\n sourceTile: Tile3D,\n parentId: number,\n propertyTable: FeatureTableJson | null\n ): Promise<I3SConvertedResources[] | null> {\n if (!this.isContentSupported(sourceTile)) {\n return null;\n }\n const draftObb = {\n center: [],\n halfSize: [],\n quaternion: []\n };\n const resourcesData = await convertB3dmToI3sGeometry(\n sourceTile.content,\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.workerSource\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: Tile3D,\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;\n if (!nodeId) {\n node = await this.nodePages.push(nodeInPage, parentId);\n } else {\n node = await this.nodePages.getNodeById(nodeId);\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 source: this.workerSource.ktx2,\n reuseWorkers: true,\n _nodeWorkers: 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: 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 for (let index = 0; index < attributes.length; 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 const firstAttribute = propertyTableWithObjectId[key][0];\n const attributeType = getAttributeType(key, firstAttribute);\n\n const storageAttribute = createdStorageAttribute(attributeIndex, key, attributeType);\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 this.sourceTileset!.options = {...this.sourceTileset!.options, ...preloadOptions};\n if (preloadOptions.headers) {\n this.sourceTileset!.loadOptions.fetch = {\n ...this.sourceTileset!.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: Tile3D): 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 * Check if the tile's content format is supported by the converter\n * @param sourceRootTile\n * @returns\n */\n private isContentSupported(sourceRootTile: Tile3D): boolean {\n return ['b3dm', 'glTF'].includes(sourceRootTile?.content?.type);\n }\n\n private async loadWorkers(): Promise<void> {\n console.log(`Loading workers source...`); // eslint-disable-line no-undef, no-console\n if (this.options.draco) {\n const url = getWorkerURL(DracoWriterWorker, {...getLoaderOptions()});\n const sourceResponse = await fetchFile(url);\n const source = await sourceResponse.text();\n this.workerSource.draco = source;\n }\n\n if (this.generateTextures) {\n const url = getWorkerURL(KTX2BasisWriterWorker, {...getLoaderOptions()});\n const sourceResponse = await fetchFile(url);\n const source = await sourceResponse.text();\n this.workerSource.ktx2 = source;\n }\n\n const i3sAttributesWorkerUrl = getWorkerURL(I3SAttributesWorker, {...getLoaderOptions()});\n const sourceResponse = await fetchFile(i3sAttributesWorkerUrl);\n const source = await sourceResponse.text();\n this.workerSource.I3SAttributes = source;\n console.log(`Loading workers source completed!`); // eslint-disable-line no-undef, no-console\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import transform from 'json-map-transform';
|
|
2
|
+
const PLAIN_GEOMETRY_DEFINITION = () => ({
|
|
3
|
+
offset: {
|
|
4
|
+
default: 8
|
|
5
|
+
},
|
|
6
|
+
position: {
|
|
7
|
+
default: {
|
|
8
|
+
type: 'Float32',
|
|
9
|
+
component: 3
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
normal: {
|
|
13
|
+
default: {
|
|
14
|
+
type: 'Float32',
|
|
15
|
+
component: 3
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
uv0: {
|
|
19
|
+
path: 'hasTexture',
|
|
20
|
+
transform: val => val && {
|
|
21
|
+
type: 'Float32',
|
|
22
|
+
component: 2
|
|
23
|
+
} || false,
|
|
24
|
+
omitValues: [false]
|
|
25
|
+
},
|
|
26
|
+
color: {
|
|
27
|
+
default: {
|
|
28
|
+
type: 'UInt8',
|
|
29
|
+
component: 4
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
uvRegion: {
|
|
33
|
+
path: 'hasUvRegions',
|
|
34
|
+
transform: val => val && {
|
|
35
|
+
type: 'UInt16',
|
|
36
|
+
component: 4
|
|
37
|
+
} || false,
|
|
38
|
+
omitValues: [false]
|
|
39
|
+
},
|
|
40
|
+
featureId: {
|
|
41
|
+
default: {
|
|
42
|
+
binding: 'per-feature',
|
|
43
|
+
type: 'UInt64',
|
|
44
|
+
component: 1
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
faceRange: {
|
|
48
|
+
default: {
|
|
49
|
+
binding: 'per-feature',
|
|
50
|
+
type: 'UInt32',
|
|
51
|
+
component: 2
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
const COMPRESSED_GEOMETRY_DEFINITION = () => ({
|
|
56
|
+
'compressedAttributes.encoding': {
|
|
57
|
+
default: 'draco'
|
|
58
|
+
},
|
|
59
|
+
'compressedAttributes.attributes': {
|
|
60
|
+
path: 'geometryConfig',
|
|
61
|
+
transform: val => {
|
|
62
|
+
const result = ['position', 'normal'];
|
|
63
|
+
if (val.hasTexture) {
|
|
64
|
+
result.push('uv0');
|
|
65
|
+
}
|
|
66
|
+
result.push('color');
|
|
67
|
+
if (val.hasUvRegions) {
|
|
68
|
+
result.push('uv-region');
|
|
69
|
+
}
|
|
70
|
+
result.push('feature-index');
|
|
71
|
+
return result;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
export const GEOMETRY_DEFINITION = () => ({
|
|
76
|
+
geometryBuffers: {
|
|
77
|
+
path: 'geometryConfig',
|
|
78
|
+
transform: val => {
|
|
79
|
+
const result = [transform(val, PLAIN_GEOMETRY_DEFINITION())];
|
|
80
|
+
if (val.draco) {
|
|
81
|
+
result.push(transform({
|
|
82
|
+
geometryConfig: val
|
|
83
|
+
}, COMPRESSED_GEOMETRY_DEFINITION()));
|
|
84
|
+
}
|
|
85
|
+
return result;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
//# sourceMappingURL=geometry-definitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geometry-definitions.js","names":["transform","PLAIN_GEOMETRY_DEFINITION","offset","default","position","type","component","normal","uv0","path","val","omitValues","color","uvRegion","featureId","binding","faceRange","COMPRESSED_GEOMETRY_DEFINITION","result","hasTexture","push","hasUvRegions","GEOMETRY_DEFINITION","geometryBuffers","draco","geometryConfig"],"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,OAAOA,SAAS,MAAM,oBAAoB;AAE1C,MAAMC,yBAAyB,GAAGA,CAAA,MAAO;EACvCC,MAAM,EAAE;IACNC,OAAO,EAAE;EACX,CAAC;EACDC,QAAQ,EAAE;IACRD,OAAO,EAAE;MACPE,IAAI,EAAE,SAAS;MACfC,SAAS,EAAE;IACb;EACF,CAAC;EACDC,MAAM,EAAE;IACNJ,OAAO,EAAE;MACPE,IAAI,EAAE,SAAS;MACfC,SAAS,EAAE;IACb;EACF,CAAC;EACDE,GAAG,EAAE;IACHC,IAAI,EAAE,YAAY;IAClBT,SAAS,EAAGU,GAAG,IAAMA,GAAG,IAAI;MAACL,IAAI,EAAE,SAAS;MAAEC,SAAS,EAAE;IAAC,CAAC,IAAK,KAAK;IACrEK,UAAU,EAAE,CAAC,KAAK;EACpB,CAAC;EACDC,KAAK,EAAE;IACLT,OAAO,EAAE;MACPE,IAAI,EAAE,OAAO;MACbC,SAAS,EAAE;IACb;EACF,CAAC;EACDO,QAAQ,EAAE;IACRJ,IAAI,EAAE,cAAc;IACpBT,SAAS,EAAGU,GAAG,IAAMA,GAAG,IAAI;MAACL,IAAI,EAAE,QAAQ;MAAEC,SAAS,EAAE;IAAC,CAAC,IAAK,KAAK;IACpEK,UAAU,EAAE,CAAC,KAAK;EACpB,CAAC;EACDG,SAAS,EAAE;IACTX,OAAO,EAAE;MACPY,OAAO,EAAE,aAAa;MACtBV,IAAI,EAAE,QAAQ;MACdC,SAAS,EAAE;IACb;EACF,CAAC;EACDU,SAAS,EAAE;IACTb,OAAO,EAAE;MACPY,OAAO,EAAE,aAAa;MACtBV,IAAI,EAAE,QAAQ;MACdC,SAAS,EAAE;IACb;EACF;AACF,CAAC,CAAC;AAEF,MAAMW,8BAA8B,GAAGA,CAAA,MAAO;EAC5C,+BAA+B,EAAE;IAC/Bd,OAAO,EAAE;EACX,CAAC;EACD,iCAAiC,EAAE;IACjCM,IAAI,EAAE,gBAAgB;IACtBT,SAAS,EAAGU,GAAG,IAAK;MAClB,MAAMQ,MAAM,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC;MACrC,IAAIR,GAAG,CAACS,UAAU,EAAE;QAClBD,MAAM,CAACE,IAAI,CAAC,KAAK,CAAC;MACpB;MACAF,MAAM,CAACE,IAAI,CAAC,OAAO,CAAC;MACpB,IAAIV,GAAG,CAACW,YAAY,EAAE;QACpBH,MAAM,CAACE,IAAI,CAAC,WAAW,CAAC;MAC1B;MACAF,MAAM,CAACE,IAAI,CAAC,eAAe,CAAC;MAC5B,OAAOF,MAAM;IACf;EACF;AACF,CAAC,CAAC;AAEF,OAAO,MAAMI,mBAAmB,GAAGA,CAAA,MAAO;EACxCC,eAAe,EAAE;IACfd,IAAI,EAAE,gBAAgB;IACtBT,SAAS,EAAGU,GAAG,IAAK;MAClB,MAAMQ,MAAM,GAAG,CAAClB,SAAS,CAACU,GAAG,EAAET,yBAAyB,CAAC,CAAC,CAAC,CAAC;MAC5D,IAAIS,GAAG,CAACc,KAAK,EAAE;QACbN,MAAM,CAACE,IAAI,CAACpB,SAAS,CAAC;UAACyB,cAAc,EAAEf;QAAG,CAAC,EAAEO,8BAA8B,CAAC,CAAC,CAAC,CAAC;MACjF;MACA,OAAOC,MAAM;IACf;EACF;AACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import transform from 'json-map-transform';
|
|
2
|
+
import { STORE } from './store';
|
|
3
|
+
const SPATIAL_REFERENCE = () => ({
|
|
4
|
+
wkid: {
|
|
5
|
+
path: 'wkid',
|
|
6
|
+
default: 4326
|
|
7
|
+
},
|
|
8
|
+
latestWkid: {
|
|
9
|
+
path: 'latestWkid',
|
|
10
|
+
default: 4326
|
|
11
|
+
},
|
|
12
|
+
vcsWkid: {
|
|
13
|
+
path: 'vcsWkid',
|
|
14
|
+
default: 5773
|
|
15
|
+
},
|
|
16
|
+
latestVcsWkid: {
|
|
17
|
+
path: 'latestVcsWkid',
|
|
18
|
+
default: 5773
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
const HEIGHT_MODEL_INFO = () => ({
|
|
22
|
+
heightModel: {
|
|
23
|
+
path: 'heightModel',
|
|
24
|
+
default: 'gravity_related_height'
|
|
25
|
+
},
|
|
26
|
+
vertCRS: {
|
|
27
|
+
path: 'vertCRS',
|
|
28
|
+
default: 'EGM96_Geoid'
|
|
29
|
+
},
|
|
30
|
+
heightUnit: {
|
|
31
|
+
path: 'heightUnit',
|
|
32
|
+
default: 'meter'
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
const NODE_PAGES = () => ({
|
|
36
|
+
nodesPerPage: {
|
|
37
|
+
path: 'nodesPerPage'
|
|
38
|
+
},
|
|
39
|
+
lodSelectionMetricType: {
|
|
40
|
+
path: 'lodSelectionMetricType',
|
|
41
|
+
default: 'maxScreenThresholdSQ'
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
const FULL_EXTENT = () => ({
|
|
45
|
+
xmin: {
|
|
46
|
+
path: 'xmin'
|
|
47
|
+
},
|
|
48
|
+
ymin: {
|
|
49
|
+
path: 'ymin'
|
|
50
|
+
},
|
|
51
|
+
xmax: {
|
|
52
|
+
path: 'xmax'
|
|
53
|
+
},
|
|
54
|
+
ymax: {
|
|
55
|
+
path: 'ymax'
|
|
56
|
+
},
|
|
57
|
+
zmin: {
|
|
58
|
+
path: 'zmin'
|
|
59
|
+
},
|
|
60
|
+
zmax: {
|
|
61
|
+
path: 'zmax'
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
export const LAYERS = () => ({
|
|
65
|
+
version: {
|
|
66
|
+
path: 'version',
|
|
67
|
+
transform: val => val.toUpperCase()
|
|
68
|
+
},
|
|
69
|
+
id: {
|
|
70
|
+
path: 'id',
|
|
71
|
+
default: 0
|
|
72
|
+
},
|
|
73
|
+
name: {
|
|
74
|
+
path: 'name'
|
|
75
|
+
},
|
|
76
|
+
href: {
|
|
77
|
+
path: 'href',
|
|
78
|
+
default: './layers/0'
|
|
79
|
+
},
|
|
80
|
+
layerType: {
|
|
81
|
+
path: 'layerType',
|
|
82
|
+
default: 'IntegratedMesh'
|
|
83
|
+
},
|
|
84
|
+
spatialReference: {
|
|
85
|
+
path: 'spatialReference',
|
|
86
|
+
transform: val => transform(val, SPATIAL_REFERENCE())
|
|
87
|
+
},
|
|
88
|
+
capabilities: {
|
|
89
|
+
path: 'capabilities',
|
|
90
|
+
default: ['View', 'Query']
|
|
91
|
+
},
|
|
92
|
+
store: {
|
|
93
|
+
path: 'store',
|
|
94
|
+
transform: val => transform(val, STORE)
|
|
95
|
+
},
|
|
96
|
+
fullExtent: {
|
|
97
|
+
path: 'fullExtent',
|
|
98
|
+
transform: val => transform(val, FULL_EXTENT())
|
|
99
|
+
},
|
|
100
|
+
heightModelInfo: {
|
|
101
|
+
path: 'heightModelInfo',
|
|
102
|
+
transform: val => transform(val, HEIGHT_MODEL_INFO())
|
|
103
|
+
},
|
|
104
|
+
nodePages: {
|
|
105
|
+
path: 'nodePages',
|
|
106
|
+
transform: val => transform(val, NODE_PAGES())
|
|
107
|
+
},
|
|
108
|
+
materialDefinitions: {
|
|
109
|
+
path: 'materialDefinitions',
|
|
110
|
+
default: []
|
|
111
|
+
},
|
|
112
|
+
textureSetDefinitions: {
|
|
113
|
+
path: 'textureSetDefinitions',
|
|
114
|
+
default: []
|
|
115
|
+
},
|
|
116
|
+
geometryDefinitions: {
|
|
117
|
+
path: 'geometryDefinitions',
|
|
118
|
+
default: []
|
|
119
|
+
},
|
|
120
|
+
attributeStorageInfo: {
|
|
121
|
+
path: 'attributeStorageInfo',
|
|
122
|
+
default: []
|
|
123
|
+
},
|
|
124
|
+
fields: {
|
|
125
|
+
path: 'fields',
|
|
126
|
+
default: []
|
|
127
|
+
},
|
|
128
|
+
popupInfo: {
|
|
129
|
+
path: 'popupInfo',
|
|
130
|
+
default: null
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
//# sourceMappingURL=layers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layers.js","names":["transform","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","val","toUpperCase","id","name","href","layerType","spatialReference","capabilities","store","fullExtent","heightModelInfo","nodePages","materialDefinitions","textureSetDefinitions","geometryDefinitions","attributeStorageInfo","fields","popupInfo"],"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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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export const METADATA = () => ({
|
|
2
|
+
folderPattern: {
|
|
3
|
+
path: 'folderPattern',
|
|
4
|
+
default: 'BASIC'
|
|
5
|
+
},
|
|
6
|
+
archiveCompressionType: {
|
|
7
|
+
path: 'archiveCompressionType',
|
|
8
|
+
default: 'STORE'
|
|
9
|
+
},
|
|
10
|
+
resourceCompressionType: {
|
|
11
|
+
path: 'resourceCompressionType',
|
|
12
|
+
default: 'GZIP'
|
|
13
|
+
},
|
|
14
|
+
I3SVersion: {
|
|
15
|
+
path: 'I3SVersion',
|
|
16
|
+
default: '1.8'
|
|
17
|
+
},
|
|
18
|
+
nodeCount: {
|
|
19
|
+
path: 'nodeCount'
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.js","names":["METADATA","folderPattern","path","default","archiveCompressionType","resourceCompressionType","I3SVersion","nodeCount"],"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":"AAAA,OAAO,MAAMA,QAAQ,GAAGA,CAAA,MAAO;EAC7BC,aAAa,EAAE;IACbC,IAAI,EAAE,eAAe;IACrBC,OAAO,EAAE;EACX,CAAC;EACDC,sBAAsB,EAAE;IACtBF,IAAI,EAAE,wBAAwB;IAC9BC,OAAO,EAAE;EACX,CAAC;EACDE,uBAAuB,EAAE;IACvBH,IAAI,EAAE,yBAAyB;IAC/BC,OAAO,EAAE;EACX,CAAC;EACDG,UAAU,EAAE;IACVJ,IAAI,EAAE,YAAY;IAClBC,OAAO,EAAE;EACX,CAAC;EACDI,SAAS,EAAE;IACTL,IAAI,EAAE;EACR;AACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import transform from 'json-map-transform';
|
|
2
|
+
const COORDINATES = () => ({
|
|
3
|
+
mbs: {
|
|
4
|
+
path: 'mbs'
|
|
5
|
+
},
|
|
6
|
+
obb: {
|
|
7
|
+
path: 'obb'
|
|
8
|
+
}
|
|
9
|
+
});
|
|
10
|
+
const HREF = () => ({
|
|
11
|
+
href: {
|
|
12
|
+
path: 'href'
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
const PARENT_NODE = () => ({
|
|
16
|
+
id: {
|
|
17
|
+
path: 'id'
|
|
18
|
+
},
|
|
19
|
+
...HREF(),
|
|
20
|
+
...COORDINATES()
|
|
21
|
+
});
|
|
22
|
+
export const NODE = () => ({
|
|
23
|
+
version: {
|
|
24
|
+
path: 'version'
|
|
25
|
+
},
|
|
26
|
+
id: {
|
|
27
|
+
path: 'id'
|
|
28
|
+
},
|
|
29
|
+
path: {
|
|
30
|
+
path: 'path'
|
|
31
|
+
},
|
|
32
|
+
level: {
|
|
33
|
+
path: 'level'
|
|
34
|
+
},
|
|
35
|
+
...COORDINATES(),
|
|
36
|
+
lodSelection: {
|
|
37
|
+
path: 'lodSelection',
|
|
38
|
+
default: [{
|
|
39
|
+
metricType: 'maxScreenThresholdSQ',
|
|
40
|
+
maxError: 196349.54374999998
|
|
41
|
+
}, {
|
|
42
|
+
metricType: 'maxScreenThreshold',
|
|
43
|
+
maxError: 999.99999999999994
|
|
44
|
+
}]
|
|
45
|
+
},
|
|
46
|
+
children: {
|
|
47
|
+
path: 'children',
|
|
48
|
+
default: null
|
|
49
|
+
},
|
|
50
|
+
neighbors: {
|
|
51
|
+
path: 'neighbors',
|
|
52
|
+
default: null
|
|
53
|
+
},
|
|
54
|
+
parentNode: {
|
|
55
|
+
path: 'parentNode',
|
|
56
|
+
transform: val => transform(val, PARENT_NODE()),
|
|
57
|
+
default: null
|
|
58
|
+
},
|
|
59
|
+
sharedResource: {
|
|
60
|
+
path: 'sharedResource',
|
|
61
|
+
default: null
|
|
62
|
+
},
|
|
63
|
+
featureData: {
|
|
64
|
+
path: 'featureData',
|
|
65
|
+
default: null
|
|
66
|
+
},
|
|
67
|
+
geometryData: {
|
|
68
|
+
path: 'geometryData',
|
|
69
|
+
default: null
|
|
70
|
+
},
|
|
71
|
+
textureData: {
|
|
72
|
+
path: 'textureData',
|
|
73
|
+
default: null
|
|
74
|
+
},
|
|
75
|
+
attributeData: {
|
|
76
|
+
path: 'attributeData',
|
|
77
|
+
default: null
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
//# sourceMappingURL=node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.js","names":["transform","COORDINATES","mbs","path","obb","HREF","href","PARENT_NODE","id","NODE","version","level","lodSelection","default","metricType","maxError","children","neighbors","parentNode","val","sharedResource","featureData","geometryData","textureData","attributeData"],"sources":["../../../../src/i3s-converter/json-templates/node.ts"],"sourcesContent":["import transform from 'json-map-transform';\n\nconst COORDINATES = () => ({\n mbs: {\n path: 'mbs'\n },\n obb: {\n path: 'obb'\n }\n});\n\nconst HREF = () => ({\n href: {\n path: 'href'\n }\n});\n\nconst PARENT_NODE = () => ({\n id: {\n path: 'id'\n },\n ...HREF(),\n ...COORDINATES()\n});\n\nexport const NODE = () => ({\n version: {\n path: 'version'\n },\n id: {\n path: 'id'\n },\n path: {\n path: 'path'\n },\n level: {\n path: 'level'\n },\n ...COORDINATES(),\n lodSelection: {\n path: 'lodSelection',\n default: [\n {\n metricType: 'maxScreenThresholdSQ',\n maxError: 196349.54374999998\n },\n {\n metricType: 'maxScreenThreshold',\n maxError: 999.99999999999994\n }\n ]\n },\n children: {\n path: 'children',\n default: null\n },\n neighbors: {\n path: 'neighbors',\n default: null\n },\n parentNode: {\n path: 'parentNode',\n transform: (val) => transform(val, PARENT_NODE()),\n default: null\n },\n sharedResource: {\n path: 'sharedResource',\n default: null\n },\n featureData: {\n path: 'featureData',\n default: null\n },\n geometryData: {\n path: 'geometryData',\n default: null\n },\n textureData: {\n path: 'textureData',\n default: null\n },\n attributeData: {\n path: 'attributeData',\n default: null\n }\n});\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,oBAAoB;AAE1C,MAAMC,WAAW,GAAGA,CAAA,MAAO;EACzBC,GAAG,EAAE;IACHC,IAAI,EAAE;EACR,CAAC;EACDC,GAAG,EAAE;IACHD,IAAI,EAAE;EACR;AACF,CAAC,CAAC;AAEF,MAAME,IAAI,GAAGA,CAAA,MAAO;EAClBC,IAAI,EAAE;IACJH,IAAI,EAAE;EACR;AACF,CAAC,CAAC;AAEF,MAAMI,WAAW,GAAGA,CAAA,MAAO;EACzBC,EAAE,EAAE;IACFL,IAAI,EAAE;EACR,CAAC;EACD,GAAGE,IAAI,CAAC,CAAC;EACT,GAAGJ,WAAW,CAAC;AACjB,CAAC,CAAC;AAEF,OAAO,MAAMQ,IAAI,GAAGA,CAAA,MAAO;EACzBC,OAAO,EAAE;IACPP,IAAI,EAAE;EACR,CAAC;EACDK,EAAE,EAAE;IACFL,IAAI,EAAE;EACR,CAAC;EACDA,IAAI,EAAE;IACJA,IAAI,EAAE;EACR,CAAC;EACDQ,KAAK,EAAE;IACLR,IAAI,EAAE;EACR,CAAC;EACD,GAAGF,WAAW,CAAC,CAAC;EAChBW,YAAY,EAAE;IACZT,IAAI,EAAE,cAAc;IACpBU,OAAO,EAAE,CACP;MACEC,UAAU,EAAE,sBAAsB;MAClCC,QAAQ,EAAE;IACZ,CAAC,EACD;MACED,UAAU,EAAE,oBAAoB;MAChCC,QAAQ,EAAE;IACZ,CAAC;EAEL,CAAC;EACDC,QAAQ,EAAE;IACRb,IAAI,EAAE,UAAU;IAChBU,OAAO,EAAE;EACX,CAAC;EACDI,SAAS,EAAE;IACTd,IAAI,EAAE,WAAW;IACjBU,OAAO,EAAE;EACX,CAAC;EACDK,UAAU,EAAE;IACVf,IAAI,EAAE,YAAY;IAClBH,SAAS,EAAGmB,GAAG,IAAKnB,SAAS,CAACmB,GAAG,EAAEZ,WAAW,CAAC,CAAC,CAAC;IACjDM,OAAO,EAAE;EACX,CAAC;EACDO,cAAc,EAAE;IACdjB,IAAI,EAAE,gBAAgB;IACtBU,OAAO,EAAE;EACX,CAAC;EACDQ,WAAW,EAAE;IACXlB,IAAI,EAAE,aAAa;IACnBU,OAAO,EAAE;EACX,CAAC;EACDS,YAAY,EAAE;IACZnB,IAAI,EAAE,cAAc;IACpBU,OAAO,EAAE;EACX,CAAC;EACDU,WAAW,EAAE;IACXpB,IAAI,EAAE,aAAa;IACnBU,OAAO,EAAE;EACX,CAAC;EACDW,aAAa,EAAE;IACbrB,IAAI,EAAE,eAAe;IACrBU,OAAO,EAAE;EACX;AACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export const SCENE_SERVER = () => ({
|
|
2
|
+
serviceItemId: {
|
|
3
|
+
path: 'serviceItemId'
|
|
4
|
+
},
|
|
5
|
+
serviceName: {
|
|
6
|
+
path: 'layerName'
|
|
7
|
+
},
|
|
8
|
+
name: {
|
|
9
|
+
path: 'layerName'
|
|
10
|
+
},
|
|
11
|
+
currentVersion: {
|
|
12
|
+
path: 'currentVersion',
|
|
13
|
+
default: 10.7
|
|
14
|
+
},
|
|
15
|
+
serviceVersion: {
|
|
16
|
+
path: 'serviceVersion',
|
|
17
|
+
default: '1.8'
|
|
18
|
+
},
|
|
19
|
+
supportedBindings: {
|
|
20
|
+
path: 'supportedBindings',
|
|
21
|
+
default: ['REST']
|
|
22
|
+
},
|
|
23
|
+
layers: {
|
|
24
|
+
path: 'layers0',
|
|
25
|
+
transform: layers0 => [layers0]
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=scene-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scene-server.js","names":["SCENE_SERVER","serviceItemId","path","serviceName","name","currentVersion","default","serviceVersion","supportedBindings","layers","transform","layers0"],"sources":["../../../../src/i3s-converter/json-templates/scene-server.ts"],"sourcesContent":["export const SCENE_SERVER = () => ({\n serviceItemId: {\n path: 'serviceItemId'\n },\n serviceName: {\n path: 'layerName'\n },\n name: {\n path: 'layerName'\n },\n currentVersion: {\n path: 'currentVersion',\n default: 10.7\n },\n serviceVersion: {\n path: 'serviceVersion',\n default: '1.8'\n },\n supportedBindings: {\n path: 'supportedBindings',\n default: ['REST']\n },\n layers: {\n path: 'layers0',\n transform: (layers0) => [layers0]\n }\n});\n"],"mappings":"AAAA,OAAO,MAAMA,YAAY,GAAGA,CAAA,MAAO;EACjCC,aAAa,EAAE;IACbC,IAAI,EAAE;EACR,CAAC;EACDC,WAAW,EAAE;IACXD,IAAI,EAAE;EACR,CAAC;EACDE,IAAI,EAAE;IACJF,IAAI,EAAE;EACR,CAAC;EACDG,cAAc,EAAE;IACdH,IAAI,EAAE,gBAAgB;IACtBI,OAAO,EAAE;EACX,CAAC;EACDC,cAAc,EAAE;IACdL,IAAI,EAAE,gBAAgB;IACtBI,OAAO,EAAE;EACX,CAAC;EACDE,iBAAiB,EAAE;IACjBN,IAAI,EAAE,mBAAmB;IACzBI,OAAO,EAAE,CAAC,MAAM;EAClB,CAAC;EACDG,MAAM,EAAE;IACNP,IAAI,EAAE,SAAS;IACfQ,SAAS,EAAGC,OAAO,IAAK,CAACA,OAAO;EAClC;AACF,CAAC,CAAC"}
|