Earth Observation Mission CFI Software Lib Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.18 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 00020 namespace EECFI 00021 { 00025 class XL_DECL LibFunc: public CfiClass 00026 { 00027 public: 00028 00030 LibFunc(){}; 00031 00033 virtual ~LibFunc() NOEXCEPT {}; 00034 00036 static void eulerToMatrix(double eulerAngles[3], 00037 double matrix[3][3]) ; 00038 00040 static void matrixToEuler(double matrix[3][3], 00041 double eulerAngles[3]) ; 00042 00044 static void getRotationAngles(double xsInit[3], double ysInit[3], double zsInit[3], 00045 double xsFin[3], double ysFin[3], double zsFin[3], 00046 double angle[3]) ; 00047 00049 static void getRotatedVectors(double xsInit[3], double ysInit[3], double zsInit[3], 00050 double angle[3], 00051 double xsFin[3], double ysFin[3], double zsFin[3]) ; 00052 00054 static void quaternionsToVectors(double quaternions[4], 00055 double uxVec[3], 00056 double uyVec[3], 00057 double uzVec[3]) ; 00058 00060 static void vectorsToQuaternions(double uxVec[3], 00061 double uyVec[3], 00062 double uzVec[3], 00063 double quaternions[4]) ; 00064 00065 /* AN-518 */ 00067 static void quaternionsInterpol(const QuaternionsInterpolationCfg &cfg, 00068 double time_1, 00069 double q1[4], 00070 double time_2, 00071 double q2[4], 00072 double time_out, 00073 double q_out[4]) ; 00074 protected: 00075 00076 private: 00077 00078 }; 00079 00080 } // closing namespace 00081 00082 #endif