49      std::vector<double> 
ToAngles(
int axis3, 
int axis2, 
int axis1);
 
   51      void Set(std::vector<double>);
 
   85      std::vector<double> 
Qxv(
const std::vector<double> &vin);
 
 
Provide operations for quaternion arithmetic.
 
Quaternion & operator=(const Quaternion &quat)
Assign value of quaternion class to another quaternion.
 
std::vector< double > ToMatrix()
Converts quaternion to 3x3 rotational matrix.
 
std::vector< double > ToAngles(int axis3, int axis2, int axis1)
Return the camera angles (right ascension, declination, and twist) for the quaternion.
 
void Polish(Quaternion &quat)
Polish the quaternion – make the first component positive.
 
Quaternion Conjugate()
Returns the conjugate of the quaternion.
 
Quaternion()
Constructs an empty quaternion.
 
Quaternion operator*(const Quaternion &quat) const
Multiply two Naif quaternions to create a new quaternion.
 
~Quaternion()
Destroys the Quaternion object.
 
double & operator[](int index)
Return a member of a quaternion.
 
std::vector< double > Qxv(const std::vector< double > &vin)
Multiply a vector by a quaternion (rotate the vector)
 
std::vector< double > p_quaternion
Quaternion.
 
std::vector< double > GetQuaternion() const
Return the quaternion as a vector.
 
void Set(std::vector< double >)
Sets the quaternion value.
 
Quaternion & operator*=(const Quaternion &quat)
Multiply current Naif quaternion by another Naif quaternion, replacing the current quaternion.
 
This is free and unencumbered software released into the public domain.