Added an macro IF_DEBUG_IS(x) that executes if run in debug mode, AABB has a check so max and min corners are set properly in debug mode.
This commit is contained in:
@@ -4,4 +4,5 @@
|
|||||||
#include <map>
|
#include <map>
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
|
|
||||||
#include "Core/Util/Logging.h"
|
#include "Core/Util/Logging.h"
|
||||||
|
#include "Core/Util/IfDebug.h"
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
//Example:
|
||||||
|
//IF_DEBUG_IS(true) {
|
||||||
|
// //Stuff done only in debug mode.
|
||||||
|
//}
|
||||||
|
//
|
||||||
|
//IF_DEBUG_IS(false) {
|
||||||
|
// //Stuff done only in release mode.
|
||||||
|
//} else {
|
||||||
|
// //Stuff only in debug.
|
||||||
|
//}
|
||||||
|
#ifndef IF_DEBUG_IS
|
||||||
|
#ifndef DEBUG
|
||||||
|
#define IF_DEBUG_IS(c) if(c)
|
||||||
|
#else
|
||||||
|
#define IF_DEBUG_IS(c) if(!c)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
@@ -1,11 +1,24 @@
|
|||||||
#include "Core/AABB.h"
|
#include "Core/AABB.h"
|
||||||
|
#include "Common.h"
|
||||||
|
|
||||||
AABB::AABB(const glm::vec3& minPos, const glm::vec3& maxPos)
|
AABB::AABB(const glm::vec3& minPos, const glm::vec3& maxPos)
|
||||||
: m_MinCorner(minPos)
|
: m_MinCorner(minPos)
|
||||||
, m_MaxCorner(maxPos)
|
, m_MaxCorner(maxPos)
|
||||||
, m_Center(0.5f * (maxPos + minPos))
|
, m_Center(0.5f * (maxPos + minPos))
|
||||||
, m_HalfSize(0.5f * (maxPos - minPos))
|
, m_HalfSize(0.5f * (maxPos - minPos))
|
||||||
{}
|
{
|
||||||
|
IF_DEBUG_IS(true) {
|
||||||
|
if (glm::any(glm::lessThan(m_MaxCorner, m_MinCorner))) {
|
||||||
|
LOG_WARNING("AABB maxCorner coordinates are not greater than minCorner");
|
||||||
|
m_MaxCorner.x = glm::max(m_MaxCorner.x, m_MinCorner.x);
|
||||||
|
m_MinCorner.x = glm::min(m_MaxCorner.x, m_MinCorner.x);
|
||||||
|
m_MaxCorner.y = glm::max(m_MaxCorner.y, m_MinCorner.y);
|
||||||
|
m_MinCorner.y = glm::min(m_MaxCorner.y, m_MinCorner.y);
|
||||||
|
m_MaxCorner.z = glm::max(m_MaxCorner.z, m_MinCorner.z);
|
||||||
|
m_MinCorner.z = glm::min(m_MaxCorner.z, m_MinCorner.z);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
AABB::AABB(const glm::vec4& minPos, const glm::vec4& maxPos)
|
AABB::AABB(const glm::vec4& minPos, const glm::vec4& maxPos)
|
||||||
: AABB(glm::vec3(minPos), glm::vec3(maxPos))
|
: AABB(glm::vec3(minPos), glm::vec3(maxPos))
|
||||||
|
|||||||
Reference in New Issue
Block a user