I don’t know if it’s an oversight but we cannot set the mass in AbstractPropagatorBuilder.
It can only be set in the Numerical and DSST versions.
I know the mass isn’t usually used in analytical propagation but what if we add ImpulseManeuver detectors to these propagators?
To handle this case I suggest adding the mass directly in AbstractPropagatorBuilder.
With this, we could also provide a method getInitialSpacecraftState() (which will not require building the propagator).
Some additional thoughts about the propagator builders, tell me if you agree or not:
Major release enhancements:
getAttitudeProvider should be declared in PropagatorBuilder
New method getInitialState() and getMass() should also be declared here
AbstractPropagatorBuilder.createInitialOrbit() could be made public, renamed getInitialOrbit and declare in upper interface.
(maybe we can keep create but then getInitialState() should be createtInitialState() for consistency
Bugs?
I don’t see the management of AdditionalStateProviders in AbstractPropagatorBuilder while we do have everything else. Is that intended?
@bcazabonne, didn’t you want to introduce the potential usage of AbsolutePVCoordinates in the builders? Wasn’t that what prevented you to perform an OD when propagating without a central body?