외벽선 작성 닫으면 startPoint 제거, 지붕면 할당 시 이미 할당된 지붕은 재할당 안하도록 수정
This commit is contained in:
parent
7fc06799b6
commit
0dd6e7d707
@ -159,6 +159,7 @@ export const SAVE_KEY = [
|
|||||||
'arrow',
|
'arrow',
|
||||||
'surfaceCompass',
|
'surfaceCompass',
|
||||||
'moduleCompass',
|
'moduleCompass',
|
||||||
|
'isFixed',
|
||||||
]
|
]
|
||||||
|
|
||||||
export const OBJECT_PROTOTYPE = [fabric.Line.prototype, fabric.Polygon.prototype, fabric.Triangle.prototype]
|
export const OBJECT_PROTOTYPE = [fabric.Line.prototype, fabric.Polygon.prototype, fabric.Triangle.prototype]
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import { useEffect, useRef } from 'react'
|
import { useEffect, useRef } from 'react'
|
||||||
import { distanceBetweenPoints } from '@/util/canvas-util'
|
import { distanceBetweenPoints } from '@/util/canvas-util'
|
||||||
import { useRecoilState, useRecoilValue, useSetRecoilState } from 'recoil'
|
import { useRecoilState, useRecoilValue, useResetRecoilState, useSetRecoilState } from 'recoil'
|
||||||
import {
|
import {
|
||||||
adsorptionPointAddModeState,
|
adsorptionPointAddModeState,
|
||||||
adsorptionPointModeState,
|
adsorptionPointModeState,
|
||||||
@ -65,6 +65,7 @@ export function useOuterLineWall(id, propertiesId) {
|
|||||||
const [arrow1, setArrow1] = useRecoilState(outerLineArrow1State)
|
const [arrow1, setArrow1] = useRecoilState(outerLineArrow1State)
|
||||||
const [arrow2, setArrow2] = useRecoilState(outerLineArrow2State)
|
const [arrow2, setArrow2] = useRecoilState(outerLineArrow2State)
|
||||||
const [points, setPoints] = useRecoilState(outerLinePointsState)
|
const [points, setPoints] = useRecoilState(outerLinePointsState)
|
||||||
|
const resetPoints = useResetRecoilState(outerLinePointsState)
|
||||||
const [type, setType] = useRecoilState(outerLineTypeState)
|
const [type, setType] = useRecoilState(outerLineTypeState)
|
||||||
const [angle1, setAngle1] = useRecoilState(outerLineAngle1State)
|
const [angle1, setAngle1] = useRecoilState(outerLineAngle1State)
|
||||||
const [angle2, setAngle2] = useRecoilState(outerLineAngle2State)
|
const [angle2, setAngle2] = useRecoilState(outerLineAngle2State)
|
||||||
@ -88,6 +89,13 @@ export function useOuterLineWall(id, propertiesId) {
|
|||||||
clear()
|
clear()
|
||||||
return () => {
|
return () => {
|
||||||
initEvent()
|
initEvent()
|
||||||
|
|
||||||
|
canvas
|
||||||
|
.getObjects()
|
||||||
|
.filter((obj) => obj.name === 'startPoint')
|
||||||
|
.forEach((obj) => {
|
||||||
|
canvas.remove(obj)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}, [verticalHorizontalMode, points, adsorptionPointAddMode, adsorptionPointMode, adsorptionRange, interval, tempGridMode])
|
}, [verticalHorizontalMode, points, adsorptionPointAddMode, adsorptionPointMode, adsorptionRange, interval, tempGridMode])
|
||||||
|
|
||||||
|
|||||||
@ -176,7 +176,7 @@ export function useRoofAllocationSetting(id) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const apply = () => {
|
const apply = () => {
|
||||||
const roofBases = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.ROOF)
|
const roofBases = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.ROOF && !obj.isFixed)
|
||||||
const wallLines = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.WALL)
|
const wallLines = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.WALL)
|
||||||
roofBases.forEach((roofBase) => {
|
roofBases.forEach((roofBase) => {
|
||||||
try {
|
try {
|
||||||
@ -199,6 +199,10 @@ export function useRoofAllocationSetting(id) {
|
|||||||
const roofs = canvas.getObjects().filter((obj) => obj.name === 'roof')
|
const roofs = canvas.getObjects().filter((obj) => obj.name === 'roof')
|
||||||
|
|
||||||
roofs.forEach((roof) => {
|
roofs.forEach((roof) => {
|
||||||
|
if (roof.isFixed) return
|
||||||
|
roof.set({
|
||||||
|
isFixed: true,
|
||||||
|
})
|
||||||
setSurfaceShapePattern(roof, roofDisplay.column)
|
setSurfaceShapePattern(roof, roofDisplay.column)
|
||||||
drawDirectionArrow(roof)
|
drawDirectionArrow(roof)
|
||||||
})
|
})
|
||||||
|
|||||||
@ -305,7 +305,6 @@ export const usePolygon = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let text = ''
|
let text = ''
|
||||||
console.log('direction', direction, surfaceCompass, moduleCompass)
|
|
||||||
|
|
||||||
const compassType = (375 - moduleCompass) / 15
|
const compassType = (375 - moduleCompass) / 15
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user