1 |
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "https://www.web3d.org/specifications/x3d-3.0.dtd">
|
3 | <X3D profile='Immersive' version='3.0' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.0.xsd'> |
4 | <head> |
5 | <meta name='title' content=' HeloHanger.x3d '/> |
6 | <meta name='description' content='Initial DDG-51 Flight IIA'/> |
7 | <meta name='creator' content='LT Joe Sears, USN'/> |
8 | <meta name='created' content='8 August 2003'/> |
9 | <meta name='modified' content='20 October 2019'/> |
10 | <meta name='identifier' content=' https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/DDG51FlightIIaUnitedStates/HeloHanger.x3d '/> |
11 | <meta name='reference' content='http://combatindex.com/store/3d'/> |
12 | <meta name='drawing' content=' https://www.fas.org/man/dod-101/sys/ship/ddg-51.htm '/> |
13 | <meta name='generator' content='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit'/> |
14 | <meta name='license' content='../../license.html'/> |
15 | </head> |
16 | <Scene> |
17 | <WorldInfo title='HeloHanger.x3d'/> |
18 | <Viewpoint description='STBD side' orientation='-0.059 0.997 0.057 1.3894' position='45.9 7.4 -14.1'/> |
19 | <Viewpoint description='Flight Deck Aft' orientation='-0.999 0.016 0.037 0.1347' position='0 5.4 16.8'/> |
20 | <Viewpoint description='Flight Deck Look Down' orientation='0.009 0.707 0.707 3.1336' position='-0.1 60.6 -24.1'/> |
21 | <Group DEF='HeloHangerFacilities'> |
22 | <Transform DEF='HeloHanger'> |
23 | <Group DEF='DeckAssembly'> |
24 | <Transform DEF='Deck'> |
25 | <Shape> |
26 | <Extrusion creaseAngle='.85' crossSection='-9.352 0 9.352 0 9.352 -.01 -9.352 -.01 -9.352 0' scale='.666 .0001 .68 1 1 1 1 1' spine='0 0 0 0 0 -1 0 0 -23 0 0 -45'/> |
27 | <Appearance> |
28 |
<!-- ImageTexture
NONSKID is a DEF node that has 1 USE node: USE_1 --> <ImageTexture DEF='NONSKID' url=' "nonskid.jpg ![]() ![]() |
29 | </Appearance> |
30 | </Shape> |
31 | </Transform> |
32 | <Transform DEF='PortSideRastTrack' translation='-6 .1 -5'> |
33 | <Shape> |
34 | <Extrusion creaseAngle='3' crossSection='-.25 0 .25 0 .25 .05 -.25 .05 -.25 0' scale='1 1 1 1 1 1 1 1' spine='6 0 2 1 0 -13 0 0 -18 0 0 -34'/> |
35 | |
36 | <Material specularColor='.4 .4 .4'/> |
37 | </Appearance> |
38 | </Shape> |
39 | </Transform> |
40 | <Transform DEF='StarboardSideRastTrack' translation='6 .1 -5'> |
41 | <Shape> |
42 | <Appearance USE='HazeGray'/> |
43 | <Extrusion creaseAngle='3' crossSection='-.25 0 .25 0 .25 .05 -.25 .05 -.25 0' scale='1 1 1 1 1 1 1 1' spine='-6 0 2 -1 0 -13 0 0 -18 0 0 -34'/> |
44 | </Shape> |
45 | </Transform> |
46 | <Group DEF='StarboardRast'> |
47 |
<!-- ROUTE information for StarboardSideRast node:
[from STBDRASTPathInterpolatorOut.value_changed to translation
]
[from STBDRastOrientationInterpolatorOut.value_changed to set_rotation
]
[from STBDRASTPathInterpolatorIn.value_changed to translation
]
[from STBDRastOrientationInterpolatorIn.value_changed to set_rotation
]
-->
<Transform DEF='StarboardSideRast' translation='6 .25 -39'> |
48 | <Shape> |
49 | <Appearance> |
50 | <Material emissiveColor='0.20 0.20 0.20'/> |
51 | </Appearance> |
52 | <Box size='1 .25 2'/> |
53 | </Shape> |
54 |
<!-- ROUTE information for RastChoice node:
[from RastOut.triggerValue to whichChoice
]
[from RastIn.triggerValue to whichChoice
]
-->
<Switch DEF='RastChoice' whichChoice='0'> |
55 | <Group DEF='Out'> |
56 |
<!-- Shape
STBDRastTouchSensor1 is a DEF node that has 1 USE node: USE_1 -->
<Shape DEF='STBDRastTouchSensor1'> |
57 | <Appearance> |
58 | |
59 | </Appearance> |
60 | <Sphere/> |
61 | </Shape> |
62 |
<!-- ROUTE information for STBDRastTouchSensorOut node:
[from touchTime to STBDRASTClockOut.set_startTime
]
[from isActive to RastOut.set_boolean
]
-->
<TouchSensor DEF='STBDRastTouchSensorOut' description='CickToMove RastOut'/> |
63 |
<!-- ROUTE information for STBDRASTPathInterpolatorOut node:
[from STBDRASTClockOut.fraction_changed to set_fraction
]
[from value_changed to StarboardSideRast.translation
]
-->
<PositionInterpolator DEF='STBDRASTPathInterpolatorOut' key='0 .33 .66 1' keyValue='6 .25 -39 6 .25 -23 5 .25 -18 2 .25 -9'/> |
64 |
<!-- ROUTE information for STBDRastOrientationInterpolatorOut node:
[from STBDRASTClockOut.fraction_changed to set_fraction
]
[from value_changed to StarboardSideRast.set_rotation
]
-->
<OrientationInterpolator DEF='STBDRastOrientationInterpolatorOut' key='0 .28 .35 1' keyValue='0 0 0 0 0 0 0 0 0 1 0 -.15 0 1 0 -.33'/> |
65 |
<!-- ROUTE information for STBDRASTClockOut node:
[from STBDRastTouchSensorOut.touchTime to set_startTime
]
[from fraction_changed to STBDRASTPathInterpolatorOut.set_fraction
]
[from fraction_changed to STBDRastOrientationInterpolatorOut.set_fraction
]
-->
<TimeSensor DEF='STBDRASTClockOut' cycleInterval='3'/> |
66 | < ROUTE fromNode='STBDRASTClockOut' fromField='fraction_changed' toNode='STBDRASTPathInterpolatorOut' toField='set_fraction'/> |
67 | < ROUTE fromNode='STBDRASTClockOut' fromField='fraction_changed' toNode='STBDRastOrientationInterpolatorOut' toField='set_fraction'/> |
68 | < ROUTE fromNode='STBDRASTPathInterpolatorOut' fromField='value_changed' toNode='StarboardSideRast' toField='translation'/> |
69 | < ROUTE fromNode='STBDRastOrientationInterpolatorOut' fromField='value_changed' toNode='StarboardSideRast' toField='set_rotation'/> |
70 | < ROUTE fromNode='STBDRastTouchSensorOut' fromField='touchTime' toNode='STBDRASTClockOut' toField='set_startTime'/> |
71 | </Group> |
72 | <Group DEF='In'> |
73 | <Shape USE='STBDRastTouchSensor1'/> |
74 |
<!-- ROUTE information for STBDRastTouchSensorIn node:
[from touchTime to STBDRASTClockIn.set_startTime
]
[from touchTime to STBDRASTClockIn.set_stopTime
]
[from isActive to RastIn.set_boolean
]
-->
<TouchSensor DEF='STBDRastTouchSensorIn' description='ClickToMoveRastIn'/> |
75 |
<!-- ROUTE information for STBDRASTPathInterpolatorIn node:
[from STBDRASTClockIn.fraction_changed to set_fraction
]
[from value_changed to StarboardSideRast.translation
]
-->
<PositionInterpolator DEF='STBDRASTPathInterpolatorIn' key='0 .33 .66 1' keyValue='2 .25 -9 5 .25 -18 6 .25 -23 6 .25 -39'/> |
76 |
<!-- ROUTE information for STBDRastOrientationInterpolatorIn node:
[from STBDRASTClockIn.fraction_changed to set_fraction
]
[from value_changed to StarboardSideRast.set_rotation
]
-->
<OrientationInterpolator DEF='STBDRastOrientationInterpolatorIn' key='0 .8 .8 1' keyValue='0 1 0 -.33 0 1 0 -.15 0 0 0 0 0 0 0 0'/> |
77 |
<!-- ROUTE information for STBDRASTClockIn node:
[from STBDRastTouchSensorIn.touchTime to set_startTime
]
[from STBDRastTouchSensorIn.touchTime to set_stopTime
]
[from fraction_changed to STBDRASTPathInterpolatorIn.set_fraction
]
[from fraction_changed to STBDRastOrientationInterpolatorIn.set_fraction
]
-->
<TimeSensor DEF='STBDRASTClockIn' cycleInterval='3'/> |
78 | < ROUTE fromNode='STBDRASTClockIn' fromField='fraction_changed' toNode='STBDRASTPathInterpolatorIn' toField='set_fraction'/> |
79 | < ROUTE fromNode='STBDRASTClockIn' fromField='fraction_changed' toNode='STBDRastOrientationInterpolatorIn' toField='set_fraction'/> |
80 | < ROUTE fromNode='STBDRASTPathInterpolatorIn' fromField='value_changed' toNode='StarboardSideRast' toField='translation'/> |
81 | < ROUTE fromNode='STBDRastOrientationInterpolatorIn' fromField='value_changed' toNode='StarboardSideRast' toField='set_rotation'/> |
82 | < ROUTE fromNode='STBDRastTouchSensorIn' fromField='touchTime' toNode='STBDRASTClockIn' toField='set_startTime'/> |
83 | < ROUTE fromNode='STBDRastTouchSensorIn' fromField='touchTime' toNode='STBDRASTClockIn' toField='set_stopTime'/> |
84 | </Group> |
85 | </Switch> |
86 | </Transform> |
87 | <Group DEF='STBDRastAnimationControl'> |
88 |
<!-- ROUTE information for RastIn node:
[from STBDRastTouchSensorIn.isActive to set_boolean
]
[from triggerValue to RastChoice.whichChoice
]
-->
<IntegerTrigger DEF='RastIn' integerKey='0'/> |
89 |
<!-- ROUTE information for RastOut node:
[from STBDRastTouchSensorOut.isActive to set_boolean
]
[from triggerValue to RastChoice.whichChoice
]
-->
<IntegerTrigger DEF='RastOut' integerKey='1'/> |
90 | < ROUTE fromNode='STBDRastTouchSensorOut' fromField='isActive' toNode='RastOut' toField='set_boolean'/> |
91 | < ROUTE fromNode='STBDRastTouchSensorIn' fromField='isActive' toNode='RastIn' toField='set_boolean'/> |
92 | < ROUTE fromNode='RastOut' fromField='triggerValue' toNode='RastChoice' toField='whichChoice'/> |
93 | < ROUTE fromNode='RastIn' fromField='triggerValue' toNode='RastChoice' toField='whichChoice'/> |
94 | </Group> |
95 | </Group> |
96 | <Group DEF='PortRast'> |
97 |
<!-- ROUTE information for PortSideRast node:
[from PortRASTPathInterpolatorOut.value_changed to translation
]
[from PortRastOrientationInterpolatorOut.value_changed to set_rotation
]
[from PortRASTPathInterpolatorIn.value_changed to translation
]
[from PortRastOrientationInterpolatorIn.value_changed to set_rotation
]
-->
<Transform DEF='PortSideRast' translation='-6 .25 -39'> |
98 | <Shape> |
99 | <Appearance> |
100 | <Material emissiveColor='0.20 0.20 0.20'/> |
101 | </Appearance> |
102 | <Box size='1 .25 2'/> |
103 | </Shape> |
104 | <Transform rotation='0 1 0 1.57' scale='1.8 1.8 1.8' translation='0 .9 0'> |
105 | <Inline url=' "SH60SeahawkMaintenance.x3d" "https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/DDG51FlightIIaUnitedStates/SH60SeahawkMaintenance.x3d" "SH60SeahawkMaintenance.wrl" "https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/DDG51FlightIIaUnitedStates/SH60SeahawkMaintenance.wrl" '/> |
106 | </Transform> |
107 |
<!-- ROUTE information for PortRastChoice node:
[from PortRastOut.triggerValue to whichChoice
]
[from PortRastIn.triggerValue to whichChoice
]
-->
<Switch DEF='PortRastChoice' whichChoice='0'> |
108 | <Group DEF='PortOut'> |
109 |
<!-- Shape
PortRastTouchSensor1 is a DEF node that has 1 USE node: USE_1 -->
<Shape DEF='PortRastTouchSensor1'> |
110 | <Appearance> |
111 | <Material USE='Transparent'/> |
112 | </Appearance> |
113 | <Box size='4 6 15'/> |
114 | </Shape> |
115 |
<!-- ROUTE information for PortRastTouchSensorOut node:
[from touchTime to PortRASTClockOut.set_startTime
]
[from isActive to PortRastOut.set_boolean
]
-->
<TouchSensor DEF='PortRastTouchSensorOut' description='CickToMove RastOut'/> |
116 |
<!-- ROUTE information for PortRASTPathInterpolatorOut node:
[from PortRASTClockOut.fraction_changed to set_fraction
]
[from value_changed to PortSideRast.translation
]
-->
<PositionInterpolator DEF='PortRASTPathInterpolatorOut' key='0 .33 .66 1' keyValue='-6 .25 -39 -6 .25 -23 -5 .25 -18 -2 .25 -9'/> |
117 |
<!-- ROUTE information for PortRastOrientationInterpolatorOut node:
[from PortRASTClockOut.fraction_changed to set_fraction
]
[from value_changed to PortSideRast.set_rotation
]
-->
<OrientationInterpolator DEF='PortRastOrientationInterpolatorOut' key='0 .28 .35 1' keyValue='0 0 0 0 0 0 0 0 0 1 0 .15 0 1 0 .33'/> |
118 |
<!-- ROUTE information for PortRASTClockOut node:
[from PortRastTouchSensorOut.touchTime to set_startTime
]
[from fraction_changed to PortRASTPathInterpolatorOut.set_fraction
]
[from fraction_changed to PortRastOrientationInterpolatorOut.set_fraction
]
-->
<TimeSensor DEF='PortRASTClockOut' cycleInterval='3'/> |
119 | < ROUTE fromNode='PortRASTClockOut' fromField='fraction_changed' toNode='PortRASTPathInterpolatorOut' toField='set_fraction'/> |
120 | < ROUTE fromNode='PortRASTClockOut' fromField='fraction_changed' toNode='PortRastOrientationInterpolatorOut' toField='set_fraction'/> |
121 | < ROUTE fromNode='PortRASTPathInterpolatorOut' fromField='value_changed' toNode='PortSideRast' toField='translation'/> |
122 | < ROUTE fromNode='PortRastOrientationInterpolatorOut' fromField='value_changed' toNode='PortSideRast' toField='set_rotation'/> |
123 | < ROUTE fromNode='PortRastTouchSensorOut' fromField='touchTime' toNode='PortRASTClockOut' toField='set_startTime'/> |
124 | </Group> |
125 | <Group DEF='PortIn'> |
126 | <Shape USE='PortRastTouchSensor1'/> |
127 |
<!-- ROUTE information for PortRastTouchSensorIn node:
[from touchTime to PortRASTClockIn.set_startTime
]
[from touchTime to PortRASTClockIn.set_stopTime
]
[from isActive to PortRastIn.set_boolean
]
-->
<TouchSensor DEF='PortRastTouchSensorIn' description='ClickToMoveRastIn'/> |
128 |
<!-- ROUTE information for PortRASTPathInterpolatorIn node:
[from PortRASTClockIn.fraction_changed to set_fraction
]
[from value_changed to PortSideRast.translation
]
-->
<PositionInterpolator DEF='PortRASTPathInterpolatorIn' key='0 .33 .66 1' keyValue='-2 .25 -9 -5 .25 -18 -6 .25 -23 -6 .25 -39'/> |
129 |
<!-- ROUTE information for PortRastOrientationInterpolatorIn node:
[from PortRASTClockIn.fraction_changed to set_fraction
]
[from value_changed to PortSideRast.set_rotation
]
-->
<OrientationInterpolator DEF='PortRastOrientationInterpolatorIn' key='0 .8 .8 1' keyValue='0 1 0 .33 0 1 0 .15 0 0 0 0 0 0 0 0'/> |
130 |
<!-- ROUTE information for PortRASTClockIn node:
[from PortRastTouchSensorIn.touchTime to set_startTime
]
[from PortRastTouchSensorIn.touchTime to set_stopTime
]
[from fraction_changed to PortRASTPathInterpolatorIn.set_fraction
]
[from fraction_changed to PortRastOrientationInterpolatorIn.set_fraction
]
-->
<TimeSensor DEF='PortRASTClockIn' cycleInterval='3'/> |
131 | < ROUTE fromNode='PortRASTClockIn' fromField='fraction_changed' toNode='PortRASTPathInterpolatorIn' toField='set_fraction'/> |
132 | < ROUTE fromNode='PortRASTClockIn' fromField='fraction_changed' toNode='PortRastOrientationInterpolatorIn' toField='set_fraction'/> |
133 | < ROUTE fromNode='PortRASTPathInterpolatorIn' fromField='value_changed' toNode='PortSideRast' toField='translation'/> |
134 | < ROUTE fromNode='PortRastOrientationInterpolatorIn' fromField='value_changed' toNode='PortSideRast' toField='set_rotation'/> |
135 | < ROUTE fromNode='PortRastTouchSensorIn' fromField='touchTime' toNode='PortRASTClockIn' toField='set_startTime'/> |
136 | < ROUTE fromNode='PortRastTouchSensorIn' fromField='touchTime' toNode='PortRASTClockIn' toField='set_stopTime'/> |
137 | </Group> |
138 | </Switch> |
139 | </Transform> |
140 | <Group DEF='PortRastAnimationControl'> |
141 |
<!-- ROUTE information for PortRastIn node:
[from PortRastTouchSensorIn.isActive to set_boolean
]
[from triggerValue to PortRastChoice.whichChoice
]
-->
<IntegerTrigger DEF='PortRastIn' integerKey='0'/> |
142 |
<!-- ROUTE information for PortRastOut node:
[from PortRastTouchSensorOut.isActive to set_boolean
]
[from triggerValue to PortRastChoice.whichChoice
]
-->
<IntegerTrigger DEF='PortRastOut' integerKey='1'/> |
143 | < ROUTE fromNode='PortRastTouchSensorOut' fromField='isActive' toNode='PortRastOut' toField='set_boolean'/> |
144 | < ROUTE fromNode='PortRastTouchSensorIn' fromField='isActive' toNode='PortRastIn' toField='set_boolean'/> |
145 | < ROUTE fromNode='PortRastOut' fromField='triggerValue' toNode='PortRastChoice' toField='whichChoice'/> |
146 | < ROUTE fromNode='PortRastIn' fromField='triggerValue' toNode='PortRastChoice' toField='whichChoice'/> |
147 | </Group> |
148 | </Group> |
149 | <Transform DEF='FlightDeckMarkings' scale='.8 .8 .8' translation='0 0.001 -3.75'> |
150 | <Shape> |
151 | <Appearance> |
152 |
<ImageTexture DEF='FLTDECK'
url=' "nsflightdeck.jpg![]() ![]() |
153 | </Appearance> |
154 | <IndexedFaceSet solid='false' coordIndex='2 3 0 1' texCoordIndex='3 2 1 0'> |
155 | <Coordinate point='7.5 .05 4.2 -7.5 .05 4.2 -9.375 .05 -24.1 9.375 .05 -24.1'/> |
156 | <TextureCoordinate point='1 0 1 1 0 1 0 0'/> |
157 | </IndexedFaceSet> |
158 | </Shape> |
159 | </Transform> |
160 | </Group> |
161 | <Transform DEF='ForwardBulkhead' translation='0 3.5 -45'> |
162 | <Shape> |
163 | <Box size='18.704 7 .05'/> |
164 | <Appearance USE='HazeGray'/> |
165 | </Shape> |
166 | </Transform> |
167 | <Transform DEF='HangerOverhead' translation='0 7 -34.5'> |
168 | <Shape> |
169 | <Appearance> |
170 | <ImageTexture USE='NONSKID'/> |
171 | </Appearance> |
172 | <Box size='18.704 .05 21'/> |
173 | </Shape> |
174 | </Transform> |
175 | <Transform DEF='PortSideCenterLineBulkhead' translation='-3.5 3.5 -34.5'> |
176 | <Shape> |
177 | <Appearance USE='HazeGray'/> |
178 | <Box size='.05 7 21'/> |
179 | </Shape> |
180 | </Transform> |
181 | <Transform DEF='StarboardSideCenterLineBulkhead' translation='3.5 3.5 -34.5'> |
182 | <Shape> |
183 | <Appearance USE='HazeGray'/> |
184 | <Box size='.05 7 21'/> |
185 | </Shape> |
186 | </Transform> |
187 | <Transform DEF='PortSideExteriorBulkhead' translation='0 0 -24'> |
188 | <Shape> |
189 | <Extrusion crossSection='0 0 0 7 -.64 3.45 0 0' solid='false' spine='-9.352 0 0 -9.352 0 -21'/> |
190 | <Appearance USE='HazeGray'/> |
191 | </Shape> |
192 | </Transform> |
193 | <Transform DEF='StarboardSideExteriorBulkhead' translation='0 0 -24'> |
194 | <Shape> |
195 | <Extrusion crossSection='0 0 0 7 .64 3.45 0 0' solid='false' spine='9.352 0 0 9.352 0 -21'/> |
196 | <Appearance USE='HazeGray'/> |
197 | </Shape> |
198 | </Transform> |
199 | <Transform DEF='AftBulkhead' translation='0 0 -23'> |
200 | <Shape> |
201 | <Appearance USE='HazeGray'/> |
202 | <Extrusion crossSection='0 0 -9.35 0 -9.99 3.45 -9.35 7 9.35 7 9.99 3.45 9.35 0 8.05 0 8.05 6 3.53 6 3.53 0 -3.53 0 -3.53 6 -8.05 6 -8.05 0 0 0' orientation='1 0 0 -.142 0 0 0 0' scale='1 1 1 1' spine='0 0 0 0 0 -1'/> |
203 | </Shape> |
204 | </Transform> |
205 | </Transform> |
206 | <Group DEF='StarboardHeloDoor'> |
207 | <Transform DEF='STBDHeloDoor' rotation='1 0 0 -.14' translation='5.785 0 -23.02'> |
208 |
<!-- ROUTE information for HangerDoorSTBD1 node:
[from STBDHeloDoor1PathInterpolatorOut.value_changed to set_translation
]
[from STBDHeloDoor1OrientationInterpolatorOut.value_changed to set_rotation
]
[from STBDHeloDoor1PathInterpolatorDown.value_changed to set_translation
]
[from STBDHeloDoor1OrientationInterpolatorDown.value_changed to set_rotation
]
-->
<Transform DEF='HangerDoorSTBD1' translation='0 5.5 0'> |
209 | |
210 | <Appearance USE='HazeGray'/> |
211 | <Box DEF='HeloDoorFrame' size='4.5 .99 .05'/> |
212 | </Shape> |
213 | </Transform> |
214 |
<!-- ROUTE information for HangerDoorSTBD2 node:
[from STBDHeloDoor2PathInterpolatorOut.value_changed to set_translation
]
[from STBDHeloDoor2OrientationInterpolatorOut.value_changed to set_rotation
]
[from STBDHeloDoor2PathInterpolatorDown.value_changed to set_translation
]
[from STBDHeloDoor2OrientationInterpolatorDown.value_changed to set_rotation
]
-->
<Transform DEF='HangerDoorSTBD2' translation='0 4.5 0'> |
215 | <Shape USE='HangerDoor'/> |
216 | </Transform> |
217 |
<!-- ROUTE information for HangerDoorSTBD3 node:
[from STBDHeloDoor3PathInterpolatorOut.value_changed to set_translation
]
[from STBDHeloDoor3OrientationInterpolatorOut.value_changed to set_rotation
]
[from STBDHeloDoor3PathInterpolatorDown.value_changed to set_translation
]
[from STBDHeloDoor3OrientationInterpolatorDown.value_changed to set_rotation
]
-->
<Transform DEF='HangerDoorSTBD3' translation='0 3.5 0'> |
218 | <Shape USE='HangerDoor'/> |
219 | </Transform> |
220 |
<!-- ROUTE information for HangerDoorSTBD4 node:
[from STBDHeloDoor4PathInterpolatorOut.value_changed to set_translation
]
[from STBDHeloDoor4OrientationInterpolatorOut.value_changed to set_rotation
]
[from STBDHeloDoor4PathInterpolatorDown.value_changed to set_translation
]
[from STBDHeloDoor4OrientationInterpolatorDown.value_changed to set_rotation
]
-->
<Transform DEF='HangerDoorSTBD4' translation='0 2.5 0'> |
221 | <Shape USE='HangerDoor'/> |
222 | </Transform> |
223 |
<!-- ROUTE information for HangerDoorSTBD5 node:
[from STBDHeloDoor5PathInterpolatorOut.value_changed to set_translation
]
[from STBDHeloDoor5OrientationInterpolatorOut.value_changed to set_rotation
]
[from STBDHeloDoor5PathInterpolatorDown.value_changed to set_translation
]
[from STBDHeloDoor5OrientationInterpolatorDown.value_changed to set_rotation
]
-->
<Transform DEF='HangerDoorSTBD5' translation='0 1.5 0'> |
224 | <Shape USE='HangerDoor'/> |
225 | </Transform> |
226 |
<!-- ROUTE information for HangerDoorSTBD6 node:
[from STBDHeloDoor6PathInterpolatorOut.value_changed to set_translation
]
[from STBDHeloDoor6OrientationInterpolatorOut.value_changed to set_rotation
]
[from STBDHeloDoor6PathInterpolatorDown.value_changed to set_translation
]
[from STBDHeloDoor6OrientationInterpolatorDown.value_changed to set_rotation
]
-->
<Transform DEF='HangerDoorSTBD6' translation='0 .5 0'> |
227 | <Shape USE='HangerDoor'/> |
228 | </Transform> |
229 |
<!-- ROUTE information for STBDHeloDoorSwitch node:
[from STBDHeloDoorUp.triggerValue to whichChoice
]
[from STBDHeloDoorDown.triggerValue to whichChoice
]
-->
<Switch DEF='STBDHeloDoorSwitch' whichChoice='0'> |
230 | <Group DEF='STBDHangerDoorsUp'> |
231 | <Transform translation='0 3 0'> |
232 | <Shape DEF='STBDHangerDoorTouchSensor1'> |
233 | <Appearance> |
234 | <Material USE='Transparent'/> |
235 | </Appearance> |
236 | <Box size='5 6 .2'/> |
237 | </Shape> |
238 | </Transform> |
239 |
<!-- ROUTE information for STBDHeloDoorTouchSensor node:
[from touchTime to STBDHeloDoorClockOut.set_startTime
]
[from isActive to STBDHeloDoorUp.set_boolean
]
-->
<TouchSensor DEF='STBDHeloDoorTouchSensor' description='Raise STBD Helo Door'/> |
240 |
<!-- ROUTE information for STBDHeloDoorClockOut node:
[from STBDHeloDoorTouchSensor.touchTime to set_startTime
]
[from fraction_changed to STBDHeloDoor1PathInterpolatorOut.set_fraction
]
[from fraction_changed to STBDHeloDoor1OrientationInterpolatorOut.set_fraction
]
[from fraction_changed to STBDHeloDoor2PathInterpolatorOut.set_fraction
]
[from fraction_changed to STBDHeloDoor2OrientationInterpolatorOut.set_fraction
]
[from fraction_changed to STBDHeloDoor3PathInterpolatorOut.set_fraction
]
[from fraction_changed to STBDHeloDoor3OrientationInterpolatorOut.set_fraction
]
[from fraction_changed to STBDHeloDoor4PathInterpolatorOut.set_fraction
]
[from fraction_changed to STBDHeloDoor4OrientationInterpolatorOut.set_fraction
]
[from fraction_changed to STBDHeloDoor5PathInterpolatorOut.set_fraction
]
[from fraction_changed to STBDHeloDoor5OrientationInterpolatorOut.set_fraction
]
[from fraction_changed to STBDHeloDoor6PathInterpolatorOut.set_fraction
]
[from fraction_changed to STBDHeloDoor6OrientationInterpolatorOut.set_fraction
]
-->
<TimeSensor DEF='STBDHeloDoorClockOut' cycleInterval='3'/> |
241 |
<!-- ROUTE information for STBDHeloDoor1PathInterpolatorOut node:
[from STBDHeloDoorClockOut.fraction_changed to set_fraction
]
[from value_changed to HangerDoorSTBD1.set_translation
]
-->
<PositionInterpolator DEF='STBDHeloDoor1PathInterpolatorOut' key='0 1' keyValue='0 5.5 0 0 5.95 0'/> |
242 |
<!-- ROUTE information for STBDHeloDoor1OrientationInterpolatorOut node:
[from STBDHeloDoorClockOut.fraction_changed to set_fraction
]
[from value_changed to HangerDoorSTBD1.set_rotation
]
-->
<OrientationInterpolator DEF='STBDHeloDoor1OrientationInterpolatorOut' key='0 1' keyValue='1 0 0 0 1 0 0 -1.43'/> |
243 |
<!-- ROUTE information for STBDHeloDoor2PathInterpolatorOut node:
[from STBDHeloDoorClockOut.fraction_changed to set_fraction
]
[from value_changed to HangerDoorSTBD2.set_translation
]
-->
<PositionInterpolator DEF='STBDHeloDoor2PathInterpolatorOut' key='0 .85 1' keyValue='0 4.5 0 0 5.5 0 0 5.88 0'/> |
244 |
<!-- ROUTE information for STBDHeloDoor2OrientationInterpolatorOut node:
[from STBDHeloDoorClockOut.fraction_changed to set_fraction
]
[from value_changed to HangerDoorSTBD2.set_rotation
]
-->
<OrientationInterpolator DEF='STBDHeloDoor2OrientationInterpolatorOut' key='0 .85 1' keyValue='1 0 0 0 1 0 0 1.3 1 0 0 1.71'/> |
245 |
<!-- ROUTE information for STBDHeloDoor3PathInterpolatorOut node:
[from STBDHeloDoorClockOut.fraction_changed to set_fraction
]
[from value_changed to HangerDoorSTBD3.set_translation
]
-->
<PositionInterpolator DEF='STBDHeloDoor3PathInterpolatorOut' key='0 .6 .95 1' keyValue='0 3.5 0 0 4.5 0 0 5.5 0 0 5.81 0'/> |
246 |
<!-- ROUTE information for STBDHeloDoor3OrientationInterpolatorOut node:
[from STBDHeloDoorClockOut.fraction_changed to set_fraction
]
[from value_changed to HangerDoorSTBD3.set_rotation
]
-->
<OrientationInterpolator DEF='STBDHeloDoor3OrientationInterpolatorOut' key='0 .6 .95 1' keyValue='1 0 0 0 1 0 0 -.6 1 0 0 -1 1 0 0 -1.43'/> |
247 |
<!-- ROUTE information for STBDHeloDoor4PathInterpolatorOut node:
[from STBDHeloDoorClockOut.fraction_changed to set_fraction
]
[from value_changed to HangerDoorSTBD4.set_translation
]
-->
<PositionInterpolator DEF='STBDHeloDoor4PathInterpolatorOut' key='0 .5 .86 .99 1' keyValue='0 2.5 0 0 3.5 0 0 4.5 0 0 5.5 0 0 5.74 0'/> |
248 |
<!-- ROUTE information for STBDHeloDoor4OrientationInterpolatorOut node:
[from STBDHeloDoorClockOut.fraction_changed to set_fraction
]
[from value_changed to HangerDoorSTBD4.set_rotation
]
-->
<OrientationInterpolator DEF='STBDHeloDoor4OrientationInterpolatorOut' key='0 .5 .86 .99 1' keyValue='1 0 0 0 1 0 0 .4 1 0 0 .8 1 0 0 1.10 1 0 0 1.71'/> |
249 |
<!-- ROUTE information for STBDHeloDoor5PathInterpolatorOut node:
[from STBDHeloDoorClockOut.fraction_changed to set_fraction
]
[from value_changed to HangerDoorSTBD5.set_translation
]
-->
<PositionInterpolator DEF='STBDHeloDoor5PathInterpolatorOut' key='0 .45 .80 .94 .99 1' keyValue='0 1.5 0 0 2.5 0 0 3.5 0 0 4.5 0 0 5.5 0 0 5.67 0'/> |
250 |
<!-- ROUTE information for STBDHeloDoor5OrientationInterpolatorOut node:
[from STBDHeloDoorClockOut.fraction_changed to set_fraction
]
[from value_changed to HangerDoorSTBD5.set_rotation
]
-->
<OrientationInterpolator DEF='STBDHeloDoor5OrientationInterpolatorOut' key='0 .45 .80 .94 .99 1' keyValue='1 0 0 0 1 0 0 -.2 1 0 0 -.4 1 0 0 -.6 1 0 0 -1 1 0 0 -1.43'/> |
251 |
<!-- ROUTE information for STBDHeloDoor6PathInterpolatorOut node:
[from STBDHeloDoorClockOut.fraction_changed to set_fraction
]
[from value_changed to HangerDoorSTBD6.set_translation
]
-->
<PositionInterpolator DEF='STBDHeloDoor6PathInterpolatorOut' key='0 .45 .75 .90 .98 .99 1' keyValue='0 .5 0 0 1.5 0 0 2.5 0 0 3.5 0 0 4.5 0 0 5.5 0 0 5.61 0'/> |
252 |
<!-- ROUTE information for STBDHeloDoor6OrientationInterpolatorOut node:
[from STBDHeloDoorClockOut.fraction_changed to set_fraction
]
[from value_changed to HangerDoorSTBD6.set_rotation
]
-->
<OrientationInterpolator DEF='STBDHeloDoor6OrientationInterpolatorOut' key='0 .45 .75 .90 .98 .99 1' keyValue='1 0 0 0 1 0 0 .2 1 0 0 .4 1 0 0 .8 1 0 0 1.10 1 0 0 1.4 1 0 0 1.71'/> |
253 | <!-- STBD Helo Door Clock to movement --> |
254 | < ROUTE fromNode='STBDHeloDoorClockOut' fromField='fraction_changed' toNode='STBDHeloDoor1PathInterpolatorOut' toField='set_fraction'/> |
255 | < ROUTE fromNode='STBDHeloDoorClockOut' fromField='fraction_changed' toNode='STBDHeloDoor1OrientationInterpolatorOut' toField='set_fraction'/> |
256 | < ROUTE fromNode='STBDHeloDoorClockOut' fromField='fraction_changed' toNode='STBDHeloDoor2PathInterpolatorOut' toField='set_fraction'/> |
257 | < ROUTE fromNode='STBDHeloDoorClockOut' fromField='fraction_changed' toNode='STBDHeloDoor2OrientationInterpolatorOut' toField='set_fraction'/> |
258 | < ROUTE fromNode='STBDHeloDoorClockOut' fromField='fraction_changed' toNode='STBDHeloDoor3PathInterpolatorOut' toField='set_fraction'/> |
259 | < ROUTE fromNode='STBDHeloDoorClockOut' fromField='fraction_changed' toNode='STBDHeloDoor3OrientationInterpolatorOut' toField='set_fraction'/> |
260 | < ROUTE fromNode='STBDHeloDoorClockOut' fromField='fraction_changed' toNode='STBDHeloDoor4PathInterpolatorOut' toField='set_fraction'/> |
261 | < ROUTE fromNode='STBDHeloDoorClockOut' fromField='fraction_changed' toNode='STBDHeloDoor4OrientationInterpolatorOut' toField='set_fraction'/> |
262 | < ROUTE fromNode='STBDHeloDoorClockOut' fromField='fraction_changed' toNode='STBDHeloDoor5PathInterpolatorOut' toField='set_fraction'/> |
263 | < ROUTE fromNode='STBDHeloDoorClockOut' fromField='fraction_changed' toNode='STBDHeloDoor5OrientationInterpolatorOut' toField='set_fraction'/> |
264 | < ROUTE fromNode='STBDHeloDoorClockOut' fromField='fraction_changed' toNode='STBDHeloDoor6PathInterpolatorOut' toField='set_fraction'/> |
265 | < ROUTE fromNode='STBDHeloDoorClockOut' fromField='fraction_changed' toNode='STBDHeloDoor6OrientationInterpolatorOut' toField='set_fraction'/> |
266 | <!-- STBD Helo Door movement to geometry --> |
267 | < ROUTE fromNode='STBDHeloDoor1PathInterpolatorOut' fromField='value_changed' toNode='HangerDoorSTBD1' toField='set_translation'/> |
268 | < ROUTE fromNode='STBDHeloDoor1OrientationInterpolatorOut' fromField='value_changed' toNode='HangerDoorSTBD1' toField='set_rotation'/> |
269 | < ROUTE fromNode='STBDHeloDoor2PathInterpolatorOut' fromField='value_changed' toNode='HangerDoorSTBD2' toField='set_translation'/> |
270 | < ROUTE fromNode='STBDHeloDoor2OrientationInterpolatorOut' fromField='value_changed' toNode='HangerDoorSTBD2' toField='set_rotation'/> |
271 | < ROUTE fromNode='STBDHeloDoor3PathInterpolatorOut' fromField='value_changed' toNode='HangerDoorSTBD3' toField='set_translation'/> |
272 | < ROUTE fromNode='STBDHeloDoor3OrientationInterpolatorOut' fromField='value_changed' toNode='HangerDoorSTBD3' toField='set_rotation'/> |
273 | < ROUTE fromNode='STBDHeloDoor4PathInterpolatorOut' fromField='value_changed' toNode='HangerDoorSTBD4' toField='set_translation'/> |
274 | < ROUTE fromNode='STBDHeloDoor4OrientationInterpolatorOut' fromField='value_changed' toNode='HangerDoorSTBD4' toField='set_rotation'/> |
275 | < ROUTE fromNode='STBDHeloDoor5PathInterpolatorOut' fromField='value_changed' toNode='HangerDoorSTBD5' toField='set_translation'/> |
276 | < ROUTE fromNode='STBDHeloDoor5OrientationInterpolatorOut' fromField='value_changed' toNode='HangerDoorSTBD5' toField='set_rotation'/> |
277 | < ROUTE fromNode='STBDHeloDoor6PathInterpolatorOut' fromField='value_changed' toNode='HangerDoorSTBD6' toField='set_translation'/> |
278 | < ROUTE fromNode='STBDHeloDoor6OrientationInterpolatorOut' fromField='value_changed' toNode='HangerDoorSTBD6' toField='set_rotation'/> |
279 | <!-- STBD Helo Door Sensor to clock --> |
280 | < ROUTE fromNode='STBDHeloDoorTouchSensor' fromField='touchTime' toNode='STBDHeloDoorClockOut' toField='set_startTime'/> |
281 | </Group> |
282 | <Group DEF='STBDHangerDoorsDown'> |
283 | <Transform translation='0 5.75 0'> |
284 | <Shape DEF='STBDHangerDoorTouchSensorDn'> |
285 | <Appearance> |
286 | <Material USE='Transparent'/> |
287 | </Appearance> |
288 | <Box size='5 1 1.2'/> |
289 | </Shape> |
290 | </Transform> |
291 |
<!-- ROUTE information for STBDHeloDoorTouchSensorDown node:
[from touchTime to STBDHeloDoorClockDown.set_startTime
]
[from isActive to STBDHeloDoorDown.set_boolean
]
-->
<TouchSensor DEF='STBDHeloDoorTouchSensorDown' description='LowerSTBDHeloDoor'/> |
292 |
<!-- ROUTE information for STBDHeloDoorClockDown node:
[from STBDHeloDoorTouchSensorDown.touchTime to set_startTime
]
[from fraction_changed to STBDHeloDoor1PathInterpolatorDown.set_fraction
]
[from fraction_changed to STBDHeloDoor1OrientationInterpolatorDown.set_fraction
]
[from fraction_changed to STBDHeloDoor2PathInterpolatorDown.set_fraction
]
[from fraction_changed to STBDHeloDoor2OrientationInterpolatorDown.set_fraction
]
[from fraction_changed to STBDHeloDoor3PathInterpolatorDown.set_fraction
]
[from fraction_changed to STBDHeloDoor3OrientationInterpolatorDown.set_fraction
]
[from fraction_changed to STBDHeloDoor4PathInterpolatorDown.set_fraction
]
[from fraction_changed to STBDHeloDoor4OrientationInterpolatorDown.set_fraction
]
[from fraction_changed to STBDHeloDoor5PathInterpolatorDown.set_fraction
]
[from fraction_changed to STBDHeloDoor5OrientationInterpolatorDown.set_fraction
]
[from fraction_changed to STBDHeloDoor6PathInterpolatorDown.set_fraction
]
[from fraction_changed to STBDHeloDoor6OrientationInterpolatorDown.set_fraction
]
-->
<TimeSensor DEF='STBDHeloDoorClockDown' cycleInterval='3'/> |
293 |
<!-- ROUTE information for STBDHeloDoor1PathInterpolatorDown node:
[from STBDHeloDoorClockDown.fraction_changed to set_fraction
]
[from value_changed to HangerDoorSTBD1.set_translation
]
-->
<PositionInterpolator DEF='STBDHeloDoor1PathInterpolatorDown' key='0 1' keyValue='0 5.95 0 0 5.5 0'/> |
294 |
<!-- ROUTE information for STBDHeloDoor1OrientationInterpolatorDown node:
[from STBDHeloDoorClockDown.fraction_changed to set_fraction
]
[from value_changed to HangerDoorSTBD1.set_rotation
]
-->
<OrientationInterpolator DEF='STBDHeloDoor1OrientationInterpolatorDown' key='0 1' keyValue='1 0 0 -1.43 1 0 0 0'/> |
295 |
<!-- ROUTE information for STBDHeloDoor2PathInterpolatorDown node:
[from STBDHeloDoorClockDown.fraction_changed to set_fraction
]
[from value_changed to HangerDoorSTBD2.set_translation
]
-->
<PositionInterpolator DEF='STBDHeloDoor2PathInterpolatorDown' key='0 .14 1' keyValue='0 5.88 0 0 5.5 0 0 4.5 0'/> |
296 |
<!-- ROUTE information for STBDHeloDoor2OrientationInterpolatorDown node:
[from STBDHeloDoorClockDown.fraction_changed to set_fraction
]
[from value_changed to HangerDoorSTBD2.set_rotation
]
-->
<OrientationInterpolator DEF='STBDHeloDoor2OrientationInterpolatorDown' key='0 .14 1' keyValue='1 0 0 1.71 1 0 0 1.3 1 0 0 0'/> |
297 |
<!-- ROUTE information for STBDHeloDoor3PathInterpolatorDown node:
[from STBDHeloDoorClockDown.fraction_changed to set_fraction
]
[from value_changed to HangerDoorSTBD3.set_translation
]
-->
<PositionInterpolator DEF='STBDHeloDoor3PathInterpolatorDown' key='0 .08 .55 1' keyValue='0 5.81 0 0 5.5 0 0 4.5 0 0 3.5 0'/> |
298 |
<!-- ROUTE information for STBDHeloDoor3OrientationInterpolatorDown node:
[from STBDHeloDoorClockDown.fraction_changed to set_fraction
]
[from value_changed to HangerDoorSTBD3.set_rotation
]
-->
<OrientationInterpolator DEF='STBDHeloDoor3OrientationInterpolatorDown' key='0 .6 .95 1' keyValue='1 0 0 -1.43 1 0 0 -1 1 0 0 -.6 1 0 0 0'/> |
299 |
<!-- ROUTE information for STBDHeloDoor4PathInterpolatorDown node:
[from STBDHeloDoorClockDown.fraction_changed to set_fraction
]
[from value_changed to HangerDoorSTBD4.set_translation
]
-->
<PositionInterpolator DEF='STBDHeloDoor4PathInterpolatorDown' key='0 .06 .4 .75 1' keyValue='0 5.74 0 0 5.5 0 0 4.5 0 0 3.5 0 0 2.5 0'/> |
300 |
<!-- ROUTE information for STBDHeloDoor4OrientationInterpolatorDown node:
[from STBDHeloDoorClockDown.fraction_changed to set_fraction
]
[from value_changed to HangerDoorSTBD4.set_rotation
]
-->
<OrientationInterpolator DEF='STBDHeloDoor4OrientationInterpolatorDown' key='0 .5 .86 .95 1' keyValue='1 0 0 1.71 1 0 0 1.10 1 0 0 .8 1 0 0 .4 1 0 0 0'/> |
301 |
<!-- ROUTE information for STBDHeloDoor5PathInterpolatorDown node:
[from STBDHeloDoorClockDown.fraction_changed to set_fraction
]
[from value_changed to HangerDoorSTBD5.set_translation
]
-->
<PositionInterpolator DEF='STBDHeloDoor5PathInterpolatorDown' key='0 .04 .3 .55 .85 1' keyValue='0 5.67 0 0 5.5 0 0 4.5 0 0 3.5 0 0 2.5 0 0 1.5 0'/> |
302 |
<!-- ROUTE information for STBDHeloDoor5OrientationInterpolatorDown node:
[from STBDHeloDoorClockDown.fraction_changed to set_fraction
]
[from value_changed to HangerDoorSTBD5.set_rotation
]
-->
<OrientationInterpolator DEF='STBDHeloDoor5OrientationInterpolatorDown' key='0 .45 .80 .94 .99 1' keyValue='1 0 0 -1.43 1 0 0 -1 1 0 0 -.6 1 0 0 -.4 1 0 0 -.2 1 0 0 0'/> |
303 |
<!-- ROUTE information for STBDHeloDoor6PathInterpolatorDown node:
[from STBDHeloDoorClockDown.fraction_changed to set_fraction
]
[from value_changed to HangerDoorSTBD6.set_translation
]
-->
<PositionInterpolator DEF='STBDHeloDoor6PathInterpolatorDown' key='0 .03 .25 .45 .68 .9 1' keyValue='0 5.61 0 0 5.5 0 0 4.5 0 0 3.5 0 0 2.5 0 0 1.5 0 0 .5 0'/> |
304 |
<!-- ROUTE information for STBDHeloDoor6OrientationInterpolatorDown node:
[from STBDHeloDoorClockDown.fraction_changed to set_fraction
]
[from value_changed to HangerDoorSTBD6.set_rotation
]
-->
<OrientationInterpolator DEF='STBDHeloDoor6OrientationInterpolatorDown' key='0 .45 .75 .8 .93 .98 1' keyValue='1 0 0 1.71 1 0 0 1.4 1 0 0 1.1 1 0 0 .8 1 0 0 .4 1 0 0 .2 1 0 0 0'/> |
305 | <!-- STBD Helo Door Clock to movement --> |
306 | < ROUTE fromNode='STBDHeloDoorClockDown' fromField='fraction_changed' toNode='STBDHeloDoor1PathInterpolatorDown' toField='set_fraction'/> |
307 | < ROUTE fromNode='STBDHeloDoorClockDown' fromField='fraction_changed' toNode='STBDHeloDoor1OrientationInterpolatorDown' toField='set_fraction'/> |
308 | < ROUTE fromNode='STBDHeloDoorClockDown' fromField='fraction_changed' toNode='STBDHeloDoor2PathInterpolatorDown' toField='set_fraction'/> |
309 | < ROUTE fromNode='STBDHeloDoorClockDown' fromField='fraction_changed' toNode='STBDHeloDoor2OrientationInterpolatorDown' toField='set_fraction'/> |
310 | < ROUTE fromNode='STBDHeloDoorClockDown' fromField='fraction_changed' toNode='STBDHeloDoor3PathInterpolatorDown' toField='set_fraction'/> |
311 | < ROUTE fromNode='STBDHeloDoorClockDown' fromField='fraction_changed' toNode='STBDHeloDoor3OrientationInterpolatorDown' toField='set_fraction'/> |
312 | < ROUTE fromNode='STBDHeloDoorClockDown' fromField='fraction_changed' toNode='STBDHeloDoor4PathInterpolatorDown' toField='set_fraction'/> |
313 | < ROUTE fromNode='STBDHeloDoorClockDown' fromField='fraction_changed' toNode='STBDHeloDoor4OrientationInterpolatorDown' toField='set_fraction'/> |
314 | < ROUTE fromNode='STBDHeloDoorClockDown' fromField='fraction_changed' toNode='STBDHeloDoor5PathInterpolatorDown' toField='set_fraction'/> |
315 | < ROUTE fromNode='STBDHeloDoorClockDown' fromField='fraction_changed' toNode='STBDHeloDoor5OrientationInterpolatorDown' toField='set_fraction'/> |
316 | < ROUTE fromNode='STBDHeloDoorClockDown' fromField='fraction_changed' toNode='STBDHeloDoor6PathInterpolatorDown' toField='set_fraction'/> |
317 | < ROUTE fromNode='STBDHeloDoorClockDown' fromField='fraction_changed' toNode='STBDHeloDoor6OrientationInterpolatorDown' toField='set_fraction'/> |
318 | <!-- STBD Helo Door movement to geometry --> |
319 | < ROUTE fromNode='STBDHeloDoor1PathInterpolatorDown' fromField='value_changed' toNode='HangerDoorSTBD1' toField='set_translation'/> |
320 | < ROUTE fromNode='STBDHeloDoor1OrientationInterpolatorDown' fromField='value_changed' toNode='HangerDoorSTBD1' toField='set_rotation'/> |
321 | < ROUTE fromNode='STBDHeloDoor2PathInterpolatorDown' fromField='value_changed' toNode='HangerDoorSTBD2' toField='set_translation'/> |
322 | < ROUTE fromNode='STBDHeloDoor2OrientationInterpolatorDown' fromField='value_changed' toNode='HangerDoorSTBD2' toField='set_rotation'/> |
323 | < ROUTE fromNode='STBDHeloDoor3PathInterpolatorDown' fromField='value_changed' toNode='HangerDoorSTBD3' toField='set_translation'/> |
324 | < ROUTE fromNode='STBDHeloDoor3OrientationInterpolatorDown' fromField='value_changed' toNode='HangerDoorSTBD3' toField='set_rotation'/> |
325 | < ROUTE fromNode='STBDHeloDoor4PathInterpolatorDown' fromField='value_changed' toNode='HangerDoorSTBD4' toField='set_translation'/> |
326 | < ROUTE fromNode='STBDHeloDoor4OrientationInterpolatorDown' fromField='value_changed' toNode='HangerDoorSTBD4' toField='set_rotation'/> |
327 | < ROUTE fromNode='STBDHeloDoor5PathInterpolatorDown' fromField='value_changed' toNode='HangerDoorSTBD5' toField='set_translation'/> |
328 | < ROUTE fromNode='STBDHeloDoor5OrientationInterpolatorDown' fromField='value_changed' toNode='HangerDoorSTBD5' toField='set_rotation'/> |
329 | < ROUTE fromNode='STBDHeloDoor6PathInterpolatorDown' fromField='value_changed' toNode='HangerDoorSTBD6' toField='set_translation'/> |
330 | < ROUTE fromNode='STBDHeloDoor6OrientationInterpolatorDown' fromField='value_changed' toNode='HangerDoorSTBD6' toField='set_rotation'/> |
331 | <!-- STBD Helo Door Sensor to clock --> |
332 | < ROUTE fromNode='STBDHeloDoorTouchSensorDown' fromField='touchTime' toNode='STBDHeloDoorClockDown' toField='set_startTime'/> |
333 | </Group> |
334 | </Switch> |
335 | </Transform> |
336 | <Group DEF='STBDHeloDoorAnimationControl'> |
337 |
<!-- ROUTE information for STBDHeloDoorDown node:
[from STBDHeloDoorTouchSensorDown.isActive to set_boolean
]
[from triggerValue to STBDHeloDoorSwitch.whichChoice
]
-->
<IntegerTrigger DEF='STBDHeloDoorDown' integerKey='0'/> |
338 |
<!-- ROUTE information for STBDHeloDoorUp node:
[from STBDHeloDoorTouchSensor.isActive to set_boolean
]
[from triggerValue to STBDHeloDoorSwitch.whichChoice
]
-->
<IntegerTrigger DEF='STBDHeloDoorUp' integerKey='1'/> |
339 | < ROUTE fromNode='STBDHeloDoorTouchSensor' fromField='isActive' toNode='STBDHeloDoorUp' toField='set_boolean'/> |
340 | < ROUTE fromNode='STBDHeloDoorTouchSensorDown' fromField='isActive' toNode='STBDHeloDoorDown' toField='set_boolean'/> |
341 | < ROUTE fromNode='STBDHeloDoorUp' fromField='triggerValue' toNode='STBDHeloDoorSwitch' toField='whichChoice'/> |
342 | < ROUTE fromNode='STBDHeloDoorDown' fromField='triggerValue' toNode='STBDHeloDoorSwitch' toField='whichChoice'/> |
343 | </Group> |
344 | </Group> |
345 | <Group DEF='PortHeloDoor'> |
346 | <Transform DEF='PortHeloDoor1' rotation='1 0 0 -.14' translation='-5.785 0 -23.02'> |
347 |
<!-- ROUTE information for HangerDoorPort1 node:
[from PortHeloDoor1PathInterpolatorOut.value_changed to set_translation
]
[from PortHeloDoor1OrientationInterpolatorOut.value_changed to set_rotation
]
[from PortHeloDoor1PathInterpolatorDown.value_changed to set_translation
]
[from PortHeloDoor1OrientationInterpolatorDown.value_changed to set_rotation
]
-->
<Transform DEF='HangerDoorPort1' translation='0 5.5 0'> |
348 | <Shape USE='HangerDoor'/> |
349 | </Transform> |
350 |
<!-- ROUTE information for HangerDoorPort2 node:
[from PortHeloDoor2PathInterpolatorOut.value_changed to set_translation
]
[from PortHeloDoor2OrientationInterpolatorOut.value_changed to set_rotation
]
[from PortHeloDoor2PathInterpolatorDown.value_changed to set_translation
]
[from PortHeloDoor2OrientationInterpolatorDown.value_changed to set_rotation
]
-->
<Transform DEF='HangerDoorPort2' translation='0 4.5 0'> |
351 | <Shape USE='HangerDoor'/> |
352 | </Transform> |
353 |
<!-- ROUTE information for HangerDoorPort3 node:
[from PortHeloDoor3PathInterpolatorOut.value_changed to set_translation
]
[from PortHeloDoor3OrientationInterpolatorOut.value_changed to set_rotation
]
[from PortHeloDoor3PathInterpolatorDown.value_changed to set_translation
]
[from PortHeloDoor3OrientationInterpolatorDown.value_changed to set_rotation
]
-->
<Transform DEF='HangerDoorPort3' translation='0 3.5 0'> |
354 | <Shape USE='HangerDoor'/> |
355 | </Transform> |
356 |
<!-- ROUTE information for HangerDoorPort4 node:
[from PortHeloDoor4PathInterpolatorOut.value_changed to set_translation
]
[from PortHeloDoor4OrientationInterpolatorOut.value_changed to set_rotation
]
[from PortHeloDoor4PathInterpolatorDown.value_changed to set_translation
]
[from PortHeloDoor4OrientationInterpolatorDown.value_changed to set_rotation
]
-->
<Transform DEF='HangerDoorPort4' translation='0 2.5 0'> |
357 | <Shape USE='HangerDoor'/> |
358 | </Transform> |
359 |
<!-- ROUTE information for HangerDoorPort5 node:
[from PortHeloDoor5PathInterpolatorOut.value_changed to set_translation
]
[from PortHeloDoor5OrientationInterpolatorOut.value_changed to set_rotation
]
[from PortHeloDoor5PathInterpolatorDown.value_changed to set_translation
]
[from PortHeloDoor5OrientationInterpolatorDown.value_changed to set_rotation
]
-->
<Transform DEF='HangerDoorPort5' translation='0 1.5 0'> |
360 | <Shape USE='HangerDoor'/> |
361 | </Transform> |
362 |
<!-- ROUTE information for HangerDoorPort6 node:
[from PortHeloDoor6PathInterpolatorOut.value_changed to set_translation
]
[from PortHeloDoor6OrientationInterpolatorOut.value_changed to set_rotation
]
[from PortHeloDoor6PathInterpolatorDown.value_changed to set_translation
]
[from PortHeloDoor6OrientationInterpolatorDown.value_changed to set_rotation
]
-->
<Transform DEF='HangerDoorPort6' translation='0 .5 0'> |
363 | <Shape USE='HangerDoor'/> |
364 | </Transform> |
365 |
<!-- ROUTE information for PortHeloDoorSwitch node:
[from PortHeloDoorUp.triggerValue to whichChoice
]
[from PortHeloDoorDown.triggerValue to whichChoice
]
-->
<Switch DEF='PortHeloDoorSwitch' whichChoice='0'> |
366 | <Group DEF='PortHangerDoorsUp'> |
367 | <Transform translation='0 3 0'> |
368 | <Shape DEF='PortHangerDoorTouchSensor1'> |
369 | <Appearance> |
370 | <Material USE='Transparent'/> |
371 | </Appearance> |
372 | <Box size='5 6 .2'/> |
373 | </Shape> |
374 | </Transform> |
375 |
<!-- ROUTE information for PortHeloDoorTouchSensor node:
[from touchTime to PortHeloDoorClockOut.set_startTime
]
[from isActive to PortHeloDoorUp.set_boolean
]
-->
<TouchSensor DEF='PortHeloDoorTouchSensor' description='Raise Port Helo Door'/> |
376 |
<!-- ROUTE information for PortHeloDoorClockOut node:
[from PortHeloDoorTouchSensor.touchTime to set_startTime
]
[from fraction_changed to PortHeloDoor1PathInterpolatorOut.set_fraction
]
[from fraction_changed to PortHeloDoor1OrientationInterpolatorOut.set_fraction
]
[from fraction_changed to PortHeloDoor2PathInterpolatorOut.set_fraction
]
[from fraction_changed to PortHeloDoor2OrientationInterpolatorOut.set_fraction
]
[from fraction_changed to PortHeloDoor3PathInterpolatorOut.set_fraction
]
[from fraction_changed to PortHeloDoor3OrientationInterpolatorOut.set_fraction
]
[from fraction_changed to PortHeloDoor4PathInterpolatorOut.set_fraction
]
[from fraction_changed to PortHeloDoor4OrientationInterpolatorOut.set_fraction
]
[from fraction_changed to PortHeloDoor5PathInterpolatorOut.set_fraction
]
[from fraction_changed to PortHeloDoor5OrientationInterpolatorOut.set_fraction
]
[from fraction_changed to PortHeloDoor6PathInterpolatorOut.set_fraction
]
[from fraction_changed to PortHeloDoor6OrientationInterpolatorOut.set_fraction
]
-->
<TimeSensor DEF='PortHeloDoorClockOut' cycleInterval='3'/> |
377 |
<!-- ROUTE information for PortHeloDoor1PathInterpolatorOut node:
[from PortHeloDoorClockOut.fraction_changed to set_fraction
]
[from value_changed to HangerDoorPort1.set_translation
]
-->
<PositionInterpolator DEF='PortHeloDoor1PathInterpolatorOut' key='0 1' keyValue='0 5.5 0 0 5.95 0'/> |
378 |
<!-- ROUTE information for PortHeloDoor1OrientationInterpolatorOut node:
[from PortHeloDoorClockOut.fraction_changed to set_fraction
]
[from value_changed to HangerDoorPort1.set_rotation
]
-->
<OrientationInterpolator DEF='PortHeloDoor1OrientationInterpolatorOut' key='0 1' keyValue='1 0 0 0 1 0 0 -1.43'/> |
379 |
<!-- ROUTE information for PortHeloDoor2PathInterpolatorOut node:
[from PortHeloDoorClockOut.fraction_changed to set_fraction
]
[from value_changed to HangerDoorPort2.set_translation
]
-->
<PositionInterpolator DEF='PortHeloDoor2PathInterpolatorOut' key='0 .85 1' keyValue='0 4.5 0 0 5.5 0 0 5.88 0'/> |
380 |
<!-- ROUTE information for PortHeloDoor2OrientationInterpolatorOut node:
[from PortHeloDoorClockOut.fraction_changed to set_fraction
]
[from value_changed to HangerDoorPort2.set_rotation
]
-->
<OrientationInterpolator DEF='PortHeloDoor2OrientationInterpolatorOut' key='0 .85 1' keyValue='1 0 0 0 1 0 0 1.3 1 0 0 1.71'/> |
381 |
<!-- ROUTE information for PortHeloDoor3PathInterpolatorOut node:
[from PortHeloDoorClockOut.fraction_changed to set_fraction
]
[from value_changed to HangerDoorPort3.set_translation
]
-->
<PositionInterpolator DEF='PortHeloDoor3PathInterpolatorOut' key='0 .6 .95 1' keyValue='0 3.5 0 0 4.5 0 0 5.5 0 0 5.81 0'/> |
382 |
<!-- ROUTE information for PortHeloDoor3OrientationInterpolatorOut node:
[from PortHeloDoorClockOut.fraction_changed to set_fraction
]
[from value_changed to HangerDoorPort3.set_rotation
]
-->
<OrientationInterpolator DEF='PortHeloDoor3OrientationInterpolatorOut' key='0 .6 .95 1' keyValue='1 0 0 0 1 0 0 -.6 1 0 0 -1 1 0 0 -1.43'/> |
383 |
<!-- ROUTE information for PortHeloDoor4PathInterpolatorOut node:
[from PortHeloDoorClockOut.fraction_changed to set_fraction
]
[from value_changed to HangerDoorPort4.set_translation
]
-->
<PositionInterpolator DEF='PortHeloDoor4PathInterpolatorOut' key='0 .5 .86 .99 1' keyValue='0 2.5 0 0 3.5 0 0 4.5 0 0 5.5 0 0 5.74 0'/> |
384 |
<!-- ROUTE information for PortHeloDoor4OrientationInterpolatorOut node:
[from PortHeloDoorClockOut.fraction_changed to set_fraction
]
[from value_changed to HangerDoorPort4.set_rotation
]
-->
<OrientationInterpolator DEF='PortHeloDoor4OrientationInterpolatorOut' key='0 .5 .86 .99 1' keyValue='1 0 0 0 1 0 0 .4 1 0 0 .8 1 0 0 1.10 1 0 0 1.71'/> |
385 |
<!-- ROUTE information for PortHeloDoor5PathInterpolatorOut node:
[from PortHeloDoorClockOut.fraction_changed to set_fraction
]
[from value_changed to HangerDoorPort5.set_translation
]
-->
<PositionInterpolator DEF='PortHeloDoor5PathInterpolatorOut' key='0 .45 .80 .94 .99 1' keyValue='0 1.5 0 0 2.5 0 0 3.5 0 0 4.5 0 0 5.5 0 0 5.67 0'/> |
386 |
<!-- ROUTE information for PortHeloDoor5OrientationInterpolatorOut node:
[from PortHeloDoorClockOut.fraction_changed to set_fraction
]
[from value_changed to HangerDoorPort5.set_rotation
]
-->
<OrientationInterpolator DEF='PortHeloDoor5OrientationInterpolatorOut' key='0 .45 .80 .94 .99 1' keyValue='1 0 0 0 1 0 0 -.2 1 0 0 -.4 1 0 0 -.6 1 0 0 -1 1 0 0 -1.43'/> |
387 |
<!-- ROUTE information for PortHeloDoor6PathInterpolatorOut node:
[from PortHeloDoorClockOut.fraction_changed to set_fraction
]
[from value_changed to HangerDoorPort6.set_translation
]
-->
<PositionInterpolator DEF='PortHeloDoor6PathInterpolatorOut' key='0 .45 .75 .90 .98 .99 1' keyValue='0 .5 0 0 1.5 0 0 2.5 0 0 3.5 0 0 4.5 0 0 5.5 0 0 5.61 0'/> |
388 |
<!-- ROUTE information for PortHeloDoor6OrientationInterpolatorOut node:
[from PortHeloDoorClockOut.fraction_changed to set_fraction
]
[from value_changed to HangerDoorPort6.set_rotation
]
-->
<OrientationInterpolator DEF='PortHeloDoor6OrientationInterpolatorOut' key='0 .45 .75 .90 .98 .99 1' keyValue='1 0 0 0 1 0 0 .2 1 0 0 .4 1 0 0 .8 1 0 0 1.10 1 0 0 1.4 1 0 0 1.71'/> |
389 | <!-- STBD Helo Door Clock to movement --> |
390 | < ROUTE fromNode='PortHeloDoorClockOut' fromField='fraction_changed' toNode='PortHeloDoor1PathInterpolatorOut' toField='set_fraction'/> |
391 | < ROUTE fromNode='PortHeloDoorClockOut' fromField='fraction_changed' toNode='PortHeloDoor1OrientationInterpolatorOut' toField='set_fraction'/> |
392 | < ROUTE fromNode='PortHeloDoorClockOut' fromField='fraction_changed' toNode='PortHeloDoor2PathInterpolatorOut' toField='set_fraction'/> |
393 | < ROUTE fromNode='PortHeloDoorClockOut' fromField='fraction_changed' toNode='PortHeloDoor2OrientationInterpolatorOut' toField='set_fraction'/> |
394 | < ROUTE fromNode='PortHeloDoorClockOut' fromField='fraction_changed' toNode='PortHeloDoor3PathInterpolatorOut' toField='set_fraction'/> |
395 | < ROUTE fromNode='PortHeloDoorClockOut' fromField='fraction_changed' toNode='PortHeloDoor3OrientationInterpolatorOut' toField='set_fraction'/> |
396 | < ROUTE fromNode='PortHeloDoorClockOut' fromField='fraction_changed' toNode='PortHeloDoor4PathInterpolatorOut' toField='set_fraction'/> |
397 | < ROUTE fromNode='PortHeloDoorClockOut' fromField='fraction_changed' toNode='PortHeloDoor4OrientationInterpolatorOut' toField='set_fraction'/> |
398 | < ROUTE fromNode='PortHeloDoorClockOut' fromField='fraction_changed' toNode='PortHeloDoor5PathInterpolatorOut' toField='set_fraction'/> |
399 | < ROUTE fromNode='PortHeloDoorClockOut' fromField='fraction_changed' toNode='PortHeloDoor5OrientationInterpolatorOut' toField='set_fraction'/> |
400 | < ROUTE fromNode='PortHeloDoorClockOut' fromField='fraction_changed' toNode='PortHeloDoor6PathInterpolatorOut' toField='set_fraction'/> |
401 | < ROUTE fromNode='PortHeloDoorClockOut' fromField='fraction_changed' toNode='PortHeloDoor6OrientationInterpolatorOut' toField='set_fraction'/> |
402 | <!-- STBD Helo Door movement to geometry --> |
403 | < ROUTE fromNode='PortHeloDoor1PathInterpolatorOut' fromField='value_changed' toNode='HangerDoorPort1' toField='set_translation'/> |
404 | < ROUTE fromNode='PortHeloDoor1OrientationInterpolatorOut' fromField='value_changed' toNode='HangerDoorPort1' toField='set_rotation'/> |
405 | < ROUTE fromNode='PortHeloDoor2PathInterpolatorOut' fromField='value_changed' toNode='HangerDoorPort2' toField='set_translation'/> |
406 | < ROUTE fromNode='PortHeloDoor2OrientationInterpolatorOut' fromField='value_changed' toNode='HangerDoorPort2' toField='set_rotation'/> |
407 | < ROUTE fromNode='PortHeloDoor3PathInterpolatorOut' fromField='value_changed' toNode='HangerDoorPort3' toField='set_translation'/> |
408 | < ROUTE fromNode='PortHeloDoor3OrientationInterpolatorOut' fromField='value_changed' toNode='HangerDoorPort3' toField='set_rotation'/> |
409 | < ROUTE fromNode='PortHeloDoor4PathInterpolatorOut' fromField='value_changed' toNode='HangerDoorPort4' toField='set_translation'/> |
410 | < ROUTE fromNode='PortHeloDoor4OrientationInterpolatorOut' fromField='value_changed' toNode='HangerDoorPort4' toField='set_rotation'/> |
411 | < ROUTE fromNode='PortHeloDoor5PathInterpolatorOut' fromField='value_changed' toNode='HangerDoorPort5' toField='set_translation'/> |
412 | < ROUTE fromNode='PortHeloDoor5OrientationInterpolatorOut' fromField='value_changed' toNode='HangerDoorPort5' toField='set_rotation'/> |
413 | < ROUTE fromNode='PortHeloDoor6PathInterpolatorOut' fromField='value_changed' toNode='HangerDoorPort6' toField='set_translation'/> |
414 | < ROUTE fromNode='PortHeloDoor6OrientationInterpolatorOut' fromField='value_changed' toNode='HangerDoorPort6' toField='set_rotation'/> |
415 | <!-- STBD Helo Door Sensor to clock --> |
416 | < ROUTE fromNode='PortHeloDoorTouchSensor' fromField='touchTime' toNode='PortHeloDoorClockOut' toField='set_startTime'/> |
417 | </Group> |
418 | <Group DEF='PortHangerDoorsDown'> |
419 | <Transform translation='0 5.75 0'> |
420 | <Shape DEF='PortHangerDoorTouchSensorDn'> |
421 | <Appearance> |
422 | <Material USE='Transparent'/> |
423 | </Appearance> |
424 | <Box size='5 1 1.2'/> |
425 | </Shape> |
426 | </Transform> |
427 |
<!-- ROUTE information for PortHeloDoorTouchSensorDown node:
[from touchTime to PortHeloDoorClockDown.set_startTime
]
[from isActive to PortHeloDoorDown.set_boolean
]
-->
<TouchSensor DEF='PortHeloDoorTouchSensorDown' description='LowerPortHeloDoor'/> |
428 |
<!-- ROUTE information for PortHeloDoorClockDown node:
[from PortHeloDoorTouchSensorDown.touchTime to set_startTime
]
[from fraction_changed to PortHeloDoor1PathInterpolatorDown.set_fraction
]
[from fraction_changed to PortHeloDoor1OrientationInterpolatorDown.set_fraction
]
[from fraction_changed to PortHeloDoor2PathInterpolatorDown.set_fraction
]
[from fraction_changed to PortHeloDoor2OrientationInterpolatorDown.set_fraction
]
[from fraction_changed to PortHeloDoor3PathInterpolatorDown.set_fraction
]
[from fraction_changed to PortHeloDoor3OrientationInterpolatorDown.set_fraction
]
[from fraction_changed to PortHeloDoor4PathInterpolatorDown.set_fraction
]
[from fraction_changed to PortHeloDoor4OrientationInterpolatorDown.set_fraction
]
[from fraction_changed to PortHeloDoor5PathInterpolatorDown.set_fraction
]
[from fraction_changed to PortHeloDoor5OrientationInterpolatorDown.set_fraction
]
[from fraction_changed to PortHeloDoor6PathInterpolatorDown.set_fraction
]
[from fraction_changed to PortHeloDoor6OrientationInterpolatorDown.set_fraction
]
-->
<TimeSensor DEF='PortHeloDoorClockDown' cycleInterval='3'/> |
429 |
<!-- ROUTE information for PortHeloDoor1PathInterpolatorDown node:
[from PortHeloDoorClockDown.fraction_changed to set_fraction
]
[from value_changed to HangerDoorPort1.set_translation
]
-->
<PositionInterpolator DEF='PortHeloDoor1PathInterpolatorDown' key='0 1' keyValue='0 5.95 0 0 5.5 0'/> |
430 |
<!-- ROUTE information for PortHeloDoor1OrientationInterpolatorDown node:
[from PortHeloDoorClockDown.fraction_changed to set_fraction
]
[from value_changed to HangerDoorPort1.set_rotation
]
-->
<OrientationInterpolator DEF='PortHeloDoor1OrientationInterpolatorDown' key='0 1' keyValue='1 0 0 -1.43 1 0 0 0'/> |
431 |
<!-- ROUTE information for PortHeloDoor2PathInterpolatorDown node:
[from PortHeloDoorClockDown.fraction_changed to set_fraction
]
[from value_changed to HangerDoorPort2.set_translation
]
-->
<PositionInterpolator DEF='PortHeloDoor2PathInterpolatorDown' key='0 .14 1' keyValue='0 5.88 0 0 5.5 0 0 4.5 0'/> |
432 |
<!-- ROUTE information for PortHeloDoor2OrientationInterpolatorDown node:
[from PortHeloDoorClockDown.fraction_changed to set_fraction
]
[from value_changed to HangerDoorPort2.set_rotation
]
-->
<OrientationInterpolator DEF='PortHeloDoor2OrientationInterpolatorDown' key='0 .14 1' keyValue='1 0 0 1.71 1 0 0 1.3 1 0 0 0'/> |
433 |
<!-- ROUTE information for PortHeloDoor3PathInterpolatorDown node:
[from PortHeloDoorClockDown.fraction_changed to set_fraction
]
[from value_changed to HangerDoorPort3.set_translation
]
-->
<PositionInterpolator DEF='PortHeloDoor3PathInterpolatorDown' key='0 .08 .55 1' keyValue='0 5.81 0 0 5.5 0 0 4.5 0 0 3.5 0'/> |
434 |
<!-- ROUTE information for PortHeloDoor3OrientationInterpolatorDown node:
[from PortHeloDoorClockDown.fraction_changed to set_fraction
]
[from value_changed to HangerDoorPort3.set_rotation
]
-->
<OrientationInterpolator DEF='PortHeloDoor3OrientationInterpolatorDown' key='0 .6 .95 1' keyValue='1 0 0 -1.43 1 0 0 -1 1 0 0 -.6 1 0 0 0'/> |
435 |
<!-- ROUTE information for PortHeloDoor4PathInterpolatorDown node:
[from PortHeloDoorClockDown.fraction_changed to set_fraction
]
[from value_changed to HangerDoorPort4.set_translation
]
-->
<PositionInterpolator DEF='PortHeloDoor4PathInterpolatorDown' key='0 .06 .4 .75 1' keyValue='0 5.74 0 0 5.5 0 0 4.5 0 0 3.5 0 0 2.5 0'/> |
436 |
<!-- ROUTE information for PortHeloDoor4OrientationInterpolatorDown node:
[from PortHeloDoorClockDown.fraction_changed to set_fraction
]
[from value_changed to HangerDoorPort4.set_rotation
]
-->
<OrientationInterpolator DEF='PortHeloDoor4OrientationInterpolatorDown' key='0 .5 .86 .95 1' keyValue='1 0 0 1.71 1 0 0 1.10 1 0 0 .8 1 0 0 .4 1 0 0 0'/> |
437 |
<!-- ROUTE information for PortHeloDoor5PathInterpolatorDown node:
[from PortHeloDoorClockDown.fraction_changed to set_fraction
]
[from value_changed to HangerDoorPort5.set_translation
]
-->
<PositionInterpolator DEF='PortHeloDoor5PathInterpolatorDown' key='0 .04 .3 .55 .85 1' keyValue='0 5.67 0 0 5.5 0 0 4.5 0 0 3.5 0 0 2.5 0 0 1.5 0'/> |
438 |
<!-- ROUTE information for PortHeloDoor5OrientationInterpolatorDown node:
[from PortHeloDoorClockDown.fraction_changed to set_fraction
]
[from value_changed to HangerDoorPort5.set_rotation
]
-->
<OrientationInterpolator DEF='PortHeloDoor5OrientationInterpolatorDown' key='0 .45 .80 .94 .99 1' keyValue='1 0 0 -1.43 1 0 0 -1 1 0 0 -.6 1 0 0 -.4 1 0 0 -.2 1 0 0 0'/> |
439 |
<!-- ROUTE information for PortHeloDoor6PathInterpolatorDown node:
[from PortHeloDoorClockDown.fraction_changed to set_fraction
]
[from value_changed to HangerDoorPort6.set_translation
]
-->
<PositionInterpolator DEF='PortHeloDoor6PathInterpolatorDown' key='0 .03 .25 .45 .68 .9 1' keyValue='0 5.61 0 0 5.5 0 0 4.5 0 0 3.5 0 0 2.5 0 0 1.5 0 0 .5 0'/> |
440 |
<!-- ROUTE information for PortHeloDoor6OrientationInterpolatorDown node:
[from PortHeloDoorClockDown.fraction_changed to set_fraction
]
[from value_changed to HangerDoorPort6.set_rotation
]
-->
<OrientationInterpolator DEF='PortHeloDoor6OrientationInterpolatorDown' key='0 .45 .75 .8 .93 .98 1' keyValue='1 0 0 1.71 1 0 0 1.4 1 0 0 1.1 1 0 0 .8 1 0 0 .4 1 0 0 .2 1 0 0 0'/> |
441 | <!-- Port Helo Door Clock to movement --> |
442 | < ROUTE fromNode='PortHeloDoorClockDown' fromField='fraction_changed' toNode='PortHeloDoor1PathInterpolatorDown' toField='set_fraction'/> |
443 | < ROUTE fromNode='PortHeloDoorClockDown' fromField='fraction_changed' toNode='PortHeloDoor1OrientationInterpolatorDown' toField='set_fraction'/> |
444 | < ROUTE fromNode='PortHeloDoorClockDown' fromField='fraction_changed' toNode='PortHeloDoor2PathInterpolatorDown' toField='set_fraction'/> |
445 | < ROUTE fromNode='PortHeloDoorClockDown' fromField='fraction_changed' toNode='PortHeloDoor2OrientationInterpolatorDown' toField='set_fraction'/> |
446 | < ROUTE fromNode='PortHeloDoorClockDown' fromField='fraction_changed' toNode='PortHeloDoor3PathInterpolatorDown' toField='set_fraction'/> |
447 | < ROUTE fromNode='PortHeloDoorClockDown' fromField='fraction_changed' toNode='PortHeloDoor3OrientationInterpolatorDown' toField='set_fraction'/> |
448 | < ROUTE fromNode='PortHeloDoorClockDown' fromField='fraction_changed' toNode='PortHeloDoor4PathInterpolatorDown' toField='set_fraction'/> |
449 | < ROUTE fromNode='PortHeloDoorClockDown' fromField='fraction_changed' toNode='PortHeloDoor4OrientationInterpolatorDown' toField='set_fraction'/> |
450 | < ROUTE fromNode='PortHeloDoorClockDown' fromField='fraction_changed' toNode='PortHeloDoor5PathInterpolatorDown' toField='set_fraction'/> |
451 | < ROUTE fromNode='PortHeloDoorClockDown' fromField='fraction_changed' toNode='PortHeloDoor5OrientationInterpolatorDown' toField='set_fraction'/> |
452 | < ROUTE fromNode='PortHeloDoorClockDown' fromField='fraction_changed' toNode='PortHeloDoor6PathInterpolatorDown' toField='set_fraction'/> |
453 | < ROUTE fromNode='PortHeloDoorClockDown' fromField='fraction_changed' toNode='PortHeloDoor6OrientationInterpolatorDown' toField='set_fraction'/> |
454 | <!-- STBD Helo Door movement to geometry --> |
455 | < ROUTE fromNode='PortHeloDoor1PathInterpolatorDown' fromField='value_changed' toNode='HangerDoorPort1' toField='set_translation'/> |
456 | < ROUTE fromNode='PortHeloDoor1OrientationInterpolatorDown' fromField='value_changed' toNode='HangerDoorPort1' toField='set_rotation'/> |
457 | < ROUTE fromNode='PortHeloDoor2PathInterpolatorDown' fromField='value_changed' toNode='HangerDoorPort2' toField='set_translation'/> |
458 | < ROUTE fromNode='PortHeloDoor2OrientationInterpolatorDown' fromField='value_changed' toNode='HangerDoorPort2' toField='set_rotation'/> |
459 | < ROUTE fromNode='PortHeloDoor3PathInterpolatorDown' fromField='value_changed' toNode='HangerDoorPort3' toField='set_translation'/> |
460 | < ROUTE fromNode='PortHeloDoor3OrientationInterpolatorDown' fromField='value_changed' toNode='HangerDoorPort3' toField='set_rotation'/> |
461 | < ROUTE fromNode='PortHeloDoor4PathInterpolatorDown' fromField='value_changed' toNode='HangerDoorPort4' toField='set_translation'/> |
462 | < ROUTE fromNode='PortHeloDoor4OrientationInterpolatorDown' fromField='value_changed' toNode='HangerDoorPort4' toField='set_rotation'/> |
463 | < ROUTE fromNode='PortHeloDoor5PathInterpolatorDown' fromField='value_changed' toNode='HangerDoorPort5' toField='set_translation'/> |
464 | < ROUTE fromNode='PortHeloDoor5OrientationInterpolatorDown' fromField='value_changed' toNode='HangerDoorPort5' toField='set_rotation'/> |
465 | < ROUTE fromNode='PortHeloDoor6PathInterpolatorDown' fromField='value_changed' toNode='HangerDoorPort6' toField='set_translation'/> |
466 | < ROUTE fromNode='PortHeloDoor6OrientationInterpolatorDown' fromField='value_changed' toNode='HangerDoorPort6' toField='set_rotation'/> |
467 | <!-- STBD Helo Door Sensor to clock --> |
468 | < ROUTE fromNode='PortHeloDoorTouchSensorDown' fromField='touchTime' toNode='PortHeloDoorClockDown' toField='set_startTime'/> |
469 | </Group> |
470 | </Switch> |
471 | </Transform> |
472 | <Group DEF='PortHeloDoorAnimationControl'> |
473 |
<!-- ROUTE information for PortHeloDoorDown node:
[from PortHeloDoorTouchSensorDown.isActive to set_boolean
]
[from triggerValue to PortHeloDoorSwitch.whichChoice
]
-->
<IntegerTrigger DEF='PortHeloDoorDown' integerKey='0'/> |
474 |
<!-- ROUTE information for PortHeloDoorUp node:
[from PortHeloDoorTouchSensor.isActive to set_boolean
]
[from triggerValue to PortHeloDoorSwitch.whichChoice
]
-->
<IntegerTrigger DEF='PortHeloDoorUp' integerKey='1'/> |
475 | < ROUTE fromNode='PortHeloDoorTouchSensor' fromField='isActive' toNode='PortHeloDoorUp' toField='set_boolean'/> |
476 | < ROUTE fromNode='PortHeloDoorTouchSensorDown' fromField='isActive' toNode='PortHeloDoorDown' toField='set_boolean'/> |
477 | < ROUTE fromNode='PortHeloDoorUp' fromField='triggerValue' toNode='PortHeloDoorSwitch' toField='whichChoice'/> |
478 | < ROUTE fromNode='PortHeloDoorDown' fromField='triggerValue' toNode='PortHeloDoorSwitch' toField='whichChoice'/> |
479 | </Group> |
480 | </Group> |
481 | <Group DEF='THREEGTG'> |
482 | <Transform DEF='STACK' translation='-3 7.4 -27'> |
483 | <Transform> |
484 | <Shape> |
485 | <Appearance> |
486 |
<!-- Material
STACKCOLOR is a DEF node that has 1 USE node: USE_1 --> <Material DEF='STACKCOLOR' diffuseColor='.3 .3 .3'/> |
487 | </Appearance> |
488 | <Cylinder bottom='false' height='1.2' radius='.75'/> |
489 | </Shape> |
490 | </Transform> |
491 | <Transform translation='0 .6 0'> |
492 | <Shape> |
493 | <Appearance> |
494 | <Material USE='STACKCOLOR'/> |
495 | </Appearance> |
496 | <Cylinder bottom='false' height='1'/> |
497 | </Shape> |
498 | </Transform> |
499 | </Transform> |
500 | </Group> |
501 | <Group DEF='BlastDeflector'> |
502 | <Transform translation='0 7 -25'> |
503 | <Shape> |
504 | <Extrusion crossSection='-3.35 0 -3 1.2 3 1.2 3.35 0 -3.35 0' orientation='1 0 0 -.1 1 0 0 .1' spine='0 0 0 0 0 -.3'/> |
505 | <Appearance USE='HazeGray'/> |
506 | </Shape> |
507 | </Transform> |
508 | </Group> |
509 | <Group DEF='JP5Barn'> |
510 | <Transform translation='0 0 -21.5'> |
511 | <Shape> |
512 | <Extrusion crossSection='-2.5 0 -2.3 2 2.3 2 2.5 0 -2.5 0' orientation='1 0 0 -.1 1 0 0 0' scale='.9 .7 1 1' spine='0 0 0 0 0 -2'/> |
513 | <Appearance USE='HazeGray'/> |
514 | </Shape> |
515 | </Transform> |
516 | </Group> |
517 | <Group DEF='LSOShack'> |
518 | <Transform translation='6.75 0 -10'> |
519 | <Shape> |
520 | <Extrusion crossSection='-.75 0 -.7 .5 .7 .5 .75 0 -.7 0' orientation='1 0 0 -.1 1 0 0 .1' scale='1 1 1 1' spine='0 0 0 0 0 -2'/> |
521 | <Appearance USE='HazeGray'/> |
522 | </Shape> |
523 | </Transform> |
524 | <Transform DEF='Aft' rotation='1 0 0 -.1' translation='6.75 .25 -10.02'> |
525 |
<!-- Shape
WindowPane is a DEF node that has 1 USE node: USE_1 -->
<Shape DEF='WindowPane'> |
526 |
<!-- Appearance
WindowColor is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
<Appearance DEF='WindowColor'> |
527 | <Material diffuseColor='0.00 0.40 0.80'/> |
528 | </Appearance> |
529 | <Box size='1.3 .3 .01'/> |
530 | </Shape> |
531 | </Transform> |
532 | <Transform DEF='FWD' rotation='1 0 0 .1' translation='6.75 .25 -11.98'> |
533 | <Shape USE='WindowPane'/> |
534 | </Transform> |
535 | <Transform DEF='Port' rotation='0 0 1 -.1' translation='6.02 .25 -11'> |
536 | <Shape DEF='WindowPanePort'> |
537 | <Appearance USE='WindowColor'/> |
538 | <Box size='.01 .3 1.8'/> |
539 | </Shape> |
540 | </Transform> |
541 | </Group> |
542 | <Group DEF='HSOShack'> |
543 | <Transform translation='1.5 5.5 -23.2'> |
544 | <Shape> |
545 | <Extrusion crossSection='-.75 0 -.7 .1 .7 .1 .75 0 .5 -1 -.5 -1 -.75 0' orientation='1 0 0 .38 1 0 0 0' scale='.8 .8 1 1.3' spine='0 0 0 0 0 -.5'/> |
546 | <Appearance USE='HazeGray'/> |
547 | </Shape> |
548 | </Transform> |
549 | <Transform DEF='AftHSO' rotation='1 0 0 .37' translation='1.5 4.9 -23.43'> |
550 | <Shape DEF='WindowPaneHSO'> |
551 | <Appearance USE='WindowColor'/> |
552 | <Box size='.6 1.3 .01'/> |
553 | </Shape> |
554 | </Transform> |
555 | </Group> |
556 | </Group> |
557 | </Scene> |
558 | </X3D> |
Event Graph ROUTE Table entries with 138 ROUTE connections total, showing X3D event-model relationships for this scene.
Each row shows an event cascade that may occur during a single timestamp interval between frame renderings, as part of the X3D execution model.
PortHeloDoorTouchSensor
TouchSensor touchTime SFTime |
PortHeloDoorClockOut
TimeSensor set_startTime SFTime |
|||||
PortHeloDoorTouchSensor
TouchSensor isActive SFBool |
PortHeloDoorUp
IntegerTrigger set_boolean SFBool |
then
|
PortHeloDoorUp
IntegerTrigger triggerValue SFInt32 |
PortHeloDoorSwitch
Switch whichChoice SFInt32 |
PortHeloDoorTouchSensorDown
TouchSensor touchTime SFTime |
PortHeloDoorClockDown
TimeSensor set_startTime SFTime |
|||||
PortHeloDoorTouchSensorDown
TouchSensor isActive SFBool |
PortHeloDoorDown
IntegerTrigger set_boolean SFBool |
then
|
PortHeloDoorDown
IntegerTrigger triggerValue SFInt32 |
PortHeloDoorSwitch
Switch whichChoice SFInt32 |
PortRastTouchSensorOut
TouchSensor touchTime SFTime |
PortRASTClockOut
TimeSensor set_startTime SFTime |
then
|
PortRASTClockOut
TimeSensor fraction_changed SFFloat |
PortRASTPathInterpolatorOut
PositionInterpolator set_fraction SFFloat |
then
|
PortRASTPathInterpolatorOut
PositionInterpolator value_changed SFVec3f |
PortSideRast
Transform translation SFVec3f |
|||
then
|
PortRASTClockOut
TimeSensor fraction_changed SFFloat |
PortRastOrientationInterpolatorOut
OrientationInterpolator set_fraction SFFloat |
then
|
PortRastOrientationInterpolatorOut
OrientationInterpolator value_changed SFRotation |
PortSideRast
Transform set_rotation SFRotation |
|||||
PortRastTouchSensorOut
TouchSensor isActive SFBool |
PortRastOut
IntegerTrigger set_boolean SFBool |
then
|
PortRastOut
IntegerTrigger triggerValue SFInt32 |
PortRastChoice
Switch whichChoice SFInt32 |
STBDHeloDoorTouchSensor
TouchSensor touchTime SFTime |
STBDHeloDoorClockOut
TimeSensor set_startTime SFTime |
|||||
STBDHeloDoorTouchSensor
TouchSensor isActive SFBool |
STBDHeloDoorUp
IntegerTrigger set_boolean SFBool |
then
|
STBDHeloDoorUp
IntegerTrigger triggerValue SFInt32 |
STBDHeloDoorSwitch
Switch whichChoice SFInt32 |
STBDHeloDoorTouchSensorDown
TouchSensor touchTime SFTime |
STBDHeloDoorClockDown
TimeSensor set_startTime SFTime |
|||||
STBDHeloDoorTouchSensorDown
TouchSensor isActive SFBool |
STBDHeloDoorDown
IntegerTrigger set_boolean SFBool |
then
|
STBDHeloDoorDown
IntegerTrigger triggerValue SFInt32 |
STBDHeloDoorSwitch
Switch whichChoice SFInt32 |
STBDRastTouchSensorOut
TouchSensor touchTime SFTime |
STBDRASTClockOut
TimeSensor set_startTime SFTime |
then
|
STBDRASTClockOut
TimeSensor fraction_changed SFFloat |
STBDRASTPathInterpolatorOut
PositionInterpolator set_fraction SFFloat |
then
|
STBDRASTPathInterpolatorOut
PositionInterpolator value_changed SFVec3f |
StarboardSideRast
Transform translation SFVec3f |
|||
then
|
STBDRASTClockOut
TimeSensor fraction_changed SFFloat |
STBDRastOrientationInterpolatorOut
OrientationInterpolator set_fraction SFFloat |
then
|
STBDRastOrientationInterpolatorOut
OrientationInterpolator value_changed SFRotation |
StarboardSideRast
Transform set_rotation SFRotation |
|||||
STBDRastTouchSensorOut
TouchSensor isActive SFBool |
RastOut
IntegerTrigger set_boolean SFBool |
then
|
RastOut
IntegerTrigger triggerValue SFInt32 |
RastChoice
Switch whichChoice SFInt32 |
<!--
Color-coding legend: X3D terminology
<X3dNode
DEF='idName' field='value'/>
matches XML terminology
<XmlElement
DEF='idName' attribute='value'/>
(Light-blue background: event-based behavior node or statement)
(Grey background inside box: inserted documentation)
(Magenta background: X3D Extensibility)
-->
<!--
For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints.
-->