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