From 633f63df54041b6f53e2a0c47fa7fcdcd2ad7189 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Fri, 13 Oct 2017 13:11:18 -0700 Subject: [PATCH] fix updateQueryAACube return-value --- libraries/shared/src/SpatiallyNestable.cpp | 50 +++++++++++----------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/libraries/shared/src/SpatiallyNestable.cpp b/libraries/shared/src/SpatiallyNestable.cpp index baa289095d..8dbd2dd5e0 100644 --- a/libraries/shared/src/SpatiallyNestable.cpp +++ b/libraries/shared/src/SpatiallyNestable.cpp @@ -970,31 +970,33 @@ bool SpatiallyNestable::updateQueryAACube() { bool success; AACube maxAACube = getMaximumAACube(success); - if (success) { - if (shouldPuffQueryAACube()) { - // make an expanded AACube centered on the object - float scale = PARENTED_EXPANSION_FACTOR * maxAACube.getScale(); - _queryAACube = AACube(maxAACube.calcCenter() - glm::vec3(0.5f * scale), scale); - _queryAACubeIsPuffed = true; - } else { - _queryAACube = maxAACube; - _queryAACubeIsPuffed = false; - } - - forEachDescendant([&](const SpatiallyNestablePointer& descendant) { - bool childSuccess; - AACube descendantAACube = descendant->getQueryAACube(childSuccess); - if (childSuccess) { - if (_queryAACube.contains(descendantAACube)) { - return; // from lambda - } - _queryAACube += descendantAACube.getMinimumPoint(); - _queryAACube += descendantAACube.getMaximumPoint(); - } - }); - - _queryAACubeSet = true; + if (!success) { + return false; } + + if (shouldPuffQueryAACube()) { + // make an expanded AACube centered on the object + float scale = PARENTED_EXPANSION_FACTOR * maxAACube.getScale(); + _queryAACube = AACube(maxAACube.calcCenter() - glm::vec3(0.5f * scale), scale); + _queryAACubeIsPuffed = true; + } else { + _queryAACube = maxAACube; + _queryAACubeIsPuffed = false; + } + + forEachDescendant([&](const SpatiallyNestablePointer& descendant) { + bool childSuccess; + AACube descendantAACube = descendant->getQueryAACube(childSuccess); + if (childSuccess) { + if (_queryAACube.contains(descendantAACube)) { + return; // from lambda + } + _queryAACube += descendantAACube.getMinimumPoint(); + _queryAACube += descendantAACube.getMaximumPoint(); + } + }); + + _queryAACubeSet = true; return true; }