Flightgear subsystems: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
Line 27: Line 27:
| ATC || src/ATC || see flightgear/src/ATC/atc_mgr.hxx ||
| ATC || src/ATC || see flightgear/src/ATC/atc_mgr.hxx ||
|-
|-
| CanvasMgr, Canvas & CanvasGUI || src/Canvas/canvas_mgr.cxx ||
| CanvasMgr, Canvas & CanvasGUI || {{flightgear file|src/Canvas/canvas_mgr.cxx}} ||
|-
|-
| controls || src/Aircraft/controls.cxx || <FGControls> ||
| controls || src/Aircraft/controls.cxx || <FGControls> ||
Line 47: Line 47:
| flight || ||
| flight || ||
|-
|-
| gui  || /src/GUI|| <NewGUI> ||
| gui  || /src/GUI|| <NewGUI> || See [[PUI]]
|-
|-
| history || ||
| history || ||
Line 61: Line 61:
| model-manager  || /src/Model/modelmgr.cxx || ||
| model-manager  || /src/Model/modelmgr.cxx || ||
|-
|-
| nasal  || /src/scripting ||  <FGNasalSys> ||
| nasal  || {{flightgear file|/src/Scripting}} ||  <FGNasalSys> || scripting subsystem
|-
|-
| realwx  || /src/Environment || ||
| realwx  || /src/Environment || ||
|-
|-
| route-manager  || /src/Navaids || ||
| route-manager  || /src/Navaids || || [[Route manager]]
|-
|-
| sound  || /src/Sound/soundmanager.cxx || <SGSoundManager> <FGSoundManager> ||
| sound  || /src/Sound/soundmanager.cxx || <SGSoundManager> <FGSoundManager> ||

Revision as of 20:33, 12 February 2018

Flightgear Subsystems

The Flightgear and Simgear codebase can be broken down into subsystems. Some of these are Managed and accessed through simgear's SGSubsystemMgr. Others have their own componentManager independent of SGSubsystemMgr. Still others have no Manager function per se.

The lists below give starting points for exploration of the various subsystems in Flightgear/Simgear. As a person new to the Flightgear projects codebase, I think its important to understand the code in the following areas in some detail:

  • How Sub-Systems are managed
  • How the main event loop works
  • How properties are set and how their values are accessed. This includes understanding the concept of "tied" properties.
  • How I/O works, especially I/O used for communications

Simgear Subsystem Groups

The information below is intended to serve as a starting point for exploring code releated to these subsystems.

WIP.png Work in progress
This article or section will be worked on in the upcoming hours or days.
See history for the latest developments.
Subsystems - Managed by the Subsystem Manager
Subsystem Name Folder Class Description
ai-model flightgear/src/AIModel/AIManager.cxx <FGAIManager>
aircraft-performance-db flightgear/src/AIModel/performancedb.cxx
src/AIModel/performancedata.cxx
<PerformanceDB>
airport-dynamics src/Airports/airportDynamicsManager.cxx <AirportDynamicsManager>
ATC src/ATC see flightgear/src/ATC/atc_mgr.hxx
CanvasMgr, Canvas & CanvasGUI flightgear/src/Canvas/canvas_mgr.cxx
controls src/Aircraft/controls.cxx <FGControls>
dns src/Network/DNSClient.cxx <FGDNSClient>
environment src/Environment/environment_mgr.cxx
ephemeris src/Environment/ephemeris.cxx
simgear/ephemeris/ephemeris.cxx
<Ephemeris>
http src/Network/HTTPClient.cxx <FGHTTPClient>
input-mouse /src/Input <FGMouserInput>
scenery /src/Scenery <scenery> <FGScenery>
view-manager /src/Viewer <FGViewMgr>
flight
gui /src/GUI <NewGUI> See PUI
history
input /src/input
kln89 /src/Instrumentation/kln89
lighting
logger src/Main/logger.cxx
model-manager /src/Model/modelmgr.cxx
nasal flightgear//src/Scripting <FGNasalSys> scripting subsystem
realwx /src/Environment
route-manager /src/Navaids Route manager
sound /src/Sound/soundmanager.cxx <SGSoundManager> <FGSoundManager>
terrasync scripts/python/TerraSync/terrasync/main.py
time /src/Time/TimeManager.cxx <TimeManager>
traffic-manager /src/Traffic/TrafficMgr.cxx
Subsystems - Independently Managed
Subsystem Name Module Class Name Description
Add-Ons src/Add-ons/
Cockpit src/Cockpit/CockpitDisplayManager.cxx
Events src/Instrumentation/instrument_manager.cxx
Embedded Resources simgear/embedded_resources/EmbeddedResourceManager.cxx
Instrument src/Instrumentation/instrument_manager.cxx
Magnetic Variance src/Environment/magvarmanager.cxx
Multiplay src/Multiplayer/multiplaymgr.cxx
Systems src/Systems/system_mgr.cxx
Subsystems simgear/Systems/SGSubsystemMgr.cxx
simgear/structure/subsystem_mgr.cxx
Subsystems - Unmanaged
Subsystem Name Folder or Module Classes Description
Aircraft src/Aircraft
Autopilot src/Autopilot
Flight Dynamics Models src/FDM
Navigational Aids /src/Navaids
Network /src/Network
Simgear/serial
simgear/io
scripts/python/FlightGear.py
scripts/python/Terrasync folder
Properties /src/Main/fg_props.cxx
simgear/props/
sgPropertyNode
ChangeListener Classes
SGCondition and sub-classes
Easing Functions
ExtendedPropertyAdapter
PropertyBasedMgr
PropertyInterpolationMgr
See also flightgear/docs-mini/Nasal.html
Radio /src/Radio
Systems /src/Systems
Viewer /src/Viewer