A so called listener-based subsystem (via SGPropert圜hangeListener) will watch the canvas sub tree in the main property tree for supported "events" (i.e. The is the sole interfacing mechanism in use by the Canvas system. The canvas system is a property-driven FlightGear subsystem that allows creating, rendering and updating dynamic OpenGL textures at runtime by setting properties in the main FlightGear Property Tree. People just wanting to add a new layer to an existing dialog or instrument, will probably want to refer to Canvas MapStructure instead.
In addition, the map element (a subclass of group) can be extended to support additional map projections (see simgear/simgear/canvas/elements/map/projection.hxx). Whenever all existing Canvas elements (group, map, text, image, path) should benefit from an addition, such as for example adding effects/shader support, it makes sense to extend the underlying base class itself, i.e. cockpit, scenery, GUI dialog or osgviewer window)
#Listen to atis active sky xp code#
The Canvas code itself makes extensive use of the STL and Boost. Readers are assumed to be familiar with C++ and OSG, the Property Tree and fundamental FlightGear APIs like SGPropertyNode (doxygen), Property Objects, SGSubsystem and SGPropert圜hangeListener (the latter being wrapped via simgear::PropertyBasedElement). Note This article is primarily of interest to people familiar with Building FlightGear from source, and wanting to extend the Canvas 2D rendering system in SimGear ( $SG_SRC/canvas).