Redesign and re-implement the display of trails for an object of the sky
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
Related bugs
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