additional layer of bounds checking for moves outside part. bump rev 2.4.D12
This commit is contained in:
parent
83cd531181
commit
4c4626232b
4 changed files with 10 additions and 4 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "grid-apps",
|
"name": "grid-apps",
|
||||||
"version": "2.4.11D",
|
"version": "2.4.12D",
|
||||||
"description": "grid.space 3d slice & modeling tools",
|
"description": "grid.space 3d slice & modeling tools",
|
||||||
"author": "Stewart Allen <sa@grid.space>",
|
"author": "Stewart Allen <sa@grid.space>",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
if (!self.kiri) {
|
if (!self.kiri) {
|
||||||
self.kiri = {
|
self.kiri = {
|
||||||
beta: 2411,
|
beta: 2412,
|
||||||
driver: {}, // driver modules
|
driver: {}, // driver modules
|
||||||
loader: [] // module loading: array of functions
|
loader: [] // module loading: array of functions
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
let terms = {
|
let terms = {
|
||||||
COPYRIGHT: "Copyright (C) Stewart Allen <sa@grid.space> - All Rights Reserved",
|
COPYRIGHT: "Copyright (C) Stewart Allen <sa@grid.space> - All Rights Reserved",
|
||||||
LICENSE: "See the license.md file included with the source distribution",
|
LICENSE: "See the license.md file included with the source distribution",
|
||||||
VERSION: "2.4.D11"
|
VERSION: "2.4.D12"
|
||||||
};
|
};
|
||||||
|
|
||||||
if (typeof(module) === 'object') {
|
if (typeof(module) === 'object') {
|
||||||
|
|
|
||||||
|
|
@ -561,9 +561,15 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
// add shadow perimeter to terrain to catch outside moves off part
|
// 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));
|
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.terrain = terrain;
|
||||||
widget.minToolDiam = minToolDiam;
|
widget.minToolDiam = minToolDiam;
|
||||||
widget.maxToolDiam = maxToolDiam;
|
widget.maxToolDiam = maxToolDiam;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue