Added Timespan object
parent
1d1aac3f5c
commit
7c50d84892
31
Julian.cpp
31
Julian.cpp
|
@ -80,6 +80,9 @@ Julian::Julian(int year, int mon, int day, int hour, int min, double sec) {
|
|||
Initialize(year, mon, day, hour, min, sec);
|
||||
}
|
||||
|
||||
/*
|
||||
* comparison
|
||||
*/
|
||||
bool Julian::operator==(const Julian &date) const {
|
||||
return date_ == date.date_ ? true : false;
|
||||
}
|
||||
|
@ -104,6 +107,34 @@ bool Julian::operator<=(const Julian &date) const {
|
|||
return date_ <= date.date_ ? true : false;
|
||||
}
|
||||
|
||||
/*
|
||||
* assignment
|
||||
*/
|
||||
Julian& Julian::operator=(const Julian& b) {
|
||||
date_ = b.date_;
|
||||
return (*this);
|
||||
}
|
||||
|
||||
Julian& Julian::operator=(const double b) {
|
||||
date_ = b;
|
||||
return (*this);
|
||||
}
|
||||
|
||||
/*
|
||||
* arithmetic
|
||||
*/
|
||||
Julian Julian::operator+(const Timespan& b) const {
|
||||
Julian result(*this);
|
||||
result.date_ += b.GetTotalDays();
|
||||
return result;
|
||||
}
|
||||
|
||||
Julian Julian::operator-(const Timespan& b) const {
|
||||
Julian result(*this);
|
||||
result.date_ -= b.GetTotalDays();
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* create julian date from year and day of year
|
||||
*/
|
||||
|
|
6
Julian.h
6
Julian.h
|
@ -2,6 +2,7 @@
|
|||
#define JULIAN_H_
|
||||
|
||||
#include "Globals.h"
|
||||
#include "Timespan.h"
|
||||
|
||||
#include <ctime>
|
||||
|
||||
|
@ -23,6 +24,11 @@ public:
|
|||
bool operator>=(const Julian &date) const;
|
||||
bool operator<=(const Julian &date) const;
|
||||
|
||||
Julian& operator=(const Julian& b);
|
||||
Julian& operator=(const double b);
|
||||
Julian operator+(const Timespan& b) const;
|
||||
Julian operator-(const Timespan& b) const;
|
||||
|
||||
~Julian() {
|
||||
};
|
||||
|
||||
|
|
|
@ -81,6 +81,7 @@
|
|||
<ClCompile Include="main.cpp" />
|
||||
<ClCompile Include="Observer.cpp" />
|
||||
<ClCompile Include="SGDP4.cpp" />
|
||||
<ClCompile Include="Timespan.cpp" />
|
||||
<ClCompile Include="Tle.cpp" />
|
||||
<ClCompile Include="Vector.cpp" />
|
||||
</ItemGroup>
|
||||
|
@ -92,6 +93,7 @@
|
|||
<ClInclude Include="Observer.h" />
|
||||
<ClInclude Include="SatelliteException.h" />
|
||||
<ClInclude Include="SGDP4.h" />
|
||||
<ClInclude Include="Timespan.h" />
|
||||
<ClInclude Include="Tle.h" />
|
||||
<ClInclude Include="Vector.h" />
|
||||
</ItemGroup>
|
||||
|
|
|
@ -42,6 +42,9 @@
|
|||
<ClCompile Include="Eci.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Timespan.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="Coord.h">
|
||||
|
@ -71,5 +74,8 @@
|
|||
<ClInclude Include="Eci.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Timespan.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,118 @@
|
|||
#include "Timespan.h"
|
||||
|
||||
#include "Globals.h"
|
||||
|
||||
Timespan::Timespan(void) {
|
||||
}
|
||||
|
||||
Timespan::Timespan(const double time_span) {
|
||||
}
|
||||
|
||||
Timespan::Timespan(const Timespan& b) {
|
||||
|
||||
time_span_ = b.time_span_;
|
||||
}
|
||||
|
||||
Timespan::~Timespan(void) {
|
||||
}
|
||||
|
||||
Timespan& Timespan::operator =(const Timespan& b) {
|
||||
|
||||
if (this != &b) {
|
||||
time_span_ = b.time_span_;
|
||||
|
||||
}
|
||||
return (*this);
|
||||
}
|
||||
|
||||
Timespan Timespan::operator +(const Timespan& b) const {
|
||||
|
||||
Timespan result(*this);
|
||||
result.time_span_ += b.GetTotalDays();
|
||||
return result;
|
||||
}
|
||||
|
||||
Timespan Timespan::operator -(const Timespan& b) const {
|
||||
|
||||
Timespan result(*this);
|
||||
result.time_span_ -= b.GetTotalDays();
|
||||
return result;
|
||||
}
|
||||
|
||||
const Timespan & Timespan::operator+=(const Timespan& b) {
|
||||
|
||||
time_span_ += b.time_span_;
|
||||
return (*this);
|
||||
}
|
||||
|
||||
const Timespan & Timespan::operator-=(const Timespan& b) {
|
||||
|
||||
time_span_ -= b.time_span_;
|
||||
return (*this);
|
||||
}
|
||||
|
||||
Timespan Timespan::operator +() const {
|
||||
|
||||
Timespan result(*this);
|
||||
result.time_span_ = +result.time_span_;
|
||||
return result;
|
||||
}
|
||||
|
||||
Timespan Timespan::operator -() const {
|
||||
|
||||
Timespan result(*this);
|
||||
result.time_span_ = -result.time_span_;
|
||||
return result;
|
||||
}
|
||||
|
||||
bool Timespan::operator ==(const Timespan& b) const {
|
||||
|
||||
if (time_span_ == b.time_span_)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Timespan::operator !=(const Timespan& b) const {
|
||||
|
||||
if (time_span_ == b.time_span_)
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Timespan::operator>(const Timespan& b) const {
|
||||
|
||||
if (time_span_ > b.time_span_)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Timespan::operator<(const Timespan& b) const {
|
||||
|
||||
if (time_span_ < b.time_span_)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Timespan::operator >=(const Timespan& b) const {
|
||||
|
||||
if (time_span_ >= b.time_span_)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Timespan::operator <=(const Timespan & b) const {
|
||||
|
||||
if (time_span_ <= b.time_span_)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
double Timespan::GetTotalDays() const{
|
||||
return time_span_ / Globals::MIN_PER_DAY();
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
#ifndef TIMESPAN_H_
|
||||
#define TIMESPAN_H_
|
||||
|
||||
class Timespan {
|
||||
public:
|
||||
Timespan(void);
|
||||
Timespan(const double time_span);
|
||||
Timespan(const Timespan& b);
|
||||
virtual ~Timespan(void);
|
||||
|
||||
double GetTotalDays() const;
|
||||
|
||||
/*
|
||||
* overloaded operators
|
||||
*/
|
||||
Timespan & operator=(const Timespan& b);
|
||||
Timespan operator+(const Timespan& b) const;
|
||||
Timespan operator-(const Timespan& b) const;
|
||||
Timespan operator+() const;
|
||||
Timespan operator-() const;
|
||||
const Timespan & operator+=(const Timespan& b);
|
||||
const Timespan & operator-=(const Timespan& b);
|
||||
bool operator==(const Timespan& b) const;
|
||||
bool operator!=(const Timespan& b) const;
|
||||
bool operator>(const Timespan& b) const;
|
||||
bool operator<(const Timespan& b) const;
|
||||
bool operator>=(const Timespan& b) const;
|
||||
bool operator<=(const Timespan& b) const;
|
||||
|
||||
private:
|
||||
/*
|
||||
* stores value in minutes
|
||||
*/
|
||||
double time_span_;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue