From 0d5e6bd9363d5ed5c4f28174819fc0f5fd9aa586 Mon Sep 17 00:00:00 2001 From: Julian T Date: Sat, 6 Feb 2021 17:27:42 +0100 Subject: Reorganized scene module, and fixed bug in sphere intersect --- src/core/vector3.rs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/core') diff --git a/src/core/vector3.rs b/src/core/vector3.rs index 6f4d6ab..10de647 100644 --- a/src/core/vector3.rs +++ b/src/core/vector3.rs @@ -2,7 +2,7 @@ //! //! Also add more 3d math things needed for shading and 3d calculations. use crate::{Float, Number}; -use std::ops::{Mul, Sub, Add, DivAssign}; +use std::ops::{Mul, Sub, Add, DivAssign, Neg}; use std::fmt; #[derive(Clone, Copy)] @@ -61,6 +61,18 @@ impl Mul for Vector3 { } } +impl Neg for Vector3 { + type Output = Self; + + fn neg(self) -> Self::Output { + Self::Output::new_xyz( + -self.x, + -self.y, + -self.z, + ) + } +} + impl DivAssign for Vector3 { fn div_assign(&mut self, op: T) { self.x /= op; -- cgit v1.2.3