From 03493de6d07b96e972ed6c77f7c4581562f82e87 Mon Sep 17 00:00:00 2001 From: yjnoh Date: Thu, 14 Nov 2024 16:43:17 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9E=90=EB=8F=99=EC=8B=9C=20=EB=8F=84?= =?UTF-8?q?=EB=A8=B8,=20=EA=B0=9C=EA=B5=AC=EB=93=B1=EC=9D=84=20=ED=94=BC?= =?UTF-8?q?=ED=95=B4=20=EB=AA=A8=EB=93=88=20=EC=84=A4=EC=B9=98=20=EB=A1=9C?= =?UTF-8?q?=EC=A7=81=20=EC=9E=91=EC=97=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/module/useModuleBasicSetting.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) 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 {