[]Struct gdnative::common::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>

pub fn new(angle: Angle<T>) -> TypedRotation2D<T, Src, Dst>

Creates a rotation from an angle in radians.

pub fn radians(angle: T) -> TypedRotation2D<T, Src, Dst>

pub fn identity() -> TypedRotation2D<T, Src, Dst> where
    T: Zero

Creates the identity rotation.

impl<T, Src, Dst> TypedRotation2D<T, Src, Dst> where
    T: Clone

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

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

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

pub fn to_3d(&self) -> TypedRotation3D<T, Src, Dst>

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

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

Returns the inverse of this rotation.

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

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>

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

pub fn transform_point(
    &self,
    point: &TypedPoint2D<T, Src>
) -> TypedPoint2D<T, Dst>

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>

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: Clone + Add<T, Output = T> + Mul<T, Output = T> + Div<T, Output = T> + Sub<T, Output = T> + Copy + Trig + PartialOrd<T> + One + Zero

pub fn to_transform(&self) -> TypedTransform2D<T, Src, Dst>

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<T>, 

#[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

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

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

Performs copy-assignment from source. Read more

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

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

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

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> From for T
[src]

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

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

type Owned = T

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

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

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

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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