@loaders.gl/tile-converter 4.0.0-alpha.13 → 4.0.0-alpha.15
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/i3s-server.js +4 -0
- package/dist/3d-tiles-converter/3d-tiles-converter.d.ts +0 -1
- package/dist/3d-tiles-converter/3d-tiles-converter.d.ts.map +1 -1
- package/dist/3d-tiles-converter/3d-tiles-converter.js +8 -19
- package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts +4 -1
- package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts.map +1 -1
- package/dist/converter.min.js +65 -65
- package/dist/dist.min.js +881 -261
- package/dist/es5/3d-tiles-converter/3d-tiles-converter.js +34 -67
- package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
- package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
- package/dist/es5/deps-installer/deps-installer.js +1 -1
- package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/gltf-attributes.js.map +1 -1
- package/dist/es5/i3s-converter/i3s-converter.js +36 -43
- package/dist/es5/i3s-converter/i3s-converter.js.map +1 -1
- package/dist/es5/i3s-converter/types.js.map +1 -1
- package/dist/es5/i3s-server/README.md +46 -2
- package/dist/es5/i3s-server/app.js +3 -3
- package/dist/es5/i3s-server/app.js.map +1 -1
- package/dist/es5/i3s-server/bin/www.js +61 -0
- package/dist/es5/i3s-server/bin/www.js.map +1 -0
- package/dist/es5/i3s-server/controllers/slpk-controller.js +14 -18
- package/dist/es5/i3s-server/controllers/slpk-controller.js.map +1 -1
- package/dist/es5/index.js +7 -0
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/pgm-loader.js +1 -1
- package/dist/es5/slpk-extractor/helpers/file-handle-provider.js +59 -26
- package/dist/es5/slpk-extractor/helpers/file-handle-provider.js.map +1 -1
- package/dist/es5/slpk-extractor/helpers/fs-promises.js +77 -0
- package/dist/es5/slpk-extractor/helpers/fs-promises.js.map +1 -0
- package/dist/es5/slpk-extractor/slpk-extractor.js +7 -7
- package/dist/es5/slpk-extractor/slpk-extractor.js.map +1 -1
- package/dist/esm/3d-tiles-converter/3d-tiles-converter.js +8 -18
- package/dist/esm/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
- package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
- package/dist/esm/deps-installer/deps-installer.js +1 -1
- package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/gltf-attributes.js.map +1 -1
- package/dist/esm/i3s-converter/i3s-converter.js +5 -8
- package/dist/esm/i3s-converter/i3s-converter.js.map +1 -1
- package/dist/esm/i3s-converter/types.js.map +1 -1
- package/dist/esm/i3s-server/README.md +46 -2
- package/dist/esm/i3s-server/app.js +4 -4
- package/dist/esm/i3s-server/app.js.map +1 -1
- package/dist/esm/i3s-server/bin/i3s-server.min.js +614 -0
- package/{src/i3s-server/bin/www → dist/esm/i3s-server/bin/www.js} +12 -55
- package/dist/esm/i3s-server/bin/www.js.map +1 -0
- package/dist/esm/i3s-server/controllers/slpk-controller.js +6 -12
- package/dist/esm/i3s-server/controllers/slpk-controller.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/pgm-loader.js +1 -1
- package/dist/esm/slpk-extractor/helpers/file-handle-provider.js +17 -6
- package/dist/esm/slpk-extractor/helpers/file-handle-provider.js.map +1 -1
- package/dist/esm/slpk-extractor/helpers/fs-promises.js +32 -0
- package/dist/esm/slpk-extractor/helpers/fs-promises.js.map +1 -0
- package/dist/esm/slpk-extractor/slpk-extractor.js +2 -2
- package/dist/esm/slpk-extractor/slpk-extractor.js.map +1 -1
- package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts +1 -1
- package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/geometry-converter.d.ts +2 -3
- package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/gltf-attributes.d.ts +2 -2
- package/dist/i3s-converter/helpers/gltf-attributes.d.ts.map +1 -1
- package/dist/i3s-converter/i3s-converter.d.ts.map +1 -1
- package/dist/i3s-converter/i3s-converter.js +5 -6
- package/dist/i3s-converter/types.d.ts +32 -1
- package/dist/i3s-converter/types.d.ts.map +1 -1
- package/dist/i3s-server/app.d.ts.map +1 -1
- package/dist/i3s-server/app.js +1 -1
- package/dist/i3s-server/bin/www.d.ts +3 -0
- package/dist/i3s-server/bin/www.d.ts.map +1 -0
- package/dist/i3s-server/bin/www.js +83 -0
- package/dist/i3s-server/controllers/slpk-controller.d.ts.map +1 -1
- package/dist/i3s-server/controllers/slpk-controller.js +4 -9
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/slpk-extractor/helpers/file-handle-provider.d.ts +15 -12
- package/dist/slpk-extractor/helpers/file-handle-provider.d.ts.map +1 -1
- package/dist/slpk-extractor/helpers/file-handle-provider.js +25 -10
- package/dist/slpk-extractor/helpers/fs-promises.d.ts +38 -0
- package/dist/slpk-extractor/helpers/fs-promises.d.ts.map +1 -0
- package/dist/slpk-extractor/helpers/fs-promises.js +51 -0
- package/dist/slpk-extractor/slpk-extractor.d.ts +2 -2
- package/dist/slpk-extractor/slpk-extractor.d.ts.map +1 -1
- package/dist/slpk-extractor/slpk-extractor.js +4 -7
- package/dist/slpk-extractor.min.js +44 -44
- package/package.json +20 -21
- package/src/3d-tiles-converter/3d-tiles-converter.ts +10 -28
- package/src/3d-tiles-converter/helpers/b3dm-converter.ts +5 -2
- package/src/i3s-converter/helpers/batch-ids-extensions.ts +1 -1
- package/src/i3s-converter/helpers/geometry-converter.ts +2 -7
- package/src/i3s-converter/helpers/gltf-attributes.ts +2 -2
- package/src/i3s-converter/i3s-converter.ts +5 -6
- package/src/i3s-converter/types.ts +32 -1
- package/src/i3s-server/README.md +46 -2
- package/src/i3s-server/app.js +1 -1
- package/{dist/es5/i3s-server/bin/www → src/i3s-server/bin/www.js} +7 -7
- package/src/i3s-server/controllers/slpk-controller.js +4 -11
- package/src/index.ts +1 -0
- package/src/slpk-extractor/helpers/file-handle-provider.ts +36 -18
- package/src/slpk-extractor/helpers/fs-promises.ts +66 -0
- package/src/slpk-extractor/slpk-extractor.ts +5 -6
- package/dist/3d-tiles-attributes-worker.d.ts +0 -28
- package/dist/3d-tiles-attributes-worker.d.ts.map +0 -1
- package/dist/3d-tiles-attributes-worker.js +0 -3
- package/dist/3d-tiles-attributes-worker.js.map +0 -7
- package/dist/es5/3d-tiles-attributes-worker.js +0 -25
- package/dist/es5/3d-tiles-attributes-worker.js.map +0 -1
- package/dist/es5/i3s-attributes-worker.js +0 -25
- package/dist/es5/i3s-attributes-worker.js.map +0 -1
- package/dist/es5/workers/3d-tiles-attributes-worker.js +0 -28
- package/dist/es5/workers/3d-tiles-attributes-worker.js.map +0 -1
- package/dist/es5/workers/i3s-attributes-worker.js +0 -30
- package/dist/es5/workers/i3s-attributes-worker.js.map +0 -1
- package/dist/esm/3d-tiles-attributes-worker.js +0 -16
- package/dist/esm/3d-tiles-attributes-worker.js.map +0 -1
- package/dist/esm/i3s-attributes-worker.js +0 -16
- package/dist/esm/i3s-attributes-worker.js.map +0 -1
- package/dist/esm/i3s-server/bin/www +0 -102
- package/dist/esm/workers/3d-tiles-attributes-worker.js +0 -8
- package/dist/esm/workers/3d-tiles-attributes-worker.js.map +0 -1
- package/dist/esm/workers/i3s-attributes-worker.js +0 -7
- package/dist/esm/workers/i3s-attributes-worker.js.map +0 -1
- package/dist/i3s-attributes-worker.d.ts +0 -45
- package/dist/i3s-attributes-worker.d.ts.map +0 -1
- package/dist/i3s-attributes-worker.js +0 -9
- package/dist/i3s-attributes-worker.js.map +0 -7
- package/dist/workers/3d-tiles-attributes-worker.d.ts +0 -2
- package/dist/workers/3d-tiles-attributes-worker.d.ts.map +0 -1
- package/dist/workers/3d-tiles-attributes-worker.js +0 -9
- package/dist/workers/i3s-attributes-worker.d.ts +0 -2
- package/dist/workers/i3s-attributes-worker.d.ts.map +0 -1
- package/dist/workers/i3s-attributes-worker.js +0 -5
- package/src/3d-tiles-attributes-worker.ts +0 -43
- package/src/i3s-attributes-worker.ts +0 -59
- package/src/workers/3d-tiles-attributes-worker.ts +0 -6
- package/src/workers/i3s-attributes-worker.ts +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gltf-attributes.js","names":["_core","require","_geospatial","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","prepareDataForAttributesConversion","tileContent","tileTransform","boundingVolume","_tileContent$gltf","_tileContent$gltf$sce","_tileContent$gltf2","_tileContent$gltf2$sc","_tileContent$gltf2$sc2","_tileContent$gltf3","_tileContent$gltf4","_tileContent$gltf4$im","nodes","gltf","scene","scenes","images","map","imageObject","_imageObject$image","image","compressed","_imageObject$image2","data","dataCopy","Uint8Array","set","height","width","components","mimeType","prepareNodes","_calculateTransformPr","calculateTransformProps","cartographicOrigin","cartesianModelMatrix","modelMatrix","getB3DMAttributesWithoutBufferView","attributes","attributesWithoutBufferView","attributeName","value","rtcCenter","gltfUpAxis","center","Matrix4","translate","rotationY","rotateX","Math","PI","multiplyRight","rotationX","rotateY","cartesianOrigin","Vector3","Ellipsoid","WGS84","cartesianToCartographic","index","node","mesh","_node$mesh","primitives","primitive","_primitive$indices","_primitive$material","_primitive$material2","indices","material","id","uniqueId","children"],"sources":["../../../../src/i3s-converter/helpers/gltf-attributes.ts"],"sourcesContent":["import type {Tiles3DTileContent} from '@loaders.gl/3d-tiles';\nimport type {GLTFAccessorPostprocessed, GLTFNodePostprocessed} from '@loaders.gl/gltf';\nimport type {B3DMAttributesData} from '../../i3s-attributes-worker';\nimport {Matrix4, TypedArray, Vector3} from '@math.gl/core';\nimport {BoundingSphere, OrientedBoundingBox} from '@math.gl/culling';\nimport {Ellipsoid} from '@math.gl/geospatial';\n\n/**\n * Prepare attributes for conversion to avoid binary data breaking in worker thread.\n * @param tileContent - 3DTiles tile content\n * @param tileTransform - transformation matrix of the tile, calculated recursively multiplying\n * transform of all parent tiles and transform of the current tile\n * @param boundingVolume - initialized bounding volume of the source tile\n * @returns 3DTiles content data, prepared for conversion\n */\nexport function prepareDataForAttributesConversion(\n tileContent: Tiles3DTileContent,\n tileTransform: Matrix4,\n boundingVolume: OrientedBoundingBox | BoundingSphere\n): B3DMAttributesData {\n let nodes =\n tileContent.gltf?.scene?.nodes ||\n tileContent.gltf?.scenes?.[0]?.nodes ||\n tileContent.gltf?.nodes ||\n [];\n\n const images =\n tileContent.gltf?.images?.map((imageObject) => {\n // Need data only for uncompressed images because we can't get batchIds from compressed textures.\n if (imageObject?.image?.compressed) {\n return null;\n } else {\n const data = imageObject?.image?.data;\n const dataCopy = new Uint8Array(data.length);\n dataCopy.set(data);\n return {\n data: dataCopy,\n compressed: false,\n height: imageObject.image.height,\n width: imageObject.image.width,\n components: imageObject.image.components,\n mimeType: imageObject.mimeType\n };\n }\n }) || [];\n\n prepareNodes(nodes);\n\n const {cartographicOrigin, modelMatrix: cartesianModelMatrix} = calculateTransformProps(\n tileContent,\n tileTransform,\n boundingVolume\n );\n\n return {\n nodes,\n images,\n cartographicOrigin,\n cartesianModelMatrix\n };\n}\n\n/**\n * Keep only values for glTF attributes to pass data to worker thread.\n * @param attributes - geometry attributes\n * @returns attributes with only `value` item\n */\nfunction getB3DMAttributesWithoutBufferView(\n attributes: Record<string, GLTFAccessorPostprocessed>\n): Record<string, {value: TypedArray}> {\n const attributesWithoutBufferView: Record<string, {value: TypedArray}> = {};\n\n for (const attributeName in attributes) {\n attributesWithoutBufferView[attributeName] = {\n value: attributes[attributeName].value\n };\n }\n\n return attributesWithoutBufferView;\n}\n\n/**\n * Calculate transformation properties to transform vertex attributes (POSITION, NORMAL, etc.)\n * from METER_OFFSET coorditantes to LNGLAT_OFFSET coordinates\n * @param tileContent - 3DTiles tile content\n * @param tileTransform - transformation matrix of the tile, calculated recursively multiplying\n * transform of all parent tiles and transform of the current tile\n * @param boundingVolume - initialized bounding volume of the source tile\n * @returns modelMatrix - transformation matrix to transform coordinates to cartographic coordinates\n * cartographicOrigin - tile origin coordinates to calculate offsets\n */\nexport function calculateTransformProps(\n tileContent: Tiles3DTileContent,\n tileTransform: Matrix4,\n boundingVolume: OrientedBoundingBox | BoundingSphere\n): {modelMatrix: Matrix4; cartographicOrigin: Vector3} {\n const {rtcCenter, gltfUpAxis} = tileContent;\n const {center} = boundingVolume;\n\n let modelMatrix = new Matrix4(tileTransform);\n\n // Translate if appropriate\n if (rtcCenter) {\n modelMatrix.translate(rtcCenter);\n }\n\n // glTF models need to be rotated from Y to Z up\n // https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification#y-up-to-z-up\n switch (gltfUpAxis) {\n case 'Z':\n break;\n case 'Y':\n const rotationY = new Matrix4().rotateX(Math.PI / 2);\n modelMatrix = modelMatrix.multiplyRight(rotationY);\n break;\n case 'X':\n const rotationX = new Matrix4().rotateY(-Math.PI / 2);\n modelMatrix = modelMatrix.multiplyRight(rotationX);\n break;\n default:\n break;\n }\n\n const cartesianOrigin = new Vector3(center);\n const cartographicOrigin = Ellipsoid.WGS84.cartesianToCartographic(\n cartesianOrigin,\n new Vector3()\n );\n return {modelMatrix, cartographicOrigin};\n}\n\n/**\n * Traverse all nodes to replace all sensible data with copy to avoid data corruption in worker.\n * @param nodes\n */\nfunction prepareNodes(nodes: GLTFNodePostprocessed[]): void {\n for (let index = 0; index < nodes.length; index++) {\n const node = nodes[index] as any;\n\n if (node.mesh) {\n nodes[index] = {\n ...node,\n mesh: {\n ...node.mesh,\n primitives: node.mesh?.primitives.map((primitive) => ({\n ...primitive,\n indices: {value: primitive?.indices?.value},\n attributes: getB3DMAttributesWithoutBufferView(primitive.attributes),\n material: {\n id: primitive?.material?.id,\n uniqueId: primitive?.material?.uniqueId\n }\n }))\n }\n };\n }\n\n if (node.children) {\n prepareNodes(node.children);\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gltf-attributes.js","names":["_core","require","_geospatial","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","prepareDataForAttributesConversion","tileContent","tileTransform","boundingVolume","_tileContent$gltf","_tileContent$gltf$sce","_tileContent$gltf2","_tileContent$gltf2$sc","_tileContent$gltf2$sc2","_tileContent$gltf3","_tileContent$gltf4","_tileContent$gltf4$im","nodes","gltf","scene","scenes","images","map","imageObject","_imageObject$image","image","compressed","_imageObject$image2","data","dataCopy","Uint8Array","set","height","width","components","mimeType","prepareNodes","_calculateTransformPr","calculateTransformProps","cartographicOrigin","cartesianModelMatrix","modelMatrix","getB3DMAttributesWithoutBufferView","attributes","attributesWithoutBufferView","attributeName","value","rtcCenter","gltfUpAxis","center","Matrix4","translate","rotationY","rotateX","Math","PI","multiplyRight","rotationX","rotateY","cartesianOrigin","Vector3","Ellipsoid","WGS84","cartesianToCartographic","index","node","mesh","_node$mesh","primitives","primitive","_primitive$indices","_primitive$material","_primitive$material2","indices","material","id","uniqueId","children"],"sources":["../../../../src/i3s-converter/helpers/gltf-attributes.ts"],"sourcesContent":["import type {Tiles3DTileContent} from '@loaders.gl/3d-tiles';\nimport type {GLTFAccessorPostprocessed, GLTFNodePostprocessed} from '@loaders.gl/gltf';\nimport {Matrix4, TypedArray, Vector3} from '@math.gl/core';\nimport {BoundingSphere, OrientedBoundingBox} from '@math.gl/culling';\nimport {Ellipsoid} from '@math.gl/geospatial';\nimport {GLTFAttributesData} from '../types';\n\n/**\n * Prepare attributes for conversion to avoid binary data breaking in worker thread.\n * @param tileContent - 3DTiles tile content\n * @param tileTransform - transformation matrix of the tile, calculated recursively multiplying\n * transform of all parent tiles and transform of the current tile\n * @param boundingVolume - initialized bounding volume of the source tile\n * @returns 3DTiles content data, prepared for conversion\n */\nexport function prepareDataForAttributesConversion(\n tileContent: Tiles3DTileContent,\n tileTransform: Matrix4,\n boundingVolume: OrientedBoundingBox | BoundingSphere\n): GLTFAttributesData {\n let nodes =\n tileContent.gltf?.scene?.nodes ||\n tileContent.gltf?.scenes?.[0]?.nodes ||\n tileContent.gltf?.nodes ||\n [];\n\n const images =\n tileContent.gltf?.images?.map((imageObject) => {\n // Need data only for uncompressed images because we can't get batchIds from compressed textures.\n if (imageObject?.image?.compressed) {\n return null;\n } else {\n const data = imageObject?.image?.data;\n const dataCopy = new Uint8Array(data.length);\n dataCopy.set(data);\n return {\n data: dataCopy,\n compressed: false,\n height: imageObject.image.height,\n width: imageObject.image.width,\n components: imageObject.image.components,\n mimeType: imageObject.mimeType\n };\n }\n }) || [];\n\n prepareNodes(nodes);\n\n const {cartographicOrigin, modelMatrix: cartesianModelMatrix} = calculateTransformProps(\n tileContent,\n tileTransform,\n boundingVolume\n );\n\n return {\n nodes,\n images,\n cartographicOrigin,\n cartesianModelMatrix\n };\n}\n\n/**\n * Keep only values for glTF attributes to pass data to worker thread.\n * @param attributes - geometry attributes\n * @returns attributes with only `value` item\n */\nfunction getB3DMAttributesWithoutBufferView(\n attributes: Record<string, GLTFAccessorPostprocessed>\n): Record<string, {value: TypedArray}> {\n const attributesWithoutBufferView: Record<string, {value: TypedArray}> = {};\n\n for (const attributeName in attributes) {\n attributesWithoutBufferView[attributeName] = {\n value: attributes[attributeName].value\n };\n }\n\n return attributesWithoutBufferView;\n}\n\n/**\n * Calculate transformation properties to transform vertex attributes (POSITION, NORMAL, etc.)\n * from METER_OFFSET coorditantes to LNGLAT_OFFSET coordinates\n * @param tileContent - 3DTiles tile content\n * @param tileTransform - transformation matrix of the tile, calculated recursively multiplying\n * transform of all parent tiles and transform of the current tile\n * @param boundingVolume - initialized bounding volume of the source tile\n * @returns modelMatrix - transformation matrix to transform coordinates to cartographic coordinates\n * cartographicOrigin - tile origin coordinates to calculate offsets\n */\nexport function calculateTransformProps(\n tileContent: Tiles3DTileContent,\n tileTransform: Matrix4,\n boundingVolume: OrientedBoundingBox | BoundingSphere\n): {modelMatrix: Matrix4; cartographicOrigin: Vector3} {\n const {rtcCenter, gltfUpAxis} = tileContent;\n const {center} = boundingVolume;\n\n let modelMatrix = new Matrix4(tileTransform);\n\n // Translate if appropriate\n if (rtcCenter) {\n modelMatrix.translate(rtcCenter);\n }\n\n // glTF models need to be rotated from Y to Z up\n // https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification#y-up-to-z-up\n switch (gltfUpAxis) {\n case 'Z':\n break;\n case 'Y':\n const rotationY = new Matrix4().rotateX(Math.PI / 2);\n modelMatrix = modelMatrix.multiplyRight(rotationY);\n break;\n case 'X':\n const rotationX = new Matrix4().rotateY(-Math.PI / 2);\n modelMatrix = modelMatrix.multiplyRight(rotationX);\n break;\n default:\n break;\n }\n\n const cartesianOrigin = new Vector3(center);\n const cartographicOrigin = Ellipsoid.WGS84.cartesianToCartographic(\n cartesianOrigin,\n new Vector3()\n );\n return {modelMatrix, cartographicOrigin};\n}\n\n/**\n * Traverse all nodes to replace all sensible data with copy to avoid data corruption in worker.\n * @param nodes\n */\nfunction prepareNodes(nodes: GLTFNodePostprocessed[]): void {\n for (let index = 0; index < nodes.length; index++) {\n const node = nodes[index] as any;\n\n if (node.mesh) {\n nodes[index] = {\n ...node,\n mesh: {\n ...node.mesh,\n primitives: node.mesh?.primitives.map((primitive) => ({\n ...primitive,\n indices: {value: primitive?.indices?.value},\n attributes: getB3DMAttributesWithoutBufferView(primitive.attributes),\n material: {\n id: primitive?.material?.id,\n uniqueId: primitive?.material?.uniqueId\n }\n }))\n }\n };\n }\n\n if (node.children) {\n prepareNodes(node.children);\n }\n }\n}\n"],"mappings":";;;;;;;;;AAEA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAA8C,SAAAE,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,CAAAC,OAAA,EAAAR,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAmB,yBAAA,GAAAnB,MAAA,CAAAoB,gBAAA,CAAAV,MAAA,EAAAV,MAAA,CAAAmB,yBAAA,CAAAL,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAqB,cAAA,CAAAX,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAWvC,SAASY,kCAAkCA,CAChDC,WAA+B,EAC/BC,aAAsB,EACtBC,cAAoD,EAChC;EAAA,IAAAC,iBAAA,EAAAC,qBAAA,EAAAC,kBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,kBAAA,EAAAC,kBAAA,EAAAC,qBAAA;EACpB,IAAIC,KAAK,GACP,EAAAR,iBAAA,GAAAH,WAAW,CAACY,IAAI,cAAAT,iBAAA,wBAAAC,qBAAA,GAAhBD,iBAAA,CAAkBU,KAAK,cAAAT,qBAAA,uBAAvBA,qBAAA,CAAyBO,KAAK,OAAAN,kBAAA,GAC9BL,WAAW,CAACY,IAAI,cAAAP,kBAAA,wBAAAC,qBAAA,GAAhBD,kBAAA,CAAkBS,MAAM,cAAAR,qBAAA,wBAAAC,sBAAA,GAAxBD,qBAAA,CAA2B,CAAC,CAAC,cAAAC,sBAAA,uBAA7BA,sBAAA,CAA+BI,KAAK,OAAAH,kBAAA,GACpCR,WAAW,CAACY,IAAI,cAAAJ,kBAAA,uBAAhBA,kBAAA,CAAkBG,KAAK,KACvB,EAAE;EAEJ,IAAMI,MAAM,GACV,EAAAN,kBAAA,GAAAT,WAAW,CAACY,IAAI,cAAAH,kBAAA,wBAAAC,qBAAA,GAAhBD,kBAAA,CAAkBM,MAAM,cAAAL,qBAAA,uBAAxBA,qBAAA,CAA0BM,GAAG,CAAC,UAACC,WAAW,EAAK;IAAA,IAAAC,kBAAA;IAE7C,IAAID,WAAW,aAAXA,WAAW,gBAAAC,kBAAA,GAAXD,WAAW,CAAEE,KAAK,cAAAD,kBAAA,eAAlBA,kBAAA,CAAoBE,UAAU,EAAE;MAClC,OAAO,IAAI;IACb,CAAC,MAAM;MAAA,IAAAC,mBAAA;MACL,IAAMC,IAAI,GAAGL,WAAW,aAAXA,WAAW,wBAAAI,mBAAA,GAAXJ,WAAW,CAAEE,KAAK,cAAAE,mBAAA,uBAAlBA,mBAAA,CAAoBC,IAAI;MACrC,IAAMC,QAAQ,GAAG,IAAIC,UAAU,CAACF,IAAI,CAAChC,MAAM,CAAC;MAC5CiC,QAAQ,CAACE,GAAG,CAACH,IAAI,CAAC;MAClB,OAAO;QACLA,IAAI,EAAEC,QAAQ;QACdH,UAAU,EAAE,KAAK;QACjBM,MAAM,EAAET,WAAW,CAACE,KAAK,CAACO,MAAM;QAChCC,KAAK,EAAEV,WAAW,CAACE,KAAK,CAACQ,KAAK;QAC9BC,UAAU,EAAEX,WAAW,CAACE,KAAK,CAACS,UAAU;QACxCC,QAAQ,EAAEZ,WAAW,CAACY;MACxB,CAAC;IACH;EACF,CAAC,CAAC,KAAI,EAAE;EAEVC,YAAY,CAACnB,KAAK,CAAC;EAEnB,IAAAoB,qBAAA,GAAgEC,uBAAuB,CACrFhC,WAAW,EACXC,aAAa,EACbC,cACF,CAAC;IAJM+B,kBAAkB,GAAAF,qBAAA,CAAlBE,kBAAkB;IAAeC,oBAAoB,GAAAH,qBAAA,CAAjCI,WAAW;EAMtC,OAAO;IACLxB,KAAK,EAALA,KAAK;IACLI,MAAM,EAANA,MAAM;IACNkB,kBAAkB,EAAlBA,kBAAkB;IAClBC,oBAAoB,EAApBA;EACF,CAAC;AACH;AAOA,SAASE,kCAAkCA,CACzCC,UAAqD,EAChB;EACrC,IAAMC,2BAAgE,GAAG,CAAC,CAAC;EAE3E,KAAK,IAAMC,aAAa,IAAIF,UAAU,EAAE;IACtCC,2BAA2B,CAACC,aAAa,CAAC,GAAG;MAC3CC,KAAK,EAAEH,UAAU,CAACE,aAAa,CAAC,CAACC;IACnC,CAAC;EACH;EAEA,OAAOF,2BAA2B;AACpC;AAYO,SAASN,uBAAuBA,CACrChC,WAA+B,EAC/BC,aAAsB,EACtBC,cAAoD,EACC;EACrD,IAAOuC,SAAS,GAAgBzC,WAAW,CAApCyC,SAAS;IAAEC,UAAU,GAAI1C,WAAW,CAAzB0C,UAAU;EAC5B,IAAOC,MAAM,GAAIzC,cAAc,CAAxByC,MAAM;EAEb,IAAIR,WAAW,GAAG,IAAIS,aAAO,CAAC3C,aAAa,CAAC;EAG5C,IAAIwC,SAAS,EAAE;IACbN,WAAW,CAACU,SAAS,CAACJ,SAAS,CAAC;EAClC;EAIA,QAAQC,UAAU;IAChB,KAAK,GAAG;MACN;IACF,KAAK,GAAG;MACN,IAAMI,SAAS,GAAG,IAAIF,aAAO,CAAC,CAAC,CAACG,OAAO,CAACC,IAAI,CAACC,EAAE,GAAG,CAAC,CAAC;MACpDd,WAAW,GAAGA,WAAW,CAACe,aAAa,CAACJ,SAAS,CAAC;MAClD;IACF,KAAK,GAAG;MACN,IAAMK,SAAS,GAAG,IAAIP,aAAO,CAAC,CAAC,CAACQ,OAAO,CAAC,CAACJ,IAAI,CAACC,EAAE,GAAG,CAAC,CAAC;MACrDd,WAAW,GAAGA,WAAW,CAACe,aAAa,CAACC,SAAS,CAAC;MAClD;IACF;MACE;EACJ;EAEA,IAAME,eAAe,GAAG,IAAIC,aAAO,CAACX,MAAM,CAAC;EAC3C,IAAMV,kBAAkB,GAAGsB,qBAAS,CAACC,KAAK,CAACC,uBAAuB,CAChEJ,eAAe,EACf,IAAIC,aAAO,CAAC,CACd,CAAC;EACD,OAAO;IAACnB,WAAW,EAAXA,WAAW;IAAEF,kBAAkB,EAAlBA;EAAkB,CAAC;AAC1C;AAMA,SAASH,YAAYA,CAACnB,KAA8B,EAAQ;EAC1D,KAAK,IAAI+C,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAG/C,KAAK,CAACrB,MAAM,EAAEoE,KAAK,EAAE,EAAE;IACjD,IAAMC,IAAI,GAAGhD,KAAK,CAAC+C,KAAK,CAAQ;IAEhC,IAAIC,IAAI,CAACC,IAAI,EAAE;MAAA,IAAAC,UAAA;MACblD,KAAK,CAAC+C,KAAK,CAAC,GAAAxE,aAAA,CAAAA,aAAA,KACPyE,IAAI;QACPC,IAAI,EAAA1E,aAAA,CAAAA,aAAA,KACCyE,IAAI,CAACC,IAAI;UACZE,UAAU,GAAAD,UAAA,GAAEF,IAAI,CAACC,IAAI,cAAAC,UAAA,uBAATA,UAAA,CAAWC,UAAU,CAAC9C,GAAG,CAAC,UAAC+C,SAAS;YAAA,IAAAC,kBAAA,EAAAC,mBAAA,EAAAC,oBAAA;YAAA,OAAAhF,aAAA,CAAAA,aAAA,KAC3C6E,SAAS;cACZI,OAAO,EAAE;gBAAC3B,KAAK,EAAEuB,SAAS,aAATA,SAAS,wBAAAC,kBAAA,GAATD,SAAS,CAAEI,OAAO,cAAAH,kBAAA,uBAAlBA,kBAAA,CAAoBxB;cAAK,CAAC;cAC3CH,UAAU,EAAED,kCAAkC,CAAC2B,SAAS,CAAC1B,UAAU,CAAC;cACpE+B,QAAQ,EAAE;gBACRC,EAAE,EAAEN,SAAS,aAATA,SAAS,wBAAAE,mBAAA,GAATF,SAAS,CAAEK,QAAQ,cAAAH,mBAAA,uBAAnBA,mBAAA,CAAqBI,EAAE;gBAC3BC,QAAQ,EAAEP,SAAS,aAATA,SAAS,wBAAAG,oBAAA,GAATH,SAAS,CAAEK,QAAQ,cAAAF,oBAAA,uBAAnBA,oBAAA,CAAqBI;cACjC;YAAC;UAAA,CACD;QAAC;MACJ,EACF;IACH;IAEA,IAAIX,IAAI,CAACY,QAAQ,EAAE;MACjBzC,YAAY,CAAC6B,IAAI,CAACY,QAAQ,CAAC;IAC7B;EACF;AACF"}
|
|
@@ -38,7 +38,6 @@ var _types = require("./types");
|
|
|
38
38
|
var _workerUtils = require("@loaders.gl/worker-utils");
|
|
39
39
|
var _draco = require("@loaders.gl/draco");
|
|
40
40
|
var _writeQueue = _interopRequireDefault(require("../lib/utils/write-queue"));
|
|
41
|
-
var _i3sAttributesWorker = require("../i3s-attributes-worker");
|
|
42
41
|
var _constants = require("../constants");
|
|
43
42
|
var _featureAttributes = require("./helpers/feature-attributes");
|
|
44
43
|
var _nodeIndexDocument = require("./helpers/node-index-document");
|
|
@@ -127,7 +126,7 @@ var I3SConverter = function () {
|
|
|
127
126
|
key: "convert",
|
|
128
127
|
value: function () {
|
|
129
128
|
var _convert = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
|
|
130
|
-
var tilesetName, slpk, egmFilePath, inputUrl, validate, outputPath, _options$draco, draco, sevenZipExe, maxDepth, token, generateTextures, generateBoundingVolumes, _options$instantNodeW, instantNodeWriting, _options$mergeMateria, mergeMaterials, preloadOptions, preprocessResult, workerFarm;
|
|
129
|
+
var tilesetName, slpk, egmFilePath, inputUrl, validate, outputPath, _options$draco, draco, sevenZipExe, maxDepth, token, generateTextures, generateBoundingVolumes, _options$instantNodeW, instantNodeWriting, _options$mergeMateria, mergeMaterials, preloadOptions, tilesetUrl, preprocessResult, workerFarm;
|
|
131
130
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
132
131
|
while (1) switch (_context.prev = _context.next) {
|
|
133
132
|
case 0:
|
|
@@ -175,54 +174,58 @@ var I3SConverter = function () {
|
|
|
175
174
|
return this._fetchPreloadOptions();
|
|
176
175
|
case 24:
|
|
177
176
|
preloadOptions = _context.sent;
|
|
177
|
+
tilesetUrl = inputUrl;
|
|
178
|
+
if (preloadOptions.url) {
|
|
179
|
+
tilesetUrl = preloadOptions.url;
|
|
180
|
+
}
|
|
178
181
|
if (preloadOptions.headers) {
|
|
179
182
|
this.loadOptions.fetch = {
|
|
180
183
|
headers: preloadOptions.headers
|
|
181
184
|
};
|
|
182
185
|
}
|
|
183
|
-
_context.next =
|
|
184
|
-
return (0, _core.load)(
|
|
185
|
-
case
|
|
186
|
+
_context.next = 30;
|
|
187
|
+
return (0, _core.load)(tilesetUrl, this.Loader, this.loadOptions);
|
|
188
|
+
case 30:
|
|
186
189
|
this.sourceTileset = _context.sent;
|
|
187
|
-
_context.next =
|
|
190
|
+
_context.next = 33;
|
|
188
191
|
return this.preprocessConversion();
|
|
189
|
-
case
|
|
192
|
+
case 33:
|
|
190
193
|
preprocessResult = _context.sent;
|
|
191
194
|
if (!preprocessResult) {
|
|
192
|
-
_context.next =
|
|
195
|
+
_context.next = 39;
|
|
193
196
|
break;
|
|
194
197
|
}
|
|
195
|
-
_context.next = 35;
|
|
196
|
-
return this._createAndSaveTileset(outputPath, tilesetName);
|
|
197
|
-
case 35:
|
|
198
198
|
_context.next = 37;
|
|
199
|
+
return this._createAndSaveTileset(outputPath, tilesetName);
|
|
200
|
+
case 37:
|
|
201
|
+
_context.next = 39;
|
|
199
202
|
return this._finishConversion({
|
|
200
203
|
slpk: Boolean(slpk),
|
|
201
204
|
outputPath: outputPath,
|
|
202
205
|
tilesetName: tilesetName
|
|
203
206
|
});
|
|
204
|
-
case 37:
|
|
205
|
-
_context.next = 42;
|
|
206
|
-
break;
|
|
207
207
|
case 39:
|
|
208
|
-
_context.
|
|
208
|
+
_context.next = 44;
|
|
209
|
+
break;
|
|
210
|
+
case 41:
|
|
211
|
+
_context.prev = 41;
|
|
209
212
|
_context.t0 = _context["catch"](21);
|
|
210
213
|
throw _context.t0;
|
|
211
|
-
case
|
|
212
|
-
_context.prev =
|
|
213
|
-
_context.next =
|
|
214
|
+
case 44:
|
|
215
|
+
_context.prev = 44;
|
|
216
|
+
_context.next = 47;
|
|
214
217
|
return this.writeQueue.finalize();
|
|
215
|
-
case
|
|
218
|
+
case 47:
|
|
216
219
|
workerFarm = _workerUtils.WorkerFarm.getWorkerFarm({});
|
|
217
220
|
workerFarm.destroy();
|
|
218
|
-
return _context.finish(
|
|
219
|
-
case
|
|
221
|
+
return _context.finish(44);
|
|
222
|
+
case 50:
|
|
220
223
|
return _context.abrupt("return", 'success');
|
|
221
|
-
case
|
|
224
|
+
case 51:
|
|
222
225
|
case "end":
|
|
223
226
|
return _context.stop();
|
|
224
227
|
}
|
|
225
|
-
}, _callee, this, [[21,
|
|
228
|
+
}, _callee, this, [[21, 41, 44, 50]]);
|
|
226
229
|
}));
|
|
227
230
|
function convert(_x) {
|
|
228
231
|
return _convert.apply(this, arguments);
|
|
@@ -1498,7 +1501,7 @@ var I3SConverter = function () {
|
|
|
1498
1501
|
key: "loadWorkers",
|
|
1499
1502
|
value: function () {
|
|
1500
1503
|
var _loadWorkers = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee22() {
|
|
1501
|
-
var url,
|
|
1504
|
+
var url, sourceResponse, source, _url, _sourceResponse, _source;
|
|
1502
1505
|
return _regenerator.default.wrap(function _callee22$(_context23) {
|
|
1503
1506
|
while (1) switch (_context23.prev = _context23.next) {
|
|
1504
1507
|
case 0:
|
|
@@ -1511,12 +1514,12 @@ var I3SConverter = function () {
|
|
|
1511
1514
|
_context23.next = 5;
|
|
1512
1515
|
return (0, _core.fetchFile)(url);
|
|
1513
1516
|
case 5:
|
|
1514
|
-
|
|
1517
|
+
sourceResponse = _context23.sent;
|
|
1515
1518
|
_context23.next = 8;
|
|
1516
|
-
return
|
|
1519
|
+
return sourceResponse.text();
|
|
1517
1520
|
case 8:
|
|
1518
|
-
|
|
1519
|
-
this.workerSource.draco =
|
|
1521
|
+
source = _context23.sent;
|
|
1522
|
+
this.workerSource.draco = source;
|
|
1520
1523
|
case 10:
|
|
1521
1524
|
if (!this.generateTextures) {
|
|
1522
1525
|
_context23.next = 19;
|
|
@@ -1526,25 +1529,15 @@ var I3SConverter = function () {
|
|
|
1526
1529
|
_context23.next = 14;
|
|
1527
1530
|
return (0, _core.fetchFile)(_url);
|
|
1528
1531
|
case 14:
|
|
1529
|
-
|
|
1532
|
+
_sourceResponse = _context23.sent;
|
|
1530
1533
|
_context23.next = 17;
|
|
1531
|
-
return
|
|
1534
|
+
return _sourceResponse.text();
|
|
1532
1535
|
case 17:
|
|
1533
|
-
|
|
1534
|
-
this.workerSource.ktx2 =
|
|
1536
|
+
_source = _context23.sent;
|
|
1537
|
+
this.workerSource.ktx2 = _source;
|
|
1535
1538
|
case 19:
|
|
1536
|
-
i3sAttributesWorkerUrl = (0, _workerUtils.getWorkerURL)(_i3sAttributesWorker.I3SAttributesWorker, _objectSpread({}, (0, _core.getLoaderOptions)()));
|
|
1537
|
-
_context23.next = 22;
|
|
1538
|
-
return (0, _core.fetchFile)(i3sAttributesWorkerUrl);
|
|
1539
|
-
case 22:
|
|
1540
|
-
sourceResponse = _context23.sent;
|
|
1541
|
-
_context23.next = 25;
|
|
1542
|
-
return sourceResponse.text();
|
|
1543
|
-
case 25:
|
|
1544
|
-
source = _context23.sent;
|
|
1545
|
-
this.workerSource.I3SAttributes = source;
|
|
1546
1539
|
console.log("Loading workers source completed!");
|
|
1547
|
-
case
|
|
1540
|
+
case 20:
|
|
1548
1541
|
case "end":
|
|
1549
1542
|
return _context23.stop();
|
|
1550
1543
|
}
|