cam: filter synth in prepare bc tab update. fix first save move between widgets
This commit is contained in:
parent
6af1bda1ab
commit
7befba7040
3 changed files with 7 additions and 2 deletions
|
|
@ -332,6 +332,10 @@ class Widget {
|
||||||
moto.space.refresh();
|
moto.space.refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isSynth() {
|
||||||
|
return this.track.synth ?? false;
|
||||||
|
}
|
||||||
|
|
||||||
isVisible() {
|
isVisible() {
|
||||||
return this.getMaterial().visible;
|
return this.getMaterial().visible;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -810,6 +810,7 @@ export function init() {
|
||||||
clearPops();
|
clearPops();
|
||||||
for (let group of Widget.Groups.list()) {
|
for (let group of Widget.Groups.list()) {
|
||||||
let root = group[0];
|
let root = group[0];
|
||||||
|
if (root.tabs)
|
||||||
for (let tab of Object.values(root.tabs)) {
|
for (let tab of Object.values(root.tabs)) {
|
||||||
let geo = tab.box.geometry.clone();
|
let geo = tab.box.geometry.clone();
|
||||||
if (geo.index) geo = geo.toNonIndexed();
|
if (geo.index) geo = geo.toNonIndexed();
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ export async function cam_prepare(widall, settings, update) {
|
||||||
print.output = [];
|
print.output = [];
|
||||||
|
|
||||||
let point;
|
let point;
|
||||||
widgets.forEach((widget, index) => {
|
widgets.filter(w => !w.isSynth()).forEach((widget, index) => {
|
||||||
point = prepEach(widget, settings, print, point, (progress, msg) => {
|
point = prepEach(widget, settings, print, point, (progress, msg) => {
|
||||||
update((index * weight + progress * weight) * 0.75, msg || "prepare");
|
update((index * weight + progress * weight) * 0.75, msg || "prepare");
|
||||||
});
|
});
|
||||||
|
|
@ -337,7 +337,7 @@ export function prepEach(widget, settings, print, firstPoint, update) {
|
||||||
// 1. move to safe z of current point preserving angle
|
// 1. move to safe z of current point preserving angle
|
||||||
// 2. move to safe z of new point preserving old angle
|
// 2. move to safe z of new point preserving old angle
|
||||||
// 3. move to safe z of new point with new angle
|
// 3. move to safe z of new point with new angle
|
||||||
if (lop && lop !== currentOp && lastPoint) {
|
if (lop !== currentOp && lastPoint) {
|
||||||
// compensate for applyWidgetMovement() applied to lastPoint
|
// compensate for applyWidgetMovement() applied to lastPoint
|
||||||
let lpo = lastPoint.clone().move({ x: -wmx, y: -wmy, z: -zadd });
|
let lpo = lastPoint.clone().move({ x: -wmx, y: -wmy, z: -zadd });
|
||||||
camOut(lpo.clone().setZ(zsafe).setA(lastPoint.a), 0);
|
camOut(lpo.clone().setZ(zsafe).setA(lastPoint.a), 0);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue