From dacbe9b0ce36f49ad0337f9962edf3a12dac0ffa Mon Sep 17 00:00:00 2001
From: Tristan Walter <twalter@orn.mpg.de>
Date: Mon, 9 Nov 2020 13:18:56 +0100
Subject: [PATCH] * fixing small issues that could lead to manual identities
 being assigned wrong

---
 Application/src/commons/common/misc/math.h    | 4 +++-
 Application/src/tracker/tracking/Individual.h | 2 +-
 Application/src/tracker/tracking/Tracker.cpp  | 2 +-
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/Application/src/commons/common/misc/math.h b/Application/src/commons/common/misc/math.h
index 49a7555..e63d55e 100644
--- a/Application/src/commons/common/misc/math.h
+++ b/Application/src/commons/common/misc/math.h
@@ -295,7 +295,9 @@ namespace cmn {
     }
 
 template<typename T>
-inline constexpr T infinity() {
+inline constexpr auto infinity()
+    -> typename std::enable_if<std::is_floating_point<T>::value, T>::type
+{
     return std::numeric_limits<T>::infinity();
 }
 
diff --git a/Application/src/tracker/tracking/Individual.h b/Application/src/tracker/tracking/Individual.h
index ffc087c..f2c7d10 100644
--- a/Application/src/tracker/tracking/Individual.h
+++ b/Application/src/tracker/tracking/Individual.h
@@ -114,7 +114,7 @@ namespace track {
     
     class Identity {
     public:
-        static constexpr auto InvalidID = std::numeric_limits<uint32_t>::infinity();
+        static constexpr auto InvalidID = std::numeric_limits<uint32_t>::max();
         
     protected:
         GETTER_SETTER(gui::Color, color)
diff --git a/Application/src/tracker/tracking/Tracker.cpp b/Application/src/tracker/tracking/Tracker.cpp
index bce3b15..da35ba5 100644
--- a/Application/src/tracker/tracking/Tracker.cpp
+++ b/Application/src/tracker/tracking/Tracker.cpp
@@ -2249,7 +2249,7 @@ void Tracker::clear_properties() {
                     assert(fish->identity().ID() == m);
                     max_id = max(max_id, m);
                     
-                    _individuals[fish->identity().ID()] = fish;
+                    _individuals[m] = fish;
                     //active_individuals.push_back(fish);
                 }
             }
-- 
GitLab