From 5b0d859d0fbfb84ec143d894e023dcbd90980ad1 Mon Sep 17 00:00:00 2001 From: HampusM <hampus@hampusmat.com> Date: Mon, 30 Oct 2023 19:45:58 +0100 Subject: feat(engine): add Vec3 scalar Sub & Add impls --- engine/src/vector.rs | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/engine/src/vector.rs b/engine/src/vector.rs index 00b2ea5..e5947d5 100644 --- a/engine/src/vector.rs +++ b/engine/src/vector.rs @@ -144,6 +144,38 @@ where } } +impl<Value> Add<Value> for Vec3<Value> +where + Value: Add<Value, Output = Value> + Clone, +{ + type Output = Self; + + fn add(mut self, rhs: Value) -> Self::Output + { + self.x = self.x + rhs.clone(); + self.y = self.y + rhs.clone(); + self.z = self.z + rhs.clone(); + + self + } +} + +impl<Value> Sub<Value> for Vec3<Value> +where + Value: Sub<Value, Output = Value> + Clone, +{ + type Output = Self; + + fn sub(mut self, rhs: Value) -> Self::Output + { + self.x = self.x - rhs.clone(); + self.y = self.y - rhs.clone(); + self.z = self.z - rhs.clone(); + + self + } +} + impl<Value> Mul<Value> for Vec3<Value> where Value: Mul<Value, Output = Value> + Clone, -- cgit v1.2.3-18-g5258