From fb03e2a66095acbc4070d116a6b65514c247f5ff Mon Sep 17 00:00:00 2001 From: Risto Saarelma Date: Wed, 12 Feb 2014 08:56:39 +0200 Subject: [PATCH] Arguments directly used to construct AABB passed by value --- src/cgmath/aabb.rs | 18 +++++++++--------- src/test/aabb.rs | 14 +++++++------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/cgmath/aabb.rs b/src/cgmath/aabb.rs index f588ae5..34a4e9b 100644 --- a/src/cgmath/aabb.rs +++ b/src/cgmath/aabb.rs @@ -29,7 +29,7 @@ pub trait Aabb P: Point, Slice > { - fn new(p1: &P, p2: &P) -> Self; + fn new(p1: P, p2: P) -> Self; fn min<'a>(&'a self) -> &'a P; fn max<'a>(&'a self) -> &'a P; #[inline] fn dim(&self) -> V { self.max().sub_p(self.min()) } @@ -50,22 +50,22 @@ pub trait Aabb fn grow(&self, p: &P) -> Self { let min : P = build(|i| self.min().i(i).min(p.i(i))); let max : P = build(|i| self.max().i(i).max(p.i(i))); - Aabb::new(&min, &max) + Aabb::new(min, max) } // Returns a new AABB that has its points translated by the given vector. fn add_v(&self, v: &V) -> Self { - Aabb::new(&self.min().add_v(v), &self.max().add_v(v)) + Aabb::new(self.min().add_v(v), self.max().add_v(v)) } fn mul_s(&self, s: S) -> Self { - Aabb::new(&self.min().mul_s(s.clone()), &self.max().mul_s(s.clone())) + Aabb::new(self.min().mul_s(s.clone()), self.max().mul_s(s.clone())) } fn mul_v(&self, v: &V) -> Self { let min : P = Point::from_vec(&self.min().to_vec().mul_v(v)); let max : P = Point::from_vec(&self.max().to_vec().mul_v(v)); - Aabb::new(&min, &max) + Aabb::new(min, max) } } @@ -78,7 +78,7 @@ pub struct Aabb2 { impl Aabb2 { /// Construct a new axis-aligned bounding box from two points. #[inline] - pub fn new(p1: &Point2, p2: &Point2) -> Aabb2 { + pub fn new(p1: Point2, p2: Point2) -> Aabb2 { Aabb2 { min: Point2::new(p1.x.min(&p2.x), p1.y.min(&p2.y)), max: Point2::new(p1.x.max(&p2.x), p1.y.max(&p2.y)), @@ -87,7 +87,7 @@ impl Aabb2 { } impl Aabb, Point2, [S, ..2]> for Aabb2 { - fn new(p1: &Point2, p2: &Point2) -> Aabb2 { Aabb2::new(p1, p2) } + fn new(p1: Point2, p2: Point2) -> Aabb2 { Aabb2::new(p1, p2) } #[inline] fn min<'a>(&'a self) -> &'a Point2 { &self.min } #[inline] fn max<'a>(&'a self) -> &'a Point2 { &self.max } } @@ -107,7 +107,7 @@ pub struct Aabb3 { impl Aabb3 { /// Construct a new axis-aligned bounding box from two points. #[inline] - pub fn new(p1: &Point3, p2: &Point3) -> Aabb3 { + pub fn new(p1: Point3, p2: Point3) -> Aabb3 { Aabb3 { min: Point3::new(p1.x.min(&p2.x), p1.y.min(&p2.y), p1.z.min(&p2.z)), max: Point3::new(p1.x.max(&p2.x), p1.y.max(&p2.y), p1.z.max(&p2.z)), @@ -116,7 +116,7 @@ impl Aabb3 { } impl Aabb, Point3, [S, ..3]> for Aabb3 { - fn new(p1: &Point3, p2: &Point3) -> Aabb3 { Aabb3::new(p1, p2) } + fn new(p1: Point3, p2: Point3) -> Aabb3 { Aabb3::new(p1, p2) } #[inline] fn min<'a>(&'a self) -> &'a Point3 { &self.min } #[inline] fn max<'a>(&'a self) -> &'a Point3 { &self.max } } diff --git a/src/test/aabb.rs b/src/test/aabb.rs index 2eb2475..189120d 100644 --- a/src/test/aabb.rs +++ b/src/test/aabb.rs @@ -4,7 +4,7 @@ use cgmath::vector::{Vec2, Vec3}; #[test] fn test_aabb() { - let aabb = Aabb2::new(&Point2::new(-20, 30), &Point2::new(10, -10)); + let aabb = Aabb2::new(Point2::new(-20, 30), Point2::new(10, -10)); assert_eq!(aabb.min(), &Point2::new(-20, -10)); assert_eq!(aabb.max(), &Point2::new(10, 30)); assert_eq!(aabb.dim(), Vec2::new(30, 40)); @@ -17,11 +17,11 @@ fn test_aabb() { assert_eq!(aabb.grow(&Point2::new(0, 0)), aabb); assert_eq!(aabb.grow(&Point2::new(100, 100)), - Aabb2::new(&Point2::new(-20, -10), &Point2::new(100, 100))); + Aabb2::new(Point2::new(-20, -10), Point2::new(100, 100))); assert_eq!(aabb.grow(&Point2::new(-100, -100)), - Aabb2::new(&Point2::new(-100, -100), &Point2::new(10, 30))); + Aabb2::new(Point2::new(-100, -100), Point2::new(10, 30))); - let aabb = Aabb3::new(&Point3::new(-20, 30, 5), &Point3::new(10, -10, -5)); + let aabb = Aabb3::new(Point3::new(-20, 30, 5), Point3::new(10, -10, -5)); assert_eq!(aabb.min(), &Point3::new(-20, -10, -5)); assert_eq!(aabb.max(), &Point3::new(10, 30, 5)); assert_eq!(aabb.dim(), Vec3::new(30, 40, 10)); @@ -37,11 +37,11 @@ fn test_aabb() { assert!(!aabb.contains(&Point3::new(-21, -11, -6))); assert_eq!(aabb.add_v(&Vec3::new(1, 2, 3)), - Aabb3::new(&Point3::new(-19, 32, 8), &Point3::new(11, -8, -2))); + Aabb3::new(Point3::new(-19, 32, 8), Point3::new(11, -8, -2))); assert_eq!(aabb.mul_s(2), - Aabb3::new(&Point3::new(-40, -20, -10), &Point3::new(20, 60, 10))); + Aabb3::new(Point3::new(-40, -20, -10), Point3::new(20, 60, 10))); assert_eq!(aabb.mul_v(&Vec3::new(1, 2, 3)), - Aabb3::new(&Point3::new(-20, -20, -15), &Point3::new(10, 60, 15))); + Aabb3::new(Point3::new(-20, -20, -15), Point3::new(10, 60, 15))); }