Canvas MapStructure: Difference between revisions

Jump to navigation Jump to search
m
no edit summary
mNo edit summary
Line 28: Line 28:
[[File:Canvasready.png]]
[[File:Canvasready.png]]


{{Note|This article is intended for people wanting to add custom mapping/charting displays to FlightGear (aircraft, GUI dialogs, HUDs etc) - 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 by non-programmers within a few minutes, creating new MapStructure layers requires additional knowledge which is detailed below. In its simplest form, MapStructure is just a library of a handful of existing layers (navaids, traffic) 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 searching/updating.
{{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 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]].}}


Navigation menu