Redesign and re-implement the display of trails for an object of the sky

Registered by Fabien Chéreau

The current code related to planets trail is embedded into the Planet class. This code is old and is not very well designed and should be rewritten from scratch.

The high level requirements are:
 - It should be possible to display a trail displaying the position that an object had in the previous seconds on the screen.
 - When the trail is first activated, the size of the trail is null, and grows with time (no need to compute positions in the past).
 - The maximum length/duration of the trail should be customizable.
 - The rendering should make the tail of the trail fade out smoothly.

- There is a button in the GUI which activate the trails display for all planets.
- Another feature would be to activate trail display for the currently selected object, whatever its type is.

At the code level:
The feature should be moved to a new new TrailPath class which works on a StelObject, i.e. not restricted to planets only. It will allow to use the feature on other sky objects, like stars (to display proper motion or diurnal movement).
The trails could be managed by a TrailPathMgr.

Skills needed: C++, Qt, OpenGL
Difficulty: average

Blueprint information

Status:
Complete
Approver:
Fabien Chéreau
Priority:
Medium
Drafter:
None
Direction:
Needs approval
Assignee:
Fabien Chéreau
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Fabien Chéreau
Completed by
Fabien Chéreau

Related branches

Sprints

Whiteboard

High priority because the final cleaning of the planet-related code depends on this tasks.

I think the main issue is just that your requirements differ from what I originally implemented to. Having trails in local coordinates for any object seems like a great idea, but that is different from showing object trails against equatorial coordinates in subtle ways. Trying to think if I could really live without that. - Rob

OK, I see your point, but I expected the user to put himself in the frame he wants (local or equatorial mount) and accelerate the time to see the desired movement. If he wants to see the diurnal motion then he has to stay in local coordinate, select any object and accelerate time, for planets he will have to be first in equatorial coordinate. Does this makes sense? -Fab

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.