diff --git a/libraries/shared/src/AACube.cpp b/libraries/shared/src/AACube.cpp index e359eac9e9..6db80026df 100644 --- a/libraries/shared/src/AACube.cpp +++ b/libraries/shared/src/AACube.cpp @@ -314,6 +314,13 @@ bool AACube::findCapsulePenetration(const glm::vec3& start, const glm::vec3& end return true; } +bool AACube::operator<(const AACube& otherCube) const { + return (_corner.x < otherCube._corner.x + || (_corner.x == otherCube._corner.x && (_corner.y < otherCube._corner.y + || (_corner.y == otherCube._corner.y && (_corner.z < otherCube._corner.z + || _scale < otherCube._scale))))); +} + glm::vec3 AACube::getClosestPointOnFace(const glm::vec3& point, BoxFace face) const { switch (face) { case MIN_X_FACE: diff --git a/libraries/shared/src/AACube.h b/libraries/shared/src/AACube.h index b427e579e9..5e2595811c 100644 --- a/libraries/shared/src/AACube.h +++ b/libraries/shared/src/AACube.h @@ -50,6 +50,8 @@ public: bool findSpherePenetration(const glm::vec3& center, float radius, glm::vec3& penetration) const; bool findCapsulePenetration(const glm::vec3& start, const glm::vec3& end, float radius, glm::vec3& penetration) const; + bool operator<(const AACube& otherCube) const; // for qSorted lists of AACubes + private: glm::vec3 getClosestPointOnFace(const glm::vec3& point, BoxFace face) const; glm::vec3 getClosestPointOnFace(const glm::vec4& origin, const glm::vec4& direction, BoxFace face) const;