dev #931
@ -986,7 +986,10 @@ export function useSurfaceShapeBatch({ isHidden, setIsHidden }) {
|
||||
roof.fire('modified')
|
||||
drawDirectionArrow(roof)
|
||||
changeCorridorDimensionText()
|
||||
addLengthText(roof)
|
||||
// [이동 후 길이 fix] 이동 경로는 addLengthText 만 호출해 actualSize(경사 보정 실제길이)가
|
||||
// 재계산되지 않고 평면길이로 표시되던 문제. 생성/resize 경로와 동일하게
|
||||
// setPolygonLinesActualSize(내부에서 actualSize 재계산 + addLengthText) 로 통일한다.
|
||||
setPolygonLinesActualSize(roof, true)
|
||||
roof.setCoords()
|
||||
initEvent()
|
||||
canvas.renderAll()
|
||||
|
||||
@ -4,7 +4,7 @@ import { fabric } from 'fabric'
|
||||
import { calculateIntersection, findAndRemoveClosestPoint, getDegreeByChon, isPointOnLine } from '@/util/canvas-util'
|
||||
import { QPolygon } from '@/components/fabric/QPolygon'
|
||||
import { calcLinePlaneSize, equalizeSymmetricHips, isSamePoint, removeDuplicatePolygons } from '@/util/qpolygon-utils'
|
||||
import { basicSettingState, flowDisplaySelector } from '@/store/settingAtom'
|
||||
import { basicSettingState, flowDisplaySelector, corridorDimensionSelector } from '@/store/settingAtom'
|
||||
import { fontSelector } from '@/store/fontAtom'
|
||||
import { QLine } from '@/components/fabric/QLine'
|
||||
import { LINE_TYPE, POLYGON_TYPE } from '@/common/common'
|
||||
@ -21,6 +21,7 @@ export const usePolygon = () => {
|
||||
const pitchText = useRecoilValue(pitchTextSelector)
|
||||
const globalPitch = useRecoilValue(globalPitchState)
|
||||
const roofSizeSet = useRecoilValue(basicSettingState).roofSizeSet
|
||||
const corridorDimension = useRecoilValue(corridorDimensionSelector)
|
||||
|
||||
const { setActualSize } = useLine()
|
||||
|
||||
@ -91,8 +92,11 @@ export const usePolygon = () => {
|
||||
const maxY = line.top + line.length
|
||||
const degree = (Math.atan2(y2 - y1, x2 - x1) * 180) / Math.PI
|
||||
|
||||
// [2026-05-18 라벨 저장값 통일] planeSize(정수 또는 0.5 step) 그대로.
|
||||
const __display = planeSize ?? length
|
||||
// [라벨 실제길이 모드 fix] 치수표시가 '복도치수 표시'(corridorDimension) 면 roofSizeSet 무관하게
|
||||
// planeSize(평면길이)를 표시한다. 그 외에는 roofSizeSet===1(실제길이) 이면 actualSize, 아니면 planeSize.
|
||||
// 기존엔 planeSize 만 표시해, 실제치수 모드에서도 이동 후 평면길이(예: 8000)가 나오던 문제.
|
||||
const __isCorridorDimension = corridorDimension?.column === 'corridorDimension'
|
||||
const __display = (__isCorridorDimension ? planeSize : +roofSizeSet === 1 ? actualSize : planeSize) ?? planeSize ?? length
|
||||
const text = new fabric.Textbox(
|
||||
Number(__display).toFixed(1).replace(/\.0$/, ''),
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user