Sprint 3 — Must Feature 5종 추가 (상부→하부 순서)
상부 구조물: - DeckSlabIR + DeckSlabBuilder + 기하학 (직사각형 슬래브 스위프) 연결부: - BearingIR + BearingBuilder (카탈로그 기반, KDS 기본값 포함) 하부 구조물: - PierIR + PierBuilder + 기하학 (다주 지원, 코핑 포함) - AbutmentIR + AbutmentBuilder + 기하학 (흉벽 + 기초 + 날개벽) core에 BearingType·PierType·ColumnShape·AbutmentType 열거형 추가 kernel: sweep.rs 공유 모듈 (sweep_profile_flat·box·prism·merge) psc_i.rs → sweep.rs 의존으로 리팩터 GeomKernel trait에 4개 메서드 추가 (상부→하부 문서화 주석) cargo test 57개 전부 통과 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -105,6 +105,48 @@ pub enum MaterialGrade {
|
||||
Sm490,
|
||||
}
|
||||
|
||||
/// Bearing type (support device between girder and substructure).
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum BearingType {
|
||||
Elastomeric, // 탄성받침 — most common, PSC bridge
|
||||
Pot, // 포트받침 — steel box, large loads
|
||||
Spherical, // 구면받침 — rotation in all directions
|
||||
Rocker, // 롤러받침 — fixed rotation, expansion
|
||||
FixedPin, // 고정핀
|
||||
}
|
||||
|
||||
/// Pier type (교각 형식).
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum PierType {
|
||||
SingleColumn, // 단주식
|
||||
MultiColumn, // 다주식
|
||||
Hammerhead, // 해머헤드식
|
||||
Wall, // 벽식
|
||||
Portal, // 문형
|
||||
}
|
||||
|
||||
/// Pier column cross-section.
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum ColumnShape {
|
||||
Circular,
|
||||
Rectangular,
|
||||
Oval,
|
||||
}
|
||||
|
||||
/// Abutment type (교대 형식).
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum AbutmentType {
|
||||
ReverseT, // 역T형 — most common
|
||||
Wall, // 중력식
|
||||
SemiIntegral, // 반일체식
|
||||
Integral, // 일체식
|
||||
Counterfort, // 부벽식
|
||||
}
|
||||
|
||||
// ─── Tests ────────────────────────────────────────────────────────────────────
|
||||
|
||||
#[cfg(test)]
|
||||
|
||||
Reference in New Issue
Block a user