add origin offset reset button

This commit is contained in:
Stewart Allen 2025-07-10 19:01:00 -04:00
commit 4197377d85
6 changed files with 43 additions and 8 deletions

View file

@ -4,7 +4,7 @@ import { api } from '../../core/api.js';
import { env, clearPops } from './client.js';
import { CAM } from './driver-fe.js';
import { config } from '../../../geo/base.js';
import { addbox, delbox } from '../../core/boxes.js';
import { addbox, clearboxes } from '../../core/boxes.js';
export let originSelectOn = false;
@ -43,7 +43,7 @@ export function originSelect() {
if (points[center.key]) {
continue;
}
let box = addbox(center, color, center.key, undefined, { opacity: 1 });
let box = addbox(center, color, undefined, undefined, { opacity: 1 });
adds.push(box);
world.add(box);
box._origin = center;
@ -55,6 +55,17 @@ export function originSelect() {
});
}
export function originReset() {
let { process} = api.conf.get();
process.camOriginOffX = 0;
process.camOriginOffY = 0;
process.camOriginOffZ = 0;
api.settings.update_fields(process);
api.platform.update_origin();
api.conf.save();
originSelectDone();
}
export function originSelectDone() {
if (!originSelectOn) {
return;
@ -68,6 +79,7 @@ export function originSelectDone() {
}
widget.adds.length = 0;
});
clearboxes();
originSelectOn = false;
}
@ -108,7 +120,8 @@ function pointHoverUp(int, ev) {
process.camOriginOffX = x;
process.camOriginOffY = y;
process.camOriginOffZ = z;
api.settings.update_fields();
api.settings.update_fields(process);
api.platform.update_origin();
api.conf.save();
originSelectDone();
}

View file

@ -2,7 +2,7 @@
import { api } from '../../core/api.js';
import { env, isDark } from './client.js';
import { addbox, delbox } from '../../core/boxes.js';
import { addbox, delbox, clearboxes } from '../../core/boxes.js';
import { traceDone } from './cl-trace.js';
let showTab, lastTab, tab, iw, ic;
@ -107,6 +107,7 @@ export function clearTabs(widget, skiprec) {
if (!skiprec) {
delete api.widgets.annotate(widget.id).tab;
}
clearboxes();
}
export function updateTabs() {
@ -198,6 +199,7 @@ export function tabAdd() {
export function tabDone() {
delbox('tabb');
clearboxes();
api.hide.alert(alert);
api.feature.hover = false;
if (lastTab) {

View file

@ -1,6 +1,6 @@
import { api } from '../../core/api.js';
import { originSelect } from './cl-origin.js';
import { originReset, originSelect } from './cl-origin.js';
let LANG = api.language.current;
let { CAM } = api.const.MODES,
@ -80,7 +80,10 @@ export function menu() {
camOriginOffY: newInput(LANG.co_offy_s, {title:LANG.co_offy_l, convert:toFloat, units}),
camOriginOffZ: newInput(LANG.co_offz_s, {title:LANG.co_offz_l, convert:toFloat, units}),
separator: newBlank({ class:"set-sep", driven }),
camOriginSelect: newRow([ newButton("select", originSelect)], { class: "ext-buttons f-row" }),
camOriginSelect: newRow([
newButton("select", originSelect),
newButton("reset", originReset),
], { class: "ext-buttons f-row" }),
_____: newGroup(LANG.op_xprt_s, $('cam-expert'), { group:"cam_expert", modes:CAM, marker: false, driven, separator }),
camExpertFast: newBoolean(LANG.cx_fast_s, onBooleanClick, {title:LANG.cx_fast_l, show: () => !ui.camTrueShadow.checked }),
camTrueShadow: newBoolean(LANG.cx_true_s, onBooleanClick, {title:LANG.cx_true_l, show: () => !ui.camExpertFast.checked }),