From 4ce22a9ca2ffef4c4c0e7bd6bb241f3c74635b58 Mon Sep 17 00:00:00 2001 From: turanszkij Date: Sat, 18 Jun 2016 21:27:13 +0200 Subject: [PATCH] aabb merge, picked compare --- WickedEngine/wiLoader.cpp | 4 ++++ WickedEngine/wiLoader.h | 1 + WickedEngine/wiRenderer.h | 11 +++++++++++ WickedEngine/wiVersion.cpp | 2 +- 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/WickedEngine/wiLoader.cpp b/WickedEngine/wiLoader.cpp index f0dbde10a..b52dc4f67 100644 --- a/WickedEngine/wiLoader.cpp +++ b/WickedEngine/wiLoader.cpp @@ -2215,6 +2215,10 @@ AABB AABB::operator* (float a) max.z*=a; return AABB(min,max); } +AABB AABB::Merge(const AABB& a, const AABB& b) +{ + return AABB(wiMath::Min(a.getMin(), b.getMin()), wiMath::Max(a.getMax(), b.getMax())); +} #pragma endregion #pragma region SPHERE diff --git a/WickedEngine/wiLoader.h b/WickedEngine/wiLoader.h index 251ab96a6..0acb0609c 100644 --- a/WickedEngine/wiLoader.h +++ b/WickedEngine/wiLoader.h @@ -261,6 +261,7 @@ struct AABB{ bool intersects(const XMFLOAT3& p) const; bool intersects(const RAY& ray) const; AABB operator* (float a); + static AABB Merge(const AABB& a, const AABB& b); }; struct SPHERE{ float radius; diff --git a/WickedEngine/wiRenderer.h b/WickedEngine/wiRenderer.h index 48018b562..aaa736210 100644 --- a/WickedEngine/wiRenderer.h +++ b/WickedEngine/wiRenderer.h @@ -455,6 +455,17 @@ public: SAFE_INIT(light); SAFE_INIT(decal); } + + // Subset index, position, normal, distance don't distinguish between pickeds! + bool operator==(const Picked& other) + { + return + transform == other.transform && + object == other.object && + light == other.light && + decal == other.decal + ; + } }; // Pick closest object in the world diff --git a/WickedEngine/wiVersion.cpp b/WickedEngine/wiVersion.cpp index 19d278f0f..d5c08ec42 100644 --- a/WickedEngine/wiVersion.cpp +++ b/WickedEngine/wiVersion.cpp @@ -7,7 +7,7 @@ namespace wiVersion // minor features, major bug fixes const int minor = 8; // minor bug fixes, alterations, refactors - const int revision = 13; + const int revision = 14; long GetVersion()