Dynalib Utils
Position.h
Go to the documentation of this file.
1 /*
2  * Position.h
3  *
4  * Created on: 2/10/2017
5  * Author: ken
6  */
7 
8 #ifndef POSITION_H_
9 #define POSITION_H_
10 
12 
13 struct Position;
14 
15 struct Polar {
16  double elevation;
17  double azimuth;
18  long distance;
19 
20  Polar();
21  Polar(double elevation, double azimuth, long distance);
22  Polar(long xPos, long yPos, long zPos);
23  explicit Polar(Position* pos);
24 };
25 
26 struct Position {
27  long xPos;
28  long yPos;
29  long zPos;
30 
31  static Position* fromPolar(Position* pos, double elevationAngle, double azimuthAngle, long radialDistance);
32  static Polar* toPolar(Polar* polar, long xPos, long yPos, long zPos);
33 
34  Position();
35  Position(long xPos, long yPos, long zPos);
36  Position(double elevation, double azimuth, long distance);
37  explicit Position(Polar* polar);
38 };
39 
40 struct Moving {
41  long xDelta;
42  long yDelta;
43  long zDelta;
44 
45  Moving() : xDelta(0), yDelta(0), zDelta(0) {
46  }
47 
48  Moving(long xDelta, long yDelta, long zDelta) :
49  xDelta(xDelta), yDelta(yDelta), zDelta(zDelta) {
50  }
51 };
52 
53 #endif /* POSITION_H_ */
Orientation
Definition: Position.h:11
long zDelta
Definition: Position.h:43
long yDelta
Definition: Position.h:42
long xDelta
Definition: Position.h:41
double azimuth
Definition: Position.h:17
Definition: Position.h:11
long zPos
Definition: Position.h:29
long yPos
Definition: Position.h:28
double elevation
Definition: Position.h:16
Polar()
Definition: Position.cpp:44
Moving()
Definition: Position.h:45
Definition: Position.h:15
long distance
Definition: Position.h:18
Moving(long xDelta, long yDelta, long zDelta)
Definition: Position.h:48
Definition: Position.h:26
Definition: Position.h:40
Definition: Position.h:11
long xPos
Definition: Position.h:27