re_types/components/
scale3d_ext.rs1use crate::datatypes::Vec3D;
2
3use super::Scale3D;
4
5impl Scale3D {
6 #[inline]
8 pub fn uniform(value: f32) -> Self {
9 Self(Vec3D([value, value, value]))
10 }
11
12 #[allow(non_snake_case)]
16 #[deprecated(since = "0.18.0", note = "Use `Scale3D::uniform` instead.")]
17 pub fn Uniform(value: f32) -> Self {
18 Self::uniform(value)
19 }
20
21 #[allow(non_snake_case)]
25 #[deprecated(since = "0.18.0", note = "Use `Scale3D::from` instead.")]
26 pub fn ThreeD(value: impl Into<Vec3D>) -> Self {
27 Self::from(value.into())
28 }
29}
30
31impl From<f32> for Scale3D {
32 #[inline]
33 fn from(value: f32) -> Self {
34 Self(crate::datatypes::Vec3D([value, value, value]))
35 }
36}
37
38#[cfg(feature = "glam")]
39impl From<Scale3D> for glam::Affine3A {
40 #[inline]
41 fn from(v: Scale3D) -> Self {
42 Self {
43 matrix3: glam::Mat3A::from_diagonal(v.0.into()),
44 translation: glam::Vec3A::ZERO,
45 }
46 }
47}
48
49impl Default for Scale3D {
50 #[inline]
51 fn default() -> Self {
52 Self(crate::datatypes::Vec3D([1.0, 1.0, 1.0]))
53 }
54}