Doodle3D-Slicer/src/slicerWorker.js
casperlamboo 73f0433e00 wrap progress in object
So data could be extended in the future
2017-07-19 11:02:14 +02:00

31 lines
658 B
JavaScript

import slice from './sliceActions/slice.js';
import * as THREE from 'three';
const loader = new THREE.JSONLoader();
const onProgress = progress => {
self.postMessage({
message: 'PROGRESS',
data: { progress }
});
}
self.addEventListener('message', (event) => {
const { message, data } = event.data;
switch (message) {
case 'SLICE': {
const { geometry: JSONGeometry, settings } = data;
const { geometry } = new loader.parse(JSONGeometry.data);
const gcode = slice(geometry, settings, onProgress);
self.postMessage({
message: 'SLICE',
data: { gcode }
});
break;
}
}
}, false);