오브젝트 설치 이상 수정 및 그림자 중복 허용

This commit is contained in:
hyojun.choi 2026-01-30 11:21:06 +09:00
parent 7973c654b5
commit 1207195d04

View File

@ -152,11 +152,17 @@ export function useObjectBatch({ isHidden, setIsHidden }) {
rect.set({ width: Math.abs(width), height: Math.abs(height) })
// 마우스를 왼쪽으로 드래그한 경우 left를 현재 포인터 위치로 설정
if (width < 0) {
rect.set({ left: Math.abs(pointer.x) })
rect.set({ left: pointer.x })
} else {
rect.set({ left: origX })
}
// 마우스를 위쪽으로 드래그한 경우 top을 현재 포인터 위치로 설정
if (height < 0) {
rect.set({ top: Math.abs(pointer.y) })
rect.set({ top: pointer.y })
} else {
rect.set({ top: origY })
}
canvas?.renderAll()
@ -179,7 +185,8 @@ export function useObjectBatch({ isHidden, setIsHidden }) {
}
}
if (!isCrossChecked) {
// 그림자(SHADOW)는 중복 설치 허용, 개구(OPENING)만 중복 체크
if (!isCrossChecked && buttonAct === 1) {
const preObjects = canvas?.getObjects().filter((obj) => obj.name === BATCH_TYPE.OPENING || obj.name === BATCH_TYPE.SHADOW)
const preObjectsArray = preObjects.map((obj) => rectToPolygon(obj))
const isCross = preObjectsArray.some((object) => turf.booleanOverlap(pointsToTurfPolygon(object), rectPolygon))
@ -266,7 +273,8 @@ export function useObjectBatch({ isHidden, setIsHidden }) {
}
}
if (!isCrossChecked) {
// 그림자(SHADOW)는 중복 설치 허용, 개구(OPENING)만 중복 체크
if (!isCrossChecked && buttonAct === 1) {
const preObjects = canvas?.getObjects().filter((obj) => obj.name === BATCH_TYPE.OPENING || obj.name === BATCH_TYPE.SHADOW)
const preObjectsArray = preObjects.map((obj) => rectToPolygon(obj))
const isCross = preObjectsArray.some((object) => turf.booleanOverlap(pointsToTurfPolygon(object), rectPolygon))