You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
173 lines
3.0 KiB
C++
173 lines
3.0 KiB
C++
#include "clap.h"
|
|
#include <stdio.h>
|
|
|
|
|
|
cLap::cLap(cActivity* lpParent)
|
|
{
|
|
m_dwValid = 0;
|
|
m_lpParent = lpParent;
|
|
}
|
|
|
|
cLap::cLap(cActivity* lpParent, const QDateTime &StartTime)
|
|
{
|
|
m_dwValid = 0;
|
|
m_lpParent = lpParent;
|
|
setStartTime(StartTime);
|
|
}
|
|
|
|
cActivity* cLap::getParent()
|
|
{
|
|
return(m_lpParent);
|
|
}
|
|
|
|
bool cLap::setStartTime(const QDateTime &StartTime)
|
|
{
|
|
if(!StartTime.isValid())
|
|
return(false);
|
|
|
|
m_StartTime = StartTime;
|
|
m_dwValid |= VALID_STARTTIME;
|
|
return(true);
|
|
}
|
|
|
|
QDateTime cLap::getStartTime()
|
|
{
|
|
if(m_dwValid & VALID_STARTTIME)
|
|
return(m_StartTime);
|
|
return(QDateTime(QDate(1980, 1, 1), QTime(0, 0)));
|
|
}
|
|
|
|
bool cLap::setTotalTime(double dTotalTime)
|
|
{
|
|
m_dTotalTime = dTotalTime;
|
|
m_dwValid |= VALID_TOTALTIME;
|
|
return(true);
|
|
}
|
|
|
|
double cLap::getTotalTime()
|
|
{
|
|
if(m_dwValid & VALID_TOTALTIME)
|
|
return(m_dTotalTime);
|
|
return(0);
|
|
}
|
|
|
|
bool cLap::setTotalDistance(double dTotalDistance)
|
|
{
|
|
m_dTotalDistance = dTotalDistance;
|
|
m_dwValid |= VALID_TOTALDISTANCE;
|
|
return(true);
|
|
}
|
|
|
|
double cLap::getTotalDistance()
|
|
{
|
|
if(m_dwValid & VALID_TOTALDISTANCE)
|
|
return(m_dTotalDistance);
|
|
return(0);
|
|
}
|
|
|
|
bool cLap::setMaximumSpeed(double dMaximumSpeed)
|
|
{
|
|
m_dMaximumSpeed = dMaximumSpeed;
|
|
m_dwValid |= VALID_MAXIMUMSPEED;
|
|
return(true);
|
|
}
|
|
|
|
double cLap::getMaximumSpeed()
|
|
{
|
|
if(m_dwValid & VALID_MAXIMUMSPEED)
|
|
return(m_dMaximumSpeed);
|
|
return(0);
|
|
}
|
|
|
|
bool cLap::setCalories(double dCalories)
|
|
{
|
|
m_dCalories = dCalories;
|
|
m_dwValid |= VALID_CALORIES;
|
|
return(true);
|
|
}
|
|
|
|
double cLap::getCalories()
|
|
{
|
|
if(m_dwValid & VALID_CALORIES)
|
|
return(m_dCalories);
|
|
return(0);
|
|
}
|
|
|
|
bool cLap::setAvgHeartrate(double dAvgHeartrate)
|
|
{
|
|
m_dAvgHeartrate = dAvgHeartrate;
|
|
m_dwValid |= VALID_AVGHEARTRATE;
|
|
return(true);
|
|
}
|
|
|
|
double cLap::getAvgHeartrate()
|
|
{
|
|
if(m_dwValid & VALID_AVGHEARTRATE)
|
|
return(m_dAvgHeartrate);
|
|
return(0);
|
|
}
|
|
|
|
bool cLap::setMaxHeartrate(double dMaxHeartrate)
|
|
{
|
|
m_dMaxHeartrate = dMaxHeartrate;
|
|
m_dwValid |= VALID_MAXHEARTRATE;
|
|
return(true);
|
|
}
|
|
|
|
double cLap::getMaxHeartrate()
|
|
{
|
|
if(m_dwValid & VALID_MAXHEARTRATE)
|
|
return(m_dMaxHeartrate);
|
|
return(0);
|
|
}
|
|
|
|
bool cLap::setIntensity(enum Intensity iIntensity)
|
|
{
|
|
if(iIntensity < IntensityUnknown || iIntensity > IntensityNone)
|
|
return(false);
|
|
m_iIntensity = iIntensity;
|
|
m_dwValid |= VALID_INTENSITY;
|
|
return(true);
|
|
}
|
|
|
|
enum cLap::Intensity cLap::getIntensity()
|
|
{
|
|
if(m_dwValid & VALID_INTENSITY)
|
|
return(m_iIntensity);
|
|
else
|
|
return(cLap::IntensityNone);
|
|
}
|
|
|
|
bool cLap::setTriggerMethod(enum TriggerMethod iTriggerMethod)
|
|
{
|
|
if(iTriggerMethod < TriggerMethodUnknown || iTriggerMethod > TriggerMethodNone)
|
|
return(false);
|
|
m_iTriggerMethod = iTriggerMethod;
|
|
m_dwValid |= VALID_TRIGGERMETHOD;
|
|
return(true);
|
|
}
|
|
|
|
enum cLap::TriggerMethod cLap::getTriggerMethod()
|
|
{
|
|
if(m_dwValid & VALID_TRIGGERMETHOD)
|
|
return(m_iTriggerMethod);
|
|
else
|
|
return(cLap::TriggerMethodNone);
|
|
}
|
|
|
|
cTrackpoint* cLap::addTrackpoint(uint32_t dwTime)
|
|
{
|
|
return(m_TrackpointList.add(this, dwTime));
|
|
}
|
|
|
|
cLapList::cLapList()
|
|
{
|
|
}
|
|
|
|
cLap* cLapList::add(cActivity* lpParent, const QDateTime &StartTime)
|
|
{
|
|
cLap* lpLap = new cLap(lpParent, StartTime);
|
|
this->append(lpLap);
|
|
return(lpLap);
|
|
}
|