[2283-2] 자동배치(自動配置) 비선택면 모듈 보존 — 選択面のみ再配置、未選択面はそのまま維持

This commit is contained in:
ysCha 2026-06-09 16:01:48 +09:00
parent 567fa49d61
commit 26dbe35ea4

View File

@ -1951,9 +1951,6 @@ export function useModuleBasicSetting(tabNum) {
const isMaxSetup = false
const moduleSetupSurfaces = moduleSetupSurface //선택 설치면
const notSelectedTrestlePolygons = canvas
?.getObjects()
.filter((obj) => obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE && !moduleSetupSurfaces.includes(obj)) //설치면이 아닌것
const batchObjects = canvas?.getObjects().filter((obj) => obj.name === POLYGON_TYPE.OBJECT_SURFACE) //도머s 객체
@ -1962,14 +1959,8 @@ export function useModuleBasicSetting(tabNum) {
return
}
//어짜피 자동으로 누르면 선택안된데도 다 날아간다
// canvas.getObjects().forEach((obj) => {
// if (obj.name === POLYGON_TYPE.MODULE) {
// canvas.remove(obj)
// }
// })
//자동일때만 선택 안된 모듈 삭제
// [AUTO-KEEP-UNSELECTED 2026-06-09] 自動配置도 선택 안 된 면의 모듈은 보존 (전체 리셋 → 선택면만 재배치)
// 선택된 설치면의 기존 모듈만 삭제 후 재배치
moduleSetupSurfaces.forEach((obj) => {
if (obj.modules) {
obj.modules.forEach((module) => {
@ -1980,18 +1971,6 @@ export function useModuleBasicSetting(tabNum) {
}
})
if (type === MODULE_SETUP_TYPE.AUTO) {
notSelectedTrestlePolygons.forEach((obj) => {
if (obj.modules) {
obj.modules.forEach((module) => {
canvas?.remove(module)
canvas?.renderAll()
})
obj.modules = []
}
})
}
let moduleOptions = {
stroke: 'black',
strokeWidth: 0.3,
@ -3048,6 +3027,7 @@ export function useModuleBasicSetting(tabNum) {
icon: 'warning',
})
}
}
const coordToTurfPolygon = (points) => {