allow select, clear, toggle faces with alt and shift key modifiers
This commit is contained in:
parent
57b0c3d50b
commit
a81a1f0b60
2 changed files with 16 additions and 7 deletions
|
|
@ -388,7 +388,7 @@ function space_init(data) {
|
||||||
}
|
}
|
||||||
if (model) {
|
if (model) {
|
||||||
let group = model.group;
|
let group = model.group;
|
||||||
let { ctrlKey, metaKey, shiftKey } = event;
|
let { altKey, ctrlKey, metaKey, shiftKey } = event;
|
||||||
if (metaKey) {
|
if (metaKey) {
|
||||||
// set focus on intersected face
|
// set focus on intersected face
|
||||||
let { x, y, z } = int.point;
|
let { x, y, z } = int.point;
|
||||||
|
|
@ -408,7 +408,9 @@ function space_init(data) {
|
||||||
case modes.line:
|
case modes.line:
|
||||||
case modes.vertex:
|
case modes.vertex:
|
||||||
// find faces adjacent to point/line clicked
|
// find faces adjacent to point/line clicked
|
||||||
model.find(int.point, int.face);
|
model.find(int,
|
||||||
|
altKey ? { toggle: true } :
|
||||||
|
shiftKey ? { clear: true } : { select: true });
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -508,10 +508,16 @@ mesh.model = class MeshModel extends mesh.object {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
toggleSelectedFaces(toggle = []) {
|
selectFaces(list = [], action = {}) {
|
||||||
let faces = this.sel.faces;
|
let faces = this.sel.faces;
|
||||||
for (let t of toggle) {
|
for (let t of list) {
|
||||||
faces.remove(t) || faces.addOnce(t);
|
if (action.toggle) {
|
||||||
|
faces.remove(t) || faces.addOnce(t);
|
||||||
|
} else if (action.clear) {
|
||||||
|
faces.remove(t);
|
||||||
|
} else if (action.select) {
|
||||||
|
faces.addOnce(t);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -543,7 +549,8 @@ mesh.model = class MeshModel extends mesh.object {
|
||||||
}
|
}
|
||||||
|
|
||||||
// find adjacent faces to clicked point/line on a face
|
// find adjacent faces to clicked point/line on a face
|
||||||
find(point, face) {
|
find(int, action) {
|
||||||
|
let { point, face } = int;
|
||||||
let { x, y, z } = point;
|
let { x, y, z } = point;
|
||||||
let { a, b, c } = face;
|
let { a, b, c } = face;
|
||||||
worker.model_select({
|
worker.model_select({
|
||||||
|
|
@ -552,7 +559,7 @@ mesh.model = class MeshModel extends mesh.object {
|
||||||
let { faces, edges, verts, point } = data;
|
let { faces, edges, verts, point } = data;
|
||||||
// console.log({data});
|
// console.log({data});
|
||||||
// this.toggleSelectedVertices(verts);
|
// this.toggleSelectedVertices(verts);
|
||||||
this.toggleSelectedFaces(faces);
|
this.selectFaces(faces, action);
|
||||||
this.updateSelections();
|
this.updateSelections();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue