rename Render to Layers

This commit is contained in:
Stewart Allen 2020-11-30 22:36:06 -05:00
commit e23c9dfc9b
9 changed files with 33 additions and 24 deletions

5
app.js
View file

@ -267,7 +267,7 @@ const script = {
"kiri/fill",
"kiri/db",
"kiri/slice",
"kiri/render",
"kiri/layers",
"mode/fdm/driver",
"mode/fdm/client",
"mode/sla/driver",
@ -277,6 +277,7 @@ const script = {
"mode/cam/tool",
"mode/cam/animate",
"mode/laser/driver",
"kiri/stack",
"kiri/stacks",
"kiri/widget",
"kiri/print",
@ -313,9 +314,9 @@ const script = {
"moto/pack",
"kiri/fill",
"kiri/slice",
"kiri/render",
"kiri/slicer",
"kiri/slicer2",
"kiri/layers",
"mode/fdm/driver",
"mode/fdm/slice",
"mode/fdm/prepare",

View file

@ -13,6 +13,7 @@ let loc = self.location,
KIRI = self.kiri,
BASE = self.base,
seqid = 1,
syncd = {},
running = {},
slicing = {},
worker = null;
@ -112,6 +113,7 @@ KIRI.work = {
clear: function(widget) {
send("clear", widget ? {id:widget.id} : {}, function(reply) {
// console.log({clear:reply});
syncd = {};
});
},
@ -125,7 +127,8 @@ KIRI.work = {
sync: function(widget) {
let widgets = widget ? [ widget ] : KIRI.api.widgets.all();
widgets.forEach(widget => {
if (widget.modified) {
if (widget.modified || !syncd[widget.id]) {
syncd[widget.id] = true;
let vertices = widget.getGeoVertices().buffer.slice(0);
send("sync", {
id: widget.id,

View file

@ -129,10 +129,10 @@
type: 'slice',
z: this.z,
index: this.index,
render: encode(this.render, state)
layers: encode(this.layers, state)
};
// aggressively free memory
if (freeMem) this.render = undefined;
if (freeMem) this.layers = undefined;
return rv;
};
@ -140,14 +140,14 @@
let slice = KIRI.newSlice(v.z, state.mesh ? state.mesh.newGroup() : null);
slice.index = v.index;
slice.render = decode(v.render, state)
slice.layers = decode(v.layers, state)
return slice;
});
KIRI.Render.prototype.encode = function(state) {
KIRI.Layers.prototype.encode = function(state) {
let enc = {
type: 'render',
type: 'layers',
layers: Object.keys(this.layers),
data: Object.values(this.layers).map(layer => {
const e = {
@ -182,8 +182,8 @@
return enc;
};
registerDecoder('render', function(v, state) {
let render = new KIRI.Render();
registerDecoder('layers', function(v, state) {
let render = new KIRI.Layers();
for (let i=0; i<v.layers.length; i++) {
const d = render.layers[v.layers[i]] = {
polys: decode(v.data[i].polys, state),

View file

@ -3,9 +3,12 @@
"use strict";
(function() {
const KIRI = self.kiri, BASE = self.base, POLY = BASE.polygons, newPolygon = BASE.newPolygon;
let KIRI = self.kiri,
BASE = self.base,
POLY = BASE.polygons,
newPolygon = BASE.newPolygon;
class Render {
class Layers {
constructor() {
this.init();
}
@ -341,5 +344,5 @@
return {index, faces};
}
self.kiri.Render = Render;
self.kiri.Layers = Layers;
})();

View file

@ -35,7 +35,7 @@
this.tops = []; // array of Top objects
this.view = view; // for rendering this slice
this.finger = null; // cached fingerprint
this.render = null; // will replace most of the layer output data
this.layers = null; // will replace most of the layer output data
}
/**
@ -84,11 +84,11 @@
******************************************************************* */
/**
* return Render object for this slice. creates it if necessary.
* return Layers object for this slice. creates it if necessary.
*/
PRO.output = function() {
if (this.render) return this.render;
return this.render = new KIRI.Render();
if (this.layers) return this.layers;
return this.layers = new KIRI.Layers();
};
/**

View file

@ -302,7 +302,7 @@
PRO.clearSlices = function() {
let slices = this.slices,
mesh = this.mesh;
if (slices && mesh) {
if (slices && mesh && mesh.remove) {
slices.forEach(function(slice) {
mesh.remove(slice.view);
});
@ -635,7 +635,9 @@
PRO.render = function(stack) {
const mark = Date.now();
this.slices.forEach(slice => {
if (slice.render) stack.add(slice.render);
if (slice.layers) {
stack.add(slice.layers);
}
});
return Date.now() - mark;
};

View file

@ -219,7 +219,7 @@
KIRI.api.widgets.all().forEach(widget => {
let stack = STACKS.create(`trace-${widget.id}`, widget.mesh);
widget.traces.forEach(slice => {
stack.add(slice.render);
stack.add(slice.layers);
});
});
});
@ -465,7 +465,7 @@
const {x, y, z} = stock;
if (x && y && z && !STACKS.getStack('bounds')) {
const render = new KIRI.Render().setLayer('bounds', { face: 0xaaaaaa, line: 0xaaaaaa });
const render = new KIRI.Layers().setLayer('bounds', { face: 0xaaaaaa, line: 0xaaaaaa });
const stack = STACKS.setFreeMem(false).create('bounds', SPACE.platform.world);
stack.add(render.addPolys([
newPolygon().centerRectangle({x:csox, y:csoy, z:0}, x, y),

View file

@ -316,7 +316,7 @@
.setLayer("contour x", {face: 0, line: 0})
.addPolys(sliceout);
}
onupdate(++stepsTaken, stepsTotal, "contour x");
onupdate(++stepsTaken, stepsTotal, "contour y");
}
}
@ -355,7 +355,7 @@
.setLayer("contour y", {face: 0, line: 0})
.addPolys(sliceout);
}
onupdate(++stepsTaken, stepsTotal, "contour y");
onupdate(++stepsTaken, stepsTotal, "contour x");
}
}

View file

@ -457,7 +457,7 @@
const heads = [];
const retracts = [];
const engages = [];
const output = new KIRI.Render();
const output = new KIRI.Layers();
layers.push(output);
const pushPrint = (toolid, poly) => {