Some background:
I'm thinking of writing a general-purpose state-propagation MFD as a more hands-on backup to IMFD or TransX. These are great MFDs but I feel the former can be a bit temperamental and the latter could be more flexible. It might be nice to be able to input a few burn parameters for an arbitrary number of burns and see where you are likely to end up.
The problem:
I need to estimate future state vectors for gravitational bodies. After looking at the SDK and a few old threads here I can see three options:
1) Using clbkEphemeris:
Pros: -A single function to call and accurate.
Cons: -It's probably slow.
-It's a callback (I think it would be bad practice).
-Not all bodies support it.
-Return type can vary.
2) The TransX method (see the source here).
Pros: -It works for TransX!
Cons: -Less accurate (the idea is to calculate a conic orbit based on an initial state vector)
-It could be a lot of work (I don't like pinching source from others for some reason).
3) Propagate the planets too
I can only think of cons :S
My question:
I was wondering if since those old posts anyone has found a nicer alternative to using clbkEphemeris than creating my own model based on conics or crazy option 3.
On a related note, how are the state vectors of bodies which don't support ephemerides propagated? Are they using a conic orbit with elements which are inaccessible through the API?
Many thanks.
I'm thinking of writing a general-purpose state-propagation MFD as a more hands-on backup to IMFD or TransX. These are great MFDs but I feel the former can be a bit temperamental and the latter could be more flexible. It might be nice to be able to input a few burn parameters for an arbitrary number of burns and see where you are likely to end up.
The problem:
I need to estimate future state vectors for gravitational bodies. After looking at the SDK and a few old threads here I can see three options:
1) Using clbkEphemeris:
Pros: -A single function to call and accurate.
Cons: -It's probably slow.
-It's a callback (I think it would be bad practice).
-Not all bodies support it.
-Return type can vary.
2) The TransX method (see the source here).
Pros: -It works for TransX!
Cons: -Less accurate (the idea is to calculate a conic orbit based on an initial state vector)
-It could be a lot of work (I don't like pinching source from others for some reason).
3) Propagate the planets too
I can only think of cons :S
My question:
I was wondering if since those old posts anyone has found a nicer alternative to using clbkEphemeris than creating my own model based on conics or crazy option 3.
On a related note, how are the state vectors of bodies which don't support ephemerides propagated? Are they using a conic orbit with elements which are inaccessible through the API?
Many thanks.