additional layer of bounds checking for moves outside part. bump rev 2.4.D12

This commit is contained in:
Stewart Allen 2020-12-04 09:41:39 -05:00
commit 4c4626232b
4 changed files with 10 additions and 4 deletions

View file

@ -1,6 +1,6 @@
{
"name": "grid-apps",
"version": "2.4.11D",
"version": "2.4.12D",
"description": "grid.space 3d slice & modeling tools",
"author": "Stewart Allen <sa@grid.space>",
"license": "MIT",

View file

@ -6,7 +6,7 @@
if (!self.kiri) {
self.kiri = {
beta: 2411,
beta: 2412,
driver: {}, // driver modules
loader: [] // module loading: array of functions
};

View file

@ -3,7 +3,7 @@
let terms = {
COPYRIGHT: "Copyright (C) Stewart Allen <sa@grid.space> - All Rights Reserved",
LICENSE: "See the license.md file included with the source distribution",
VERSION: "2.4.D11"
VERSION: "2.4.D12"
};
if (typeof(module) === 'object') {

View file

@ -561,9 +561,15 @@
}
// add shadow perimeter to terrain to catch outside moves off part
let shadowOff = POLY.offset(shadowTop.tops, minToolDiam / 2);
let tabpoly = tabs ? tabs.map(tab => tab.poly) : [];
let allpoly = POLY.union([...shadowTop.tops, ...tabpoly], 0, true);
let shadowOff = POLY.offset(allpoly, [minToolDiam/2,maxToolDiam/2], { count: 2, flat: true });
terrain.forEach(level => level.tops.appendAll(shadowOff));
// let dslice = KIRI.newSlice(-1);
// dslice.output().setLayer("shadowOff", { line: 0xff0000 }).addPolys(shadowOff);
// sliceAll.push(dslice);
widget.terrain = terrain;
widget.minToolDiam = minToolDiam;
widget.maxToolDiam = maxToolDiam;