Canvas MFD framework: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 31: Line 31:
}}
}}


{{FGCquote
  |as long as you keep coding with a generic mindset, i.e. to support use-cases like:<br/>
<br/>
<ul>
<li> multiple independent instances per instrument/layer </li>
<li> different instruments/aircraft (i.e. with different AP/RM or NAV/COM dependencies)</li>
<li> the GUI use-case (see map-canvas.xml in $FG_ROOT/gui/dialogs)</li>
<li> styling (custom colors, fonts, symbols etc)</li>
<li> different position sources (aircraftpos.controller/NDSourceDriver)</li>
</ul>
<br/>
None of this is rocket science or even very difficult - these are fairly basic things, but most people fail to keep all of them in mind, so that they end up coming up with instruments that only support a single use-case unfortunately.<br/>
<br/>
But as long as people keep following a handful of guidelines, we can even easily support new use-cases, including even a standalone FGCanvas mode, without it involving a ton of porting work.  Likewise, GUI dialogs for configuring weather or showing a GUI console, would then automatically be able to also support holding patterns, vertical profiles (VSD) and weather overlays.<br/>
<br/>
And you really only need to know a subset of Nasal to apply these guidelines, and it will get you pretty far.
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=216427#p216427
    |title=<nowiki>Re: A330-200 with Canvas and other features</nowiki>
    |author=<nowiki>Hooray</nowiki>
    |date=<nowiki>Mon Aug 11</nowiki>
  }}
}}
'''Hooray:''' Basically, my idea was to generalize the ND code some more and come up with helper classes for 1) SGSubsystems, 2) MFD instruments and 3) image generators, 4) displays and display switches/selectors. Introducing a handful of helper classes would allow us to support all important use-cases that are common in modern glass cockpits, including switching between different FMCs or PFDs/NDs. I would really prefer to closely coordinate things here - we really don't want to have people come up with hugely different approaches for different types of MFDs.
'''Hooray:''' Basically, my idea was to generalize the ND code some more and come up with helper classes for 1) SGSubsystems, 2) MFD instruments and 3) image generators, 4) displays and display switches/selectors. Introducing a handful of helper classes would allow us to support all important use-cases that are common in modern glass cockpits, including switching between different FMCs or PFDs/NDs. I would really prefer to closely coordinate things here - we really don't want to have people come up with hugely different approaches for different types of MFDs.


Navigation menu