skip renderning when using engine api

This commit is contained in:
Stewart Allen 2021-01-01 11:55:49 -05:00
commit 7b43a5736f
3 changed files with 18 additions and 9 deletions

View file

@ -13,6 +13,7 @@ class Engine {
this.settings = {
mode: "FDM",
controller: {},
internal: true,
filter: { FDM: "internal" },
device: KIRI.conf.defaults.fdm.d, // device profile
process: KIRI.conf.defaults.fdm.p, // slicing settings

View file

@ -395,10 +395,14 @@
}
print.output = output;
print.render = FDM.prepareRender(output, (progress, layer) => {
update(0.5 + progress * 0.5, "render", layer);
}, { tools: device.extruders, thin: isThin, flat: isFlat, fdm: true });
return print.render;
// render when not internal (engine api)
if (!settings.internal) {
print.render = FDM.prepareRender(output, (progress, layer) => {
update(0.5 + progress * 0.5, "render", layer);
}, { tools: device.extruders, thin: isThin, flat: isFlat, fdm: true });
return print.render;
}
};
class Counter {

View file

@ -56,7 +56,8 @@
*/
FDM.slice = function(settings, widget, onupdate, ondone) {
FDM.fixExtruders(settings);
let spro = settings.process,
let render = !settings.internal,
spro = settings.process,
sdev = settings.device,
update_start = Date.now(),
minSolid = spro.sliceSolidMinArea,
@ -258,9 +259,12 @@
}, "support");
}
forSlices(0.9, 1.0, function(slice) {
doRender(slice);
}, "render");
// skip rendering in api-only mode
if (render) {
forSlices(0.9, 1.0, function(slice) {
doRender(slice);
}, "render");
}
// report slicing complete
ondone();
@ -323,7 +327,7 @@
if (poly.fill) output
.setLayer("support", COLOR.support)
.addLines(poly.fill, vopt({ offset, height }));
})
});
// if (isThin && debug) {
// output