This commit is contained in:
hyojun.choi 2024-11-14 16:49:23 +09:00
commit 8e4b9dd5e2

View File

@ -8,6 +8,7 @@ import { QPolygon } from '@/components/fabric/QPolygon'
import { moduleSetupSurfaceState, moduleIsSetupState } from '@/store/canvasAtom'
import { useEvent } from '@/hooks/useEvent'
import { POLYGON_TYPE, BATCH_TYPE } from '@/common/common'
import * as turf from '@turf/turf'
export function useModuleBasicSetting() {
@ -374,12 +375,13 @@ export function useModuleBasicSetting() {
}
}
//자동 모듈 설치(그리드 방식)
const autoModuleSetup = () => {
initEvent()
const moduleSetupSurfaces = moduleSetupSurface
const moduleSetupSurfaces = moduleSetupSurface //선택 설치면
const notSelectedTrestlePolygons = canvas
?.getObjects()
.filter((obj) => obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE && !moduleSetupSurfaces.includes(obj))
.filter((obj) => obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE && !moduleSetupSurfaces.includes(obj)) //설치면이 아닌것
const batchObjects = canvas
?.getObjects()
@ -430,7 +432,8 @@ export function useModuleBasicSetting() {
batchObject.set({
points: rectToPolygon(batchObject),
})
convertBatchObject = polygonToTurfPolygon(batchObject)
canvas?.renderAll() // set된걸 바로 적용하기 위해
convertBatchObject = polygonToTurfPolygon(batchObject) //rect를 폴리곤으로 변환 -> turf 폴리곤으로 변환
}
// 폴리곤 안에 도머 폴리곤이 포함되어있는지 확인해서 반환하는 로직
@ -460,6 +463,7 @@ export function useModuleBasicSetting() {
}
const bbox = turf.bbox(difference)
let width = maxLengthLine.flowDirection === 'right' || maxLengthLine.flowDirection === 'left' ? 172.2 : 113.4
let height = maxLengthLine.flowDirection === 'right' || maxLengthLine.flowDirection === 'left' ? 113.4 : 172.2
@ -519,7 +523,6 @@ export function useModuleBasicSetting() {
]
const squarePolygon = turf.polygon([square])
const disjointFromTrestle =
turf.booleanContains(turfModuleSetupSurface, squarePolygon) || turf.booleanWithin(squarePolygon, turfModuleSetupSurface)
@ -531,7 +534,7 @@ export function useModuleBasicSetting() {
let convertBatchObject
//도머가 있으면 적용되는 로직
const isDisjoint = containsBatchObjects.some((batchObject) => {
const isDisjoint = containsBatchObjects.every((batchObject) => {
if (batchObject.type === 'group') {
convertBatchObject = batchObjectGroupToTurfPolygon(batchObject)
} else {