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) {
|
||||
let group = model.group;
|
||||
let { ctrlKey, metaKey, shiftKey } = event;
|
||||
let { altKey, ctrlKey, metaKey, shiftKey } = event;
|
||||
if (metaKey) {
|
||||
// set focus on intersected face
|
||||
let { x, y, z } = int.point;
|
||||
|
|
@ -408,7 +408,9 @@ function space_init(data) {
|
|||
case modes.line:
|
||||
case modes.vertex:
|
||||
// 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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -508,10 +508,16 @@ mesh.model = class MeshModel extends mesh.object {
|
|||
}
|
||||
}
|
||||
|
||||
toggleSelectedFaces(toggle = []) {
|
||||
selectFaces(list = [], action = {}) {
|
||||
let faces = this.sel.faces;
|
||||
for (let t of toggle) {
|
||||
faces.remove(t) || faces.addOnce(t);
|
||||
for (let t of list) {
|
||||
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(point, face) {
|
||||
find(int, action) {
|
||||
let { point, face } = int;
|
||||
let { x, y, z } = point;
|
||||
let { a, b, c } = face;
|
||||
worker.model_select({
|
||||
|
|
@ -552,7 +559,7 @@ mesh.model = class MeshModel extends mesh.object {
|
|||
let { faces, edges, verts, point } = data;
|
||||
// console.log({data});
|
||||
// this.toggleSelectedVertices(verts);
|
||||
this.toggleSelectedFaces(faces);
|
||||
this.selectFaces(faces, action);
|
||||
this.updateSelections();
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue