TLEPropagator (and its
Field equivalent) is the only analytical propagator than implements
resetInitialState, but not
resetIntermediateState (throws an exception), which sounds a bit counterintuitive. Could we put some effort into making the latter work? I know it wraps other propagators e.g. SDP4, but I mean
resetInitialState surely had the same problem?
A nice byproduct would be the compatibility with
resetIntialState is only used for the SGP4 orbit determination. Before that, the method threw the same exception as
I don’t like this ugly architecture. Because I don’t like the fact of re initializing the initial state of an analytical propagator. But it was the only one available solution when we implemented the SGP4 orbit determination. So, I understand it is counterintuitive and that’s something we shall improve.
I don’t know if now we can just build a new
TLEPropagator instead of using
resetInitialState() for SGP4 orbit determination. Unfortunately, I don’t have the code in front of me to answer this question
Thanks for your post Bryan, it does bring some perspectives into this. Since the
resetInitialState is there, I think it would more interesting to adapt if for
resetIntermediateState (so that
ImpulseManeuver can be used) rather than trying to remove it and replace it for OD. Anyway I can look into it once my backlog of issues is slimmer.
Edit: but if someone wants to look into this, they’re my guest
By looking at the code only, I believe it’s possible to implement
resetIntermediateState very similarly to
resetInitialState. I could contribute this for 12.0.1, assuming there’s no suprise when testing and if we’re okay to consider this as a “bug”.
Despite the apparent lack of public interest for this , I have proposed a way to implement
resetIntermediateState. You can peruse it in this MR. Feedback welcome. Once the design is agreed, I will apply it to the
Recall that this enables for
TlePropagator the use of state resetting events such as
ImpulseManeuver. I’ve also fixed a bug (the mass was not updated in