Struct dual_quat::Dual [−][src]
pub struct Dual<T> { pub r: T, pub d: T, }
Fields
r: T
d: T
Implementations
impl<T> Dual<Quaternion<T>> where
T: SimdRealField + Mul<Output = T> + Div<Output = T> + Copy,
T::Element: SimdRealField,
[src]
impl<T> Dual<Quaternion<T>> where
T: SimdRealField + Mul<Output = T> + Div<Output = T> + Copy,
T::Element: SimdRealField,
[src]pub fn rigid_transformation(
q: UnitQuaternion<T>,
t: Vector3<T>
) -> DualQuaternion<T>
[src]
q: UnitQuaternion<T>,
t: Vector3<T>
) -> DualQuaternion<T>
pub fn from_real(v: T) -> DualQuaternion<T>
[src]
pub fn conjugate(&self) -> DualQuaternion<T>
[src]
pub fn norm_squared(&self) -> Dual<T>
[src]
pub fn norm(&self) -> Dual<T>
[src]
pub fn magnitude(&self) -> Dual<T>
[src]
pub fn normalize(&self) -> DualQuaternion<T>
[src]
pub fn squared(&self) -> DualQuaternion<T>
[src]
pub fn rotation(&self) -> UnitQuaternion<T>
[src]
pub fn translation(self) -> Vector3<T>
[src]
pub fn transform(&self, v: &Point3<T>) -> Point3<T>
[src]
pub fn transform_normal(&self, n: &Vector3<T>) -> Vector3<T>
[src]
pub fn transform_position_and_normal(
&self,
p: &Point3<T>,
n: &Vector3<T>
) -> (Point3<T>, Vector3<T>)
[src]
&self,
p: &Point3<T>,
n: &Vector3<T>
) -> (Point3<T>, Vector3<T>)
Trait Implementations
impl<T> AddAssign<Dual<T>> for Dual<T> where
T: Add<Output = T> + Copy,
[src]
impl<T> AddAssign<Dual<T>> for Dual<T> where
T: Add<Output = T> + Copy,
[src]fn add_assign(&mut self, rhs: Dual<T>)
[src]
impl<'de, T> Deserialize<'de> for Dual<T> where
T: Deserialize<'de>,
[src]
impl<'de, T> Deserialize<'de> for Dual<T> where
T: Deserialize<'de>,
[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl<T> Div<Dual<T>> for Dual<T> where
T: Sub<Output = T> + Mul<Output = T> + Div<Output = T> + Copy,
[src]
impl<T> Div<Dual<T>> for Dual<T> where
T: Sub<Output = T> + Mul<Output = T> + Div<Output = T> + Copy,
[src]impl<T> DivAssign<Dual<T>> for Dual<T> where
T: Sub<Output = T> + Mul<Output = T> + Div<Output = T> + Copy,
[src]
impl<T> DivAssign<Dual<T>> for Dual<T> where
T: Sub<Output = T> + Mul<Output = T> + Div<Output = T> + Copy,
[src]fn div_assign(&mut self, rhs: Dual<T>)
[src]
impl<T> DivAssign<T> for Dual<T> where
T: Mul<Output = T> + Div<Output = T> + Copy,
[src]
impl<T> DivAssign<T> for Dual<T> where
T: Mul<Output = T> + Div<Output = T> + Copy,
[src]fn div_assign(&mut self, rhs: T)
[src]
impl<T> MulAssign<Dual<T>> for Dual<T> where
T: Add<Output = T> + Mul<Output = T> + Copy,
[src]
impl<T> MulAssign<Dual<T>> for Dual<T> where
T: Add<Output = T> + Mul<Output = T> + Copy,
[src]fn mul_assign(&mut self, rhs: Dual<T>)
[src]
impl<T> MulAssign<T> for Dual<T> where
T: Mul<Output = T> + Copy,
[src]
impl<T> MulAssign<T> for Dual<T> where
T: Mul<Output = T> + Copy,
[src]fn mul_assign(&mut self, rhs: T)
[src]
impl<T> SubAssign<Dual<T>> for Dual<T> where
T: Sub<Output = T> + Copy,
[src]
impl<T> SubAssign<Dual<T>> for Dual<T> where
T: Sub<Output = T> + Copy,
[src]fn sub_assign(&mut self, rhs: Dual<T>)
[src]
impl<T: Copy> Copy for Dual<T>
[src]
Auto Trait Implementations
impl<T> RefUnwindSafe for Dual<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for Dual<T> where
T: Send,
T: Send,
impl<T> Sync for Dual<T> where
T: Sync,
T: Sync,
impl<T> Unpin for Dual<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for Dual<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]pub fn to_subset(&self) -> Option<SS>
[src]
pub fn is_in_subset(&self) -> bool
[src]
pub fn to_subset_unchecked(&self) -> SS
[src]
pub fn from_subset(element: &SS) -> SP
[src]
impl<T, Right> ClosedAdd<Right> for T where
T: Add<Right, Output = T> + AddAssign<Right>,
[src]
T: Add<Right, Output = T> + AddAssign<Right>,
impl<T, Right> ClosedDiv<Right> for T where
T: Div<Right, Output = T> + DivAssign<Right>,
[src]
T: Div<Right, Output = T> + DivAssign<Right>,
impl<T, Right> ClosedMul<Right> for T where
T: Mul<Right, Output = T> + MulAssign<Right>,
[src]
T: Mul<Right, Output = T> + MulAssign<Right>,
impl<T, Right> ClosedSub<Right> for T where
T: Sub<Right, Output = T> + SubAssign<Right>,
[src]
T: Sub<Right, Output = T> + SubAssign<Right>,
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,