![]() |
ATC
Advanced Trip Computer
|
00001 00006 #include "Date.h" 00007 #include "Time.h" 00008 #include "Latitude.h" 00009 #include "Longitude.h" 00010 extern "C" 00011 { 00012 #include "GPS2UTM.H" 00013 } 00017 class Position { 00018 00019 private: 00020 00023 Date date; 00026 Time time; 00029 Latitude latitude; 00032 Longitude longitude; 00033 00034 public: 00035 00039 Position(void) 00040 { 00041 Date d(1,1,2000); 00042 date = d; 00043 Time t(0,0,0); 00044 time = t; 00045 Latitude lat(0,0,0,NORD); 00046 latitude = lat; 00047 Longitude lon(0,0,0,EST); 00048 longitude = lon; 00049 } 00057 Position(Date d, Time t, Latitude lat, Longitude lon) 00058 { 00059 date = d; 00060 time = t; 00061 latitude = lat; 00062 longitude = lon; 00063 } 00067 Date getDate(void) 00068 { 00069 return date; 00070 } 00074 Time getTime(void) 00075 { 00076 return time; 00077 } 00081 Latitude getLatitude(void) 00082 { 00083 return latitude; 00084 } 00088 Longitude getLongitude(void) 00089 { 00090 return longitude; 00091 } 00095 double getNorth(void) 00096 { 00097 double north, east; 00098 00099 GPS2UTM(latitude.getLatitude(), longitude.getLongitude(), &east, &north); 00100 return north; 00101 } 00105 double getEast(void) 00106 { 00107 double north, east; 00108 00109 GPS2UTM(latitude.getLatitude(), longitude.getLongitude(), &east, &north); 00110 return east; 00111 } 00117 double distance(Position p) 00118 { 00119 double dist = sqrt(pow(getNorth()-p.getNorth(),2)+pow(getEast()-p.getEast(),2)); 00120 return dist; 00121 } 00127 int elapsedTime(Position p) 00128 { 00129 double hours; 00130 int seconds; 00131 00132 hours = double(date.dayDifference(p.date)*24) + time.hourDifference(p.time); 00133 seconds = int(hours*3600.); 00134 return seconds; 00135 } 00136 };