936
edits
m (→Overview) |
mNo edit summary |
||
Line 1: | Line 1: | ||
This page covers initialization in flightgear, from the command line through the Splash Page to the first frame of the aircraft in position. | This page covers initialization in flightgear, from the command line through the Splash Page to the first frame of the aircraft in position. | ||
I started by stepping through bootstrap and other modules until flightgear is up and running. | I started by stepping through bootstrap and other modules until flightgear is up and running and the aircraft is visible holding short in a parking area, holding short or placed on a runway. | ||
I'm made some notes, organized by source code file and function. The result is the information below. | I'm made some notes, organized by source code file and function. The result is the information below. | ||
It is | It is important to know that this is an area that as of March 2018 is under active discussion on the mailing list. '''See [https://sourceforge.net/p/flightgear/mailman/message/36261734/ Edward d'Auvergne's e-mail on testing]''' Some of what is written below needs to be reviewed and changed. These changes are underway. | ||
Follow up discussions regarding subsystems on the flightgear-devel mailing list have resulted in changes to the way subsystems are constructed and initialized. | |||
====From Command Line to Holding Short==== | ====From Command Line to Holding Short==== | ||
Line 27: | Line 27: | ||
* an event loop is started to finish the initialization, display a splash screen. The event loop then shows the first frame and then adjust the view as time goes on, based on changes in controls, weather, aircraft position, speed, attitude and time. | * an event loop is started to finish the initialization, display a splash screen. The event loop then shows the first frame and then adjust the view as time goes on, based on changes in controls, weather, aircraft position, speed, attitude and time. | ||
That's a lot, but the orchestration of all this activity takes place in just a few code files and functions in those files. | That's a lot, but the orchestration of all this activity takes place in just a few code files and a very few functions in those files. | ||
We'll trace our way through the code, noting the modules, specific functions and highlight specific lines of code that make up this process. We'll cover both the initial startup and the differences in the initialization process when resetting the application. | |||
* | There are several key concepts in this startup process: | ||
* C++ Classes | |||
* Class Constructors and Object Construction | |||
* Initialization, | |||
* Binding | |||
* Re-initialization | |||
* Object destruction. | |||
===Overview=== | ===Overview=== |
edits