ef000baca639538f3cb7d438c6979dec9fd4e7e9
[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
15 class Calculate : public QObject
16 {
17     Q_OBJECT
18
19 public:
20     Calculate();
21     ~Calculate();
22
23     void reset();
24     void calculateParameters(double currentAcceleration, double seconds);
25     void accelStoppedCheck(double currentAcceleration);
26
27     double getAverageSpeed();
28     void setAverageSpeed(double value);
29
30     double getCurrentSpeed();
31     void setCurrentSpeed(double value);
32
33     double getDistanceTraveled();
34     void setDistanceTraveled(double value);
35
36     double getLastAcceleration();
37     void setLastAcceleration(double value);
38
39     double getLastCheckpoint();
40     void setLastCheckpoint(double value);
41
42     double getLastDistance();
43     void setLastDistance(double value);
44
45     double getLastSpeed();
46     void setLastSpeed(double value);
47
48     long getNumOfIterations();
49     void setNumOfIterations(long value);
50
51     double getTotalTime();
52     void setTotalTime(double value);
53
54 private:
55     double averageSpeed;
56     double currentSpeed;
57     double distanceTraveled;
58     double lastAcceleration;
59     double lastCheckpoint;
60     double lastDistance;
61     double lastSpeed;
62     long numOfIterations;
63     double totalTime;
64     int count;
65
66 };
67
68 #endif // CALCULATE_H