Isis 3.0 Developer's Reference (
API
)
Home
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
Quaternion.h
Go to the documentation of this file.
1
#ifndef Quaternion_h
2
#define Quaternion_h
3
27
#include <string>
28
#include <vector>
29
30
#include <SpiceUsr.h>
31
#include <SpiceZfc.h>
32
#include <SpiceZmc.h>
33
34
namespace
Isis {
51
class
Quaternion
{
52
public
:
53
// constructors
54
Quaternion
();
55
Quaternion
(
const
std::vector<double> matrix);
56
57
// destructor
58
~Quaternion
();
59
60
//Methods
61
62
std::vector<double>
ToMatrix
();
63
64
std::vector<double>
ToAngles
(
int
axis3,
int
axis2,
int
axis1);
65
66
void
Set
(std::vector<double>);
67
69
std::vector<double>
GetQuaternion
()
const
{
70
return
p_quaternion;
71
}
72
;
73
Quaternion
&
operator=
(
const
Quaternion
&quat);
74
75
Quaternion
&
operator*=
(
const
Quaternion
&quat);
76
77
Quaternion
operator*
(
const
Quaternion
&quat)
const
;
78
79
Quaternion
operator*
(
const
double
&scalar);
80
94
double
&
operator[]
(
int
index) {
95
return
p_quaternion.at(index);
96
};
97
98
99
100
std::vector<double>
Qxv
(
const
std::vector<double> &vin);
101
102
Quaternion
Conjugate
();
103
104
105
106
107
private
:
108
std::vector<double> p_quaternion;
109
void
Polish(
Quaternion
&quat);
110
};
111
};
112
113
#endif
114