mirror of
https://github.com/GoldenCheetah/GoldenCheetah.git
synced 2026-02-13 16:18:42 +00:00
Add Minute Mile Pace metric
Runners tend to measure speed in minute mile pace and this is common even if they use metric units.
This commit is contained in:
@@ -267,6 +267,48 @@ static bool avgSpeedAdded =
|
||||
RideMetricFactory::instance().addMetric(
|
||||
AvgSpeed(), &(QVector<QString>() << "total_distance"));
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
class Pace : public RideMetric {
|
||||
double pace;
|
||||
|
||||
public:
|
||||
|
||||
Pace() : pace(0.0)
|
||||
{
|
||||
setSymbol("pace");
|
||||
setName(tr("Minute Mile Pace"));
|
||||
setType(RideMetric::Average);
|
||||
setMetricUnits(tr("min/mile"));
|
||||
setImperialUnits(tr("min/mile"));
|
||||
setPrecision(1);
|
||||
}
|
||||
|
||||
void compute(const RideFile *, const Zones *, int,
|
||||
const HrZones *, int,
|
||||
const QHash<QString,RideMetric*> &deps,
|
||||
const MainWindow *) {
|
||||
|
||||
AvgSpeed *as = dynamic_cast<AvgSpeed*>(deps.value("average_speed"));
|
||||
|
||||
// divide by zero or stupidly low pace
|
||||
if (as->value(true) > 0.00f) pace = 60.0f / (as->value(true) * MILES_PER_KM); // kph to minutes per mile
|
||||
else pace = 0;
|
||||
|
||||
setValue(pace);
|
||||
setCount(as->count());
|
||||
}
|
||||
RideMetric *clone() const { return new Pace(*this); }
|
||||
};
|
||||
|
||||
static bool addPace()
|
||||
{
|
||||
QVector<QString> deps;
|
||||
deps.append("average_speed");
|
||||
RideMetricFactory::instance().addMetric(Pace(), &deps);
|
||||
return true;
|
||||
}
|
||||
static bool paceAdded = addPace();
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
struct AvgPower : public RideMetric {
|
||||
|
||||
@@ -45,6 +45,9 @@
|
||||
// Revision History
|
||||
// Rev Date Who What Changed
|
||||
//-----------------------------------------------------------------------
|
||||
//
|
||||
// ******* Prior to version 29 no revision history was maintained *******
|
||||
//
|
||||
// 29 5th Sep 2011 Mark Liversedge Added color to the ride fields
|
||||
// 30 8th Sep 2011 Mark Liversedge Metadata 'data' field for data present string
|
||||
// 31 22 Nov 2011 Mark Liversedge Added Average WPK metric
|
||||
@@ -52,8 +55,9 @@
|
||||
// 33 17 Dec 2011 Damien Grauser Added ResponseIndex and EfficiencyFactor
|
||||
// 34 15 Jan 2012 Mark Liversedge Added Average and Max Temperature and Metric->conversionSum()
|
||||
// 35 13 Feb 2012 Mark Liversedge Max/Avg Cadence adjusted conversion
|
||||
// 36 18 Feb 2012 Mark Liversedge Added Pace (min/mile) and 250m, 500m Pace metrics
|
||||
|
||||
static int DBSchemaVersion = 35;
|
||||
static int DBSchemaVersion = 36;
|
||||
|
||||
DBAccess::DBAccess(MainWindow* main, QDir home) : main(main), home(home)
|
||||
{
|
||||
|
||||
18
src/Units.h
18
src/Units.h
@@ -20,15 +20,15 @@
|
||||
#define _GC_Units_h 1
|
||||
#include "GoldenCheetah.h"
|
||||
|
||||
#define KM_PER_MILE 1.609344
|
||||
#define MILES_PER_KM 0.62137119
|
||||
#define FEET_PER_METER 3.2808399
|
||||
#define METERS_PER_FOOT 0.3047999
|
||||
#define LB_PER_KG 2.20462262
|
||||
#define KG_PER_LB 0.45359237
|
||||
#define FEET_LB_PER_NM 0.73756214837
|
||||
#define FAHRENHEIT_PER_CENTIGRADE 1.8
|
||||
#define FAHRENHEIT_ADD_CENTIGRADE 32
|
||||
#define KM_PER_MILE 1.609344f
|
||||
#define MILES_PER_KM 0.62137119f
|
||||
#define FEET_PER_METER 3.2808399f
|
||||
#define METERS_PER_FOOT 0.3047999f
|
||||
#define LB_PER_KG 2.20462262f
|
||||
#define KG_PER_LB 0.45359237f
|
||||
#define FEET_LB_PER_NM 0.73756214837f
|
||||
#define FAHRENHEIT_PER_CENTIGRADE 1.8f
|
||||
#define FAHRENHEIT_ADD_CENTIGRADE 32.0f
|
||||
#define GPS_COORD_TO_STRING 8
|
||||
|
||||
#endif // _GC_Units_h
|
||||
|
||||
Reference in New Issue
Block a user