Force

Struct Force 

Source
pub struct Force { /* private fields */ }
Expand description

The Force struct can be used to deal with force in a common way.

#Example

use measurements::Force;
use measurements::Mass;
use measurements::Acceleration;

let metric_ton = Mass::from_metric_tons(1.0);
let gravity = Acceleration::from_meters_per_second_per_second(9.81);
let force: Force = metric_ton * gravity; // F=ma
println!(
    "One metric ton exerts a force of {} due to gravity",
    force);

Implementations§

Source§

impl Force

Source

pub fn from_newtons(newtons: f64) -> Self

Create a Force from a floating point value in Newtons

Examples found in repository?
examples/format_test.rs (line 19)
3fn main() {
4    for power in -12..12 {
5        let val: f64 = 123.456 * (10f64.powf(f64::from(power)));
6        println!("10^{}...", power);
7        println!("Temp of {0:.3} outside", Temperature::from_kelvin(val));
8        println!("Distance of {0:.3}", Length::from_meters(val));
9        println!("Pressure of {0:.3}", Pressure::from_millibars(val));
10        println!("Volume of {0:.3}", Volume::from_litres(val));
11        println!("Mass of {0:.3}", Mass::from_kilograms(val));
12        println!("Speed of {0:.3}", Speed::from_meters_per_second(val));
13        println!(
14            "Acceleration of {0:.3}",
15            Acceleration::from_meters_per_second_per_second(val)
16        );
17        println!("Energy of {0:.3}", Energy::from_joules(val));
18        println!("Power of {0:.3}", Power::from_watts(val));
19        println!("Force of {0:.3}", Force::from_newtons(val));
20        println!("Force of {0:.3}", Torque::from_newton_metres(val));
21        println!(
22            "Force of {0:.3}",
23            AngularVelocity::from_radians_per_second(val)
24        );
25        println!("Data size is {0:.3}", Data::from_octets(val));
26    }
27}
Source

pub fn from_micronewtons(micronewtons: f64) -> Self

Create a Force from a floating point value in Micronewtons

Source

pub fn from_millinewtons(millinewtons: f64) -> Self

Create a Force from a floating point value in Millinewtons

Source

pub fn from_pounds(pounds: f64) -> Self

Create a Force from a floating point value in pounds

Source

pub fn from_poundals(poundals: f64) -> Self

Create a Force from a floating point value in poundals

Source

pub fn from_kiloponds(kiloponds: f64) -> Self

Create a Force from a floating point value in kiloponds

Source

pub fn from_dynes(dynes: f64) -> Self

Create a Force from a floating point value in Dynes

Source

pub fn as_micronewtons(&self) -> f64

Convert this Force into a floating point value in Micronewtons

Source

pub fn as_millinewtons(&self) -> f64

Convert this Force into a floating point value in Millinewtons

Source

pub fn as_newtons(&self) -> f64

Convert this Force into a floating point value in Newtons

Source

pub fn as_pounds(&self) -> f64

Convert this Force into a floating point value in pound-force (lb.f)

Source

pub fn as_poundals(&self) -> f64

Convert this Force into a floating point value in poundals

Source

pub fn as_kiloponds(&self) -> f64

Convert this Force into a floating point value in kiloponds

Source

pub fn as_dynes(&self) -> f64

Convert this Force into a floating point value in dynes

Trait Implementations§

Source§

impl Add for Force

Source§

type Output = Force

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Self) -> Self

Performs the + operation. Read more
Source§

impl Clone for Force

Source§

fn clone(&self) -> Force

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Force

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Force

Source§

fn default() -> Force

Returns the “default value” for a type. Read more
Source§

impl Display for Force

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Div<Acceleration> for Force

Source§

type Output = Mass

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Acceleration) -> Self::Output

Performs the / operation. Read more
Source§

impl Div<Area> for Force

Source§

type Output = Pressure

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Area) -> Self::Output

Performs the / operation. Read more
Source§

impl Div<Force> for Energy

Source§

type Output = Length

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Force) -> Self::Output

Performs the / operation. Read more
Source§

impl Div<Force> for Power

Source§

type Output = Speed

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Force) -> Self::Output

Performs the / operation. Read more
Source§

impl Div<Force> for Torque

Source§

type Output = Length

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Force) -> Self::Output

Performs the / operation. Read more
Source§

impl Div<Force> for TorqueEnergy

Source§

type Output = Length

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Force) -> Self::Output

Performs the / operation. Read more
Source§

impl Div<Mass> for Force

Source§

type Output = Acceleration

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Mass) -> Self::Output

Performs the / operation. Read more
Source§

impl Div<Pressure> for Force

Source§

type Output = Area

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Pressure) -> Self::Output

Performs the / operation. Read more
Source§

impl Div<f64> for Force

Source§

type Output = Force

The resulting type after applying the / operator.
Source§

fn div(self, rhs: f64) -> Self

Performs the / operation. Read more
Source§

impl Div for Force

Source§

type Output = f64

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Self) -> f64

Performs the / operation. Read more
Source§

impl Measurement for Force

Source§

fn get_appropriate_units(&self) -> (&'static str, f64)

Returns a string containing the most appropriate units for this quantity, and a floating point value representing this quantity in those units. Useful when, for example, a length might be in millimeters if it is very small, or kilometers when it is very large. Read more
Source§

fn get_base_units_name(&self) -> &'static str

Return the base unit for this type, as a string. For example “kilograms”
Source§

fn as_base_units(&self) -> f64

Get this quantity in the base units
Source§

fn from_base_units(units: f64) -> Self

Create a new quantity from the base units
Source§

fn pick_appropriate_units( &self, list: &[(&'static str, f64)], ) -> (&'static str, f64)

Given a list of units and their scale relative to the base unit, select the most appropriate one. Read more
Source§

impl Mul<Force> for Length

Source§

type Output = TorqueEnergy

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Force) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<Force> for Speed

Source§

type Output = Power

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Force) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<Force> for f64

Source§

type Output = Force

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Force) -> Force

Performs the * operation. Read more
Source§

impl Mul<Length> for Force

Source§

type Output = TorqueEnergy

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Length) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<Speed> for Force

Source§

type Output = Power

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Speed) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<f64> for Force

Source§

type Output = Force

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: f64) -> Self

Performs the * operation. Read more
Source§

impl PartialEq for Force

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for Force

Source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Sub for Force

Source§

type Output = Force

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Self) -> Self

Performs the - operation. Read more
Source§

impl Copy for Force

Source§

impl Eq for Force

Auto Trait Implementations§

§

impl Freeze for Force

§

impl RefUnwindSafe for Force

§

impl Send for Force

§

impl Sync for Force

§

impl Unpin for Force

§

impl UnwindSafe for Force

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.