[][src]Struct euclid::TypedRotation2D

#[repr(C)]
pub struct TypedRotation2D<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> TypedRotation2D<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> TypedRotation2D<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> TypedRotation2D<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) -> TypedRotation3D<T, Src, Dst>[src]

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

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

Returns the inverse of this rotation.

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

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

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

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

pub fn transform_point(
    &self,
    point: &TypedPoint2D<T, Src>
) -> TypedPoint2D<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: &TypedVector2D<T, Src>
) -> TypedVector2D<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> TypedRotation2D<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) -> TypedTransform2D<T, Src, Dst>[src]

Returns the matrix representation of this rotation.

Trait Implementations

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

#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests for !=.

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

impl<T, Src, Dst> Hash for TypedRotation2D<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, Src, Dst> Copy for TypedRotation2D<T, Src, Dst> where
    T: Copy
[src]

impl<T, Src, Dst> Clone for TypedRotation2D<T, Src, Dst> where
    T: Clone
[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> Send for TypedRotation2D<T, Src, Dst> where
    Dst: Send,
    Src: Send,
    T: Send

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

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.