add boolean intersect

This commit is contained in:
Stewart Allen 2022-04-20 19:35:57 -04:00
commit 275666459e
3 changed files with 27 additions and 3 deletions

View file

@ -150,6 +150,13 @@ let model = {
return base.CSG.toPositionArray(union);
},
intersect(recs) {
let arrays = recs.map(rec => translate_encode(rec.id, rec.matrix));
let solids = arrays.map(a => base.CSG.fromPositionArray(a));
let union = base.CSG.intersect(...solids);
return base.CSG.toPositionArray(union);
},
subtract(recs) {
let bases = recs.filter(rec => !rec.tool)
.map(rec => translate_encode(rec.id, rec.matrix))