From 0eb8d63d076a15dcafec0f7e4fc45c227ca99fe5 Mon Sep 17 00:00:00 2001 From: Ale Martinez Date: Fri, 5 Feb 2021 11:08:11 -0300 Subject: [PATCH] Add fallback for Athlete Bodyfat Computed from FatPercent and Weight when FatKg is 0 --- src/Metrics/BasicRideMetrics.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Metrics/BasicRideMetrics.cpp b/src/Metrics/BasicRideMetrics.cpp index 66ba34810..e0b81a357 100644 --- a/src/Metrics/BasicRideMetrics.cpp +++ b/src/Metrics/BasicRideMetrics.cpp @@ -661,6 +661,10 @@ class AthleteFat : public RideMetric { void compute(RideItem *item, Specification, const QHash &) { setValue(item->getWeight(Measure::FatKg)); + if (item->getWeight(Measure::FatKg) > 0) + setValue(item->getWeight(Measure::FatKg)); + else + setValue(item->getWeight() * item->getWeight(Measure::FatPercent) / 100.0); setCount(1); } @@ -809,7 +813,7 @@ class AthleteFatP : public RideMetric { void compute(RideItem *item, Specification, const QHash &) { if (item->getWeight(Measure::FatPercent) > 0) setValue(item->getWeight(Measure::FatPercent)); - else if (item->getWeight(Measure::FatKg) > 0 && item->getWeight() > 0) + else if (item->getWeight() > 0) setValue(100 * item->getWeight(Measure::FatKg) / item->getWeight()); else setValue(0.0);