| 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
" "https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/DDGArleighBurkeUnitedStates/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
" "https://www.web3d.org/x3d/content/examples/Savage/DestroyerGuidedMissile-UnitedStates-ArleighBurke/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.
-->