Canvas MapStructure: Difference between revisions

Jump to navigation Jump to search
m
Some layout fixes
(Now in FlightGear)
m (Some layout fixes)
Line 9: Line 9:
|topic-fgdata= [[Canvas-hackers]] & main fgdata repo
|topic-fgdata= [[Canvas-hackers]] & main fgdata repo
}}
}}
{{Canvas Navigation}}


[[File:Gpsmap196-MapStructure.png|thumb|F-JJTH's GPSMap196 in the process of being ported to [[Canvas]] using Philosopher's MapStructure framework for mapping (LOD/scaling not applied here, but available) - see [http://forum.flightgear.org/viewtopic.php?f=71&t=23047] ]]
[[File:Gpsmap196-MapStructure.png|thumb|F-JJTH's GPSMap196 in the process of being ported to [[Canvas]] using Philosopher's MapStructure framework for mapping (LOD/scaling not applied here, but available) - see [http://forum.flightgear.org/viewtopic.php?f=71&t=23047] ]]
Line 18: Line 20:
[[File:MapStructure-WXR-layer-by-omega95.png|thumb|MapStructure WXR (weather) layer created by omega95's using a web service API to fetch live online imagery[http://forum.flightgear.org/viewtopic.php?f=71&t=23753]]]
[[File:MapStructure-WXR-layer-by-omega95.png|thumb|MapStructure WXR (weather) layer created by omega95's using a web service API to fetch live online imagery[http://forum.flightgear.org/viewtopic.php?f=71&t=23753]]]


{{Canvas Navigation}}
 


'''Targeted FlightGear versions: 3.20+'''
'''Targeted FlightGear versions: 3.20+'''
Line 26: Line 28:
{{Note|This article is intended for people wanting to add custom scripted mapping/charting displays to FlightGear (aircraft, GUI dialogs, HUDs etc) using layered maps- it assumes familiarity with [[Nasal]] scripting, [[Object Oriented Programming with Nasal]] and [[Canvas]] - while an existing chart layer (e.g. to show VORs/NDBs or DMEs) can be easily added and used/customied by non-programmers within a few minutes, creating new MapStructure layers requires additional knowledge which is detailed below. Usually, new layers can be easily created by adapting existing layers. In its simplest form, MapStructure is just a library of a handful of existing layers (navaids, traffic, weather etc) that can be easily -and quickly- reused for all kinds of different purposes.  
{{Note|This article is intended for people wanting to add custom scripted mapping/charting displays to FlightGear (aircraft, GUI dialogs, HUDs etc) using layered maps- it assumes familiarity with [[Nasal]] scripting, [[Object Oriented Programming with Nasal]] and [[Canvas]] - while an existing chart layer (e.g. to show VORs/NDBs or DMEs) can be easily added and used/customied by non-programmers within a few minutes, creating new MapStructure layers requires additional knowledge which is detailed below. Usually, new layers can be easily created by adapting existing layers. In its simplest form, MapStructure is just a library of a handful of existing layers (navaids, traffic, weather etc) that can be easily -and quickly- reused for all kinds of different purposes.  
For people familiar with Nasal coding, MapStructure is also a framework to create new fully reusable layers with integrated support for caching, resource management (listener/timers) and efficient spatial searching/updating.
For people familiar with Nasal coding, MapStructure is also a framework to create new fully reusable layers with integrated support for caching, resource management (listener/timers) and efficient spatial searching/updating.
For FlightGear versions <nowiki>>=</nowiki> 3.3+, there will also be a [[Canvas Widgets|Canvas Widget]] to easily add MapStructure-based maps to any Canvas dialog and/or to Canvas MFDs that internally use the Canvas GUI framework. Another novelty that we're currently exploring is extending the framework such that GUI-based creation/editing/customization of layers becomes a first-class concept, e.g. to create a weather or tutorial/missions GUI editor: see [[#Porting the map dialog]].}}
For FlightGear versions <nowiki>>=</nowiki> 3.3+, there will also be a [[Canvas Widgets|Canvas Widget]] to easily add MapStructure-based maps to any Canvas dialog and/or to Canvas MFDs that internally use the Canvas GUI framework. Another novelty that we're currently exploring is extending the framework such that GUI-based creation/editing/customization of layers becomes a first-class concept, e.g. to create a weather or tutorial/missions GUI editor: see [[#Porting the map dialog]].|width=70%}}


{{cquote
{{cquote

Navigation menu