Struct bcar::Size[][src]

pub struct Size {
    pub curb_to_curb: f64,
    pub width: f64,
    pub wheelbase: f64,
    pub distance_to_front: f64,
    pub length: f64,
}

Structure to hold car dimensions.

Fields

curb_to_curb: f64width: f64wheelbase: f64distance_to_front: f64length: f64

Implementations

impl Size[src]

pub fn new(
    curb_to_curb: f64,
    width: f64,
    wheelbase: f64,
    distance_to_front: f64,
    length: f64
) -> Size
[src]

pub fn default_porsche() -> Size[src]

Return default size of Porsche car.

Default size is based on Porsche Panamera 971 dimensions.

Examples

let s = bcar::Size::default_porsche();
assert_eq!(s, bcar::Size::new(11.8872, 2.165, 2.950, 3.9865, 5.049));

pub fn default_fiat() -> Size[src]

Return default size of Fiat car.

Default size is based on Fiat Punto.

Examples

let s = bcar::Size::default_fiat();
assert_eq!(s, bcar::Size::new(10.820, 1.625, 2.450, 3.105, 3.760));

pub fn default() -> Size[src]

pub fn diagonal_length(&self) -> f64[src]

pub fn max_steer(&self) -> f64[src]

Return maximum steering angle for the car properties.

Examples

let s = bcar::Size::default_fiat();
assert!((s.max_steer() - 0.5483439469279819).abs() < 1e-10);
let s = bcar::Size::default_porsche();
assert!((s.max_steer() - 0.6263322191718842).abs() < 1e-10);

pub fn perfect_parking_slot_length(&self) -> f64[src]

Return the length of the perfect parking slot.

The width of the slot is the same as the width of the car.

References

  • Simon R. Blackburn The Geometry of Perfect Parking
  • https://www.ma.rhul.ac.uk/SRBparking

Trait Implementations

impl Clone for Size[src]

impl Copy for Size[src]

impl Debug for Size[src]

impl PartialEq<Size> for Size[src]

impl StructuralPartialEq for Size[src]

Auto Trait Implementations

impl RefUnwindSafe for Size

impl Send for Size

impl Sync for Size

impl Unpin for Size

impl UnwindSafe for Size

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.