Interface AttitudeProviderModifier

All Superinterfaces:
AttitudeProvider, AttitudeRotationModel, EventDetectorsProvider, ParameterDriversProvider
All Known Implementing Classes:
GroundPointingAttitudeModifier, SpinStabilized, YawCompensation, YawSteering

public interface AttitudeProviderModifier extends AttitudeProvider
This interface represents an attitude provider that modifies/wraps another underlying provider.
Since:
5.1
Author:
Luc Maisonobe
  • Method Details

    • getUnderlyingAttitudeProvider

      AttitudeProvider getUnderlyingAttitudeProvider()
      Get the underlying attitude provider.
      Returns:
      underlying attitude provider
    • getAttitude

      default 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

      default <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
    • getEventDetectors

      default Stream<EventDetector> getEventDetectors(List<ParameterDriver> parameterDrivers)
      Get the discrete events related to the model from a list of ParameterDriver

      Date detectors are used to cleanly stop the propagator and reset the state derivatives at transition dates (if any) of the parameter drivers.

      This method is not intended to be called several times, only once by a propagator, as it has the side effect of rebuilding the events detectors when called.

      Specified by:
      getEventDetectors in interface EventDetectorsProvider
      Parameters:
      parameterDrivers - list of parameter drivers
      Returns:
      stream of event detectors
    • getFieldEventDetectors

      default <T extends CalculusFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventDetectors(Field<T> field, List<ParameterDriver> parameterDrivers)
      Get the discrete events related to the model from a list of ParameterDriver

      Date detectors are used to cleanly stop the propagator and reset the state derivatives at transition dates (if any) of the parameter drivers.

      This method is not intended to be called several times, only once by a propagator, as it has the side effect of rebuilding the events detectors when called.

      Specified by:
      getFieldEventDetectors in interface EventDetectorsProvider
      Type Parameters:
      T - extends CalculusFieldElement<T>
      Parameters:
      field - field to which the state belongs
      parameterDrivers - list of parameter drivers
      Returns:
      stream of event detectors
    • getParametersDrivers

      default List<ParameterDriver> getParametersDrivers()
      Get the drivers for parameters.
      Specified by:
      getParametersDrivers in interface AttitudeProvider
      Specified by:
      getParametersDrivers in interface ParameterDriversProvider
      Returns:
      drivers for parameters
    • getFrozenAttitudeProvider

      static AttitudeProviderModifier getFrozenAttitudeProvider(AttitudeProvider attitudeProvider)
      Wrap the input provider with a new one always returning attitudes with zero rotation rate and acceleration. It is not physically sound, but remains useful for performance when a full, physical attitude with time derivatives is not needed.
      Parameters:
      attitudeProvider - provider to wrap
      Returns:
      wrapping provider
      Since:
      12.1