<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "http://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 =' http://www.web3d.org/specifications/x3d-3.0.xsd '>
<head>
<meta name='titlecontent='LosAngelesClassSubmarineFlight1.x3d'/>
<meta name='descriptioncontent='Primary model to bring together all the individual parts of a First Flight 688 class submarine.'/>
<meta name='creatorcontent='LT Ken Curtin'/>
<meta name='createdcontent='7 August 2003'/>
<meta name='modifiedcontent='27 February 2016'/>
<meta name='referencecontent=' http://www.fas.org/man/dod-101/sys/ship/ssn-688.htm '/>
<meta name='referencecontent=' http://www.combatindex.com/store/3d/ssn688_model.html '/>
<meta name='subjectcontent='688, Los Angeles, Submarine'/>
<meta name='identifiercontent=' https://savage.nps.edu/Savage/Submarines/SsnLosAngelesUnitedStates/LosAngelesClassSubmarineFlight1.x3d '/>
<meta name='generatorcontent='X3D-Edit 3.2, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../../license.html'/>
</head>
<!-- -->
<Scene>
<Background groundColor='0 0 .8'/>
<!-- ROUTE information for MoveSubAround node:  [from MovePath.value_changed to set_translation ] [from MoveRotate.value_changed to set_rotation ] -->
<Transform DEF='MoveSubAround'>
<Group DEF='LosAngelesClassSubmarine'>
<Transform DEF='BringInHull'> </Transform>
<Transform DEF='BringInSailtranslation='24.84 4.9 0'> </Transform>
<Transform DEF='BringInSternPlanesrotation='1 0 0 -1.57translation='-50.92 0 6'>
<!-- ROUTE information for SternPlanes node:  [from RotateSternPlanes.value_changed to set_rotation ] -->
<Transform DEF='SternPlanescenter='3 0 0'>
<!-- ROUTE information for MoveSternPlanes node:  [from touchTime to SternPlaneTimer.set_startTime ] -->
<TouchSensor DEF='MoveSternPlanesdescription='Activates the Stern Planes'/>
<!-- ROUTE information for SternPlaneTimer node:  [from MoveSternPlanes.touchTime to set_startTime ] [from fraction_changed to RotateSternPlanes.set_fraction ] -->
<TimeSensor DEF='SternPlaneTimer'/>
<ROUTE fromNode='MoveSternPlanesfromField='touchTimetoNode='SternPlaneTimertoField='set_startTime'/>
<!-- ROUTE information for RotateSternPlanes node:  [from SternPlaneTimer.fraction_changed to set_fraction ] [from value_changed to SternPlanes.set_rotation ] -->
<OrientationInterpolator DEF='RotateSternPlaneskey='0 .25 .50 .75 1.0keyValue='0 1 0 0.0 0 1 0 0.52 0 1 0 0.00 0 1 0 -0.52 0 1 0 0.00'/>
<ROUTE fromNode='SternPlaneTimerfromField='fraction_changedtoNode='RotateSternPlanestoField='set_fraction'/>
<ROUTE fromNode='RotateSternPlanesfromField='value_changedtoNode='SternPlanestoField='set_rotation'/>
<Inline
  url=' "Planes.x3d" "https://savage.nps.edu/Savage/Submarines/SsnLosAngelesUnitedStates/Planes.x3d" '/>
</Transform>
</Transform>
<Transform DEF='BringInRuddertranslation='-50.92 -4.72 0'>
<!-- ROUTE information for Rudder node:  [from RudderRotation.value_changed to set_rotation ] -->
<Transform DEF='Ruddercenter='3 0 0'>
<!-- ROUTE information for MoveRudder node:  [from touchTime to RudderTimer.set_startTime ] -->
<TouchSensor DEF='MoveRudderdescription='Activates the Rudder'/>
<!-- ROUTE information for RudderTimer node:  [from MoveRudder.touchTime to set_startTime ] [from fraction_changed to RudderRotation.set_fraction ] -->
<TimeSensor DEF='RudderTimer'/>
<ROUTE fromNode='MoveRudderfromField='touchTimetoNode='RudderTimertoField='set_startTime'/>
<!-- ROUTE information for RudderRotation node:  [from RudderTimer.fraction_changed to set_fraction ] [from value_changed to Rudder.set_rotation ] -->
<OrientationInterpolator DEF='RudderRotationkey='0 .25 .50 .75 1.0keyValue='0 1 0 0.0 0 1 0 0.52 0 1 0 0.00 0 1 0 -0.52 0 1 0 0.00'/>
<ROUTE fromNode='RudderTimerfromField='fraction_changedtoNode='RudderRotationtoField='set_fraction'/>
<ROUTE fromNode='RudderRotationfromField='value_changedtoNode='RuddertoField='set_rotation'/>
<Inline
  url=' "Rudder.x3d" "https://savage.nps.edu/Savage/Submarines/SsnLosAngelesUnitedStates/Rudder.x3d" '/>
</Transform>
</Transform>
<Transform DEF='BringInScrewrotation='0 1 0 -1.57scale='1.1 1.1 1.1translation='-53.2 0 0'> </Transform>
</Group>
</Transform>
<Transform DEF='AllAhead1_3translation='0 40 0'>
<Shape DEF='StartSubMoving'>
<Text string=' "All Ahead 1/3"
'>
<FontStyle size='10'/>
</Text>
<Appearance>
<Material diffuseColor='1 1 0'/>
</Appearance>
</Shape>
<!-- ROUTE information for StartSub node:  [from touchTime to MoveClock.set_startTime ] -->
<TouchSensor DEF='StartSubdescription='Activates the Submarine Movement'/>
<!-- ROUTE information for MoveClock node:  [from StartSub.touchTime to set_startTime ] [from fraction_changed to MovePath.set_fraction ] [from fraction_changed to MoveRotate.set_fraction ] -->
<TimeSensor DEF='MoveClockcycleInterval='40'/>
<!-- ROUTE information for MovePath node:  [from MoveClock.fraction_changed to set_fraction ] [from value_changed to MoveSubAround.set_translation ] -->
<PositionInterpolator DEF='MovePathkey='0 .125 .250 .375 .5 .625 .750 .875 1keyValue='0 0 0 100 0 -100 200 0 -200 100 0 -300 0 0 -400 -100 0 -300 -200 0 -200 -100 0 100 0 0 0'/>
<!-- ROUTE information for MoveRotate node:  [from MoveClock.fraction_changed to set_fraction ] [from value_changed to MoveSubAround.set_rotation ] -->
<OrientationInterpolator DEF='MoveRotatekey='0 .125 .250 .375 .5 .625 .750 .875 1keyValue='0 0 0 0 0 1 0 .785 0 1 0 1.571 0 1 0 2.357 0 1 0 3.14 0 1 0 3.928 0 1 0 4.712 0 1 0 5.498 0 0 0 6.28'/>
<ROUTE fromNode='StartSubfromField='touchTimetoNode='MoveClocktoField='set_startTime'/>
<ROUTE fromNode='MoveClockfromField='fraction_changedtoNode='MovePathtoField='set_fraction'/>
<ROUTE fromNode='MoveClockfromField='fraction_changedtoNode='MoveRotatetoField='set_fraction'/>
<ROUTE fromNode='MovePathfromField='value_changedtoNode='MoveSubAroundtoField='set_translation'/>
<ROUTE fromNode='MoveRotatefromField='value_changedtoNode='MoveSubAroundtoField='set_rotation'/>
</Transform>
<Viewpoint description='FarAwayorientation='-0.344 0.933 0.109 0.2504position='80 13.9 300.3'/>
<Viewpoint description='StbdVieworientation='-0.344 0.933 0.109 0.2504position='30 13.9 83.3'/>
<Viewpoint description='SailFrontorientation='-0.195 0.949 0.249 1.1171position='50.6 18.3 13.3'/>
<Viewpoint description='TopDownorientation='-0.887 0.46 0.045 1.6075position='45.7 83.9 -5.4'/>
<Viewpoint description='Bottomorientation='-0.35 0.737 -0.578 2.4783position='78.3 -34.8 -15.6'/>
<Viewpoint description='RearVieworientation='-0.36 -0.894 0.266 1.6014position='-84.7 12.9 -1.6'/>
<Viewpoint description='PortVieworientation='0.15 0.963 0.223 2.8124position='44.4 39.2 -78.3'/>
</Scene>
</X3D>
<!--

Index for DEF nodes : AllAhead1_3, BringInHull, BringInRudder, BringInSail, BringInScrew, BringInSternPlanes, LosAngelesClassSubmarine, MoveClock, MovePath, MoveRotate, MoveRudder, MoveSternPlanes, MoveSubAround, RotateSternPlanes, Rudder, RudderRotation, RudderTimer, StartSub, StartSubMoving, SternPlanes, SternPlaneTimer

Index for Viewpoint images : Viewpoint_1, Viewpoint_2, Viewpoint_3, Viewpoint_4, Viewpoint_5, Viewpoint_6, Viewpoint_7
-->

<!-- 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 -->