add wireframe/wireedges to menu

This commit is contained in:
Stewart Allen 2025-06-15 12:53:15 -04:00
commit 420475ecfc
3 changed files with 11 additions and 9 deletions

View file

@ -8,7 +8,6 @@ import '../add/three.js';
import '../mesh/build.js'; import '../mesh/build.js';
import { api } from '../mesh/api.js'; import { api } from '../mesh/api.js';
import { base } from '../geo/base.js';
import { space } from '../moto/space.js'; import { space } from '../moto/space.js';
import { broker } from '../moto/broker.js'; import { broker } from '../moto/broker.js';
import { $, $d, h, estop } from '../moto/webui.js'; import { $, $d, h, estop } from '../moto/webui.js';
@ -270,13 +269,7 @@ function space_init(data) {
case 'KeyV': case 'KeyV':
return shiftKey ? selection.show() : selection.focus(); return shiftKey ? selection.show() : selection.focus();
case 'KeyW': case 'KeyW':
return shiftKey ? return shiftKey ? api.wireframe() : api.wireedges();
api.wireframe() :
api.wireframe({
toggle: true
}, {
edges: base.util.toDegrees(api.prefs.map.surface.radians)
});
case 'KeyX': case 'KeyX':
return api.file.export(); return api.file.export();
} }

View file

@ -4,6 +4,7 @@ import { broker } from '../moto/broker.js';
import { history } from './history.js'; import { history } from './history.js';
import { client as motoClient } from '../moto/client.js'; import { client as motoClient } from '../moto/client.js';
import { space as motoSpace } from '../moto/space.js'; import { space as motoSpace } from '../moto/space.js';
import { base } from '../geo/base.js';
import { util as meshUtil } from './util.js'; import { util as meshUtil } from './util.js';
import { edges as meshEdges } from './edges.js'; import { edges as meshEdges } from './edges.js';
import { group as meshGroup } from './group.js'; import { group as meshGroup } from './group.js';
@ -1560,6 +1561,13 @@ const api = {
save(); save();
}, },
wireedges(state = { toggle:true }, opt = {
opacity: prefs.map.wireframe.opacity,
edges: base.util.toDegrees(api.prefs.map.surface.radians)
}) {
api.wireframe(state, opt);
},
wireframe(state = { toggle:true }, opt = { wireframe(state = { toggle:true }, opt = {
opacity: prefs.map.wireframe.opacity, opacity: prefs.map.wireframe.opacity,
edges: prefs.map.space.wire_edge edges: prefs.map.space.wire_edge

View file

@ -442,7 +442,8 @@ function ui_build() {
div({ class: "menu-items" }, [ div({ class: "menu-items" }, [
menu_item('Bounds', () => { selection.boundsBox({ toggle: true }) }, 'B'), menu_item('Bounds', () => { selection.boundsBox({ toggle: true }) }, 'B'),
menu_item('Normals', () => { api.normals() }, 'N'), menu_item('Normals', () => { api.normals() }, 'N'),
menu_item('Wireframes', () => { api.wireframe() }, 'W'), menu_item('WireEdges', () => { api.wireedges() }, 'W'),
menu_item('WireFaces', () => { api.wireframe() }, [ 'bi-shift', 'W' ]),
hr(), hr(),
menu_item('Gridlines', () => { api.grid() }, 'G'), menu_item('Gridlines', () => { api.grid() }, 'G'),
menu_item('Messages', () => { api.log.toggle({ spinner: false }) }, 'L'), menu_item('Messages', () => { api.log.toggle({ spinner: false }) }, 'L'),