From 024be442bd846d9cbfd9cb21a269c29ad609cd9f Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Mon, 9 Nov 2020 09:08:13 -0500 Subject: [PATCH] allow default layer off. disable moves layers default --- src/kiri/codec.js | 6 ++++-- src/kiri/render.js | 3 ++- src/kiri/stacks.js | 7 ++++++- src/mode/fdm/prepare.js | 2 +- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/kiri/codec.js b/src/kiri/codec.js index 6f39f5cd..f4525bdf 100644 --- a/src/kiri/codec.js +++ b/src/kiri/codec.js @@ -115,7 +115,8 @@ faces: codec.allocFloat32Array(layer.faces), color: layer.color, paths: layer.paths, - cpath: layer.cpath + cpath: layer.cpath, + off: layer.off } }) }; return enc; @@ -130,7 +131,8 @@ faces: v.data[i].faces, color: v.data[i].color, paths: v.data[i].paths, - cpath: v.data[i].cpath + cpath: v.data[i].cpath, + off: v.data[i].off }; } return render; diff --git a/src/kiri/render.js b/src/kiri/render.js index 0e5f21f2..a929422f 100644 --- a/src/kiri/render.js +++ b/src/kiri/render.js @@ -18,7 +18,7 @@ }; } - setLayer(layer, colors) { + setLayer(layer, colors, off) { let layers = this.layers; if (typeof(colors) === 'number') { colors = { @@ -28,6 +28,7 @@ }; } this.current = layers[layer] = layers[layer] || { + off: off === true, lines: [], polys: [], faces: [], diff --git a/src/kiri/stacks.js b/src/kiri/stacks.js index 2dfe04a8..7afd47c0 100644 --- a/src/kiri/stacks.js +++ b/src/kiri/stacks.js @@ -105,8 +105,10 @@ }) }; } + const defstate = !data.off; const ctrl = DYN[label]; - ctrl.toggle.checked = true; + + ctrl.toggle.checked = defstate; const { polys, lines, faces, paths, cpath } = data; if (polys.length || lines.length) { @@ -127,6 +129,7 @@ group.add(new THREE.LineSegments(geo, mat)); } ctrl.group.push(mat); + mat.visible = defstate; } if (faces.length) { const mat = newMat(data); @@ -139,6 +142,7 @@ mesh.receiveShadow = true; group.add(mesh); ctrl.group.push(mat); + mat.visible = defstate; } if (paths.length) { let mat = []; @@ -147,6 +151,7 @@ } else { mat.push(newMat(data)); } + mat.forEach(m => m.visible = defstate); // const mat = newMat(data); paths.forEach((path, i) => { const { index, faces, z, colors } = path; diff --git a/src/mode/fdm/prepare.js b/src/mode/fdm/prepare.js index 6f2981cd..d78ab7eb 100644 --- a/src/mode/fdm/prepare.js +++ b/src/mode/fdm/prepare.js @@ -455,7 +455,7 @@ } output - .setLayer('move', moveColor) + .setLayer('move', moveColor, true) .addPolys(moves, { thin: true, z: opts.z }); Object.values(prints).forEach(array => { array.forEach(poly => {