|
|
@ -1,7 +1,7 @@ |
|
|
import type Viewport from '@/designer/Viewport.ts' |
|
|
import type Viewport from '@/designer/Viewport.ts' |
|
|
import type { ITool } from '@/designer/model2DEditor/tools/ITool.ts' |
|
|
import type { ITool } from '@/designer/model2DEditor/tools/ITool.ts' |
|
|
|
|
|
|
|
|
let pmFn |
|
|
let pmFn, otFn, lvFn |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 鼠标移动时,将鼠标位置的坐标转换为设计图上的坐标,并设置到 designer.mousePos 属性中 |
|
|
* 鼠标移动时,将鼠标位置的坐标转换为设计图上的坐标,并设置到 designer.mousePos 属性中 |
|
|
@ -18,12 +18,29 @@ export default class MouseMoveInspect implements ITool { |
|
|
this.canvas = this.viewport.renderer.domElement as HTMLCanvasElement |
|
|
this.canvas = this.viewport.renderer.domElement as HTMLCanvasElement |
|
|
|
|
|
|
|
|
pmFn = this.mouseMove.bind(this) |
|
|
pmFn = this.mouseMove.bind(this) |
|
|
|
|
|
otFn = this.mouseLv.bind(this) |
|
|
|
|
|
lvFn = this.mouseLv.bind(this) |
|
|
this.canvas.addEventListener('pointermove', pmFn) |
|
|
this.canvas.addEventListener('pointermove', pmFn) |
|
|
|
|
|
this.canvas.addEventListener('pointerout', otFn) |
|
|
|
|
|
this.canvas.addEventListener('mouseleave', lvFn) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
destory() { |
|
|
destory() { |
|
|
this.canvas.removeEventListener('pointermove', pmFn) |
|
|
this.canvas.removeEventListener('pointermove', pmFn) |
|
|
pmFn = undefined |
|
|
pmFn = undefined |
|
|
|
|
|
this.canvas.removeEventListener('pointerout', otFn) |
|
|
|
|
|
otFn = undefined |
|
|
|
|
|
this.canvas.removeEventListener('mouseleave', lvFn) |
|
|
|
|
|
lvFn = undefined |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
mouseLv() { |
|
|
|
|
|
this.viewport.state.mouse.x = 0 |
|
|
|
|
|
this.viewport.state.mouse.z = 0 |
|
|
|
|
|
window['CurrentMouseInfo'] = { |
|
|
|
|
|
x: 0, |
|
|
|
|
|
z: 0 |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
mouseMove = _.throttle(function(this: MouseMoveInspect, event: MouseEvent) { |
|
|
mouseMove = _.throttle(function(this: MouseMoveInspect, event: MouseEvent) { |
|
|
@ -36,5 +53,11 @@ export default class MouseMoveInspect implements ITool { |
|
|
this.viewport.state.mouse.x = point.x |
|
|
this.viewport.state.mouse.x = point.x |
|
|
this.viewport.state.mouse.z = point.z |
|
|
this.viewport.state.mouse.z = point.z |
|
|
|
|
|
|
|
|
|
|
|
window['CurrentMouseInfo'] = { |
|
|
|
|
|
viewport: this.viewport, |
|
|
|
|
|
x: point.x, |
|
|
|
|
|
z: point.z |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
}, 1) |
|
|
}, 1) |
|
|
} |
|
|
} |