Property tree: Difference between revisions

Jump to navigation Jump to search
Line 80: Line 80:


The property tree is read, written, accessed and manipulated in a variety of ways, such as
The property tree is read, written, accessed and manipulated in a variety of ways, such as
* startup arguments via <nowiki>--prop:/sim/foo=bar</nowiki>
* XML files
* internal compiled code within FG - the c/c++ code
* internal compiled code within FG - the c/c++ code
* [[Nasal]] scripts - this is javascript like scripting with read/write to the property tree. This is the way most aircraft are implemented.
* [[Nasal]] scripts - this is javascript-like scripting with read/write to the property tree. This is the way most aircraft are implemented.
* Using native protocols, implemented in C++ (see [https://gitorious.org/fg/flightgear/trees/next/src/Network $SG_SRC/Network]. [[Property Tree/Sockets]]
* Using native protocols, implemented in C++ (see [https://gitorious.org/fg/flightgear/trees/next/src/Network $SG_SRC/Network]. [[Property Tree/Sockets]]
* Using the generic protocol, either in/out/bi - this allows send/receive to the FG sim via the [[Generic Protocol]]
* Using the generic protocol, either in/out/bi - this allows send/receive to the FG sim via the [[Generic Protocol]]
* telnet interface - query and fly the plane on the command line or using a scripted session (see [[Telnet usage]])
* telnet interface - query and fly the plane on the command line or using a scripted session (see [[Telnet usage]])
* html interface - access the property tree using a conventional web browser like firefox/safari or chrome
* html interface - access the property tree using a conventional web browser like firefox/safari or chrome
* using the built in [[Property browser]]
* using other GUI dialogs
* using cockpit bindings
* using joystick bindings etc
So they can come from many places, thus there's no single source file where you'll find ALL properties/types. You will need to look at the corresponding subsystem/component. $FG_SRC/Network is the right pace to look for hardcoded protocols, make sure to also understand their inheritance (the interface being implemented).
For example, multiplayer mode is accomplished by exchanging sets of variables from the tree (height, position, speed, etc).
For example, multiplayer mode is accomplished by exchanging sets of variables from the tree (height, position, speed, etc).


Navigation menu