Attitude sequence not starting


I am trying to define an attitude sequence to use during orbit propagation. In the attitude sequence, each attitude change is triggered by a date event. When I propagate the orbit, I noticed that the attitude sequence is not taken into account if the first attitude mode that I define is triggered on the same date of the start of the propagation. Is this the intended behaviour in Orekit?

Thanks in advance for the help.

Yes, it is intended.
The rationale is that a classical use case is to set up propagation, to set up event detection to stop it, and then to restart a new propagation where the last one ended. Our design choice was that as the event must be handled by the first propagator (because it is what ends the propagation), then it was already handled and should not be detected when the second propagation starts, otherwise we would be stuck in an infinite loop of zero duration propagations.

Put it in other words: events are intentionally ignored when they occur too close to the start of the propagation. Too close here is considered according to the convergence threshold of the corresponding events detector.

Thanks for the reply. I guessed as much. In case I want to handle the use case I described, would it be ok to create the attitude sequence excluding the first attitude mode and then use the method resetActiveProvider with the first attitude mode that I previously excluded? Or is there a better way to handle it?

Hi there,

If all your events are DateDetector you might as well use AggregatedBoundedAtttitudeProvider which uses BoundedAttitudeProvider