From 68cfda1af9e264e04027da98530fb10b47df1a6e Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Mon, 21 Dec 2015 11:34:53 -0800 Subject: [PATCH] try again on AACube::operator += --- libraries/shared/src/AACube.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/libraries/shared/src/AACube.cpp b/libraries/shared/src/AACube.cpp index 4378dbb89b..4218826141 100644 --- a/libraries/shared/src/AACube.cpp +++ b/libraries/shared/src/AACube.cpp @@ -466,9 +466,15 @@ AABox AACube::clamp(float min, float max) const { } AACube& AACube::operator += (const glm::vec3& point) { - _corner = glm::min(_corner, point); - glm::vec3 scale = point - _corner; - _scale = glm::max(_scale, scale.x, scale.y, scale.z); + glm::vec3 oldMaximumPoint = getMaximumPoint(); + _corner = glm::vec3(glm::min(_corner.x, point.x), + glm::min(_corner.y, point.y), + glm::min(_corner.z, point.z)); + + glm::vec3 scaleOld = oldMaximumPoint - _corner; + glm::vec3 scalePoint = point - _corner; + _scale = glm::max(_scale, scalePoint.x, scalePoint.y, scalePoint.z); + _scale = glm::max(_scale, scaleOld.x, scaleOld.y, scaleOld.z); return (*this); }