#[non_exhaustive]pub enum SectionProfile {
I {
depth: f64,
width: f64,
web_thickness: f64,
flange_thickness: f64,
fillet_radius: Option<f64>,
flange_edge_radius: Option<f64>,
flange_slope: Option<f64>,
},
AsymmetricI {
depth: f64,
web_thickness: f64,
bottom_flange_width: f64,
bottom_flange_thickness: f64,
bottom_fillet_radius: Option<f64>,
bottom_flange_edge_radius: Option<f64>,
bottom_flange_slope: Option<f64>,
top_flange_width: f64,
top_flange_thickness: Option<f64>,
top_fillet_radius: Option<f64>,
top_flange_edge_radius: Option<f64>,
top_flange_slope: Option<f64>,
},
L {
depth: f64,
width: Option<f64>,
thickness: f64,
fillet_radius: Option<f64>,
edge_radius: Option<f64>,
leg_slope: Option<f64>,
},
T {
depth: f64,
flange_width: f64,
web_thickness: f64,
flange_thickness: f64,
fillet_radius: Option<f64>,
flange_edge_radius: Option<f64>,
web_edge_radius: Option<f64>,
web_slope: Option<f64>,
flange_slope: Option<f64>,
},
U {
depth: f64,
flange_width: f64,
web_thickness: f64,
flange_thickness: f64,
fillet_radius: Option<f64>,
edge_radius: Option<f64>,
flange_slope: Option<f64>,
},
C {
depth: f64,
width: f64,
wall_thickness: f64,
girth: f64,
internal_fillet_radius: Option<f64>,
},
Z {
depth: f64,
flange_width: f64,
web_thickness: f64,
flange_thickness: f64,
fillet_radius: Option<f64>,
edge_radius: Option<f64>,
},
Trapezium {
bottom_x: f64,
top_x: f64,
y: f64,
top_offset: f64,
},
}Expand description
Generic structural section dimensions.
Each variant carries the dimensions the corresponding source entity declares, including the optional fillet radii, edge radii and flange slopes. Those optionals are not decoration: for a rolled steel section the root fillet is a large share of the cross-sectional area, so discarding it yields a section whose area, second moment and mass are all wrong while still looking like the right shape.
Angles are radians, lengths are model units. None means the source did
not state the value, which is distinct from stating zero.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
I
Symmetric I section: equal top and bottom flanges.
Fields
AsymmetricI
I section with independent top and bottom flanges.
Separate from I because collapsing the two flange widths into one
silently symmetrises the section: the shape stays plausible while the
neutral axis, and therefore every bending result, moves.
Fields
L
L or angle section.
Fields
T
T section.
Fields
U
U or channel section.
Fields
C
C or lipped-channel section.
Fields
Z
Z section.
Fields
Trapezium
Trapezium.
Trait Implementations§
Source§impl Clone for SectionProfile
impl Clone for SectionProfile
Source§fn clone(&self) -> SectionProfile
fn clone(&self) -> SectionProfile
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SectionProfile
impl Debug for SectionProfile
Source§impl<'de> Deserialize<'de> for SectionProfile
impl<'de> Deserialize<'de> for SectionProfile
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SectionProfile, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SectionProfile, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for SectionProfile
impl PartialEq for SectionProfile
Source§impl Serialize for SectionProfile
impl Serialize for SectionProfile
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for SectionProfile
Auto Trait Implementations§
impl Freeze for SectionProfile
impl RefUnwindSafe for SectionProfile
impl Send for SectionProfile
impl Sync for SectionProfile
impl Unpin for SectionProfile
impl UnsafeUnpin for SectionProfile
impl UnwindSafe for SectionProfile
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more