[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Orekit Users] Re. how to deletgate Orbit class??
I am looking write a wrapper/delegator/decorator for Orbit which applies
certain types of biases. For example, the result may be that the underlying
orbital geometry is shifted according to a bias model. This is supposed to
represent ephemeris errors of certain types.
Anyway, this would be easier if Orbit were an interface, but it is not. I
could subclass the existing Orbit classes, but there are a lot of them. All I
really care about changing is the PVCoordinates, but the Orbit API is fairly
complicated.
I am thinking that what I can do is subclass Orbit with BiasedOrbit, added a
member reference to the child Orbit object of whatever type. The main thing is
to return a different BoundedPropagator, which fortunately is an interface. I
think all I have to do is decorate the BoundedPropagator getInitialState,
getAttitudeProvider if I want to bias attitude data, and the two propagate
methods.Also need to decorate getGeneratedEphemeris, which may be trickier.
However, some issues which are troubling me:
1) Orbit does not have a default constructor. I really don't want the
superclass to do anything, so this is annoying.
2) The two init... methods are protected, so I cannot delegate them.
Any suggestions? Is there already some way to do this? Would it be easier
for me to add biases in my applications instead of trying to create a
BiasedOrbit?
Thanks!
Jim