peridot_math/linarg/
euclid_interop.rs

1//! Euclid interop
2
3use super::*;
4
5impl<T> From<Vector2<T>> for euclid::Vector2D<T> {
6    #[inline(always)]
7    fn from(value: Vector2<T>) -> Self {
8        Self::new(value.0, value.1)
9    }
10}
11impl<T: Copy> From<&'_ Vector2<T>> for euclid::Vector2D<T> {
12    #[inline(always)]
13    fn from(value: &Vector2<T>) -> Self {
14        Self::new(value.0, value.1)
15    }
16}
17impl<T> From<euclid::Vector2D<T>> for Vector2<T> {
18    #[inline(always)]
19    fn from(value: euclid::Vector2D<T>) -> Self {
20        Self(value.x, value.y)
21    }
22}
23impl<T: Copy> From<&'_ euclid::Vector2D<T>> for Vector2<T> {
24    #[inline(always)]
25    fn from(value: &euclid::Vector2D<T>) -> Self {
26        Self(value.x, value.y)
27    }
28}
29
30impl<T> From<Vector2<T>> for euclid::Point2D<T> {
31    #[inline(always)]
32    fn from(value: Vector2<T>) -> Self {
33        Self::new(value.0, value.1)
34    }
35}
36impl<T: Copy> From<&'_ Vector2<T>> for euclid::Point2D<T> {
37    #[inline(always)]
38    fn from(value: &Vector2<T>) -> Self {
39        Self::new(value.0, value.1)
40    }
41}
42impl<T> From<euclid::Point2D<T>> for Vector2<T> {
43    #[inline(always)]
44    fn from(value: euclid::Point2D<T>) -> Self {
45        Self(value.x, value.y)
46    }
47}
48impl<T: Copy> From<&'_ euclid::Point2D<T>> for Vector2<T> {
49    #[inline(always)]
50    fn from(value: &euclid::Point2D<T>) -> Self {
51        Self(value.x, value.y)
52    }
53}
54
55impl<T> From<Vector3<T>> for euclid::Vector3D<T> {
56    #[inline(always)]
57    fn from(value: Vector3<T>) -> Self {
58        Self::new(value.0, value.1, value.2)
59    }
60}
61impl<T: Copy> From<&'_ Vector3<T>> for euclid::Vector3D<T> {
62    #[inline(always)]
63    fn from(value: &Vector3<T>) -> Self {
64        Self::new(value.0, value.1, value.2)
65    }
66}
67impl<T> From<euclid::Vector3D<T>> for Vector3<T> {
68    #[inline(always)]
69    fn from(value: euclid::Vector3D<T>) -> Self {
70        Self(value.x, value.y, value.z)
71    }
72}
73impl<T: Copy> From<&'_ euclid::Vector3D<T>> for Vector3<T> {
74    #[inline(always)]
75    fn from(value: &euclid::Vector3D<T>) -> Self {
76        Self(value.x, value.y, value.z)
77    }
78}
79
80impl<T: Copy> From<Vector3<T>> for euclid::Point3D<T> {
81    #[inline(always)]
82    fn from(value: Vector3<T>) -> Self {
83        Self::new(value.0, value.1, value.2)
84    }
85}
86impl<T: Copy> From<&'_ Vector3<T>> for euclid::Point3D<T> {
87    #[inline(always)]
88    fn from(value: &Vector3<T>) -> Self {
89        Self::new(value.0, value.1, value.2)
90    }
91}
92impl<T> From<euclid::Point3D<T>> for Vector3<T> {
93    #[inline(always)]
94    fn from(value: euclid::Point3D<T>) -> Self {
95        Self(value.x, value.y, value.z)
96    }
97}
98impl<T: Copy> From<&'_ euclid::Point3D<T>> for Vector3<T> {
99    #[inline(always)]
100    fn from(value: &euclid::Point3D<T>) -> Self {
101        Self(value.x, value.y, value.z)
102    }
103}