Added classes.
[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 #include <QMap>
16
17 class Calculate : public QObject
18 {
19     Q_OBJECT
20
21 public:
22     Calculate();
23     ~Calculate();
24
25     void reset();
26     void calculateParameters(double currentAcceleration, double seconds);
27     void accelStoppedCheck(double currentAcceleration);
28
29     double getAverageSpeed();
30     void setAverageSpeed(double value);
31
32     double getCurrentSpeed();
33     void setCurrentSpeed(double value);
34
35     double getDistanceTraveled();
36     void setDistanceTraveled(double value);
37
38     double getLastAcceleration();
39     void setLastAcceleration(double value);
40
41     double getLastCheckpoint();
42     void setLastCheckpoint(double value);
43
44     double getLastDistance();
45     void setLastDistance(double value);
46
47     double getLastSpeed();
48     void setLastSpeed(double value);
49
50     long getNumOfIterations();
51     void setNumOfIterations(long value);
52
53     double getTotalTime();
54     void setTotalTime(double value);
55
56     double getCurrentPower();
57     void setCurrentPower(double value);
58
59     double getPeakPower();
60     void setPeakPower(double value);
61
62     double getAveragePower();
63     void setAveragePower(double value);
64
65     double getMaxSpeed();
66     void setMaxSpeed(double value);
67
68 private:
69     double averageSpeed;
70     double currentSpeed;
71     double maxSpeed;
72     double distanceTraveled;
73     double lastAcceleration;
74     double lastDistance;
75     double lastSpeed;
76     double checkPoint;
77     long numOfIterations;
78     double totalTime;
79     int count;
80     int checkPointCounter;
81     double peakPower;
82     double currentPower;
83     double averagePower;
84     QList<int> speedCheckPoints;
85 public:
86     QMap<int,double> valuesMap;
87
88 signals:
89     void checkPointReached(double totalTime, double currentSpeed);
90
91 };
92
93 #endif // CALCULATE_H