FlightGear data flow: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
(https://sourceforge.net/p/flightgear/mailman/message/36975824/)
 
m (Johan G moved page FlightGear Dataflow to FlightGear data flow: Sentence case title)
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{Stub}}
{{Stub}}
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<ref>https://sourceforge.net/p/flightgear/mailman/message/36975776/</ref>


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


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.<ref>https://sourceforge.net/p/flightgear/mailman/message/36975824/</ref>
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.<ref>https://sourceforge.net/p/flightgear/mailman/message/36975824/</ref>
aircraft specific components are usually implemented in  [[Nasal]].<ref>https://sourceforge.net/p/flightgear/mailman/message/36975780/</ref>


== References ==
== References ==

Latest revision as of 07:10, 26 May 2021

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]

References

References