fix grid regen and default to 1/10in minor in imperial mode

This commit is contained in:
Stewart Allen 2020-06-13 11:35:19 -04:00
commit 320d612ee0
2 changed files with 9 additions and 8 deletions

View file

@ -988,7 +988,7 @@
let ctrl = settings.controller, let ctrl = settings.controller,
unitMM = ctrl.units === 'mm', unitMM = ctrl.units === 'mm',
gridMajor = unitMM ? 25 : 25.4, gridMajor = unitMM ? 25 : 25.4,
gridMinor = unitMM ? 5 : 25.4 / 4; gridMinor = unitMM ? 5 : 25.4 / 10;
if (ctrl.dark) { if (ctrl.dark) {
SPACE.platform.setGrid(gridMajor, gridMinor, 0x999999, 0x333333); SPACE.platform.setGrid(gridMajor, gridMinor, 0x999999, 0x333333);
SPACE.platform.opacity(0.8); SPACE.platform.opacity(0.8);

View file

@ -230,11 +230,10 @@
let x = platform.scale.x, let x = platform.scale.x,
y = isRound ? platform.scale.z : platform.scale.y, y = isRound ? platform.scale.z : platform.scale.y,
z = isRound ? platform.scale.y : platform.scale.z, z = isRound ? platform.scale.y : platform.scale.z,
xr = Math.round(x / unitMinor) * unitMinor, xr = Math.ceil(x/2 / unitMinor) * unitMinor,
yr = Math.round(y / unitMinor) * unitMinor, yr = Math.ceil(y/2 / unitMinor) * unitMinor,
xo = isRound ? x/2 : xr/2, xo = isRound ? x/2 : xr,
yo = isRound ? y/2 : yr/2, yo = isRound ? y/2 : yr,
divs = Math.round(unitMajor / unitMinor),
w = x / 2, w = x / 2,
h = y / 2, h = y / 2,
d = z / 2, d = z / 2,
@ -243,7 +242,8 @@
for (i = -xo; i <= xo; i += unitMinor) { for (i = -xo; i <= xo; i += unitMinor) {
let oh = isRound ? Math.sqrt(1-(i/xo)*(i/xo)) * h : h, let oh = isRound ? Math.sqrt(1-(i/xo)*(i/xo)) * h : h,
dM = Math.abs(i % unitMajor); dM = Math.abs(i % unitMajor);
if (dM < 0.1 || Math.abs(unitMajor - dM) < 0.1) { if (i < -w || i > w) continue;
if (dM < 1 || Math.abs(unitMajor - dM) < 0.1) {
majors.append({x:i, y:-oh, z:zp}).append({x:i, y:oh, z:zp}); majors.append({x:i, y:-oh, z:zp}).append({x:i, y:oh, z:zp});
} else { } else {
minors.append({x:i, y:-oh, z:zp}).append({x:i, y:oh, z:zp}); minors.append({x:i, y:-oh, z:zp}).append({x:i, y:oh, z:zp});
@ -252,7 +252,8 @@
for (i = -yo; i <= yo; i += unitMinor) { for (i = -yo; i <= yo; i += unitMinor) {
let ow = isRound ? Math.sqrt(1-(i/yo)*(i/yo)) * w : w, let ow = isRound ? Math.sqrt(1-(i/yo)*(i/yo)) * w : w,
dM = Math.abs(i % unitMajor); dM = Math.abs(i % unitMajor);
if (dM < 0.1 || Math.abs(unitMajor - dM) < 0.1) { if (i < -h || i > h) continue;
if (dM < 1 || Math.abs(unitMajor - dM) < 0.1) {
majors.append({x:-ow, y:i, z:zp}).append({x:ow, y:i, z:zp}); majors.append({x:-ow, y:i, z:zp}).append({x:ow, y:i, z:zp});
} else { } else {
minors.append({x:-ow, y:i, z:zp}).append({x:ow, y:i, z:zp}); minors.append({x:-ow, y:i, z:zp}).append({x:ow, y:i, z:zp});