#[derive(Clone, bon::Builder)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct Rebar {
rebar_class: RebarClass,
configuration_profile: Option<RebarConfigurationProfile>,
}
impl Rebar {
pub fn rebar_class(&self) -> RebarClass {
self.rebar_class
}
pub fn configuration_profile(&self) -> Option<RebarConfigurationProfile> {
self.configuration_profile
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub enum RebarClass {
A240,
A400,
A500,
A600,
Ap600,
A800,
A1000,
B500,
Br500,
Br1200,
Br1300,
Br1400,
Br1500,
Br1600,
K1400,
K1500,
K1600,
K1700,
K1800,
K1900,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub enum RebarConfigurationProfile {
F1,
F2,
F3,
F4,
}