[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Orekit Developers] AbsoluteCoordinate/AbsoluteVector



>> On 01/24/2012 08:03 PM, MAISONOBE Luc wrote:
>>
[..]
>>
>> What do you think about an AbsoluteCoordinate/AbsoluteVector class 
>> that resembles the idea of the AbsoluteDate?

>This is an idea we had some time ago and dismissed. We are not sure though, so it is worth discussing it here again so everyone can give their opinion about that. So I have changed the subject of the message to focus on this point, I'll answer the rest of the message in another reply with the original subject restored.

>The current design uses some small objects that are nested into larger objects. Some of these objects may have full-blown meaning and be self-sufficient, some others are simpler containers and lack some information, so they must be linked to something else.

>Coordinates are somewhat in-between. It would be nice to be able to use them as-is, but as you write they lack frame reference.

>Orbits are self-sufficient objects, they contain the parameters, the date, the frame, and even mu (which is another problem, I would be happy to get rid of mu in CartesianOrbit for consistency with CCSDS).  
>They represent a fixed-time state, not something that evolves, evolving an orbit is requires much more data, as it depends on a complete dynamical model which can be very complex and there are many such models. So in fact despite being already self-sufficient, orbits are still very low-level objects.

>Up to now, we have considered that coordinates with frame as an intermediate level object between PVCoordinates and Orbit did not bring sufficient added-value. So we did not set it up. Do people consider this intermediate class is useful ? If so, then it would be easy to add it. In this case, we should also have a look at the numerous methods and interfaces that already use PVCoordinates and decide whether they should still use PVCoordinates or the new intermediate class. One obvious interface to consider is almost the top-most one: PVCoordinatesProvider, and I guess it should be changed to provide the frame too. This will however introduce a large change in the API since it is used everywhere, but it may be worth doing it, especially for 6.0.

>What do people think about this ?

I like very much the idea of a standalone object for pv coordinates & frame. It could be used in many applications, would be more interesting that the pv coordinates only. For instance, it could be used to define any position (like a ground station), initialize an orbit (new constructor with this new object and a gravitational constant), easily exchange ephemeris data between high level applications.
It would also be consistent with other basic objects like AbsoluteDate (implicit time scale and offset) and Attitude (frame + rotation).

Yannick

>Luc