Route Manager internals: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 8: Line 8:


Activating a route currently validates any supplied data, and fills out missing data (where possible). There is the potential to hook into Nasal callbacks in this area, if people request that as a feature. As the route-manager evolves into a general flight-plan manager, activation will probably be associated with other functions as well - most importantly, with filing a flight plan with ATC system, and hence making it available over the multi-player network to human or AI ATC providers.
Activating a route currently validates any supplied data, and fills out missing data (where possible). There is the potential to hook into Nasal callbacks in this area, if people request that as a feature. As the route-manager evolves into a general flight-plan manager, activation will probably be associated with other functions as well - most importantly, with filing a flight plan with ATC system, and hence making it available over the multi-player network to human or AI ATC providers.
=== Sequencing ===
The route-manager expect an external navigation system (i.e, the GPS instrument, in practice) to control sequencing, since various control modes affect precisely when sequencing occurs. In particular, [[turn anticipation]] and overflight waypoints change the behaviour in this area. To avoid duplicate or complicating the code, the route manager delegates all policy to the GPS.
When the route-manager is commanded to sequence, it emits signals as necessary (see below), updates the current waypoint index and compatibility waypoint data, and generally performs any internal house-keeping it requires.
=== Properties ===
;current-waypoint
: Index of the current (active) waypoint in the <tt>route</tt> array. In an active route, this will never be zero, since there must always be valid previous ('from') waypoint. Setting this value causes a waypoint jump, eg when executing a direct-to operation from the GPS logic; in general the value should only be set under exceptional, user-directed circumstances.


=== Signals ===
=== Signals ===
Line 19: Line 30:
;edited
;edited
: Emitted when the user (via the GUI) or some other system modifies the route, eg by adding or removing waypoints. This exists to allow other places observing the route to re-synchronize their copies of any waypoint data.
: Emitted when the user (via the GUI) or some other system modifies the route, eg by adding or removing waypoints. This exists to allow other places observing the route to re-synchronize their copies of any waypoint data.
=== Enroute data ===
=== Enroute data ===


580

edits

Navigation menu