| Earth Observation Mission CFI Software Lib Software User Manual |

Public Member Functions | Static Public Member Functions

# EECFI::LibFunc Class Reference

Base class for LibFunc objects. More...

Inheritance diagram for EECFI::LibFunc:

List of all members.

## Public Member Functions
| LibFunc ()
| Class constructor (using satellite enumeration value).
virtual | ~LibFunc ()
| Class destructor.
## Static Public Member Functions
static void | eulerToMatrix (double eulerAngles[3], double matrix[3][3]) throw (CfiError)
| Get rotation matrix from Euler angles.
static void | matrixToEuler (double matrix[3][3], double eulerAngles[3]) throw (CfiError)
| Get Euler angles from rotation matrix.
static void | getRotationAngles (double xsInit[3], double ysInit[3], double zsInit[3], double xsFin[3], double ysFin[3], double zsFin[3], double angle[3]) throw (CfiError)
| Get rotation angles between two sets of orthonormal right-handed unit vectors.
static void | getRotatedVectors (double xsInit[3], double ysInit[3], double zsInit[3], double angle[3], double xsFin[3], double ysFin[3], double zsFin[3]) throw (CfiError)
| Rotate a set of unit angle vectors.
static void | quaternionsToVectors (double quaternions[4], double uxVec[3], double uyVec[3], double uzVec[3]) throw (CfiError)
| Change from quaternions to vectors.
static void | vectorsToQuaternions (double uxVec[3], double uyVec[3], double uzVec[3], double quaternions[4]) throw (CfiError)
| Change form vectors to quaternions.
static void | quaternionsInterpol (const QuaternionsInterpolationCfg &cfg, double time_1, double q1[4], double time_2, double q2[4], double time_out, double q_out[4]) throw (CfiError)
| Computes quaternions interpolation of q1 / q2.

## Detailed Description

Base class for LibFunc objects.

## Constructor & Destructor Documentation

EECFI::LibFunc::LibFunc | ( |  | ) | `[inline]`

Class constructor (using satellite enumeration value).

virtual EECFI::LibFunc::~LibFunc | ( |  | ) | `[inline, virtual]`

Class destructor.

## Member Function Documentation

void EECFI::LibFunc::eulerToMatrix | ( | double | eulerAngles[3],
|  | double | matrix[3][3] |
| ) |  |  | throw (CfiError)`[static]`

Get rotation matrix from Euler angles.

Class constructor (Empty constructor). Class destructor.

Parameters:

  | eulerAngles | Euler angles.
  | matrix | [OUTPUT] Rotation matrix.

void EECFI::LibFunc::getRotatedVectors | ( | double | xsInit[3],
|  | double | ysInit[3],
|  | double | zsInit[3],
|  | double | angle[3],
|  | double | xsFin[3],
|  | double | ysFin[3],
|  | double | zsFin[3] |
| ) |  |  | throw (CfiError)`[static]`

Rotate a set of unit angle vectors.

Parameters:

  | xsInit | Unitary direction vector along the X-axes of the initial attitude frame.
  | ysInit | Unitary direction vector along the Y-axes of the initial attitude frame.
  | zsInit | Unitary direction vector along the Z-axes of the initial attitude frame.
  | angle | Angles (pitch, roll and yaw) between initial and final Attitude Frames (deg [-180,180)).
  | xsFin | [OUTPUT] Unitary direction vector along the X-axes of the final attitude frame.
  | ysFin | [OUTPUT] Unitary direction vector along the Y-axes of the final attitude frame.
  | zsFin | [OUTPUT] Unitary direction vector along the Z-axes of the final attitude frame.

void EECFI::LibFunc::getRotationAngles | ( | double | xsInit[3],
|  | double | ysInit[3],
|  | double | zsInit[3],
|  | double | xsFin[3],
|  | double | ysFin[3],
|  | double | zsFin[3],
|  | double | angle[3] |
| ) |  |  | throw (CfiError)`[static]`

Get rotation angles between two sets of orthonormal right-handed unit vectors.

Parameters:

  | xsInit | Unitary direction vector along the X-axes of the initial attitude frame.
  | ysInit | Unitary direction vector along the Y-axes of the initial attitude frame.
  | zsInit | Unitary direction vector along the Z-axes of the initial attitude frame.
  | xsFin | Unitary direction vector along the X-axes of the final attitude frame.
  | ysFin | Unitary direction vector along the Y-axes of the final attitude frame.
  | zsFin | Unitary direction vector along the Z-axes of the final attitude frame.
  | angle | [OUTPUT] Angles (pitch, roll and yaw) between initial and final Attitude Frames (deg [-180,180)).

void EECFI::LibFunc::matrixToEuler | ( | double | matrix[3][3],
|  | double | eulerAngles[3] |
| ) |  |  | throw (CfiError)`[static]`

Get Euler angles from rotation matrix.

Parameters:

  | matrix | Rotation matrix.
  | eulerAngles | [OUTPUT] Euler angles.

void EECFI::LibFunc::quaternionsInterpol | ( | const QuaternionsInterpolationCfg & | cfg,
|  | double | time_1,
|  | double | q1[4],
|  | double | time_2,
|  | double | q2[4],
|  | double | time_out,
|  | double | q_out[4] |
| ) |  |  | throw (CfiError)`[static]`

Computes quaternions interpolation of q1 / q2.

Parameters:

  | cfg | Configuration parameters used by interpolation.
  | t1 | Time for quaternion q1.
  | q1 | First quaternion (for time t1).
  | t2 | Time for quaternion q2.
  | q2 | Second quaternion (for time t2).
  | t | Time interpolation parameter.
  | q | [OUTPUT] Result of quaternion interpolation.

void EECFI::LibFunc::quaternionsToVectors | ( | double | quaternions[4],
|  | double | uxVec[3],
|  | double | uyVec[3],
|  | double | uzVec[3] |
| ) |  |  | throw (CfiError)`[static]`

Change from quaternions to vectors.

Parameters:

  | quaternions | Input quaternion vector.
  | uxVec | [OUTPUT] Unitary direction vector along the X-axes.
  | uyVec | [OUTPUT] Unitary direction vector along the Y-axes.
  | uzVec | [OUTPUT] Unitary direction vector along the Z-axes.

void EECFI::LibFunc::vectorsToQuaternions | ( | double | uxVec[3],
|  | double | uyVec[3],
|  | double | uzVec[3],
|  | double | quaternions[4] |
| ) |  |  | throw (CfiError)`[static]`

Change form vectors to quaternions.

Parameters:

  | uxVec | Unitary direction vector along the X-axes.
  | uyVec | Unitary direction vector along the Y-axes.
  | uzVec | Unitary direction vector along the Z-axes.
  | quaternions | [OUTPUT] Input quaternion vector.