Class FrameAlignedProvider

  • All Implemented Interfaces:
    AttitudeProvider, EventDetectorsProvider

    public class FrameAlignedProvider
    extends Object
    implements AttitudeProvider
    This class handles an attitude provider aligned with a frame or a fixed offset to it.

    Instances of this class are guaranteed to be immutable.

    Author:
    Luc Maisonobe
    • Constructor Detail

      • FrameAlignedProvider

        public FrameAlignedProvider​(Frame frame)
        Creates new instance aligned with the given frame.
        Parameters:
        frame - the reference frame for the attitude.
      • FrameAlignedProvider

        public FrameAlignedProvider​(Rotation rotation,
                                    Frame reference)
        Creates new instance with a fixed attitude in the given frame.
        Parameters:
        rotation - rotation from reference to the desired satellite frame
        reference - frame for rotation.
        Since:
        10.1
    • Method Detail

      • of

        public static AttitudeProvider of​(Frame satelliteFrame)
        Creates an attitude provider aligned with the given frame.

        This attitude provider returned by this method is designed to be as fast as possible for when attitude is irrelevant while still being a valid implementation of AttitudeProvider. To ensure good performance the specified attitude reference frame should be the same frame used for propagation so that computing the frame transformation is trivial.

        Parameters:
        satelliteFrame - with which the satellite is aligned.
        Returns:
        new attitude provider aligned with the given frame.
        Since:
        11.0
      • getAttitude

        public Attitude getAttitude​(PVCoordinatesProvider pvProv,
                                    AbsoluteDate date,
                                    Frame frame)
        Compute the attitude corresponding to an orbital state.
        Specified by:
        getAttitude in interface AttitudeProvider
        Parameters:
        pvProv - local position-velocity provider around current date
        date - current date
        frame - reference frame from which attitude is computed
        Returns:
        attitude on the specified date and position-velocity state
      • getAttitude

        public <T extends CalculusFieldElement<T>> FieldAttitude<T> getAttitude​(FieldPVCoordinatesProvider<T> pvProv,
                                                                                FieldAbsoluteDate<T> date,
                                                                                Frame frame)
        Compute the attitude corresponding to an orbital state.
        Specified by:
        getAttitude in interface AttitudeProvider
        Type Parameters:
        T - type of the field elements
        Parameters:
        pvProv - local position-velocity provider around current date
        date - current date
        frame - reference frame from which attitude is computed
        Returns:
        attitude on the specified date and position-velocity state
      • getAttitudeRotation

        public Rotation getAttitudeRotation​(PVCoordinatesProvider pvProv,
                                            AbsoluteDate date,
                                            Frame frame)
        Compute the attitude-related rotation corresponding to an orbital state.
        Specified by:
        getAttitudeRotation in interface AttitudeProvider
        Parameters:
        pvProv - local position-velocity provider around current date
        date - current date
        frame - reference frame from which attitude is computed
        Returns:
        attitude-related rotation on the specified date and position-velocity state
      • getAttitudeRotation

        public <T extends CalculusFieldElement<T>> FieldRotation<T> getAttitudeRotation​(FieldPVCoordinatesProvider<T> pvProv,
                                                                                        FieldAbsoluteDate<T> date,
                                                                                        Frame frame)
        Compute the attitude-related rotation corresponding to an orbital state.
        Specified by:
        getAttitudeRotation in interface AttitudeProvider
        Type Parameters:
        T - type of the field elements
        Parameters:
        pvProv - local position-velocity provider around current date
        date - current date
        frame - reference frame from which attitude is computed
        Returns:
        rotation on the specified date and position-velocity state