Add more conversions for translations
Add [T; D] <-> Translation<T, D> Add Point<T, D> -> Translation<T, D>
This commit is contained in:
parent
db27a080f1
commit
65b94ccb91
|
@ -11,6 +11,7 @@ use crate::geometry::{
|
||||||
AbstractRotation, Isometry, Similarity, SuperTCategoryOf, TAffine, Transform, Translation,
|
AbstractRotation, Isometry, Similarity, SuperTCategoryOf, TAffine, Transform, Translation,
|
||||||
Translation3, UnitDualQuaternion, UnitQuaternion,
|
Translation3, UnitDualQuaternion, UnitQuaternion,
|
||||||
};
|
};
|
||||||
|
use crate::Point;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This file provides the following conversions:
|
* This file provides the following conversions:
|
||||||
|
@ -199,6 +200,31 @@ impl<T: Scalar, const D: usize> From<OVector<T, Const<D>>> for Translation<T, D>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl<T: Scalar, const D: usize> From<[T; D]> for Translation<T, D> {
|
||||||
|
#[inline]
|
||||||
|
fn from(coords: [T; D]) -> Self {
|
||||||
|
Translation {
|
||||||
|
vector: coords.into(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<T: Scalar, const D: usize> From<Point<T, D>> for Translation<T, D> {
|
||||||
|
#[inline]
|
||||||
|
fn from(pt: Point<T, D>) -> Self {
|
||||||
|
Translation {
|
||||||
|
vector: pt.coords.into(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<T: Scalar, const D: usize> Into<[T; D]> for Translation<T, D> {
|
||||||
|
#[inline]
|
||||||
|
fn into(self) -> [T; D] {
|
||||||
|
self.vector.into()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl<T: Scalar + PrimitiveSimdValue, const D: usize> From<[Translation<T::Element, D>; 2]>
|
impl<T: Scalar + PrimitiveSimdValue, const D: usize> From<[Translation<T::Element, D>; 2]>
|
||||||
for Translation<T, D>
|
for Translation<T, D>
|
||||||
where
|
where
|
||||||
|
|
Loading…
Reference in New Issue