Skip to main content

Depth

Struct Depth 

Source
pub struct Depth {
    pub metres: f64,
    pub reference: Sounding,
}
Expand description

A sounding, and what it was measured from.

The reference travels with the number so that nothing downstream has to assume one. This is the same discipline a Raymarine, B&G or Garmin display keeps: the offset is stated once, the value is labelled, and an unconfigured installation reads out depth below the transducer rather than quietly claiming to be depth below the keel.

Fields§

§metres: f64

Metres. Signal K is already metric here, so nothing is converted.

§reference: Sounding

What it is measured from.

Implementations§

Source§

impl Depth

Source

pub fn to(self, wanted: Sounding, offsets: Offsets) -> Option<Self>

The same sounding measured from somewhere else, if the geometry to get there is known.

None when it is not, and that is the whole point of the type. Guessing an offset – or worse, leaving it at zero and calling the result depth below the keel – reports more water than there is, by exactly the amount nobody stated. A depth display that does that is wrong in the one direction it must never be wrong in.

A negative result is not an error and is not clamped: it means the keel is already in the bottom, which is worth showing.

Trait Implementations§

Source§

impl Clone for Depth

Source§

fn clone(&self) -> Depth

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for Depth

Source§

impl Debug for Depth

Source§

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

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

impl PartialEq for Depth

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · 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 StructuralPartialEq for Depth

Auto Trait Implementations§

§

impl Freeze for Depth

§

impl RefUnwindSafe for Depth

§

impl Send for Depth

§

impl Sync for Depth

§

impl Unpin for Depth

§

impl UnsafeUnpin for Depth

§

impl UnwindSafe for Depth

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.