<?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='LoadSensorKelpForestMain_timeOut.x3d'/>
<meta name='descriptioncontent='An example use of the LoadSensor node in the Kelp Forest world.'/>
<meta name='creatorcontent='Don Brutzman Revised: Leonard Daly for X3D Book'/>
<meta name='createdcontent='1 June 1998'/>
<meta name='modifiedcontent='2 April 2017'/>
<meta name='referencecontent=' http://faculty.nps.edu/brutzman/kelp '/>
<meta name='referencecontent=' http://faculty.nps.edu/brutzman/kelp/KelpForestDesignPaper.pdf '/>
<meta name='subjectcontent='Kelp Forest 3D models'/>
<meta name='permissionscontent='All content has permissions for free use. Please provide credit to the Naval Postgraduate School (NPS) Modeling Virtual Environments and Simulation (MOVES) Institute.'/>
<meta name='referencecontent=' http://X3dGraphics.com/examples/X3dForWebAuthors/KelpForestExhibit/KelpForestMain.x3d '/>
<meta name='identifiercontent=' http://X3dGraphics.com/examples/X3dForWebAuthors/Chapter12EnvironmentSensorSound/LoadSensorKelpForestMain_timeOut.x3d '/>
<meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../license.html'/>
</head>
<!-- -->
<Scene>
<WorldInfo info=' "../KelpForestExhibit/kelpForestMain3.4.wrl"
"Model of the Monterey Bay Aquarium Kelp Forest"
"DTG of last updated: 111500Jun98"
"Updated: kelpTank2.9.wrl; "
"Created by Naval Postgraduate School students under the supervision of Don Brutzman"
"Feel free to copy anything you wish - just give credit where it is due"
"http://faculty.nps.edu/brutzman/kelp" ' title='NPS Virtual Kelp Forest Exhibit'/>

<NavigationInfo speed='3.0'/>
<ExternProtoDeclare name='ViewPositionOrientation'
  url=' "../../Savage/Tools/Authoring/ViewPositionOrientationPrototype.x3d#ViewPositionOrientation" "https://savage.nps.edu/Savage/Tools/Authoring/ViewPositionOrientationPrototype.x3d#ViewPositionOrientation" "../../Savage/Tools/Authoring/ViewPositionOrientationPrototype.wrl#ViewPositionOrientation" "https://savage.nps.edu/Savage/Tools/Authoring/ViewPositionOrientationPrototype.wrl#ViewPositionOrientation" '>
<field name='enabledtype='SFBoolaccessType='inputOutput'/>
<field name='traceEnabledtype='SFBoolaccessType='initializeOnly'/>
<field name='set_traceEnabledtype='SFBoolaccessType='inputOnly'/>
<field name='position_changedtype='SFVec3faccessType='outputOnly'/>
<field name='orientation_changedtype='SFRotationaccessType='outputOnly'/>
<field name='outputViewpointStringtype='MFStringaccessType='outputOnly'/>
</ExternProtoDeclare>
<ProtoInstance name='ViewPositionOrientation'>
<fieldValue name='enabledvalue='false'/>
</ProtoInstance>
<ExternProtoDeclare name='WaypointInterpolatorappinfo='Reads waypoints and legSpeeds/legDurations/defaultSpeed to provide a customizable position/orientation interpolator.'
  url=' "../../../Savage/Tools/Animation/WaypointInterpolatorPrototype.x3d#WaypointInterpolator" "https://savage.nps.edu/Savage/Tools/Animation/WaypointInterpolatorPrototype.x3d#WaypointInterpolator" "../../../Savage/Tools/Animation/WaypointInterpolatorPrototype.wrl#WaypointInterpolator" "https://savage.nps.edu/Savage/Tools/Animation/WaypointInterpolatorPrototype.wrl#WaypointInterpolator" '>
<!-- Priority of use: legSpeeds (m/sec), legDurations (seconds), defaultSpeed (m/sec) -->
<field name='descriptiontype='SFStringaccessType='initializeOnly'
 appinfo='Short description of what is animated by this WaypointInterpolator.'/>

<field name='waypointstype='MFVec3faccessType='initializeOnly'
 appinfo='Waypoints being traversed with interpolation of intermediate positions and orientations.'/>

<field name='add_waypointtype='SFVec3faccessType='inputOnly'
 appinfo='Add another single waypoint to array of waypoints recalculate interpolator values.'/>

<field name='set_waypointstype='MFVec3faccessType='inputOnly'
 appinfo='Replace all waypoints recalculate interpolator values.'/>

<field name='pitchUpDownForVerticalWaypointstype='SFBoolaccessType='initializeOnly'
 appinfo='Whether to pitch child geometry (such as a vehicle) up or down to match vertical slope'/>

<field name='legSpeedstype='MFFloataccessType='initializeOnly'
 appinfo='Units m/sec. If used array lengths for legSpeeds and legDurations must be one less than number of waypoints.'/>

<field name='legDurationstype='MFTimeaccessType='initializeOnly'
 appinfo='Units in seconds. If used array lengths for legSpeeds and legDurations must be one less than number of waypoints.'/>

<field name='defaultSpeedtype='SFFloataccessType='initializeOnly'
 appinfo='Units m/sec.'/>

<field name='turningRatetype='SFFloataccessType='initializeOnly'
 appinfo='turningRate (degrees/second) also determines standoff distance prior to waypoint where turn commences. If 0 turns are instantaneous.'/>

<field name='totalDurationtype='SFTimeaccessType='outputOnly'
 appinfo='Output calculation summing all leg durations, useful for setting TimeSensor cycleInterval. Units in seconds.'/>

<!-- interpolation fields -->
<field name='set_fractiontype='SFFloataccessType='inputOnly'
 appinfo='exposed PositionInterpolator and OrientationInterpolator setting'/>

<field name='position_changedtype='SFVec3faccessType='outputOnly'
 appinfo='exposed PositionInterpolator setting'/>

<field name='orientation_changedtype='SFRotationaccessType='outputOnly'
 appinfo='exposed OrientationInterpolator setting'/>

<!-- display-related fields -->
<field name='lineColortype='SFColoraccessType='inputOutput'
 appinfo='default color for non-active line segments'/>

<field name='highlightSegmentColortype='SFColoraccessType='inputOutput'
 appinfo='highlightSegmentColors must contain two color values for each endpoint of the highlight segment.'/>

<field name='transparencytype='SFFloataccessType='inputOutput'
 appinfo='1.0 is completely transparent, 0.0 is completely opaque.'/>

<field name='labelDisplayModetype='SFStringaccessType='initializeOnly'
 appinfo='allowed values: none; waypoints (produce labels at each waypoint); or interpolation (produce single moving label at interpolator time course speed location)'/>

<field name='heightLabeltype='SFStringaccessType='initializeOnly'
 appinfo='allowed values: altitude depth (negate Y value) none'/>

<field name='labelOffsettype='SFVec3faccessType='initializeOnly'
 appinfo='heightLabel relative location'/>

<field name='labelFontSizetype='SFFloataccessType='initializeOnly'
 appinfo='heightLabel text size'/>

<field name='labelColortype='SFColoraccessType='initializeOnly'
 appinfo='heightLabel text color'/>

<field name='traceEnabledtype='SFBoolaccessType='initializeOnly'
 appinfo='enable console output to trace script computations and prototype progress'/>

<field name='outputInitializationComputationstype='SFBoolaccessType='initializeOnly'
 appinfo='Output the number of waypoints totalDistance and totalDuration to console upon initialization'/>

<field name='verticalDropLineColortype='SFColoraccessType='inputOutput'
 appinfo='default color for vertical drop-line segments'/>

<field name='verticalDropLineTransparencytype='SFFloataccessType='inputOutput'
 appinfo='1.0 is completely transparent, 0.0 is completely opaque.'/>
</ExternProtoDeclare>
<Group DEF='Viewpoints'>
<Viewpoint description='Kelp Forest Monterey Bay Aquariumposition='0.0 -5.0 45.0'/>
<Viewpoint description='Side WindowsfieldOfView='0.5orientation='0.0 1.0 0.0 0.9position='25.0 -4.0 15.0'/>
<Viewpoint description='Star Fishorientation='0.0 1.0 0.0 1.25position='14.0 -5.75 1.0'/>
<Viewpoint description='Inside Tankorientation='0.0 1.0 0.0 3.14position='0.0 -5.0 -7.0'/>
<Viewpoint description='Top floorfieldOfView='1.04719orientation='-0.3 1.0 0.3 1.57079position='12.5 5.0 -2.0'/>
<Viewpoint description="Bird's Eye Vieworientation='1.0 0.0 0.0 -1.57position='0.0 19.0 -3.5'/>
<Viewpoint description='Pump HousefieldOfView='0.6orientation='0.0 1.0 0.0 1.3position='-5.0 1.0 0.0'/>
</Group>
<Group DEF='Root'>
<Background groundAngle='1.309 1.5707groundColor='0.1 0.1 0 0.4 0.25 0.2 0.6 0.6 0.6skyAngle='1.309 1.5707skyColor='0 0.5 1 0 0 1 0 0 1'
  backUrl=' "urn:web3d:media:textures/panoramas/horizon_3_back.jpg" "horizon_3_back.jpg" "../../Basic/UniversalMediaPanoramas/horizon_3_back.jpg" "http://www.web3d.org/WorkingGroups/media/textures/panoramas/horizon_3_back.jpg" "http://www.web3d.org/x3d/content/examples/UniversalMediaPanoramas/horizon_3_back.jpg" "http://www.web3dmedia.com/UniversalMedia/textures/panoramas/horizon_3_back.jpg" "http://www.officetowers.com/UniversalMedia/textures/panoramas/horizon_3_back.jpg" "http://geometrek.com/UniversalMedia/textures/panoramas/horizon_3_back.jpg" "http://www.sc.ehu.es/ccwgamoa/UniversalMedia/textures/panoramas/horizon_3_back.jpg" '
  bottomUrl=' "urn:web3d:media:textures/panoramas/horizon_3_bottom.jpg" "horizon_3_bottom.jpg" "../../Basic/UniversalMediaPanoramas/horizon_3_bottom.jpg" "http://www.web3d.org/WorkingGroups/media/textures/panoramas/horizon_3_bottom.jpg" "http://www.web3d.org/x3d/content/examples/UniversalMediaPanoramas/horizon_3_bottom.jpg" "http://www.web3dmedia.com/UniversalMedia/textures/panoramas/horizon_3_bottom.jpg" "http://www.officetowers.com/UniversalMedia/textures/panoramas/horizon_3_bottom.jpg" "http://geometrek.com/UniversalMedia/textures/panoramas/horizon_3_bottom.jpg" "http://www.sc.ehu.es/ccwgamoa/UniversalMedia/textures/panoramas/horizon_3_bottom.jpg" '
  frontUrl=' "urn:web3d:media:textures/panoramas/horizon_3_front.jpg" "horizon_3_front.jpg" "../../Basic/UniversalMediaPanoramas/horizon_3_front.jpg" "http://www.web3d.org/WorkingGroups/media/textures/panoramas/horizon_3_front.jpg" "http://www.web3d.org/x3d/content/examples/UniversalMediaPanoramas/horizon_3_front.jpg" "http://www.web3dmedia.com/UniversalMedia/textures/panoramas/horizon_3_front.jpg" "http://www.officetowers.com/UniversalMedia/textures/panoramas/horizon_3_front.jpg" "http://geometrek.com/UniversalMedia/textures/panoramas/horizon_3_front.jpg" "http://www.sc.ehu.es/ccwgamoa/UniversalMedia/textures/panoramas/horizon_3_front.jpg" '
  leftUrl=' "urn:web3d:media:textures/panoramas/horizon_3_left.jpg" "horizon_3_left.jpg" "../../Basic/UniversalMediaPanoramas/horizon_3_left.jpg" "http://www.web3d.org/WorkingGroups/media/textures/panoramas/horizon_3_left.jpg" "http://www.web3d.org/x3d/content/examples/UniversalMediaPanoramas/horizon_3_left.jpg" "http://www.web3dmedia.com/UniversalMedia/textures/panoramas/horizon_3_left.jpg" "http://www.officetowers.com/UniversalMedia/textures/panoramas/horizon_3_left.jpg" "http://geometrek.com/UniversalMedia/textures/panoramas/horizon_3_left.jpg" "http://www.sc.ehu.es/ccwgamoa/UniversalMedia/textures/panoramas/horizon_3_left.jpg" '
  rightUrl=' "urn:web3d:media:textures/panoramas/horizon_3_right.jpg" "horizon_3_right.jpg" "../../Basic/UniversalMediaPanoramas/horizon_3_right.jpg" "http://www.web3d.org/WorkingGroups/media/textures/panoramas/horizon_3_right.jpg" "http://www.web3d.org/x3d/content/examples/UniversalMediaPanoramas/horizon_3_right.jpg" "http://www.web3dmedia.com/UniversalMedia/textures/panoramas/horizon_3_right.jpg" "http://www.officetowers.com/UniversalMedia/textures/panoramas/horizon_3_right.jpg" "http://geometrek.com/UniversalMedia/textures/panoramas/horizon_3_right.jpg" "http://www.sc.ehu.es/ccwgamoa/UniversalMedia/textures/panoramas/horizon_3_right.jpg" '
  topUrl=' "urn:web3d:media:textures/panoramas/horizon_3_top.jpg" "horizon_3_top.jpg" "../../Basic/UniversalMediaPanoramas/horizon_3_top.jpg" "http://www.web3d.org/WorkingGroups/media/textures/panoramas/horizon_3_top.jpg" "http://www.web3d.org/x3d/content/examples/UniversalMediaPanoramas/horizon_3_top.jpg" "http://www.web3dmedia.com/UniversalMedia/textures/panoramas/horizon_3_top.jpg" "http://www.officetowers.com/UniversalMedia/textures/panoramas/horizon_3_top.jpg" "http://geometrek.com/UniversalMedia/textures/panoramas/horizon_3_top.jpg" "http://www.sc.ehu.es/ccwgamoa/UniversalMedia/textures/panoramas/horizon_3_top.jpg" '/>

<Inline DEF='LoadIntro'
  url=' "../KelpForestExhibit/IntroductionMessage.x3d" "http://X3dGraphics.com/examples/X3dForWebAuthors/KelpForestExhibit/IntroductionMessage.x3d" "../KelpForestExhibit/IntroductionMessage.wrl" "http://X3dGraphics.com/examples/X3dForWebAuthors/KelpForestExhibit/IntroductionMessage.wrl" '/>

<Collision enabled='false'>
<Transform> </Transform>
<Transform> </Transform>
<Transform> </Transform>
<Transform scale='0.54 0.75 0.52translation='0.3 -2.88 7.3'> </Transform>
<Transform DEF='K2_LOCALEtranslation='-4.0 0.0 1.0'> </Transform>
<Transform DEF='K4_LOCALEtranslation='-2.5 0.0 -2.5'>
<!-- ROUTE information for K4_MIDWATER node:  [from CENTER_WAVE.value_changed to set_translation ] -->
<Transform DEF='K4_MIDWATERtranslation='-10.0 -2.0 -2.0'> </Transform>
<Transform DEF='K4_FLOORrotation='0.0 1.0 0.0 -0.3scale='0.5 0.8 0.5translation='-1.5 -7.5 0.5'>
<Inline USE='KelpExamplesNoBase'/>
</Transform>
</Transform>
<Transform DEF='K7_LOCALEtranslation='2.0 0.0 -2.5'>
<!-- ROUTE information for K7_MIDWATER node:  [from CENTER_WAVE.value_changed to set_translation ] -->
<Transform DEF='K7_MIDWATERscale='0.25 0.25 0.25translation='2.0 -4.0 0.0'> </Transform>
<Transform DEF='K7_FLOORscale='0.5 0.85 0.5translation='0.0 -7.75 0.0'>
<Inline USE='KelpExamplesNoBase'/>
</Transform>
</Transform>
<Transform DEF='K10_LOCALEtranslation='7.0 0.0 2.0'>
<!-- ROUTE information for K10_DEEP node:  [from LEFT_DEEP_WAVE.value_changed to set_translation ] -->
<Transform DEF='K10_DEEPtranslation='0.0 -5.0 0.0'> </Transform>
<Transform DEF='K10_FLOORrotation='0.0 1.0 0.0 0.16scale='0.5 0.75 0.5translation='-1.0 -7.0 -1.0'>
<Inline USE='KelpExamplesNoBase'/>
</Transform>
</Transform>
<Transform DEF='K11_LOCALEtranslation='8.0 0.0 -2.0'>
<Transform DEF='K11_MIDWATERrotation='0.0 1.0 0.0 0.3translation='2.19 -7.0 0.15'> </Transform>
<!-- ROUTE information for K11_DEEP node:  [from LEFT_DEEP_WAVE.value_changed to set_translation ] -->
<Transform DEF='K11_DEEProtation='0.0 1.0 0.0 0.9translation='1.0 -5.0 0.0'> </Transform>
<Transform DEF='K11_FLOORrotation='0.0 1.0 0.0 0.3scale='0.5 0.75 0.5translation='-0.3 -7.0 0.0'>
<Inline USE='KelpExamplesNoBase'/>
</Transform>
<Transform translation='1.3 -5.0 3.0'> </Transform>
</Transform>
<Transform DEF='R2_LOCALEtranslation='-1.0 0.0 -1.0'> </Transform>
<Transform DEF='R3_LOCALEtranslation='3.0 0.0 -4.0'> </Transform>
<Transform DEF='R5_LOCALEtranslation='8.0 0.0 -2.0'> </Transform>
<!-- ROUTE information for WAVE_CLOCK node:  [from fraction_changed to CENTER_WAVE.set_fraction ] -->
<TimeSensor DEF='WAVE_CLOCKcycleInterval='5.5enabled='falseloop='true'/>
<PositionInterpolator DEF='LEFT_SHALLOW_WAVEkey='0.0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1.0keyValue='0.0 0.0 0.0 0.056 -0.085 0.0 0.08 -0.12 0.0 0.056 -0.085 0.0 0.0 0.0 0.0 -0.056 0.085 0.0 -0.08 0.12 0.0 -0.056 0.085 0.0 0.0 0.0 0.0'/>
<!-- ROUTE information for LEFT_DEEP_WAVE node:  [from value_changed to K10_DEEP.set_translation ] [from value_changed to K11_DEEP.set_translation ] -->
<PositionInterpolator DEF='LEFT_DEEP_WAVEkey='0.0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1.0keyValue='0.0 0.0 0.0 0.035 -0.035 0.0 0.05 -0.05 0.0 0.035 -0.035 0.0 0.0 0.0 0.0 -0.035 0.035 0.0 -0.05 0.05 0.0 -0.035 0.035 0.0 0.0 0.0 0.0'/>
<!-- ROUTE information for CENTER_WAVE node:  [from WAVE_CLOCK.fraction_changed to set_fraction ] [from value_changed to K7_MIDWATER.set_translation ] [from value_changed to K4_MIDWATER.set_translation ] [from value_changed to R3_MIDWATER.set_translation ] -->
<PositionInterpolator DEF='CENTER_WAVEkey='0.0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1.0keyValue='0.0 0.0 0.0 0.106 0.0 0.0 0.15 0.0 0.0 0.106 0.0 0.0 0.0 0.0 0.0 -0.106 0.0 0.0 -0.15 0.0 0.0 -0.106 0.0 0.0 0.0 0.0 0.0'/>
<!-- ROUTE information for RIGHT_SHALLOW_WAVE node:  [from value_changed to R2_MIDWATER.set_translation ] [from value_changed to R5_SHALLOW.set_translation ] -->
<PositionInterpolator DEF='RIGHT_SHALLOW_WAVEkey='0.0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1.0keyValue='0.0 0.0 0.0 0.056 0.085 0.0 0.08 0.12 0.0 0.056 0.085 0.0 0.0 0.0 0.0 -0.056 -0.085 0.0 -0.08 -0.12 0.0 -0.056 -0.085 0.0 0.0 0.0 0.0'/>
<!-- ROUTE information for RIGHT_DEEP_WAVE node:  [from value_changed to K2_MIDWATER.set_translation ] [from value_changed to R2_DEEP.set_translation ] -->
<PositionInterpolator DEF='RIGHT_DEEP_WAVEkey='0.0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1.0keyValue='0.0 0.0 0.0 0.035 0.035 0.0 0.05 0.05 0.0 0.035 0.035 0.0 0.0 0.0 0.0 -0.035 -0.035 0.0 -0.05 -0.05 0.0 -0.035 -0.035 0.0 0.0 0.0 0.0'/>
</Collision>
</Group>
<ROUTE fromNode='WAVE_CLOCKfromField='fraction_changedtoNode='CENTER_WAVEtoField='set_fraction'/>
<ROUTE fromNode='CENTER_WAVEfromField='value_changedtoNode='K7_MIDWATERtoField='set_translation'/>
<ROUTE fromNode='RIGHT_DEEP_WAVEfromField='value_changedtoNode='K2_MIDWATERtoField='set_translation'/>
<ROUTE fromNode='CENTER_WAVEfromField='value_changedtoNode='K4_MIDWATERtoField='set_translation'/>
<ROUTE fromNode='LEFT_DEEP_WAVEfromField='value_changedtoNode='K10_DEEPtoField='set_translation'/>
<ROUTE fromNode='LEFT_DEEP_WAVEfromField='value_changedtoNode='K11_DEEPtoField='set_translation'/>
<ROUTE fromNode='RIGHT_SHALLOW_WAVEfromField='value_changedtoNode='R2_MIDWATERtoField='set_translation'/>
<ROUTE fromNode='RIGHT_DEEP_WAVEfromField='value_changedtoNode='R2_DEEPtoField='set_translation'/>
<ROUTE fromNode='CENTER_WAVEfromField='value_changedtoNode='R3_MIDWATERtoField='set_translation'/>
<ROUTE fromNode='RIGHT_SHALLOW_WAVEfromField='value_changedtoNode='R5_SHALLOWtoField='set_translation'/>
<TimeSensor DEF='MasterClockloop='true'/>
<Group DEF='Nancy'>
<!-- Scale used on Nancy underwater to approximate the defraction magnification of the plexiglass window. -->
<!-- ROUTE information for NancyTransform node:  [from NancyInterpolator.position_changed to set_translation ] [from NancyInterpolator.orientation_changed to set_rotation ] -->
<Transform DEF='NancyTransformrotation='-0.45 0.77 -0.45 1.82scale='1.3 1.3 1.3translation='3 -6.5 -2'> </Transform>
<!-- ROUTE information for JEFFSCLOCK node:  [from fraction_changed to NancyInterpolator.set_fraction ] -->
<TimeSensor DEF='JEFFSCLOCKcycleInterval='100loop='true'/>
<!-- ROUTE information for NancyInterpolator node:  [from JEFFSCLOCK.fraction_changed to set_fraction ] [from position_changed to NancyTransform.set_translation ] [from orientation_changed to NancyTransform.set_rotation ] -->
<ProtoInstance name='WaypointInterpolatorDEF='NancyInterpolator'>
<fieldValue name='descriptionvalue='Nancy track'/>
<fieldValue name='waypointsvalue='-5.5 -5.7 -.2 -7.7 -2.7 -1.7 6 -3 -3 2 -2 -2 1 -4 -1 -2 -2 -2 -5.5 -5.7 -.2'/>
<fieldValue name='defaultSpeedvalue='0.5'/>
<fieldValue name='pitchUpDownForVerticalWaypointsvalue='true'/>
<fieldValue name='labelDisplayModevalue='none'/>
<fieldValue name='lineColorvalue='0 0 0'/>
<fieldValue name='labelColorvalue='0 0.8 0.8'/>
<fieldValue name='labelOffsetvalue='0 -1.6 0'/>
<fieldValue name='labelFontSizevalue='6'/>
<fieldValue name='traceEnabledvalue='false'/>
<fieldValue name='transparencyvalue='1'/>
<fieldValue name='turningRatevalue='18'/>
<!-- totalDuration is a computed output -->
</ProtoInstance>
</Group>
<ROUTE fromNode='JEFFSCLOCKfromField='fraction_changedtoNode='NancyInterpolatortoField='set_fraction'/>
<ROUTE fromNode='NancyInterpolatorfromField='position_changedtoNode='NancyTransformtoField='set_translation'/>
<ROUTE fromNode='NancyInterpolatorfromField='orientation_changedtoNode='NancyTransformtoField='set_rotation'/>
<!-- ROUTE information for LoadMonitor node:  [from progress to Display.progress ] -->
<LoadSensor DEF='LoadMonitor'>
<Inline USE='LoadIntrocontainerField='watchList'/>
<Inline USE='LoadLeftycontainerField='watchList'/>
<Inline USE='LoadLucycontainerField='watchList'/>
<Inline USE='LoadTankcontainerField='watchList'/>
<Inline USE='LoadFloorcontainerField='watchList'/>
<Inline USE='LoadSardinecontainerField='watchList'/>
<Inline USE='KelpExamplesNoBasecontainerField='watchList'/>
<Inline USE='LoadHalfMooncontainerField='watchList'/>
<Inline USE='LoadRubberLipcontainerField='watchList'/>
<Inline USE='LoadStripedPerchcontainerField='watchList'/>
<Inline USE='LoadSeaStarcontainerField='watchList'/>
<Inline USE='LoadBlackPerchcontainerField='watchList'/>
<Inline USE='LoadSeaStar2containerField='watchList'/>
<Inline USE='LoadRockfishcontainerField='watchList'/>
<Inline USE='LoadPerchcontainerField='watchList'/>
<Inline USE='LoadGaribaldicontainerField='watchList'/>
<Inline USE='LoadBasscontainerField='watchList'/>
<Inline USE='LoadNancycontainerField='watchList'/>
</LoadSensor>
<!-- ROUTE information for Display node:  [from LoadMonitor.progress to progress ] -->
<Script DEF='Display'
  url=' "LoadSensorKelpForestMainScript.js" "http://X3dGraphics.com/examples/X3dForWebAuthors/Chapter12EnvironmentSensorSound/LoadSensorKelpForestMainScript.js" '>
<field name='progresstype='SFFloataccessType='inputOnly'/>
</Script>
<ROUTE fromNode='LoadMonitorfromField='progresstoNode='DisplaytoField='progress'/>
</Scene>
</X3D>
<!--

Index for ExternProtoDeclare definitions : ViewPositionOrientation, WaypointInterpolator

Index for DEF nodes : CENTER_WAVE, Display, JEFFSCLOCK, K10_DEEP, K10_FLOOR, K10_LOCALE, K11_DEEP, K11_FLOOR, K11_LOCALE, K11_MIDWATER, K2_FLOOR, K2_LOCALE, K2_MIDWATER, K4_FLOOR, K4_LOCALE, K4_MIDWATER, K7_FLOOR, K7_LOCALE, K7_MIDWATER, KelpExamplesNoBase, LEFT_DEEP_WAVE, LEFT_SHALLOW_WAVE, LoadBass, LoadBlackPerch, LoadFloor, LoadGaribaldi, LoadHalfMoon, LoadIntro, LoadLefty, LoadLucy, LoadMonitor, LoadNancy, LoadPerch, LoadRockfish, LoadRubberLip, LoadSardine, LoadSeaStar, LoadSeaStar2, LoadStripedPerch, LoadTank, MasterClock, Nancy, NancyInterpolator, NancyTransform, R2_DEEP, R2_LOCALE, R2_MIDWATER, R3_LOCALE, R3_MIDWATER, R5_LOCALE, R5_SHALLOW, RIGHT_DEEP_WAVE, RIGHT_SHALLOW_WAVE, Root, Viewpoints, WAVE_CLOCK

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)
    <Prototype name='ProtoName'> <field name='fieldName'/> </Prototype> -->

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