<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "http://www.web3d.org/specifications/x3d-3.3.dtd">
<X3D profile='Immersive' version='3.3 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation =' http://www.web3d.org/specifications/x3d-3.3.xsd '>
<head>
<meta name='titlecontent='MoveSeaByExtrusion14.x3d'/>
<meta name='creatorcontent='Marcus V. da S. Simoes'/>
<meta name='createdcontent='11 January 2001'/>
<meta name='modifiedcontent='20 October 2019'/>
<meta name='descriptioncontent='Sea state rendering of ocean wave motion.'/>
<meta name='identifiercontent=' https://savage.nps.edu/Savage/Environment/SeaState/MoveSeaByExtrusion14.x3d '/>
<meta name='generatorcontent='X3D-Edit 3.2, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../../license.html'/>
</head>
<!-- -->
<Scene>
<!-- Axis -->
<WorldInfo title='MoveSeaByExtrusion14.x3d'/>
<NavigationInfo speed='100'/>
<Background groundAngle='1.309 1.570796groundColor='0.0 0.2 0.7 0.0 0.5 1.0 0.6 0.6 0.6skyAngle='1.309 1.571skyColor='0.0 0.2 0.7 0.0 0.5 1.0 0.6 0.6 0.6transparency='0'/>
<!-- ================================================= -->
<!-- SeaState&DirectionControlPanel -->
<!-- ================================================= -->
<Transform DEF='SeaBoxSeaandRockIslandbboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Box size='800 400 1000solid='true'/>
<Appearance>
<Material transparency='1'/>
</Appearance>
</Shape>
<Transform DEF='TheSeaStatetranslation='0 0 -500bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform translation='0 -5000 0bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape DEF='BasicWavebboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Appearance DEF='SeaColor'>
<ImageTexture
  url=' "pool.jpg" "https://savage.nps.edu/Savage/Environment/SeaState/pool.jpg" '/>

<Material diffuseColor='0 0 0transparency='0.3'/>
</Appearance>
<!-- ROUTE information for BasicExtrusion node:  [from Ondulation.value_changed to set_spine ] -->
<Extrusion DEF='BasicExtrusionbeginCap='falseconvex='falsecreaseAngle='0.01crossSection='0 0 0 10 0 0endCap='falsesolid='falsespine='0 0.0 0.0000 1.0 0.0204 1.0000 2.0 0.0161 2.0000 3.0 -0.0218 3.0000 4.0 -0.0791 4.0000 5.0 -0.1237 5.0000 6.0 -0.1224 6.000 7.0 -0.0598 7.0000 8.0 0.0503 8.0000 9.0 0.1661 9.0000 10.0 0.2348 10.0000 11.0 0.2163 11.0000 12.0 0.1041 12.0000 13.0 -0.0672 13.0000 14.0 -0.2326 14.0000 15.0 -0.3224 15.0000 16.0 -0.2920 16.0000 17.0 -0.1434 17.0000 18.0 0.0723 18.0000 19.0 0.2728 19.0000 20.0 0.3776 20.0000 21.0 0.3408 21.0000 22.0 0.1718 22.0000 23.0 -0.0670 23.0000 24.0 -0.2840 24.0000 25.0 -0.3951 25.0000 26.0 -0.3568 26.0000 27.0 -0.1846 27.0000 28.0 0.0541 28.0000 29.0 0.2668 29.0000 30.0 0.3734 30.0000 31.0 0.3373 31.0000 32.0 0.1782 32.0000 33.0 -0.0373 33.0000 34.0 -0.2246 34.0000 35.0 -0.3153 35.0000 36.0 -0.2831 36.0000 37.0 -0.1513 37.0000 38.0 0.0205 38.0000 39.0 0.1632 39.0000 40.0 0.2269 40.0000 41.0 0.1990 41.0000 42.0 0.1048 42.0000 43.0 -0.0074 43.0000 44.0 -0.0903 44.0000 45.0 -0.1177 45.0000 46.0 -0.0928 46.0000 47.0 -0.0423 47.0000 48.0 0.0006 48.0000 49.0 0.0142 49.0000 50.0 -0.0012 50.0000 51.0 -0.0251 51.0000 52.0 -0.0307 52.0000 53.0 -0.0015 53.0000 54.0 0.0571 54.0000 55.0 0.1175 55.0000 56.0 0.1429 56.0000 57.0 0.1069 57.0000 58.0 0.0098 58.0000 59.0 -0.1166 59.0000 60.0 -0.2197 60.0000 61.0 -0.2485 61.0000 62.0 -0.1780 62.0000 63.0 -0.0240 63.0000 64.0 0.1590 64.0000 65.0 0.2978 65.0000 66.0 0.3309 66.0000 67.0 0.2357 67.0000 68.0 0.0411 68.0000 69.0 -0.1814 69.0000 70.0 -0.3446 70.0000 71.0 -0.3815 71.0000 72.0 -0.2729 72.0000 73.0 -0.0574 73.0000 74.0 0.1834 74.0000 75.0 0.3563 75.0000 76.0 0.3946 76.0000 77.0 0.2841 77.0000 78.0 0.0689 78.0000 79.0 -0.1668 79.0000 80.0 -0.3327 80.0000 81.0 -0.3686 81.0000 82.0 -0.2664 82.0000 83.0 -0.0721 83.0000 84.0 0.1355 84.0000 85.0 0.2774 85.0000 86.0 0.3057 86.0000 87.0 0.2201 87.0000 88.0 0.0645 88.0000 89.0 -0.0946 89.0000 90.0 -0.1969 90.0000 91.0 -0.2121 91.0000 92.0 -0.1485 92.0000 93.0 -0.0450 93.0000 94.0 0.0499 94.0000 95.0 0.1004 95.0000 96.0 0.0972 96.0000 97.0 0.0580 97.0000 98.0 0.0142 98.0000 99.0 -0.0071 99.0000 100.0 0.0020 100.0'/>
</Shape>
</Transform>
<!-- ROUTE information for SeaStateNumber node:  [from SeaStateChoiceToValue.SeaStateValue to whichChoice ] -->
<Switch DEF='SeaStateNumberwhichChoice='0bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Group DEF='SeaState_1bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform DEF='SST1Escalescale='100 .05 100bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape USE='BasicWavebboxCenter='0 0 0bboxSize='-1 -1 -1'/>
</Transform>
</Group>
<Group DEF='SeaState_2bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform DEF='SST2Scalescale='100 1 100bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape USE='BasicWavebboxCenter='0 0 0bboxSize='-1 -1 -1'/>
</Transform>
</Group>
<Group DEF='SeaState_3bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform DEF='SST3Scalescale='100 2 100bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape USE='BasicWavebboxCenter='0 0 0bboxSize='-1 -1 -1'/>
</Transform>
</Group>
<Group DEF='SeaState_4bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform DEF='SST4Scalescale='100 4 100bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape USE='BasicWavebboxCenter='0 0 0bboxSize='-1 -1 -1'/>
</Transform>
</Group>
<Group DEF='SeaState_5bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform DEF='SST5Scalescale='100 8 100bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape USE='BasicWavebboxCenter='0 0 0bboxSize='-1 -1 -1'/>
</Transform>
</Group>
<Group DEF='SeaState_6bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform DEF='SSTScale6scale='100 12 100bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape USE='BasicWavebboxCenter='0 0 0bboxSize='-1 -1 -1'/>
</Transform>
</Group>
<Group DEF='SeaState_7bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform DEF='SSTScale7scale='100 16 100bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape USE='BasicWavebboxCenter='0 0 0bboxSize='-1 -1 -1'/>
</Transform>
</Group>
<Group DEF='SeaState_8bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform DEF='SSTScale8scale='100 21 100bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape USE='BasicWavebboxCenter='0 0 0bboxSize='-1 -1 -1'/>
</Transform>
</Group>
</Switch>
</Transform>
<Group DEF='TheBeachbboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform scale='25 120 25translation='-400 -2 -400bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<ElevationGrid DEF='BeachElevationxDimension='10zDimension='10height='0.0000 0.0025 0.0049 0.0070 0.0088 0.0102 0.0110 0.0112 0.0108 0.0096 0.0078 0.0052 0.0019 -0.0020 -0.0066 -0.0116 -0.0171 -0.0228 -0.0287 -0.0347 -0.0405 -0.0461 -0.0512 -0.0558 -0.0596 -0.0626 -0.0645 -0.0654 -0.0651 -0.0636 -0.0607 -0.0565 -0.0510 -0.0443 -0.0363 -0.0271 -0.0170 -0.0060 0.0057 0.0179 0.0305 0.0431 0.0557 0.0678 0.0794 0.0901 0.0997 0.1081 0.1150 0.1202 0.1236 0.1250 0.1244 0.1217 0.1268 0.1299 0.128 0.0897 0.0768 0.0622 0.0460 0.0286 0.101 -0.0091 -0.0287 -0.0485 -0.0680 -0.0870 -0.1051 -0.1220 -0.1373 -0.1508 -0.1622 -0.1713 -0.1778 -0.1815 -0.1824 -0.1804 -0.1754 -0.1673 -0.1564 -0.1427 -0.1264 -0.1076 -0.0867 -0.0639 -0.0396 -0.0142 0.0 0.0 0.0 0.0 0.10 0.1 0.14 0.11 0.11 0.0 0.04 0.0'/>
<Appearance> </Appearance>
</Shape>
</Transform>
<Transform DEF='BeachViewrotation='0 1 0 1.2translation='250 10 100bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Viewpoint description='ROCK VIEW'/>
</Transform>
</Group>
</Transform>
<!-- ================================================= -->
<!-- SeaLevelChoiceGroup -->
<!-- ================================================= -->
<Group DEF='SeaStateAndDirectionControlPanelbboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform translation='0 100 4000bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Billboard axisOfRotation='0 1 0bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Group DEF='SeaStateChoicebboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform DEF='Option1translation='0 -2.0 0bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform DEF='Box1translation='0 .1 0bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape DEF='BoxSensorbboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Box size='1 .4 .1solid='true'/>
<Appearance>
<Material diffuseColor='0 0 1specularColor='0 0 1transparency='.9'/>
</Appearance>
</Shape>
<!-- ROUTE information for TouchSensorSeaState1 node:  [from isActive to SeaStateChoiceToValue.SeaStateChoice1 ] -->
<TouchSensor DEF='TouchSensorSeaState1description='touch to activate'/>
<Transform DEF='Text1scale='.25 .25 .25translation='0 0 .1bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Text string='"SST 1"'>
<FontStyle justify='"MIDDLE" "MIDDLE"'/>
</Text>
<Appearance>
<Material emissiveColor='.8 .8 .8'/>
</Appearance>
</Shape>
</Transform>
</Transform>
</Transform>
<Transform DEF='Option2translation='0 -1.5 0bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform DEF='Box2translation='0 .1 0bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Box size='1 .4 .1solid='true'/>
<Appearance>
<Material diffuseColor='0 0 .8transparency='.7'/>
</Appearance>
</Shape>
<!-- ROUTE information for TouchSensorSeaState2 node:  [from isActive to SeaStateChoiceToValue.SeaStateChoice2 ] -->
<TouchSensor DEF='TouchSensorSeaState2description='touch to activate'/>
<Transform DEF='Text2scale='.25 .25 .25translation='0 0 .1bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Text string='"SST 2"'>
<FontStyle justify='"MIDDLE" "MIDDLE"'/>
</Text>
<Appearance>
<Material emissiveColor='.8 .8 .8'/>
</Appearance>
</Shape>
</Transform>
</Transform>
</Transform>
<Transform DEF='Option3translation='0 -1.0 0bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform DEF='Box3translation='0 .1 0bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Box size='1 .4 .1solid='true'/>
<Appearance>
<Material diffuseColor='0 0 .8transparency='.7'/>
</Appearance>
</Shape>
<!-- ROUTE information for TouchSensorSeaState3 node:  [from isActive to SeaStateChoiceToValue.SeaStateChoice3 ] -->
<TouchSensor DEF='TouchSensorSeaState3description='touch to activate'/>
<Transform DEF='Text3scale='.25 .25 .25translation='0 0 .1bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Text string='"SST 3"'>
<FontStyle justify='"MIDDLE" "MIDDLE"'/>
</Text>
<Appearance>
<Material emissiveColor='.8 .8 .8'/>
</Appearance>
</Shape>
</Transform>
</Transform>
</Transform>
<Transform DEF='Option4translation='0 -0.5 0bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform DEF='Box4translation='0 .1 0bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Box size='1 .4 .1solid='true'/>
<Appearance>
<Material diffuseColor='0 0.8 0transparency='0.8'/>
</Appearance>
</Shape>
<!-- ROUTE information for TouchSensorSeaState4 node:  [from isActive to SeaStateChoiceToValue.SeaStateChoice4 ] -->
<TouchSensor DEF='TouchSensorSeaState4description='touch to activate'/>
<Transform DEF='Text4scale='.25 .25 .25translation='0 0 .1bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Text string='"SST 4"'>
<FontStyle justify='"MIDDLE" "MIDDLE"'/>
</Text>
<Appearance>
<Material emissiveColor='.8 .8 .8'/>
</Appearance>
</Shape>
</Transform>
</Transform>
</Transform>
<Transform DEF='Option5bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform DEF='Box5translation='0 .1 0bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Box size='1 .4 .1solid='true'/>
<Appearance>
<Material diffuseColor='0 .5 0transparency='.4'/>
</Appearance>
</Shape>
<Transform DEF='Text5scale='.25 .25 .25translation='0 0 .1bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Text string='"SST 5"'>
<FontStyle justify='"MIDDLE" "MIDDLE"'/>
</Text>
<Appearance>
<Material emissiveColor='.8 .8 .8'/>
</Appearance>
</Shape>
</Transform>
<!-- ROUTE information for TouchSensorSeaState5 node:  [from isActive to SeaStateChoiceToValue.SeaStateChoice5 ] -->
<TouchSensor DEF='TouchSensorSeaState5description='touch to activate'/>
</Transform>
</Transform>
<Transform DEF='Option6translation='0 .5 0bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform DEF='Box6translation='0 .1 0bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform DEF='Text6scale='.25 .25 .25translation='0 0 .1bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Text string='"SST 6"'>
<FontStyle justify='"MIDDLE" "MIDDLE"'/>
</Text>
<Appearance>
<Material emissiveColor='.8 .8 .8'/>
</Appearance>
</Shape>
</Transform>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Box size='1 .4 .1solid='true'/>
<Appearance>
<Material diffuseColor='.2 0 0transparency='0.8'/>
</Appearance>
</Shape>
<!-- ROUTE information for TouchSensorSeaState6 node:  [from isActive to SeaStateChoiceToValue.SeaStateChoice6 ] -->
<TouchSensor DEF='TouchSensorSeaState6description='touch to activate'/>
</Transform>
</Transform>
<Transform DEF='Option7translation='0 1.0 0bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform DEF='Box7translation='0 .1 0bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform DEF='Text7scale='.25 .25 .25translation='0 0 .1bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Text string='"SST 7"'>
<FontStyle justify='"MIDDLE" "MIDDLE"'/>
</Text>
<Appearance>
<Material emissiveColor='.8 .8 .8'/>
</Appearance>
</Shape>
</Transform>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Box size='1 .4 .1solid='true'/>
<Appearance>
<Material diffuseColor='.5 0 0transparency='0.7'/>
</Appearance>
</Shape>
<!-- ROUTE information for TouchSensorSeaState7 node:  [from isActive to SeaStateChoiceToValue.SeaStateChoice7 ] -->
<TouchSensor DEF='TouchSensorSeaState7description='touch to activate'/>
</Transform>
</Transform>
<Transform DEF='Option8translation='0 1.5 0bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform DEF='Box8translation='0 .1 0bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform DEF='Text8scale='.25 .25 .25translation='0 0 .1bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Text string='"SST 8"'>
<FontStyle justify='"MIDDLE" "MIDDLE"'/>
</Text>
<Appearance>
<Material emissiveColor='.8 .8 .8'/>
</Appearance>
</Shape>
</Transform>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Box size='1 .4 .1solid='true'/>
<Appearance>
<Material diffuseColor='1 0 0transparency='0.5'/>
</Appearance>
</Shape>
<!-- ROUTE information for TouchSensorSeaState8 node:  [from isActive to SeaStateChoiceToValue.SeaStateChoice8 ] -->
<TouchSensor DEF='TouchSensorSeaState8description='touch to activate'/>
</Transform>
</Transform>
<Transform translation='0 0 -3bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Box size='2 6.5 0.2solid='true'/>
<Appearance>
<Material diffuseColor='.3 .3 .3'/>
</Appearance>
</Shape>
</Transform>
</Group>
</Billboard>
<Viewpoint description='SEA PANELposition='-2 0 6'/>
</Transform>
</Group>
<!-- ================================================= -->
<!-- TaskForce -->
<!-- ================================================= -->
<Group DEF='TaskForcebboxCenter='0 0 0bboxSize='-1 -1 -1'>
<!-- Cruiser -->
<!-- ROUTE information for ShipVelocity node:  [from ShipBuoyanceHeight.value_changed to set_translation ] -->
<Transform DEF='ShipVelocityrotation='0 1 0 2.357bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<!-- ROUTE information for ShipBuoyance node:  [from ShipBuoyanceHeight.value_changed to set_translation ] [from SubBuoyanceHeigth.value_changed to set_translation ] -->
<Transform DEF='ShipBuoyancebboxCenter='0 0 0bboxSize='-1 -1 -1'>
<!-- ROUTE information for ShipPitch node:  [from Pitch.value_changed to set_rotation ] -->
<Transform DEF='ShipPitchbboxCenter='0 0 0bboxSize='-1 -1 -1'>
<!-- ROUTE information for ShipRoll node:  [from Roll.value_changed to set_rotation ] -->
<Transform DEF='ShipRollbboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Inline bboxCenter='0 0 0bboxSize='-1 -1 -1'
  url=' "../../ShipsMilitary/CruiserUnitedStates/Cruiser.x3d" "https://savage.nps.edu/Savage/ShipsMilitary/CruiserUnitedStates/Cruiser.x3d" "../../ShipsMilitary/CruiserUnitedStates/Cruiser.wrl" "https://savage.nps.edu/Savage/ShipsMilitary/CruiserUnitedStates/Cruiser.wrl" '/>

<Transform translation='38 18.5 -9.5bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Viewpoint DEF='ShipBridgedescription='BRIDGE VIEWfieldOfView='1.51orientation='0 1 0 -1.57'/>
</Transform>
</Transform>
</Transform>
<Viewpoint DEF='TopViewdescription='AERIAL VIEWorientation='1 0 0 -1.571position='0 500 0'/>
</Transform>
</Transform>
<!-- SubmarineSimulation@5mDepth -->
<Transform DEF='SubBuoyancerotation='0 1 0 0.785scale='.1 .1 .1translation='300 -10 -300bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<!-- ROUTE information for SubPitch node:  [from Pitch.value_changed to set_rotation ] -->
<Transform DEF='SubPitchbboxCenter='0 0 0bboxSize='-1 -1 -1'>
<!-- ROUTE information for SubRoll node:  [from Roll.value_changed to set_rotation ] -->
<Transform DEF='SubRollbboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform bboxCenter='0 0 0bboxSize='-1 -1 -1'> </Transform>
</Transform>
</Transform>
</Transform>
</Group>
<!-- ================================================= -->
<!-- AnimationClock -->
<!-- ================================================= -->
<Group DEF='TimeSensorsbboxCenter='0 0 0bboxSize='-1 -1 -1'>
<!-- ROUTE information for ShipClock node:  [from fraction_changed to ShipBuoyanceHeight.set_fraction ] -->
<TimeSensor DEF='ShipClockcycleInterval='80loop='true'/>
<!-- ROUTE information for BuoyanceClock node:  [from fraction_changed to ShipBuoyanceHeight.set_fraction ] [from fraction_changed to SubBuoyanceHeigth.set_fraction ] -->
<TimeSensor DEF='BuoyanceClockcycleInterval='80loop='true'/>
<!-- ROUTE information for PitchClock node:  [from fraction_changed to Pitch.set_fraction ] -->
<TimeSensor DEF='PitchClockcycleInterval='25loop='true'/>
<!-- ROUTE information for RollClock node:  [from fraction_changed to Roll.set_fraction ] -->
<TimeSensor DEF='RollClockcycleInterval='40loop='true'/>
<!-- ROUTE information for Clock node:  [from fraction_changed to Ondulation.set_fraction ] -->
<TimeSensor DEF='ClockcycleInterval='45loop='true'/>
</Group>
<!-- ================================================= -->
<!-- Interpolators -->
<!-- ================================================= -->
<!-- MovingTheShip -->
<Group DEF='OrientationbboxCenter='0 0 0bboxSize='-1 -1 -1'>
<!-- ROUTE information for Roll node:  [from SeaStateChoiceToValue.RollValue to set_keyValue ] [from RollClock.fraction_changed to set_fraction ] [from value_changed to ShipRoll.set_rotation ] [from value_changed to SubRoll.set_rotation ] -->
<OrientationInterpolator DEF='Rollkey='0.0 0.5 1.0keyValue='1 0 0 -0.08 1 0 0 0.08 1 0 0 -0.08'/>
<!-- ROUTE information for Pitch node:  [from SeaStateChoiceToValue.PitchValue to set_keyValue ] [from PitchClock.fraction_changed to set_fraction ] [from value_changed to ShipPitch.set_rotation ] [from value_changed to SubPitch.set_rotation ] -->
<OrientationInterpolator DEF='Pitchkey='0.0 0.5 1.0keyValue='0 0 1 -0.03 0 0 1 0.03 0 0 1 -0.03'/>
<!-- ROUTE information for ShipBuoyanceHeight node:  [from SeaStateChoiceToValue.BuoyanceValue to set_keyValue ] [from SeaStateChoiceToValue.BuoyanceKeyValues to set_key ] [from BuoyanceClock.fraction_changed to set_fraction ] [from ShipClock.fraction_changed to set_fraction ] [from value_changed to ShipBuoyance.set_translation ] [from value_changed to ShipVelocity.set_translation ] -->
<PositionInterpolator DEF='ShipBuoyanceHeightkey='0 0.0100 0.0200 0.0300 0.0400 0.0500 0.0600 0.0700 0.0800 0.0900 0.1000 0.1100 0.1200 0.1300 0.1400 0.1500 0.1600 0.1700 0.1800 0.1900 0.2000 0.2100 0.2200 0.2300 0.2400 0.2500 0.2600 0.2700 0.2800 0.2900 0.3000 0.3100 0.3200 0.3300 0.3400 0.3500 0.3600 0.3700 0.3800 0.3900 0.4000keyValue='400.0 1.1345 400.0000 390.0 0.8160 390.0000 380.0 0.1025 380.0000 370.0 -0.7565 370.0000 360.0 -1.4155 360.0000 350.0 -1.5765 350.0000 340.0 -1.1230 340.0000 330.0 -0.1865 330.0000 320.0 0.8910 320.0000 310.0 1.6865 310.0000 300.0 1.8670 300.0000 290.0 1.3340 290.0000 280.0 0.2705 280.0000 270.0 -0.9230 270.0000 260.0 -1.7840 260.0000 250.0 -1.9755 250.0000 240.0 -1.4200 240.0000 230.0 -0.3350 230.0000 220.0 0.8590 220.0000 210.0 1.7040 210.0000 200.0 1.8880 200.0000 190.0 1.3640 190.0000 180.0 0.3615 180.0000 170.0 -0.7170 170.0000 160.0 -1.4600 160.0000 150.0 -1.6120 150.0000 140.0 -1.1630 140.0000 130.0 -0.3360 130.0000 120.0 0.5205 120.0000 110.0 1.0815 110.0000 100.0 1.1740 100.0000 90.0 0.8305 90.0000 80.0 0.2515 80.0000 70.0 -0.2990 70.0000 60.0 -0.6120 60.0000 50.0 -0.6185 50.0000 40.0 -0.3955 40.0000 30.0 -0.1090 30.0000 20.0 0.0805 20.0000 10.0 0.1020 10.0000 0 0 0'/>
<!-- ROUTE information for SubBuoyanceHeigth node:  [from BuoyanceClock.fraction_changed to set_fraction ] [from value_changed to ShipBuoyance.set_translation ] -->
<PositionInterpolator DEF='SubBuoyanceHeigthkey='0 0.0100 0.0200 0.0300 0.0400 0.0500 0.0600 0.0700 0.0800 0.0900 0.1000 0.1100 0.1200 0.1300 0.1400 0.1500 0.1600 0.1700 0.1800 0.1900 0.2000 0.2100 0.2200 0.2300 0.2400 0.2500 0.2600 0.2700 0.2800 0.2900 0.3000 0.3100 0.3200 0.3300 0.3400 0.3500 0.3600 0.3700 0.3800 0.3900 0.4000keyValue='300.0 -0.0060 -300.0000 300.0 0.0710 -300.0000 300.0 0.0030 -300.0000 300.0 -0.2115 -300.0000 300.0 -0.4640 -300.0000 300.0 -0.5885 -300.0000 300.0 -0.4515 -300.0000 300.0 -0.0370 -300.0000 300.0 0.5240 -300.0000 300.0 0.9950 -300.0000 300.0 1.1345 -300.0000 300.0 0.8160 -300.0000 300.0 0.1025 -300.0000 300.0 -0.7565 -300.0000 300.0 -1.4155 -300.0000 300.0 -1.5765 -300.0000 300.0 -1.1230 -300.0000 300.0 -0.1865 -300.0000 300.0 0.8910 -300.0000 300.0 1.6865 -300.0000 300.0 1.8670 -300.0000 300.0 1.3340 -300.0000 300.0 0.2705 -300.0000 300.0 -0.9230 -300.0000 300.0 -1.7840 -300.0000 300.0 -1.9755 -300.0000 300.0 -1.4200 -300.0000 300.0 -0.3350 -300.0000 300.0 0.8590 -300.0000 300.0 1.7040 -300.0000 300.0 1.8880 -300.0000 300.0 1.3640 -300.0000 300.0 -0.7170 -300.0000 300.0 -1.4600 -300.0000 300.0 -1.6120 -300.0000 300.0 -1.1630 -300.0000 300.0 -0.3360 -300.0000 300.0 0.5205 -300.0000 300.0 1.0815 -300.0000 300.0 1.1740 -300.0000 300.0 0.8305 -300.0'/>
</Group>
<!-- MovingTheSea -->
<Group DEF='CoordinatebboxCenter='0 0 0bboxSize='-1 -1 -1'>
<!-- ROUTE information for Ondulation node:  [from Clock.fraction_changed to set_fraction ] [from value_changed to BasicExtrusion.set_spine ] -->
<CoordinateInterpolator DEF='Ondulationkey='0.0 0.25 0.50 0.75 1.0keyValue='-4.100 0.0 0 -4.0 0.0 0 -3.529 0.674 0 -3.059 0.996 0 -2.588 0.798 0 -2.118 0.184 0 -1.647 -0.526 0 -1.176 -0.962 0 -0.706 -0.895 0 -0.235 -0.361 0 0.235 0.361 0 0.706 0.895 0 1.176 0.962 0 1.647 0.526 0 2.118 -0.184 0 2.588 -0.798 0 3.059 -0.996 0 3.529 -0.674 0 4.0 0.0 0 -4.100 -1.0 0 -4.0 -1.0 0 -3.529 -0.739 0 -3.059 -0.092 0 -2.588 0.603 0 -2.118 0.983 0 -1.647 0.850 0 -1.176 0.274 0 -0.706 -0.446 0 -0.235 -0.932 0 0.235 -0.932 0 0.706 -0.446 0 1.176 0.274 0 1.647 0.850 0 2.118 0.983 0 2.588 0.603 0 3.059 -0.092 0 3.529 -0.739 0 4.0 -1.0 0 -4.100 0.0 0 -4.0 0.0 0 -3.529 -0.674 0 -3.059 -0.996 0 -2.588 -0.798 0 -2.118 -0.184 0 -1.647 0.526 0 -1.176 0.962 0 -0.706 0.895 0 -0.235 0.361 0 0.235 -0.361 0 0.706 -0.895 0 1.176 -0.962 0 1.647 -0.526 0 2.118 0.184 0 2.588 0.798 0 3.059 0.996 0 3.529 0.674 0 4.0 0.0 0 -4.100 1.0 0 -4.0 1.0 0 -3.529 0.739 0 -3.059 0.092 0 -2.588 -0.603 0 -2.118 -0.983 0 -1.647 -0.850 0 -1.176 -0.274 0 -0.706 0.446 0 -0.235 0.932 0 0.235 0.932 0 0.706 0.446 0 1.176 -0.274 0 1.647 -0.850 0 2.118 -0.983 0 2.588 -0.603 0 3.059 0.092 0 3.529 0.739 0 4.0 1.0 0 -4.100 0.0 0 -4.0 0.0 0 -3.529 0.674 0 -3.059 0.996 0 -2.588 0.798 0 -2.118 0.184 0 -1.647 -0.526 0 -1.176 -0.962 0 -0.706 -0.895 0 -0.235 -0.361 0 0.235 0.361 0 0.706 0.895 0 1.176 0.962 0 1.647 0.526 0 2.118 -0.184 0 2.588 -0.798 0 3.059 -0.996 0 3.529 -0.674 0 4.0 0.0 0'/>
</Group>
<!-- ================================================= -->
<!-- Scripts -->
<!-- ================================================= -->
<Group DEF='ScriptsForWaveMovementbboxCenter='0 0 0bboxSize='-1 -1 -1'>
<!-- ROUTE information for SeaStateChoiceToValue node:  [from TouchSensorSeaState1.isActive to SeaStateChoice1 ] [from TouchSensorSeaState2.isActive to SeaStateChoice2 ] [from TouchSensorSeaState3.isActive to SeaStateChoice3 ] [from TouchSensorSeaState4.isActive to SeaStateChoice4 ] [from TouchSensorSeaState5.isActive to SeaStateChoice5 ] [from TouchSensorSeaState6.isActive to SeaStateChoice6 ] [from TouchSensorSeaState7.isActive to SeaStateChoice7 ] [from TouchSensorSeaState8.isActive to SeaStateChoice8 ] [from SeaStateValue to SeaStateNumber.whichChoice ] [from BuoyanceValue to ShipBuoyanceHeight.set_keyValue ] [from BuoyanceKeyValues to ShipBuoyanceHeight.set_key ] [from PitchValue to Pitch.set_keyValue ] [from RollValue to Roll.set_keyValue ] -->
<Script DEF='SeaStateChoiceToValue'>
<field name='SeaStateChoice0type='SFBoolaccessType='inputOnly'/>
<field name='SeaStateChoice1type='SFBoolaccessType='inputOnly'/>
<field name='SeaStateChoice2type='SFBoolaccessType='inputOnly'/>
<field name='SeaStateChoice3type='SFBoolaccessType='inputOnly'/>
<field name='SeaStateChoice4type='SFBoolaccessType='inputOnly'/>
<field name='SeaStateChoice5type='SFBoolaccessType='inputOnly'/>
<field name='SeaStateChoice6type='SFBoolaccessType='inputOnly'/>
<field name='SeaStateChoice7type='SFBoolaccessType='inputOnly'/>
<field name='SeaStateChoice8type='SFBoolaccessType='inputOnly'/>
<field name='SeaStateValuetype='SFInt32accessType='outputOnly'/>
<field name='BuoyanceValuetype='MFVec3faccessType='outputOnly'/>
<field name='BuoyanceKeyValuestype='MFFloataccessType='outputOnly'/>
<field name='PitchValuetype='MFRotationaccessType='outputOnly'/>
<field name='RollValuetype='MFRotationaccessType='outputOnly'/>
<![CDATA[
        
ecmascript:

// Return the numeric value of SST button clicked
//mfVec3fObjectName = new MFVec3f(SFVec3f v1, SFVec3f v2,...)
//sfVec3fObjectName = new SFVec3f(numeric x, numeric y, numeric z)
//sfRotationObjectName = new SFRotation(numeric x, numeric y, numeric z, numeric angle)
//mfRotationObjectName = new MFRotation(SFRotation r1, SFRotation r2, ...)
//mfFloatObjectName = new MFFloat(numeric n1, numeric n2, ...)

//Sea state 4 ( Beaufort=4-6)with wind=20 Knots
//               freq=0.124(8.1 period)
//               wavelength=159.2m
//               waveheight=4-8 ft or 1.32m-2.64 meam +/- 1.98=2.00m


function initialize ()
{
	SeaStateValue = 0;
}

//function ComputeSSH(Ssh)
//Sea state 1 (Beaufort 2 to 3) with wind 4 to 10 Knots
//               freq = .5   (    period (T))
//               wavelength= 12.5   m (L)
//               waveheight=2-4 (3 as mean or ft or 0.91 meam +/- .91m ( A )
//{
//	A=0.91;
//	L=12.5;
//	k=1/159.2;
//	f=0.5;
//	pi=3.141592;
//	T=8.1;
//	for ( var x=0, t=0 ; i <= 10 ; x=x+0.1, t=t+0.1);
//	theta0=0;
//	theta1=pi/12;
//	theta2=-pi/12;
//	w=2*pi*0.124;
//	height=A*cos(2*pi*((x/L)-(t/T)));
//	saida=[x       t        height];
//	return height;
//}

function SeaStateChoice1 (inputBoolean, timestamp)
{
	if (inputBoolean)
	{
//	ComputeSSH(1);
	SeaStateValue = 0;
	L=1
 	y0=L* -0.0060
	y1=L*0.0710
	y2=L*0.0030
	y3=L*-0.2115
	y4=L*-0.4640
	y5=L*-0.5885
	y6=L*-0.4515
	y7=L*-0.0370
	y8=L*0.5240
	y9=L*0.9950
	y10=L*1.1345
	y11=L*0.8160
	y12=L*0.1025
	y13=L*-0.7565
	y14=L*-1.4155
	y15=L*-1.5765
	y16=L*-1.1230
	y17=L*-0.1865
	y18=L*0.8910
	y19=L*1.6865
	y20=L*1.8670
	y21=L*1.3340
	y22=L*0.2705
	y23=L*-0.9230
	y24=L*-1.7840
	y25=L*-1.9755
	y26=L*-1.4200
	y27=L*-0.3350
	y28=L*0.8590
	y29=L*1.7040
	y30=L*1.8880
	y31=L*1.3640
	y32=L*0.3615
	y33=L*-0.7170
	y34=L*-1.4600
	y35=L*-1.6120
	y36=L*-1.1630
	y37=L*-0.3360
	y38=L*-0.5205
	y39=L*-1.0815
	y40=L*-0.1740
	x1 = new SFVec3f(400, y0, 400);
	x2 = new SFVec3f(390, y1, 390);
	x3 = new SFVec3f(380, y2, 380);
	x4 = new SFVec3f(370, y3, 370);
	x5 = new SFVec3f(360, y4, 360);
	x6= new SFVec3f(350, y5, 350);
	x7 = new SFVec3f(340, y6, 340);
	x8 = new SFVec3f(330, y7, 330);
	x9 = new SFVec3f(320, y8, 320);
	x10 = new SFVec3f(310,y9, 310);
	x11 = new SFVec3f(300, y10, 300);
	x12 = new SFVec3f(290, y11, 290);
	x13 = new SFVec3f(280, y12, 280);
	x14 = new SFVec3f(260, y13, 260);
	x15 = new SFVec3f(250, y14, 250);
	x16= new SFVec3f(240, y15, 240);
	x17 = new SFVec3f(230, y16, 230);
	x18 = new SFVec3f(220, y17, 220);
	x19 = new SFVec3f(210, y18, 210);
	x20 = new SFVec3f(200,y19, 200);
	x21 = new SFVec3f(190, y20, 190);
	x22 = new SFVec3f(180, y21, 180);
	x23 = new SFVec3f(170, y22, 170);
	x24 = new SFVec3f(160, y23, 160);
	x25 = new SFVec3f(150, y4, 150);
	x26= new SFVec3f(140, y25, 140);
	x27 = new SFVec3f(130, y26, 130);
	x28 = new SFVec3f(120, y27, 120);
	x29 = new SFVec3f(110, y28, 110);
	x30 = new SFVec3f(100, y29, 100);
	x31 = new SFVec3f(90, y30, 90);
	x32= new SFVec3f(80, y31, 80);
	x33 = new SFVec3f(70, y32, 70);
	x34 = new SFVec3f(60, y33, 60);
	x35 = new SFVec3f(50, y34, 50);
	x36= new SFVec3f(40, y35, 40);
	x37 = new SFVec3f(30, y36, 30);
	x38 = new SFVec3f(20, y37, 20);
	x39 = new SFVec3f(10, y38, 10);
	x40 = new SFVec3f(5,y39, 5);
	x41 = new SFVec3f(0,y40, 0);
	R1 = new SFRotation(1, 0, 0, 0.01);
	R2 = new SFRotation(1, 0, 0, -0.01);
	R3 = new SFRotation(1, 0, 0, 0.01);
	P1 = new SFRotation(0, 0, 1, 0.01);
	P2 = new SFRotation(0, 0, 1, -0.01);
	P3 = new SFRotation(0, 0, 1, 0.01);
	PitchValue = new MFRotation(P1, P2, P3);
	RollValue = new MFRotation(R1, R2, R3);
	BuoyanceValue = new MFVec3f(x1, x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41)
	BuoyanceKeyValues = new MFFloat( 0, 0.01, 0.02,0.03, 0.04, 0.05, 0.06, 0.07,0.08, 0.09, 0.1, 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.2, 0.21, 0.22, 0.23, 0.24, 0.2500  , 0.2600  , 0.2700  , 0.2800  , 0.2900  , 0.3000  , 0.3100  , 0.3200  , 0.3300  , 0.3400  , 0.3500  , 0.3600  , 0.3700  , 0.3800   ,0.3900   ,0.4000)
	}
}

function SeaStateChoice2 (inputBoolean, timestamp)
{
	if (inputBoolean)
	{
	SeaStateValue = 1;
	L=1.5
 	y0=L* -0.0060
	y1=L*0.0710
	y2=L*0.0030
	y3=L*-0.2115
	y4=L*-0.4640
	y5=L*-0.5885
	y6=L*-0.4515
	y7=L*-0.0370
	y8=L*0.5240
	y9=L*0.9950
	y10=L*1.1345
	y11=L*0.8160
	y12=L*0.1025
	y13=L*-0.7565
	y14=L*-1.4155
	y15=L*-1.5765
	y16=L*-1.1230
	y17=L*-0.1865
	y18=L*0.8910
	y19=L*1.6865
	y20=L*1.8670
	y21=L*1.3340
	y22=L*0.2705
	y23=L*-0.9230
	y24=L*-1.7840
	y25=L*-1.9755
	y26=L*-1.4200
	y27=L*-0.3350
	y28=L*0.8590
	y29=L*1.7040
	y30=L*1.8880
	y31=L*1.3640
	y32=L*0.3615
	y33=L*-0.7170
	y34=L*-1.4600
	y35=L*-1.6120
	y36=L*-1.1630
	y37=L*-0.3360
	y38=L*-0.5205
	y39=L*-1.0815
	y40=L*-0.1740
	x1 = new SFVec3f(400, y0, 400);
	x2 = new SFVec3f(390, y1, 390);
	x3 = new SFVec3f(380, y2, 380);
	x4 = new SFVec3f(370, y3, 370);
	x5 = new SFVec3f(360, y4, 360);
	x6= new SFVec3f(350, y5, 350);
	x7 = new SFVec3f(340, y6, 340);
	x8 = new SFVec3f(330, y7, 330);
	x9 = new SFVec3f(320, y8, 320);
	x10 = new SFVec3f(310,y9, 310);
	x11 = new SFVec3f(300, y10, 300);
	x12 = new SFVec3f(290, y11, 290);
	x13 = new SFVec3f(280, y12, 280);
	x14 = new SFVec3f(260, y13, 260);
	x15 = new SFVec3f(250, y14, 250);
	x16= new SFVec3f(240, y15, 240);
	x17 = new SFVec3f(230, y16, 230);
	x18 = new SFVec3f(220, y17, 220);
	x19 = new SFVec3f(210, y18, 210);
	x20 = new SFVec3f(200,y19, 200);
	x21 = new SFVec3f(190, y20, 190);
	x22 = new SFVec3f(180, y21, 180);
	x23 = new SFVec3f(170, y22, 170);
	x24 = new SFVec3f(160, y23, 160);
	x25 = new SFVec3f(150, y4, 150);
	x26= new SFVec3f(140, y25, 140);
	x27 = new SFVec3f(130, y26, 130);
	x28 = new SFVec3f(120, y27, 120);
	x29 = new SFVec3f(110, y28, 110);
	x30 = new SFVec3f(100, y29, 100);
	x31 = new SFVec3f(90, y30, 90);
	x32= new SFVec3f(80, y31, 80);
	x33 = new SFVec3f(70, y32, 70);
	x34 = new SFVec3f(60, y33, 60);
	x35 = new SFVec3f(50, y34, 50);
	x36= new SFVec3f(40, y35, 40);
	x37 = new SFVec3f(30, y36, 30);
	x38 = new SFVec3f(20, y37, 20);
	x39 = new SFVec3f(10, y38, 10);
	x40 = new SFVec3f(5,y39, 5);
	x41 = new SFVec3f(0,y40, 0);
	R1 = new SFRotation(1, 0, 0, 0.02);
	R2 = new SFRotation(1, 0, 0, -0.02);
	R3 = new SFRotation(1, 0, 0, 0.02);
	P1 = new SFRotation(0, 0, 1, 0.02);
	P2 = new SFRotation(0, 0, 1, -0.02);
	P3 = new SFRotation(0, 0, 1, 0.02);
	PitchValue = new MFRotation(P1, P2, P3);
	RollValue = new MFRotation(R1, R2, R3);
	BuoyanceValue = new MFVec3f(x1, x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41)
	BuoyanceKeyValues = new MFFloat( 0, 0.01, 0.02,0.03, 0.04, 0.05, 0.06, 0.07,0.08, 0.09, 0.1, 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.2, 0.21, 0.22, 0.23, 0.24, 0.2500  , 0.2600  , 0.2700  , 0.2800  , 0.2900  , 0.3000  , 0.3100  , 0.3200  , 0.3300  , 0.3400  , 0.3500  , 0.3600  , 0.3700  , 0.3800   ,0.3900   ,0.4000)
	}
}

function SeaStateChoice3 (inputBoolean,timestamp)
{
	if (inputBoolean)
	{
	SeaStateValue = 2;
	L=2
 	y0=L* -0.0060
	y1=L*0.0710
	y2=L*0.0030
	y3=L*-0.2115
	y4=L*-0.4640
	y5=L*-0.5885
	y6=L*-0.4515
	y7=L*-0.0370
	y8=L*0.5240
	y9=L*0.9950
	y10=L*1.1345
	y11=L*0.8160
	y12=L*0.1025
	y13=L*-0.7565
	y14=L*-1.4155
	y15=L*-1.5765
	y16=L*-1.1230
	y17=L*-0.1865
	y18=L*0.8910
	y19=L*1.6865
	y20=L*1.8670
	y21=L*1.3340
	y22=L*0.2705
	y23=L*-0.9230
	y24=L*-1.7840
	y25=L*-1.9755
	y26=L*-1.4200
	y27=L*-0.3350
	y28=L*0.8590
	y29=L*1.7040
	y30=L*1.8880
	y31=L*1.3640
	y32=L*0.3615
	y33=L*-0.7170
	y34=L*-1.4600
	y35=L*-1.6120
	y36=L*-1.1630
	y37=L*-0.3360
	y38=L*-0.5205
	y39=L*-1.0815
	y40=L*-0.1740
	x1 = new SFVec3f(400, y0, 400);
	x2 = new SFVec3f(390, y1, 390);
	x3 = new SFVec3f(380, y2, 380);
	x4 = new SFVec3f(370, y3, 370);
	x5 = new SFVec3f(360, y4, 360);
	x6= new SFVec3f(350, y5, 350);
	x7 = new SFVec3f(340, y6, 340);
	x8 = new SFVec3f(330, y7, 330);
	x9 = new SFVec3f(320, y8, 320);
	x10 = new SFVec3f(310,y9, 310);
	x11 = new SFVec3f(300, y10, 300);
	x12 = new SFVec3f(290, y11, 290);
	x13 = new SFVec3f(280, y12, 280);
	x14 = new SFVec3f(260, y13, 260);
	x15 = new SFVec3f(250, y14, 250);
	x16= new SFVec3f(240, y15, 240);
	x17 = new SFVec3f(230, y16, 230);
	x18 = new SFVec3f(220, y17, 220);
	x19 = new SFVec3f(210, y18, 210);
	x20 = new SFVec3f(200,y19, 200);
	x21 = new SFVec3f(190, y20, 190);
	x22 = new SFVec3f(180, y21, 180);
	x23 = new SFVec3f(170, y22, 170);
	x24 = new SFVec3f(160, y23, 160);
	x25 = new SFVec3f(150, y4, 150);
	x26= new SFVec3f(140, y25, 140);
	x27 = new SFVec3f(130, y26, 130);
	x28 = new SFVec3f(120, y27, 120);
	x29 = new SFVec3f(110, y28, 110);
	x30 = new SFVec3f(100, y29, 100);
	x31 = new SFVec3f(90, y30, 90);
	x32= new SFVec3f(80, y31, 80);
	x33 = new SFVec3f(70, y32, 70);
	x34 = new SFVec3f(60, y33, 60);
	x35 = new SFVec3f(50, y34, 50);
	x36= new SFVec3f(40, y35, 40);
	x37 = new SFVec3f(30, y36, 30);
	x38 = new SFVec3f(20, y37, 20);
	x39 = new SFVec3f(10, y38, 10);
	x40 = new SFVec3f(5,y39, 5);
	x41 = new SFVec3f(0,y40, 0);
	R1 = new SFRotation(1, 0, 0, 0.03);
	R2 = new SFRotation(1, 0, 0, -0.03);
	R3 = new SFRotation(1, 0, 0, 0.03);
	P1 = new SFRotation(0, 0, 1, 0.03);
	P2 = new SFRotation(0, 0, 1, -0.03);
	P3 = new SFRotation(0, 0, 1, 0.03);
	PitchValue = new MFRotation(P1, P2, P3);
	RollValue = new MFRotation(R1, R2, R3);
	BuoyanceValue = new MFVec3f(x1, x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41)
	BuoyanceKeyValues = new MFFloat( 0, 0.01, 0.02,0.03, 0.04, 0.05, 0.06, 0.07,0.08, 0.09, 0.1, 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.2, 0.21, 0.22, 0.23, 0.24, 0.2500  , 0.2600  , 0.2700  , 0.2800  , 0.2900  , 0.3000  , 0.3100  , 0.3200  , 0.3300  , 0.3400  , 0.3500  , 0.3600  , 0.3700  , 0.3800   ,0.3900   ,0.4000)
	}
}


function SeaStateChoice4 (inputBoolean, timestamp)
{
	if (inputBoolean)
	{
	L=3
 	y0=L* -0.0060
	y1=L*0.0710
	y2=L*0.0030
	y3=L*-0.2115
	y4=L*-0.4640
	y5=L*-0.5885
	y6=L*-0.4515
	y7=L*-0.0370
	y8=L*0.5240
	y9=L*0.9950
	y10=L*1.1345
	y11=L*0.8160
	y12=L*0.1025
	y13=L*-0.7565
	y14=L*-1.4155
	y15=L*-1.5765
	y16=L*-1.1230
	y17=L*-0.1865
	y18=L*0.8910
	y19=L*1.6865
	y20=L*1.8670
	y21=L*1.3340
	y22=L*0.2705
	y23=L*-0.9230
	y24=L*-1.7840
	y25=L*-1.9755
	y26=L*-1.4200
	y27=L*-0.3350
	y28=L*0.8590
	y29=L*1.7040
	y30=L*1.8880
	y31=L*1.3640
	y32=L*0.3615
	y33=L*-0.7170
	y34=L*-1.4600
	y35=L*-1.6120
	y36=L*-1.1630
	y37=L*-0.3360
	y38=L*-0.5205
	y39=L*-1.0815
	y40=L*-0.1740
	x1 = new SFVec3f(400, y0, 400);
	x2 = new SFVec3f(390, y1, 390);
	x3 = new SFVec3f(380, y2, 380);
	x4 = new SFVec3f(370, y3, 370);
	x5 = new SFVec3f(360, y4, 360);
	x6= new SFVec3f(350, y5, 350);
	x7 = new SFVec3f(340, y6, 340);
	x8 = new SFVec3f(330, y7, 330);
	x9 = new SFVec3f(320, y8, 320);
	x10 = new SFVec3f(310,y9, 310);
	x11 = new SFVec3f(300, y10, 300);
	x12 = new SFVec3f(290, y11, 290);
	x13 = new SFVec3f(280, y12, 280);
	x14 = new SFVec3f(260, y13, 260);
	x15 = new SFVec3f(250, y14, 250);
	x16= new SFVec3f(240, y15, 240);
	x17 = new SFVec3f(230, y16, 230);
	x18 = new SFVec3f(220, y17, 220);
	x19 = new SFVec3f(210, y18, 210);
	x20 = new SFVec3f(200,y19, 200);
	x21 = new SFVec3f(190, y20, 190);
	x22 = new SFVec3f(180, y21, 180);
	x23 = new SFVec3f(170, y22, 170);
	x24 = new SFVec3f(160, y23, 160);
	x25 = new SFVec3f(150, y4, 150);
	x26= new SFVec3f(140, y25, 140);
	x27 = new SFVec3f(130, y26, 130);
	x28 = new SFVec3f(120, y27, 120);
	x29 = new SFVec3f(110, y28, 110);
	x30 = new SFVec3f(100, y29, 100);
	x31 = new SFVec3f(90, y30, 90);
	x32= new SFVec3f(80, y31, 80);
	x33 = new SFVec3f(70, y32, 70);
	x34 = new SFVec3f(60, y33, 60);
	x35 = new SFVec3f(50, y34, 50);
	x36= new SFVec3f(40, y35, 40);
	x37 = new SFVec3f(30, y36, 30);
	x38 = new SFVec3f(20, y37, 20);
	x39 = new SFVec3f(10, y38, 10);
	x40 = new SFVec3f(5,y39, 5);
	x41 = new SFVec3f(0,y40, 0);
	R1 = new SFRotation(1, 0, 0, 0.07);
	R2 = new SFRotation(1, 0, 0, -0.07);
	R3 = new SFRotation(1, 0, 0, 0.07);
	P1 = new SFRotation(0, 0, 1, 0.07);
	P2 = new SFRotation(0, 0, 1, -0.07);
	P3 = new SFRotation(0, 0, 1, 0.07);
	PitchValue = new MFRotation(P1, P2, P3);
	RollValue = new MFRotation(R1, R2, R3);
	BuoyanceValue = new MFVec3f(x1, x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41)
	BuoyanceKeyValues = new MFFloat( 0, 0.01, 0.02,0.03, 0.04, 0.05, 0.06, 0.07,0.08, 0.09, 0.1, 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.2, 0.21, 0.22, 0.23, 0.24, 0.2500  , 0.2600  , 0.2700  , 0.2800  , 0.2900  , 0.3000  , 0.3100  , 0.3200  , 0.3300  , 0.3400  , 0.3500  , 0.3600  , 0.3700  , 0.3800   ,0.3900   ,0.4000)
	}
}


function SeaStateChoice5 (inputBoolean, timestamp)
{
	if (inputBoolean)
	{
	SeaStateValue = 4;
	L=5
 	y0=L* -0.0060
	y1=L*0.0710
	y2=L*0.0030
	y3=L*-0.2115
	y4=L*-0.4640
	y5=L*-0.5885
	y6=L*-0.4515
	y7=L*-0.0370
	y8=L*0.5240
	y9=L*0.9950
	y10=L*1.1345
	y11=L*0.8160
	y12=L*0.1025
	y13=L*-0.7565
	y14=L*-1.4155
	y15=L*-1.5765
	y16=L*-1.1230
	y17=L*-0.1865
	y18=L*0.8910
	y19=L*1.6865
	y20=L*1.8670
	y21=L*1.3340
	y22=L*0.2705
	y23=L*-0.9230
	y24=L*-1.7840
	y25=L*-1.9755
	y26=L*-1.4200
	y27=L*-0.3350
	y28=L*0.8590
	y29=L*1.7040
	y30=L*1.8880
	y31=L*1.3640
	y32=L*0.3615
	y33=L*-0.7170
	y34=L*-1.4600
	y35=L*-1.6120
	y36=L*-1.1630
	y37=L*-0.3360
	y38=L*-0.5205
	y39=L*-1.0815
	y40=L*-0.1740
	x1 = new SFVec3f(400, y0, 400);
	x2 = new SFVec3f(390, y1, 390);
	x3 = new SFVec3f(380, y2, 380);
	x4 = new SFVec3f(370, y3, 370);
	x5 = new SFVec3f(360, y4, 360);
	x6= new SFVec3f(350, y5, 350);
	x7 = new SFVec3f(340, y6, 340);
	x8 = new SFVec3f(330, y7, 330);
	x9 = new SFVec3f(320, y8, 320);
	x10 = new SFVec3f(310,y9, 310);
	x11 = new SFVec3f(300, y10, 300);
	x12 = new SFVec3f(290, y11, 290);
	x13 = new SFVec3f(280, y12, 280);
	x14 = new SFVec3f(260, y13, 260);
	x15 = new SFVec3f(250, y14, 250);
	x16= new SFVec3f(240, y15, 240);
	x17 = new SFVec3f(230, y16, 230);
	x18 = new SFVec3f(220, y17, 220);
	x19 = new SFVec3f(210, y18, 210);
	x20 = new SFVec3f(200,y19, 200);
	x21 = new SFVec3f(190, y20, 190);
	x22 = new SFVec3f(180, y21, 180);
	x23 = new SFVec3f(170, y22, 170);
	x24 = new SFVec3f(160, y23, 160);
	x25 = new SFVec3f(150, y4, 150);
	x26= new SFVec3f(140, y25, 140);
	x27 = new SFVec3f(130, y26, 130);
	x28 = new SFVec3f(120, y27, 120);
	x29 = new SFVec3f(110, y28, 110);
	x30 = new SFVec3f(100, y29, 100);
	x31 = new SFVec3f(90, y30, 90);
	x32= new SFVec3f(80, y31, 80);
	x33 = new SFVec3f(70, y32, 70);
	x34 = new SFVec3f(60, y33, 60);
	x35 = new SFVec3f(50, y34, 50);
	x36= new SFVec3f(40, y35, 40);
	x37 = new SFVec3f(30, y36, 30);
	x38 = new SFVec3f(20, y37, 20);
	x39 = new SFVec3f(10, y38, 10);
	x40 = new SFVec3f(5,y39, 5);
	x41 = new SFVec3f(0,y40, 0);
	R1 = new SFRotation(1, 0, 0, 0.1);
	R2 = new SFRotation(1, 0, 0, -0.1);
	R3 = new SFRotation(1, 0, 0, 0.1);
	P1 = new SFRotation(0, 0, 1, 0.1);
	P2 = new SFRotation(0, 0, 1, -0.1);
	P3 = new SFRotation(0, 0, 1, 0.1);
	PitchValue = new MFRotation(P1, P2, P3);
	RollValue = new MFRotation(R1, R2, R3);
	BuoyanceValue = new MFVec3f(x1, x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41)
	BuoyanceKeyValues = new MFFloat( 0, 0.01, 0.02,0.03, 0.04, 0.05, 0.06, 0.07,0.08, 0.09, 0.1, 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.2, 0.21, 0.22, 0.23, 0.24, 0.2500  , 0.2600  , 0.2700  , 0.2800  , 0.2900  , 0.3000  , 0.3100  , 0.3200  , 0.3300  , 0.3400  , 0.3500  , 0.3600  , 0.3700  , 0.3800   ,0.3900   ,0.4000)
	}
}

function SeaStateChoice6 (inputBoolean, timestamp)
{
	if (inputBoolean)
	{
	SeaStateValue = 5;
	L=7
 	y0=L* -0.0060
	y1=L*0.0710
	y2=L*0.0030
	y3=L*-0.2115
	y4=L*-0.4640
	y5=L*-0.5885
	y6=L*-0.4515
	y7=L*-0.0370
	y8=L*0.5240
	y9=L*0.9950
	y10=L*1.1345
	y11=L*0.8160
	y12=L*0.1025
	y13=L*-0.7565
	y14=L*-1.4155
	y15=L*-1.5765
	y16=L*-1.1230
	y17=L*-0.1865
	y18=L*0.8910
	y19=L*1.6865
	y20=L*1.8670
	y21=L*1.3340
	y22=L*0.2705
	y23=L*-0.9230
	y24=L*-1.7840
	y25=L*-1.9755
	y26=L*-1.4200
	y27=L*-0.3350
	y28=L*0.8590
	y29=L*1.7040
	y30=L*1.8880
	y31=L*1.3640
	y32=L*0.3615
	y33=L*-0.7170
	y34=L*-1.4600
	y35=L*-1.6120
	y36=L*-1.1630
	y37=L*-0.3360
	y38=L*-0.5205
	y39=L*-1.0815
	y40=L*-0.1740
	x1 = new SFVec3f(400, y0, 400);
	x2 = new SFVec3f(390, y1, 390);
	x3 = new SFVec3f(380, y2, 380);
	x4 = new SFVec3f(370, y3, 370);
	x5 = new SFVec3f(360, y4, 360);
	x6= new SFVec3f(350, y5, 350);
	x7 = new SFVec3f(340, y6, 340);
	x8 = new SFVec3f(330, y7, 330);
	x9 = new SFVec3f(320, y8, 320);
	x10 = new SFVec3f(310,y9, 310);
	x11 = new SFVec3f(300, y10, 300);
	x12 = new SFVec3f(290, y11, 290);
	x13 = new SFVec3f(280, y12, 280);
	x14 = new SFVec3f(260, y13, 260);
	x15 = new SFVec3f(250, y14, 250);
	x16= new SFVec3f(240, y15, 240);
	x17 = new SFVec3f(230, y16, 230);
	x18 = new SFVec3f(220, y17, 220);
	x19 = new SFVec3f(210, y18, 210);
	x20 = new SFVec3f(200,y19, 200);
	x21 = new SFVec3f(190, y20, 190);
	x22 = new SFVec3f(180, y21, 180);
	x23 = new SFVec3f(170, y22, 170);
	x24 = new SFVec3f(160, y23, 160);
	x25 = new SFVec3f(150, y4, 150);
	x26= new SFVec3f(140, y25, 140);
	x27 = new SFVec3f(130, y26, 130);
	x28 = new SFVec3f(120, y27, 120);
	x29 = new SFVec3f(110, y28, 110);
	x30 = new SFVec3f(100, y29, 100);
	x31 = new SFVec3f(90, y30, 90);
	x32= new SFVec3f(80, y31, 80);
	x33 = new SFVec3f(70, y32, 70);
	x34 = new SFVec3f(60, y33, 60);
	x35 = new SFVec3f(50, y34, 50);
	x36= new SFVec3f(40, y35, 40);
	x37 = new SFVec3f(30, y36, 30);
	x38 = new SFVec3f(20, y37, 20);
	x39 = new SFVec3f(10, y38, 10);
	x40 = new SFVec3f(5,y39, 5);
	x41 = new SFVec3f(0,y40, 0);
	R1 = new SFRotation(1, 0, 0, 0.1);
	R2 = new SFRotation(1, 0, 0, -0.1);
	R3 = new SFRotation(1, 0, 0, 0.1);
	P1 = new SFRotation(0, 0, 1, 0.15);
	P2 = new SFRotation(0, 0, 1, -0.15);
	P3 = new SFRotation(0, 0, 1, 0.15);
	PitchValue = new MFRotation(P1, P2, P3);
	RollValue = new MFRotation(R1, R2, R3);
	BuoyanceValue = new MFVec3f(x1, x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41)
	BuoyanceKeyValues = new MFFloat( 0, 0.01, 0.02,0.03, 0.04, 0.05, 0.06, 0.07,0.08, 0.09, 0.1, 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.2, 0.21, 0.22, 0.23, 0.24, 0.2500  , 0.2600  , 0.2700  , 0.2800  , 0.2900  , 0.3000  , 0.3100  , 0.3200  , 0.3300  , 0.3400  , 0.3500  , 0.3600  , 0.3700  , 0.3800   ,0.3900   ,0.4000)
	}
}


function SeaStateChoice7 (inputBoolean, timestamp)
{
	if (inputBoolean)
	{
	 SeaStateValue = 6;
	L=9
 	y0=L* -0.0060
	y1=L*0.0710
	y2=L*0.0030
	y3=L*-0.2115
	y4=L*-0.4640
	y5=L*-0.5885
	y6=L*-0.4515
	y7=L*-0.0370
	y8=L*0.5240
	y9=L*0.9950
	y10=L*1.1345
	y11=L*0.8160
	y12=L*0.1025
	y13=L*-0.7565
	y14=L*-1.4155
	y15=L*-1.5765
	y16=L*-1.1230
	y17=L*-0.1865
	y18=L*0.8910
	y19=L*1.6865
	y20=L*1.8670
	y21=L*1.3340
	y22=L*0.2705
	y23=L*-0.9230
	y24=L*-1.7840
	y25=L*-1.9755
	y26=L*-1.4200
	y27=L*-0.3350
	y28=L*0.8590
	y29=L*1.7040
	y30=L*1.8880
	y31=L*1.3640
	y32=L*0.3615
	y33=L*-0.7170
	y34=L*-1.4600
	y35=L*-1.6120
	y36=L*-1.1630
	y37=L*-0.3360
	y38=L*-0.5205
	y39=L*-1.0815
	y40=L*-0.1740
	x1 = new SFVec3f(400, y0, 400);
	x2 = new SFVec3f(390, y1, 390);
	x3 = new SFVec3f(380, y2, 380);
	x4 = new SFVec3f(370, y3, 370);
	x5 = new SFVec3f(360, y4, 360);
	x6= new SFVec3f(350, y5, 350);
	x7 = new SFVec3f(340, y6, 340);
	x8 = new SFVec3f(330, y7, 330);
	x9 = new SFVec3f(320, y8, 320);
	x10 = new SFVec3f(310,y9, 310);
	x11 = new SFVec3f(300, y10, 300);
	x12 = new SFVec3f(290, y11, 290);
	x13 = new SFVec3f(280, y12, 280);
	x14 = new SFVec3f(260, y13, 260);
	x15 = new SFVec3f(250, y14, 250);
	x16= new SFVec3f(240, y15, 240);
	x17 = new SFVec3f(230, y16, 230);
	x18 = new SFVec3f(220, y17, 220);
	x19 = new SFVec3f(210, y18, 210);
	x20 = new SFVec3f(200,y19, 200);
	x21 = new SFVec3f(190, y20, 190);
	x22 = new SFVec3f(180, y21, 180);
	x23 = new SFVec3f(170, y22, 170);
	x24 = new SFVec3f(160, y23, 160);
	x25 = new SFVec3f(150, y4, 150);
	x26= new SFVec3f(140, y25, 140);
	x27 = new SFVec3f(130, y26, 130);
	x28 = new SFVec3f(120, y27, 120);
	x29 = new SFVec3f(110, y28, 110);
	x30 = new SFVec3f(100, y29, 100);
	x31 = new SFVec3f(90, y30, 90);
	x32= new SFVec3f(80, y31, 80);
	x33 = new SFVec3f(70, y32, 70);
	x34 = new SFVec3f(60, y33, 60);
	x35 = new SFVec3f(50, y34, 50);
	x36= new SFVec3f(40, y35, 40);
	x37 = new SFVec3f(30, y36, 30);
	x38 = new SFVec3f(20, y37, 20);
	x39 = new SFVec3f(10, y38, 10);
	x40 = new SFVec3f(5,y39, 5);
	x41 = new SFVec3f(0,y40, 0);
	R1 = new SFRotation(1, 0, 0, 0.15);
	R2 = new SFRotation(1, 0, 0, -0.15);
	R3 = new SFRotation(1, 0, 0, 0.15);
	P1 = new SFRotation(0, 0, 1, 0.2);
	P2 = new SFRotation(0, 0, 1, -0.2);
	P3 = new SFRotation(0, 0, 1, 0.2);
	PitchValue = new MFRotation(P1, P2, P3);
	RollValue = new MFRotation(R1, R2, R3);
	BuoyanceValue = new MFVec3f(x1, x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41)
	BuoyanceKeyValues = new MFFloat( 0, 0.01, 0.02,0.03, 0.04, 0.05, 0.06, 0.07,0.08, 0.09, 0.1, 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.2, 0.21, 0.22, 0.23, 0.24, 0.2500  , 0.2600  , 0.2700  , 0.2800  , 0.2900  , 0.3000  , 0.3100  , 0.3200  , 0.3300  , 0.3400  , 0.3500  , 0.3600  , 0.3700  , 0.3800   ,0.3900   ,0.4000)
	}
}


function SeaStateChoice8 (inputBoolean, timestamp)
{
	if (inputBoolean)
	{
	SeaStateValue = 7;
	L=10
 	y0=L* -0.0060
	y1=L*0.0710
	y2=L*0.0030
	y3=L*-0.2115
	y4=L*-0.4640
	y5=L*-0.5885
	y6=L*-0.4515
	y7=L*-0.0370
	y8=L*0.5240
	y9=L*0.9950
	y10=L*1.1345
	y11=L*0.8160
	y12=L*0.1025
	y13=L*-0.7565
	y14=L*-1.4155
	y15=L*-1.5765
	y16=L*-1.1230
	y17=L*-0.1865
	y18=L*0.8910
	y19=L*1.6865
	y20=L*1.8670
	y21=L*1.3340
	y22=L*0.2705
	y23=L*-0.9230
	y24=L*-1.7840
	y25=L*-1.9755
	y26=L*-1.4200
	y27=L*-0.3350
	y28=L*0.8590
	y29=L*1.7040
	y30=L*1.8880
	y31=L*1.3640
	y32=L*0.3615
	y33=L*-0.7170
	y34=L*-1.4600
	y35=L*-1.6120
	y36=L*-1.1630
	y37=L*-0.3360
	y38=L*-0.5205
	y39=L*-1.0815
	y40=L*-0.1740
	x1 = new SFVec3f(400, y0, 400);
	x2 = new SFVec3f(390, y1, 390);
	x3 = new SFVec3f(380, y2, 380);
	x4 = new SFVec3f(370, y3, 370);
	x5 = new SFVec3f(360, y4, 360);
	x6= new SFVec3f(350, y5, 350);
	x7 = new SFVec3f(340, y6, 340);
	x8 = new SFVec3f(330, y7, 330);
	x9 = new SFVec3f(320, y8, 320);
	x10 = new SFVec3f(310,y9, 310);
	x11 = new SFVec3f(300, y10, 300);
	x12 = new SFVec3f(290, y11, 290);
	x13 = new SFVec3f(280, y12, 280);
	x14 = new SFVec3f(260, y13, 260);
	x15 = new SFVec3f(250, y14, 250);
	x16= new SFVec3f(240, y15, 240);
	x17 = new SFVec3f(230, y16, 230);
	x18 = new SFVec3f(220, y17, 220);
	x19 = new SFVec3f(210, y18, 210);
	x20 = new SFVec3f(200,y19, 200);
	x21 = new SFVec3f(190, y20, 190);
	x22 = new SFVec3f(180, y21, 180);
	x23 = new SFVec3f(170, y22, 170);
	x24 = new SFVec3f(160, y23, 160);
	x25 = new SFVec3f(150, y4, 150);
	x26= new SFVec3f(140, y25, 140);
	x27 = new SFVec3f(130, y26, 130);
	x28 = new SFVec3f(120, y27, 120);
	x29 = new SFVec3f(110, y28, 110);
	x30 = new SFVec3f(100, y29, 100);
	x31 = new SFVec3f(90, y30, 90);
	x32= new SFVec3f(80, y31, 80);
	x33 = new SFVec3f(70, y32, 70);
	x34 = new SFVec3f(60, y33, 60);
	x35 = new SFVec3f(50, y34, 50);
	x36= new SFVec3f(40, y35, 40);
	x37 = new SFVec3f(30, y36, 30);
	x38 = new SFVec3f(20, y37, 20);
	x39 = new SFVec3f(10, y38, 10);
	x40 = new SFVec3f(5,y39, 5);
	x41 = new SFVec3f(0,y40, 0);
	R1 = new SFRotation(1, 0, 0, 0.25);
	R2 = new SFRotation(1, 0, 0, -0.25);
	R3 = new SFRotation(1, 0, 0, 0.25);
	P1 = new SFRotation(0, 0, 1, 0.3);
	P2 = new SFRotation(0, 0, 1, -0.3);
	P3 = new SFRotation(0, 0, 1, 0.3);
	PitchValue = new MFRotation(P1, P2, P3);
	RollValue = new MFRotation(R1, R2, R3);
	BuoyanceValue = new MFVec3f(x1, x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41)
	BuoyanceKeyValues = new MFFloat( 0, 0.01, 0.02,0.03, 0.04, 0.05, 0.06, 0.07,0.08, 0.09, 0.1, 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.2, 0.21, 0.22, 0.23, 0.24, 0.2500  , 0.2600  , 0.2700  , 0.2800  , 0.2900  , 0.3000  , 0.3100  , 0.3200  , 0.3300  , 0.3400  , 0.3500  , 0.3600  , 0.3700  , 0.3800   ,0.3900   ,0.4000)
	}
}

      
]]>
</Script>
</Group>
<!-- ================================================= -->
<!-- RoutesToChooseSST -->
<!-- ================================================= -->
<ROUTE fromNode='TouchSensorSeaState1fromField='isActivetoNode='SeaStateChoiceToValuetoField='SeaStateChoice1'/>
<ROUTE fromNode='TouchSensorSeaState2fromField='isActivetoNode='SeaStateChoiceToValuetoField='SeaStateChoice2'/>
<ROUTE fromNode='TouchSensorSeaState3fromField='isActivetoNode='SeaStateChoiceToValuetoField='SeaStateChoice3'/>
<ROUTE fromNode='TouchSensorSeaState4fromField='isActivetoNode='SeaStateChoiceToValuetoField='SeaStateChoice4'/>
<ROUTE fromNode='TouchSensorSeaState5fromField='isActivetoNode='SeaStateChoiceToValuetoField='SeaStateChoice5'/>
<ROUTE fromNode='TouchSensorSeaState6fromField='isActivetoNode='SeaStateChoiceToValuetoField='SeaStateChoice6'/>
<ROUTE fromNode='TouchSensorSeaState7fromField='isActivetoNode='SeaStateChoiceToValuetoField='SeaStateChoice7'/>
<ROUTE fromNode='TouchSensorSeaState8fromField='isActivetoNode='SeaStateChoiceToValuetoField='SeaStateChoice8'/>
<ROUTE fromNode='SeaStateChoiceToValuefromField='SeaStateValuetoNode='SeaStateNumbertoField='whichChoice'/>
<ROUTE fromNode='SeaStateChoiceToValuefromField='BuoyanceValuetoNode='ShipBuoyanceHeighttoField='set_keyValue'/>
<ROUTE fromNode='SeaStateChoiceToValuefromField='BuoyanceKeyValuestoNode='ShipBuoyanceHeighttoField='set_key'/>
<ROUTE fromNode='SeaStateChoiceToValuefromField='PitchValuetoNode='PitchtoField='set_keyValue'/>
<ROUTE fromNode='SeaStateChoiceToValuefromField='RollValuetoNode='RolltoField='set_keyValue'/>
<!-- -->
<!-- ================================================= -->
<!-- RoutesToMoveTheSea -->
<!-- ================================================= -->
<ROUTE fromNode='ClockfromField='fraction_changedtoNode='OndulationtoField='set_fraction'/>
<ROUTE fromNode='OndulationfromField='value_changedtoNode='BasicExtrusiontoField='set_spine'/>
<!-- ================================================= -->
<!-- RoutesToMoveTheShip -->
<!-- ================================================= -->
<ROUTE fromNode='PitchClockfromField='fraction_changedtoNode='PitchtoField='set_fraction'/>
<ROUTE fromNode='PitchfromField='value_changedtoNode='ShipPitchtoField='set_rotation'/>
<ROUTE fromNode='PitchfromField='value_changedtoNode='SubPitchtoField='set_rotation'/>
<ROUTE fromNode='RollClockfromField='fraction_changedtoNode='RolltoField='set_fraction'/>
<ROUTE fromNode='RollfromField='value_changedtoNode='ShipRolltoField='set_rotation'/>
<ROUTE fromNode='RollfromField='value_changedtoNode='SubRolltoField='set_rotation'/>
<ROUTE fromNode='BuoyanceClockfromField='fraction_changedtoNode='ShipBuoyanceHeighttoField='set_fraction'/>
<ROUTE fromNode='ShipBuoyanceHeightfromField='value_changedtoNode='ShipBuoyancetoField='set_translation'/>
<ROUTE fromNode='BuoyanceClockfromField='fraction_changedtoNode='SubBuoyanceHeigthtoField='set_fraction'/>
<ROUTE fromNode='SubBuoyanceHeigthfromField='value_changedtoNode='ShipBuoyancetoField='set_translation'/>
<ROUTE fromNode='ShipClockfromField='fraction_changedtoNode='ShipBuoyanceHeighttoField='set_fraction'/>
<ROUTE fromNode='ShipBuoyanceHeightfromField='value_changedtoNode='ShipVelocitytoField='set_translation'/>
</Scene>
</X3D>
<!--

Index for DEF nodes : BasicExtrusion, BasicWave, BeachElevation, BeachView, Box1, Box2, Box3, Box4, Box5, Box6, Box7, Box8, BoxSensor, BuoyanceClock, Clock, Coordinate, Ondulation, Option1, Option2, Option3, Option4, Option5, Option6, Option7, Option8, Orientation, Pitch, PitchClock, Roll, RollClock, ScriptsForWaveMovement, SeaBoxSeaandRockIsland, SeaColor, SeaState_1, SeaState_2, SeaState_3, SeaState_4, SeaState_5, SeaState_6, SeaState_7, SeaState_8, SeaStateAndDirectionControlPanel, SeaStateChoice, SeaStateChoiceToValue, SeaStateNumber, ShipBridge, ShipBuoyance, ShipBuoyanceHeight, ShipClock, ShipPitch, ShipRoll, ShipVelocity, SST1Escale, SST2Scale, SST3Scale, SST4Scale, SST5Scale, SSTScale6, SSTScale7, SSTScale8, SubBuoyance, SubBuoyanceHeigth, SubPitch, SubRoll, TaskForce, Text1, Text2, Text3, Text4, Text5, Text6, Text7, Text8, TheBeach, TheSeaState, TimeSensors, TopView, TouchSensorSeaState1, TouchSensorSeaState2, TouchSensorSeaState3, TouchSensorSeaState4, TouchSensorSeaState5, TouchSensorSeaState6, TouchSensorSeaState7, TouchSensorSeaState8

Index for Viewpoint images : Viewpoint_1, Viewpoint_2, Viewpoint_3, ShipBridge, TopView
-->

<!-- Color key: <X3dNode DEF='idName' field='value'/> matches <XmlElement DEF='idName' attribute='value'/>
(Light blue background: behavior node) (Grey background: inserted documentation) (Magenta background: X3D Extensibility)
-->

<!-- Additional help information about X3D scenes: X3D Resources, X3D Scene Authoring Hints and X3D Tooltips -->