Flightgear subsystems: Difference between revisions
No edit summary |
|||
Line 1: | Line 1: | ||
==== Flightgear Subsystems ==== | ==== Flightgear Subsystems ==== | ||
{{WIP}} | |||
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]] | |||
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 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. | ||
Line 6: | Line 16: | ||
* How Sub-Systems are managed | * How Sub-Systems are managed | ||
* Subsystems that are not managed | |||
* How the main event loop works | * 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 properties are set and how their values are accessed. This includes understanding the concept of "tied" properties. |
Revision as of 16:37, 17 February 2018
Flightgear Subsystems
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
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
- Subsystems that are not 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.
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 | legacy GPS implementation, OD_Gauge based | |
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 |