#[non_exhaustive]pub enum StructuralShape {
Pipe {
outer_radius: Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>,
thickness: Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>,
center_of_gravity: (Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>, Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>),
},
IBeam {
width: Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>,
height: Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>,
web_thickness: Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>,
flange_thickness: Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>,
center_of_gravity: (Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>, Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>),
},
BoxBeam {
width: Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>,
height: Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>,
thickness: Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>,
center_of_gravity: (Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>, Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>),
},
Rod {
radius: Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>,
center_of_gravity: (Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>, Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>),
},
Rectangle {
width: Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>,
height: Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>,
center_of_gravity: (Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>, Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>),
},
}
Expand description
This enum contains different structural shapes
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Pipe
This is a pipe with an outer_radius and a thickness
Fields
outer_radius: Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>
Outer radius of hte pipe
thickness: Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>
Thickness of the pipe wall
center_of_gravity: (Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>, Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>)
Coordinates of center of gravity
IBeam
This is an I-Beam, with a width, height, web thickness, and flange thickness
Fields
width: Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>
Width of the beam
height: Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>
Height of the beam
web_thickness: Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>
Thickness of the web
flange_thickness: Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>
Thickness of the flange
center_of_gravity: (Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>, Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>)
Coordinates of center of gravity
BoxBeam
This is a box beam with a width, height, and thickness
Fields
width: Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>
Width of the box beam
height: Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>
Height of the box beam
thickness: Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>
Thickness of the wall
center_of_gravity: (Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>, Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>)
Coordinates of center of gravity
Rod
This is a rod with a radius only
Fields
radius: Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>
Radius of the road
center_of_gravity: (Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>, Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>)
Coordinates of center of gravity
Rectangle
This is a solid rectangular with width and height
Fields
width: Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>
Width of the rectangle
height: Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>
Height of the rectangle
center_of_gravity: (Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>, Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UTerm, B1>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>)
Coordinates of center of gravity
Implementations§
Source§impl StructuralShape
impl StructuralShape
Sourcepub fn moi_x(
&self,
) -> Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>
pub fn moi_x( &self, ) -> Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>
This function returns the moment of inertia of the structural shape around the x-axis
let shape = StructuralShape::Rod{radius: length(2.0), center_of_gravity: point(0.0, 0.0)};
let moi = shape.moi_x();
Sourcepub fn moi_y(
&self,
) -> Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>
pub fn moi_y( &self, ) -> Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>
This function returns the moment of inertia of hte structural shape around the y-axis
let shape = StructuralShape::Rod{radius: length(2.0), center_of_gravity: point(0.0, 0.0)};
let area = shape.moi_y();
Sourcepub fn area(
&self,
) -> Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UInt<UTerm, B1>, B0>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>
pub fn area( &self, ) -> Quantity<dyn Dimension<Kind = dyn Kind, Th = Z0, L = PInt<UInt<UInt<UTerm, B1>, B0>>, N = Z0, T = Z0, I = Z0, M = Z0, J = Z0>, dyn Units<f64, thermodynamic_temperature = kelvin, time = second, amount_of_substance = mole, electric_current = ampere, luminous_intensity = candela, length = meter, mass = kilogram>, f64>
This function returns the cross-sectional area of the structural shape
let shape = StructuralShape::Rod{radius: length(2.0), center_of_gravity: point(0.0, 0.0)};
let area = shape.area();
Trait Implementations§
Source§impl Clone for StructuralShape
impl Clone for StructuralShape
Source§fn clone(&self) -> StructuralShape
fn clone(&self) -> StructuralShape
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more