Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_1
# Conflicts: # B06_Section/B06_Section_Api_Types.ts
This commit is contained in:
@@ -81,6 +81,9 @@ export interface CrossDesignOptions {
|
||||
standard: StandardCrossSectionSpec;
|
||||
rockBoundaryOffsetM?: number | null;
|
||||
twoStageSlope?: boolean;
|
||||
/** 이 측점만 쓰는 절토 경사비(1:n 의 n) — 카드에서 넣은 사용자 값. 없으면 표준값.
|
||||
* 짝: 파이썬 `compute_cross_design(cut_slope_ratio=…)`. */
|
||||
cutSlopeRatio?: number | null;
|
||||
ditchEnabled?: boolean | null;
|
||||
/** 세월교 월류 높이만큼 노면을 통째로 내린다(m). */
|
||||
surfaceDropM?: number;
|
||||
@@ -252,7 +255,14 @@ export function computeCrossDesign(
|
||||
if (ditchType === "l_type" && presetKey !== "rock") {
|
||||
throw new Error("L형 측구는 암(리핑암/발파암) 구간에서만 선택할 수 있습니다.");
|
||||
}
|
||||
const group = resolveGroup(presetKey, options.standard);
|
||||
let group = resolveGroup(presetKey, options.standard);
|
||||
// 측점 하나만 다른 절토 경사(2026-09-07 사용자 지시) — 표준 그룹의 경사비만 갈아 끼운다.
|
||||
// ⚠ 여기서 갈아야 아래 기하·소단이 전부 새 경사를 따른다. 계산이 끝난 뒤 값만 베껴
|
||||
// 붙이면 설계선은 옛 경사로 그려지고 숫자만 새것이 되어 어긋난다.
|
||||
const userCutRatio = options.cutSlopeRatio;
|
||||
if (typeof userCutRatio === "number" && Number.isFinite(userCutRatio) && userCutRatio > 0) {
|
||||
group = { ...group, cut_slope_ratio: userCutRatio };
|
||||
}
|
||||
const pavedGroup = resolveGroup("paved", options.standard);
|
||||
// 포장 중첩: 횡단경사와 포장층 두께만 포장 그룹을 따른다.
|
||||
const crossSlopePct = paved ? pavedGroup.cross_slope_pct : group.cross_slope_pct;
|
||||
|
||||
Reference in New Issue
Block a user