20,741
edits
Line 29: | Line 29: | ||
=== Canvas System === | === Canvas System === | ||
<!--additions should also be added to:http://wiki.flightgear.org/Changelog_3.0.0#Some_of_the_major_changes_include: --> | <!--additions should also be added to:http://wiki.flightgear.org/Changelog_3.0.0#Some_of_the_major_changes_include: --> | ||
Work has now started to develop a dedicated Nasal module specifically for [[Canvas Maps|mapping/charting purposes]]. A first proof of concept is available in $FG_ROOT/Nasal/canvas/map.nas, but we expect to commit more changes (and a real API) soon. Initially, we'll be collecting all related features in a single "map.nas" module, and refactor/improve things later on. | |||
In particular, the idea is to have a single Nasal module as the backend for all mapping/charting tasks in FlightGear, so that existing hard-coded features can be unified and re-implemented via a single consistent Nasal module that serves as a shared backend. | |||
Ultimately, this will make it possible to re-implement existing features such as [[ATC-FS]], the [[Map]] dialog and even Brisa's [[Airport Diagram Generator]] or the [[Kelpie Flight Planner]] directly in FlightGear, using Nasal scripting and the [[Canvas]] system, without having to write any C++ code - so that people won't need to use external tools or programming languages to create such applications. | |||
In the long run, we want to come up with a very flexible design so that the "map.nas" module cannot only be used for creating maps used in GUI dialogs, but also for creating moving map displays like the existing hard-coded [[NavDisplay]] or the [[TCAS]] and WXRADAR displays ("glass" displays), i.e. as cockpit instruments/avionics. | |||
This approach would also make it possible to directly show instruments in GUI dialogs or vice versa. | |||
As a first proof of concept, Stuart has added a Canvas-based map to the airport selection dialog, and Hooray has demonstrated that the same technique could be used to add a map widget to the route manager dialog - so that airport selection and route planning could become more intuitive using the [[Canvas]] system. For additional info, please see: [http://flightgear.org/forums/viewtopic.php?f=71&t=17625]. | |||
=== High Level Architecture === | === High Level Architecture === |