20,741
edits
m (courtesy of Torsten, another example of excellent docs hidden in the depths of the devel list archives: http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg21191.html) |
m (courtesy of Lee E: http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg21192.html) |
||
Line 8: | Line 8: | ||
The property system - or property tree - represents most of the internal state of all systems within FlightGear, like for example the flight dynamics model. The content of these internal state variables are presented in a hierarchically manner and can easily be accessed through a well known API. A system may present its current state to other systems and let other systems change it's current state by allowing them to write to it's own properties. | The property system - or property tree - represents most of the internal state of all systems within FlightGear, like for example the flight dynamics model. The content of these internal state variables are presented in a hierarchically manner and can easily be accessed through a well known API. A system may present its current state to other systems and let other systems change it's current state by allowing them to write to it's own properties. | ||
One might think of the property system as a global, normalized communication platform. | One might think of the property system as a global, normalized communication platform, where subsystems may publish variables and access other subsystem's variables. In addition, callbacks can be registered to invoke code upon read/write access of properties, which serves as the backbone for a very simple, but powerful, signalling mechanism in FlightGear. | ||
Thus, the property system acts as a routing interface, both between different high-level FG sub-systems and the outside world. Data that is required by one FG sub-system can be exposed in the property tree, where it can then be read or modified, either by other internal FG sub-systems, or by & for external input & output. | |||
To make it easier to manipulate the tree, start FlightGear with the following command line | To make it easier to manipulate the tree, start FlightGear with the following command line |