Class ConcreteAttitude

java.lang.Object
gaiasky.util.gaia.ConcreteAttitude
All Implemented Interfaces:
IAttitude

public class ConcreteAttitude extends Object implements IAttitude
  • Constructor Details

    • ConcreteAttitude

      public ConcreteAttitude(long t, Quaterniond q, boolean withZeroSigmaCorr)
      Construct object from time, and a quaternion. This leaves the time derivative undefined. It can be set later with setQuaternionDot(Quaterniond)
      Parameters:
      t - time of the attitude
      q - quaternion
    • ConcreteAttitude

      public ConcreteAttitude(long t, Quaterniond q, Quaterniond qDot, boolean withZeroSigmaCorr)
      Construct object from time, quaternion and its derivative.
      Parameters:
      t - time of the attitude
      q - quaternion
      qDot - time derivative of quaternion [1/day]
  • Method Details

    • getTime

      public long getTime()
      Description copied from interface: IAttitude
      Get the time that this attitude is valid for as a single long value. The meaning of the time depends on the TimeContext of the AttitudeDataServer that generated the attitude. Use #getGaiaTime() to get the time as an absolute GaiaTime if needed.
      Specified by:
      getTime in interface IAttitude
      Returns:
      time time that the attitude is valid for
    • setTime

      public void setTime(long time)
      Set the time of the attitude. This usually does not make sense as the time is set during construction of the object
      Parameters:
      time - time of the attitude in [ns] since reference epoch
    • getQuaternion

      public Quaterniond getQuaternion()
      Specified by:
      getQuaternion in interface IAttitude
      Returns:
      quaternion that represents the attitude
    • setQuaternion

      public void setQuaternion(Quaterniond q)
      The the quaternion of the attitude. * Set the time of the attitude. This usually does not make sense as the time is set during construction of the
      Parameters:
      q -
    • getQuaternionDot

      public Quaterniond getQuaternionDot()
      Get the time derivative of the attitude.
      Specified by:
      getQuaternionDot in interface IAttitude
      Returns:
      time derivative of the attitude quaternion [1/day]
    • setQuaternionDot

      public void setQuaternionDot(Quaterniond qDot)
      Parameters:
      qDot - quaternion derivative to set - all components in [1/day]
    • getHeliotropicAnglesRates

      public HeliotropicAnglesRates getHeliotropicAnglesRates()
    • getSpinVectorInSrs

      public Vector3d getSpinVectorInSrs()
      Description copied from interface: IAttitude
      Get the inertial spin vector in the SRS.
      Specified by:
      getSpinVectorInSrs in interface IAttitude
      Returns:
      spin vector in [rad/day] relative to SRS
    • getSpinVectorInIcrs

      public Vector3d getSpinVectorInIcrs()
      Description copied from interface: IAttitude
      Get the inertial spin vector in the ICRS (or CoMRS).
      Specified by:
      getSpinVectorInIcrs in interface IAttitude
      Returns:
      spin vector in [rad/day] relative to ICRS
    • getFovDirections

      public Vector3d[] getFovDirections()
      Description copied from interface: IAttitude
      Get the PFoV and FFoV directions as an array of unit vectors expressed in the ICRS (or CoMRS).
      Specified by:
      getFovDirections in interface IAttitude
      Returns:
      array of two (PFoV, FFoV3) vectors
    • getSrsAxes

      public Vector3d[] getSrsAxes(Vector3d[] xyz)
      Description copied from interface: IAttitude
      Get the x, y, z axes of the SRS as an array of three unit vectors expressed in the ICRS (or CoMRS).
      Specified by:
      getSrsAxes in interface IAttitude
      Returns:
      array of three (x, y, z) vectors
      See Also:
    • getAlAcRates

      public double[] getAlAcRates(double alInstrumentAngle, double acFieldAngle)
      Description copied from interface: IAttitude
      Compute the angular speed AL and AC of an inertial direction in the SRS frame, using instrument angles (phi, zeta).
      Specified by:
      getAlAcRates in interface IAttitude
      Parameters:
      alInstrumentAngle - (=AL angle phi) of the direction [rad]
      acFieldAngle - (=AC angle zeta) of the direction [rad]
      Returns:
      two-element double array containing the angular speed AL and AC [rad/s]
    • getAlAcRates

      public double[] getAlAcRates(FOV fov, double alFieldAngle, double acFieldAngle)
      Description copied from interface: IAttitude
      Compute the angular speed AL and AC of an inertial direction in the SRS frame, using field angles (fov, eta, zeta).
      Specified by:
      getAlAcRates in interface IAttitude
      Parameters:
      fov - FOV (Preceding or Following)
      alFieldAngle - (=AL angle eta) of the direction [rad]
      acFieldAngle - (=AC angle zeta) of the direction [rad]
      Returns:
      two-element double array containing the angular speed AL and AC [rad/s]