1
0
Fork 0
fgdata/Aircraft/c172p/Models/Interior/Panel/Instruments/dme/ki266.xml
2021-09-14 19:34:27 +01:00

568 lines
17 KiB
XML

<?xml version="1.0"?>
<!--
This is the ki266 3d instrument.
Modeled after King KI266 DME Indicator
This instrument needs the file
Aircraft/Instruments-3d/ki266/ki266.nas
to be included in your -set.xml nasal section
like this:
<nasal>
<YourAircraft>
<file>Aircraft/Instruments-3d/ki266/ki266.nas</file>
</YourAircraft>
</nasal>
and at least one instance of the ki266 class to be created
in your aircraft nasal code like this:
ki266.new(0); # for your first dme at /instrumentation/dme[0]
ki266.new(1); # if you have another at /instrumentation/dme[1]
Maintainer: Torsten Dreyer
-->
<PropertyList>
<params>
<in-range>instrumentation/dme[0]/in-range</in-range>
<right-display>instrumentation/dme[0]/min-kts-display</right-display>
<left-display>instrumentation/dme[0]/miles-display</left-display>
<left-display-dot>instrumentation/dme[0]/left-dot</left-display-dot>
<power-btn>instrumentation/dme[0]/power-btn</power-btn>
<serviceable>instrumentation/dme[0]/serviceable</serviceable>
<dimming>instrumentation/dme[0]/dimming-norm</dimming>
<min-kts>instrumentation/dme[0]/switch-min-kts</min-kts>
<electrical>systems/electrical/outputs/dme</electrical>
</params>
<path>ki266.ac</path>
<effect>
<inherits-from>../../../../Effects/interior/c172p-interior</inherits-from>
<object-name>Indicators</object-name>
<object-name>Miles</object-name>
<object-name>Min</object-name>
<object-name>Kts</object-name>
<object-name>Left.Dot1</object-name>
<object-name>Left.100</object-name>
<object-name>Left.10</object-name>
<object-name>Left.1</object-name>
<object-name>Right.100</object-name>
<object-name>Right.10</object-name>
<object-name>Right.1</object-name>
</effect>
<effect>
<inherits-from>../../../../Effects/interior/lm-ki266</inherits-from>
<object-name>SourceSelectorKnob</object-name>
<object-name>PowerSwitch.Lever</object-name>
<object-name>on</object-name>
<object-name>off</object-name>
<object-name>Label3</object-name>
<object-name>n1</object-name>
<object-name>hld</object-name>
<object-name>n2</object-name>
<object-name>PowerSwitch.Base</object-name>
<object-name>Background</object-name>
<object-name>ModeSwitch</object-name>
<object-name>Frame</object-name>
<object-name>base</object-name>
</effect>
<!-- Turn it off, when u/s or switched off -->
<animation>
<type>select</type>
<object-name>Indicators</object-name>
<condition>
<property>/sim/model/c172p/lighting/dme-power</property>
</condition>
</animation>
<animation>
<type>material</type>
<object-name>Indicators</object-name>
<condition>
<and>
<not>
<property>sim/rendering/rembrandt/enabled</property>
</not>
<greater-than>
<property>/sim/model/c172p/lighting/dme</property>
<value>0.0</value>
</greater-than>
</and>
</condition>
<emission>
<red>1.0</red>
<green>1.0</green>
<blue>1.0</blue>
<factor-prop>/sim/model/c172p/lighting/dme</factor-prop>
</emission>
</animation>
<animation>
<type>material</type>
<object-name>ModeSwitch</object-name>
<emission>
<red>0.5</red>
<green>0.1</green>
<blue>0.00005</blue>
<factor-prop>/sim/model/c172p/lighting/dme</factor-prop>
</emission>
</animation>
<animation>
<type>material</type>
<object-name>Indicators</object-name>
<emission>
<red>-1.0</red>
<green>-1.0</green>
<blue>-1.0</blue>
<factor-prop alias="../../../params/dimming"/>
<offset>1</offset>
</emission>
</animation>
<!-- The mode switch do display min/kts -->
<animation>
<type>select</type>
<object-name>Min</object-name>
<condition>
<not>
<property alias="../../../../params/min-kts"/>
</not>
</condition>
</animation>
<animation>
<type>select</type>
<object-name>Kts</object-name>
<condition>
<property alias="../../../params/min-kts"/>
</condition>
</animation>
<animation>
<type>translate</type>
<object-name>ModeSwitch</object-name>
<factor>-0.003</factor>
<property alias="../../params/min-kts"/>
<axis>
<x>1.0</x>
<y>0.0</y>
<z>0.0</z>
</axis>
</animation>
<animation>
<type>pick</type>
<object-name>ModeSwitch</object-name>
<visible>true</visible>
<action>
<button>0</button>
<repeatable>false</repeatable>
<binding>
<command>property-toggle</command>
<property alias="../../../../params/min-kts"/>
</binding>
<binding>
<command>nasal</command>
<script>c172p.click("dme-mode")</script>
</binding>
</action>
<hovered>
<binding>
<command>set-tooltip</command>
<tooltip-id>min-kts</tooltip-id>
<label>Mode: %s</label>
<property alias="../../../../params/min-kts"/>
<mapping>nasal</mapping>
<script>
var m = arg[0];
if (m) return 'KTS';
return 'MIN';
</script>
</binding>
</hovered>
</animation>
<!-- Distance display, allways on.
Shows nn.n when distance is less than 100NM and
shows nnn when distance is greater than or equal to 100NM
-->
<animation>
<name>LeftDecimalDot</name>
<type>select</type>
<object-name>Left.Dot1</object-name>
<condition>
<property alias="../../../params/left-display-dot"/>
</condition>
</animation>
<!-- Blank leading zeros -->
<animation>
<name>miles_100_blank</name>
<type>select</type>
<object-name>Left.100</object-name>
<condition>
<greater-than-equals>
<property alias="../../../../params/left-display"/>
<value>100.0</value>
</greater-than-equals>
</condition>
</animation>
<animation>
<name>miles_10_blank</name>
<type>select</type>
<object-name>Left.10</object-name>
<condition>
<or>
<greater-than-equals>
<property alias="../../../../../params/left-display"/>
<value>10.0</value>
</greater-than-equals>
<and>
<property alias="../../../../../params/left-display-dot"/>
<greater-than-equals>
<property alias="../../../../../../params/left-display"/>
<value>1.0</value>
</greater-than-equals>
</and>
</or>
</condition>
</animation>
<animation>
<name>miles_1_blank</name>
<type>select</type>
<object-name>Left.1</object-name>
<condition>
<greater-than-equals>
<property alias="../../../../params/left-display"/>
<value>1.0</value>
</greater-than-equals>
</condition>
</animation>
<!-- Left display, left digit -->
<animation>
<name>miles_100_lo</name>
<type>textranslate</type>
<object-name>Left.100</object-name>
<property alias="../../params/left-display"/>
<step>100</step>
<factor>0.001</factor>
<axis>
<x>1</x>
<y>0</y>
<z>0</z>
</axis>
</animation>
<!-- Left display, center digit -->
<animation>
<name>miles_10_lo</name>
<type>textranslate</type>
<object-name>Left.10</object-name>
<property alias="../../params/left-display"/>
<step>10</step>
<factor>0.01</factor>
<axis>
<x>1</x>
<y>0</y>
<z>0</z>
</axis>
</animation>
<!-- Left display, right digit -->
<animation>
<name>miles_1_lo</name>
<type>textranslate</type>
<object-name>Left.1</object-name>
<property alias="../../params/left-display"/>
<step>1</step>
<factor>0.1</factor>
<axis>
<x>1</x>
<y>0</y>
<z>0</z>
</axis>
</animation>
<!--
Right display, showing either kts or min, handled by dme.nas
-->
<animation>
<condition>
<greater-than-equals>
<property alias="../../../../params/right-display"/>
<value>100</value>
</greater-than-equals>
</condition>
<name>kts_100_select</name>
<type>select</type>
<object-name>Right.100</object-name>
</animation>
<animation>
<condition>
<greater-than-equals>
<property alias="../../../../params/right-display"/>
<value>10</value>
</greater-than-equals>
</condition>
<name>kts_10_select</name>
<type>select</type>
<object-name>Right.10</object-name>
</animation>
<animation>
<condition>
<property alias="../../../params/in-range"/>
</condition>
<name>kts_1_select</name>
<type>select</type>
<object-name>Right.1</object-name>
</animation>
<animation>
<name>kts_100</name>
<type>textranslate</type>
<object-name>Right.100</object-name>
<property alias="../../params/right-display"/>
<step>100</step>
<factor>0.001</factor>
<axis>
<x>1</x>
<y>0</y>
<z>0</z>
</axis>
</animation>
<animation>
<name>kts_10</name>
<type>textranslate</type>
<object-name>Right.10</object-name>
<property alias="../../params/right-display"/>
<step>10</step>
<factor>0.01</factor>
<axis>
<x>1</x>
<y>0</y>
<z>0</z>
</axis>
</animation>
<animation>
<name>kts_1</name>
<type>textranslate</type>
<object-name>Right.1</object-name>
<property alias="../../params/right-display"/>
<step>1</step>
<factor>0.1</factor>
<axis>
<x>1</x>
<y>0</y>
<z>0</z>
</axis>
</animation>
<!-- DME -->
<!-- The power switch -->
<animation>
<type>rotate</type>
<object-name>PowerSwitch.Lever</object-name>
<property alias="../../params/power-btn"/>
<factor>-60</factor>
<axis>
<x>0</x>
<y>1</y>
<z>0</z>
</axis>
<center>
<x-m>-0.35496</x-m>
<y-m> 0.08087</y-m>
<z-m>-0.05437</z-m>
</center>
</animation>
<animation>
<type>pick</type>
<object-name>PowerSwitch</object-name>
<visible>true</visible>
<action>
<button>0</button>
<repeatable>false</repeatable>
<binding>
<command>property-toggle</command>
<property alias="../../../../params/power-btn"/>
</binding>
<binding>
<command>nasal</command>
<script>c172p.click("dme-power")</script>
</binding>
</action>
<hovered>
<binding>
<command>set-tooltip</command>
<tooltip-id>power-btn</tooltip-id>
<label>DME: %s</label>
<property alias="../../../../params/power-btn"/>
<mapping>nasal</mapping>
<script>
if(arg[0]) return 'ON';
return 'OFF';
</script>
</binding>
</hovered>
</animation>
<!-- The source switch -->
<animation>
<type>knob</type>
<object-name>SourceSelectorKnob</object-name>
<property>instrumentation/dme/switch-position</property>
<factor>-30</factor>
<min-deg>-60</min-deg>
<max-deg>0</max-deg>
<offset-deg>30</offset-deg>
<axis>
<x>1</x>
<y>0</y>
<z>0</z>
</axis>
<center>
<x-m>-0.35558</x-m>
<y-m> 0.05483</y-m>
<z-m>-0.05527</z-m>
</center>
<action>
<binding>
<command>property-adjust</command>
<property>instrumentation/dme/switch-position</property>
<factor>1</factor>
<min>1</min>
<max>3</max>
<wrap>0</wrap>
</binding>
<binding>
<condition>
<equals>
<property>instrumentation/dme/switch-position</property>
<value type="int">1</value>
</equals>
</condition>
<command>property-assign</command>
<property>instrumentation/dme/frequencies/source</property>
<value>instrumentation/nav[0]/frequencies/selected-mhz</value>
</binding>
<binding>
<condition>
<equals>
<property>instrumentation/dme/switch-position</property>
<value type="int">2</value>
</equals>
</condition>
<command>property-assign</command>
<property>instrumentation/dme/frequencies/source</property>
<value>instrumentation/dme/frequencies/selected-mhz</value>
</binding>
<binding>
<condition>
<equals>
<property>instrumentation/dme/switch-position</property>
<value type="int">3</value>
</equals>
</condition>
<command>property-assign</command>
<property>instrumentation/dme/frequencies/source</property>
<value>instrumentation/nav[1]/frequencies/selected-mhz</value>
</binding>
<binding>
<command>nasal</command>
<script>c172p.click("dme-source")</script>
</binding>
</action>
<hovered>
<binding>
<command>set-tooltip</command>
<tooltip-id>source-switch</tooltip-id>
<label>DME Source: %s</label>
<property>instrumentation/dme/switch-position</property>
<mapping>nasal</mapping>
<script>
var m = arg[0];
if (m == 1) return 'NAV1';
if (m == 3) return 'NAV2';
return 'HOLD';
</script>
</binding>
</hovered>
</animation>
<animation>
<type>material</type>
<object-name>SourceSelectorKnob</object-name>
<object-name>PowerSwitch.Lever</object-name>
<object-name>on</object-name>
<object-name>off</object-name>
<object-name>Label3</object-name>
<object-name>n1</object-name>
<object-name>hld</object-name>
<object-name>n2</object-name>
<object-name>PowerSwitch.Base</object-name>
<object-name>Background</object-name>
<object-name>ModeSwitch</object-name>
<object-name>Frame</object-name>
<object-name>base</object-name>
<condition>
<or>
<not>
<property>/sim/rendering/shaders/skydome</property>
</not>
<equals>
<property>/sim/rendering/shaders/model</property>
<value>0</value>
</equals>
</or>
</condition>
<emission>
<red-prop>/sim/model/c172p/lighting/rgb-ra-r-factor</red-prop>
<green-prop>/sim/model/c172p/lighting/rgb-ra-g-factor</green-prop>
<blue-prop>/sim/model/c172p/lighting/rgb-ra-b-factor</blue-prop>
</emission>
</animation>
<animation>
<type>material</type>
<object-name>SourceSelectorKnob</object-name>
<object-name>PowerSwitch.Lever</object-name>
<object-name>on</object-name>
<object-name>off</object-name>
<object-name>Label3</object-name>
<object-name>n1</object-name>
<object-name>hld</object-name>
<object-name>n2</object-name>
<object-name>PowerSwitch.Base</object-name>
<condition>
<or>
<not>
<property>/sim/rendering/shaders/skydome</property>
</not>
<equals>
<property>/sim/rendering/shaders/model</property>
<value>0</value>
</equals>
</or>
</condition>
<emission>
<red-prop>/sim/model/material/instruments/default-red-combined-factor</red-prop>
<green-prop>/sim/model/material/instruments/default-green-combined-factor</green-prop>
<blue-prop>/sim/model/material/instruments/default-blue-combined-factor</blue-prop>
</emission>
</animation>
</PropertyList>