From: Joshua Simmons Date: Sun, 11 Sep 2022 14:02:52 +0000 (+0200) Subject: Add point -> vector conversion functions X-Git-Url: https://git.nega.tv//gitweb.cgi?a=commitdiff_plain;h=e494b483584852fc65659018fd01d193e17a0430;p=josh%2Fnarcissus Add point -> vector conversion functions --- diff --git a/narcissus-maths/src/point2.rs b/narcissus-maths/src/point2.rs index 5351cd1..ed4eac6 100644 --- a/narcissus-maths/src/point2.rs +++ b/narcissus-maths/src/point2.rs @@ -18,6 +18,12 @@ impl Point2 { Self { x, y } } + /// Converts this point to the equivalent vector. + #[inline(always)] + pub const fn as_vec2(self) -> Vec2 { + Vec2::new(self.x, self.y) + } + /// Returns a new [`Point2`] with the function `f` applied to each coordinate of `self` in order. #[inline(always)] pub fn map(self, mut f: F) -> Self diff --git a/narcissus-maths/src/point3.rs b/narcissus-maths/src/point3.rs index c3b9ebb..f5a7e07 100644 --- a/narcissus-maths/src/point3.rs +++ b/narcissus-maths/src/point3.rs @@ -19,6 +19,12 @@ impl Point3 { Point3 { x, y, z } } + /// Converts this point to the equivalent vector. + #[inline(always)] + pub const fn as_vec3(self) -> Vec3 { + Vec3::new(self.x, self.y, self.z) + } + /// Returns a new [`Point3`] with the function `f` applied to each coordinate of `self` in order. #[inline(always)] pub fn map(self, mut f: F) -> Point3