Hotwheels-Cluster 1.2
Creation of Cluster APP for SEA:ME project.
 
Loading...
Searching...
No Matches
MileageCalculator.cpp
Go to the documentation of this file.
1
18
19#include "MileageCalculator.hpp"
20#include <QDebug>
21
28
35void MileageCalculator::addSpeed(float speed) {
36 if (m_intervalTimer.isValid()) {
37 const qint64 interval = m_intervalTimer.restart();
38 QPair<float, qint64> newValue;
39 newValue.first = speed;
40 newValue.second = interval;
41 m_speedValues.append(newValue);
42
43 } else {
44 qDebug() << "MileageCalculator Interval Timer was not valid";
45 }
46}
47
55 // qDebug() << "Calculate distances " << m_speedValues.size();
56 double totalDistance = 0.0;
57
58 for (QPair<float, qint64> value : m_speedValues) {
59 double speedInMetersPerSecond = value.first * (1000.0 / 3600.0);
60 double intervalInSeconds = value.second / 1000.0;
61 // qDebug() << "Interval: " << value.second << " in seconds: " <<
62 // intervalInSeconds;
63 totalDistance += speedInMetersPerSecond * intervalInSeconds;
64 }
65
66 m_speedValues.clear();
67
68 // qDebug() << "Total distance: " << totalDistance;
69
70 return totalDistance;
71}
Definition of the MileageCalculator class.
double calculateDistance() override
Calculate the distance traveled by the vehicle.
QElapsedTimer m_intervalTimer
QList< QPair< float, qint64 > > m_speedValues
void addSpeed(float speed) override
Add a speed value to the calculator.
MileageCalculator()
Construct a new MileageCalculator object.