Class AbstractStateModifier

  • All Implemented Interfaces:
    AdditionalDataProvider<double[]>

    public abstract class AbstractStateModifier
    extends Object
    implements AdditionalDataProvider<double[]>
    Abstract base class for modifying state during propagation.

    This class is a specialized implementation of AdditionalDataProvider 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, AdditionalDataProvider
    • Constructor Detail

      • AbstractStateModifier

        public AbstractStateModifier()
    • Method Detail

      • getName

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

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

        Specified by:
        getName in interface AdditionalDataProvider<double[]>
        Returns:
        name of the additional data (names containing "orekit" with any case are reserved for the library internal use)
      • getAdditionalData

        public double[] getAdditionalData​(SpacecraftState state)
        Get the additional data.
        Specified by:
        getAdditionalData in interface AdditionalDataProvider<double[]>
        Parameters:
        state - spacecraft state to which additional data 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