Sprint 29/30 — 지점부 격벽 + 거더 솟음
Sprint 29: Diaphragm (지점부 격벽). - SceneParams.show_diaphragms 토글 (default true). - 모든 지점(교대+교각) 에서 인접 거더 사이 RC 벽 배치: · 두께(span 방향): 300mm · 높이: girder_h (거더 soffit ~ top) · 폭: spacing - 250mm (web clearance 양쪽 125mm) · 지점 Z 기준 중앙 배치, skew 회전 동시 적용 - build_bridge_scene + build_selectable_scene 양쪽 구현. - COL_DIAPHRAGM 색상 추가 (concrete 계열). - UI: "격벽 (Diaphragm)" 체크박스. Sprint 30: Camber (거더 솟음). - SceneParams.camber_mid_mm (0~200mm, step 5mm) 추가. - apply_camber_mesh(mesh, z0, z1, mid_mm) 헬퍼: u = z - z0 ∈ [0, span], y_off = 4·mid·u·(span-u)/span² (포물선). 지점(u=0 또는 u=span) 에서는 0, 중앙 u=span/2 에서 최대 mid. - 거더·데크에 경간마다 독립 적용. 다경간 교량도 경간별 정확한 solog. - UI: "솟음 (mm)" 슬라이더. ProjectFile: show_diaphragms + camber_mid_mm 필드 (default 값으로 v2 호환). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -635,6 +635,8 @@ impl RenderState {
|
||||
if p.pier_type != prev_pt { dirty = true; }
|
||||
// Sprint 27: 경사각 (Skew)
|
||||
ps!("경사각 (°)", &mut p.skew_deg, -30.0..=30.0, 1.0);
|
||||
// Sprint 30: 솟음 (Camber) 중앙 솟음량 [mm]
|
||||
ps!("솟음 (mm)", &mut p.camber_mid_mm, 0.0..=200.0, 5.0);
|
||||
|
||||
ui.label("단면 형식");
|
||||
let prev_sec = p.section_type;
|
||||
@@ -668,6 +670,11 @@ impl RenderState {
|
||||
let prev_ej = p.show_expansion_joints;
|
||||
ui.checkbox(&mut p.show_expansion_joints, "신축이음 (Exp. Joint)");
|
||||
if prev_ej != p.show_expansion_joints { dirty = true; }
|
||||
|
||||
// Sprint 29: 격벽
|
||||
let prev_d = p.show_diaphragms;
|
||||
ui.checkbox(&mut p.show_diaphragms, "격벽 (Diaphragm)");
|
||||
if prev_d != p.show_diaphragms { dirty = true; }
|
||||
});
|
||||
|
||||
// ── 표시 옵션 ─────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user