[−][src]Struct quaternion_averager::QuaternionAverager
A quaternion averager. Implemented as discussed here
Methods
impl<T: RealField + Copy + PartialEq> QuaternionAverager<T>
[src]
pub fn new() -> QuaternionAverager<T>
[src]
Creates and returns a new quaternion averager
Example
use quaternion_averager::QuaternionAverager; let mut qa = QuaternionAverager::<f64>::new();
pub fn add_quaternion(&mut self, quaternion: &UnitQuaternion<T>)
[src]
Add a new unit quaternion with weight 1 to the averager
Example
use quaternion_averager::QuaternionAverager; use nalgebra::{ geometry::Quaternion, geometry::UnitQuaternion, }; let mut qa = QuaternionAverager::new(); let q1 = Quaternion::new(0.9961947f32, 0.0871557f32, 0f32, 0f32); let q1 = UnitQuaternion::from_quaternion(q1); qa.add_quaternion(&q1);
pub fn add_quaternion_weighted(
&mut self,
quaternion: &UnitQuaternion<T>,
weight: T
)
[src]
&mut self,
quaternion: &UnitQuaternion<T>,
weight: T
)
Add a new unit quaternion with custom weight to the averager
Example
use quaternion_averager::QuaternionAverager; use nalgebra::{ geometry::Quaternion, geometry::UnitQuaternion, }; let mut qa = QuaternionAverager::new(); let q1 = Quaternion::new(0.9961947f32, 0.0871557f32, 0f32, 0f32); let q1 = UnitQuaternion::from_quaternion(q1); qa.add_quaternion_weighted(&q1, 0.25f32);
pub fn calc_average(&self) -> UnitQuaternion<T>
[src]
Calculates and returns the quaternion average
Example
use quaternion_averager::QuaternionAverager; use nalgebra::{ geometry::Quaternion, geometry::UnitQuaternion, }; let mut qa = QuaternionAverager::new(); let q1 = Quaternion::new(0.9961947f32, 0.0871557f32, 0f32, 0f32); let q1 = UnitQuaternion::from_quaternion(q1); let q2 = Quaternion::new(0.9848078f32, 0.1736482f32, 0f32, 0f32); let q2 = UnitQuaternion::from_quaternion(q2); qa.add_quaternion(&q1); qa.add_quaternion(&q2); let qavg = qa.calc_average(); println!("The average of {} and {} is {}", q1, q2, qavg);
Trait Implementations
impl<T: RealField + Copy + PartialEq> Default for QuaternionAverager<T>
[src]
Auto Trait Implementations
impl<T> RefUnwindSafe for QuaternionAverager<T> where
T: RefUnwindSafe + Scalar,
T: RefUnwindSafe + Scalar,
impl<T> Send for QuaternionAverager<T> where
T: Scalar,
T: Scalar,
impl<T> Sync for QuaternionAverager<T> where
T: Scalar,
T: Scalar,
impl<T> Unpin for QuaternionAverager<T> where
T: Scalar + Unpin,
T: Scalar + Unpin,
impl<T> UnwindSafe for QuaternionAverager<T> where
T: Scalar + UnwindSafe,
T: Scalar + UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn is_in_subset(&self) -> bool
unsafe fn to_subset_unchecked(&self) -> SS
fn from_subset(element: &SS) -> SP
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,