<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "https://www.web3d.org/specifications/x3d-3.0.dtd">
<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'>
  <head>
    <meta content='HeloFlying.x3d' name='title'/>
    <meta content='Boon Chuan LEE' name='creator'/>
    <meta content='6 September 2001' name='created'/>
    <meta content='16 December 2025' name='modified'/>
    <meta content='find sound file' name='TODO'/>
    <meta content='Modified Helo Flight Path from Savage data base LPD model for DDG-51 Flight IIA' name='description'/>
    <meta content='https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/LandingShipTankEnduranceSingapore/HeloFlying.x3d' name='reference'/>
    <meta content='https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/DDG51FlightIIaUnitedStates/HeloFlying.x3d' name='identifier'/>
    <meta content='X3D-Edit 4.0, https://www.web3d.org/x3d/tools/X3D-Edit' name='generator'/>
    <meta content='../../license.html' name='license'/>
  </head>
  <Scene>
    <WorldInfo title='HeloFlying.x3d'/>
    <Viewpoint description='Helo flying' position='0 16 225'/>
    <Group DEF='HeloGroup'>
      <Transform DEF='Helo'>
        <Transform DEF='Helo1Roll'>
          <Transform DEF='Helo1Pitch'>
            <Transform>
              <Inline url='"../../AircraftHelicopters/SH60SeahawkUnitedStates/SH60Seahawk.x3d" "https://www.web3d.org/x3d/content/examples/Savage/AircraftHelicopters/SH60SeahawkUnitedStates/SH60Seahawk.x3d" "../../AircraftHelicopters/SH60SeahawkUnitedStates/SH60Seahawk.wrl" "https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/AircraftHelicopters/SH60SeahawkUnitedStates/SH60Seahawk.wrl"'/>
            </Transform>
          </Transform>
        </Transform>
      </Transform>
      <TouchSensor DEF='Touch' description='touch to start helo flying'/>
      <TimeSensor DEF='clock' cycleInterval='38'/>
      <PositionInterpolator DEF='Helomover' key='0 0.1 0.15 0.2 0.3 0.4 0.5 0.56 0.62 0.68 0.73 0.8 0.88 0.94 1' keyValue='0.0 0.0 0.0 1.0 30.0 -10.0 115.0 40.0 -50.0 300.0 45.0 -50.0 400.0 60.0 10.0 200.0 50.0 50.0 0.0 50.0 55.0 -100.0 55.0 30.0 -135.0 60.0 10.0 -140.0 60.0 -20.0 -90.0 40.0 -25.0 -30.0 20.0 -15.0 -5.0 15.0 -10.0 0.0 10.0 0.0 0.0 0.0 0.0'/>
      <OrientationInterpolator DEF='Heloyawer' key='0 0.1 0.2 0.3 0.35 0.4 0.43 0.45 0.47 0.5 0.6 0.7' keyValue='1 0 0 0 1 0 0 -0.12 1 0 0 -0.1 1 0 0 0.18 1 0 0 0.2 1 0 0 0.15 1 0 0 0.785 1 0 0 3.14 1 0 0 4.71 1 0 0 -0.08 1 0 0 0 1 0 0 0'/>
      <OrientationInterpolator DEF='Helobanker' key='0 0.05 0.1 0.14 0.2 0.3 0.4 0.5 0.64 0.7 0.76 0.86 0.9 0.93 0.96 1' keyValue='0 1 0 0 0 1 0 0 0 1 0 0.7 0 1 0 0 0 1 0 -0.5 0 1 0 -1.57 0 1 0 -3.14 0 1 0 -3.14 0 1 0 -3.14 0 1 0 -6 0 1 0 0 0 1 0 -0.15 0 1 0 0.15 0 1 0 0 0 1 0 0 0 1 0 0'/>
      <OrientationInterpolator DEF='Helopitch' key='0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.76 0.86 0.9 0.93 0.96 1' keyValue='0 0 1 0 0 0 1 0 0 0 1 0.3 0 0 1 0.3 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 -0.3 0 0 1 -0.2 0 0 1 -0.2 0 0 1 0.13 0 0 1 0.08 0 0 1 0 0 0 1 0'/>
      <Sound direction='1.0 1.0 1.0' maxBack='200.0' maxFront='200.0' minBack='20.0' minFront='20.0'>
        <AudioClip DEF='HeloFlyingAudioClip' description='HeloFlyingAudioClip' loop='true' url='"HeloRotorSound.wav" "https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/DDG51FlightIIaUnitedStates/HeloRotorSound.wav"'/>
      </Sound>
    </Group>
    <ROUTE fromField='touchTime' fromNode='Touch' toField='set_startTime' toNode='clock'/>
    <ROUTE fromField='fraction_changed' fromNode='clock' toField='set_fraction' toNode='Helomover'/>
    <ROUTE fromField='value_changed' fromNode='Helomover' toField='set_translation' toNode='Helo'/>
    <ROUTE fromField='fraction_changed' fromNode='clock' toField='set_fraction' toNode='Helobanker'/>
    <ROUTE fromField='fraction_changed' fromNode='clock' toField='set_fraction' toNode='Heloyawer'/>
    <ROUTE fromField='value_changed' fromNode='Heloyawer' toField='set_rotation' toNode='Helo1Roll'/>
    <ROUTE fromField='value_changed' fromNode='Helobanker' toField='set_rotation' toNode='Helo1Pitch'/>
    <ROUTE fromField='fraction_changed' fromNode='clock' toField='set_fraction' toNode='Helopitch'/>
    <ROUTE fromField='value_changed' fromNode='Helopitch' toField='set_rotation' toNode='Helo'/>
  </Scene>
</X3D>