target 의 좌표비교 변경 Math.abs(target.y1 - target.y2) < 0.2
This commit is contained in:
parent
affef782f3
commit
2080c8bf20
@ -217,6 +217,8 @@ export function useMovementSetting(id) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let currentCalculatedValue = 0
|
||||||
|
|
||||||
const mouseMoveEvent = (e) => {
|
const mouseMoveEvent = (e) => {
|
||||||
const target = canvas.getActiveObject()
|
const target = canvas.getActiveObject()
|
||||||
if (!target) return
|
if (!target) return
|
||||||
@ -224,61 +226,71 @@ export function useMovementSetting(id) {
|
|||||||
const { top: targetTop, left: targetLeft } = target
|
const { top: targetTop, left: targetLeft } = target
|
||||||
const currentX = Big(getIntersectMousePoint(e).x) //.round(0, Big.roundUp)
|
const currentX = Big(getIntersectMousePoint(e).x) //.round(0, Big.roundUp)
|
||||||
const currentY = Big(getIntersectMousePoint(e).y) //.round(0, Big.roundUp)
|
const currentY = Big(getIntersectMousePoint(e).y) //.round(0, Big.roundUp)
|
||||||
|
|
||||||
let value = ''
|
let value = ''
|
||||||
if (target.y1 === target.y2) {
|
if (Math.abs(target.y1 - target.y2) < 0.5) {
|
||||||
|
// 가로라인의 경우
|
||||||
value = Big(targetTop).minus(currentY).times(10).round(0)
|
value = Big(targetTop).minus(currentY).times(10).round(0)
|
||||||
|
console.log('가로라인 계산:', `${targetTop} - ${currentY.toNumber()} = ${value.toNumber()}`)
|
||||||
} else {
|
} else {
|
||||||
|
// 세로라인의 경우
|
||||||
value = Big(targetLeft).minus(currentX).times(10).round(0).neg()
|
value = Big(targetLeft).minus(currentX).times(10).round(0).neg()
|
||||||
|
console.log('세로라인 계산:', `-(${targetLeft} - ${currentX.toNumber()}) = ${value.toNumber()}`)
|
||||||
}
|
}
|
||||||
if (typeRef.current === TYPE.FLOW_LINE) {
|
|
||||||
FLOW_LINE_REF.POINTER_INPUT_REF.current.value = value.toNumber()
|
currentCalculatedValue = value.toNumber()
|
||||||
} else {
|
|
||||||
UP_DOWN_REF.POINTER_INPUT_REF.current.value = value.abs().toNumber()
|
if (typeRef.current === TYPE.FLOW_LINE) {
|
||||||
const midX = Big(target.x1).plus(target.x2).div(2)
|
FLOW_LINE_REF.POINTER_INPUT_REF.current.value = value.toNumber()
|
||||||
const midY = Big(target.y1).plus(target.y2).div(2)
|
|
||||||
const wall = canvas.getObjects().find((obj) => obj.id === target.attributes.wallId)
|
|
||||||
let checkPoint
|
|
||||||
if (target.y1 === target.y2) {
|
|
||||||
checkPoint = { x: midX.toNumber(), y: midY.plus(10).toNumber() }
|
|
||||||
if (wall.inPolygon(checkPoint)) {
|
|
||||||
if (value.s === -1) {
|
|
||||||
UP_DOWN_REF.UP_RADIO_REF.current.checked = false
|
|
||||||
UP_DOWN_REF.DOWN_RADIO_REF.current.checked = true
|
|
||||||
} else {
|
|
||||||
UP_DOWN_REF.UP_RADIO_REF.current.checked = true
|
|
||||||
UP_DOWN_REF.DOWN_RADIO_REF.current.checked = false
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (value.s === 1) {
|
UP_DOWN_REF.POINTER_INPUT_REF.current.value = value.abs().toNumber()
|
||||||
UP_DOWN_REF.UP_RADIO_REF.current.checked = false
|
const midX = Big(target.x1).plus(target.x2).div(2)
|
||||||
UP_DOWN_REF.DOWN_RADIO_REF.current.checked = true
|
const midY = Big(target.y1).plus(target.y2).div(2)
|
||||||
|
const wall = canvas.getObjects().find((obj) => obj.id === target.attributes.wallId)
|
||||||
|
let checkPoint
|
||||||
|
if (target.y1 === target.y2) {
|
||||||
|
checkPoint = { x: midX.toNumber(), y: midY.plus(10).toNumber() }
|
||||||
|
if (wall.inPolygon(checkPoint)) {
|
||||||
|
if (value.s === -1) {
|
||||||
|
UP_DOWN_REF.UP_RADIO_REF.current.checked = false
|
||||||
|
UP_DOWN_REF.DOWN_RADIO_REF.current.checked = true
|
||||||
|
} else {
|
||||||
|
UP_DOWN_REF.UP_RADIO_REF.current.checked = true
|
||||||
|
UP_DOWN_REF.DOWN_RADIO_REF.current.checked = false
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (value.s === 1) {
|
||||||
|
UP_DOWN_REF.UP_RADIO_REF.current.checked = false
|
||||||
|
UP_DOWN_REF.DOWN_RADIO_REF.current.checked = true
|
||||||
|
} else {
|
||||||
|
UP_DOWN_REF.UP_RADIO_REF.current.checked = true
|
||||||
|
UP_DOWN_REF.DOWN_RADIO_REF.current.checked = false
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
UP_DOWN_REF.UP_RADIO_REF.current.checked = true
|
checkPoint = { x: midX.plus(10).toNumber(), y: midY.toNumber() }
|
||||||
UP_DOWN_REF.DOWN_RADIO_REF.current.checked = false
|
if (wall.inPolygon(checkPoint)) {
|
||||||
}
|
if (value.s === 1) {
|
||||||
}
|
UP_DOWN_REF.UP_RADIO_REF.current.checked = false
|
||||||
} else {
|
UP_DOWN_REF.DOWN_RADIO_REF.current.checked = true
|
||||||
checkPoint = { x: midX.plus(10).toNumber(), y: midY.toNumber() }
|
} else {
|
||||||
if (wall.inPolygon(checkPoint)) {
|
UP_DOWN_REF.UP_RADIO_REF.current.checked = true
|
||||||
if (value.s === 1) {
|
UP_DOWN_REF.DOWN_RADIO_REF.current.checked = false
|
||||||
UP_DOWN_REF.UP_RADIO_REF.current.checked = false
|
}
|
||||||
UP_DOWN_REF.DOWN_RADIO_REF.current.checked = true
|
} else {
|
||||||
} else {
|
if (value.s === -1) {
|
||||||
UP_DOWN_REF.UP_RADIO_REF.current.checked = true
|
UP_DOWN_REF.UP_RADIO_REF.current.checked = false
|
||||||
UP_DOWN_REF.DOWN_RADIO_REF.current.checked = false
|
UP_DOWN_REF.DOWN_RADIO_REF.current.checked = true
|
||||||
}
|
} else {
|
||||||
} else {
|
UP_DOWN_REF.UP_RADIO_REF.current.checked = true
|
||||||
if (value.s === -1) {
|
UP_DOWN_REF.DOWN_RADIO_REF.current.checked = false
|
||||||
UP_DOWN_REF.UP_RADIO_REF.current.checked = false
|
}
|
||||||
UP_DOWN_REF.DOWN_RADIO_REF.current.checked = true
|
}
|
||||||
} else {
|
|
||||||
UP_DOWN_REF.UP_RADIO_REF.current.checked = true
|
|
||||||
UP_DOWN_REF.DOWN_RADIO_REF.current.checked = false
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const mouseDownEvent = (e) => {
|
const mouseDownEvent = (e) => {
|
||||||
canvas
|
canvas
|
||||||
@ -287,6 +299,7 @@ export function useMovementSetting(id) {
|
|||||||
.forEach((obj) => canvas.remove(obj))
|
.forEach((obj) => canvas.remove(obj))
|
||||||
canvas.renderAll()
|
canvas.renderAll()
|
||||||
|
|
||||||
|
//const target = selectedObject.current
|
||||||
const target = selectedObject.current
|
const target = selectedObject.current
|
||||||
if (!target) return
|
if (!target) return
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user