|
|
@ -5,6 +5,7 @@ import type Viewport from '@/core/engine/Viewport' |
|
|
import { computeBoundsTree, disposeBoundsTree } from 'three-mesh-bvh' |
|
|
import { computeBoundsTree, disposeBoundsTree } from 'three-mesh-bvh' |
|
|
import { Vector2 } from 'three/src/math/Vector2' |
|
|
import { Vector2 } from 'three/src/math/Vector2' |
|
|
import type Toolbox from '@/model/itemType/Toolbox.ts' |
|
|
import type Toolbox from '@/model/itemType/Toolbox.ts' |
|
|
|
|
|
import EventBus from '@/runtime/EventBus.ts' |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 确保所有实体之间的关系满足一致性: |
|
|
* 确保所有实体之间的关系满足一致性: |
|
|
@ -113,38 +114,35 @@ export function parseLineId(lineId): [LinkType, string, string] { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
export function deletePointByKeyboard() { |
|
|
export function deletePointByKeyboard() { |
|
|
system.msg('Delete not impleted yet') |
|
|
const viewport: Viewport = window['viewport'] |
|
|
// const viewport: Viewport = window['viewport']
|
|
|
if (!viewport) { |
|
|
// if (!viewport) {
|
|
|
system.msg('没有找到当前视图') |
|
|
// system.msg('没有找到当前视图')
|
|
|
return |
|
|
// return
|
|
|
} |
|
|
// }
|
|
|
|
|
|
//
|
|
|
const entityId = viewport.state.selectedEntityId |
|
|
// // 按下 Delete 键,删除当前选中的点
|
|
|
if (!entityId) { |
|
|
// if (!viewport.state.selectedObject) {
|
|
|
system.msg('没有选中任何点') |
|
|
// system.msg('没有选中任何点')
|
|
|
return |
|
|
// return
|
|
|
} |
|
|
// }
|
|
|
|
|
|
//
|
|
|
const stateManager = viewport.stateManager |
|
|
// const selectedObject = viewport.state.selectedObject
|
|
|
viewport.stateManager.beginStateUpdate() |
|
|
// if (!(selectedObject instanceof THREE.Object3D)) {
|
|
|
_.remove(stateManager.vdata.items, (item) => item.id === entityId) |
|
|
// system.msg('选中的对象不是有效的点')
|
|
|
viewport.stateManager.endStateUpdate() |
|
|
// return
|
|
|
|
|
|
// }
|
|
|
if (viewport.state.selectedEntityId === entityId) { |
|
|
//
|
|
|
viewport.state.selectedObject = undefined |
|
|
// if (!selectedObject.userData?.type) {
|
|
|
viewport.state.selectedItem = undefined |
|
|
// system.msg('选中的对象没有类型信息')
|
|
|
viewport.state.selectedEntityId = undefined |
|
|
// return
|
|
|
viewport.state.selectedObjectMeta = undefined |
|
|
// }
|
|
|
} |
|
|
//
|
|
|
|
|
|
// const toolbox: Toolbox = viewport.toolbox[selectedObject.userData.type]
|
|
|
EventBus.dispatch('entityDeleted', { |
|
|
// if (!toolbox) {
|
|
|
deleteEntityId: entityId |
|
|
// system.msg('没有找到对应的工具箱')
|
|
|
}) |
|
|
// return
|
|
|
|
|
|
// }
|
|
|
system.msg('删除完成') |
|
|
//
|
|
|
|
|
|
// viewport.state.cursorMode = 'normal'
|
|
|
|
|
|
// toolbox.deletePoint(selectedObject)
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
export function escByKeyboard() { |
|
|
export function escByKeyboard() { |
|
|
|