#[repr(C)]pub struct Translation3D<T, Src, Dst> {
    pub x: T,
    pub y: T,
    pub z: T,
    /* private fields */
}Expand description
A 3d transformation from a space to another that can only express translations.
The main benefit of this type over a Vector3D is the ability to cast
between source and destination spaces.
Fields§
§x: T§y: T§z: TImplementations§
Source§impl<T, Src, Dst> Translation3D<T, Src, Dst>
 
impl<T, Src, Dst> Translation3D<T, Src, Dst>
pub const fn new(x: T, y: T, z: T) -> Translation3D<T, Src, Dst>
pub fn splat(v: T) -> Translation3D<T, Src, Dst>where
    T: Clone,
Sourcepub fn identity() -> Translation3D<T, Src, Dst>where
    T: Zero,
 
pub fn identity() -> Translation3D<T, Src, Dst>where
    T: Zero,
Creates no-op translation (x, y and z is zero()).
Sourcepub fn is_identity(&self) -> bool
 
pub fn is_identity(&self) -> bool
Check if translation does nothing (x, y and z is zero()).
use euclid::default::Translation3D;
assert_eq!(Translation3D::<f32>::identity().is_identity(), true);
assert_eq!(Translation3D::new(0, 0, 0).is_identity(), true);
assert_eq!(Translation3D::new(1, 0, 0).is_identity(), false);
assert_eq!(Translation3D::new(0, 1, 0).is_identity(), false);
assert_eq!(Translation3D::new(0, 0, 1).is_identity(), false);Sourcepub fn transform_size(self, s: Size2D<T, Src>) -> Size2D<T, Dst>
 
pub fn transform_size(self, s: Size2D<T, Src>) -> Size2D<T, Dst>
No-op, just cast the unit.
Source§impl<T, Src, Dst> Translation3D<T, Src, Dst>where
    T: Copy,
 
impl<T, Src, Dst> Translation3D<T, Src, Dst>where
    T: Copy,
Sourcepub fn to_untyped(&self) -> Translation3D<T, UnknownUnit, UnknownUnit>
 
pub fn to_untyped(&self) -> Translation3D<T, UnknownUnit, UnknownUnit>
Drop the units, preserving only the numeric value.
Sourcepub fn from_untyped(
    t: &Translation3D<T, UnknownUnit, UnknownUnit>,
) -> Translation3D<T, Src, Dst>
 
pub fn from_untyped( t: &Translation3D<T, UnknownUnit, UnknownUnit>, ) -> Translation3D<T, Src, Dst>
Tag a unitless value with units.
Sourcepub fn to_transform(&self) -> Transform3D<T, Src, Dst>
 
pub fn to_transform(&self) -> Transform3D<T, Src, Dst>
Returns the matrix representation of this translation.
Sourcepub fn transform_point3d(
    &self,
    p: &Point3D<T, Src>,
) -> Point3D<<T as Add>::Output, Dst>where
    T: Add,
 
pub fn transform_point3d(
    &self,
    p: &Point3D<T, Src>,
) -> Point3D<<T as Add>::Output, Dst>where
    T: Add,
Translate a point and cast its unit.
Sourcepub fn transform_point2d(
    &self,
    p: &Point2D<T, Src>,
) -> Point2D<<T as Add>::Output, Dst>where
    T: Add,
 
pub fn transform_point2d(
    &self,
    p: &Point2D<T, Src>,
) -> Point2D<<T as Add>::Output, Dst>where
    T: Add,
Translate a point and cast its unit.
Sourcepub fn transform_box2d(
    &self,
    b: &Box2D<T, Src>,
) -> Box2D<<T as Add>::Output, Dst>where
    T: Add,
 
pub fn transform_box2d(
    &self,
    b: &Box2D<T, Src>,
) -> Box2D<<T as Add>::Output, Dst>where
    T: Add,
Translate a 2D box and cast its unit.
Sourcepub fn transform_box3d(
    &self,
    b: &Box3D<T, Src>,
) -> Box3D<<T as Add>::Output, Dst>where
    T: Add,
 
pub fn transform_box3d(
    &self,
    b: &Box3D<T, Src>,
) -> Box3D<<T as Add>::Output, Dst>where
    T: Add,
Translate a 3D box and cast its unit.
Sourcepub fn transform_rect(&self, r: &Rect<T, Src>) -> Rect<T, Dst>where
    T: Add<Output = T>,
 
pub fn transform_rect(&self, r: &Rect<T, Src>) -> Rect<T, Dst>where
    T: Add<Output = T>,
Translate a rectangle and cast its unit.
Source§impl<T, Src, Dst> Translation3D<T, Src, Dst>
 
impl<T, Src, Dst> Translation3D<T, Src, Dst>
Sourcepub fn cast<NewT>(self) -> Translation3D<NewT, Src, Dst>where
    NewT: NumCast,
 
pub fn cast<NewT>(self) -> Translation3D<NewT, Src, Dst>where
    NewT: NumCast,
Cast from one numeric representation to another, preserving the units.
When casting from floating vector to integer coordinates, the decimals are truncated
as one would expect from a simple cast, but this behavior does not always make sense
geometrically. Consider using round(), ceil() or floor() before casting.
Sourcepub fn try_cast<NewT>(self) -> Option<Translation3D<NewT, Src, Dst>>where
    NewT: NumCast,
 
pub fn try_cast<NewT>(self) -> Option<Translation3D<NewT, Src, Dst>>where
    NewT: NumCast,
Fallible cast from one numeric representation to another, preserving the units.
When casting from floating vector to integer coordinates, the decimals are truncated
as one would expect from a simple cast, but this behavior does not always make sense
geometrically. Consider using round(), ceil() or floor() before casting.
Sourcepub fn to_f32(self) -> Translation3D<f32, Src, Dst>
 
pub fn to_f32(self) -> Translation3D<f32, Src, Dst>
Cast into an f32 vector.
Sourcepub fn to_f64(self) -> Translation3D<f64, Src, Dst>
 
pub fn to_f64(self) -> Translation3D<f64, Src, Dst>
Cast into an f64 vector.
Sourcepub fn to_usize(self) -> Translation3D<usize, Src, Dst>
 
pub fn to_usize(self) -> Translation3D<usize, Src, Dst>
Cast into an usize vector, truncating decimals if any.
When casting from floating vector vectors, it is worth considering whether
to round(), ceil() or floor() before the cast in order to obtain
the desired conversion behavior.
Sourcepub fn to_u32(self) -> Translation3D<u32, Src, Dst>
 
pub fn to_u32(self) -> Translation3D<u32, Src, Dst>
Cast into an u32 vector, truncating decimals if any.
When casting from floating vector vectors, it is worth considering whether
to round(), ceil() or floor() before the cast in order to obtain
the desired conversion behavior.
Sourcepub fn to_i32(self) -> Translation3D<i32, Src, Dst>
 
pub fn to_i32(self) -> Translation3D<i32, Src, Dst>
Cast into an i32 vector, truncating decimals if any.
When casting from floating vector vectors, it is worth considering whether
to round(), ceil() or floor() before the cast in order to obtain
the desired conversion behavior.
Sourcepub fn to_i64(self) -> Translation3D<i64, Src, Dst>
 
pub fn to_i64(self) -> Translation3D<i64, Src, Dst>
Cast into an i64 vector, truncating decimals if any.
When casting from floating vector vectors, it is worth considering whether
to round(), ceil() or floor() before the cast in order to obtain
the desired conversion behavior.
Trait Implementations§
Source§impl<T, Src, Dst1, Dst2> Add<Translation3D<T, Dst1, Dst2>> for Translation3D<T, Src, Dst1>where
    T: Add,
 
impl<T, Src, Dst1, Dst2> Add<Translation3D<T, Dst1, Dst2>> for Translation3D<T, Src, Dst1>where
    T: Add,
Source§type Output = Translation3D<<T as Add>::Output, Src, Dst2>
 
type Output = Translation3D<<T as Add>::Output, Src, Dst2>
+ operator.Source§fn add(
    self,
    other: Translation3D<T, Dst1, Dst2>,
) -> <Translation3D<T, Src, Dst1> as Add<Translation3D<T, Dst1, Dst2>>>::Output
 
fn add( self, other: Translation3D<T, Dst1, Dst2>, ) -> <Translation3D<T, Src, Dst1> as Add<Translation3D<T, Dst1, Dst2>>>::Output
+ operation. Read moreSource§impl<T, Src, Dst> AddAssign<Translation3D<T, Dst, Dst>> for Translation3D<T, Src, Dst>where
    T: AddAssign,
 
impl<T, Src, Dst> AddAssign<Translation3D<T, Dst, Dst>> for Translation3D<T, Src, Dst>where
    T: AddAssign,
Source§fn add_assign(&mut self, other: Translation3D<T, Dst, Dst>)
 
fn add_assign(&mut self, other: Translation3D<T, Dst, Dst>)
+= operation. Read moreSource§impl<T, Src, Dst> Clone for Translation3D<T, Src, Dst>where
    T: Clone,
 
impl<T, Src, Dst> Clone for Translation3D<T, Src, Dst>where
    T: Clone,
Source§fn clone(&self) -> Translation3D<T, Src, Dst>
 
fn clone(&self) -> Translation3D<T, Src, Dst>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<T, Src, Dst> Debug for Translation3D<T, Src, Dst>where
    T: Debug,
 
impl<T, Src, Dst> Debug for Translation3D<T, Src, Dst>where
    T: Debug,
Source§impl<T, Src, Dst> Default for Translation3D<T, Src, Dst>where
    T: Zero,
 
impl<T, Src, Dst> Default for Translation3D<T, Src, Dst>where
    T: Zero,
Source§fn default() -> Translation3D<T, Src, Dst>
 
fn default() -> Translation3D<T, Src, Dst>
Source§impl<T, Src, Dst> From<Translation3D<T, Src, Dst>> for Transform3D<T, Src, Dst>
 
impl<T, Src, Dst> From<Translation3D<T, Src, Dst>> for Transform3D<T, Src, Dst>
Source§fn from(t: Translation3D<T, Src, Dst>) -> Transform3D<T, Src, Dst>
 
fn from(t: Translation3D<T, Src, Dst>) -> Transform3D<T, Src, Dst>
Source§impl<T, Src, Dst> From<Translation3D<T, Src, Dst>> for Vector3D<T, Src>
 
impl<T, Src, Dst> From<Translation3D<T, Src, Dst>> for Vector3D<T, Src>
Source§fn from(t: Translation3D<T, Src, Dst>) -> Vector3D<T, Src>
 
fn from(t: Translation3D<T, Src, Dst>) -> Vector3D<T, Src>
Source§impl<T, Src, Dst> From<Vector3D<T, Src>> for Translation3D<T, Src, Dst>
 
impl<T, Src, Dst> From<Vector3D<T, Src>> for Translation3D<T, Src, Dst>
Source§fn from(v: Vector3D<T, Src>) -> Translation3D<T, Src, Dst>
 
fn from(v: Vector3D<T, Src>) -> Translation3D<T, Src, Dst>
Source§impl<T, Src, Dst> Hash for Translation3D<T, Src, Dst>where
    T: Hash,
 
impl<T, Src, Dst> Hash for Translation3D<T, Src, Dst>where
    T: Hash,
Source§impl<T, Src, Dst> PartialEq for Translation3D<T, Src, Dst>where
    T: PartialEq,
 
impl<T, Src, Dst> PartialEq for Translation3D<T, Src, Dst>where
    T: PartialEq,
Source§impl<T, Src, Dst1, Dst2> Sub<Translation3D<T, Dst1, Dst2>> for Translation3D<T, Src, Dst2>where
    T: Sub,
 
impl<T, Src, Dst1, Dst2> Sub<Translation3D<T, Dst1, Dst2>> for Translation3D<T, Src, Dst2>where
    T: Sub,
Source§type Output = Translation3D<<T as Sub>::Output, Src, Dst1>
 
type Output = Translation3D<<T as Sub>::Output, Src, Dst1>
- operator.Source§fn sub(
    self,
    other: Translation3D<T, Dst1, Dst2>,
) -> <Translation3D<T, Src, Dst2> as Sub<Translation3D<T, Dst1, Dst2>>>::Output
 
fn sub( self, other: Translation3D<T, Dst1, Dst2>, ) -> <Translation3D<T, Src, Dst2> as Sub<Translation3D<T, Dst1, Dst2>>>::Output
- operation. Read moreSource§impl<T, Src, Dst> SubAssign<Translation3D<T, Dst, Dst>> for Translation3D<T, Src, Dst>where
    T: SubAssign,
 
impl<T, Src, Dst> SubAssign<Translation3D<T, Dst, Dst>> for Translation3D<T, Src, Dst>where
    T: SubAssign,
Source§fn sub_assign(&mut self, other: Translation3D<T, Dst, Dst>)
 
fn sub_assign(&mut self, other: Translation3D<T, Dst, Dst>)
-= operation. Read moreimpl<T, Src, Dst> Copy for Translation3D<T, Src, Dst>where
    T: Copy,
impl<T, Src, Dst> Eq for Translation3D<T, Src, Dst>where
    T: Eq,
Auto Trait Implementations§
impl<T, Src, Dst> Freeze for Translation3D<T, Src, Dst>where
    T: Freeze,
impl<T, Src, Dst> RefUnwindSafe for Translation3D<T, Src, Dst>
impl<T, Src, Dst> Send for Translation3D<T, Src, Dst>
impl<T, Src, Dst> Sync for Translation3D<T, Src, Dst>
impl<T, Src, Dst> Unpin for Translation3D<T, Src, Dst>
impl<T, Src, Dst> UnwindSafe for Translation3D<T, Src, Dst>
Blanket Implementations§
Source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
    T: Real + Zero + Arithmetics + Clone,
    Swp: WhitePoint<T>,
    Dwp: WhitePoint<T>,
    D: AdaptFrom<S, Swp, Dwp, T>,
 
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
    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) -> Dwhere
    M: TransformMatrix<T>,
 
fn adapt_into_using<M>(self, method: M) -> Dwhere
    M: TransformMatrix<T>,
Source§fn adapt_into(self) -> D
 
fn adapt_into(self) -> D
Source§impl<T, Res> Apply<Res> for Twhere
    T: ?Sized,
 
impl<T, Res> Apply<Res> for Twhere
    T: ?Sized,
Source§impl<T, C> ArraysFrom<C> for Twhere
    C: IntoArrays<T>,
 
impl<T, C> ArraysFrom<C> for Twhere
    C: IntoArrays<T>,
Source§fn arrays_from(colors: C) -> T
 
fn arrays_from(colors: C) -> T
Source§impl<T, C> ArraysInto<C> for Twhere
    C: FromArrays<T>,
 
impl<T, C> ArraysInto<C> for Twhere
    C: FromArrays<T>,
Source§fn arrays_into(self) -> C
 
fn arrays_into(self) -> C
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Source§impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
    T: FromCam16Unclamped<WpParam, U>,
 
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
    T: FromCam16Unclamped<WpParam, U>,
Source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
 
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn cam16_into_unclamped(
    self,
    parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
 
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
Source§impl<T, C> ComponentsFrom<C> for Twhere
    C: IntoComponents<T>,
 
impl<T, C> ComponentsFrom<C> for Twhere
    C: IntoComponents<T>,
Source§fn components_from(colors: C) -> T
 
fn components_from(colors: C) -> T
Source§impl<T> Downcast for Twhere
    T: Any,
 
impl<T> Downcast for Twhere
    T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
 
fn into_any(self: Box<T>) -> Box<dyn Any>
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.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
 
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
 
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
 
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
 
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
 
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
 
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
 
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> FromAngle<T> for T
 
impl<T> FromAngle<T> for T
Source§fn from_angle(angle: T) -> T
 
fn from_angle(angle: T) -> T
angle.Source§impl<T, U> FromStimulus<U> for Twhere
    U: IntoStimulus<T>,
 
impl<T, U> FromStimulus<U> for Twhere
    U: IntoStimulus<T>,
Source§fn from_stimulus(other: U) -> T
 
fn from_stimulus(other: U) -> T
other into Self, while performing the appropriate scaling,
rounding and clamping.Source§impl<T> Instrument for T
 
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
 
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
 
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T, U> IntoAngle<U> for Twhere
    U: FromAngle<T>,
 
impl<T, U> IntoAngle<U> for Twhere
    U: FromAngle<T>,
Source§fn into_angle(self) -> U
 
fn into_angle(self) -> U
T.Source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
    T: Cam16FromUnclamped<WpParam, U>,
 
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
    T: Cam16FromUnclamped<WpParam, U>,
Source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
 
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn into_cam16_unclamped(
    self,
    parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
 
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T, U> IntoColor<U> for Twhere
    U: FromColor<T>,
 
impl<T, U> IntoColor<U> for Twhere
    U: FromColor<T>,
Source§fn into_color(self) -> U
 
fn into_color(self) -> U
Source§impl<T, U> IntoColorUnclamped<U> for Twhere
    U: FromColorUnclamped<T>,
 
impl<T, U> IntoColorUnclamped<U> for Twhere
    U: FromColorUnclamped<T>,
Source§fn into_color_unclamped(self) -> U
 
fn into_color_unclamped(self) -> U
Source§impl<T> IntoStimulus<T> for T
 
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
 
fn into_stimulus(self) -> T
self into T, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, C> TryComponentsInto<C> for Twhere
    C: TryFromComponents<T>,
 
impl<T, C> TryComponentsInto<C> for Twhere
    C: TryFromComponents<T>,
Source§type Error = <C as TryFromComponents<T>>::Error
 
type Error = <C as TryFromComponents<T>>::Error
try_into_colors fails to cast.Source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
 
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Source§impl<T, U> TryIntoColor<U> for Twhere
    U: TryFromColor<T>,
 
impl<T, U> TryIntoColor<U> for Twhere
    U: TryFromColor<T>,
Source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
 
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds error is returned which contains
the unclamped color. Read more