feat(B05): 계획노선 편집 창 — 측점 라벨 글자 · 호를 눌러도 고름(22-2 · 22-3)
- 누르기(Pointer)에 라벨 상자를 넘기고 눈금 다음에 라벨 · 호 갈래를 더함 - 호를 누르면 교각점을 누른 것과 같은 곡선 · 같은 패널(끌기 없음) - 우선순위 점 · 손잡이 > 눈금 > 라벨 > 호 > 등고선 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EauA2ATmqNRbeV48s9CcBr
This commit is contained in:
@@ -17,10 +17,12 @@ import {
|
||||
type Vertex,
|
||||
} from "./B05_Profile_UI_RouteEdit_Curve";
|
||||
import {
|
||||
arcAtScreen,
|
||||
handleAtScreen,
|
||||
nodeAtScreen,
|
||||
segmentAtScreen,
|
||||
stationAtScreen,
|
||||
stationLabelBoxes,
|
||||
} from "./B05_Profile_UI_RouteEdit_Input";
|
||||
import {
|
||||
curveShortfalls,
|
||||
@@ -186,6 +188,7 @@ export function bindRouteEditPointer(params: RouteEditPointerParams): RouteEditP
|
||||
px,
|
||||
py,
|
||||
STATION_HIT_PX,
|
||||
stationLabelBoxes(canvas),
|
||||
);
|
||||
if (chainage === null) return false;
|
||||
void params.crossPreview.open(chainage);
|
||||
@@ -193,6 +196,19 @@ export function bindRouteEditPointer(params: RouteEditPointerParams): RouteEditP
|
||||
})()
|
||||
) {
|
||||
/* 횡단 창이 떴다 — 더 집지 않는다. */
|
||||
} else if (
|
||||
// 호(곡선 부분)를 누르면 그 곡선을 고른다 — 교각점을 누른 것과 같다(끌기만 없다). 점·눈금 다음.
|
||||
((): boolean => {
|
||||
const node = arcAtScreen(state.curveInfo, toScreen, px, py);
|
||||
if (node < 0) return false;
|
||||
params.setPicked(node);
|
||||
params.measure.clear();
|
||||
params.syncCurveBar();
|
||||
params.draw();
|
||||
return true;
|
||||
})()
|
||||
) {
|
||||
/* 곡선을 골랐다 — 등고선은 안 집는다. */
|
||||
} else if (state.contours) {
|
||||
// 노드도 손잡이도 아니면 **등고선**을 집는다 — 노선 편집이 늘 먼저다(계획서 0-9 ⑦).
|
||||
// 빈 자리를 누르면 -1 이 되어 고른 것이 풀린다.
|
||||
|
||||
Reference in New Issue
Block a user