00001 #ifndef LOPER_ROTATION
00002 #define LOPER_ROTATION
00003
00014 #include <GslVector.hpp>
00015 #include <GslMatrix.hpp>
00016
00019 class Rotation
00020 {
00021 public:
00022 Rotation();
00023
00024 void setScaledAxis (const GslVector &v);
00025 void setAxisAndAngleRadians(const GslVector &axis, double angle);
00026
00027 void getScaledAxis(GslVector &axis) const { axis = scaledAxis; }
00028 void getAxisAndAngleRadians (GslVector &axis, double &angle) const;
00029
00030 void getMatrix(GslMatrix & rotationMatrix);
00031 void setMatrix(GslMatrix rotationMatrix);
00032 private:
00033 GslVector scaledAxis;
00034 };
00035
00036
00037 #endif // LOPER_ROTATION