[][src]Struct euclid::Rotation2D

#[repr(C)]
pub struct Rotation2D<T, Src, Dst> {
    pub angle: T,
    // some fields omitted
}

A transform that can represent rotations in 2d, represented as an angle in radians.

Fields

angle: T

Methods

impl<T, Src, Dst> Rotation2D<T, Src, Dst>[src]

pub fn new(angle: Angle<T>) -> Self[src]

Creates a rotation from an angle in radians.

pub fn radians(angle: T) -> Self[src]

pub fn identity() -> Self where
    T: Zero
[src]

Creates the identity rotation.

impl<T, Src, Dst> Rotation2D<T, Src, Dst> where
    T: Clone
[src]

pub fn get_angle(&self) -> Angle<T>[src]

Returns self.angle as a strongly typed Angle<T>.

impl<T, Src, Dst> Rotation2D<T, Src, Dst> where
    T: Copy + Clone + Add<T, Output = T> + Sub<T, Output = T> + Mul<T, Output = T> + Div<T, Output = T> + Neg<Output = T> + PartialOrd + Float + One + Zero
[src]

pub fn to_3d(&self) -> Rotation3D<T, Src, Dst>[src]

Creates a 3d rotation (around the z axis) from this 2d rotation.

pub fn inverse(&self) -> Rotation2D<T, Dst, Src>[src]

Returns the inverse of this rotation.

pub fn pre_rotate<NewSrc>(
    &self,
    other: &Rotation2D<T, NewSrc, Src>
) -> Rotation2D<T, NewSrc, Dst>
[src]

Returns a rotation representing the other rotation followed by this rotation.

pub fn post_rotate<NewDst>(
    &self,
    other: &Rotation2D<T, Dst, NewDst>
) -> Rotation2D<T, Src, NewDst>
[src]

Returns a rotation representing this rotation followed by the other rotation.

pub fn transform_point(&self, point: Point2D<T, Src>) -> Point2D<T, Dst>[src]

Returns the given 2d point transformed by this rotation.

The input point must be use the unit Src, and the returned point has the unit Dst.

pub fn transform_vector(&self, vector: Vector2D<T, Src>) -> Vector2D<T, Dst>[src]

Returns the given 2d vector transformed by this rotation.

The input point must be use the unit Src, and the returned point has the unit Dst.

impl<T, Src, Dst> Rotation2D<T, Src, Dst> where
    T: Copy + Clone + Add<T, Output = T> + Mul<T, Output = T> + Div<T, Output = T> + Sub<T, Output = T> + Trig + PartialOrd + One + Zero
[src]

pub fn to_transform(&self) -> Transform2D<T, Src, Dst>[src]

Returns the matrix representation of this rotation.

Trait Implementations

impl<T, Src, Dst> PartialEq<Rotation2D<T, Src, Dst>> for Rotation2D<T, Src, Dst> where
    T: PartialEq
[src]

#[must_use] fn ne(&self, other: &Rhs) -> bool1.0.0[src]

This method tests for !=.

impl<T, Src, Dst> Eq for Rotation2D<T, Src, Dst> where
    T: Eq
[src]

impl<T, Src, Dst> Hash for Rotation2D<T, Src, Dst> where
    T: Hash
[src]

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0[src]

Feeds a slice of this type into the given [Hasher]. Read more

impl<T: Copy, Src, Dst> Copy for Rotation2D<T, Src, Dst>[src]

impl<T: Clone, Src, Dst> Clone for Rotation2D<T, Src, Dst>[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

Auto Trait Implementations

impl<T, Src, Dst> Unpin for Rotation2D<T, Src, Dst> where
    Dst: Unpin,
    Src: Unpin,
    T: Unpin

impl<T, Src, Dst> Send for Rotation2D<T, Src, Dst> where
    Dst: Send,
    Src: Send,
    T: Send

impl<T, Src, Dst> Sync for Rotation2D<T, Src, Dst> where
    Dst: Sync,
    Src: Sync,
    T: Sync

impl<T, Src, Dst> RefUnwindSafe for Rotation2D<T, Src, Dst> where
    Dst: RefUnwindSafe,
    Src: RefUnwindSafe,
    T: RefUnwindSafe

impl<T, Src, Dst> UnwindSafe for Rotation2D<T, Src, Dst> where
    Dst: UnwindSafe,
    Src: UnwindSafe,
    T: UnwindSafe

Blanket Implementations

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.