Class Attitude

java.lang.Object
org.orekit.attitudes.Attitude
All Implemented Interfaces:
TimeShiftable<Attitude>, TimeStamped

public class Attitude extends Object implements TimeStamped, TimeShiftable<Attitude>
This class handles attitude definition at a given date.

This class represents the rotation between a reference frame and the satellite frame, as well as the spin of the satellite (axis and rotation rate).

The state can be slightly shifted to close dates. This shift is based on a linear extrapolation for attitude taking the spin rate into account. It is not intended as a replacement for proper attitude propagation but should be sufficient for either small time shifts or coarse accuracy.

The instance Attitude is guaranteed to be immutable.

Author:
Véronique Pommier-Maurussane
See Also:
  • Constructor Details

    • Attitude

      public Attitude(Frame referenceFrame, TimeStampedAngularCoordinates orientation)
      Creates a new instance.
      Parameters:
      referenceFrame - reference frame from which attitude is defined
      orientation - complete orientation between reference frame and satellite frame, including rotation rate
    • Attitude

      public Attitude(AbsoluteDate date, Frame referenceFrame, AngularCoordinates orientation)
      Creates a new instance.
      Parameters:
      date - date at which attitude is defined
      referenceFrame - reference frame from which attitude is defined
      orientation - complete orientation between reference frame and satellite frame, including rotation rate
    • Attitude

      public Attitude(AbsoluteDate date, Frame referenceFrame, Rotation attitude, Vector3D spin, Vector3D acceleration)
      Creates a new instance.
      Parameters:
      date - date at which attitude is defined
      referenceFrame - reference frame from which attitude is defined
      attitude - rotation between reference frame and satellite frame
      spin - satellite spin (axis and velocity, in satellite frame)
      acceleration - satellite rotation acceleration (in satellite frame)
  • Method Details

    • shiftedBy

      public Attitude shiftedBy(double dt)
      Get a time-shifted attitude.

      The state can be slightly shifted to close dates. This shift is based on a linear extrapolation for attitude taking the spin rate into account. It is not intended as a replacement for proper attitude propagation but should be sufficient for either small time shifts or coarse accuracy.

      Specified by:
      shiftedBy in interface TimeShiftable<Attitude>
      Parameters:
      dt - time shift in seconds
      Returns:
      a new attitude, shifted with respect to the instance (which is immutable)
    • shiftedBy

      public Attitude shiftedBy(TimeOffset dt)
      Get a time-shifted attitude.

      The state can be slightly shifted to close dates. This shift is based on a linear extrapolation for attitude taking the spin rate into account. It is not intended as a replacement for proper attitude propagation but should be sufficient for either small time shifts or coarse accuracy.

      Specified by:
      shiftedBy in interface TimeShiftable<Attitude>
      Parameters:
      dt - time shift
      Returns:
      a new attitude, shifted with respect to the instance (which is immutable)
      Since:
      13.0
    • withReferenceFrame

      public Attitude withReferenceFrame(Frame newReferenceFrame)
      Get a similar attitude with a specific reference frame.

      If the instance reference frame is already the specified one, the instance itself is returned without any object creation. Otherwise, a new instance will be created with the specified reference frame. In this case, the required intermediate rotation and spin between the specified and the original reference frame will be inserted.

      Parameters:
      newReferenceFrame - desired reference frame for attitude
      Returns:
      an attitude that has the same orientation and motion as the instance, but guaranteed to have the specified reference frame
    • getDate

      public AbsoluteDate getDate()
      Get the date of attitude parameters.
      Specified by:
      getDate in interface TimeStamped
      Returns:
      date of the attitude parameters
    • getReferenceFrame

      public Frame getReferenceFrame()
      Get the reference frame.
      Returns:
      referenceFrame reference frame from which attitude is defined.
    • getOrientation

      public TimeStampedAngularCoordinates getOrientation()
      Get the complete orientation including spin.
      Returns:
      complete orientation including spin
      See Also:
    • getRotation

      public Rotation getRotation()
      Get the attitude rotation.
      Returns:
      attitude satellite rotation from reference frame.
      See Also:
    • getSpin

      public Vector3D getSpin()
      Get the satellite spin.

      The spin vector is defined in satellite frame.

      Returns:
      spin satellite spin (axis and velocity).
      See Also:
    • getRotationAcceleration

      public Vector3D getRotationAcceleration()
      Get the satellite rotation acceleration.

      The rotation acceleration. vector is defined in satellite frame.

      Returns:
      rotation acceleration
      See Also: