fix poppedRec ref when menu hides after + click
This commit is contained in:
parent
8c83e1d482
commit
5d79a4fe41
1 changed files with 8 additions and 7 deletions
|
|
@ -25,6 +25,7 @@ let isAnimate,
|
||||||
current,
|
current,
|
||||||
currentIndex,
|
currentIndex,
|
||||||
flipping,
|
flipping,
|
||||||
|
poppedRecOld,
|
||||||
poppedRec,
|
poppedRec,
|
||||||
hoveredOp,
|
hoveredOp,
|
||||||
API, FDM, SPACE, STACKS, MODES, VIEWS, UI, UC, LANG, MCAM;
|
API, FDM, SPACE, STACKS, MODES, VIEWS, UI, UC, LANG, MCAM;
|
||||||
|
|
@ -483,7 +484,7 @@ CAM.init = function(kiri, api) {
|
||||||
unpop = func.unpop = el.unpop;
|
unpop = func.unpop = el.unpop;
|
||||||
inside = true;
|
inside = true;
|
||||||
// pointer to current rec for trace editing
|
// pointer to current rec for trace editing
|
||||||
poppedRec = rec;
|
poppedRec = poppedRecOld = rec;
|
||||||
popped = true;
|
popped = true;
|
||||||
poprec.use(rec);
|
poprec.use(rec);
|
||||||
hoveredOp = el;
|
hoveredOp = el;
|
||||||
|
|
@ -812,7 +813,7 @@ CAM.init = function(kiri, api) {
|
||||||
func.surfaceAdd = (ev) => {
|
func.surfaceAdd = (ev) => {
|
||||||
func.clearPops();
|
func.clearPops();
|
||||||
alert = api.show.alert("analyzing surfaces...", 1000);
|
alert = api.show.alert("analyzing surfaces...", 1000);
|
||||||
let surfaces = poppedRec.surfaces;
|
let surfaces = poppedRecOld.surfaces;
|
||||||
CAM.surface_prep(currentIndex * RAD2DEG, () => {
|
CAM.surface_prep(currentIndex * RAD2DEG, () => {
|
||||||
api.hide.alert(alert);
|
api.hide.alert(alert);
|
||||||
alert = api.show.alert("[esc] cancels surface editing");
|
alert = api.show.alert("[esc] cancels surface editing");
|
||||||
|
|
@ -842,7 +843,7 @@ CAM.init = function(kiri, api) {
|
||||||
if (!surfaceOn) {
|
if (!surfaceOn) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let surfaces = poppedRec.surfaces;
|
let surfaces = poppedRecOld.surfaces;
|
||||||
for (let wid of Object.keys(surfaces)) {
|
for (let wid of Object.keys(surfaces)) {
|
||||||
let widget = api.widgets.forid(wid);
|
let widget = api.widgets.forid(wid);
|
||||||
if (widget) {
|
if (widget) {
|
||||||
|
|
@ -882,7 +883,7 @@ CAM.init = function(kiri, api) {
|
||||||
widget.trace_stack.show();
|
widget.trace_stack.show();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let areas = (poppedRec.areas[widget.id] || []);
|
let areas = (poppedRecOld.areas[widget.id] || []);
|
||||||
let stack = new kiri.Stack(widget.mesh);
|
let stack = new kiri.Stack(widget.mesh);
|
||||||
widget.trace_stack = stack;
|
widget.trace_stack = stack;
|
||||||
widget.traces.forEach(poly => {
|
widget.traces.forEach(poly => {
|
||||||
|
|
@ -904,7 +905,7 @@ CAM.init = function(kiri, api) {
|
||||||
});
|
});
|
||||||
// ensure appropriate traces are toggled matching current record
|
// ensure appropriate traces are toggled matching current record
|
||||||
kiri.api.widgets.for(widget => {
|
kiri.api.widgets.for(widget => {
|
||||||
let areas = (poppedRec.areas[widget.id] || []);
|
let areas = (poppedRecOld.areas[widget.id] || []);
|
||||||
let stack = widget.trace_stack;
|
let stack = widget.trace_stack;
|
||||||
stack.meshes.forEach(mesh => {
|
stack.meshes.forEach(mesh => {
|
||||||
let { poly } = mesh.trace;
|
let { poly } = mesh.trace;
|
||||||
|
|
@ -918,7 +919,7 @@ CAM.init = function(kiri, api) {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}, poppedRec.select === 'lines');
|
}, poppedRecOld.select === 'lines');
|
||||||
};
|
};
|
||||||
func.traceDone = () => {
|
func.traceDone = () => {
|
||||||
if (!traceOn) {
|
if (!traceOn) {
|
||||||
|
|
@ -1000,7 +1001,7 @@ CAM.init = function(kiri, api) {
|
||||||
let material = obj.material[0];
|
let material = obj.material[0];
|
||||||
let { color, colorSave } = material;
|
let { color, colorSave } = material;
|
||||||
let { widget, poly } = obj.trace;
|
let { widget, poly } = obj.trace;
|
||||||
let areas = poppedRec.areas;
|
let areas = poppedRecOld.areas;
|
||||||
if (!areas) {
|
if (!areas) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue