Interface FieldImpulseProvider<T extends CalculusFieldElement<T>>

Type Parameters:
T - type of the field elements
All Known Implementing Classes:
FieldAbstractInPlaneImpulseProvider, FieldCircularizingImpulseProvider, FieldSmaChangingImpulseProvider

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:
  • Method Details

    • getImpulse

      FieldVector3D<T> getImpulse(FieldSpacecraftState<T> state, boolean isForward)
      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
      Returns:
      impulse in satellite's frame
    • init

      default void init(FieldSpacecraftState<T> initialState, FieldAbsoluteDate<T> targetDate)
      Method called at start of propagation.
      Parameters:
      initialState - state at start of propagation
      targetDate - target end date
    • finish

      default void finish(FieldSpacecraftState<T> finalState)
      Method called at end of propagation.
      Parameters:
      finalState - state at end of propagation
    • 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
    • of

      static <T extends CalculusFieldElement<T>> FieldImpulseProvider<T> of(ImpulseProvider impulseProvider)
      Get a provider from a non-Field version.
      Type Parameters:
      T - field type
      Parameters:
      impulseProvider - impulse provider
      Returns:
      provider