Enum trussx::StructuralShape [−][src]
#[non_exhaustive]
pub enum StructuralShape {
Pipe {
outer_radius: Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>,
thickness: Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>,
center_of_gravity: (Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>, Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>),
},
IBeam {
width: Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>,
height: Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>,
web_thickness: Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>,
flange_thickness: Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>,
center_of_gravity: (Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>, Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>),
},
BoxBeam {
width: Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>,
height: Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>,
thickness: Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>,
center_of_gravity: (Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>, Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>),
},
Rod {
radius: Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>,
center_of_gravity: (Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>, Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>),
},
Rectangle {
width: Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>,
height: Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>,
center_of_gravity: (Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>, Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>),
},
}
Expand description
This enum contains different structural shapes
Variants (Non-exhaustive)
This enum is marked as non-exhaustive
Pipe
Fields
outer_radius: Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>
Outer radius of hte pipe
thickness: Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>
Thickness of the pipe wall
center_of_gravity: (Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>, Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>)
Coordinates of center of gravity
This is a pipe with an outer_radius and a thickness
IBeam
Fields
width: Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>
Width of the beam
height: Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>
Height of the beam
web_thickness: Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>
Thickness of the web
flange_thickness: Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>
Thickness of the flange
center_of_gravity: (Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>, Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>)
Coordinates of center of gravity
This is an I-Beam, with a width, height, web thickness, and flange thickness
BoxBeam
Fields
width: Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>
Width of the box beam
height: Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>
Height of the box beam
thickness: Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>
Thickness of the wall
center_of_gravity: (Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>, Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>)
Coordinates of center of gravity
This is a box beam with a width, height, and thickness
Rod
Fields
radius: Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>
Radius of the road
center_of_gravity: (Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>, Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>)
Coordinates of center of gravity
This is a rod with a radius only
Rectangle
Fields
width: Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>
Width of the rectangle
height: Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>
Height of the rectangle
center_of_gravity: (Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>, Quantity<dyn Dimension<L = PInt<UInt<UTerm, B1>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>)
Coordinates of center of gravity
This is a solid rectangular with width and height
Implementations
pub fn moi_x(
&self
) -> Quantity<dyn Dimension<L = PInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>
pub fn moi_x(
&self
) -> Quantity<dyn Dimension<L = PInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, 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();
pub fn moi_y(
&self
) -> Quantity<dyn Dimension<L = PInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>
pub fn moi_y(
&self
) -> Quantity<dyn Dimension<L = PInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, 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();
pub fn area(
&self
) -> Quantity<dyn Dimension<L = PInt<UInt<UInt<UTerm, B1>, B0>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, f64>
pub fn area(
&self
) -> Quantity<dyn Dimension<L = PInt<UInt<UInt<UTerm, B1>, B0>>, I = Z0, J = Z0, Kind = dyn Kind + 'static, T = Z0, N = Z0, Th = Z0, M = Z0> + 'static, dyn Units<f64, luminous_intensity = candela, mass = kilogram, length = meter, thermodynamic_temperature = kelvin, electric_current = ampere, amount_of_substance = mole, time = second> + 'static, 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
Auto Trait Implementations
impl RefUnwindSafe for StructuralShape
impl Send for StructuralShape
impl Sync for StructuralShape
impl Unpin for StructuralShape
impl UnwindSafe for StructuralShape
Blanket Implementations
Mutably borrows from an owned value. Read more