Skip to content

Commit 583bd57

Browse files
committed
Add Reflect support for DMat3, DMat4, DQuat (bevyengine#4128)
## Objective A step towards `f64` `Transform`s (bevyengine#1680). For now, I am rolling my own `Transform`. But in order to derive Reflect, I specifically need `DQuat` to be reflectable. ```rust #[derive(Component, Reflect, Copy, Clone, PartialEq, Debug)] #[reflect(Component, PartialEq)] pub struct Transform { pub translation: DVec3, pub rotation: DQuat, // error: the trait `bevy::prelude::Reflect` is not implemented for `DQuat` pub scale: DVec3, } ``` ## Solution I have added a `DQuat` impl for `Reflect` alongside the other glam impls. I've also added impls for `DMat3` and `DMat4` to match.
1 parent f75df17 commit 583bd57

File tree

1 file changed

+6
-0
lines changed
  • crates/bevy_reflect/src/impls

1 file changed

+6
-0
lines changed

crates/bevy_reflect/src/impls/glam.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ impl_reflect_value!(DVec4(PartialEq, Serialize, Deserialize));
1919
impl_reflect_value!(Mat3(PartialEq, Serialize, Deserialize));
2020
impl_reflect_value!(Mat4(PartialEq, Serialize, Deserialize));
2121
impl_reflect_value!(Quat(PartialEq, Serialize, Deserialize));
22+
impl_reflect_value!(DMat3(PartialEq, Serialize, Deserialize));
23+
impl_reflect_value!(DMat4(PartialEq, Serialize, Deserialize));
24+
impl_reflect_value!(DQuat(PartialEq, Serialize, Deserialize));
2225

2326
impl_from_reflect_value!(IVec2);
2427
impl_from_reflect_value!(IVec3);
@@ -36,3 +39,6 @@ impl_from_reflect_value!(DVec4);
3639
impl_from_reflect_value!(Mat3);
3740
impl_from_reflect_value!(Mat4);
3841
impl_from_reflect_value!(Quat);
42+
impl_from_reflect_value!(DMat3);
43+
impl_from_reflect_value!(DMat4);
44+
impl_from_reflect_value!(DQuat);

0 commit comments

Comments
 (0)