GPS Library  0.1
GPS driver and NMEA parser
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Friends Macros
Pos3DRaw.h
Go to the documentation of this file.
1 #ifndef __POS3DRAW_H__
2 #define __POS3DRAW_H__
3 
4 #include <ostream>
5 #include <Position/Position.h>
6 
7 namespace GPS
8 {
9  class Pos3Draw
10  {
11  public:
12  Pos3Draw(void)
13  {
14  }
15 
16  Pos3Draw(int value):
17  latitude(value),
18  longitude(value),
19  altitude(value)
20  {
21  }
22 
23  virtual ~Pos3Draw()
24  {
25  }
26 
27  Pos3Draw & operator+=(const Pos3Draw & other)
28  {
29  latitude += other.latitude;
30  longitude += other.longitude;
31  altitude += other.altitude;
32  return *this;
33  }
34 
35  Pos3Draw & operator-=(const Pos3Draw & other)
36  {
37  latitude -= other.latitude;
38  longitude -= other.longitude;
39  altitude -= other.altitude;
40  return *this;
41  }
42 
43  Pos3Draw & operator*=(float value)
44  {
45  latitude *= value;
46  longitude *= value;
47  altitude *= value;
48  return *this;
49  }
50 
51  Pos3Draw & operator/=(float value)
52  {
53  latitude /= value;
54  longitude /= value;
55  altitude /= value;
56  return *this;
57  }
58 
59  Pos3Draw operator+(const Pos3Draw & other) const
60  {
61  Pos3Draw result(*this);
62  return result += other;
63  }
64 
65  Pos3Draw operator-(const Pos3Draw & other) const
66  {
67  Pos3Draw result(*this);
68  return result -= other;
69  }
70 
71  Pos3Draw operator*(float value) const
72  {
73  Pos3Draw result(*this);
74  return result *= value;
75  }
76 
77  Pos3Draw operator/(float value) const
78  {
79  Pos3Draw result(*this);
80  return result /= value;
81  }
82 
83  Position & GetLatitude(void)
84  {
85  return latitude;
86  }
87 
88  const Position & GetLatitude(void) const
89  {
90  return latitude;
91  }
92 
93  Position & GetLongitude(void)
94  {
95  return longitude;
96  }
97 
98  const Position & GetLongitude(void) const
99  {
100  return longitude;
101  }
102 
103  float & GetAltitude(void)
104  {
105  return altitude;
106  }
107 
108  float GetAltitude(void) const
109  {
110  return altitude;
111  }
112 
113  double Distance(const Pos3Draw & other) const;
114 
115  protected:
116  Position latitude;
117  Position longitude;
118  float altitude;
119 
120  private:
121  SYS_DEFINE_CLASS_NAME("GPS::Pos3Draw");
122  };
123 }
124 
125 std::ostream & operator<<(std::ostream & os, const GPS::Pos3Draw & pos);
126 
127 #endif /* __POS3DRAW_H__ */
128 
129 /* * * * * * * * * * * * * End - of - File * * * * * * * * * * * * * * */