1 // **************************************************************************
2 // FILENAME: EulerAng.cpp
3 // AUTHOR:   Kenji Suzuki
4 // DATE:     14 June 1993
5 // **************************************************************************
6 
7 #include "EulerAng.hpp"
8 
9 
10 // **************************************************************************
11 // EulerAng Class Member Function
12 // **************************************************************************
EulerAng()13 EulerAng::EulerAng()
14 {
15   azimuth = 0.0;   // yaw
16   elevation = 0.0; // pitch
17   roll = 0.0;      // roll
18 }
19 
20 
21 // **************************************************************************
EulerAng(double rl,double el,double az)22 EulerAng::EulerAng(double rl, double el, double az)
23 {
24   azimuth = az;   // yaw
25   elevation = el; // pitch
26   roll = rl;      // roll
27 }
28 
29 
operator <<(ostream & strm,EulerAng & e)30 ostream &operator<<(ostream &strm, EulerAng &e)
31 {
32   return (strm << "(" <<
33           e.azimuth << ", " << e.elevation << ", " << e.roll << ")");
34 }
35 
36 
37 // **************************************************************************
operator +(EulerAng e)38 EulerAng EulerAng::operator+(EulerAng e)
39 {
40   EulerAng temp;
41 
42   temp.azimuth   = azimuth   + e.azimuth;
43   temp.elevation = elevation + e.elevation;
44   temp.roll      = roll      + e.roll;
45 
46   return (temp);
47 }
48 
49 
50 // **************************************************************************
operator -(EulerAng e)51 EulerAng EulerAng::operator-(EulerAng e)
52 {
53   EulerAng temp;
54 
55   temp.azimuth   = azimuth   - e.azimuth;
56   temp.elevation = elevation - e.elevation;
57   temp.roll      = roll      - e.roll;
58 
59   return (temp);
60 }
61 
62 
63 // EOF
64