diff --git a/Application/src/commons/common/misc/math.h b/Application/src/commons/common/misc/math.h index 49a75552b3acca4bff8bec12adea3b0d8bf0392b..e63d55e37b3082fd0e99117c79e34c9bef311cb4 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 ffc087c4ad9d3f12f068574d3d53a6c73713ed44..f2c7d10bd8a4c367876fff384c6eee770327a82b 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 bce3b150258d9fa631a22a2dfed11578a6061123..da35ba56445b867e5787b418431f631eb664144c 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); } }