UNPKG

@itk-wasm/mesh-to-poly-data

Version:

Convert an ITK Mesh to a simple data structure compatible with vtkPolyData.

46 lines 1.66 kB
// Generated file. To retain edits, remove this comment. import { InterfaceTypes, runPipeline } from 'itk-wasm'; import { getPipelinesBaseUrl } from './pipelines-base-url.js'; import { getPipelineWorkerUrl } from './pipeline-worker-url.js'; import { getDefaultWebWorker } from './default-web-worker.js'; /** * Convert an itk::Mesh to an itk::PolyData * * @param {Mesh} mesh - Input mesh * @param {MeshToPolyDataOptions} options - options object * * @returns {Promise<MeshToPolyDataResult>} - result object */ async function meshToPolyData(mesh, options = {}) { const desiredOutputs = [ { type: InterfaceTypes.PolyData }, ]; const inputs = [ { type: InterfaceTypes.Mesh, data: mesh }, ]; const args = []; // Inputs const meshName = '0'; args.push(meshName); // Outputs const polyDataName = '0'; args.push(polyDataName); // Options args.push('--memory-io'); const pipelinePath = 'mesh-to-poly-data'; let workerToUse = options?.webWorker; if (workerToUse === undefined) { workerToUse = await getDefaultWebWorker(); } const { webWorker: usedWebWorker, returnValue, stderr, outputs } = await runPipeline(pipelinePath, args, desiredOutputs, inputs, { pipelineBaseUrl: getPipelinesBaseUrl(), pipelineWorkerUrl: getPipelineWorkerUrl(), webWorker: workerToUse, noCopy: options?.noCopy }); if (returnValue !== 0 && stderr !== "") { throw new Error(stderr); } const result = { webWorker: usedWebWorker, polyData: outputs[0]?.data, }; return result; } export default meshToPolyData; //# sourceMappingURL=mesh-to-poly-data.js.map