From d3908f156152b02da731b57fd51dc79aa9a42c06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20T=C5=AFma?= Date: Fri, 1 Apr 2016 09:41:52 +0200 Subject: [PATCH] Code cleanup --- src/track.cpp | 11 +++++------ src/trackpoint.h | 21 +++++++++++++-------- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/src/track.cpp b/src/track.cpp index 9300b0b4..667eaf68 100644 --- a/src/track.cpp +++ b/src/track.cpp @@ -1,4 +1,3 @@ -#include #include "ll.h" #include "track.h" @@ -100,12 +99,12 @@ void Track::elevationGraph(QVector &graph) const if (!_data.size()) return; - if (std::isnan(_data.at(0).elevation)) + if (!_data.at(0).hasElevation()) return; raw.append(QPointF(0, _data.at(0).elevation - _data.at(0).geoidheight)); for (int i = 1; i < _data.size(); i++) { dist += _dd.at(i-1); - if (std::isnan(_data.at(i).elevation)) + if (!_data.at(i).hasElevation()) return; raw.append(QPointF(dist, _data.at(i).elevation - _data.at(i).geoidheight)); @@ -128,7 +127,7 @@ void Track::speedGraph(QVector &graph) const dt = _data.at(i-1).timestamp.msecsTo(_data.at(i).timestamp) / 1000.0; dist += ds; - if (std::isnan(_data.at(i).speed)) { + if (!_data.at(i).hasSpeed()) { if (dt == 0) continue; v = ds / dt; @@ -149,11 +148,11 @@ void Track::heartRateGraph(QVector &graph) const if (!_data.size()) return; - if (std::isnan(_data.at(0).heartRate)) + if (!_data.at(0).hasHeartRate()) return; raw.append(QPointF(0, _data.at(0).heartRate)); for (int i = 1; i < _data.count(); i++) { - if (std::isnan(_data.at(i).heartRate)) + if (!_data.at(i).hasHeartRate()) return; dist += _dd.at(i-1); raw.append(QPointF(dist, _data.at(i).heartRate)); diff --git a/src/trackpoint.h b/src/trackpoint.h index 05793fc3..081406a5 100644 --- a/src/trackpoint.h +++ b/src/trackpoint.h @@ -5,21 +5,26 @@ #include #include -struct Trackpoint +class Trackpoint { - QPointF coordinates; - QDateTime timestamp; - qreal elevation; - qreal geoidheight; - qreal speed; - qreal heartRate; - +public: Trackpoint() { elevation = NAN; geoidheight = 0; speed = NAN; heartRate = NAN; } + + bool hasElevation() const {return !std::isnan(elevation);} + bool hasSpeed() const {return !std::isnan(speed);} + bool hasHeartRate() const {return !std::isnan(heartRate);} + + QPointF coordinates; + QDateTime timestamp; + qreal elevation; + qreal geoidheight; + qreal speed; + qreal heartRate; }; #endif // TRACKPOINT_H