diff --git a/src/hooks/module/useModuleBasicSetting.js b/src/hooks/module/useModuleBasicSetting.js index 3fbdf890..9ddf86c4 100644 --- a/src/hooks/module/useModuleBasicSetting.js +++ b/src/hooks/module/useModuleBasicSetting.js @@ -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 {