@itk-wasm/mesh-to-poly-data
Version:
Convert an ITK Mesh to a simple data structure compatible with vtkPolyData.
46 lines • 1.68 kB
JavaScript
// 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::PolyData to an itk::Mesh
*
* @param {PolyData} polyData - Input polydata
* @param {PolyDataToMeshOptions} options - options object
*
* @returns {Promise<PolyDataToMeshResult>} - result object
*/
async function polyDataToMesh(polyData, options = {}) {
const desiredOutputs = [
{ type: InterfaceTypes.Mesh },
];
const inputs = [
{ type: InterfaceTypes.PolyData, data: polyData },
];
const args = [];
// Inputs
const polyDataName = '0';
args.push(polyDataName);
// Outputs
const meshName = '0';
args.push(meshName);
// Options
args.push('--memory-io');
const pipelinePath = 'poly-data-to-mesh';
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,
mesh: outputs[0]?.data,
};
return result;
}
export default polyDataToMesh;
//# sourceMappingURL=poly-data-to-mesh.js.map