From 56fff1178e4509a80925d9fe266341f79034f47a Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sun, 10 Aug 2014 16:58:05 -0700 Subject: [PATCH] ToObjectSpace copies the Ray anyway, so pass by value --- src/object.cc | 9 ++++----- src/object.hh | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/object.cc b/src/object.cc index 57db9c0..3b0bdf6 100644 --- a/src/object.cc +++ b/src/object.cc @@ -85,13 +85,12 @@ Object::Normal(const Vector4& p) * charles::Object::ToObjectSpace -- */ Ray -Object::ToObjectSpace(const Ray& ray) +Object::ToObjectSpace(Ray ray) const { - Ray objRay(ray); - objRay.origin = mTranslation * objRay.origin; - objRay.direction = mTranslation * objRay.direction; - return objRay; + ray.origin = mTranslation * ray.origin; + ray.direction = mTranslation * ray.direction; + return ray; } diff --git a/src/object.hh b/src/object.hh index 6696d72..9bb47a7 100644 --- a/src/object.hh +++ b/src/object.hh @@ -59,7 +59,7 @@ protected: private: /** Convert `ray` to object space from global space. */ - basics::Ray ToObjectSpace(const basics::Ray& ray) const; + basics::Ray ToObjectSpace(basics::Ray ray) const; /** Convert `v` to object space from global space. */ basics::Vector4 ToObjectSpace(const basics::Vector4& v) const;