45     for(
int i = 0;  i < 4;  i++) {
    74     if(rotation.size() == 9) {        
    79     else if(rotation.size() == 4) {   
    83       std::string msg = 
"Input vector of unexpected size for matrix or quaternion";
    92     std::vector<double> matrix(9);
    93     q2m_c(&
p_quaternion[0], (SpiceDouble( *)[3]) &matrix[0]);
   134     std::vector<double> qout(4);
   138           (SpiceDouble *) & (qout[0]));
   191     double scalar2 = scalar * scalar;
   195       unitizer  =  sqrt(unitizer);
   198       std::string msg = 
"Unable to make quaternion a unit quaternion";
   204     for(
int i = 1;  i < 4;  i++) {
   217     for(
int i = 1;  i < 4;  i++) {
   232     if(vin.size() != 3) {
   233       std::string msg = 
"Unexpected vector size -- 3 expected";
   277     std::vector<double> rotationMatrix = 
ToMatrix();
   278     SpiceDouble ang1, ang2, ang3;
   280     m2eul_c((SpiceDouble *) &rotationMatrix[0], axis3, axis2, axis1,
   281             &ang3, &ang2, &ang1);
   283     std::vector<double> angles;
   284     angles.push_back(ang1);
   285     angles.push_back(ang2);
   286     angles.push_back(ang3);
 Quaternion & operator=(const Quaternion &quat)
Assign value of quaternion class to another quaternion. 
 
Provide operations for quaternion arithmetic. 
 
void Set(std::vector< double >)
Sets the quaternion value. 
 
std::vector< double > p_quaternion
Quaternion. 
 
Quaternion operator*(const Quaternion &quat) const
Multiply two Naif quaternions to create a new quaternion. 
 
void Polish(Quaternion &quat)
Polish the quaternion – make the first component positive. 
 
This error is for when a programmer made an API call that was illegal. 
 
Quaternion & operator*=(const Quaternion &quat)
Multiply current Naif quaternion by another Naif quaternion, replacing the current quaternion...
 
#define _FILEINFO_
Macro for the filename and line number. 
 
Quaternion Conjugate()
Returns the conjugate of the quaternion. 
 
std::vector< double > ToAngles(int axis3, int axis2, int axis1)
Return the camera angles (right ascension, declination, and twist) for the quaternion. 
 
std::vector< double > ToMatrix()
Converts quaternion to 3x3 rotational matrix. 
 
std::vector< double > Qxv(const std::vector< double > &vin)
Multiply a vector by a quaternion (rotate the vector) 
 
static void CheckErrors(bool resetNaif=true)
This method looks for any naif errors that might have occurred. 
 
Quaternion()
Constructs an empty quaternion. 
 
Namespace for ISIS/Bullet specific routines. 
 
~Quaternion()
Destroys the Quaternion object.