Skip to main content

FindOptions

Struct FindOptions 

Source
pub struct FindOptions {
    pub safety_contour_m: f64,
    pub port_xtd_nm: f64,
    pub starboard_xtd_nm: f64,
    pub margin_nm: Option<f64>,
    pub cell_nm: Option<f64>,
    pub avoid_restricted_areas: bool,
}
Expand description

What a route is being planned for, and how far around the direct line to search.

Fields§

§safety_contour_m: f64

The vessel’s safety contour, in metres – the same setting enc_store::Vessel takes, and the same one the chart is drawn with.

§port_xtd_nm: f64

How far the vessel may stray to port of any leg the route ends up with, in nautical miles.

§starboard_xtd_nm: f64

The same to starboard.

§margin_nm: Option<f64>

How far beyond the direct line between from and to the search is allowed to reach, in nautical miles. Some is tried exactly once, at the given value, and not escalated further. None auto-scales the margin from the direct distance and escalates it a few times before giving up if the search finds nothing (see margin_schedule).

§cell_nm: Option<f64>

Lattice spacing, in nautical miles. None auto-scales it from the direct distance, so a long passage does not blow up the lattice size and a short one is not searched more coarsely than it needs.

§avoid_restricted_areas: bool

Whether a restricted area (RESARE – a marine reserve, a firing range, or another area a mariner must stay out of, not merely be cautioned about) blocks the route outright rather than only being crossed and reported. Off by default, the same posture check_leg itself takes: most restricted areas restrict anchoring or require a licence rather than prohibiting transit, and only the mariner planning the route knows which applies.

Trait Implementations§

Source§

impl Clone for FindOptions

Source§

fn clone(&self) -> FindOptions

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 FindOptions

Source§

impl Debug for FindOptions

Source§

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

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

impl PartialEq for FindOptions

Source§

fn eq(&self, other: &FindOptions) -> 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 FindOptions

Auto Trait Implementations§

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
§

impl<G1, G2> Within<G2> for G1
where G2: Contains<G1>,

§

fn is_within(&self, b: &G2) -> bool