X3D Model Documentation: FishSchool.x3d

  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='titlecontent='FishSchool.x3d'/>
  6            <meta name='descriptioncontent='Fish Schooling Demo'/>
  7            <meta name='creatorcontent='Stewart Liles, Sean Hynes'/>
  8            <meta name='createdcontent='25 September 1998'/>
  9            <meta name='modifiedcontent='14 December 2024'/>
 10            <meta name='referencecontent='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpForestDesignPaperWeb3dSymposiumFebruary2002.pdf'/>
 11            <meta name='referencecontent='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/Teaching3d-KelpForestCaseStudy.pdf'/>
 12            <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.'/>
 13            <meta name='identifiercontent='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/FishSchool.x3d'/>
 14            <meta name='referencecontent='Audacity, https://www.audacityteam.org'/>
 15            <meta name='generatorcontent='X3D-Edit 4.0, https://savage.nps.edu/X3D-Edit'/>
 16            <meta name='licensecontent='../license.html'/>
 17       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top Index for DEF nodes: BoidScript, Fish0, Fish1, Fish2, Fish3, Fish4, Fish5, Fish6, Fish7, Fish8, Fish9, FishIN, GlobalClock

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3, Viewpoint_4, Viewpoint_5, Viewpoint_6, Viewpoint_7, Viewpoint_8, Viewpoint_9, Viewpoint_10, Viewpoint_11, Viewpoint_12, Viewpoint_13, Viewpoint_14, Viewpoint_15, Viewpoint_16
-->
 18       <Scene>
 19            <WorldInfo title='FishSchool.x3d'/>
 20            <NavigationInfo speed='5.0type='"EXAMINE"visibilityLimit='250.0'/>
 21            <Viewpoint description='Close to School - FSposition='0.0 1.0 75.0'/>
 22            <Viewpoint description='Nose on Glass - FSfieldOfView='1.0position='0.0 1.0 30.0'/>
 23            <Viewpoint description='Fish Feeding - FSfieldOfView='1.0orientation='1.0 0.0 0.0 -1.57position='0.0 40.0 0.0'/>
 24            <Viewpoint description='Left Side - FSfieldOfView='1.0orientation='0.0 1.0 0.0 -1.57position='-40.0 0.0 0.0'/>
 25            <Viewpoint description='Right Side - FSfieldOfView='1.0orientation='0.0 1.0 0.0 1.57position='40.0 0.0 0.0'/>
 26            <Viewpoint description='Middle Looking Out - FSjump='falseorientation='0.0 1.0 0.0 2.2position='0.0 0.0 0.0'/>
 27            <SpotLight ambientIntensity='1.0direction='0.0 -1.0 0.0location='0.0 50.0 0.0'/>
 28            <Sound location='0 0.1 0maxBack='50maxFront='50minBack='50minFront='50'>
 29                 <!-- updated original Sound2 as Sound3 using Audacity -->
 30                 <AudioClip description='Sound for Fishloop='true'   url=' "Sound3.wav" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/Sound3.wav" "Sound2.wav" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/Sound2.wav" '/>
 31            </Sound>
 32 
          <!-- ROUTE information for GlobalClock node:  [from fraction_changed to BoidScript.GlobalTick ] -->
          <TimeSensor DEF='GlobalClockloop='true'/>
 33            <Shape>
 34                 <Appearance>
 35                      <Material/>
 36                 </Appearance>
 37                 <IndexedLineSet coordIndex='0 1 2 3 0 -1 4 5 6 7 4 -1 0 4 -1 1 5 -1 2 6 -1 3 7'>
 38                      <Coordinate point='-30.0 30.0 30.0 30.0 30.0 30.0 30.0 30.0 -30.0 -30.0 30.0 -30.0 -30.0 -30.0 30.0 30.0 -30.0 30.0 30.0 -30.0 -30.0 -30.0 -30.0 -30.0'/>
 39                 </IndexedLineSet>
 40            </Shape>
 41            <Fog color='0.1 0.3 0.1visibilityRange='70.0'/>
 42 
          <!-- Transform Fish0 is a DEF node that has 1 USE node: USE_1 -->
          <Transform DEF='Fish0translation='-5.0 0.0 0.0'>
 43                 <Viewpoint description='Fish 0 viewfieldOfView='1.8position='0.0 1.0 -0.5'/>
 44 
               <!-- Inline FishIN is a DEF node that has 9 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6, USE_7, USE_8, USE_9 -->
               <Inline DEF='FishIN'   url=' "Fish.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/Fish.x3d" "Fish.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/Fish.wrl" '/>
 45            </Transform>
 46 
          <!-- Transform Fish1 is a DEF node that has 1 USE node: USE_1 -->
          <Transform DEF='Fish1translation='-4.0 0.0 0.0'>
 47                 <Viewpoint description='Fish 1 viewfieldOfView='1.8position='0.0 1.0 -0.5'/>
 48                 <Inline USE='FishIN'/>
 49            </Transform>
 50 
          <!-- Transform Fish2 is a DEF node that has 1 USE node: USE_1 -->
          <Transform DEF='Fish2translation='-3.0 0.0 0.0'>
 51                 <Viewpoint description='Fish 2 viewfieldOfView='1.8position='0.0 1.0 -0.5'/>
 52                 <Inline USE='FishIN'/>
 53            </Transform>
 54 
          <!-- Transform Fish3 is a DEF node that has 1 USE node: USE_1 -->
          <Transform DEF='Fish3translation='-2.0 0.0 0.0'>
 55                 <Viewpoint description='Fish 3 viewfieldOfView='1.8position='0.0 1.0 -0.5'/>
 56                 <Inline USE='FishIN'/>
 57            </Transform>
 58 
          <!-- Transform Fish4 is a DEF node that has 1 USE node: USE_1 -->
          <Transform DEF='Fish4translation='-1.0 0.0 0.0'>
 59                 <Viewpoint description='Fish 4 viewfieldOfView='1.8position='0.0 1.0 -0.5'/>
 60                 <Inline USE='FishIN'/>
 61            </Transform>
 62 
          <!-- Transform Fish5 is a DEF node that has 1 USE node: USE_1 -->
          <Transform DEF='Fish5'>
 63                 <Viewpoint description='Fish 5 viewfieldOfView='1.8position='0.0 1.0 -0.5'/>
 64                 <Inline USE='FishIN'/>
 65            </Transform>
 66 
          <!-- Transform Fish6 is a DEF node that has 1 USE node: USE_1 -->
          <Transform DEF='Fish6translation='1.0 0.0 0.0'>
 67                 <Viewpoint description='Fish 6 viewfieldOfView='1.8position='0.0 1.0 -0.5'/>
 68                 <Inline USE='FishIN'/>
 69            </Transform>
 70 
          <!-- Transform Fish7 is a DEF node that has 1 USE node: USE_1 -->
          <Transform DEF='Fish7translation='2.0 0.0 0.0'>
 71                 <Viewpoint description='Fish 7 viewfieldOfView='1.8position='0.0 1.0 -0.5'/>
 72                 <Inline USE='FishIN'/>
 73            </Transform>
 74 
          <!-- Transform Fish8 is a DEF node that has 1 USE node: USE_1 -->
          <Transform DEF='Fish8translation='3.0 0.0 0.0'>
 75                 <Viewpoint description='Fish 8 viewfieldOfView='1.8position='0.0 1.0 -0.5'/>
 76                 <Inline USE='FishIN'/>
 77            </Transform>
 78 
          <!-- Transform Fish9 is a DEF node that has 1 USE node: USE_1 -->
          <Transform DEF='Fish9translation='4.0 0.0 0.0'>
 79                 <Viewpoint description='Fish 9 viewfieldOfView='1.8position='0.0 1.0 -0.5'/>
 80                 <Inline USE='FishIN'/>
 81            </Transform>
 82            <!-- Warning: VRML97-style scripting, not X3D Scene Authoring Interface (SAI) -->
 83 
          <!-- ROUTE information for BoidScript node:  [from GlobalClock.fraction_changed to GlobalTick ] -->
          <Script DEF='BoidScriptdirectOutput='truemustEvaluate='true'   url=' "FishSchoolCode/Demo.class" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/FishSchoolCode/Demo.class" '>
 84                 <field name='GlobalTicktype='SFFloataccessType='inputOnly'/>
 85                 <field name='B9type='SFNodeaccessType='initializeOnly'>
 86                      <Transform USE='Fish9'/>
 87                 </field>
 88                 <field name='B8type='SFNodeaccessType='initializeOnly'>
 89                      <Transform USE='Fish8'/>
 90                 </field>
 91                 <field name='B7type='SFNodeaccessType='initializeOnly'>
 92                      <Transform USE='Fish7'/>
 93                 </field>
 94                 <field name='B6type='SFNodeaccessType='initializeOnly'>
 95                      <Transform USE='Fish6'/>
 96                 </field>
 97                 <field name='B5type='SFNodeaccessType='initializeOnly'>
 98                      <Transform USE='Fish5'/>
 99                 </field>
100                 <field name='B4type='SFNodeaccessType='initializeOnly'>
101                      <Transform USE='Fish4'/>
102                 </field>
103                 <field name='B3type='SFNodeaccessType='initializeOnly'>
104                      <Transform USE='Fish3'/>
105                 </field>
106                 <field name='B2type='SFNodeaccessType='initializeOnly'>
107                      <Transform USE='Fish2'/>
108                 </field>
109                 <field name='B1type='SFNodeaccessType='initializeOnly'>
110                      <Transform USE='Fish1'/>
111                 </field>
112                 <field name='B0type='SFNodeaccessType='initializeOnly'>
113                      <Transform USE='Fish0'/>
114                 </field>
115            </Script>
116            < ROUTE  fromNode='GlobalClock' fromField='fraction_changed' toNode='BoidScript' toField='GlobalTick'/>
117       </Scene>
118  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top Index for DEF nodes: BoidScript, Fish0, Fish1, Fish2, Fish3, Fish4, Fish5, Fish6, Fish7, Fish8, Fish9, FishIN, GlobalClock

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3, Viewpoint_4, Viewpoint_5, Viewpoint_6, Viewpoint_7, Viewpoint_8, Viewpoint_9, Viewpoint_10, Viewpoint_11, Viewpoint_12, Viewpoint_13, Viewpoint_14, Viewpoint_15, Viewpoint_16
-->
X3D Tooltips element index: Appearance, AudioClip, Coordinate, field, Fog, head, IndexedLineSet, Inline, Material, meta, NavigationInfo, ROUTE, Scene, Script, Shape, Sound, SpotLight, TimeSensor, Transform, Viewpoint, WorldInfo, X3D, plus documentation for accessType definitions, type definitions, XML data types, and field types

Event Graph ROUTE Table with 1 ROUTE connection 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.

GlobalClock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
BoidScript
Script
GlobalTick
SFFloat


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/KelpForestExhibit/FishSchoolIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/FishSchool.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)
-->

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