Canvas Maps: Difference between revisions

Jump to navigation Jump to search
m
Line 27: Line 27:
As can be seen in line 199, the canvas system directly uses geographic coordinates, so there's no explicit conversion to screen coordinates or other projection handling required. In other words: what you get from the Nasal DB, can be directly used here.
As can be seen in line 199, the canvas system directly uses geographic coordinates, so there's no explicit conversion to screen coordinates or other projection handling required. In other words: what you get from the Nasal DB, can be directly used here.


== Background: Automatic geographic mapping (Implemented) ==
This feature is based on the ARINC661 standard, which handles this very elegantly: the A661 CDS (display) is really just sent geographic positions of objects, associated image information and it will automatically turn this into a horizontal or vertical map using the proper projection mode.
As you may remember, the ARINC661 standard handles this very elegantly: the display is really just sent geographic positions of objects, associated image information and it will automatically turn this into a horizontal or vertical map using the proper projection.


Basically, this means that users of the mfd/canvas module would only need to know a handful of things (position, symbol, mapping mode) and they could get started right away. And the nice thing is that this abstraction wrapper could be reused for all of these things: navdisplay, wxradar, tcas, fixes, airports etc.
Basically, this means that users of the mfd/canvas module only ever need to know a handful of things (position, symbol, mapping mode) and they can get started right away.  
And the really nice thing is that this abstraction wrapper can be reused for all related things: navdisplay, wxradar, tcas, fixes, airports etc.


I think if that could be made to work, the Nasal code to handle these display modes could be really short and elegant, especially compared to all the C++ code that we have currently for the same purpose!
Thus, the Nasal code to handle these display modes can be really short and elegant, especially compared to all the C++ code that we have currently for the same purpose!


== Shared Requirements (MFDs and GUI maps) ==
== Shared Requirements (MFDs and GUI maps) ==

Navigation menu