X3D Model Documentation: KelpForestMain.x3d go to online X3D Example Archives model page

  1  <?xml version="1.0" encoding="UTF-8"?>
  2  <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://www.web3d.org/specifications/x3d-3.3.dtd">
  3  <X3D profile='Immersive' version='3.3'  xmlns:xsd='https://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.3.xsd'>
  4       <head>
  5            <meta name='title' content=' KelpForestMain.x3d '/>
  6            <meta name='description' content='This is the main entry to the Kelp Forest that loads all of the other components as Inline scenes.'/>
  7            <meta name='creator' content='Don Brutzman'/>
  8            <meta name='created' content='1 June 1998'/>
  9            <meta name='modified' content='2 March 2026'/>
 10            <meta name='reference' content='http://faculty.nps.edu/brutzman/kelp'/>
 11            <meta name='reference' content=' http://faculty.nps.edu/brutzman/kelp/KelpForestDesignPaper.pdf '/>
 12            <meta name='subject' content='Kelp Forest 3D models'/>
 13            <meta name='accessRights' content='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='identifier' content=' https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpForestMain.x3d '/>
 15            <meta name='generator' content='X3D-Edit 4.0, https://www.web3d.org/x3d/tools/X3D-Edit'/>
 16            <meta name='license' content='../license.html'/>
 17       </head>
<!--

Event Graph ROUTE Table shows event connections.

--> <!-- to top DEF nodes index: CENTER_WAVE, ConsoleOutputViewPositionOrientation, 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, MasterClock, 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

-->
 18       <Scene>
 19            <WorldInfo info=' "Model of the Monterey Bay Aquarium Kelp Forest" "DTG of original update: 111500Jun98" "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'/>
 20            <NavigationInfo speed='3.0' type='"EXAMINE" "FLY" "WALK" "ANY"'/>
 21  go to online X3D Example Archives model page           <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"'>
 22                 <field name='enabled' type='SFBool' accessType='inputOutput'/>
 23                 <field name='traceEnabled' type='SFBool' accessType='initializeOnly'/>
 24                 <field name='set_traceEnabled' type='SFBool' accessType='inputOnly'/>
 25                 <field name='position_changed' type='SFVec3f' accessType='outputOnly'/>
 26                 <field name='orientation_changed' type='SFRotation' accessType='outputOnly'/>
 27                 <field name='outputViewpointString' type='MFString' accessType='outputOnly'/>
 28            </ExternProtoDeclare>
 29            <ProtoInstance name='ViewPositionOrientation' DEF='ConsoleOutputViewPositionOrientation'>
 30                 <fieldValue name='enabled' value='false'/>
 31            </ProtoInstance>
 32  go to online X3D Example Archives model page           <ExternProtoDeclare name='WaypointInterpolator' appinfo='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"'>
 33                 <!-- Priority of use: legSpeeds (m/sec), legDurations (seconds), defaultSpeed (m/sec) -->
 34                 <field name='description' type='SFString' accessType='initializeOnly' appinfo='Short description of what is animated by this WaypointInterpolator.'/>
 35                 <field name='waypoints' type='MFVec3f' accessType='initializeOnly' appinfo='Waypoints being traversed with interpolation of intermediate positions and orientations.'/>
 36                 <field name='add_waypoint' type='SFVec3f' accessType='inputOnly' appinfo='Add another single waypoint to array of waypoints recalculate interpolator values.'/>
 37                 <field name='set_waypoints' type='MFVec3f' accessType='inputOnly' appinfo='Replace all waypoints recalculate interpolator values.'/>
 38                 <field name='pitchUpDownForVerticalWaypoints' type='SFBool' accessType='initializeOnly' appinfo='Whether to pitch child geometry (such as a vehicle) up or down to match vertical slope'/>
 39                 <field name='legSpeeds' type='MFFloat' accessType='initializeOnly' appinfo='Units m/sec. If used, array lengths for legSpeeds and legDurations must be one less than number of waypoints.'/>
 40                 <field name='legDurations' type='MFTime' accessType='initializeOnly' appinfo='Units in seconds. If used, array lengths for legSpeeds and legDurations must be one less than number of waypoints.'/>
 41                 <field name='defaultSpeed' type='SFFloat' accessType='initializeOnly' appinfo='Units m/sec.'/>
 42                 <field name='turningRate' type='SFFloat' accessType='initializeOnly' appinfo='turningRate (degrees/second) also determines standoff distance prior to waypoint where turn commences. If 0 turns are instantaneous.'/>
 43                 <field name='totalDuration' type='SFTime' accessType='outputOnly' appinfo='Output calculation summing all leg durations, useful for setting TimeSensor cycleInterval. Units in seconds.'/>
 44                 <!-- interpolation fields -->
 45                 <field name='set_fraction' type='SFFloat' accessType='inputOnly' appinfo='exposed PositionInterpolator and OrientationInterpolator setting'/>
 46                 <field name='position_changed' type='SFVec3f' accessType='outputOnly' appinfo='exposed PositionInterpolator setting'/>
 47                 <field name='orientation_changed' type='SFRotation' accessType='outputOnly' appinfo='exposed OrientationInterpolator setting'/>
 48                 <!-- display-related fields -->
 49                 <field name='lineColor' type='SFColor' accessType='inputOutput' appinfo='default color for non-active line segments'/>
 50                 <field name='highlightSegmentColor' type='SFColor' accessType='inputOutput' appinfo='active segment highlight color'/>
 51                 <field name='transparency' type='SFFloat' accessType='inputOutput' appinfo='1.0 is completely transparent, 0.0 is completely opaque.'/>
 52                 <field name='labelDisplayMode' type='SFString' accessType='initializeOnly' appinfo='allowed values: none; waypoints (produce labels at each waypoint); or interpolation (produce single moving label at interpolator time course speed location)'/>
 53                 <field name='heightLabel' type='SFString' accessType='initializeOnly' appinfo='allowed values: altitude depth (negate Y value) none'/>
 54                 <field name='labelOffset' type='SFVec3f' accessType='initializeOnly' appinfo='heightLabel relative location'/>
 55                 <field name='labelFontSize' type='SFFloat' accessType='initializeOnly' appinfo='heightLabel text size'/>
 56                 <field name='labelColor' type='SFColor' accessType='initializeOnly' appinfo='heightLabel text color'/>
 57                 <field name='traceEnabled' type='SFBool' accessType='initializeOnly' appinfo='enable console output to trace script computations and prototype progress'/>
 58                 <field name='outputInitializationComputations' type='SFBool' accessType='initializeOnly' appinfo='Output the number of waypoints totalDistance and totalDuration to console upon initialization'/>
 59                 <field name='verticalDropLineColor' type='SFColor' accessType='inputOutput' appinfo='default color for vertical drop-line segments'/>
 60                 <field name='verticalDropLineTransparency' type='SFFloat' accessType='inputOutput' appinfo='1.0 is completely transparent, 0.0 is completely opaque.'/>
 61            </ExternProtoDeclare>
 62            <Group DEF='Viewpoints'>
 63                 <Viewpoint description='Kelp Forest Monterey Bay Aquarium' position='0.0 -5.0 45.0'/>
 64                 <Viewpoint description='Side Windows' fieldOfView='0.5' orientation='0.0 1.0 0.0 0.9' position='25.0 -4.0 15.0'/>
 65                 <Viewpoint description='Star Fish' orientation='0.0 1.0 0.0 1.25' position='14.0 -5.75 1.0'/>
 66                 <Viewpoint description='Inside Tank' orientation='0.0 1.0 0.0 3.14' position='0.0 -5.0 -7.0'/>
 67                 <Viewpoint description='Top floor' fieldOfView='1.04719' orientation='-0.3 1.0 0.3 1.57079' position='12.5 5.0 -2.0'/>
 68                 <Viewpoint description="Bird's Eye View" orientation='1.0 0.0 0.0 -1.57' position='0.0 19.0 -3.5'/>
 69                 <Viewpoint description='Pump House' fieldOfView='0.6' orientation='0.0 1.0 0.0 1.3' position='-5.0 1.0 0.0'/>
 70            </Group>
 71            <Group DEF='Root'>
 72                 <Background groundAngle='1.309 1.5707' groundColor='0.1 0.1 0.0 0.4 0.25 0.2 0.6 0.6 0.6' skyAngle='1.309 1.5707' skyColor='0.0 0.5 1.0 0.0 0.0 1.0 0.0 0.0 1.0'/>
 73  go to online X3D Example Archives model page                <Inline   url=' "IntroductionMessage.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/IntroductionMessage.x3d" "IntroductionMessage.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/IntroductionMessage.wrl"'/>
 74                 <Collision enabled='false'>
 75                      <Transform>
 76  go to online X3D Example Archives model page                          <Inline   url=' "SharkLeftyLocale.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SharkLeftyLocale.x3d" "SharkLeftyLocale.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SharkLeftyLocale.wrl"'/>
 77                      </Transform>
 78                      <Transform>
 79  go to online X3D Example Archives model page                          <Inline   url=' "SharkLucyLocale.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SharkLucyLocale.x3d" "SharkLucyLocale.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SharkLucyLocale.wrl"'/>
 80                      </Transform>
 81                      <Transform>
 82  go to online X3D Example Archives model page                          <Inline   url=' "KelpTank.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpTank.x3d" "KelpTank.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpTank.wrl"'/>
 83                      </Transform>
 84                      <Transform scale='0.54 0.75 0.52' translation='0.3 -2.88 7.3'>
 85  go to online X3D Example Archives model page                          <Inline   url=' "RockFloor.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/RockFloor.x3d" "RockFloor.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/RockFloor.wrl"'/>
 86                      </Transform>
 87                      <Transform DEF='K2_LOCALE' translation='-4.0 0.0 1.0'>
 88 
                         <!-- ROUTE information for K2_MIDWATER node:  [from RIGHT_DEEP_WAVE.value_changed to set_translation ] -->
                         <Transform DEF='K2_MIDWATER' scale='0.2 0.2 0.2' translation='-1.0 -4.0 -4.0'>
 89  go to online X3D Example Archives model page                               <Inline   url=' "SardineSchool.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SardineSchool.x3d" "SardineSchool.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SardineSchool.wrl"'/>
 90                           </Transform>
 91                           <Transform DEF='K2_FLOOR' rotation='0.0 1.0 0.0 0.44' scale='0.5 0.9 0.5' translation='-1.9 -8.5 -1.5'>
 92 
                              <!-- Inline KelpExamplesNoBase is a DEF node that has 4 USE nodes: USE_1, USE_2, USE_3, USE_4 -->
go to online X3D Example Archives model page                               <Inline DEF='KelpExamplesNoBase'   url=' "KelpExamplesNoBase.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpExamplesNoBase.x3d" "KelpExamplesNoBase.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpExamplesNoBase.wrl"'/>
 93                           </Transform>
 94                      </Transform>
 95                      <Transform DEF='K4_LOCALE' translation='-2.5 0.0 -2.5'>
 96 
                         <!-- ROUTE information for K4_MIDWATER node:  [from CENTER_WAVE.value_changed to set_translation ] -->
                         <Transform DEF='K4_MIDWATER' translation='-10.0 -2.0 -2.0'>
 97  go to online X3D Example Archives model page                               <Inline   url=' "HalfMoonGroup.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/HalfMoonGroup.x3d" "HalfMoonGroup.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/HalfMoonGroup.wrl"'/>
 98                           </Transform>
 99                           <Transform DEF='K4_FLOOR' rotation='0.0 1.0 0.0 -0.3' scale='0.5 0.8 0.5' translation='-1.5 -7.5 0.5'>
100                                <Inline USE='KelpExamplesNoBase'/>
101                           </Transform>
102                      </Transform>
103                      <Transform DEF='K7_LOCALE' translation='2.0 0.0 -2.5'>
104 
                         <!-- ROUTE information for K7_MIDWATER node:  [from CENTER_WAVE.value_changed to set_translation ] -->
                         <Transform DEF='K7_MIDWATER' scale='0.25 0.25 0.25' translation='2.0 -4.0 0.0'>
105  go to online X3D Example Archives model page                               <Inline   url=' "RubberLipGroup.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/RubberLipGroup.x3d" "RubberLipGroup.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/RubberLipGroup.wrl"'/>
106                           </Transform>
107                           <Transform DEF='K7_FLOOR' scale='0.5 0.85 0.5' translation='0.0 -7.75 0.0'>
108                                <Inline USE='KelpExamplesNoBase'/>
109                           </Transform>
110                      </Transform>
111                      <Transform DEF='K10_LOCALE' translation='7.0 0.0 2.0'>
112 
                         <!-- ROUTE information for K10_DEEP node:  [from LEFT_DEEP_WAVE.value_changed to set_translation ] -->
                         <Transform DEF='K10_DEEP' translation='0.0 -5.0 0.0'>
113  go to online X3D Example Archives model page                               <Inline   url=' "StripedSurfPerch.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/StripedSurfPerch.x3d" "StripedSurfPerch.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/StripedSurfPerch.wrl"'/>
114                           </Transform>
115                           <Transform DEF='K10_FLOOR' rotation='0.0 1.0 0.0 0.16' scale='0.5 0.75 0.5' translation='-1.0 -7.0 -1.0'>
116                                <Inline USE='KelpExamplesNoBase'/>
117                           </Transform>
118                      </Transform>
119                      <Transform DEF='K11_LOCALE' translation='8.0 0.0 -2.0'>
120                           <Transform DEF='K11_MIDWATER' rotation='0.0 1.0 0.0 0.3' translation='2.19 -7.0 0.15'>
121  go to online X3D Example Archives model page                               <Inline   url=' "SeaStarSimple.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SeaStarSimple.x3d" "SeaStarSimple.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SeaStarSimple.wrl"'/>
122                           </Transform>
123 
                         <!-- ROUTE information for K11_DEEP node:  [from LEFT_DEEP_WAVE.value_changed to set_translation ] -->
                         <Transform DEF='K11_DEEP' rotation='0.0 1.0 0.0 0.9' translation='1.0 -5.0 0.0'>
124  go to online X3D Example Archives model page                               <Inline   url=' "BlackSurfPerch.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/BlackSurfPerch.x3d" "BlackSurfPerch.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/BlackSurfPerch.wrl"'/>
125                           </Transform>
126                           <Transform DEF='K11_FLOOR' rotation='0.0 1.0 0.0 0.3' scale='0.5 0.75 0.5' translation='-0.3 -7.0 0.0'>
127                                <Inline USE='KelpExamplesNoBase'/>
128                           </Transform>
129                           <Transform translation='1.3 -5.0 3.0'>
130  go to online X3D Example Archives model page                               <Inline   url=' "SeaStarGroup.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SeaStarGroup.x3d" "SeaStarGroup.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SeaStarGroup.wrl"'/>
131                           </Transform>
132                      </Transform>
133                      <Transform DEF='R2_LOCALE' translation='-1.0 0.0 -1.0'>
134 
                         <!-- ROUTE information for R2_MIDWATER node:  [from RIGHT_SHALLOW_WAVE.value_changed to set_translation ] -->
                         <Transform DEF='R2_MIDWATER' translation='-1.0 -6.0 -2.0'>
135  go to online X3D Example Archives model page                               <Inline   url=' "BlueRockFish.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/BlueRockFish.x3d" "BlueRockFish.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/BlueRockFish.wrl"'/>
136                           </Transform>
137 
                         <!-- ROUTE information for R2_DEEP node:  [from RIGHT_DEEP_WAVE.value_changed to set_translation ] -->
                         <Transform DEF='R2_DEEP' translation='1.0 -6.5 -1.0'>
138  go to online X3D Example Archives model page                               <Inline   url=' "KelpSurfPerch.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpSurfPerch.x3d" "KelpSurfPerch.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpSurfPerch.wrl"'/>
139                           </Transform>
140                      </Transform>
141                      <Transform DEF='R3_LOCALE' translation='3.0 0.0 -4.0'>
142 
                         <!-- ROUTE information for R3_MIDWATER node:  [from CENTER_WAVE.value_changed to set_translation ] -->
                         <Transform DEF='R3_MIDWATER' translation='0.0 -6.0 0.0'>
143  go to online X3D Example Archives model page                               <Inline   url=' "Garibaldi.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/Garibaldi.x3d" "Garibaldi.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/Garibaldi.wrl"'/>
144                           </Transform>
145                      </Transform>
146                      <Transform DEF='R5_LOCALE' translation='8.0 0.0 -2.0'>
147 
                         <!-- ROUTE information for R5_SHALLOW node:  [from RIGHT_SHALLOW_WAVE.value_changed to set_translation ] -->
                         <Transform DEF='R5_SHALLOW' translation='-2.0 -2.0 0.0'>
148  go to online X3D Example Archives model page                               <Inline   url=' "KelpBass.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpBass.x3d" "KelpBass.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpBass.wrl"'/>
149                           </Transform>
150                      </Transform>
151 
                    <!-- ROUTE information for WAVE_CLOCK node:  [from fraction_changed to CENTER_WAVE.set_fraction ] -->
                    <TimeSensor DEF='WAVE_CLOCK' cycleInterval='5.5' enabled='false' loop='true'/>
152 
                    <!-- ROUTE information for LEFT_SHALLOW_WAVE node:  [no input ROUTE found] [no output ROUTE found] -->
                    <PositionInterpolator DEF='LEFT_SHALLOW_WAVE' key='0.0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1.0' keyValue='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'/>
153 
                    <!-- 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_WAVE' key='0.0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1.0' keyValue='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'/>
154 
                    <!-- 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_WAVE' key='0.0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1.0' keyValue='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'/>
155 
                    <!-- 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_WAVE' key='0.0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1.0' keyValue='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'/>
156 
                    <!-- 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_WAVE' key='0.0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1.0' keyValue='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'/>
157                 </Collision>
158            </Group>
159            < ROUTE  fromNode='WAVE_CLOCK' fromField='fraction_changed' toNode='CENTER_WAVE' toField='set_fraction'/>
160            < ROUTE  fromNode='CENTER_WAVE' fromField='value_changed' toNode='K7_MIDWATER' toField='set_translation'/>
161            < ROUTE  fromNode='RIGHT_DEEP_WAVE' fromField='value_changed' toNode='K2_MIDWATER' toField='set_translation'/>
162            < ROUTE  fromNode='CENTER_WAVE' fromField='value_changed' toNode='K4_MIDWATER' toField='set_translation'/>
163            < ROUTE  fromNode='LEFT_DEEP_WAVE' fromField='value_changed' toNode='K10_DEEP' toField='set_translation'/>
164            < ROUTE  fromNode='LEFT_DEEP_WAVE' fromField='value_changed' toNode='K11_DEEP' toField='set_translation'/>
165            < ROUTE  fromNode='RIGHT_SHALLOW_WAVE' fromField='value_changed' toNode='R2_MIDWATER' toField='set_translation'/>
166            < ROUTE  fromNode='RIGHT_DEEP_WAVE' fromField='value_changed' toNode='R2_DEEP' toField='set_translation'/>
167            < ROUTE  fromNode='CENTER_WAVE' fromField='value_changed' toNode='R3_MIDWATER' toField='set_translation'/>
168            < ROUTE  fromNode='RIGHT_SHALLOW_WAVE' fromField='value_changed' toNode='R5_SHALLOW' toField='set_translation'/>
169 
          <!-- ROUTE information for MasterClock node:  [no output ROUTE found] -->
          <TimeSensor DEF='MasterClock' loop='true' cycleInterval='1.0' enabled='true'/>
170       </Scene>
171  </X3D>
<!--

Event Graph ROUTE Table shows event connections.

--> <!-- to top DEF nodes index: CENTER_WAVE, ConsoleOutputViewPositionOrientation, 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, MasterClock, 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, meta, NavigationInfo, PositionInterpolator, ProtoInstance, ROUTE, Scene, TimeSensor, Transform, Viewpoint, WorldInfo, X3D,
plus documentation for accessType definitions, type definitions, XML data types, and field types

🔖   Event Graph ROUTE Table entries with 10 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.

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. 

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

-->
go to online X3D Example Archives model page <!-- Online at
https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpForestMainIndex.html -->
<!-- SourceForge version control Version control at    
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpForestMain.x3d -->

<!-- Color-coding legend: X3D terminology <X3dNode DEF='idName' field='value'/> matches XML terminology <XmlElement DEF='idName' attribute='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. -->