QP  0.7-SNAPSHOT
Control software for the ??SRT telescope
 All Classes Namespaces Functions Variables Enumerations Enumerator Pages
rotation.h
1 #ifndef ROTATION_H_LOADED
2 #define ROTATION_H_LOADED 1
3 
4 // An object to determine some properties of a planned rotation, such
5 // as whether and when it will intersect with a plane
6 
7 #include "quaternion.h"
8 
13 class Rotation {
14 private:
15  Quaternion A;
16  Quaternion u;
17  mutable Quaternion Au;
18  mutable Quaternion uxA;
19 
20 public:
22  const Quaternion& start(void) const { return A; };
24  const Quaternion& axis(void) const { return u; };
25 
32  Rotation(const Quaternion start, const Quaternion axis);
33 
52  double intersection(const Quaternion& normal, const Quaternion& pole) const;
53 
74  double intersection(const Quaternion& normal, const float h) const;
75 };
76 
77 
78 #endif /* ROTATION_H_LOADED */
Rotation(const Quaternion start, const Quaternion axis)
Create a rotation.
Definition: rotation.cpp:5
const Quaternion & start(void) const
Return the start point of the rotation.
Definition: rotation.h:22
The Quaternion class encapsulates quaternions (quelle surprise!), and provides a small set of operati...
Definition: quaternion.h:29
const Quaternion & axis(void) const
Return the axis of rotation.
Definition: rotation.h:24
Encapsulates a rotation of a point about an axis.
Definition: rotation.h:13
double intersection(const Quaternion &normal, const Quaternion &pole) const
Determine whether a point will be rotated across a meridian.
Definition: rotation.cpp:12