Interface FieldImpulseProvider<T extends CalculusFieldElement<T>>

  • Functional Interface:
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

    @FunctionalInterface
    public interface FieldImpulseProvider<T extends CalculusFieldElement<T>>
    Interface providing velocity increment vectors to impulsive maneuvers (Field version).
    Since:
    13.0
    Author:
    Romain Serra
    See Also:
    ImpulseProvider, FieldImpulseManeuver
    • Method Detail

      • getImpulse

        FieldVector3D<T> getImpulse​(FieldSpacecraftState<T> state,
                                    boolean isForward,
                                    AttitudeProvider attitudeOverride)
        Method returning the impulse to be applied (Field version).
        Parameters:
        state - state before the maneuver is applied if isForward is true, after otherwise
        isForward - flag on propagation direction
        attitudeOverride - maneuver attitude override, can be null
        Returns:
        impulse in satellite's frame
      • of

        static <T extends CalculusFieldElement<T>> FieldImpulseProvider<T> of​(FieldVector3D<T> forwardImpulse)
        Get a provider returning a given vector for forward propagation and its opposite for backward.
        Type Parameters:
        T - field type
        Parameters:
        forwardImpulse - forward impulse vector
        Returns:
        constant provider
      • of

        static <T extends CalculusFieldElement<T>> FieldImpulseProvider<T> of​(Field<T> field,
                                                                              Vector3D forwardImpulse)
        Get a provider returning a given vector for forward propagation and its opposite for backward.
        Type Parameters:
        T - field type
        Parameters:
        field - field
        forwardImpulse - forward impulse vector
        Returns:
        constant provider