X3D Model Documentation: LoadSensorKelpForestMain.x3d

  1  <?xml version="1.0" encoding="UTF-8"?>
  2  <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 4.0//EN" "https://www.web3d.org/specifications/x3d-4.0.dtd">
  3  <X3D profile='Immersive' version='4.0 xmlns:xsd='https://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-4.0.xsd'>
  4       <head>
  5            <meta name='titlecontent=' LoadSensorKelpForestMain.x3d '/>
  6            <meta name='descriptioncontent='An example use of the LoadSensor node in the Kelp Forest world.'/>
  7            <meta name='creatorcontent='Don Brutzman Revised: Leonard Daly for X3D Book'/>
  8            <meta name='createdcontent='1 June 1998'/>
  9            <meta name='modifiedcontent='11 July 2026'/>
 10            <meta name='referencecontent='http://faculty.nps.edu/brutzman/kelp'/>
 11            <meta name='referencecontent=' http://faculty.nps.edu/brutzman/kelp/KelpForestDesignPaper.pdf '/>
 12            <meta name='subjectcontent='Kelp Forest 3D models'/>
 13            <meta name='accessRightscontent='All content has permissions for free use. Please provide credit to the Naval Postgraduate School (NPS) Modeling Virtual Environments and Simulation (MOVES) Institute.'/>
 14            <meta name='referencecontent=' https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpForestMain.x3d '/>
 15            <meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter12EnvironmentSensorSound/LoadSensorKelpForestMain.x3d '/>
 16            <meta name='generatorcontent='X3D-Edit 4.0, https://www.web3d.org/x3d/tools/X3D-Edit'/>
 17            <meta name='licensecontent='../license.html'/>
 18       </head>
<!--

Event Graph ROUTE Table shows event connections.

--> <!-- to top DEF nodes index: CENTER_WAVE, ConsoleOutputViewPositionOrientation, 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, LoadExternal, LoadFloor, LoadGaribaldi, LoadHalfMoon, LoadIntro, LoadLefty, LoadLucy, 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 nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3, Viewpoint_4, Viewpoint_5, Viewpoint_6, Viewpoint_7

Index for ExternProtoDeclare definitions: ViewPositionOrientation, WaypointInterpolator

-->
 19       <Scene>
 20            <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'/>
 21            <NavigationInfo speed='3.0'/>
 22            <ExternProtoDeclare name='ViewPositionOrientation'   url=' "../../Savage/Tools/Authoring/ViewPositionOrientationPrototype.x3d#ViewPositionOrientation" "https://www.web3d.org/x3d/content/examples/Savage/Tools/Authoring/ViewPositionOrientationPrototype.x3d#ViewPositionOrientation" "../../Savage/Tools/Authoring/ViewPositionOrientationPrototype.wrl#ViewPositionOrientation" "https://www.web3d.org/x3d/content/examples/Savage/Tools/Authoring/ViewPositionOrientationPrototype.wrl#ViewPositionOrientation" '>
 23                 <field name='enabledtype='SFBoolaccessType='inputOutput'/>
 24                 <field name='traceEnabledtype='SFBoolaccessType='initializeOnly'/>
 25                 <field name='set_traceEnabledtype='SFBoolaccessType='inputOnly'/>
 26                 <field name='position_changedtype='SFVec3faccessType='outputOnly'/>
 27                 <field name='orientation_changedtype='SFRotationaccessType='outputOnly'/>
 28                 <field name='outputViewpointStringtype='MFStringaccessType='outputOnly'/>
 29            </ExternProtoDeclare>
 30            <ProtoInstance name='ViewPositionOrientationDEF='ConsoleOutputViewPositionOrientation'>
 31                 <fieldValue name='enabledvalue='false'/>
 32            </ProtoInstance>
 33            <ExternProtoDeclare name='WaypointInterpolatorappinfo='Reads waypoints and legSpeeds/legDurations/defaultSpeed to provide a customizable position/orientation interpolator.'   url=' "../../Savage/Tools/Animation/WaypointInterpolatorPrototype.x3d#WaypointInterpolator" "https://www.web3d.org/x3d/content/examples/Savage/Tools/Animation/WaypointInterpolatorPrototype.x3d#WaypointInterpolator" "../../Savage/Tools/Animation/WaypointInterpolatorPrototype.wrl#WaypointInterpolator" "https://www.web3d.org/x3d/content/examples/Savage/Tools/Animation/WaypointInterpolatorPrototype.wrl#WaypointInterpolator" '>
 34                 <!-- Priority of use: legSpeeds (m/sec), legDurations (seconds), defaultSpeed (m/sec) -->
 35                 <field name='descriptiontype='SFStringaccessType='initializeOnlyappinfo='Short description of what is animated by this WaypointInterpolator.'/>
 36                 <field name='waypointstype='MFVec3faccessType='initializeOnlyappinfo='Waypoints being traversed with interpolation of intermediate positions and orientations.'/>
 37                 <field name='add_waypointtype='SFVec3faccessType='inputOnlyappinfo='Add another single waypoint to array of waypoints recalculate interpolator values.'/>
 38                 <field name='set_waypointstype='MFVec3faccessType='inputOnlyappinfo='Replace all waypoints recalculate interpolator values.'/>
 39                 <field name='pitchUpDownForVerticalWaypointstype='SFBoolaccessType='initializeOnlyappinfo='Whether to pitch child geometry (such as a vehicle) up or down to match vertical slope'/>
 40                 <field name='legSpeedstype='MFFloataccessType='initializeOnlyappinfo='Units m/sec. If used array lengths for legSpeeds and legDurations must be one less than number of waypoints.'/>
 41                 <field name='legDurationstype='MFTimeaccessType='initializeOnlyappinfo='Units in seconds. If used array lengths for legSpeeds and legDurations must be one less than number of waypoints.'/>
 42                 <field name='defaultSpeedtype='SFFloataccessType='initializeOnlyappinfo='Units m/sec.'/>
 43                 <field name='turningRatetype='SFFloataccessType='initializeOnlyappinfo='turningRate (degrees/second) also determines standoff distance prior to waypoint where turn commences. If 0 turns are instantaneous.'/>
 44                 <field name='totalDurationtype='SFTimeaccessType='outputOnlyappinfo='Output calculation summing all leg durations, useful for setting TimeSensor cycleInterval. Units in seconds.'/>
 45                 <!-- interpolation fields -->
 46                 <field name='set_fractiontype='SFFloataccessType='inputOnlyappinfo='exposed PositionInterpolator and OrientationInterpolator setting'/>
 47                 <field name='position_changedtype='SFVec3faccessType='outputOnlyappinfo='exposed PositionInterpolator setting'/>
 48                 <field name='orientation_changedtype='SFRotationaccessType='outputOnlyappinfo='exposed OrientationInterpolator setting'/>
 49                 <!-- display-related fields -->
 50                 <field name='lineColortype='SFColoraccessType='inputOutputappinfo='default color for non-active line segments'/>
 51                 <field name='highlightSegmentColortype='SFColoraccessType='inputOutputappinfo='highlightSegmentColors must contain two color values for each endpoint of the highlight segment.'/>
 52                 <field name='transparencytype='SFFloataccessType='inputOutputappinfo='1.0 is completely transparent, 0.0 is completely opaque.'/>
 53                 <field name='labelDisplayModetype='SFStringaccessType='initializeOnlyappinfo='allowed values: none; waypoints (produce labels at each waypoint); or interpolation (produce single moving label at interpolator time course speed location)'/>
 54                 <field name='heightLabeltype='SFStringaccessType='initializeOnlyappinfo='allowed values: altitude depth (negate Y value) none'/>
 55                 <field name='labelOffsettype='SFVec3faccessType='initializeOnlyappinfo='heightLabel relative location'/>
 56                 <field name='labelFontSizetype='SFFloataccessType='initializeOnlyappinfo='heightLabel text size'/>
 57                 <field name='labelColortype='SFColoraccessType='initializeOnlyappinfo='heightLabel text color'/>
 58                 <field name='traceEnabledtype='SFBoolaccessType='initializeOnlyappinfo='enable console output to trace script computations and prototype progress'/>
 59                 <field name='outputInitializationComputationstype='SFBoolaccessType='initializeOnlyappinfo='Output the number of waypoints totalDistance and totalDuration to console upon initialization'/>
 60                 <field name='verticalDropLineColortype='SFColoraccessType='inputOutputappinfo='default color for vertical drop-line segments'/>
 61                 <field name='verticalDropLineTransparencytype='SFFloataccessType='inputOutputappinfo='1.0 is completely transparent, 0.0 is completely opaque.'/>
 62            </ExternProtoDeclare>
 63            <Group DEF='Viewpoints'>
 64                 <Viewpoint description='Kelp Forest Monterey Bay Aquariumposition='0.0 -5.0 45.0'/>
 65                 <Viewpoint description='Side WindowsfieldOfView='0.5orientation='0.0 1.0 0.0 0.9position='25.0 -4.0 15.0'/>
 66                 <Viewpoint description='Star Fishorientation='0.0 1.0 0.0 1.25position='14.0 -5.75 1.0'/>
 67                 <Viewpoint description='Inside Tankorientation='0.0 1.0 0.0 3.14position='0.0 -5.0 -7.0'/>
 68                 <Viewpoint description='Top floorfieldOfView='1.04719orientation='-0.3 1.0 0.3 1.57079position='12.5 5.0 -2.0'/>
 69                 <Viewpoint description="Bird's Eye Vieworientation='1.0 0.0 0.0 -1.57position='0.0 19.0 -3.5'/>
 70                 <Viewpoint description='Pump HousefieldOfView='0.6orientation='0.0 1.0 0.0 1.3position='-5.0 1.0 0.0'/>
 71            </Group>
 72            <Group DEF='Root'>
 73                 <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 " "https://www.web3d.org/WorkingGroups/media/textures/panoramas/horizon_3_back.jpg " "https://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 " "https://www.web3d.org/WorkingGroups/media/textures/panoramas/horizon_3_bottom.jpg " "https://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 " "https://www.web3d.org/WorkingGroups/media/textures/panoramas/horizon_3_front.jpg " "https://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 " "https://www.web3d.org/WorkingGroups/media/textures/panoramas/horizon_3_left.jpg " "https://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 " "https://www.web3d.org/WorkingGroups/media/textures/panoramas/horizon_3_right.jpg " "https://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 " "https://www.web3d.org/WorkingGroups/media/textures/panoramas/horizon_3_top.jpg " "https://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 " '/>
 74 
 75                 <Collision enabled='false'>
 76                      <Transform>
 77 
 78                      </Transform>
 79                      <Transform>
 80 
 81                      </Transform>
 82                      <Transform>
 83 
                         <!-- Inline LoadTank is a DEF node that has 1 USE node: USE_1 -->
                         <Inline DEF='LoadTank'   url=' "../KelpForestExhibit/KelpTank.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpTank.x3d" "../KelpForestExhibit/KelpTank.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpTank.wrl" '/>
 84                      </Transform>
 85                      <Transform scale='0.54 0.75 0.52translation='0.3 -2.88 7.3'>
 86 
                         <!-- Inline LoadFloor is a DEF node that has 1 USE node: USE_1 -->
                         <Inline DEF='LoadFloor'   url=' "../KelpForestExhibit/RockFloor.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/RockFloor.x3d" "../KelpForestExhibit/RockFloor.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/RockFloor.wrl" '/>
 87                      </Transform>
 88                      <Transform DEF='K2_LOCALEtranslation='-4.0 0.0 1.0'>
 89 
                         <!-- ROUTE information for K2_MIDWATER node:  [from RIGHT_DEEP_WAVE.value_changed to set_translation ] -->
                         <Transform DEF='K2_MIDWATERscale='0.2 0.2 0.2translation='-1.0 -4.0 -4.0'>
 90 
                              <!-- Inline LoadSardine is a DEF node that has 1 USE node: USE_1 -->
                              <Inline DEF='LoadSardine'   url=' "../KelpForestExhibit/SardineSchool.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SardineSchool.x3d" "../KelpForestExhibit/SardineSchool.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SardineSchool.wrl" '/>
 91                           </Transform>
 92                           <Transform DEF='K2_FLOORrotation='0.0 1.0 0.0 0.44scale='0.5 0.9 0.5translation='-1.9 -8.5 -1.5'>
 93 
 94                           </Transform>
 95                      </Transform>
 96                      <Transform DEF='K4_LOCALEtranslation='-2.5 0.0 -2.5'>
 97 
                         <!-- ROUTE information for K4_MIDWATER node:  [from CENTER_WAVE.value_changed to set_translation ] -->
                         <Transform DEF='K4_MIDWATERtranslation='-10.0 -2.0 -2.0'>
 98 
                              <!-- Inline LoadHalfMoon is a DEF node that has 1 USE node: USE_1 -->
                              <Inline DEF='LoadHalfMoon'   url=' "../KelpForestExhibit/HalfMoonGroup.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/HalfMoonGroup.x3d" "../KelpForestExhibit/HalfMoonGroup.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/HalfMoonGroup.wrl" '/>
 99                           </Transform>
100                           <Transform DEF='K4_FLOORrotation='0.0 1.0 0.0 -0.3scale='0.5 0.8 0.5translation='-1.5 -7.5 0.5'>
101                                <Inline USE='KelpExamplesNoBase'/>
102                           </Transform>
103                      </Transform>
104                      <Transform DEF='K7_LOCALEtranslation='2.0 0.0 -2.5'>
105 
                         <!-- 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'>
106 
                              <!-- Inline LoadRubberLip is a DEF node that has 1 USE node: USE_1 -->
                              <Inline DEF='LoadRubberLip'   url=' "../KelpForestExhibit/RubberLipGroup.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/RubberLipGroup.x3d" "../KelpForestExhibit/RubberLipGroup.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/RubberLipGroup.wrl" '/>
107                           </Transform>
108                           <Transform DEF='K7_FLOORscale='0.5 0.85 0.5translation='0.0 -7.75 0.0'>
109                                <Inline USE='KelpExamplesNoBase'/>
110                           </Transform>
111                      </Transform>
112                      <Transform DEF='K10_LOCALEtranslation='7.0 0.0 2.0'>
113 
                         <!-- 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'>
114 
                              <!-- Inline LoadStripedPerch is a DEF node that has 1 USE node: USE_1 -->
                              <Inline DEF='LoadStripedPerch'   url=' "../KelpForestExhibit/StripedSurfPerch.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/StripedSurfPerch.x3d" "../KelpForestExhibit/StripedSurfPerch.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/StripedSurfPerch.wrl" '/>
115                           </Transform>
116                           <Transform DEF='K10_FLOORrotation='0.0 1.0 0.0 0.16scale='0.5 0.75 0.5translation='-1.0 -7.0 -1.0'>
117                                <Inline USE='KelpExamplesNoBase'/>
118                           </Transform>
119                      </Transform>
120                      <Transform DEF='K11_LOCALEtranslation='8.0 0.0 -2.0'>
121                           <Transform DEF='K11_MIDWATERrotation='0.0 1.0 0.0 0.3translation='2.19 -7.0 0.15'>
122 
                              <!-- Inline LoadSeaStar is a DEF node that has 1 USE node: USE_1 -->
                              <Inline DEF='LoadSeaStar'   url=' "../KelpForestExhibit/SeaStarSimple.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SeaStarSimple.x3d" "../KelpForestExhibit/SeaStarSimple.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SeaStarSimple.wrl" '/>
123                           </Transform>
124 
                         <!-- 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'>
125 
                              <!-- Inline LoadBlackPerch is a DEF node that has 1 USE node: USE_1 -->
                              <Inline DEF='LoadBlackPerch'   url=' "../KelpForestExhibit/BlackSurfPerch.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/BlackSurfPerch.x3d" "../KelpForestExhibit/BlackSurfPerch.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/BlackSurfPerch.wrl" '/>
126                           </Transform>
127                           <Transform DEF='K11_FLOORrotation='0.0 1.0 0.0 0.3scale='0.5 0.75 0.5translation='-0.3 -7.0 0.0'>
128                                <Inline USE='KelpExamplesNoBase'/>
129                           </Transform>
130                           <Transform translation='1.3 -5.0 3.0'>
131 
                              <!-- Inline LoadSeaStar2 is a DEF node that has 1 USE node: USE_1 -->
                              <Inline DEF='LoadSeaStar2'   url=' "../KelpForestExhibit/SeaStarGroup.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SeaStarGroup.x3d" "../KelpForestExhibit/SeaStarGroup.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SeaStarGroup.wrl" '/>
132                           </Transform>
133                      </Transform>
134                      <Transform DEF='R2_LOCALEtranslation='-1.0 0.0 -1.0'>
135 
                         <!-- ROUTE information for R2_MIDWATER node:  [from RIGHT_SHALLOW_WAVE.value_changed to set_translation ] -->
                         <Transform DEF='R2_MIDWATERtranslation='-1.0 -6.0 -2.0'>
136 
                              <!-- Inline LoadRockfish is a DEF node that has 1 USE node: USE_1 -->
                              <Inline DEF='LoadRockfish'   url=' "../KelpForestExhibit/BlueRockFish.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/BlueRockFish.x3d" "../KelpForestExhibit/BlueRockFish.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/BlueRockFish.wrl" '/>
137                           </Transform>
138 
                         <!-- ROUTE information for R2_DEEP node:  [from RIGHT_DEEP_WAVE.value_changed to set_translation ] -->
                         <Transform DEF='R2_DEEPtranslation='1.0 -6.5 -1.0'>
139 
                              <!-- Inline LoadPerch is a DEF node that has 1 USE node: USE_1 -->
                              <Inline DEF='LoadPerch'   url=' "../KelpForestExhibit/KelpSurfPerch.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpSurfPerch.x3d" "../KelpForestExhibit/KelpSurfPerch.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpSurfPerch.wrl" '/>
140                           </Transform>
141                      </Transform>
142                      <Transform DEF='R3_LOCALEtranslation='3.0 0.0 -4.0'>
143 
                         <!-- ROUTE information for R3_MIDWATER node:  [from CENTER_WAVE.value_changed to set_translation ] -->
                         <Transform DEF='R3_MIDWATERtranslation='0.0 -6.0 0.0'>
144 
                              <!-- Inline LoadGaribaldi is a DEF node that has 1 USE node: USE_1 -->
                              <Inline DEF='LoadGaribaldi'   url=' "../KelpForestExhibit/Garibaldi.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/Garibaldi.x3d" "../KelpForestExhibit/Garibaldi.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/Garibaldi.wrl" '/>
145                           </Transform>
146                      </Transform>
147                      <Transform DEF='R5_LOCALEtranslation='8.0 0.0 -2.0'>
148 
                         <!-- ROUTE information for R5_SHALLOW node:  [from RIGHT_SHALLOW_WAVE.value_changed to set_translation ] -->
                         <Transform DEF='R5_SHALLOWtranslation='-2.0 -2.0 0.0'>
149 
                              <!-- Inline LoadBass is a DEF node that has 1 USE node: USE_1 -->
                              <Inline DEF='LoadBass'   url=' "../KelpForestExhibit/KelpBass.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpBass.x3d" "../KelpForestExhibit/KelpBass.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpBass.wrl" '/>
150                           </Transform>
151                      </Transform>
152 
                    <!-- ROUTE information for WAVE_CLOCK node:  [from fraction_changed to CENTER_WAVE.set_fraction ] -->
                    <TimeSensor DEF='WAVE_CLOCKcycleInterval='5.5enabled='falseloop='true'/>
153 
                    <!-- ROUTE information for LEFT_SHALLOW_WAVE node:  [no input ROUTE found] [no output ROUTE found] -->
                    <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'/>
154 
                    <!-- ROUTE information for LEFT_DEEP_WAVE node:  [from value_changed to K10_DEEP.set_translation ] [from value_changed to K11_DEEP.set_translation ] [no input ROUTE found] -->
                    <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'/>
155 
                    <!-- 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'/>
156 
                    <!-- ROUTE information for RIGHT_SHALLOW_WAVE node:  [from value_changed to R2_MIDWATER.set_translation ] [from value_changed to R5_SHALLOW.set_translation ] [no input ROUTE found] -->
                    <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'/>
157 
                    <!-- ROUTE information for RIGHT_DEEP_WAVE node:  [from value_changed to K2_MIDWATER.set_translation ] [from value_changed to R2_DEEP.set_translation ] [no input ROUTE found] -->
                    <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'/>
158                 </Collision>
159            </Group>
160            < ROUTE  fromNode='WAVE_CLOCK' fromField='fraction_changed' toNode='CENTER_WAVE' toField='set_fraction'/>
161            < ROUTE  fromNode='CENTER_WAVE' fromField='value_changed' toNode='K7_MIDWATER' toField='set_translation'/>
162            < ROUTE  fromNode='RIGHT_DEEP_WAVE' fromField='value_changed' toNode='K2_MIDWATER' toField='set_translation'/>
163            < ROUTE  fromNode='CENTER_WAVE' fromField='value_changed' toNode='K4_MIDWATER' toField='set_translation'/>
164            < ROUTE  fromNode='LEFT_DEEP_WAVE' fromField='value_changed' toNode='K10_DEEP' toField='set_translation'/>
165            < ROUTE  fromNode='LEFT_DEEP_WAVE' fromField='value_changed' toNode='K11_DEEP' toField='set_translation'/>
166            < ROUTE  fromNode='RIGHT_SHALLOW_WAVE' fromField='value_changed' toNode='R2_MIDWATER' toField='set_translation'/>
167            < ROUTE  fromNode='RIGHT_DEEP_WAVE' fromField='value_changed' toNode='R2_DEEP' toField='set_translation'/>
168            < ROUTE  fromNode='CENTER_WAVE' fromField='value_changed' toNode='R3_MIDWATER' toField='set_translation'/>
169            < ROUTE  fromNode='RIGHT_SHALLOW_WAVE' fromField='value_changed' toNode='R5_SHALLOW' toField='set_translation'/>
170 
          <!-- ROUTE information for MasterClock node:  [no output ROUTE found] -->
          <TimeSensor DEF='MasterClockloop='truecycleInterval='1.0enabled='true'/>
171            <Group DEF='Nancy'>
172                 <!-- Scale used on Nancy underwater to approximate the defraction magnification of the plexiglass window. -->
173 
               <!-- 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'>
174 
175                 </Transform>
176 
               <!-- ROUTE information for JEFFSCLOCK node:  [from fraction_changed to NancyInterpolator.set_fraction ] -->
               <TimeSensor DEF='JEFFSCLOCKcycleInterval='100loop='trueenabled='true'/>
177 
               <!-- 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'>
178                      <fieldValue name='descriptionvalue='Nancy track'/>
179                      <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'/>
180                      <fieldValue name='defaultSpeedvalue='0.5'/>
181                      <fieldValue name='pitchUpDownForVerticalWaypointsvalue='true'/>
182                      <fieldValue name='labelDisplayModevalue='none'/>
183                      <fieldValue name='lineColorvalue='0 0 0'/>
184                      <fieldValue name='labelColorvalue='0 0.8 0.8'/>
185                      <fieldValue name='labelOffsetvalue='0 -1.6 0'/>
186                      <fieldValue name='labelFontSizevalue='6'/>
187                      <fieldValue name='traceEnabledvalue='false'/>
188                      <fieldValue name='transparencyvalue='1'/>
189                      <fieldValue name='turningRatevalue='18'/>
190                      <!-- totalDuration is a computed output -->
191                 </ProtoInstance>
192            </Group>
193            < ROUTE  fromNode='JEFFSCLOCK' fromField='fraction_changed' toNode='NancyInterpolator' toField='set_fraction'/>
194            < ROUTE  fromNode='NancyInterpolator' fromField='position_changed' toNode='NancyTransform' toField='set_translation'/>
195            < ROUTE  fromNode='NancyInterpolator' fromField='orientation_changed' toNode='NancyTransform' toField='set_rotation'/>
196 
          <!-- ROUTE information for LoadExternal node:  [from progress to Display.progress ] -->
          <LoadSensor DEF='LoadExternal'>
197                 <Inline USE='LoadIntro'/>
198                 <Inline USE='LoadLefty'/>
199                 <Inline USE='LoadLucy'/>
200                 <Inline USE='LoadTank'/>
201                 <Inline USE='LoadFloor'/>
202                 <Inline USE='LoadSardine'/>
203                 <Inline USE='KelpExamplesNoBase'/>
204                 <Inline USE='LoadHalfMoon'/>
205                 <Inline USE='LoadRubberLip'/>
206                 <Inline USE='LoadStripedPerch'/>
207                 <Inline USE='LoadSeaStar'/>
208                 <Inline USE='LoadBlackPerch'/>
209                 <Inline USE='LoadSeaStar2'/>
210                 <Inline USE='LoadRockfish'/>
211                 <Inline USE='LoadPerch'/>
212                 <Inline USE='LoadGaribaldi'/>
213                 <Inline USE='LoadBass'/>
214                 <Inline USE='LoadNancy'/>
215            </LoadSensor>
216 
217                 <field name='progresstype='SFFloataccessType='inputOnly'/>
218            </Script>
219            < ROUTE  fromNode='LoadExternal' fromField='progress' toNode='Display' toField='progress'/>
220       </Scene>
221  </X3D>
<!--

Event Graph ROUTE Table shows event connections.

--> <!-- to top DEF nodes index: CENTER_WAVE, ConsoleOutputViewPositionOrientation, 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, LoadExternal, LoadFloor, LoadGaribaldi, LoadHalfMoon, LoadIntro, LoadLefty, LoadLucy, 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 nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3, Viewpoint_4, Viewpoint_5, Viewpoint_6, Viewpoint_7

Index for ExternProtoDeclare definitions: ViewPositionOrientation, WaypointInterpolator

-->
X3D Tooltips element index: to top Background, Collision, ExternProtoDeclare, field, fieldValue, Group, head, Inline, LoadSensor, meta, NavigationInfo, PositionInterpolator, ProtoInstance, ROUTE, Scene, Script, TimeSensor, Transform, Viewpoint, WorldInfo, X3D,
plus documentation for accessType definitions, type definitions, XML data types, and field types

🔖   Event Graph ROUTE Table entries with 14 ROUTE connections, showing X3D event-model relationships for this scene.

Each row with a ROUTE statement shows an event cascade that may occur during a single timestamp interval between frame renderings, performed as part of the X3D execution model.

LoadExternal
LoadSensor
progress
SFFloat
→
ROUTE
event to
(1)
Display
Script
progress
SFFloat

ConsoleOutputViewPositionOrientation
ProtoInstance
ViewPositionOrientation
No direct ROUTE connection found for events to/from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declarations with
direct access to other nodes, and thus has potential to produce run-time animation. 

WAVE_CLOCK
TimeSensor
fraction_changed
SFFloat
→
ROUTE
event to
(1)
CENTER_WAVE
PositionInterpolator
set_fraction
SFFloat
then
from
same
node
CENTER_WAVE
PositionInterpolator
value_changed
SFVec3f
→
ROUTE
event to
(2)
K7_MIDWATER
Transform
set_translation
SFVec3f
  then
from
same
node
CENTER_WAVE
PositionInterpolator
value_changed
SFVec3f
→
ROUTE
event to
(2)
K4_MIDWATER
Transform
set_translation
SFVec3f
  then
from
same
node
CENTER_WAVE
PositionInterpolator
value_changed
SFVec3f
→
ROUTE
event to
(2)
R3_MIDWATER
Transform
set_translation
SFVec3f

MasterClock
TimeSensor
No direct ROUTE connection found for events to/from this node. 

JEFFSCLOCK
TimeSensor
fraction_changed
SFFloat
→
ROUTE
event to
(1)
NancyInterpolator
ProtoInstance
set_fraction
SFFloat
then
from
same
node
NancyInterpolator
ProtoInstance ViewPositionOrientation
orientation_changed
SFRotation
→
ROUTE
event to
(2)
NancyTransform
Transform
set_rotation
SFRotation
  then
from
same
node
NancyInterpolator
ProtoInstance ViewPositionOrientation
position_changed
SFVec3f
→
ROUTE
event to
(2)
NancyTransform
Transform
set_translation
SFVec3f

NancyInterpolator
ProtoInstance ViewPositionOrientation
position_changed
SFVec3f
→
ROUTE
event to
(1)
NancyTransform
Transform
set_translation
SFVec3f
NancyInterpolator
ProtoInstance ViewPositionOrientation
orientation_changed
SFRotation
→
ROUTE
event to
(1)
NancyTransform
Transform
set_rotation
SFRotation

      Display
Script
No direct ROUTE connection found for events to/from this node.
This Script has no direct access to other nodes. 

Additional guidance on X3D animation can be found in the 10-Step Animation Design Process and Event Tracing hint sheets.
Have fun with X3D! 😀

-->
<!-- Online at
https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter12EnvironmentSensorSound/LoadSensorKelpForestMainIndex.html -->
<!-- SourceForge version control Version control at    
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter12EnvironmentSensorSound/LoadSensorKelpForestMain.x3d -->

<!-- Color-coding legend: X3D terminology <X3dNode DEF='idNamefield='value'/> matches XML terminology <XmlElement DEF='idNameattribute='value'/>
(Light-blue background: event-based behavior node or statement) (Grey background inside box: inserted documentation) (Magenta background: X3D Extensibility)
    <ProtoInstance name='ProtoName'> <field name='fieldName'/> </ProtoInstance> -->

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