Skip to main content

Rotation2D

Struct Rotation2D 

pub struct Rotation2D<T, Src, Dst> {
    pub angle: T,
    /* private fields */
}
Available on crate feature geometry only.
Expand description

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

Fields§

§angle: T

Angle in radians

Implementations§

§

impl<T, Src, Dst> Rotation2D<T, Src, Dst>

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

Available on crate feature canvas only.

Creates a rotation from an angle in radians.

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

Available on crate feature canvas only.

Creates a rotation from an angle in radians.

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

Available on crate feature canvas only.

Creates the identity rotation.

§

impl<T, Src, Dst> Rotation2D<T, Src, Dst>
where T: Copy,

pub fn cast_unit<Src2, Dst2>(&self) -> Rotation2D<T, Src2, Dst2>

Available on crate feature canvas only.

Cast the unit, preserving the numeric value.

§Example
enum Local {}
enum World {}

enum Local2 {}
enum World2 {}

let to_world: Rotation2D<_, Local, World> = Rotation2D::radians(42);

assert_eq!(to_world.angle, to_world.cast_unit::<Local2, World2>().angle);

pub fn to_untyped(&self) -> Rotation2D<T, UnknownUnit, UnknownUnit>

Available on crate feature canvas only.

Drop the units, preserving only the numeric value.

§Example
enum Local {}
enum World {}

let to_world: Rotation2D<_, Local, World> = Rotation2D::radians(42);

assert_eq!(to_world.angle, to_world.to_untyped().angle);

pub fn from_untyped( r: &Rotation2D<T, UnknownUnit, UnknownUnit>, ) -> Rotation2D<T, Src, Dst>

Available on crate feature canvas only.

Tag a unitless value with units.

§Example
use euclid::UnknownUnit;
enum Local {}
enum World {}

let rot: Rotation2D<_, UnknownUnit, UnknownUnit> = Rotation2D::radians(42);

assert_eq!(rot.angle, Rotation2D::<_, Local, World>::from_untyped(&rot).angle);
§

impl<T, Src, Dst> Rotation2D<T, Src, Dst>
where T: Copy,

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

Available on crate feature canvas only.

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

§

impl<T, Src, Dst> Rotation2D<T, Src, Dst>
where T: Real,

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

Available on crate feature canvas only.

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

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

Available on crate feature canvas only.

Returns the inverse of this rotation.

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

Available on crate feature canvas only.

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

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

Available on crate feature canvas only.

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>

Available on crate feature canvas only.

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 + Add<Output = T> + Sub<Output = T> + Mul<Output = T> + Zero + Trig,

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

Available on crate feature canvas only.

Returns the matrix representation of this rotation.

Trait Implementations§

§

impl<T, Src, Dst> ApproxEq<T> for Rotation2D<T, Src, Dst>
where T: Copy + Neg<Output = T> + ApproxEq<T>,

§

fn approx_epsilon() -> T

Default epsilon value
§

fn approx_eq_eps(&self, other: &Rotation2D<T, Src, Dst>, eps: &T) -> bool

Returns true if this object is approximately equal to the other one, using a provided epsilon value.
§

fn approx_eq(&self, other: &Self) -> bool

Returns true if this object is approximately equal to the other one, using the approx_epsilon epsilon value.
§

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

§

fn clone(&self) -> Rotation2D<T, Src, Dst>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

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

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<T, Src, Dst> From<Rotation2D<T, Src, Dst>> for Transform2D<T, Src, Dst>
where T: Copy + Add<Output = T> + Sub<Output = T> + Mul<Output = T> + Zero + Trig,

§

fn from(r: Rotation2D<T, Src, Dst>) -> Transform2D<T, Src, Dst>

Converts to this type from the input type.
§

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

§

fn hash<H>(&self, h: &mut H)
where H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

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

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

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

§

fn eq(&self, other: &Rotation2D<T, Src, Dst>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl<S> Transformation<S> for Rotation2D<S, UnknownUnit, UnknownUnit>
where S: Scalar,

§

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

§

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

Auto Trait Implementations§

§

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

§

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

§

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

§

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

§

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

§

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

§

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

Blanket Implementations§

Source§

impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S
where T: Real + Zero + Arithmetics + Clone, Swp: WhitePoint<T>, Dwp: WhitePoint<T>, D: AdaptFrom<S, Swp, Dwp, T>,

Source§

fn adapt_into_using<M>(self, method: M) -> D
where M: TransformMatrix<T>,

Convert the source color to the destination color using the specified method.
Source§

fn adapt_into(self) -> D

Convert the source color to the destination color using the bradford method by default.
§

impl<T> Also for T

§

fn also<F>(self, block: F) -> Self
where F: FnOnce(&mut Self),

Apply a function to this value and return the (possibly) modified value.
Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> AnyEq for T
where T: Any + PartialEq,

§

fn equals(&self, other: &(dyn Any + 'static)) -> bool

§

fn as_any(&self) -> &(dyn Any + 'static)

§

impl<T, Res> Apply<Res> for T
where T: ?Sized,

§

fn apply<F>(self, f: F) -> Res
where F: FnOnce(Self) -> Res, Self: Sized,

Apply a function which takes the parameter by value.
§

fn apply_ref<F>(&self, f: F) -> Res
where F: FnOnce(&Self) -> Res,

Apply a function which takes the parameter by reference.
§

fn apply_mut<F>(&mut self, f: F) -> Res
where F: FnOnce(&mut Self) -> Res,

Apply a function which takes the parameter by mutable reference.
Source§

impl<T, C> ArraysFrom<C> for T
where C: IntoArrays<T>,

Source§

fn arrays_from(colors: C) -> T

Cast a collection of colors into a collection of arrays.
Source§

impl<T, C> ArraysInto<C> for T
where C: FromArrays<T>,

Source§

fn arrays_into(self) -> C

Cast this collection of arrays into a collection of colors.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for U
where T: FromCam16Unclamped<WpParam, U>,

Source§

type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar

The number type that’s used in parameters when converting.
Source§

fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T

Converts self into C, using the provided parameters.
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T, C> ComponentsFrom<C> for T
where C: IntoComponents<T>,

Source§

fn components_from(colors: C) -> T

Cast a collection of colors into a collection of color components.
§

impl<T> Downcast for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromAngle<T> for T

Source§

fn from_angle(angle: T) -> T

Performs a conversion from angle.
Source§

impl<T, U> FromStimulus<U> for T
where U: IntoStimulus<T>,

Source§

fn from_stimulus(other: U) -> T

Converts other into Self, while performing the appropriate scaling, rounding and clamping.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> IntoAngle<U> for T
where U: FromAngle<T>,

Source§

fn into_angle(self) -> U

Performs a conversion into T.
§

impl<State, Message> IntoBoot<State, Message> for State

§

fn into_boot(self) -> (State, Task<Message>)

Turns some type into the initial state of some Application.
Source§

impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for U
where T: Cam16FromUnclamped<WpParam, U>,

Source§

type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar

The number type that’s used in parameters when converting.
Source§

fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T

Converts self into C, using the provided parameters.
Source§

impl<T, U> IntoColor<U> for T
where U: FromColor<T>,

Source§

fn into_color(self) -> U

Convert into T with values clamped to the color defined bounds Read more
Source§

impl<T, U> IntoColorUnclamped<U> for T
where U: FromColorUnclamped<T>,

Source§

fn into_color_unclamped(self) -> U

Convert into T. The resulting color might be invalid in its color space Read more
Source§

impl<T> IntoStimulus<T> for T

Source§

fn into_stimulus(self) -> T

Converts self into T, while performing the appropriate scaling, rounding and clamping.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, C> TryComponentsInto<C> for T
where C: TryFromComponents<T>,

Source§

type Error = <C as TryFromComponents<T>>::Error

The error for when try_into_colors fails to cast.
Source§

fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>

Try to cast this collection of color components into a collection of colors. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T, U> TryIntoColor<U> for T
where U: TryFromColor<T>,

Source§

fn try_into_color(self) -> Result<U, OutOfBounds<U>>

Convert into T, returning ok if the color is inside of its defined range, otherwise an OutOfBounds error is returned which contains the unclamped color. Read more
Source§

impl<C, U> UintsFrom<C> for U
where C: IntoUints<U>,

Source§

fn uints_from(colors: C) -> U

Cast a collection of colors into a collection of unsigned integers.
Source§

impl<C, U> UintsInto<C> for U
where C: FromUints<U>,

Source§

fn uints_into(self) -> C

Cast this collection of unsigned integers into a collection of colors.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<T> MaybeClone for T

§

impl<T> MaybeDebug for T

§

impl<T> MaybeSend for T
where T: Send,

§

impl<T> MaybeSend for T
where T: Send,

§

impl<T> MaybeSync for T
where T: Sync,

§

impl<T> MaybeSync for T
where T: Sync,

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,