Merge commit 'refs/merge-requests/74' of git://gitorious.org/fg/fgdata into merge...
[fg:fgdata.git] / HLA / mp-aircraft.xml
1 <?xml version="1.0"?>
2 <hlaConfiguration version="1">
3   <!-- This is the top level HLA configuration file for use with the
4        multiplayer federation. This serves now as first demo how to configure
5        flightgears hla implementation.
6        This toplevel file consists of startup parameters for the rti,
7        the federate object model to use on create and a way to map the hla
8        attribute values to a semantic meaning or flightgear properties.
9     -->
10
11   <rti version="RTI13">
12     <!-- is ignored for RTI13 anyway, so the example here ... -->
13     <argument>rtiarg0</argument>
14     <argument>rtiarg1</argument>
15   </rti>
16
17   <!-- Contains the data layout and the object classes -->
18   <federateObjectModel name="mp-aircraft-fom.xml"/>
19
20   <objects>
21     <objectClass type="Multiplayer" name="MPAircraft">
22
23       <model type="native">
24         <dataElement type="model-path" name="model.path"/>
25       </model>
26
27       <!-- Should contain all those attributes that form the position and orientation of the aircraft in total -->
28       <position type="cartesian">
29         <!-- These are the positions in the earth centered coordinate system. -->
30         <dataElement type="position-x" name="location.position[0]"/>
31         <dataElement type="position-y" name="location.position[1]"/>
32         <dataElement type="position-z" name="location.position[2]"/>
33         <!-- A very compact and lossless representation of a quaternion wrt the earth centered coordinate system. -->
34         <dataElement type="orientation-sin-angle-axis-x" name="location.orientation[0]"/>
35         <dataElement type="orientation-sin-angle-axis-y" name="location.orientation[1]"/>
36         <dataElement type="orientation-sin-angle-axis-z" name="location.orientation[2]"/>
37
38         <!-- The body velocities in the usual x-fwd, z-down, righthandside body coordinate system. -->
39         <dataElement type="linear-velocity-x" name="velocity.linear[0]"/>
40         <dataElement type="linear-velocity-y" name="velocity.linear[1]"/>
41         <dataElement type="linear-velocity-z" name="velocity.linear[2]"/>
42         <dataElement type="angular-velocity-x" name="velocity.angular[0]"/>
43         <dataElement type="angular-velocity-y" name="velocity.angular[1]"/>
44         <dataElement type="angular-velocity-z" name="velocity.angular[2]"/>
45       </position>
46
47       <simTime type="attribute">
48         <dataElement type="local-simtime" name="simTime"/>
49       </simTime>
50
51       <!-- the attribute that carries the big blob of multiplayer attributes.
52            This datatype is tightly coupled with the implementation for now.
53            It is done in this way to provide the same feature set for the
54            multiplayer object like the existing multiplayer protocol.
55            In the long term, think more about the content of this blob and
56            sensibly distribute that across different datatypes and attributes.
57       -->
58       <mpProperties name="mpProperties"/>
59
60       <dataElement type="property" name="model.livery" in="sim/model/livery/file" out="sim/model/livery/file"/>
61
62     </objectClass>
63   </objects>
64 </hlaConfiguration>