From 14ec9b431e8f0283b08b3b3e535b7f31b7f52b9b Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Wed, 25 Feb 2015 10:26:44 -0800 Subject: [PATCH] Update findRayRectangleIntersection to set out variable distance --- libraries/shared/src/GeometryUtil.cpp | 6 +++--- libraries/shared/src/GeometryUtil.h | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libraries/shared/src/GeometryUtil.cpp b/libraries/shared/src/GeometryUtil.cpp index cf15830a10..13d78ec8b3 100644 --- a/libraries/shared/src/GeometryUtil.cpp +++ b/libraries/shared/src/GeometryUtil.cpp @@ -494,8 +494,8 @@ void PolygonClip::copyCleanArray(int& lengthA, glm::vec2* vertexArrayA, int& len } } -bool findRayRectangleIntersection(const glm::vec3& origin, const glm::vec3& direction, - const glm::quat& rotation, const glm::vec3& position, const glm::vec2& dimensions) { +bool findRayRectangleIntersection(const glm::vec3& origin, const glm::vec3& direction, const glm::quat& rotation, + const glm::vec3& position, const glm::vec2& dimensions, float& distance) { RayIntersectionInfo rayInfo; rayInfo._rayStart = origin; rayInfo._rayDirection = direction; @@ -511,7 +511,7 @@ bool findRayRectangleIntersection(const glm::vec3& origin, const glm::vec3& dire bool intersects = plane.findRayIntersection(rayInfo); if (intersects) { - float distance = rayInfo._hitDistance; + distance = rayInfo._hitDistance; glm::vec3 hitPosition = origin + (distance * direction); glm::vec3 localHitPosition = glm::inverse(rotation) * (hitPosition - position); diff --git a/libraries/shared/src/GeometryUtil.h b/libraries/shared/src/GeometryUtil.h index e0de536e97..657a06a604 100644 --- a/libraries/shared/src/GeometryUtil.h +++ b/libraries/shared/src/GeometryUtil.h @@ -76,8 +76,8 @@ bool findRaySphereIntersection(const glm::vec3& origin, const glm::vec3& directi bool findRayCapsuleIntersection(const glm::vec3& origin, const glm::vec3& direction, const glm::vec3& start, const glm::vec3& end, float radius, float& distance); -bool findRayRectangleIntersection(const glm::vec3& origin, const glm::vec3& direction, - const glm::quat& rotation, const glm::vec3& position, const glm::vec2& dimensions); +bool findRayRectangleIntersection(const glm::vec3& origin, const glm::vec3& direction, const glm::quat& rotation, + const glm::vec3& position, const glm::vec2& dimensions, float& distance); bool findRayTriangleIntersection(const glm::vec3& origin, const glm::vec3& direction, const glm::vec3& v0, const glm::vec3& v1, const glm::vec3& v2, float& distance);