FlightGear data flow

From FlightGear wiki
Jump to navigation Jump to search
This article is a stub. You can help the wiki by expanding it.

That's where the property comes into place: Property tree

Almost all inter-subsystem communication is done using the property tree except for a few specific subsystems[1]

The major ‘non-property’ data structures that get passed around are:

  • the FlightPlan structures (but mostly within the route-manager subsystem and the navigation instruments, such as the GPS
  • the Navaid / Airport / Runway structures which come from the NavDataCache and are used by many different subsystems (instruments, startup code, route-manager)
  • The ground-cache / scenery-intersection code (used so FDMs, Nasal and other weird stuff like ground-radar can check ‘where the terrain is’ give a ray test)
  • the AI objects (inheriting AIBase) - but these mostly live inside the AIManager subsystem

The other data-structure which is touched in many places is the OpenSceneGraph scene ie ‘what we draw’, many rending related pieces interact with this of course, some in slightly confusing ways, eg the AIManager needs to insert models corresponding to AIObjects, the SGSky code needs to update the special geometry to render the sun, and so on.[2]

aircraft specific components are usually implemented in Nasal.[3]