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.