UI design document updated.
[speedfreak] / Client / calculate.h
1 /*
2  * Calculate class to process accelerometer data
3  *
4  * @author      Kai Rasilainen
5  * @copyright   (c) 2010 Speed Freak team
6  * @license     http://opensource.org/licenses/gpl-license.php GNU Public License
7  */
8
9 #ifndef CALCULATE_H
10 #define CALCULATE_H
11
12 #include <QObject>
13 #include <QTime>
14 #include <QList>
15
16 class Calculate : public QObject
17 {
18     Q_OBJECT
19
20 public:
21     Calculate();
22     ~Calculate();
23
24     void reset();
25     void calculateParameters(double currentAcceleration, double seconds);
26     void accelStoppedCheck(double currentAcceleration);
27
28     double getAverageSpeed();
29     void setAverageSpeed(double value);
30
31     double getCurrentSpeed();
32     void setCurrentSpeed(double value);
33
34     double getDistanceTraveled();
35     void setDistanceTraveled(double value);
36
37     double getLastAcceleration();
38     void setLastAcceleration(double value);
39
40     double getLastCheckpoint();
41     void setLastCheckpoint(double value);
42
43     double getLastDistance();
44     void setLastDistance(double value);
45
46     double getLastSpeed();
47     void setLastSpeed(double value);
48
49     long getNumOfIterations();
50     void setNumOfIterations(long value);
51
52     double getTotalTime();
53     void setTotalTime(double value);
54
55     double getCurrentPower();
56     void setCurrentPower(double value);
57
58     double getPeakPower();
59     void setPeakPower(double value);
60
61     double getAveragePower();
62     void setAveragePower(double value);
63
64 private:
65     double averageSpeed;
66     double currentSpeed;
67     double distanceTraveled;
68     double lastAcceleration;
69     double lastCheckpoint;
70     double lastDistance;
71     double lastSpeed;
72     long numOfIterations;
73     double totalTime;
74     int count;
75     double peakPower;
76     double currentPower;
77     double averagePower;
78     QList<int> speedCheckPoints;
79
80 signals:
81     void checkPointReached(double totalTime, double currentSpeed);
82
83 };
84
85 #endif // CALCULATE_H