@loaders.gl/tile-converter 4.0.0-alpha.1 → 4.0.0-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/converter.js +1 -1
- 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 +275 -226
- package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts +71 -18
- package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts.map +1 -0
- package/dist/3d-tiles-converter/helpers/b3dm-converter.js +256 -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 +185 -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 +61 -23
- package/dist/dist.min.js +64143 -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 +467 -0
- package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +1 -0
- package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js +293 -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 +124 -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 +89 -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 +1192 -0
- package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -0
- package/dist/es5/i3s-converter/helpers/gltf-attributes.js +113 -0
- package/dist/es5/i3s-converter/helpers/gltf-attributes.js.map +1 -0
- package/dist/es5/i3s-converter/helpers/load-3d-tiles.js +82 -0
- package/dist/es5/i3s-converter/helpers/load-3d-tiles.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 +521 -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/helpers/preprocess-3d-tiles.js +111 -0
- package/dist/es5/i3s-converter/helpers/preprocess-3d-tiles.js.map +1 -0
- package/dist/es5/i3s-converter/helpers/tileset-traversal.js +82 -0
- package/dist/es5/i3s-converter/helpers/tileset-traversal.js.map +1 -0
- package/dist/es5/i3s-converter/i3s-converter.js +1541 -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 +18 -0
- package/dist/es5/i3s-converter/types.js.map +1 -0
- package/dist/es5/i3s-server/README.md +19 -0
- package/dist/es5/i3s-server/app.js +27 -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/controllers/slpk-controller.js +84 -0
- package/dist/es5/i3s-server/controllers/slpk-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/i3s-server/routes/slpk-router.js +71 -0
- package/dist/es5/i3s-server/routes/slpk-router.js.map +1 -0
- package/dist/es5/i3s-server/utils/create-scene-server.js +17 -0
- package/dist/es5/i3s-server/utils/create-scene-server.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/geometry-utils.js +15 -0
- package/dist/es5/lib/utils/geometry-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 +245 -0
- package/dist/esm/3d-tiles-converter/3d-tiles-converter.js.map +1 -0
- package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js +218 -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 +45 -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 +79 -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 +906 -0
- package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +1 -0
- package/dist/esm/i3s-converter/helpers/gltf-attributes.js +110 -0
- package/dist/esm/i3s-converter/helpers/gltf-attributes.js.map +1 -0
- package/dist/esm/i3s-converter/helpers/load-3d-tiles.js +35 -0
- package/dist/esm/i3s-converter/helpers/load-3d-tiles.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 +201 -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/helpers/preprocess-3d-tiles.js +48 -0
- package/dist/esm/i3s-converter/helpers/preprocess-3d-tiles.js.map +1 -0
- package/dist/esm/i3s-converter/helpers/tileset-traversal.js +14 -0
- package/dist/esm/i3s-converter/helpers/tileset-traversal.js.map +1 -0
- package/dist/esm/i3s-converter/i3s-converter.js +778 -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 +11 -0
- package/dist/esm/i3s-converter/types.js.map +1 -0
- package/dist/esm/i3s-server/README.md +19 -0
- package/dist/esm/i3s-server/app.js +26 -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/controllers/slpk-controller.js +36 -0
- package/dist/esm/i3s-server/controllers/slpk-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/i3s-server/routes/slpk-router.js +33 -0
- package/dist/esm/i3s-server/routes/slpk-router.js.map +1 -0
- package/dist/esm/i3s-server/utils/create-scene-server.js +16 -0
- package/dist/esm/i3s-server/utils/create-scene-server.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/geometry-utils.js +8 -0
- package/dist/esm/lib/utils/geometry-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 +45 -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 +13 -0
- package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/batch-ids-extensions.js +138 -0
- package/dist/i3s-converter/helpers/coordinate-converter.d.ts +40 -0
- package/dist/i3s-converter/helpers/coordinate-converter.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/coordinate-converter.js +119 -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 +41 -35
- package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/geometry-converter.js +1179 -650
- package/dist/i3s-converter/helpers/gltf-attributes.d.ts +28 -0
- package/dist/i3s-converter/helpers/gltf-attributes.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/gltf-attributes.js +128 -0
- package/dist/i3s-converter/helpers/load-3d-tiles.d.ts +18 -0
- package/dist/i3s-converter/helpers/load-3d-tiles.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/load-3d-tiles.js +53 -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 +103 -0
- package/dist/i3s-converter/helpers/node-index-document.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/node-index-document.js +268 -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/helpers/preprocess-3d-tiles.d.ts +23 -0
- package/dist/i3s-converter/helpers/preprocess-3d-tiles.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/preprocess-3d-tiles.js +76 -0
- package/dist/i3s-converter/helpers/tileset-traversal.d.ts +25 -0
- package/dist/i3s-converter/helpers/tileset-traversal.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/tileset-traversal.js +29 -0
- 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 +891 -867
- 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 +163 -0
- package/dist/i3s-converter/types.d.ts.map +1 -0
- package/dist/i3s-converter/types.js +17 -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 +11 -10
- 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/controllers/slpk-controller.d.ts +3 -0
- package/dist/i3s-server/controllers/slpk-controller.d.ts.map +1 -0
- package/dist/i3s-server/controllers/slpk-controller.js +32 -0
- 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/i3s-server/routes/slpk-router.d.ts +3 -0
- package/dist/i3s-server/routes/slpk-router.d.ts.map +1 -0
- package/dist/i3s-server/routes/slpk-router.js +33 -0
- package/dist/i3s-server/utils/create-scene-server.d.ts +11 -0
- package/dist/i3s-server/utils/create-scene-server.d.ts.map +1 -0
- package/dist/i3s-server/utils/create-scene-server.js +14 -0
- 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 +134 -36
- package/dist/lib/utils/geometry-utils.d.ts +9 -0
- package/dist/lib/utils/geometry-utils.d.ts.map +1 -0
- package/dist/lib/utils/geometry-utils.js +18 -0
- package/dist/lib/utils/lod-conversion-utils.d.ts +23 -13
- 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 +34 -24
- package/src/3d-tiles-attributes-worker.ts +43 -0
- package/src/3d-tiles-converter/3d-tiles-converter.ts +131 -63
- package/src/3d-tiles-converter/helpers/{b3dm-converter.js → b3dm-converter.ts} +72 -53
- 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 +72 -0
- package/src/i3s-attributes-worker.ts +59 -0
- package/src/i3s-converter/helpers/batch-ids-extensions.ts +202 -0
- package/src/i3s-converter/helpers/coordinate-converter.ts +94 -33
- 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 +1667 -0
- package/src/i3s-converter/helpers/gltf-attributes.ts +163 -0
- package/src/i3s-converter/helpers/load-3d-tiles.ts +68 -0
- package/src/i3s-converter/helpers/node-debug.ts +146 -0
- package/src/i3s-converter/helpers/node-index-document.ts +335 -0
- package/src/i3s-converter/helpers/node-pages.ts +344 -0
- package/src/i3s-converter/helpers/preprocess-3d-tiles.ts +81 -0
- package/src/i3s-converter/helpers/tileset-traversal.ts +51 -0
- package/src/i3s-converter/i3s-converter.ts +650 -669
- 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 +185 -0
- package/src/i3s-server/README.md +19 -0
- package/src/i3s-server/app.js +8 -1
- package/src/i3s-server/controllers/slpk-controller.js +38 -0
- package/src/i3s-server/routes/slpk-router.js +33 -0
- package/src/i3s-server/utils/create-scene-server.js +15 -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 +140 -0
- package/src/lib/utils/geometry-utils.ts +14 -0
- package/src/lib/utils/{lod-conversion-utils.js → lod-conversion-utils.ts} +31 -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,214 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
13
|
+
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
14
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
16
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
17
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
18
|
+
var _queue = require("./queue");
|
|
19
|
+
var _process = _interopRequireDefault(require("process"));
|
|
20
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
21
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
22
|
+
var MEMORY_LIMIT = 4 * 1024 * 1024 * 1024;
|
|
23
|
+
var WriteQueue = function (_Queue) {
|
|
24
|
+
(0, _inherits2.default)(WriteQueue, _Queue);
|
|
25
|
+
var _super = _createSuper(WriteQueue);
|
|
26
|
+
function WriteQueue() {
|
|
27
|
+
var _this;
|
|
28
|
+
var listeningInterval = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 2000;
|
|
29
|
+
var writeConcurrency = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 400;
|
|
30
|
+
(0, _classCallCheck2.default)(this, WriteQueue);
|
|
31
|
+
_this = _super.call(this);
|
|
32
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "intervalId", void 0);
|
|
33
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "writePromise", null);
|
|
34
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "fileMap", {});
|
|
35
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "listeningInterval", void 0);
|
|
36
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "writeConcurrency", void 0);
|
|
37
|
+
_this.listeningInterval = listeningInterval;
|
|
38
|
+
_this.writeConcurrency = writeConcurrency;
|
|
39
|
+
return _this;
|
|
40
|
+
}
|
|
41
|
+
(0, _createClass2.default)(WriteQueue, [{
|
|
42
|
+
key: "enqueue",
|
|
43
|
+
value: function () {
|
|
44
|
+
var _enqueue = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(val) {
|
|
45
|
+
var writeImmediately,
|
|
46
|
+
_ref,
|
|
47
|
+
archiveKey,
|
|
48
|
+
writePromise,
|
|
49
|
+
result,
|
|
50
|
+
_args = arguments;
|
|
51
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
52
|
+
while (1) switch (_context.prev = _context.next) {
|
|
53
|
+
case 0:
|
|
54
|
+
writeImmediately = _args.length > 1 && _args[1] !== undefined ? _args[1] : false;
|
|
55
|
+
if (!writeImmediately) {
|
|
56
|
+
_context.next = 9;
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
_ref = val, archiveKey = _ref.archiveKey, writePromise = _ref.writePromise;
|
|
60
|
+
_context.next = 5;
|
|
61
|
+
return writePromise();
|
|
62
|
+
case 5:
|
|
63
|
+
result = _context.sent;
|
|
64
|
+
if (archiveKey && result) {
|
|
65
|
+
this.fileMap[archiveKey] = result;
|
|
66
|
+
}
|
|
67
|
+
_context.next = 13;
|
|
68
|
+
break;
|
|
69
|
+
case 9:
|
|
70
|
+
(0, _get2.default)((0, _getPrototypeOf2.default)(WriteQueue.prototype), "enqueue", this).call(this, val);
|
|
71
|
+
if (!(_process.default.memoryUsage().rss > MEMORY_LIMIT)) {
|
|
72
|
+
_context.next = 13;
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
_context.next = 13;
|
|
76
|
+
return this.startWrite();
|
|
77
|
+
case 13:
|
|
78
|
+
case "end":
|
|
79
|
+
return _context.stop();
|
|
80
|
+
}
|
|
81
|
+
}, _callee, this);
|
|
82
|
+
}));
|
|
83
|
+
function enqueue(_x) {
|
|
84
|
+
return _enqueue.apply(this, arguments);
|
|
85
|
+
}
|
|
86
|
+
return enqueue;
|
|
87
|
+
}()
|
|
88
|
+
}, {
|
|
89
|
+
key: "startListening",
|
|
90
|
+
value: function startListening() {
|
|
91
|
+
this.intervalId = setInterval(this.startWrite.bind(this), this.listeningInterval);
|
|
92
|
+
}
|
|
93
|
+
}, {
|
|
94
|
+
key: "stopListening",
|
|
95
|
+
value: function stopListening() {
|
|
96
|
+
if (this.intervalId) {
|
|
97
|
+
clearInterval(this.intervalId);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}, {
|
|
101
|
+
key: "startWrite",
|
|
102
|
+
value: function () {
|
|
103
|
+
var _startWrite = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2() {
|
|
104
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
105
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
106
|
+
case 0:
|
|
107
|
+
if (!this.writePromise) {
|
|
108
|
+
this.writePromise = this.doWrite();
|
|
109
|
+
}
|
|
110
|
+
_context2.next = 3;
|
|
111
|
+
return this.writePromise;
|
|
112
|
+
case 3:
|
|
113
|
+
this.writePromise = null;
|
|
114
|
+
case 4:
|
|
115
|
+
case "end":
|
|
116
|
+
return _context2.stop();
|
|
117
|
+
}
|
|
118
|
+
}, _callee2, this);
|
|
119
|
+
}));
|
|
120
|
+
function startWrite() {
|
|
121
|
+
return _startWrite.apply(this, arguments);
|
|
122
|
+
}
|
|
123
|
+
return startWrite;
|
|
124
|
+
}()
|
|
125
|
+
}, {
|
|
126
|
+
key: "finalize",
|
|
127
|
+
value: function () {
|
|
128
|
+
var _finalize = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3() {
|
|
129
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
130
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
131
|
+
case 0:
|
|
132
|
+
this.stopListening();
|
|
133
|
+
_context3.next = 3;
|
|
134
|
+
return this.startWrite();
|
|
135
|
+
case 3:
|
|
136
|
+
case "end":
|
|
137
|
+
return _context3.stop();
|
|
138
|
+
}
|
|
139
|
+
}, _callee3, this);
|
|
140
|
+
}));
|
|
141
|
+
function finalize() {
|
|
142
|
+
return _finalize.apply(this, arguments);
|
|
143
|
+
}
|
|
144
|
+
return finalize;
|
|
145
|
+
}()
|
|
146
|
+
}, {
|
|
147
|
+
key: "doWrite",
|
|
148
|
+
value: function () {
|
|
149
|
+
var _doWrite = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4() {
|
|
150
|
+
var promises, archiveKeys, i, item, _ref2, archiveKey, writePromise, promise, writeResults;
|
|
151
|
+
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
152
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
153
|
+
case 0:
|
|
154
|
+
if (!this.length) {
|
|
155
|
+
_context4.next = 21;
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
promises = [];
|
|
159
|
+
archiveKeys = [];
|
|
160
|
+
i = 0;
|
|
161
|
+
case 4:
|
|
162
|
+
if (!(i < this.writeConcurrency)) {
|
|
163
|
+
_context4.next = 15;
|
|
164
|
+
break;
|
|
165
|
+
}
|
|
166
|
+
item = this.dequeue();
|
|
167
|
+
if (item) {
|
|
168
|
+
_context4.next = 8;
|
|
169
|
+
break;
|
|
170
|
+
}
|
|
171
|
+
return _context4.abrupt("break", 15);
|
|
172
|
+
case 8:
|
|
173
|
+
_ref2 = item, archiveKey = _ref2.archiveKey, writePromise = _ref2.writePromise;
|
|
174
|
+
archiveKeys.push(archiveKey);
|
|
175
|
+
promise = writePromise();
|
|
176
|
+
promises.push(promise);
|
|
177
|
+
case 12:
|
|
178
|
+
i++;
|
|
179
|
+
_context4.next = 4;
|
|
180
|
+
break;
|
|
181
|
+
case 15:
|
|
182
|
+
_context4.next = 17;
|
|
183
|
+
return Promise.allSettled(promises);
|
|
184
|
+
case 17:
|
|
185
|
+
writeResults = _context4.sent;
|
|
186
|
+
this.updateFileMap(archiveKeys, writeResults);
|
|
187
|
+
_context4.next = 0;
|
|
188
|
+
break;
|
|
189
|
+
case 21:
|
|
190
|
+
case "end":
|
|
191
|
+
return _context4.stop();
|
|
192
|
+
}
|
|
193
|
+
}, _callee4, this);
|
|
194
|
+
}));
|
|
195
|
+
function doWrite() {
|
|
196
|
+
return _doWrite.apply(this, arguments);
|
|
197
|
+
}
|
|
198
|
+
return doWrite;
|
|
199
|
+
}()
|
|
200
|
+
}, {
|
|
201
|
+
key: "updateFileMap",
|
|
202
|
+
value: function updateFileMap(archiveKeys, writeResults) {
|
|
203
|
+
for (var i = 0; i < archiveKeys.length; i++) {
|
|
204
|
+
var archiveKey = archiveKeys[i];
|
|
205
|
+
if (archiveKey && 'value' in writeResults[i]) {
|
|
206
|
+
this.fileMap[archiveKey] = writeResults[i].value;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}]);
|
|
211
|
+
return WriteQueue;
|
|
212
|
+
}(_queue.Queue);
|
|
213
|
+
exports.default = WriteQueue;
|
|
214
|
+
//# sourceMappingURL=write-queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-queue.js","names":["_queue","require","_process","_interopRequireDefault","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","MEMORY_LIMIT","WriteQueue","_Queue","_inherits2","_super","_this","listeningInterval","length","undefined","writeConcurrency","_classCallCheck2","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","_enqueue","_asyncToGenerator2","_regenerator","mark","_callee","val","writeImmediately","_ref","archiveKey","writePromise","_args","wrap","_callee$","_context","prev","next","sent","fileMap","_get2","process","memoryUsage","rss","startWrite","stop","enqueue","_x","startListening","intervalId","setInterval","bind","stopListening","clearInterval","_startWrite","_callee2","_callee2$","_context2","doWrite","_finalize","_callee3","_callee3$","_context3","finalize","_doWrite","_callee4","promises","archiveKeys","i","item","_ref2","promise","writeResults","_callee4$","_context4","dequeue","abrupt","push","Promise","allSettled","updateFileMap","Queue","exports"],"sources":["../../../../src/lib/utils/write-queue.ts"],"sourcesContent":["import {Queue} from './queue';\nimport process from 'process';\n\n/** Memory limit size is based on testing */\nconst MEMORY_LIMIT = 4 * 1024 * 1024 * 1024; // 4GB\n\nexport type WriteQueueItem = {\n archiveKey?: string;\n /**\n * writePromise() returns a Promise that will be awaited in Promise.allSettled(promises);\n * Arguments for this call are specified in writeQueue.enqueue call like this:\n * await writeQueue.enqueue({\n * archiveKey: `nodePages/xxx.json.gz`,\n * writePromise: () => writeFileForSlpk(slpkPath, data, `xxx.json`)\n * });\n * Note, a function like writeFileForSlpk should NOT be called when initializing the object for enqueue().\n * If he function is called, the promise will be created\n * and the function will allocate resources (file descriptors) for file writing.\n * It will be done for ALL items in the queue, which is not supposed to happen.\n * That's why the function should be passed as\n * writePromise: () => writeFileForSlpk(slpkPath, content, `xxx.json`)\n * instead of\n * writePromise: writeFileForSlpk(slpkPath, content, `xxx.json`) // INCORRECT !\n */\n writePromise: () => Promise<string | null>;\n};\n\nexport default class WriteQueue<T extends WriteQueueItem> extends Queue<T> {\n private intervalId?: NodeJS.Timeout;\n public writePromise: Promise<void> | null = null;\n public fileMap: {[key: string]: string} = {};\n public listeningInterval: number;\n public writeConcurrency: number;\n\n constructor(listeningInterval: number = 2000, writeConcurrency: number = 400) {\n super();\n this.listeningInterval = listeningInterval;\n this.writeConcurrency = writeConcurrency;\n }\n\n async enqueue(val: T, writeImmediately: boolean = false) {\n if (writeImmediately) {\n const {archiveKey, writePromise} = val as WriteQueueItem;\n const result = await writePromise();\n if (archiveKey && result) {\n this.fileMap[archiveKey] = result;\n }\n } else {\n super.enqueue(val);\n /** https://nodejs.org/docs/latest-v14.x/api/process.html#process_process_memoryusage */\n if (process.memoryUsage().rss > MEMORY_LIMIT) {\n await this.startWrite();\n }\n }\n }\n\n startListening() {\n this.intervalId = setInterval(this.startWrite.bind(this), this.listeningInterval);\n }\n\n stopListening() {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n }\n }\n\n async startWrite(): Promise<void> {\n if (!this.writePromise) {\n this.writePromise = this.doWrite();\n }\n await this.writePromise;\n this.writePromise = null;\n }\n\n async finalize(): Promise<void> {\n this.stopListening();\n await this.startWrite();\n }\n\n private async doWrite(): Promise<void> {\n while (this.length) {\n const promises: Promise<string | null>[] = [];\n const archiveKeys: (string | undefined)[] = [];\n for (let i = 0; i < this.writeConcurrency; i++) {\n const item = this.dequeue();\n if (!item) {\n break;\n }\n const {archiveKey, writePromise} = item as WriteQueueItem;\n archiveKeys.push(archiveKey);\n const promise = writePromise();\n promises.push(promise);\n }\n const writeResults = await Promise.allSettled(promises);\n this.updateFileMap(archiveKeys, writeResults);\n }\n }\n\n private updateFileMap(\n archiveKeys: (string | undefined)[],\n writeResults: PromiseSettledResult<string | null>[]\n ) {\n for (let i = 0; i < archiveKeys.length; i++) {\n const archiveKey = archiveKeys[i];\n if (archiveKey && 'value' in writeResults[i]) {\n this.fileMap[archiveKey] = (writeResults[i] as PromiseFulfilledResult<string>).value;\n }\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.PGMLoader = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
+
var _geoid = require("@math.gl/geoid");
|
|
11
|
+
var VERSION = typeof "4.0.0-alpha.10" !== 'undefined' ? "4.0.0-alpha.10" : 'latest';
|
|
12
|
+
var PGMLoader = {
|
|
13
|
+
name: 'PGM - Netpbm grayscale image format',
|
|
14
|
+
id: 'pgm',
|
|
15
|
+
module: 'tile-converter',
|
|
16
|
+
version: VERSION,
|
|
17
|
+
mimeTypes: ['image/x-portable-graymap'],
|
|
18
|
+
parse: function () {
|
|
19
|
+
var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) {
|
|
20
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
21
|
+
while (1) switch (_context.prev = _context.next) {
|
|
22
|
+
case 0:
|
|
23
|
+
return _context.abrupt("return", (0, _geoid.parsePGM)(new Uint8Array(arrayBuffer), options));
|
|
24
|
+
case 1:
|
|
25
|
+
case "end":
|
|
26
|
+
return _context.stop();
|
|
27
|
+
}
|
|
28
|
+
}, _callee);
|
|
29
|
+
}));
|
|
30
|
+
function parse(_x, _x2) {
|
|
31
|
+
return _parse.apply(this, arguments);
|
|
32
|
+
}
|
|
33
|
+
return parse;
|
|
34
|
+
}(),
|
|
35
|
+
extensions: ['pgm'],
|
|
36
|
+
options: {
|
|
37
|
+
cubic: false
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
exports.PGMLoader = PGMLoader;
|
|
41
|
+
//# sourceMappingURL=pgm-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pgm-loader.js","names":["_geoid","require","VERSION","PGMLoader","name","id","module","version","mimeTypes","parse","_parse","_asyncToGenerator2","default","_regenerator","mark","_callee","arrayBuffer","options","wrap","_callee$","_context","prev","next","abrupt","parsePGM","Uint8Array","stop","_x","_x2","apply","arguments","extensions","cubic","exports"],"sources":["../../src/pgm-loader.ts"],"sourcesContent":["import type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {parsePGM} from '@math.gl/geoid';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n/**\n * Loader for PGM - Netpbm grayscale image format\n */\nexport const PGMLoader: LoaderWithParser = {\n name: 'PGM - Netpbm grayscale image format',\n id: 'pgm',\n module: 'tile-converter',\n version: VERSION,\n mimeTypes: ['image/x-portable-graymap'],\n // @ts-expect-error LoaderOptions does not have cubic parameter\n parse: async (arrayBuffer, options) => parsePGM(new Uint8Array(arrayBuffer), options),\n extensions: ['pgm'],\n options: {\n // TODO - use pgm namespace\n cubic: false\n }\n};\n"],"mappings":";;;;;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAIA,IAAMC,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,QAAQ;AAKpE,IAAMC,SAA2B,GAAG;EACzCC,IAAI,EAAE,qCAAqC;EAC3CC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,gBAAgB;EACxBC,OAAO,EAAEL,OAAO;EAChBM,SAAS,EAAE,CAAC,0BAA0B,CAAC;EAEvCC,KAAK;IAAA,IAAAC,MAAA,OAAAC,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAE,SAAAC,QAAOC,WAAW,EAAEC,OAAO;MAAA,OAAAJ,YAAA,CAAAD,OAAA,CAAAM,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAA,OAAAF,QAAA,CAAAG,MAAA,WAAK,IAAAC,eAAQ,EAAC,IAAIC,UAAU,CAACT,WAAW,CAAC,EAAEC,OAAO,CAAC;UAAA;UAAA;YAAA,OAAAG,QAAA,CAAAM,IAAA;QAAA;MAAA,GAAAX,OAAA;IAAA;IAAA,SAAAN,MAAAkB,EAAA,EAAAC,GAAA;MAAA,OAAAlB,MAAA,CAAAmB,KAAA,OAAAC,SAAA;IAAA;IAAA,OAAArB,KAAA;EAAA;EACrFsB,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBd,OAAO,EAAE;IAEPe,KAAK,EAAE;EACT;AACF,CAAC;AAACC,OAAA,CAAA9B,SAAA,GAAAA,SAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
+
var _workerUtils = require("@loaders.gl/worker-utils");
|
|
7
|
+
var _b3dmConverter = _interopRequireDefault(require("../3d-tiles-converter/helpers/b3dm-converter"));
|
|
8
|
+
var b3dmConverter = new _b3dmConverter.default();
|
|
9
|
+
(0, _workerUtils.createWorker)(function () {
|
|
10
|
+
var _ref = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(data) {
|
|
11
|
+
var options,
|
|
12
|
+
_args = arguments;
|
|
13
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
14
|
+
while (1) switch (_context.prev = _context.next) {
|
|
15
|
+
case 0:
|
|
16
|
+
options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
|
|
17
|
+
return _context.abrupt("return", b3dmConverter.convert(data, options.featureAttributes));
|
|
18
|
+
case 2:
|
|
19
|
+
case "end":
|
|
20
|
+
return _context.stop();
|
|
21
|
+
}
|
|
22
|
+
}, _callee);
|
|
23
|
+
}));
|
|
24
|
+
return function (_x) {
|
|
25
|
+
return _ref.apply(this, arguments);
|
|
26
|
+
};
|
|
27
|
+
}());
|
|
28
|
+
//# sourceMappingURL=3d-tiles-attributes-worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"3d-tiles-attributes-worker.js","names":["_workerUtils","require","_b3dmConverter","_interopRequireDefault","b3dmConverter","B3dmConverter","createWorker","_ref","_asyncToGenerator2","default","_regenerator","mark","_callee","data","options","_args","arguments","wrap","_callee$","_context","prev","next","length","undefined","abrupt","convert","featureAttributes","stop","_x","apply"],"sources":["../../../src/workers/3d-tiles-attributes-worker.ts"],"sourcesContent":["import {createWorker} from '@loaders.gl/worker-utils';\nimport B3dmConverter from '../3d-tiles-converter/helpers/b3dm-converter';\n\nconst b3dmConverter = new B3dmConverter();\n\ncreateWorker(async (data, options = {}) => b3dmConverter.convert(data, options.featureAttributes));\n"],"mappings":";;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAMG,aAAa,GAAG,IAAIC,sBAAa,CAAC,CAAC;AAEzC,IAAAC,yBAAY;EAAA,IAAAC,IAAA,OAAAC,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAC,SAAAC,QAAOC,IAAI;IAAA,IAAAC,OAAA;MAAAC,KAAA,GAAAC,SAAA;IAAA,OAAAN,YAAA,CAAAD,OAAA,CAAAQ,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAEP,OAAO,GAAAC,KAAA,CAAAO,MAAA,QAAAP,KAAA,QAAAQ,SAAA,GAAAR,KAAA,MAAG,CAAC,CAAC;UAAA,OAAAI,QAAA,CAAAK,MAAA,WAAKpB,aAAa,CAACqB,OAAO,CAACZ,IAAI,EAAEC,OAAO,CAACY,iBAAiB,CAAC;QAAA;QAAA;UAAA,OAAAP,QAAA,CAAAQ,IAAA;MAAA;IAAA,GAAAf,OAAA;EAAA;EAAA,iBAAAgB,EAAA;IAAA,OAAArB,IAAA,CAAAsB,KAAA,OAAAb,SAAA;EAAA;AAAA,IAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
+
var _workerUtils = require("@loaders.gl/worker-utils");
|
|
7
|
+
var _geometryConverter = require("../i3s-converter/helpers/geometry-converter");
|
|
8
|
+
(0, _workerUtils.createWorker)(function () {
|
|
9
|
+
var _ref = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(data) {
|
|
10
|
+
var options,
|
|
11
|
+
_args = arguments;
|
|
12
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
13
|
+
while (1) switch (_context.prev = _context.next) {
|
|
14
|
+
case 0:
|
|
15
|
+
options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
|
|
16
|
+
_context.next = 3;
|
|
17
|
+
return (0, _geometryConverter.convertAttributes)(data, options.materialAndTextureList, options.useCartesianPositions);
|
|
18
|
+
case 3:
|
|
19
|
+
return _context.abrupt("return", _context.sent);
|
|
20
|
+
case 4:
|
|
21
|
+
case "end":
|
|
22
|
+
return _context.stop();
|
|
23
|
+
}
|
|
24
|
+
}, _callee);
|
|
25
|
+
}));
|
|
26
|
+
return function (_x) {
|
|
27
|
+
return _ref.apply(this, arguments);
|
|
28
|
+
};
|
|
29
|
+
}());
|
|
30
|
+
//# sourceMappingURL=i3s-attributes-worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i3s-attributes-worker.js","names":["_workerUtils","require","_geometryConverter","createWorker","_ref","_asyncToGenerator2","default","_regenerator","mark","_callee","data","options","_args","arguments","wrap","_callee$","_context","prev","next","length","undefined","convertAttributes","materialAndTextureList","useCartesianPositions","abrupt","sent","stop","_x","apply"],"sources":["../../../src/workers/i3s-attributes-worker.ts"],"sourcesContent":["import {createWorker} from '@loaders.gl/worker-utils';\nimport {convertAttributes} from '../i3s-converter/helpers/geometry-converter';\n\ncreateWorker(\n async (data, options = {}) =>\n await convertAttributes(data, options.materialAndTextureList, options.useCartesianPositions)\n);\n"],"mappings":";;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AAEA,IAAAE,yBAAY;EAAA,IAAAC,IAAA,OAAAC,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CACV,SAAAC,QAAOC,IAAI;IAAA,IAAAC,OAAA;MAAAC,KAAA,GAAAC,SAAA;IAAA,OAAAN,YAAA,CAAAD,OAAA,CAAAQ,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAEP,OAAO,GAAAC,KAAA,CAAAO,MAAA,QAAAP,KAAA,QAAAQ,SAAA,GAAAR,KAAA,MAAG,CAAC,CAAC;UAAAI,QAAA,CAAAE,IAAA;UAAA,OACjB,IAAAG,oCAAiB,EAACX,IAAI,EAAEC,OAAO,CAACW,sBAAsB,EAAEX,OAAO,CAACY,qBAAqB,CAAC;QAAA;UAAA,OAAAP,QAAA,CAAAQ,MAAA,WAAAR,QAAA,CAAAS,IAAA;QAAA;QAAA;UAAA,OAAAT,QAAA,CAAAU,IAAA;MAAA;IAAA,GAAAjB,OAAA;EAAA;EAAA,iBAAAkB,EAAA;IAAA,OAAAvB,IAAA,CAAAwB,KAAA,OAAAf,SAAA;EAAA;AAAA,GAChG,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { processOnWorker } from '@loaders.gl/worker-utils';
|
|
2
|
+
const VERSION = typeof "4.0.0-alpha.10" !== 'undefined' ? "4.0.0-alpha.10" : 'latest';
|
|
3
|
+
export const Tile3dAttributesWorker = {
|
|
4
|
+
id: '3d-tiles-attributes',
|
|
5
|
+
name: '3DTiles Attributes Worker',
|
|
6
|
+
module: 'tile-converter',
|
|
7
|
+
version: VERSION,
|
|
8
|
+
options: {
|
|
9
|
+
featureAttributes: null
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
export function transform3DTilesAttributesOnWorker(i3sAttributesData, options) {
|
|
13
|
+
return processOnWorker(Tile3dAttributesWorker, i3sAttributesData, options);
|
|
14
|
+
}
|
|
15
|
+
export const _typecheckI3SAttributesWorker = Tile3dAttributesWorker;
|
|
16
|
+
//# sourceMappingURL=3d-tiles-attributes-worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"3d-tiles-attributes-worker.js","names":["processOnWorker","VERSION","Tile3dAttributesWorker","id","name","module","version","options","featureAttributes","transform3DTilesAttributesOnWorker","i3sAttributesData","_typecheckI3SAttributesWorker"],"sources":["../../src/3d-tiles-attributes-worker.ts"],"sourcesContent":["import type {WorkerObject} from '@loaders.gl/worker-utils';\nimport type {FeatureAttribute} from '@loaders.gl/i3s';\n\nimport {processOnWorker} from '@loaders.gl/worker-utils';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type Tile3DAttributesWorkerOptions = {\n featureAttributes: FeatureAttribute | null;\n source: string;\n};\n\nexport type I3SAttributesData = {\n tileContent: any;\n textureFormat: string;\n};\n\n/**\n * I3S Attributes Worker to handle B3DM object\n */\nexport const Tile3dAttributesWorker = {\n id: '3d-tiles-attributes',\n name: '3DTiles Attributes Worker',\n module: 'tile-converter',\n version: VERSION,\n options: {\n featureAttributes: null\n }\n};\n\n/**\n * Performs I3S attributes transformation\n */\nexport function transform3DTilesAttributesOnWorker(\n i3sAttributesData: I3SAttributesData,\n options: Tile3DAttributesWorkerOptions\n): Promise<ArrayBuffer> {\n return processOnWorker(Tile3dAttributesWorker, i3sAttributesData, options);\n}\n\nexport const _typecheckI3SAttributesWorker: WorkerObject = Tile3dAttributesWorker;\n"],"mappings":"AAGA,SAAQA,eAAe,QAAO,0BAA0B;AAIxD,MAAMC,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,QAAQ;AAe3E,OAAO,MAAMC,sBAAsB,GAAG;EACpCC,EAAE,EAAE,qBAAqB;EACzBC,IAAI,EAAE,2BAA2B;EACjCC,MAAM,EAAE,gBAAgB;EACxBC,OAAO,EAAEL,OAAO;EAChBM,OAAO,EAAE;IACPC,iBAAiB,EAAE;EACrB;AACF,CAAC;AAKD,OAAO,SAASC,kCAAkCA,CAChDC,iBAAoC,EACpCH,OAAsC,EAChB;EACtB,OAAOP,eAAe,CAACE,sBAAsB,EAAEQ,iBAAiB,EAAEH,OAAO,CAAC;AAC5E;AAEA,OAAO,MAAMI,6BAA2C,GAAGT,sBAAsB"}
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
import { join } from 'path';
|
|
3
|
+
import process from 'process';
|
|
4
|
+
import transform from 'json-map-transform';
|
|
5
|
+
import { fetchFile, getLoaderOptions, load, isBrowser } from '@loaders.gl/core';
|
|
6
|
+
import { I3SLoader, I3SAttributeLoader, COORDINATE_SYSTEM } from '@loaders.gl/i3s';
|
|
7
|
+
import { Tileset3D, Tile3D } from '@loaders.gl/tiles';
|
|
8
|
+
import { PGMLoader } from '../pgm-loader';
|
|
9
|
+
import { i3sObbTo3dTilesObb } from './helpers/i3s-obb-to-3d-tiles-obb';
|
|
10
|
+
import { convertScreenThresholdToGeometricError } from '../lib/utils/lod-conversion-utils';
|
|
11
|
+
import { writeFile, removeDir } from '../lib/utils/file-utils';
|
|
12
|
+
import { calculateFilesSize, timeConverter } from '../lib/utils/statistic-utills';
|
|
13
|
+
import { TILESET as tilesetTemplate } from './json-templates/tileset';
|
|
14
|
+
import { createObbFromMbs } from '../i3s-converter/helpers/coordinate-converter';
|
|
15
|
+
import { Tile3dAttributesWorker, transform3DTilesAttributesOnWorker } from '../3d-tiles-attributes-worker';
|
|
16
|
+
import { getWorkerURL, WorkerFarm } from '@loaders.gl/worker-utils';
|
|
17
|
+
import { BROWSER_ERROR_MESSAGE } from '../constants';
|
|
18
|
+
const I3S = 'I3S';
|
|
19
|
+
export default class Tiles3DConverter {
|
|
20
|
+
constructor() {
|
|
21
|
+
_defineProperty(this, "options", void 0);
|
|
22
|
+
_defineProperty(this, "tilesetPath", void 0);
|
|
23
|
+
_defineProperty(this, "vertexCounter", void 0);
|
|
24
|
+
_defineProperty(this, "conversionStartTime", void 0);
|
|
25
|
+
_defineProperty(this, "geoidHeightModel", void 0);
|
|
26
|
+
_defineProperty(this, "sourceTileset", void 0);
|
|
27
|
+
_defineProperty(this, "attributeStorageInfo", void 0);
|
|
28
|
+
_defineProperty(this, "workerSource", {});
|
|
29
|
+
this.options = {};
|
|
30
|
+
this.tilesetPath = '';
|
|
31
|
+
this.vertexCounter = 0;
|
|
32
|
+
this.conversionStartTime = [0, 0];
|
|
33
|
+
this.geoidHeightModel = null;
|
|
34
|
+
this.sourceTileset = null;
|
|
35
|
+
this.attributeStorageInfo = null;
|
|
36
|
+
this.workerSource = {};
|
|
37
|
+
}
|
|
38
|
+
async convert(options) {
|
|
39
|
+
if (isBrowser) {
|
|
40
|
+
console.log(BROWSER_ERROR_MESSAGE);
|
|
41
|
+
return BROWSER_ERROR_MESSAGE;
|
|
42
|
+
}
|
|
43
|
+
const {
|
|
44
|
+
inputUrl,
|
|
45
|
+
outputPath,
|
|
46
|
+
tilesetName,
|
|
47
|
+
maxDepth,
|
|
48
|
+
egmFilePath
|
|
49
|
+
} = options;
|
|
50
|
+
this.conversionStartTime = process.hrtime();
|
|
51
|
+
this.options = {
|
|
52
|
+
maxDepth
|
|
53
|
+
};
|
|
54
|
+
console.log('Loading egm file...');
|
|
55
|
+
this.geoidHeightModel = await load(egmFilePath, PGMLoader);
|
|
56
|
+
console.log('Loading egm file completed!');
|
|
57
|
+
await this.loadWorkers();
|
|
58
|
+
const sourceTilesetJson = await load(inputUrl, I3SLoader, {});
|
|
59
|
+
this.sourceTileset = new Tileset3D(sourceTilesetJson, {
|
|
60
|
+
loadOptions: {
|
|
61
|
+
_nodeWorkers: true,
|
|
62
|
+
reuseWorkers: true,
|
|
63
|
+
i3s: {
|
|
64
|
+
coordinateSystem: COORDINATE_SYSTEM.LNGLAT_OFFSETS,
|
|
65
|
+
decodeTextures: false
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
await this.sourceTileset.tilesetInitializationPromise;
|
|
70
|
+
const rootNode = this.sourceTileset.root;
|
|
71
|
+
if (!rootNode.header.obb) {
|
|
72
|
+
rootNode.header.obb = createObbFromMbs(rootNode.header.mbs);
|
|
73
|
+
}
|
|
74
|
+
this.tilesetPath = join("".concat(outputPath), "".concat(tilesetName));
|
|
75
|
+
this.attributeStorageInfo = sourceTilesetJson.attributeStorageInfo;
|
|
76
|
+
try {
|
|
77
|
+
await removeDir(this.tilesetPath);
|
|
78
|
+
} catch (e) {}
|
|
79
|
+
const rootTile = {
|
|
80
|
+
boundingVolume: {
|
|
81
|
+
box: i3sObbTo3dTilesObb(rootNode.header.obb, this.geoidHeightModel)
|
|
82
|
+
},
|
|
83
|
+
geometricError: convertScreenThresholdToGeometricError(rootNode),
|
|
84
|
+
children: []
|
|
85
|
+
};
|
|
86
|
+
await this._addChildren(rootNode, rootTile, 1);
|
|
87
|
+
const tileset = transform({
|
|
88
|
+
root: rootTile
|
|
89
|
+
}, tilesetTemplate());
|
|
90
|
+
await writeFile(this.tilesetPath, JSON.stringify(tileset), 'tileset.json');
|
|
91
|
+
this._finishConversion({
|
|
92
|
+
slpk: false,
|
|
93
|
+
outputPath,
|
|
94
|
+
tilesetName
|
|
95
|
+
});
|
|
96
|
+
const workerFarm = WorkerFarm.getWorkerFarm({});
|
|
97
|
+
workerFarm.destroy();
|
|
98
|
+
}
|
|
99
|
+
async convertChildNode(parentSourceNode, parentNode, level, childNodeInfo) {
|
|
100
|
+
const sourceChild = await this._loadChildNode(parentSourceNode, childNodeInfo);
|
|
101
|
+
parentSourceNode.children.push(sourceChild);
|
|
102
|
+
if (sourceChild.contentUrl) {
|
|
103
|
+
var _sourceChild$header;
|
|
104
|
+
await this.sourceTileset._loadTile(sourceChild);
|
|
105
|
+
this.vertexCounter += sourceChild.content.vertexCount;
|
|
106
|
+
let featureAttributes = null;
|
|
107
|
+
if (this.attributeStorageInfo) {
|
|
108
|
+
featureAttributes = await this._loadChildAttributes(sourceChild, this.attributeStorageInfo);
|
|
109
|
+
}
|
|
110
|
+
if (!sourceChild.header.obb) {
|
|
111
|
+
sourceChild.header.obb = createObbFromMbs(sourceChild.header.mbs);
|
|
112
|
+
}
|
|
113
|
+
const boundingVolume = {
|
|
114
|
+
box: i3sObbTo3dTilesObb(sourceChild.header.obb, this.geoidHeightModel)
|
|
115
|
+
};
|
|
116
|
+
const child = {
|
|
117
|
+
boundingVolume,
|
|
118
|
+
geometricError: convertScreenThresholdToGeometricError(sourceChild),
|
|
119
|
+
children: []
|
|
120
|
+
};
|
|
121
|
+
const i3sAttributesData = {
|
|
122
|
+
tileContent: sourceChild.content,
|
|
123
|
+
textureFormat: sourceChild === null || sourceChild === void 0 ? void 0 : (_sourceChild$header = sourceChild.header) === null || _sourceChild$header === void 0 ? void 0 : _sourceChild$header.textureFormat
|
|
124
|
+
};
|
|
125
|
+
const b3dm = await transform3DTilesAttributesOnWorker(i3sAttributesData, {
|
|
126
|
+
source: this.workerSource.tile3dWorkerSource,
|
|
127
|
+
featureAttributes
|
|
128
|
+
});
|
|
129
|
+
child.content = {
|
|
130
|
+
uri: "".concat(sourceChild.id, ".b3dm"),
|
|
131
|
+
boundingVolume
|
|
132
|
+
};
|
|
133
|
+
await writeFile(this.tilesetPath, new Uint8Array(b3dm), "".concat(sourceChild.id, ".b3dm"));
|
|
134
|
+
parentNode.children.push(child);
|
|
135
|
+
sourceChild.unloadContent();
|
|
136
|
+
await this._addChildren(sourceChild, child, level + 1);
|
|
137
|
+
} else {
|
|
138
|
+
await this._addChildren(sourceChild, parentNode, level + 1);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
async _addChildren(parentSourceNode, parentNode, level) {
|
|
142
|
+
if (this.options.maxDepth && level > this.options.maxDepth) {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
const promises = [];
|
|
146
|
+
for (const childNodeInfo of parentSourceNode.header.children || []) {
|
|
147
|
+
promises.push(this.convertChildNode(parentSourceNode, parentNode, level, childNodeInfo));
|
|
148
|
+
}
|
|
149
|
+
await Promise.all(promises);
|
|
150
|
+
}
|
|
151
|
+
async _loadChildNode(parentNode, childNodeInfo) {
|
|
152
|
+
let header;
|
|
153
|
+
if (this.sourceTileset.tileset.nodePages) {
|
|
154
|
+
console.log("Node conversion: ".concat(childNodeInfo.id));
|
|
155
|
+
header = await this.sourceTileset.tileset.nodePagesTile.formTileFromNodePages(childNodeInfo.id);
|
|
156
|
+
} else {
|
|
157
|
+
const {
|
|
158
|
+
loader
|
|
159
|
+
} = this.sourceTileset;
|
|
160
|
+
const nodeUrl = this._relativeUrlToFullUrl(parentNode.url, childNodeInfo.href);
|
|
161
|
+
const options = {
|
|
162
|
+
i3s: {
|
|
163
|
+
...this.sourceTileset.loadOptions,
|
|
164
|
+
isTileHeader: true,
|
|
165
|
+
loadContent: false
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
console.log("Node conversion: ".concat(nodeUrl));
|
|
169
|
+
header = await load(nodeUrl, loader, options);
|
|
170
|
+
}
|
|
171
|
+
return new Tile3D(this.sourceTileset, header, parentNode);
|
|
172
|
+
}
|
|
173
|
+
_relativeUrlToFullUrl(baseUrl, relativeUrl) {
|
|
174
|
+
let resultArray = baseUrl.split('/');
|
|
175
|
+
const relativeUrlArray = relativeUrl.split('/');
|
|
176
|
+
for (const folder of relativeUrlArray) {
|
|
177
|
+
switch (folder) {
|
|
178
|
+
case '.':
|
|
179
|
+
continue;
|
|
180
|
+
case '..':
|
|
181
|
+
resultArray = resultArray.slice(0, -1);
|
|
182
|
+
break;
|
|
183
|
+
default:
|
|
184
|
+
resultArray.push(folder);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return resultArray.join('/');
|
|
188
|
+
}
|
|
189
|
+
async _loadChildAttributes(sourceChild, attributeStorageInfo) {
|
|
190
|
+
const promises = [];
|
|
191
|
+
const {
|
|
192
|
+
attributeUrls
|
|
193
|
+
} = sourceChild.header;
|
|
194
|
+
for (let index = 0; index < attributeUrls.length; index++) {
|
|
195
|
+
const inputUrl = attributeUrls[index];
|
|
196
|
+
const attribute = attributeStorageInfo[index];
|
|
197
|
+
const options = {
|
|
198
|
+
attributeName: attribute.name,
|
|
199
|
+
attributeType: this._getAttributeType(attribute)
|
|
200
|
+
};
|
|
201
|
+
promises.push(load(inputUrl, I3SAttributeLoader, options));
|
|
202
|
+
}
|
|
203
|
+
const attributesList = await Promise.all(promises);
|
|
204
|
+
this._replaceNestedArrays(attributesList);
|
|
205
|
+
return Object.assign({}, ...attributesList);
|
|
206
|
+
}
|
|
207
|
+
_getAttributeType(attribute) {
|
|
208
|
+
if (attribute.attributeValues) {
|
|
209
|
+
return attribute.attributeValues.valueType;
|
|
210
|
+
} else if (attribute.objectIds) {
|
|
211
|
+
return 'Oid32';
|
|
212
|
+
}
|
|
213
|
+
return '';
|
|
214
|
+
}
|
|
215
|
+
_replaceNestedArrays(attributesList) {
|
|
216
|
+
for (let index = 0; index < attributesList.length; index++) {
|
|
217
|
+
const attributeObject = attributesList[index];
|
|
218
|
+
for (const key in attributeObject) {
|
|
219
|
+
attributeObject[key] = Array.from(attributeObject[key]);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
async _finishConversion(params) {
|
|
224
|
+
const filesSize = await calculateFilesSize(params);
|
|
225
|
+
const diff = process.hrtime(this.conversionStartTime);
|
|
226
|
+
const conversionTime = timeConverter(diff);
|
|
227
|
+
console.log("------------------------------------------------");
|
|
228
|
+
console.log("Finish conversion of ".concat(I3S));
|
|
229
|
+
console.log("Total conversion time: ".concat(conversionTime));
|
|
230
|
+
console.log("Vertex count: ", this.vertexCounter);
|
|
231
|
+
console.log("File(s) size: ", filesSize, ' bytes');
|
|
232
|
+
console.log("------------------------------------------------");
|
|
233
|
+
}
|
|
234
|
+
async loadWorkers() {
|
|
235
|
+
console.log("Loading workers source...");
|
|
236
|
+
const tile3dAttributesWorkerUrl = getWorkerURL(Tile3dAttributesWorker, {
|
|
237
|
+
...getLoaderOptions()
|
|
238
|
+
});
|
|
239
|
+
const sourceResponse = await fetchFile(tile3dAttributesWorkerUrl);
|
|
240
|
+
const source = await sourceResponse.text();
|
|
241
|
+
this.workerSource.tile3dWorkerSource = source;
|
|
242
|
+
console.log("Loading workers source completed!");
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
//# sourceMappingURL=3d-tiles-converter.js.map
|