pub struct Interpolation<'a> {
pub method: InterpolationMethod,
pub coefficients: Option<&'a DeviationCoefficients>,
}Expand description
How to read the table, and with which coefficients.
Every conversion in crate::navigation_solutions takes
impl Into<Interpolation>, so passing a bare InterpolationMethod is
enough for the common case, and this struct is there when you need to pin
coefficients as well.
§Example
use bearingpro::{
navigation_solutions::convert_compass_course_to_true_course, CompassCourse,
DeviationCoefficients, DeviationTable, Interpolation, InterpolationMethod, Variation,
};
let table = DeviationTable::from_deviation_vec(vec![0.0; 36])?;
let coefficients = DeviationCoefficients {
a: Some(1.0),
..DeviationCoefficients::default()
};
// A bare method...
let plain = convert_compass_course_to_true_course(
CompassCourse::new(10.0)?,
Variation::ZERO,
&table,
InterpolationMethod::Linear,
)?;
assert_eq!(plain.deviation.degrees(), 0.0);
// ...or a method with coefficients held fixed.
let pinned = convert_compass_course_to_true_course(
CompassCourse::new(10.0)?,
Variation::ZERO,
&table,
Interpolation {
method: InterpolationMethod::Parametric,
coefficients: Some(&coefficients),
},
)?;
assert!((pinned.deviation.degrees() - 1.0).abs() < 1e-9);Fields§
§method: InterpolationMethodWhich method to use.
coefficients: Option<&'a DeviationCoefficients>Coefficients to hold fixed, for InterpolationMethod::Parametric.
Trait Implementations§
Source§impl<'a> Clone for Interpolation<'a>
impl<'a> Clone for Interpolation<'a>
Source§fn clone(&self) -> Interpolation<'a>
fn clone(&self) -> Interpolation<'a>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl<'a> Copy for Interpolation<'a>
Source§impl<'a> Debug for Interpolation<'a>
impl<'a> Debug for Interpolation<'a>
Source§impl<'a> Default for Interpolation<'a>
impl<'a> Default for Interpolation<'a>
Source§fn default() -> Interpolation<'a>
fn default() -> Interpolation<'a>
Returns the “default value” for a type. Read more
Source§impl From<InterpolationMethod> for Interpolation<'_>
impl From<InterpolationMethod> for Interpolation<'_>
Source§fn from(method: InterpolationMethod) -> Self
fn from(method: InterpolationMethod) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl<'a> Freeze for Interpolation<'a>
impl<'a> RefUnwindSafe for Interpolation<'a>
impl<'a> Send for Interpolation<'a>
impl<'a> Sync for Interpolation<'a>
impl<'a> Unpin for Interpolation<'a>
impl<'a> UnsafeUnpin for Interpolation<'a>
impl<'a> UnwindSafe for Interpolation<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more