Hi fellow wiki editors!

To help newly registered users get more familiar with the wiki (and maybe older users too) there is now a {{Welcome to the wiki}} template. Have a look at it and feel free to add it to new users discussion pages (and perhaps your own).

I have tried to keep the template short, but meaningful. /Johan G

Difference between revisions of "Flightgear Subsystems"

From FlightGear wiki
Jump to: navigation, search
(Subsystems - Unmanaged)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
==== Flightgear Subsystems ====
 
==== 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}}
 
{{WIP}}
=====Subsystems - Managed by the Subsystem Manager=====
 
 
{| class="wikitable"
 
|-
 
! Subsystem Name !! Folder !! Class !! Description
 
|-
 
| ai-model || {{flightgear file|src/AIModel/AIManager.cxx}} || <FGAIManager> ||
 
|-
 
| aircraft-performance-db || {{flightgear file|src/AIModel/performancedb.cxx}}<br/>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 file|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<br/>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 file|/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=====
+
As part of an effort to understand the flightgear codebase in enough detail to begin working on it, I'm collecting information about various aspects of the code.
  
{| class="wikitable"
+
I've begun to organize this work on subpages of [[User:Callahanp/Flightgear and Simgear Code]]
|-
+
! Subsystem Name !! Module !! Class Name!! Description
+
  
|-
+
This page was an early version that should have been started thereSince I'm the only author (other than Hooray, who has added his comments) and its actually work in progress, I'm moving it to
| 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<br/>simgear/structure/subsystem_mgr.cxx ||
+
  
|}
+
[[User:Callahanp/Flightgear and Simgear Code/Subsystems]]
=====Subsystems - Unmanaged=====
+
{| class="wikitable"
+
|-
+
! 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<br/> Simgear/serial<br/>simgear/io<br/> scripts/python/FlightGear.py <br/> scripts/python/Terrasync folder ||
+
|-
+
| Properties || /src/Main/fg_props.cxx <br/> simgear/props/<br/>|| SGPropertyNode<br/>ChangeListener Classes<br/>SGCondition and sub-classes<br/>Easing Functions<br/>ExtendedPropertyAdapter<br/>PropertyBasedMgr<br/>PropertyInterpolationMgr<br/>See also flightgear/docs-mini/Nasal.html<br/>
+
|-
+
| Radio || /src/Radio ||
+
|-
+
| Systems || /src/Systems ||
+
|-
+
| Viewer || /src/Viewer ||
+
|}
+

Latest revision as of 12:44, 17 February 2018

Flightgear 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.

As part of an effort to understand the flightgear codebase in enough detail to begin working on it, I'm collecting information about various aspects of the code.

I've begun to organize this work on subpages of User:Callahanp/Flightgear and Simgear Code

This page was an early version that should have been started there. Since I'm the only author (other than Hooray, who has added his comments) and its actually work in progress, I'm moving it to

User:Callahanp/Flightgear and Simgear Code/Subsystems