fix(B06): 횡단도 암 경계 노란 점선 삭제
- 암 경계선 그리기 · 호출 · 스타일 삭제 (암 구간 면적 · 수량 계산 그대로) - 쓰는 곳 없는 culvert-cut 스타일 삭제 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EYJJRCfHfdCGNhmXTjQKV7
This commit is contained in:
@@ -24,10 +24,7 @@ import type {
|
|||||||
SectionMode,
|
SectionMode,
|
||||||
SectionSample,
|
SectionSample,
|
||||||
} from "./B06_Section_Api_Fetch";
|
} from "./B06_Section_Api_Fetch";
|
||||||
export {
|
export { appendPavementOverlay } from "./B06_Section_UI_Cross_Design_Surface";
|
||||||
appendPavementOverlay,
|
|
||||||
appendRockBoundaryOverlay,
|
|
||||||
} from "./B06_Section_UI_Cross_Design_Surface";
|
|
||||||
|
|
||||||
const SVG_NS = "http://www.w3.org/2000/svg";
|
const SVG_NS = "http://www.w3.org/2000/svg";
|
||||||
|
|
||||||
|
|||||||
@@ -2,33 +2,6 @@ import type { CrossDesign } from "./B06_Section_Api_Fetch";
|
|||||||
|
|
||||||
const SVG_NS = "http://www.w3.org/2000/svg";
|
const SVG_NS = "http://www.w3.org/2000/svg";
|
||||||
|
|
||||||
export function appendRockBoundaryOverlay(
|
|
||||||
svg: SVGElement,
|
|
||||||
samples: Array<{ offset_m?: number; elevation_m?: number | null; valid: boolean }>,
|
|
||||||
offsetM: number,
|
|
||||||
x: (offset: number) => number,
|
|
||||||
y: (elevation: number) => number,
|
|
||||||
): void {
|
|
||||||
const segments: string[][] = [];
|
|
||||||
let current: string[] = [];
|
|
||||||
for (const sample of samples) {
|
|
||||||
const elevation = sample.elevation_m;
|
|
||||||
if (sample.valid === false || elevation === null || !Number.isFinite(elevation ?? NaN)) {
|
|
||||||
if (current.length > 1) segments.push(current);
|
|
||||||
current = [];
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
current.push(`${x(sample.offset_m ?? 0)},${y((elevation as number) + offsetM)}`);
|
|
||||||
}
|
|
||||||
if (current.length > 1) segments.push(current);
|
|
||||||
for (const points of segments) {
|
|
||||||
const polyline = document.createElementNS(SVG_NS, "polyline");
|
|
||||||
polyline.setAttribute("points", points.join(" "));
|
|
||||||
polyline.setAttribute("class", "b06-chart__rock-boundary");
|
|
||||||
svg.append(polyline);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export function appendPavementOverlay(
|
export function appendPavementOverlay(
|
||||||
svg: SVGElement,
|
svg: SVGElement,
|
||||||
design: CrossDesign,
|
design: CrossDesign,
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ import { appendRevetmentOverlay, computeRevetmentLayout } from "./B06_Section_UI
|
|||||||
import {
|
import {
|
||||||
appendCrossDesignOverlay,
|
appendCrossDesignOverlay,
|
||||||
appendPavementOverlay,
|
appendPavementOverlay,
|
||||||
appendRockBoundaryOverlay,
|
|
||||||
type RockBoundaryControl,
|
type RockBoundaryControl,
|
||||||
} from "./B06_Section_UI_Cross_Design";
|
} from "./B06_Section_UI_Cross_Design";
|
||||||
import { appendCardFooter, appendCardHeader } from "./B06_Section_UI_Cross_Card_Chrome";
|
import { appendCardFooter, appendCardHeader } from "./B06_Section_UI_Cross_Card_Chrome";
|
||||||
@@ -476,16 +475,6 @@ export function createCrossSectionCard(
|
|||||||
// 사토장(유용토운반작업장) — 교본 6장 3절이 횡단도 표시를 요구한다. 값은 설계 결과에서
|
// 사토장(유용토운반작업장) — 교본 6장 3절이 횡단도 표시를 요구한다. 값은 설계 결과에서
|
||||||
// 그대로 오고 여기서 다시 세지 않는다. 선 종류는 터파기 파선과 갈라 둔다.
|
// 그대로 오고 여기서 다시 세지 않는다. 선 종류는 터파기 파선과 갈라 둔다.
|
||||||
appendSpoilFillOverlay(plotLayer, section.design, x, toDisplayY);
|
appendSpoilFillOverlay(plotLayer, section.design, x, toDisplayY);
|
||||||
// 암 경계선 = 지면선 복사 + 오프셋(계획선 기준 아님).
|
|
||||||
if (rockBoundary && section.design.geometry_preset === "rock") {
|
|
||||||
appendRockBoundaryOverlay(
|
|
||||||
plotLayer,
|
|
||||||
drawSamples,
|
|
||||||
rockBoundary.offsetFor(section),
|
|
||||||
x,
|
|
||||||
toDisplayY,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
// 배수관 세트 — 조정창이 쓸 카드 상태를 받아 둔다(2026-08-19) · 링크 카드도 채운다(2026-08-24).
|
// 배수관 세트 — 조정창이 쓸 카드 상태를 받아 둔다(2026-08-19) · 링크 카드도 채운다(2026-08-24).
|
||||||
culvertInletIsBasin = !!culvertLayout?.basin;
|
culvertInletIsBasin = !!culvertLayout?.basin;
|
||||||
culvertHiddenPipe = culvertLayout?.culvert.hidden_pipe === true;
|
culvertHiddenPipe = culvertLayout?.culvert.hidden_pipe === true;
|
||||||
|
|||||||
@@ -168,16 +168,6 @@
|
|||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 암 경계선(설계선 복사 + 오프셋): 리핑암·발파암 구간 점선 */
|
|
||||||
.b06-chart__rock-boundary {
|
|
||||||
fill: none;
|
|
||||||
stroke: var(--color-warning);
|
|
||||||
stroke-width: 1.6;
|
|
||||||
stroke-dasharray: 6 4;
|
|
||||||
stroke-linejoin: round;
|
|
||||||
opacity: 0.9;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 포장층 박스: 노면 양 끝점 기준 두께만큼 하향 채움 */
|
/* 포장층 박스: 노면 양 끝점 기준 두께만큼 하향 채움 */
|
||||||
.b06-chart__pavement {
|
.b06-chart__pavement {
|
||||||
fill: color-mix(in srgb, var(--color-text-secondary) 30%, transparent);
|
fill: color-mix(in srgb, var(--color-text-secondary) 30%, transparent);
|
||||||
@@ -294,13 +284,6 @@
|
|||||||
fill: var(--color-text-secondary);
|
fill: var(--color-text-secondary);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 유입 보호공 공간 확보 절토선 — 말단에서 표준단면 절토경사로 지반까지 */
|
|
||||||
.b06-chart__culvert-cut {
|
|
||||||
stroke: var(--color-warning);
|
|
||||||
stroke-width: 1.4;
|
|
||||||
stroke-dasharray: 5 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 기슭막이 돌 해칭 — 기운 띠 안에 한 줄로 쌓인 큰 돌(실무 도면 형상) */
|
/* 기슭막이 돌 해칭 — 기운 띠 안에 한 줄로 쌓인 큰 돌(실무 도면 형상) */
|
||||||
.b06-chart__culvert-stone {
|
.b06-chart__culvert-stone {
|
||||||
fill: none;
|
fill: none;
|
||||||
|
|||||||
Reference in New Issue
Block a user