DEIMOS
Earth Observation Mission CFI Software
Lib Software User Manual
for JAVA
ESA

EECFI.LibFunc Class Reference

Base class for LibFunc objects. More...

Inheritance diagram for EECFI.LibFunc:
EECFI.CfiClass

List of all members.

Public Member Functions

 LibFunc ()
 Class constructor (using satellite enumeration value).

Static Public Member Functions

static native double[][] eulerToMatrix (double eulerAngles[]) throws CfiError
 Get rotation matrix from Euler angles.
static native double[] matrixToEuler (double matrix[][]) throws CfiError
 Get Euler angles from rotation matrix.
static native double[] getRotationAngles (double xsInit[], double ysInit[], double zsInit[], double xsFin[], double ysFin[], double zsFin[]) throws CfiError
 Get rotation angles between two sets of orthonormal right-handed unit vectors.
static native double[][] getRotatedVectors (double xsInit[], double ysInit[], double zsInit[], double angle[]) throws CfiError
 Rotate a set of unit angle vectors.
static native double[][] quaternionsToVectors (double quaternions[]) throws CfiError
 Change from quaternions to vectors.
static native double[] vectorsToQuaternions (double uxVec[], double uyVec[], double uzVec[]) throws CfiError
 Change form vectors to quaternions.
static native double[] quaternionsInterpol (final QuaternionsInterpolationCfg cfg, double time_1, double q1[], double time_2, double q2[], double time_out) throws CfiError
 The method performs, given 2 input quaternions q1 and q2, an interpolation for the requested time, obtaining the interpolated quaternion as output.
static native void setVerbose ()
 Enable verbosity.
static native void setSilent ()
 Disable verbosity.

Detailed Description

Base class for LibFunc objects.


Constructor & Destructor Documentation

EECFI.LibFunc.LibFunc (  ) 

Class constructor (using satellite enumeration value).


Member Function Documentation

EECFI.LibFunc::eulerToMatrix ( double  eulerAngles[]  )  throws CfiError [static]

Get rotation matrix from Euler angles.

Parameters:
eulerAngles Euler angles.
Returns:
Rotation matrix.
EECFI.LibFunc::getRotatedVectors ( double  xsInit[],
double  ysInit[],
double  zsInit[],
double  angle[] 
) throws 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)).
Returns:
Unitary direction vector along the X, Y, Z axis of the final attitude frame.
EECFI.LibFunc::getRotationAngles ( double  xsInit[],
double  ysInit[],
double  zsInit[],
double  xsFin[],
double  ysFin[],
double  zsFin[] 
) throws 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.
Returns:
Angles (pitch, roll and yaw) between initial and final Attitude Frames (deg [-180,180)).
EECFI.LibFunc::matrixToEuler ( double  matrix[][]  )  throws CfiError [static]

Get Euler angles from rotation matrix.

Parameters:
matrix Rotation matrix.
Returns:
Euler angles.
EECFI.LibFunc::quaternionsInterpol ( final QuaternionsInterpolationCfg  cfg,
double  time_1,
double  q1[],
double  time_2,
double  q2[],
double  time_out 
) throws CfiError [static]

The method performs, given 2 input quaternions q1 and q2, an interpolation for the requested time, obtaining the interpolated quaternion as output.

Notes:
  • The algorithm to be used for interpolation is given as input in QuaternionsInterpolationCfg structure.
  • Currently the supported algorithms are:
    • Slerp (see details: Slerp)
  • If the requested time is out of the interval defined by the input quaternions, then extrapolation is used and a warning is raised. The extrapolation degrades with the distance to the interval defined by input quaternions. In the following table the degradation for some time distances are shown:
    Time out of interval [seconds] Error in rotation angles [deg]
    (Quaternions time step 1 second)
    Error in rotation angles [deg]
    (Quaternions time step 10 seconds)
    1 0.000005 0.00005
    10 0.0003 0.0005
    100 0.06 0.07
    500 0.96 0.95
    1000 2.3 2.3
Parameters:
cfg Configuration parameters used by interpolation.
time_1 Time for quaternion q1.
q1 First quaternion (for time t1).
time_2 Time for quaternion q2.
q2 Second quaternion (for time t2).
time_out Time interpolation parameter.
Returns:
Result of quaternion interpolation.
EECFI.LibFunc::quaternionsToVectors ( double  quaternions[]  )  throws CfiError [static]

Change from quaternions to vectors.

Parameters:
quaternions Input quaternion vector.
Returns:
Unitary direction vector along the X, Y, Z axis.
EECFI.LibFunc::setSilent (  )  [static]

Disable verbosity.

EECFI.LibFunc::setVerbose (  )  [static]

Enable verbosity.

EECFI.LibFunc::vectorsToQuaternions ( double  uxVec[],
double  uyVec[],
double  uzVec[] 
) throws 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.
Returns:
Equivalent quaternion.

Generated on Mon Dec 11 2023 14:48:19 for by doxygen 1.7.1