ATC
Advanced Trip Computer
C:/Documents and Settings/Giorgio/Desktop/ATC-Windows7 (VS2010)/Longitude.h
Vai alla documentazione di questo file.
00001 
00006 #define EST             1
00007 #define WEST    -1
00008 
00012 class Longitude {
00013 
00014 private:
00015 
00016 int orientation;                // -1 => W, +1 => E
00017 unsigned int degree;    // gradi
00018 unsigned int minute;    // primi
00019 unsigned int second;    // secondi
00020 
00021 public:
00022 
00031 Longitude(unsigned int d=0, unsigned int m=0, unsigned int s=0, int o=1)
00032 {
00033  degree = 0;
00034  minute = 0;
00035  second = 0;
00036  orientation = 1;
00037  if (d<=179 && m<=59 && s<=59)
00038    {
00039         degree = d; minute = m; second = s;
00040    }
00041  else
00042          {
00043           if (d==180 && m==0 && s==0)
00044             {
00045                  degree = d; minute = 0; second = 0;
00046             }
00047           else
00048                   return;
00049       }
00050  if (o>=0)
00051    orientation = +1;
00052  else
00053          orientation = -1; 
00054 }
00058 int getOrientation(void)
00059 {
00060  return orientation;
00061 }
00065 unsigned int getDegree(void)
00066 {
00067  return degree;
00068 }
00072 unsigned int getMinute(void)
00073 {
00074  return minute;
00075 }
00079 unsigned int getSecond(void)
00080 {
00081  return second;
00082 }
00086 double getLongitude(void)
00087 {
00088  double longitude = (double)degree + (double)minute/60. + (double)second/3600.;
00089  
00090  if (orientation < 0)
00091    return (-longitude);
00092  else
00093      return longitude;
00094 }
00095 };