<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://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 =' https://www.web3d.org/specifications/x3d-3.3.xsd '>
<head>
<meta name='titlecontent='SharkLeftyLocale.x3d'/>
<meta name='descriptioncontent='Lefty Shark with animation to traverse the tank'/>
<meta name='creatorcontent='Tim McLean'/>
<meta name='translatorcontent='Don Brutzman'/>
<meta name='createdcontent='1 June 1998'/>
<meta name='modifiedcontent='20 October 2019'/>
<meta name='referencecontent=' http://faculty.nps.edu/brutzman/kelp '/>
<meta name='identifiercontent=' https://X3dGraphics.com/examples/X3dForWebAuthors/KelpForestExhibit/SharkLeftyLocale.x3d '/>
<meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../license.html'/>
</head>
<!-- -->
<Scene>
<WorldInfo title='SharkLeftyLocale.x3d'/>
<!-- ROUTE information for _0 node:  [from SHARK2_POSITION.value_changed to set_translation ] [from SHARK2_ORIENTATION.value_changed to set_rotation ] -->
<Transform DEF='_0translation='0.0 -5.5 -1.0'>
<Inline
  url=' "SharkLefty.x3d" "https://X3dGraphics.com/examples/X3dForWebAuthors/KelpForestExhibit/SharkLefty.x3d" "SharkLefty.wrl" "https://X3dGraphics.com/examples/X3dForWebAuthors/KelpForestExhibit/SharkLefty.wrl" '/>

<Group>
<!-- ROUTE information for SHARK2_CLOCK node:  [from sharkSwimmingInTankTrigger_5.startTime to set_startTime ] [from fraction_changed to SHARK2_POSITION.set_fraction ] [from fraction_changed to SHARK2_ORIENTATION.set_fraction ] -->
<TimeSensor DEF='SHARK2_CLOCKcycleInterval='110.0loop='true'/>
<!-- ROUTE information for SHARK2_POSITION node:  [from SHARK2_CLOCK.fraction_changed to set_fraction ] [from value_changed to _0.set_translation ] -->
<PositionInterpolator DEF='SHARK2_POSITIONkey='0.0 0.152 0.194 0.224 0.288 0.35 0.427 0.549 0.632 0.7 0.813 1.0keyValue='0.0 -4.25 -1.0 3.75 -4.5 -0.75 4.75 -4.5 -1.0 4.75 -4.5 -2.0 3.25 -4.0 -2.5 1.75 -4.0 -2.75 0.0 -4.0 -3.25 -3.0 -3.5 -4.0 -5.0 -4.0 -2.5 -5.75 -4.5 0.0 -4.5 -4.5 0.25 0.0 -4.25 -1.0'/>
<!-- ROUTE information for SHARK2_ORIENTATION node:  [from SHARK2_CLOCK.fraction_changed to set_fraction ] [from value_changed to _0.set_rotation ] -->
<OrientationInterpolator DEF='SHARK2_ORIENTATIONkey='0.0 0.152 0.194 0.224 0.288 0.35 0.427 0.549 0.632 0.7 0.813 1.0keyValue='0.0 1.0 0.0 6.2134 0.0 1.0 0.0 0.244 0.0 1.0 0.0 1.57 0.1564 0.9974 -0.0262 2.8141 0.0 1.0 0.0 2.967 0.0 1.0 0.0 2.7227 0.0872 0.9961 -0.0107 2.8982 -0.1218 0.9917 -0.0407 3.7824 -0.1469 0.9832 -0.1087 4.3995 0.0 1.0 0.0 6.0912 0.0 1.0 0.0 0.2618 0.0 1.0 0.0 6.2134'/>
</Group>
</Transform>
<!-- ROUTE information for _4 node:  [from sharkSwimmingInTankTrigger_5.firstTime to set_enabled ] [from time to sharkSwimmingInTankTrigger_5.triggerIn ] -->
<TimeSensor DEF='_4loop='true'/>
<!-- ROUTE information for sharkSwimmingInTankTrigger_5 node:  [from _4.time to triggerIn ] [from startTime to SHARK2_CLOCK.set_startTime ] [from firstTime to _4.set_enabled ] -->
<Script DEF='sharkSwimmingInTankTrigger_5'>
<field name='triggerIntype='SFTimeaccessType='inputOnly'/>
<field name='startTimetype='SFTimeaccessType='outputOnly'/>
<field name='firstTimetype='SFBoolaccessType='outputOnly'/>
<![CDATA[
      
ecmascript:

function triggerIn (value, time) 
{
	startTime = value;
	firstTime = false;
}

    
]]>
</Script>
<ROUTE fromNode='sharkSwimmingInTankTrigger_5fromField='startTimetoNode='SHARK2_CLOCKtoField='set_startTime'/>
<ROUTE fromNode='SHARK2_CLOCKfromField='fraction_changedtoNode='SHARK2_POSITIONtoField='set_fraction'/>
<ROUTE fromNode='SHARK2_CLOCKfromField='fraction_changedtoNode='SHARK2_ORIENTATIONtoField='set_fraction'/>
<ROUTE fromNode='SHARK2_POSITIONfromField='value_changedtoNode='_0toField='set_translation'/>
<ROUTE fromNode='SHARK2_ORIENTATIONfromField='value_changedtoNode='_0toField='set_rotation'/>
<ROUTE fromNode='sharkSwimmingInTankTrigger_5fromField='firstTimetoNode='_4toField='set_enabled'/>
<ROUTE fromNode='_4fromField='timetoNode='sharkSwimmingInTankTrigger_5toField='triggerIn'/>
</Scene>
</X3D>
<!--

Index for DEF nodes : _0, _4, SHARK2_CLOCK, SHARK2_ORIENTATION, SHARK2_POSITION, sharkSwimmingInTankTrigger_5
-->

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

<!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources and X3D Scene Authoring Hints. -->