Trait lnkit::prelude::geometry::AbstractRotation [−][src]
pub trait AbstractRotation<T, const D: usize>: PartialEq<Self> + ClosedMul<Self> + Clone where
T: Scalar, { pub fn identity() -> Self; pub fn inverse(&self) -> Self; pub fn inverse_mut(&mut self); pub fn transform_vector(
&self,
v: &Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>
) -> Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>; pub fn transform_point(&self, p: &Point<T, D>) -> Point<T, D>; pub fn inverse_transform_vector(
&self,
v: &Matrix<T, Const<D>, Const<1_usize>, <DefaultAllocator as Allocator<T, Const<D>, Const<1_usize>>>::Buffer>
) -> Matrix<T, Const<D>, Const<1_usize>, <DefaultAllocator as Allocator<T, Const<D>, Const<1_usize>>>::Buffer>; pub fn inverse_transform_point(&self, p: &Point<T, D>) -> Point<T, D>; pub fn inverse_transform_unit_vector(
&self,
v: &Unit<Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>>
) -> Unit<Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>> { ... } }
Trait implemented by rotations that can be used inside of an Isometry
or Similarity
.
Required methods
pub fn identity() -> Self
[src]
The rotation identity.
pub fn inverse(&self) -> Self
[src]
The rotation inverse.
pub fn inverse_mut(&mut self)
[src]
Change self
to its inverse.
pub fn transform_vector(
&self,
v: &Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>
) -> Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>
[src]
&self,
v: &Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>
) -> Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>
Apply the rotation to the given vector.
pub fn transform_point(&self, p: &Point<T, D>) -> Point<T, D>
[src]
Apply the rotation to the given point.
pub fn inverse_transform_vector(
&self,
v: &Matrix<T, Const<D>, Const<1_usize>, <DefaultAllocator as Allocator<T, Const<D>, Const<1_usize>>>::Buffer>
) -> Matrix<T, Const<D>, Const<1_usize>, <DefaultAllocator as Allocator<T, Const<D>, Const<1_usize>>>::Buffer>
[src]
&self,
v: &Matrix<T, Const<D>, Const<1_usize>, <DefaultAllocator as Allocator<T, Const<D>, Const<1_usize>>>::Buffer>
) -> Matrix<T, Const<D>, Const<1_usize>, <DefaultAllocator as Allocator<T, Const<D>, Const<1_usize>>>::Buffer>
Apply the inverse rotation to the given vector.
pub fn inverse_transform_point(&self, p: &Point<T, D>) -> Point<T, D>
[src]
Apply the inverse rotation to the given point.
Provided methods
pub fn inverse_transform_unit_vector(
&self,
v: &Unit<Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>>
) -> Unit<Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>>
[src]
&self,
v: &Unit<Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>>
) -> Unit<Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>>
Apply the inverse rotation to the given unit vector.
Implementors
impl<T> AbstractRotation<T, 2_usize> for Unit<Complex<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]
impl<T> AbstractRotation<T, 2_usize> for Unit<Complex<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]pub fn identity() -> Unit<Complex<T>>
[src]
pub fn inverse(&self) -> Unit<Complex<T>>
[src]
pub fn inverse_mut(&mut self)
[src]
pub fn transform_vector(
&self,
v: &Matrix<T, Const<2_usize>, Const<1_usize>, ArrayStorage<T, 2_usize, 1_usize>>
) -> Matrix<T, Const<2_usize>, Const<1_usize>, ArrayStorage<T, 2_usize, 1_usize>>
[src]
&self,
v: &Matrix<T, Const<2_usize>, Const<1_usize>, ArrayStorage<T, 2_usize, 1_usize>>
) -> Matrix<T, Const<2_usize>, Const<1_usize>, ArrayStorage<T, 2_usize, 1_usize>>
pub fn transform_point(&self, p: &Point<T, 2_usize>) -> Point<T, 2_usize>
[src]
pub fn inverse_transform_vector(
&self,
v: &Matrix<T, Const<2_usize>, Const<1_usize>, ArrayStorage<T, 2_usize, 1_usize>>
) -> Matrix<T, Const<2_usize>, Const<1_usize>, ArrayStorage<T, 2_usize, 1_usize>>
[src]
&self,
v: &Matrix<T, Const<2_usize>, Const<1_usize>, ArrayStorage<T, 2_usize, 1_usize>>
) -> Matrix<T, Const<2_usize>, Const<1_usize>, ArrayStorage<T, 2_usize, 1_usize>>
pub fn inverse_transform_point(
&self,
p: &Point<T, 2_usize>
) -> Point<T, 2_usize>
[src]
&self,
p: &Point<T, 2_usize>
) -> Point<T, 2_usize>
impl<T> AbstractRotation<T, 3_usize> for Unit<Quaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]
impl<T> AbstractRotation<T, 3_usize> for Unit<Quaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]pub fn identity() -> Unit<Quaternion<T>>
[src]
pub fn inverse(&self) -> Unit<Quaternion<T>>
[src]
pub fn inverse_mut(&mut self)
[src]
pub fn transform_vector(
&self,
v: &Matrix<T, Const<3_usize>, Const<1_usize>, ArrayStorage<T, 3_usize, 1_usize>>
) -> Matrix<T, Const<3_usize>, Const<1_usize>, ArrayStorage<T, 3_usize, 1_usize>>
[src]
&self,
v: &Matrix<T, Const<3_usize>, Const<1_usize>, ArrayStorage<T, 3_usize, 1_usize>>
) -> Matrix<T, Const<3_usize>, Const<1_usize>, ArrayStorage<T, 3_usize, 1_usize>>
pub fn transform_point(&self, p: &Point<T, 3_usize>) -> Point<T, 3_usize>
[src]
pub fn inverse_transform_vector(
&self,
v: &Matrix<T, Const<3_usize>, Const<1_usize>, ArrayStorage<T, 3_usize, 1_usize>>
) -> Matrix<T, Const<3_usize>, Const<1_usize>, ArrayStorage<T, 3_usize, 1_usize>>
[src]
&self,
v: &Matrix<T, Const<3_usize>, Const<1_usize>, ArrayStorage<T, 3_usize, 1_usize>>
) -> Matrix<T, Const<3_usize>, Const<1_usize>, ArrayStorage<T, 3_usize, 1_usize>>
pub fn inverse_transform_point(
&self,
p: &Point<T, 3_usize>
) -> Point<T, 3_usize>
[src]
&self,
p: &Point<T, 3_usize>
) -> Point<T, 3_usize>
impl<T, const D: usize> AbstractRotation<T, D> for Rotation<T, D> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]
impl<T, const D: usize> AbstractRotation<T, D> for Rotation<T, D> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]pub fn identity() -> Rotation<T, D>
[src]
pub fn inverse(&self) -> Rotation<T, D>
[src]
pub fn inverse_mut(&mut self)
[src]
pub fn transform_vector(
&self,
v: &Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>
) -> Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>
[src]
&self,
v: &Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>
) -> Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>
pub fn transform_point(&self, p: &Point<T, D>) -> Point<T, D>
[src]
pub fn inverse_transform_vector(
&self,
v: &Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>
) -> Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>
[src]
&self,
v: &Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>
) -> Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>
pub fn inverse_transform_unit_vector(
&self,
v: &Unit<Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>>
) -> Unit<Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>>
[src]
&self,
v: &Unit<Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>>
) -> Unit<Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>>