Browse Source

ESC 键 / 自己连接自己

master
修宁 7 months ago
parent
commit
15b255af42
  1. 4
      src/designer/menus/EditMenu.ts
  2. 11
      src/model/ModelUtils.ts
  3. 6
      src/model/itemType/ToolboxLine.ts

4
src/designer/menus/EditMenu.ts

@ -1,7 +1,7 @@
import { renderIcon } from '@/utils/webutils.ts'
import { defineMenu } from '@/runtime/DefineMenu.ts'
import SvgCode from '@/components/icons/SvgCode'
import { quickCopyByMouse } from '@/model/ModelUtils.ts'
import { escByKey, quickCopyByMouse } from '@/model/ModelUtils.ts'
export default defineMenu((menus) => {
menus.insertChildren('modelFile',
@ -66,7 +66,7 @@ export default defineMenu((menus) => {
{
name: 'edit_property_esc', label: '取消', order: 1, tip: 'key-esc',
click() {
system.msg('ESC')
escByKey()
}
},
{

11
src/model/ModelUtils.ts

@ -7,6 +7,17 @@ import { computeBoundsTree, disposeBoundsTree } from 'three-mesh-bvh'
import { Vector2 } from 'three/src/math/Vector2'
import type Toolbox from '@/model/itemType/Toolbox.ts'
export function escByKey() {
// 按下 ESC 键,取消当前操作
const viewport: Viewport = window['viewport']
if (!viewport) {
return
}
viewport.state.cursorMode = 'normal'
system.msg('操作已取消')
}
export function quickCopyByMouse() {
// 获取鼠标位置,查看鼠标是否在某个 viewport 的画布上,并取得该 viewport
const currentMouseInfo = window['CurrentMouseInfo']

6
src/model/itemType/ToolboxLine.ts

@ -71,7 +71,11 @@ export default class ToolboxLine extends Toolbox {
}
})
if (vv && catchPoint) {
if (catchPoint) {
if (this.startPoint === catchPoint) {
// 自己连接自己,忽略
return
}
// 如果捕获到点,则将线条连接到该点
if (this.startPoint) {
this.afterAddPoint(this.startPoint, catchPoint)

Loading…
Cancel
Save