Earth Observation Mission CFI Software Lib Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.10 00003 //-------------------------------------------------------- 00004 00005 //-------------------------------------------------------------------- 00006 // CVS Info: $Id: LibFunc.h,v 1.9 2014-02-20 20:02:28 cavm Exp $ 00007 //-------------------------------------------------------------------- 00008 00009 #ifndef _EECFI_LIBFUNC_H 00010 #define _EECFI_LIBFUNC_H 00011 00012 00013 //--INCLUDE----------------------------------------------------------- 00014 #include "LibData.h" 00015 #include "CfiClass.h" 00016 #include "CfiError.h" 00017 00018 //--NAMESPACES-------------------------------------------------------- 00019 using namespace std; 00020 00021 namespace EECFI 00022 { 00026 class LibFunc: public CfiClass 00027 { 00028 public: 00029 00031 LibFunc(){}; 00032 00034 virtual ~LibFunc(){}; 00035 00037 static void eulerToMatrix(double eulerAngles[3], 00038 double matrix[3][3]) throw (CfiError); 00039 00041 static void matrixToEuler(double matrix[3][3], 00042 double eulerAngles[3]) throw (CfiError); 00043 00045 static void getRotationAngles(double xsInit[3], double ysInit[3], double zsInit[3], 00046 double xsFin[3], double ysFin[3], double zsFin[3], 00047 double angle[3]) throw (CfiError); 00048 00050 static void getRotatedVectors(double xsInit[3], double ysInit[3], double zsInit[3], 00051 double angle[3], 00052 double xsFin[3], double ysFin[3], double zsFin[3]) throw (CfiError); 00053 00055 static void quaternionsToVectors(double quaternions[4], 00056 double uxVec[3], 00057 double uyVec[3], 00058 double uzVec[3]) throw (CfiError); 00059 00061 static void vectorsToQuaternions(double uxVec[3], 00062 double uyVec[3], 00063 double uzVec[3], 00064 double quaternions[4]) throw (CfiError); 00065 00066 /* AN-518 */ 00068 static void quaternionsInterpol(const QuaternionsInterpolationCfg &cfg, 00069 double time_1, 00070 double q1[4], 00071 double time_2, 00072 double q2[4], 00073 double time_out, 00074 double q_out[4]) throw (CfiError); 00075 protected: 00076 00077 private: 00078 00079 }; 00080 00081 } // closing namespace 00082 00083 #endif