From 5fa358a465d32d1420a8cdfd23dd1a88ca4ae797 Mon Sep 17 00:00:00 2001 From: HampusM Date: Tue, 14 Jan 2025 13:32:02 +0100 Subject: feat(engine): add simple collision --- engine/src/data_types/vector.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'engine/src/data_types') diff --git a/engine/src/data_types/vector.rs b/engine/src/data_types/vector.rs index 17953f4..6746b76 100644 --- a/engine/src/data_types/vector.rs +++ b/engine/src/data_types/vector.rs @@ -85,6 +85,11 @@ pub struct Vec3 impl Vec3 { + pub const BACK: Self = Self { x: 0.0, y: 1.0, z: -1.0 }; + pub const DOWN: Self = Self { x: 0.0, y: -1.0, z: 0.0 }; + pub const FRONT: Self = Self { x: 0.0, y: 1.0, z: 1.0 }; + pub const LEFT: Self = Self { x: -1.0, y: 0.0, z: 0.0 }; + pub const RIGHT: Self = Self { x: 1.0, y: 0.0, z: 0.0 }; pub const UP: Self = Self { x: 0.0, y: 1.0, z: 0.0 }; /// Returns the length of the vector. @@ -209,6 +214,22 @@ where } } +impl Mul for Vec3 +where + Value: Mul, +{ + type Output = Self; + + fn mul(self, rhs: Self) -> Self::Output + { + Self::Output { + x: self.x * rhs.x, + y: self.y * rhs.y, + z: self.z * rhs.z, + } + } +} + impl Neg for Vec3 where Value: Neg, -- cgit v1.2.3-18-g5258