]> git.mxchange.org Git - flightgear.git/commitdiff
Add some introduction documentation.
authorehofman <ehofman>
Mon, 12 Jul 2004 12:11:07 +0000 (12:11 +0000)
committerehofman <ehofman>
Mon, 12 Jul 2004 12:11:07 +0000 (12:11 +0000)
docs-mini/README.introduction [new file with mode: 0644]

diff --git a/docs-mini/README.introduction b/docs-mini/README.introduction
new file mode 100644 (file)
index 0000000..0bdaaae
--- /dev/null
@@ -0,0 +1,54 @@
+
+Internals
+---------
+
+The core of FlightGear is the property system. This is a tree like internal
+representation of global variables. The property system is explained more
+in detail later on.
+
+FlightGear' way of doing things is breaking it up into small pieces. There is
+(for example) animation code that reacts on property changes. There is also a
+Flight Dynamics model (FDM) that (amongst other things) updates properties.
+There is a menu system that can display and alter properties. Then we have
+sound code that plays sound based on ... properties.
+
+Maybe you see a pattern evolve by now.
+
+All subsystems are almost self containing. Most of the time they only read the
+values of some properties, and sometimes they alter other properties. This is
+the basic way of communicating between subsystems.
+
+
+Property System
+---------------
+
+The property system is best described as an in-memory LDAP database which holds
+the state of global variables. The system has a tree like hierarchy (like a
+file system) and has a root node, sub nodes (like subdirectories) and end-nodes
+(variables).
+
+All variables are kept internally as raw values and can be converted to any
+other supported type (boolean, int, float double and string).
+
+Like a file system, every node can be accessed relative to the current node, or
+absolute to the root node.
+
+The property system also allows aliasing nodes to other nodes (like symbolic
+linking files or directories to other files or directories) and may be assigned
+read-only or read-write.
+
+If necessary it would be possible for parts of the program to hold it's own
+property tree, which is inaccessible from the global property tree, by keeping
+track of it's own root-node.
+
+Property I/O code allows one to easily read the tree from, or write the tree to
+an XML file.
+
+
+Scripting
+---------
+
+The scripting langage Nasal can also read and modify properties but it can also
+be incorporated into the menu system. The documentation for Nasal can be found
+here:  http://www.plausible.org/nasal/flightgear.html
+