| 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='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.3.xsd'> |
| 4 | <head> |
| 5 | <meta name='title' content=' LoadSensorKelpForestMain_timeOut.x3d '/> |
| 6 | <meta name='description' content='An example use of the LoadSensor node in the Kelp Forest world.'/> |
| 7 | <meta name='creator' content='Don Brutzman Revised: Leonard Daly for X3D Book'/> |
| 8 | <meta name='created' content='1 June 1998'/> |
| 9 | <meta name='modified' content='28 October 2023'/> |
| 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='reference' content=' https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpForestMain.x3d '/> |
| 15 | <meta name='identifier' content=' https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter12EnvironmentSensorSound/LoadSensorKelpForestMain_timeOut.x3d '/> |
| 16 | <meta name='generator' content='X3D-Edit 4.0, https://www.web3d.org/x3d/tools/X3D-Edit'/> |
| 17 | <meta name='license' content='../license.html'/> |
| 18 | </head> |
| 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://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" '> |
| 23 | <field name='enabled' type='SFBool' accessType='inputOutput'/> |
| 24 | <field name='traceEnabled' type='SFBool' accessType='initializeOnly'/> |
| 25 | <field name='set_traceEnabled' type='SFBool' accessType='inputOnly'/> |
| 26 | <field name='position_changed' type='SFVec3f' accessType='outputOnly'/> |
| 27 | <field name='orientation_changed' type='SFRotation' accessType='outputOnly'/> |
| 28 | <field name='outputViewpointString' type='MFString' accessType='outputOnly'/> |
| 29 | </ExternProtoDeclare> |
| 30 | <ProtoInstance name='ViewPositionOrientation' DEF='ConsoleOutputViewPositionOrientation'> |
| 31 | <fieldValue name='enabled' value='false'/> |
| 32 | </ProtoInstance> |
| 33 | <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://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" '> |
| 34 | <!-- Priority of use: legSpeeds (m/sec), legDurations (seconds), defaultSpeed (m/sec) --> |
| 35 |
<field name='description' type='SFString' accessType='initializeOnly'
appinfo='Short description of what is animated by this WaypointInterpolator.'/> |
| 36 |
<field name='waypoints' type='MFVec3f' accessType='initializeOnly'
appinfo='Waypoints being traversed with interpolation of intermediate positions and orientations.'/> |
| 37 |
<field name='add_waypoint' type='SFVec3f' accessType='inputOnly'
appinfo='Add another single waypoint to array of waypoints recalculate interpolator values.'/> |
| 38 |
<field name='set_waypoints' type='MFVec3f' accessType='inputOnly'
appinfo='Replace all waypoints recalculate interpolator values.'/> |
| 39 |
<field name='pitchUpDownForVerticalWaypoints' type='SFBool' accessType='initializeOnly'
appinfo='Whether to pitch child geometry (such as a vehicle) up or down to match vertical slope'/> |
| 40 |
<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.'/> |
| 41 |
<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.'/> |
| 42 |
<field name='defaultSpeed' type='SFFloat' accessType='initializeOnly'
appinfo='Units m/sec.'/> |
| 43 |
<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.'/> |
| 44 |
<field name='totalDuration' type='SFTime' accessType='outputOnly'
appinfo='Output calculation summing all leg durations, useful for setting TimeSensor cycleInterval. Units in seconds.'/> |
| 45 | <!-- interpolation fields --> |
| 46 |
<field name='set_fraction' type='SFFloat' accessType='inputOnly'
appinfo='exposed PositionInterpolator and OrientationInterpolator setting'/> |
| 47 |
<field name='position_changed' type='SFVec3f' accessType='outputOnly'
appinfo='exposed PositionInterpolator setting'/> |
| 48 |
<field name='orientation_changed' type='SFRotation' accessType='outputOnly'
appinfo='exposed OrientationInterpolator setting'/> |
| 49 | <!-- display-related fields --> |
| 50 |
<field name='lineColor' type='SFColor' accessType='inputOutput'
appinfo='default color for non-active line segments'/> |
| 51 |
<field name='highlightSegmentColor' type='SFColor' accessType='inputOutput'
appinfo='highlightSegmentColors must contain two color values for each endpoint of the highlight segment.'/> |
| 52 |
<field name='transparency' type='SFFloat' accessType='inputOutput'
appinfo='1.0 is completely transparent, 0.0 is completely opaque.'/> |
| 53 |
<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)'/> |
| 54 |
<field name='heightLabel' type='SFString' accessType='initializeOnly'
appinfo='allowed values: altitude depth (negate Y value) none'/> |
| 55 |
<field name='labelOffset' type='SFVec3f' accessType='initializeOnly'
appinfo='heightLabel relative location'/> |
| 56 |
<field name='labelFontSize' type='SFFloat' accessType='initializeOnly'
appinfo='heightLabel text size'/> |
| 57 |
<field name='labelColor' type='SFColor' accessType='initializeOnly'
appinfo='heightLabel text color'/> |
| 58 |
<field name='traceEnabled' type='SFBool' accessType='initializeOnly'
appinfo='enable console output to trace script computations and prototype progress'/> |
| 59 |
<field name='outputInitializationComputations' type='SFBool' accessType='initializeOnly'
appinfo='Output the number of waypoints totalDistance and totalDuration to console upon initialization'/> |
| 60 |
<field name='verticalDropLineColor' type='SFColor' accessType='inputOutput'
appinfo='default color for vertical drop-line segments'/> |
| 61 |
<field name='verticalDropLineTransparency' type='SFFloat' accessType='inputOutput'
appinfo='1.0 is completely transparent, 0.0 is completely opaque.'/> |
| 62 | </ExternProtoDeclare> |
| 63 | <Group DEF='Viewpoints'> |
| 64 | <Viewpoint description='Kelp Forest Monterey Bay Aquarium' position='0.0 -5.0 45.0'/> |
| 65 | <Viewpoint description='Side Windows' fieldOfView='0.5' orientation='0.0 1.0 0.0 0.9' position='25.0 -4.0 15.0'/> |
| 66 | <Viewpoint description='Star Fish' orientation='0.0 1.0 0.0 1.25' position='14.0 -5.75 1.0'/> |
| 67 | <Viewpoint description='Inside Tank' orientation='0.0 1.0 0.0 3.14' position='0.0 -5.0 -7.0'/> |
| 68 | <Viewpoint description='Top floor' fieldOfView='1.04719' orientation='-0.3 1.0 0.3 1.57079' position='12.5 5.0 -2.0'/> |
| 69 | <Viewpoint description="Bird's Eye View" orientation='1.0 0.0 0.0 -1.57' position='0.0 19.0 -3.5'/> |
| 70 | <Viewpoint description='Pump House' fieldOfView='0.6' orientation='0.0 1.0 0.0 1.3' position='-5.0 1.0 0.0'/> |
| 71 | </Group> |
| 72 | <Group DEF='Root'> |
| 73 |
<Background groundAngle='1.309 1.5707' groundColor='0.1 0.1 0 0.4 0.25 0.2 0.6 0.6 0.6' skyAngle='1.309 1.5707' skyColor='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 |
<!-- Inline
LoadIntro is a DEF node that has 1 USE node: USE_1 --> <Inline DEF='LoadIntro' url=' "../KelpForestExhibit/IntroductionMessage.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/IntroductionMessage.x3d" "../KelpForestExhibit/IntroductionMessage.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/IntroductionMessage.wrl" '/> |
| 75 | <Collision enabled='false'> |
| 76 | <Transform> |
| 77 |
<!-- Inline
LoadLefty is a DEF node that has 1 USE node: USE_1 --> <Inline DEF='LoadLefty' url=' "../KelpForestExhibit/SharkLeftyLocale.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SharkLeftyLocale.x3d" "../KelpForestExhibit/SharkLeftyLocale.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SharkLeftyLocale.wrl" '/> |
| 78 | </Transform> |
| 79 | <Transform> |
| 80 |
<!-- Inline
LoadLucy is a DEF node that has 1 USE node: USE_1 --> <Inline DEF='LoadLucy' url=' "../KelpForestExhibit/SharkLucyLocale.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SharkLucyLocale.x3d" "../KelpForestExhibit/SharkLucyLocale.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SharkLucyLocale.wrl" '/> |
| 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.52' translation='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_LOCALE' translation='-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_MIDWATER' scale='0.2 0.2 0.2' translation='-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_FLOOR' rotation='0.0 1.0 0.0 0.44' scale='0.5 0.9 0.5' translation='-1.9 -8.5 -1.5'> |
| 93 |
<!-- Inline
KelpExamplesNoBase is a DEF node that has 5 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5 --> <Inline DEF='KelpExamplesNoBase' url=' "../KelpForestExhibit/KelpExamplesNoBase.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpExamplesNoBase.x3d" "../KelpForestExhibit/KelpExamplesNoBase.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpExamplesNoBase.wrl" '/> |
| 94 | </Transform> |
| 95 | </Transform> |
| 96 | <Transform DEF='K4_LOCALE' translation='-2.5 0.0 -2.5'> |
| 97 |
<!-- 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'> |
| 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_FLOOR' rotation='0.0 1.0 0.0 -0.3' scale='0.5 0.8 0.5' translation='-1.5 -7.5 0.5'> |
| 101 | <Inline USE='KelpExamplesNoBase'/> |
| 102 | </Transform> |
| 103 | </Transform> |
| 104 | <Transform DEF='K7_LOCALE' translation='2.0 0.0 -2.5'> |
| 105 |
<!-- 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'> |
| 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_FLOOR' scale='0.5 0.85 0.5' translation='0.0 -7.75 0.0'> |
| 109 | <Inline USE='KelpExamplesNoBase'/> |
| 110 | </Transform> |
| 111 | </Transform> |
| 112 | <Transform DEF='K10_LOCALE' translation='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_DEEP' translation='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_FLOOR' rotation='0.0 1.0 0.0 0.16' scale='0.5 0.75 0.5' translation='-1.0 -7.0 -1.0'> |
| 117 | <Inline USE='KelpExamplesNoBase'/> |
| 118 | </Transform> |
| 119 | </Transform> |
| 120 | <Transform DEF='K11_LOCALE' translation='8.0 0.0 -2.0'> |
| 121 | <Transform DEF='K11_MIDWATER' rotation='0.0 1.0 0.0 0.3' translation='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_DEEP' rotation='0.0 1.0 0.0 0.9' translation='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_FLOOR' rotation='0.0 1.0 0.0 0.3' scale='0.5 0.75 0.5' translation='-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_LOCALE' translation='-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_MIDWATER' translation='-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_DEEP' translation='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_LOCALE' translation='3.0 0.0 -4.0'> |
| 143 |
<!-- 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'> |
| 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_LOCALE' translation='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_SHALLOW' translation='-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_CLOCK' cycleInterval='5.5' enabled='false' loop='true'/> |
| 153 | <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'/> |
| 154 |
<!-- 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_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'/> |
| 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_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'/> |
| 156 |
<!-- 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_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'/> |
| 157 |
<!-- 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_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'/> |
| 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 | <TimeSensor DEF='MasterClock' loop='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='NancyTransform' rotation='-0.45 0.77 -0.45 1.82' scale='1.3 1.3 1.3' translation='3 -6.5 -2'> |
| 174 |
<!-- Inline
LoadNancy is a DEF node that has 1 USE node: USE_1 --> <Inline DEF='LoadNancy' url=' "../../HumanoidAnimation/Legacy/NancyDiving.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Legacy/NancyDiving.x3d" "../../HumanoidAnimation/Legacy/NancyDiving.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Legacy/NancyDiving.wrl" '/> |
| 175 | </Transform> |
| 176 |
<!-- ROUTE information for JEFFSCLOCK node:
[from fraction_changed to NancyInterpolator.set_fraction
]
-->
<TimeSensor DEF='JEFFSCLOCK' cycleInterval='100' loop='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='WaypointInterpolator' DEF='NancyInterpolator'> |
| 178 | <fieldValue name='description' value='Nancy track'/> |
| 179 | <fieldValue name='waypoints' value='-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='defaultSpeed' value='0.5'/> |
| 181 | <fieldValue name='pitchUpDownForVerticalWaypoints' value='true'/> |
| 182 | <fieldValue name='labelDisplayMode' value='none'/> |
| 183 | <fieldValue name='lineColor' value='0 0 0'/> |
| 184 | <fieldValue name='labelColor' value='0 0.8 0.8'/> |
| 185 | <fieldValue name='labelOffset' value='0 -1.6 0'/> |
| 186 | <fieldValue name='labelFontSize' value='6'/> |
| 187 | <fieldValue name='traceEnabled' value='false'/> |
| 188 | <fieldValue name='transparency' value='1'/> |
| 189 | <fieldValue name='turningRate' value='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 LoadMonitor node:
[from progress to Display.progress
]
-->
<LoadSensor DEF='LoadMonitor'> |
| 197 | <Inline USE='LoadIntro' containerField='watchList'/> |
| 198 | <Inline USE='LoadLefty' containerField='watchList'/> |
| 199 | <Inline USE='LoadLucy' containerField='watchList'/> |
| 200 | <Inline USE='LoadTank' containerField='watchList'/> |
| 201 | <Inline USE='LoadFloor' containerField='watchList'/> |
| 202 | <Inline USE='LoadSardine' containerField='watchList'/> |
| 203 | <Inline USE='KelpExamplesNoBase' containerField='watchList'/> |
| 204 | <Inline USE='LoadHalfMoon' containerField='watchList'/> |
| 205 | <Inline USE='LoadRubberLip' containerField='watchList'/> |
| 206 | <Inline USE='LoadStripedPerch' containerField='watchList'/> |
| 207 | <Inline USE='LoadSeaStar' containerField='watchList'/> |
| 208 | <Inline USE='LoadBlackPerch' containerField='watchList'/> |
| 209 | <Inline USE='LoadSeaStar2' containerField='watchList'/> |
| 210 | <Inline USE='LoadRockfish' containerField='watchList'/> |
| 211 | <Inline USE='LoadPerch' containerField='watchList'/> |
| 212 | <Inline USE='LoadGaribaldi' containerField='watchList'/> |
| 213 | <Inline USE='LoadBass' containerField='watchList'/> |
| 214 | <Inline USE='LoadNancy' containerField='watchList'/> |
| 215 | </LoadSensor> |
| 216 |
<!-- ROUTE information for Display node:
[from LoadMonitor.progress to progress
]
-->
<Script DEF='Display' url=' "LoadSensorKelpForestMainScript.js" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter12EnvironmentSensorSound/LoadSensorKelpForestMainScript.js" '> |
| 217 | <field name='progress' type='SFFloat' accessType='inputOnly'/> |
| 218 | </Script> |
| 219 | < ROUTE fromNode='LoadMonitor' fromField='progress' toNode='Display' toField='progress'/> |
| 220 | </Scene> |
| 221 | </X3D> |
Event Graph ROUTE Table entries with 14 ROUTE connections total, showing X3D event-model relationships for this scene.
Each row shows an event cascade that may occur during a single timestamp interval between frame renderings, as part of the X3D execution model.
|
JEFFSCLOCK
TimeSensor fraction_changed SFFloat |
NancyInterpolator
ProtoInstance set_fraction SFFloat |
then
|
NancyInterpolator
ProtoInstance orientation_changed SFRotation |
NancyTransform
Transform set_rotation SFRotation |
||
|
then
|
NancyInterpolator
ProtoInstance position_changed SFVec3f |
NancyTransform
Transform set_translation SFVec3f |
||||
|
MasterClock
TimeSensor |
No direct ROUTE connection found for events to/from this node. |
|
WAVE_CLOCK
TimeSensor fraction_changed SFFloat |
CENTER_WAVE
PositionInterpolator set_fraction SFFloat |
then
|
CENTER_WAVE
PositionInterpolator value_changed SFVec3f |
K7_MIDWATER
Transform set_translation SFVec3f |
||
|
then
|
CENTER_WAVE
PositionInterpolator value_changed SFVec3f |
K4_MIDWATER
Transform set_translation SFVec3f |
||||
|
then
|
CENTER_WAVE
PositionInterpolator value_changed SFVec3f |
R3_MIDWATER
Transform set_translation SFVec3f |
||||
|
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. |
|
NancyInterpolator
ProtoInstance position_changed SFVec3f |
NancyTransform
Transform set_translation SFVec3f |
|
|
NancyInterpolator
ProtoInstance orientation_changed SFRotation |
NancyTransform
Transform set_rotation SFRotation |
|
LoadMonitor
LoadSensor progress SFFloat |
Display
Script progress SFFloat |
<!--
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>
-->
<!--
For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints.
-->