ATC
Advanced Trip Computer
C:/Documents and Settings/Giorgio/Desktop/ATC-Windows7 (VS2010)/Position.h
Vai alla documentazione di questo file.
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 };