1
0
Fork 0
fgdata/Models/Geometry/Clemenceau/Clemenceau.xml
Richard Harrison 54165c213f Added Emesary and AN/SPN-46 ACLS
Emesary is a simple and efficient class based interobject communcation system to allow decoupled disparate parts of a system to function together without knowing about each. It allows decoupling and removal of dependencies by using notifications to cause actions or to query values.

Emesary is all about decoupling and removing dependecies, and improving the structure of code. Using Emesary you can more easily define the what rather than the how. By using what is essential an event driven system it is easy to add or remove modules, and also for extra modules to be inserted that the rest of the aircraft knows nothing about (e.g. FGCamera or the Walker).

see: http://chateau-logic.com/content/emesary-nasal-implementation-flightgear

The AN/SPN-46 is an ACLS implementation using Emesary. ACLS is the Navy's version of ILS.
2016-04-02 00:13:35 +02:00

433 lines
11 KiB
XML

<?xml version="1.0"?>
<!--
Copyright License: GPL
Usable with FlightGear
Property of Gerard Robin
but the Fresnel Lens Optical Landing System which is copied from the Nimitz Model
by Vivian Meazza
-->
<PropertyList>
<path>clem-superstructure.ac</path>
<nasal>
<load>
<![CDATA[
# add AN/SPN-46 see http://chateau-logic.com/content/emesary-nasal-implementation-flightgear
var self = cmdarg();
fn_an_spn_46 = getprop("/sim/fg-root") ~ "/Aircraft/Generic/an_spn_46.nas";
io.load_nasal(fn_an_spn_46, "an_spn_46");
var anspn = an_spn_46.ANSPN46_System.new("Clemenceau", self);
anspn.SetChannel(2);
var an_spn_46_timer = maketimer(6, func {
anspn.Update();
an_spn_46_timer.restart(anspn.GetUpdateRate());
});
an_spn_46_timer.restart(6);
]]>
</load>
<unload>
<![CDATA[
an_spn_46_timer.stop();
]]>
</unload>
</nasal>
<texture-path>Textures</texture-path>
<offsets>
<z-m>0</z-m>
</offsets>
<model>
<name>Wakes</name>
<path>Models/Geometry/Clemenceau/Models/Sillage.xml</path>
<offsets>
<x-m>0</x-m>
<y-m>0</y-m>
<z-m>0</z-m>
<heading-deg>0</heading-deg>
</offsets>
</model>
<model>
<object-name>Pont</object-name>
<path>Models/Geometry/Clemenceau/Pont.xml</path>
<offsets>
<x-m>0</x-m>
<y-m>0</y-m>
<z-m>0</z-m>
</offsets>
</model>
<model>
<object-name>Clock</object-name>
<path>Models/Geometry/Clemenceau/Clock.xml</path>
<offsets>
<x-m>-11.7275</x-m>
<y-m>10.6162</y-m>
<z-m>19.9938</z-m>
<heading-deg>45</heading-deg>
</offsets>
</model>
<model>
<name>Hull</name>
<path>Models/Geometry/Clemenceau/Hull.xml</path>
<offsets>
<x-m>0</x-m>
<y-m>0</y-m>
<z-m>0</z-m>
</offsets>
</model>
<model>
<name>Flols</name>
<path>Models/Geometry/Clemenceau/Models/flols.xml</path>
<offsets>
<x-m>25.9119</x-m>
<y-m>-29.5</y-m>
<z-m>14.7</z-m>
<heading-deg>8</heading-deg>
</offsets>
</model>
<model>
<name>Glide-path</name>
<path>Models/Geometry/Clemenceau/Models/glide-path.xml</path>
<offsets>
<x-m>4902.52</x-m>
<y-m>700.906</y-m>
<z-m>137.228</z-m>
<heading-deg>0</heading-deg>
</offsets>
</model>
<!--<model>
<path>Models/Geometry/Clemenceau/Models/Aircrafts/Alouette-III/Pedro.xml</path>
<offsets>
<x-m>-75.5149</x-m>
<y-m>9.29045</y-m>
<z-m>16.3118</z-m>
<heading-deg>0</heading-deg>
</offsets>
</model>-->
<model>
<path>Models/Geometry/Clemenceau/Tracteur.xml</path>
<offsets>
<x-m>-34.9154</x-m>
<y-m>9.92806</y-m>
<z-m>14.8311</z-m>
<heading-deg>180</heading-deg>
</offsets>
</model>
<model>
<path>Models/Geometry/Clemenceau/Tracteur.xml</path>
<offsets>
<x-m>-38.3693</x-m>
<y-m>9.92806</y-m>
<z-m>14.8311</z-m>
<heading-deg>0</heading-deg>
</offsets>
</model>
<model>
<path>Models/Geometry/Clemenceau/Tracteur.xml</path>
<offsets>
<x-m>-32.343</x-m>
<y-m>9.92806</y-m>
<z-m>14.8311</z-m>
<heading-deg>180</heading-deg>
</offsets>
</model>
<model>
<path>Models/Geometry/Clemenceau/Tracteur.xml</path>
<offsets>
<x-m>-27.2995</x-m>
<y-m>9.92806</y-m>
<z-m>14.8311</z-m>
<heading-deg>180</heading-deg>
</offsets>
</model>
<model>
<path>Models/Geometry/Clemenceau/Tracteur.xml</path>
<offsets>
<x-m>-48.6205</x-m>
<y-m>17.8154</y-m>
<z-m>14.8311</z-m>
<heading-deg>90</heading-deg>
</offsets>
</model>
<model>
<path>Models/Geometry/Clemenceau/Grue_pont.xml</path>
<offsets>
<x-m>-53.805</x-m>
<y-m>17.6369</y-m>
<z-m>16.4886</z-m>
<heading-deg>-45</heading-deg>
</offsets>
</model>
<animation>
<type>select</type>
<object-name>Glide-path</object-name>
<condition>
<equals>
<property>/ai/models/carrier[0]/controls/glide-path</property>
<value>true</value>
</equals>
</condition>
</animation>
<animation>
<condition>
<and>
<equals>
<property>/sim/model/carrier-jsbsim</property>
<value>1</value>
</equals>
<equals>
<property>/sim/carrier/name</property>
<value>Clemenceau</value>
</equals>
</and>
</condition>
<type>rotate</type>
<object-name>JBD-1</object-name>
<property>/surface-positions/jbd1-pos-norm</property>
<factor>70</factor>
<axis>
<x1-m>-61.8038</x1-m>
<y1-m>-4.90918</y1-m>
<z1-m>14.2877</z1-m>
<x2-m>-59.6654</x2-m>
<y2-m>-8.61296</y2-m>
<z2-m>14.2877</z2-m>
</axis>
</animation>
<animation>
<condition>
<not-equals>
<property>/sim/model/carrier-jsbsim</property>
<value>1</value>
</not-equals>
</condition>
<type>rotate</type>
<object-name>JBD-1</object-name>
<property>surface-positions/jbd-pos-norm</property>
<factor>70</factor>
<axis>
<x1-m>-61.8038</x1-m>
<y1-m>-4.90918</y1-m>
<z1-m>14.2877</z1-m>
<x2-m>-59.6654</x2-m>
<y2-m>-8.61296</y2-m>
<z2-m>14.2877</z2-m>
</axis>
</animation>
<animation>
<condition>
<and>
<equals>
<property>/sim/model/carrier-jsbsim</property>
<value>1</value>
</equals>
<equals>
<property>/sim/carrier/name</property>
<value>Clemenceau</value>
</equals>
</and>
</condition>
<type>rotate</type>
<object-name>JBD-2</object-name>
<property>/surface-positions/jbd2-pos-norm</property>
<factor>70</factor>
<axis>
<x1-m>37.4696</x1-m>
<y1-m>-15.5491</y1-m>
<z1-m>14.2803</z1-m>
<x2-m>39.8606</x2-m>
<y2-m>-19.0947</y2-m>
<z2-m>14.2803</z2-m>
</axis>
</animation>
<animation>
<condition>
<not-equals>
<property>/sim/model/carrier-jsbsim</property>
<value>1</value>
</not-equals>
</condition>
<type>rotate</type>
<object-name>JBD-2</object-name>
<property>surface-positions/jbd-pos-norm</property>
<factor>70</factor>
<axis>
<x1-m>37.4696</x1-m>
<y1-m>-15.5491</y1-m>
<z1-m>14.2803</z1-m>
<x2-m>39.8606</x2-m>
<y2-m>-19.0947</y2-m>
<z2-m>14.2803</z2-m>
</axis>
</animation>
<animation>
<type>translate</type>
<object-name>Ascenseur1</object-name>
<object-name>Ascenseur1-Marquage</object-name>
<property>surface-positions/elevators-pos-norm</property>
<factor>9.20</factor>
<axis>
<x>0</x>
<y>0</y>
<z>-1</z>
</axis>
</animation>
<animation>
<type>translate</type>
<object-name>Ascenseur2</object-name>
<object-name>Ascenseur2-Marquage</object-name>
<property>surface-positions/elevators-pos-norm</property>
<factor>9.20</factor>
<axis>
<x>0</x>
<y>0</y>
<z>1</z>
</axis>
</animation>
<animation>
<type>rotate</type>
<object-name>Radar-DRBI-10-avant</object-name>
<property>/sim/time/elapsed-sec</property>
<factor>40</factor>
<center>
<x-m>-32.3538</x-m>
<y-m>15.4584</y-m>
<z-m>0</z-m>
</center>
<axis>
<x>0</x>
<y>0</y>
<z>1</z>
</axis>
</animation>
<animation>
<type>rotate</type>
<object-name>Radar-DRBI-10-arriere</object-name>
<property>/sim/time/elapsed-sec</property>
<factor>40</factor>
<center>
<x-m>-5.0133</x-m>
<y-m>15.4584</y-m>
<z-m>0</z-m>
</center>
<axis>
<x>0</x>
<y>0</y>
<z>1</z>
</axis>
</animation>
<animation>
<type>rotate</type>
<object-name>Radar-DRBV23</object-name>
<property>/sim/time/elapsed-sec</property>
<factor>40</factor>
<center>
<x-m>-31.7287</x-m>
<y-m>15.4584</y-m>
<z-m>0</z-m>
</center>
<axis>
<x>0</x>
<y>0</y>
<z>1</z>
</axis>
</animation>
<animation>
<type>rotate</type>
<object-name>Radar-DRBV20</object-name>
<property>/sim/time/elapsed-sec</property>
<factor>40</factor>
<center>
<x-m>-19.589</x-m>
<y-m>15.4584</y-m>
<z-m>0</z-m>
</center>
<axis>
<x>0</x>
<y>0</y>
<z>1</z>
</axis>
</animation>
<animation>
<type>range</type>
<object-name>Ba-Canon1</object-name>
<max-m>5000</max-m>
</animation>
<animation>
<type>range</type>
<object-name>Ba-Canon2</object-name>
<max-m>5000</max-m>
</animation>
<animation>
<type>range</type>
<object-name>Tri-Canon1</object-name>
<max-m>5000</max-m>
</animation>
<animation>
<type>range</type>
<object-name>Tri-Canon2</object-name>
<max-m>5000</max-m>
</animation>
<animation>
<type>range</type>
<object-name>Grue</object-name>
<max-m>5000</max-m>
</animation>
<animation>
<type>range</type>
<object-name>Tux</object-name>
<max-m>200</max-m>
</animation>
<animation>
<type>range</type>
<object-name>JBD-2</object-name>
<max-m>5000</max-m>
</animation>
<animation>
<type>range</type>
<object-name>JBD-1</object-name>
<max-m>5000</max-m>
</animation>
<animation>
<type>range</type>
<object-name>Sous-pont</object-name>
<max-m>2000</max-m>
</animation>
<!--<animation>
<type>range</type>
<object-name></object-name>
<max-m></max-m>
</animation>-->
<animation>
<type>interaction</type>
<object-name>cat-1</object-name>
<object-name>cat-2</object-name>
<interaction-type>carrier-catapult</interaction-type>
</animation>
<animation>
<type>interaction</type>
<object-name>brin-1</object-name>
<object-name>brin-2</object-name>
<object-name>brin-3</object-name>
<object-name>brin-4</object-name>
<interaction-type>carrier-wire</interaction-type>
</animation>
</PropertyList>