@loaders.gl/tile-converter 4.0.0-alpha.1 → 4.0.0-alpha.11
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/bin/slpk-extractor.js +4 -0
- 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 +214 -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 +244 -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/cli-utils.js +57 -0
- package/dist/es5/lib/utils/cli-utils.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/slpk-extractor/helpers/file-handle-provider.js +181 -0
- package/dist/es5/slpk-extractor/helpers/file-handle-provider.js.map +1 -0
- package/dist/es5/slpk-extractor/slpk-extractor.js +172 -0
- package/dist/es5/slpk-extractor/slpk-extractor.js.map +1 -0
- package/dist/es5/slpk-extractor-cli.js +117 -0
- package/dist/es5/slpk-extractor-cli.js.map +1 -0
- package/dist/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 +187 -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/cli-utils.js +47 -0
- package/dist/esm/lib/utils/cli-utils.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/slpk-extractor/helpers/file-handle-provider.js +43 -0
- package/dist/esm/slpk-extractor/helpers/file-handle-provider.js.map +1 -0
- package/dist/esm/slpk-extractor/slpk-extractor.js +63 -0
- package/dist/esm/slpk-extractor/slpk-extractor.js.map +1 -0
- package/dist/esm/slpk-extractor-cli.js +74 -0
- package/dist/esm/slpk-extractor-cli.js.map +1 -0
- package/dist/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 +39 -0
- package/dist/i3s-converter/helpers/coordinate-converter.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/coordinate-converter.js +118 -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 +129 -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 +22 -0
- package/dist/i3s-converter/helpers/preprocess-3d-tiles.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/preprocess-3d-tiles.js +75 -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/cli-utils.d.ts +34 -0
- package/dist/lib/utils/cli-utils.d.ts.map +1 -0
- package/dist/lib/utils/cli-utils.js +82 -0
- 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/slpk-extractor/helpers/file-handle-provider.d.ts +48 -0
- package/dist/slpk-extractor/helpers/file-handle-provider.d.ts.map +1 -0
- package/dist/slpk-extractor/helpers/file-handle-provider.js +71 -0
- package/dist/slpk-extractor/slpk-extractor.d.ts +23 -0
- package/dist/slpk-extractor/slpk-extractor.d.ts.map +1 -0
- package/dist/slpk-extractor/slpk-extractor.js +78 -0
- package/dist/slpk-extractor-cli.d.ts +17 -0
- package/dist/slpk-extractor-cli.d.ts.map +1 -0
- package/dist/slpk-extractor-cli.js +102 -0
- package/dist/slpk-extractor.min.js +189 -0
- 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 +36 -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 +305 -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 -34
- 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 +162 -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 +79 -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/cli-utils.ts +78 -0
- 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/slpk-extractor/helpers/file-handle-provider.ts +91 -0
- package/src/slpk-extractor/slpk-extractor.ts +102 -0
- package/src/slpk-extractor-cli.ts +128 -0
- 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,28 @@
|
|
|
1
|
+
import type { Tiles3DTileContent } from '@loaders.gl/3d-tiles';
|
|
2
|
+
import type { B3DMAttributesData } from '../../i3s-attributes-worker';
|
|
3
|
+
import { Matrix4, Vector3 } from '@math.gl/core';
|
|
4
|
+
import { BoundingSphere, OrientedBoundingBox } from '@math.gl/culling';
|
|
5
|
+
/**
|
|
6
|
+
* Prepare attributes for conversion to avoid binary data breaking in worker thread.
|
|
7
|
+
* @param tileContent - 3DTiles tile content
|
|
8
|
+
* @param tileTransform - transformation matrix of the tile, calculated recursively multiplying
|
|
9
|
+
* transform of all parent tiles and transform of the current tile
|
|
10
|
+
* @param boundingVolume - initialized bounding volume of the source tile
|
|
11
|
+
* @returns 3DTiles content data, prepared for conversion
|
|
12
|
+
*/
|
|
13
|
+
export declare function prepareDataForAttributesConversion(tileContent: Tiles3DTileContent, tileTransform: Matrix4, boundingVolume: OrientedBoundingBox | BoundingSphere): B3DMAttributesData;
|
|
14
|
+
/**
|
|
15
|
+
* Calculate transformation properties to transform vertex attributes (POSITION, NORMAL, etc.)
|
|
16
|
+
* from METER_OFFSET coorditantes to LNGLAT_OFFSET coordinates
|
|
17
|
+
* @param tileContent - 3DTiles tile content
|
|
18
|
+
* @param tileTransform - transformation matrix of the tile, calculated recursively multiplying
|
|
19
|
+
* transform of all parent tiles and transform of the current tile
|
|
20
|
+
* @param boundingVolume - initialized bounding volume of the source tile
|
|
21
|
+
* @returns modelMatrix - transformation matrix to transform coordinates to cartographic coordinates
|
|
22
|
+
* cartographicOrigin - tile origin coordinates to calculate offsets
|
|
23
|
+
*/
|
|
24
|
+
export declare function calculateTransformProps(tileContent: Tiles3DTileContent, tileTransform: Matrix4, boundingVolume: OrientedBoundingBox | BoundingSphere): {
|
|
25
|
+
modelMatrix: Matrix4;
|
|
26
|
+
cartographicOrigin: Vector3;
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=gltf-attributes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gltf-attributes.d.ts","sourceRoot":"","sources":["../../../src/i3s-converter/helpers/gltf-attributes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAE7D,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAC,OAAO,EAAc,OAAO,EAAC,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAGrE;;;;;;;GAOG;AACH,wBAAgB,kCAAkC,CAChD,WAAW,EAAE,kBAAkB,EAC/B,aAAa,EAAE,OAAO,EACtB,cAAc,EAAE,mBAAmB,GAAG,cAAc,GACnD,kBAAkB,CAyCpB;AAqBD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,kBAAkB,EAC/B,aAAa,EAAE,OAAO,EACtB,cAAc,EAAE,mBAAmB,GAAG,cAAc,GACnD;IAAC,WAAW,EAAE,OAAO,CAAC;IAAC,kBAAkB,EAAE,OAAO,CAAA;CAAC,CAkCrD"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.calculateTransformProps = exports.prepareDataForAttributesConversion = void 0;
|
|
4
|
+
const core_1 = require("@math.gl/core");
|
|
5
|
+
const geospatial_1 = require("@math.gl/geospatial");
|
|
6
|
+
/**
|
|
7
|
+
* Prepare attributes for conversion to avoid binary data breaking in worker thread.
|
|
8
|
+
* @param tileContent - 3DTiles tile content
|
|
9
|
+
* @param tileTransform - transformation matrix of the tile, calculated recursively multiplying
|
|
10
|
+
* transform of all parent tiles and transform of the current tile
|
|
11
|
+
* @param boundingVolume - initialized bounding volume of the source tile
|
|
12
|
+
* @returns 3DTiles content data, prepared for conversion
|
|
13
|
+
*/
|
|
14
|
+
function prepareDataForAttributesConversion(tileContent, tileTransform, boundingVolume) {
|
|
15
|
+
let nodes = tileContent.gltf?.scene?.nodes ||
|
|
16
|
+
tileContent.gltf?.scenes?.[0]?.nodes ||
|
|
17
|
+
tileContent.gltf?.nodes ||
|
|
18
|
+
[];
|
|
19
|
+
const images = tileContent.gltf?.images?.map((imageObject) => {
|
|
20
|
+
// Need data only for uncompressed images because we can't get batchIds from compressed textures.
|
|
21
|
+
if (imageObject?.image?.compressed) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
const data = imageObject?.image?.data;
|
|
26
|
+
const dataCopy = new Uint8Array(data.length);
|
|
27
|
+
dataCopy.set(data);
|
|
28
|
+
return {
|
|
29
|
+
data: dataCopy,
|
|
30
|
+
compressed: false,
|
|
31
|
+
height: imageObject.image.height,
|
|
32
|
+
width: imageObject.image.width,
|
|
33
|
+
components: imageObject.image.components,
|
|
34
|
+
mimeType: imageObject.mimeType
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
}) || [];
|
|
38
|
+
prepareNodes(nodes);
|
|
39
|
+
const { cartographicOrigin, modelMatrix: cartesianModelMatrix } = calculateTransformProps(tileContent, tileTransform, boundingVolume);
|
|
40
|
+
return {
|
|
41
|
+
nodes,
|
|
42
|
+
images,
|
|
43
|
+
cartographicOrigin,
|
|
44
|
+
cartesianModelMatrix
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
exports.prepareDataForAttributesConversion = prepareDataForAttributesConversion;
|
|
48
|
+
/**
|
|
49
|
+
* Keep only values for glTF attributes to pass data to worker thread.
|
|
50
|
+
* @param attributes - geometry attributes
|
|
51
|
+
* @returns attributes with only `value` item
|
|
52
|
+
*/
|
|
53
|
+
function getB3DMAttributesWithoutBufferView(attributes) {
|
|
54
|
+
const attributesWithoutBufferView = {};
|
|
55
|
+
for (const attributeName in attributes) {
|
|
56
|
+
attributesWithoutBufferView[attributeName] = {
|
|
57
|
+
value: attributes[attributeName].value
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
return attributesWithoutBufferView;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Calculate transformation properties to transform vertex attributes (POSITION, NORMAL, etc.)
|
|
64
|
+
* from METER_OFFSET coorditantes to LNGLAT_OFFSET coordinates
|
|
65
|
+
* @param tileContent - 3DTiles tile content
|
|
66
|
+
* @param tileTransform - transformation matrix of the tile, calculated recursively multiplying
|
|
67
|
+
* transform of all parent tiles and transform of the current tile
|
|
68
|
+
* @param boundingVolume - initialized bounding volume of the source tile
|
|
69
|
+
* @returns modelMatrix - transformation matrix to transform coordinates to cartographic coordinates
|
|
70
|
+
* cartographicOrigin - tile origin coordinates to calculate offsets
|
|
71
|
+
*/
|
|
72
|
+
function calculateTransformProps(tileContent, tileTransform, boundingVolume) {
|
|
73
|
+
const { rtcCenter, gltfUpAxis } = tileContent;
|
|
74
|
+
const { center } = boundingVolume;
|
|
75
|
+
let modelMatrix = new core_1.Matrix4(tileTransform);
|
|
76
|
+
// Translate if appropriate
|
|
77
|
+
if (rtcCenter) {
|
|
78
|
+
modelMatrix.translate(rtcCenter);
|
|
79
|
+
}
|
|
80
|
+
// glTF models need to be rotated from Y to Z up
|
|
81
|
+
// https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification#y-up-to-z-up
|
|
82
|
+
switch (gltfUpAxis) {
|
|
83
|
+
case 'Z':
|
|
84
|
+
break;
|
|
85
|
+
case 'Y':
|
|
86
|
+
const rotationY = new core_1.Matrix4().rotateX(Math.PI / 2);
|
|
87
|
+
modelMatrix = modelMatrix.multiplyRight(rotationY);
|
|
88
|
+
break;
|
|
89
|
+
case 'X':
|
|
90
|
+
const rotationX = new core_1.Matrix4().rotateY(-Math.PI / 2);
|
|
91
|
+
modelMatrix = modelMatrix.multiplyRight(rotationX);
|
|
92
|
+
break;
|
|
93
|
+
default:
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
const cartesianOrigin = new core_1.Vector3(center);
|
|
97
|
+
const cartographicOrigin = geospatial_1.Ellipsoid.WGS84.cartesianToCartographic(cartesianOrigin, new core_1.Vector3());
|
|
98
|
+
return { modelMatrix, cartographicOrigin };
|
|
99
|
+
}
|
|
100
|
+
exports.calculateTransformProps = calculateTransformProps;
|
|
101
|
+
/**
|
|
102
|
+
* Traverse all nodes to replace all sensible data with copy to avoid data corruption in worker.
|
|
103
|
+
* @param nodes
|
|
104
|
+
*/
|
|
105
|
+
function prepareNodes(nodes) {
|
|
106
|
+
for (let index = 0; index < nodes.length; index++) {
|
|
107
|
+
const node = nodes[index];
|
|
108
|
+
if (node.mesh) {
|
|
109
|
+
nodes[index] = {
|
|
110
|
+
...node,
|
|
111
|
+
mesh: {
|
|
112
|
+
...node.mesh,
|
|
113
|
+
primitives: node.mesh?.primitives.map((primitive) => ({
|
|
114
|
+
...primitive,
|
|
115
|
+
indices: { value: primitive?.indices?.value },
|
|
116
|
+
attributes: getB3DMAttributesWithoutBufferView(primitive.attributes),
|
|
117
|
+
material: {
|
|
118
|
+
id: primitive?.material?.id,
|
|
119
|
+
uniqueId: primitive?.material?.uniqueId
|
|
120
|
+
}
|
|
121
|
+
}))
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
if (node.children) {
|
|
126
|
+
prepareNodes(node.children);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Tiles3DLoaderOptions, Tiles3DTileContent, Tiles3DTileJSONPostprocessed, Tiles3DTilesetJSONPostprocessed } from '@loaders.gl/3d-tiles';
|
|
2
|
+
/**
|
|
3
|
+
* Load nested 3DTiles tileset. If the sourceTile is not nested tileset - do nothing
|
|
4
|
+
* @param sourceTileset - source root tileset JSON
|
|
5
|
+
* @param sourceTile - source tile JSON that is supposed to has link to nested tileset
|
|
6
|
+
* @param tilesetLoadOptions - load options for Tiles3DLoader
|
|
7
|
+
* @returns nothing
|
|
8
|
+
*/
|
|
9
|
+
export declare const loadNestedTileset: (sourceTileset: Tiles3DTilesetJSONPostprocessed | null, sourceTile: Tiles3DTileJSONPostprocessed, tilesetLoadOptions: Tiles3DLoaderOptions) => Promise<void>;
|
|
10
|
+
/**
|
|
11
|
+
* Load 3DTiles tile content, that includes glTF object
|
|
12
|
+
* @param sourceTileset - source root tileset JSON
|
|
13
|
+
* @param sourceTile - source tile JSON that has link to content data
|
|
14
|
+
* @param tilesetLoadOptions - load options for Tiles3DLoader
|
|
15
|
+
* @returns - 3DTiles tile content or null
|
|
16
|
+
*/
|
|
17
|
+
export declare const loadTile3DContent: (sourceTileset: Tiles3DTilesetJSONPostprocessed | null, sourceTile: Tiles3DTileJSONPostprocessed, tilesetLoadOptions: Tiles3DLoaderOptions) => Promise<Tiles3DTileContent | null>;
|
|
18
|
+
//# sourceMappingURL=load-3d-tiles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-3d-tiles.d.ts","sourceRoot":"","sources":["../../../src/i3s-converter/helpers/load-3d-tiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,4BAA4B,EAC5B,+BAA+B,EAChC,MAAM,sBAAsB,CAAC;AAG9B;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,kBACb,+BAA+B,GAAG,IAAI,cACzC,4BAA4B,sBACpB,oBAAoB,KACvC,QAAQ,IAAI,CAkBd,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,kBACb,+BAA+B,GAAG,IAAI,cACzC,4BAA4B,sBACpB,oBAAoB,KACvC,QAAQ,kBAAkB,GAAG,IAAI,CAiBnC,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadTile3DContent = exports.loadNestedTileset = void 0;
|
|
4
|
+
const core_1 = require("@loaders.gl/core");
|
|
5
|
+
/**
|
|
6
|
+
* Load nested 3DTiles tileset. If the sourceTile is not nested tileset - do nothing
|
|
7
|
+
* @param sourceTileset - source root tileset JSON
|
|
8
|
+
* @param sourceTile - source tile JSON that is supposed to has link to nested tileset
|
|
9
|
+
* @param tilesetLoadOptions - load options for Tiles3DLoader
|
|
10
|
+
* @returns nothing
|
|
11
|
+
*/
|
|
12
|
+
const loadNestedTileset = async (sourceTileset, sourceTile, tilesetLoadOptions) => {
|
|
13
|
+
const isTileset = sourceTile.type === 'json';
|
|
14
|
+
if (!sourceTileset || !sourceTile.contentUrl || !isTileset) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const loadOptions = {
|
|
18
|
+
...tilesetLoadOptions,
|
|
19
|
+
[sourceTileset.loader.id]: {
|
|
20
|
+
isTileset,
|
|
21
|
+
assetGltfUpAxis: (sourceTileset.asset && sourceTileset.asset.gltfUpAxis) || 'Y'
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
const tileContent = await (0, core_1.load)(sourceTile.contentUrl, sourceTileset.loader, loadOptions);
|
|
25
|
+
if (tileContent.root) {
|
|
26
|
+
sourceTile.children = [tileContent.root];
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
exports.loadNestedTileset = loadNestedTileset;
|
|
30
|
+
/**
|
|
31
|
+
* Load 3DTiles tile content, that includes glTF object
|
|
32
|
+
* @param sourceTileset - source root tileset JSON
|
|
33
|
+
* @param sourceTile - source tile JSON that has link to content data
|
|
34
|
+
* @param tilesetLoadOptions - load options for Tiles3DLoader
|
|
35
|
+
* @returns - 3DTiles tile content or null
|
|
36
|
+
*/
|
|
37
|
+
const loadTile3DContent = async (sourceTileset, sourceTile, tilesetLoadOptions) => {
|
|
38
|
+
const isTileset = sourceTile.type === 'json';
|
|
39
|
+
if (!sourceTileset || !sourceTile.contentUrl || isTileset) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
const loadOptions = {
|
|
43
|
+
...tilesetLoadOptions,
|
|
44
|
+
[sourceTileset.loader.id]: {
|
|
45
|
+
...(tilesetLoadOptions[sourceTileset.loader.id] || {}),
|
|
46
|
+
isTileset,
|
|
47
|
+
assetGltfUpAxis: (sourceTileset.asset && sourceTileset.asset.gltfUpAxis) || 'Y'
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
const tileContent = await (0, core_1.load)(sourceTile.contentUrl, sourceTileset.loader, loadOptions);
|
|
51
|
+
return tileContent;
|
|
52
|
+
};
|
|
53
|
+
exports.loadTile3DContent = loadTile3DContent;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Node3DIndexDocument } from '@loaders.gl/i3s';
|
|
2
|
+
/**
|
|
3
|
+
* Do validation of bounding volumes for particular node.
|
|
4
|
+
* Generates special warnings if there are some issues.
|
|
5
|
+
* @param node
|
|
6
|
+
*/
|
|
7
|
+
export declare function validateNodeBoundingVolumes(node: Node3DIndexDocument): string[];
|
|
8
|
+
//# sourceMappingURL=node-debug.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-debug.d.ts","sourceRoot":"","sources":["../../../src/i3s-converter/helpers/node-debug.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAM,mBAAmB,EAAM,MAAM,iBAAiB,CAAC;AAiBnE;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,EAAE,CAW/E"}
|
|
@@ -1,88 +1,120 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateNodeBoundingVolumes = void 0;
|
|
4
|
+
const culling_1 = require("@math.gl/culling");
|
|
5
|
+
const core_1 = require("@math.gl/core");
|
|
6
|
+
const geospatial_1 = require("@math.gl/geospatial");
|
|
7
|
+
// prettier-ignore
|
|
8
|
+
const CUBE_POSITIONS = new Float32Array([
|
|
9
|
+
-1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1,
|
|
10
|
+
-1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1,
|
|
11
|
+
-1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1,
|
|
12
|
+
-1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1,
|
|
13
|
+
1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1,
|
|
14
|
+
-1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1
|
|
15
|
+
]);
|
|
16
|
+
// TODO Unite Tile validation logic in i3s-17-and-debug with this code.
|
|
17
|
+
/**
|
|
18
|
+
* Do validation of bounding volumes for particular node.
|
|
19
|
+
* Generates special warnings if there are some issues.
|
|
20
|
+
* @param node
|
|
21
|
+
*/
|
|
22
|
+
function validateNodeBoundingVolumes(node) {
|
|
23
|
+
if (!node?.parentNode?.obb || !node?.parentNode?.mbs) {
|
|
24
|
+
return [];
|
|
25
|
+
}
|
|
26
|
+
const tileWarnings = [];
|
|
27
|
+
validateObb(tileWarnings, node);
|
|
28
|
+
validateMbs(tileWarnings, node);
|
|
29
|
+
return tileWarnings;
|
|
14
30
|
}
|
|
15
|
-
|
|
31
|
+
exports.validateNodeBoundingVolumes = validateNodeBoundingVolumes;
|
|
32
|
+
/**
|
|
33
|
+
* Check if child Obb fit into parent Obb.
|
|
34
|
+
* @param tileWarnings
|
|
35
|
+
* @param node
|
|
36
|
+
*/
|
|
16
37
|
function validateObb(tileWarnings, node) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
tileWarnings.push(title);
|
|
38
|
+
// @ts-expect-error
|
|
39
|
+
const parentObb = createBoundingBoxFromTileObb(node.parentNode.obb);
|
|
40
|
+
const tileVertices = getTileObbVertices(node);
|
|
41
|
+
const isTileObbInsideParentObb = isAllVerticesInsideBoundingVolume(parentObb, tileVertices);
|
|
42
|
+
if (isTileObbInsideParentObb) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const title = `OBB of Tile (${node.id}) doesn't fit into Parent (${node.parentNode?.id}) tile OBB`;
|
|
46
|
+
tileWarnings.push(title);
|
|
27
47
|
}
|
|
28
|
-
|
|
48
|
+
/**
|
|
49
|
+
* Check if child Mbs fit into parent Mbs.
|
|
50
|
+
* @param tileWarnings
|
|
51
|
+
* @param node
|
|
52
|
+
*/
|
|
29
53
|
function validateMbs(tileWarnings, node) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
54
|
+
// @ts-expect-error
|
|
55
|
+
const tileMbs = createBoundingSphereFromTileMbs(node.mbs);
|
|
56
|
+
// @ts-expect-error
|
|
57
|
+
const parentMbs = createBoundingSphereFromTileMbs(node.parentNode.mbs);
|
|
58
|
+
const distanceBetweenCenters = tileMbs.center.distanceTo(parentMbs.center);
|
|
59
|
+
if (distanceBetweenCenters + tileMbs.radius > parentMbs.radius) {
|
|
60
|
+
const title = `MBS of Tile (${node.id}) doesn't fit into Parent (${node.parentNode?.id}) tile MBS`;
|
|
61
|
+
tileWarnings.push(title);
|
|
62
|
+
}
|
|
38
63
|
}
|
|
39
|
-
|
|
64
|
+
/**
|
|
65
|
+
* Generates bounding sphere from mbs
|
|
66
|
+
* @param mbs
|
|
67
|
+
*/
|
|
40
68
|
function createBoundingSphereFromTileMbs(mbs) {
|
|
41
|
-
|
|
69
|
+
return new culling_1.BoundingSphere([mbs[0], mbs[1], mbs[2]], mbs[3]);
|
|
42
70
|
}
|
|
43
|
-
|
|
71
|
+
/**
|
|
72
|
+
* Generates oriented bounding box from tile obb
|
|
73
|
+
* @param obb
|
|
74
|
+
* @returns
|
|
75
|
+
*/
|
|
44
76
|
function createBoundingBoxFromTileObb(obb) {
|
|
45
|
-
|
|
46
|
-
center,
|
|
47
|
-
halfSize,
|
|
48
|
-
quaternion
|
|
49
|
-
} = obb;
|
|
50
|
-
return new OrientedBoundingBox().fromCenterHalfSizeQuaternion(center, halfSize, quaternion);
|
|
77
|
+
const { center, halfSize, quaternion } = obb;
|
|
78
|
+
return new culling_1.OrientedBoundingBox().fromCenterHalfSizeQuaternion(center, halfSize, quaternion);
|
|
51
79
|
}
|
|
52
|
-
|
|
80
|
+
/**
|
|
81
|
+
* Get vertices fromnode obb
|
|
82
|
+
* TODO check if Obb generates properly
|
|
83
|
+
* @param node
|
|
84
|
+
*/
|
|
53
85
|
function getTileObbVertices(node) {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
86
|
+
// @ts-expect-error
|
|
87
|
+
const halfSize = node.obb.halfSize;
|
|
88
|
+
const positions = CUBE_POSITIONS;
|
|
89
|
+
// @ts-expect-error
|
|
90
|
+
const obbCenterCartesian = geospatial_1.Ellipsoid.WGS84.cartographicToCartesian(node.obb.center);
|
|
91
|
+
let vertices = [];
|
|
92
|
+
for (let i = 0; i < positions.length; i += 3) {
|
|
93
|
+
const positionsVector = new core_1.Vector3((positions[i] *= halfSize[0]), (positions[i + 1] *= halfSize[1]), (positions[i + 2] *= halfSize[2]));
|
|
94
|
+
const rotatedPositions = positionsVector
|
|
95
|
+
// @ts-expect-error
|
|
96
|
+
.transformByQuaternion(node.obb.quaternion)
|
|
97
|
+
.add(obbCenterCartesian);
|
|
98
|
+
// @ts-expect-error
|
|
99
|
+
vertices = vertices.concat(rotatedPositions);
|
|
100
|
+
}
|
|
101
|
+
return vertices;
|
|
70
102
|
}
|
|
71
|
-
|
|
103
|
+
/**
|
|
104
|
+
* Check if all vertices inside bounding volume
|
|
105
|
+
* @param boundingVolume
|
|
106
|
+
* @param positions
|
|
107
|
+
*/
|
|
72
108
|
function isAllVerticesInsideBoundingVolume(boundingVolume, positions) {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
break;
|
|
109
|
+
let isVerticesInsideObb = true;
|
|
110
|
+
for (let index = 0; index < positions.length / 3; index += 3) {
|
|
111
|
+
const point = [positions[index], positions[index + 1], positions[index + 2]];
|
|
112
|
+
const cartographicPoint = geospatial_1.Ellipsoid.WGS84.cartesianToCartographic(point);
|
|
113
|
+
const distance = boundingVolume.distanceTo(cartographicPoint);
|
|
114
|
+
if (distance > 0) {
|
|
115
|
+
isVerticesInsideObb = false;
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
83
118
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
return isVerticesInsideObb;
|
|
119
|
+
return isVerticesInsideObb;
|
|
87
120
|
}
|
|
88
|
-
//# sourceMappingURL=node-debug.js.map
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { BoundingVolumes, LodSelection, Node3DIndexDocument, NodeInPage } from '@loaders.gl/i3s';
|
|
2
|
+
import I3SConverter from '../i3s-converter';
|
|
3
|
+
import { I3SConvertedResources } from '../types';
|
|
4
|
+
/**
|
|
5
|
+
* Wrapper for https://github.com/Esri/i3s-spec/blob/master/docs/1.7/3DNodeIndexDocument.cmn.md data
|
|
6
|
+
* The class allows working with 3DNodeIndexDocument in 2 modes:
|
|
7
|
+
* in memory: the data is stored in `data` field
|
|
8
|
+
* on disk: the data is written on disk in a file. The file can be rewritten when new childrend or neighbors have to be added
|
|
9
|
+
*/
|
|
10
|
+
export declare class NodeIndexDocument {
|
|
11
|
+
/** Node id */
|
|
12
|
+
id: string;
|
|
13
|
+
/** Id in node pages */
|
|
14
|
+
inPageId: number;
|
|
15
|
+
/** 3DNodeIndexDocument data */
|
|
16
|
+
data: Node3DIndexDocument | null;
|
|
17
|
+
/** children */
|
|
18
|
+
children: NodeIndexDocument[];
|
|
19
|
+
/** converter instance */
|
|
20
|
+
private converter;
|
|
21
|
+
/**
|
|
22
|
+
* Finalized property. It means that all child nodes are saved and their data
|
|
23
|
+
* is unloaded
|
|
24
|
+
*/
|
|
25
|
+
private _finalized;
|
|
26
|
+
get finalized(): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Constructor
|
|
29
|
+
* @param id - id of the node in node pages
|
|
30
|
+
* @param converter - converter instance
|
|
31
|
+
*/
|
|
32
|
+
constructor(id: number, converter: I3SConverter);
|
|
33
|
+
/**
|
|
34
|
+
* Add Node3DIndexDocument data to the node
|
|
35
|
+
* @param data Node3DIndexDocument data
|
|
36
|
+
* @returns this NodeIndexDocument instance (to recurring with constructor)
|
|
37
|
+
*/
|
|
38
|
+
addData(data: Node3DIndexDocument): Promise<NodeIndexDocument>;
|
|
39
|
+
/**
|
|
40
|
+
* Add child node references
|
|
41
|
+
* @param childNodes - child NodeIndexDocument instances
|
|
42
|
+
*/
|
|
43
|
+
addChildren(childNodes: NodeIndexDocument[]): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Add neighbors to child nodes of this node
|
|
46
|
+
*/
|
|
47
|
+
addNeighbors(): Promise<void>;
|
|
48
|
+
/** Save 3DNodeIndexDocument in file on disk */
|
|
49
|
+
save(): Promise<void>;
|
|
50
|
+
/** Finalize the node */
|
|
51
|
+
private finalize;
|
|
52
|
+
/**
|
|
53
|
+
* Write 3DNodeIndexDocument https://github.com/Esri/i3s-spec/blob/master/docs/1.7/3DNodeIndexDocument.cmn.md
|
|
54
|
+
* @param node - Node3DIndexDocument object
|
|
55
|
+
*/
|
|
56
|
+
private write;
|
|
57
|
+
/**
|
|
58
|
+
* Load 3DNodeIndexDocument data from file on disk
|
|
59
|
+
* @returns 3DNodeIndexDocument object
|
|
60
|
+
*/
|
|
61
|
+
private load;
|
|
62
|
+
/**
|
|
63
|
+
* Unload the Node data
|
|
64
|
+
*/
|
|
65
|
+
private flush;
|
|
66
|
+
/**
|
|
67
|
+
* Create root node of the tree
|
|
68
|
+
* @param boundingVolumes - MBS and OOB bounding volumes data
|
|
69
|
+
* @param converter - I3SConverter instance
|
|
70
|
+
* @returns instance of NodeIndexDocument
|
|
71
|
+
*/
|
|
72
|
+
static createRootNode(boundingVolumes: BoundingVolumes, converter: I3SConverter): Promise<NodeIndexDocument>;
|
|
73
|
+
/**
|
|
74
|
+
* Create NodeIndexDocument instance
|
|
75
|
+
* @param parentNode - parent NodeIndexDocument
|
|
76
|
+
* @param boundingVolumes - MBS and OOB bounding volumes data
|
|
77
|
+
* @param lodSelection - LOD metrics data
|
|
78
|
+
* @param nodeInPage - node data in node pages
|
|
79
|
+
* @param resources - resources extracted from gltf/b3dm file
|
|
80
|
+
* @param converter - I3SConverter instance
|
|
81
|
+
* @returns NodeIndexDocument instance
|
|
82
|
+
*/
|
|
83
|
+
static createNode(parentNode: NodeIndexDocument, boundingVolumes: BoundingVolumes, lodSelection: LodSelection[], nodeInPage: NodeInPage, resources: I3SConvertedResources, converter: I3SConverter): Promise<NodeIndexDocument>;
|
|
84
|
+
/**
|
|
85
|
+
* Form 3DNodeIndexDocument data for the root node
|
|
86
|
+
* @param boundingVolumes - mbs and obb data about node's bounding volume
|
|
87
|
+
* @return 3DNodeIndexDocument data https://github.com/Esri/i3s-spec/blob/master/docs/1.7/3DNodeIndexDocument.cmn.md
|
|
88
|
+
*/
|
|
89
|
+
static createRootNodeIndexDocument(boundingVolumes: BoundingVolumes): Node3DIndexDocument;
|
|
90
|
+
/**
|
|
91
|
+
* Create a new Node3DIndexDocument
|
|
92
|
+
* @param parentNode - 3DNodeIndexDocument https://github.com/Esri/i3s-spec/blob/master/docs/1.7/3DNodeIndexDocument.cmn.md object of the parent node
|
|
93
|
+
* @param boundingVolumes - Bounding volumes
|
|
94
|
+
* @param lodSelection - Level of Details (LOD) metrics
|
|
95
|
+
* @param nodeInPage - corresponding node object in a node page
|
|
96
|
+
* @param resources - the node resources data
|
|
97
|
+
* @param resources.texture - texture image
|
|
98
|
+
* @param resources.attributes - feature attributes
|
|
99
|
+
* @return 3DNodeIndexDocument https://github.com/Esri/i3s-spec/blob/master/docs/1.7/3DNodeIndexDocument.cmn.md object
|
|
100
|
+
*/
|
|
101
|
+
static createNodeIndexDocument(parentNode: NodeIndexDocument, boundingVolumes: BoundingVolumes, lodSelection: LodSelection[], nodeInPage: NodeInPage, resources: I3SConvertedResources): Promise<Node3DIndexDocument>;
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=node-index-document.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-index-document.d.ts","sourceRoot":"","sources":["../../../src/i3s-converter/helpers/node-index-document.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,UAAU,EAEX,MAAM,iBAAiB,CAAC;AAIzB,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAC,qBAAqB,EAAC,MAAM,UAAU,CAAC;AAE/C;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,cAAc;IACP,EAAE,EAAE,MAAM,CAAC;IAClB,uBAAuB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACxB,+BAA+B;IACxB,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAAQ;IAC/C,eAAe;IACR,QAAQ,EAAE,iBAAiB,EAAE,CAAM;IAC1C,yBAAyB;IACzB,OAAO,CAAC,SAAS,CAAe;IAEhC;;;OAGG;IACH,OAAO,CAAC,UAAU,CAAkB;IACpC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;;OAIG;gBACS,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY;IAM/C;;;;OAIG;IACU,OAAO,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAS3E;;;OAGG;IACU,WAAW,CAAC,UAAU,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BxE;;OAEG;IACU,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAmC1C,+CAA+C;IAClC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAMlC,wBAAwB;IACxB,OAAO,CAAC,QAAQ;IAOhB;;;OAGG;YACW,KAAK;IAyBnB;;;OAGG;YACW,IAAI;IAalB;;OAEG;IACH,OAAO,CAAC,KAAK;IAIb;;;;;OAKG;WACU,cAAc,CACzB,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,YAAY,GACtB,OAAO,CAAC,iBAAiB,CAAC;IAM7B;;;;;;;;;OASG;WACU,UAAU,CACrB,UAAU,EAAE,iBAAiB,EAC7B,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,EAAE,EAC5B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,qBAAqB,EAChC,SAAS,EAAE,YAAY,GACtB,OAAO,CAAC,iBAAiB,CAAC;IAY7B;;;;OAIG;IACH,MAAM,CAAC,2BAA2B,CAAC,eAAe,EAAE,eAAe,GAAG,mBAAmB;IAqBzF;;;;;;;;;;OAUG;WACU,uBAAuB,CAClC,UAAU,EAAE,iBAAiB,EAC7B,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,EAAE,EAC5B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,qBAAqB,GAC/B,OAAO,CAAC,mBAAmB,CAAC;CA4ChC"}
|