Class AbstractStateModifier

  • All Implemented Interfaces:
    AdditionalStateProvider

    public abstract class AbstractStateModifier
    extends Object
    implements AdditionalStateProvider
    Abstract base class for modifying state during propagation.

    This class is a specialized implementation of AdditionalStateProvider with a name set to the empty string and returning a null additional state.

    Beware that changing the state undercover from the propagator may have many side effects. Using this class should therefore be done cautiously.

    Since:
    12.1
    Author:
    Luc Maisonobe
    See Also:
    Propagator, AdditionalStateProvider
    • Constructor Detail

      • AbstractStateModifier

        public AbstractStateModifier()
    • Method Detail

      • getName

        public String getName()
        Get the name of the additional state.

        If a provider just modifies one of the basic elements (orbit, attitude or mass) without adding any new state, it should return the empty string as its name.

        Specified by:
        getName in interface AdditionalStateProvider
        Returns:
        name of the additional state (names containing "orekit" with any case are reserved for the library internal use)
      • getAdditionalState

        public double[] getAdditionalState​(SpacecraftState state)
        Get the additional state.
        Specified by:
        getAdditionalState in interface AdditionalStateProvider
        Parameters:
        state - spacecraft state to which additional state should correspond
        Returns:
        additional state corresponding to spacecraft state
      • change

        public abstract SpacecraftState change​(SpacecraftState state)
        Change main state.
        Parameters:
        state - spacecraft state to change
        Returns:
        changed state