X3D Model Documentation: FullTrack.x3d

  1  <?xml version="1.0" encoding="UTF-8"?>
  2 
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "https://www.web3d.org/specifications/x3d-3.0.dtd">
  3  <X3D profile='Immersive' version='3.0 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.0.xsd'>
  4       <head>
  5            <meta name='titlecontent='FullTrack.x3d'/>
  6            <meta name='descriptioncontent='AAV tracks and road wheels - place mouse over geometry to make the tracks move.'/>
  7            <meta name='creatorcontent='William Geissler, Jeffrey Weekley'/>
  8            <meta name='createdcontent='31 January 2001'/>
  9            <meta name='modifiedcontent='20 October 2019'/>
 10            <meta name='identifiercontent='https://savage.nps.edu/Savage/AmphibiousVehicles/AAV/FullTrack.x3d'/>
 11            <meta name='generatorcontent='X3D-Edit 3.2, https://savage.nps.edu/X3D-Edit'/>
 12            <meta name='licensecontent='../../license.html'/>
 13       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top Index for DEF nodes: CircleTrack, CLOCK, CLOCK2, CLOCK3, Front, Horizontal, Hub, LastSingleTrack, LastSingleTrackPath, Pivot1, Pivot1High, Pivot2, Pivot2High, PIVOTPATH1, PIVOTPATH2, Rear, Rim, RoadWheel, RoadWheels, ShortHorizontal, ShortSingleTrack, ShortTRACKPATH, SingleTrack, TopOfTracks, Track, TRACKPATH, TrackSensor, Wheel, WHEELPATH
-->
 14       <Scene>
 15            <WorldInfo info='"AAAV Track & Road Wheels"title='Track'/>
 16            <Transform translation='3.5 0 4.8'>
 17 
               <!-- Group Track is a DEF node that has 1 USE node: USE_1 -->
               <Group DEF='Track'>
 18 
                    <!-- Transform Horizontal is a DEF node that has 8 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6, USE_7, USE_8
                    <!-- ROUTE information for Horizontal node:  [from TRACKPATH.value_changed to set_translation ] -->
                    <Transform DEF='Horizontal'>
 19 
                         <!-- Group SingleTrack is a DEF node that has 14 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6, USE_7, USE_8, USE_9, USE_10, USE_11, USE_12, USE_13, USE_14 -->
                         <Group DEF='SingleTrack'>
 20                                <Shape>
 21                                     <Box size='1 .05 .3'/>
 22                                     <Appearance>
 23                                          <Material diffuseColor='0.4 0.4 0.4'/>
 24                                     </Appearance>
 25                                </Shape>
 26                                <Transform translation='-0.25 -0.05 0.0'>
 27                                     <Shape>
 28                                          <Box size='.35 .05 .2'/>
 29                                          <Appearance>
 30                                               <Material diffuseColor='.2 .2 .2'/>
 31                                          </Appearance>
 32                                     </Shape>
 33                                </Transform>
 34                                <Transform translation='0.25 -0.05 0.0'>
 35                                     <Shape>
 36                                          <Box size='.35 .05 .2'/>
 37                                          <Appearance>
 38                                               <Material diffuseColor='.2 .2 .2'/>
 39                                          </Appearance>
 40                                     </Shape>
 41                                </Transform>
 42                                <Transform translation='0.0 0.075 0.0'>
 43                                     <Shape>
 44                                          <Box size='.1 .1 .4'/>
 45                                          <Appearance>
 46                                               <Material diffuseColor='0.6 0.6 0.6'/>
 47                                          </Appearance>
 48                                     </Shape>
 49                                </Transform>
 50                                <Transform rotation='0 0 1 1.57translation='0.0 0.075 0.2'>
 51                                     <Shape>
 52                                          <Cylinder height='.12radius='.06'/>
 53                                          <Appearance>
 54                                               <Material diffuseColor='0.4 0.4 0.4'/>
 55                                          </Appearance>
 56                                     </Shape>
 57                                </Transform>
 58                           </Group>
 59                           <Transform translation='0.0 0.0 -0.4'>
 60                                <Group USE='SingleTrack'/>
 61                           </Transform>
 62                           <Transform translation='0.0 0.0 -0.8'>
 63                                <Group USE='SingleTrack'/>
 64                           </Transform>
 65                           <Transform translation='0.0 0.0 -1.2'>
 66                                <Group USE='SingleTrack'/>
 67                           </Transform>
 68                           <!-- CLOCK TimeSensor node controls speed of all track movement. -->
 69 
                         <!-- ROUTE information for CLOCK node:  [from TrackSensor.isOver to set_enabled ] [from fraction_changed to TRACKPATH.set_fraction ] [from fraction_changed to PIVOTPATH1.set_fraction ] [from fraction_changed to PIVOTPATH2.set_fraction ] [from fraction_changed to WHEELPATH.set_fraction ] [from fraction_changed to ShortTRACKPATH.set_fraction ] -->
                         <TimeSensor DEF='CLOCKcycleInterval='.5enabled='falseloop='true'/>
 70                           <!-- TRACKPATH node moves SingleTrack along flat path. -->
 71 
                         <!-- ROUTE information for TRACKPATH node:  [from CLOCK.fraction_changed to set_fraction ] [from value_changed to Horizontal.set_translation ] -->
                         <PositionInterpolator DEF='TRACKPATHkey='0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.99keyValue='0.0 0.0 0.00 0.0 0.0 -0.04 0.0 0.0 -0.08 0.0 0.0 -0.12 0.0 0.0 -0.16 0.0 0.0 -0.20 0.0 0.0 -0.24 0.0 0.0 -0.28 0.0 0.0 -0.32 0.0 0.0 -0.36 0.0 0.0 -0.40'/>
 72                           <Transform translation='0.0 0.0 -1.6'>
 73                                <Group USE='SingleTrack'/>
 74                           </Transform>
 75                           <Transform translation='0.0 0.0 -2.0'>
 76                                <Group USE='SingleTrack'/>
 77                           </Transform>
 78                      </Transform>
 79                      <Transform translation='0.0 0.0 -2.4'>
 80                           <Transform USE='Horizontal'/>
 81                      </Transform>
 82                      <Transform translation='0.0 0.0 -4.8'>
 83                           <Transform USE='Horizontal'/>
 84                      </Transform>
 85                      <Transform translation='0.0 0.0 -7.2'>
 86                           <Transform USE='Horizontal'/>
 87                      </Transform>
 88 
                    <!-- ROUTE information for Pivot1 node:  [from PIVOTPATH1.value_changed to set_rotation ] -->
                    <Transform DEF='Pivot1center='0 1 0translation='0.0 0.0 -9.5'>
 89                           <Group USE='SingleTrack'/>
 90                           <!-- PIVOTPATH1 nodes moves SingleTrack along 30 deg curve. -->
 91 
                         <!-- ROUTE information for PIVOTPATH1 node:  [from CLOCK.fraction_changed to set_fraction ] [from value_changed to Pivot1.set_rotation ] [from value_changed to Pivot1High.set_rotation ] -->
                         <OrientationInterpolator DEF='PIVOTPATH1key='0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.99keyValue='1 0 0 0.000 1 0 0 0.052 1 0 0 0.104 1 0 0 0.156 1 0 0 0.208 1 0 0 0.260 1 0 0 0.312 1 0 0 0.364 1 0 0 0.416 1 0 0 0.468 1 0 0 0.520'/>
 92                      </Transform>
 93 
                    <!-- ROUTE information for Pivot2 node:  [from PIVOTPATH2.value_changed to set_rotation ] -->
                    <Transform DEF='Pivot2center='0 1 0'>
 94                           <Group USE='SingleTrack'/>
 95                           <!-- PIVOTPATH2 nodes moves SingleTrack along -30 deg curve. -->
 96 
                         <!-- ROUTE information for PIVOTPATH2 node:  [from CLOCK.fraction_changed to set_fraction ] [from value_changed to Pivot2.set_rotation ] [from value_changed to Pivot2High.set_rotation ] -->
                         <OrientationInterpolator DEF='PIVOTPATH2key='0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.99keyValue='1 0 0 -0.520 1 0 0 -0.468 1 0 0 -0.416 1 0 0 -0.364 1 0 0 -0.312 1 0 0 -0.260 1 0 0 -0.208 1 0 0 -0.156 1 0 0 -0.104 1 0 0 -0.052 1 0 0 0.0'/>
 97                      </Transform>
 98 
                    <!-- ROUTE information for Pivot2High node:  [from PIVOTPATH2.value_changed to set_rotation ] -->
                    <Transform DEF='Pivot2Highcenter='0 1 0translation='0 0.125 1.5'>
 99 
                         <!-- Group CircleTrack is a DEF node that has 1 USE node: USE_1 -->
                         <Group DEF='CircleTrack'>
100                                <Transform rotation='1 0 0 -0.524translation='0.0 0.307 0.4'>
101                                     <Group USE='SingleTrack'/>
102                                </Transform>
103                                <Transform rotation='1 0 0 -1.05translation='0.0 0.6 0.69'>
104                                     <Group USE='SingleTrack'/>
105                                </Transform>
106                                <Transform rotation='1 0 0 -1.57translation='0.0 1.0 0.8'>
107                                     <Group USE='SingleTrack'/>
108                                </Transform>
109                                <Transform rotation='1 0 0 -2.09translation='0.0 1.4 0.69'>
110                                     <Group USE='SingleTrack'/>
111                                </Transform>
112                                <Transform rotation='1 0 0 -2.62translation='0.0 1.69 0.4'>
113                                     <Group USE='SingleTrack'/>
114                                </Transform>
115                                <Transform rotation='1 0 0 -3.14translation='0.0 1.8 0.0'>
116                                     <Group USE='SingleTrack'/>
117                                </Transform>
118                           </Group>
119                      </Transform>
120                      <!-- Runs the track around the rear wheel -->
121 
                    <!-- ROUTE information for Pivot1High node:  [from PIVOTPATH1.value_changed to set_rotation ] -->
                    <Transform DEF='Pivot1Highcenter='0 1 0translation='0 0.25 -11'>
122                           <Transform rotation='0 1 0 3.14'>
123                                <Group USE='CircleTrack'/>
124                           </Transform>
125                      </Transform>
126                      <Transform rotation='0 0 1 -1.57scale='0.7 0.7 0.7translation='0 0.7 0'>
127 
                         <!-- Transform RoadWheel is a DEF node that has 10 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6, USE_7, USE_8, USE_9, USE_10
                         <!-- ROUTE information for RoadWheel node:  [from WHEELPATH.value_changed to set_rotation ] -->
                         <Transform DEF='RoadWheel'>
128                                <Group>
129                                     <Shape DEF='Hub'>
130                                          <Cylinder height='0.4radius='.15'/>
131                                          <Appearance>
132                                               <Material diffuseColor='0.2 0.2 0'/>
133                                          </Appearance>
134                                     </Shape>
135                                     <Shape DEF='Wheel'>
136                                          <Cylinder height='.1radius='0.9side='false'/>
137                                          <Appearance>
138                                               <Material diffuseColor='0.1 0.2 0.05'/>
139                                          </Appearance>
140                                     </Shape>
141                                     <Shape DEF='Rim'>
142                                          <Appearance>
143                                               <Material diffuseColor='0.2 0.2 0'/>
144                                          </Appearance>
145                                          <Extrusion ccw='falsecreaseAngle='0.785crossSection='1.00 0.00 0.92 0.38 0.71 0.71 0.38 0.92 0.00 1.00 -0.38 0.92 -0.71 0.71 -0.92 0.38 -1.00 0.00 -0.92 -0.38 -0.71 -0.71 -0.38 -0.92 0.00 -1.00 0.38 -0.92 0.71 -0.71 0.92 -0.38 1.00 0.00 0.80 0.00 0.74 -0.31 0.57 -0.57 0.31 -0.74 0.00 -0.80 -0.31 -0.74 -0.57 -0.57 -0.74 -0.31 -0.80 0.00 -0.74 0.31 -0.57 0.57 -0.31 0.74 0.00 0.80 0.31 0.74 0.57 0.57 0.74 0.31 0.80 0.00spine='0.0 -0.2 0.0 0.0 0.2 0.0'/>
146                                     </Shape>
147                                </Group>
148                                <!-- WHEELPATH node rotates RoadWheel 66 deg. -->
149 
                              <!-- ROUTE information for WHEELPATH node:  [from CLOCK.fraction_changed to set_fraction ] [from value_changed to RoadWheel.set_rotation ] -->
                              <OrientationInterpolator DEF='WHEELPATHkey='0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.99keyValue='0 1 0 0.000 0 1 0 1.115 0 1 0 1.23 0 1 0 1.345 0 1 0 1.46 0 1 0 1.575 0 1 0 1.690 0 1 0 1.805 0 1 0 1.92 0 1 0 2.035 0 1 0 2.15'/>
150                           </Transform>
151                      </Transform>
152                      <Transform DEF='RoadWheels'>
153                           <Group>
154                                <Transform rotation='0 0 1 -1.57scale='0.7 0.7 0.7translation='0 0.7 -1.6'>
155                                     <Transform USE='RoadWheel'/>
156                                </Transform>
157                                <Transform rotation='0 0 1 -1.57scale='0.7 0.7 0.7translation='0 0.7 -3.2'>
158                                     <Transform USE='RoadWheel'/>
159                                </Transform>
160                                <Transform rotation='0 0 1 -1.57scale='0.7 0.7 0.7translation='0 0.7 -4.8'>
161                                     <Transform USE='RoadWheel'/>
162                                </Transform>
163                                <Transform rotation='0 0 1 -1.57scale='0.7 0.7 0.7translation='0 0.7 -6.4'>
164                                     <Transform USE='RoadWheel'/>
165                                </Transform>
166                                <Transform rotation='0 0 1 -1.57scale='0.7 0.7 0.7translation='0 0.7 -8.0'>
167                                     <Transform USE='RoadWheel'/>
168                                </Transform>
169                                <Transform rotation='0 0 1 -1.57scale='0.7 0.7 0.7translation='0 0.7 -9.6'>
170                                     <Transform USE='RoadWheel'/>
171                                </Transform>
172                                <Transform rotation='0 0 1 -1.57scale='0.7 0.7 0.7translation='0 1.125 1.5'>
173                                     <Transform USE='RoadWheel'/>
174                                </Transform>
175                                <Transform rotation='0 0 1 -1.57scale='0.7 0.7 0.7translation='0 1.25 -11'>
176                                     <Transform USE='RoadWheel'/>
177                                </Transform>
178                                <Transform rotation='0 0 1 -1.57scale='0.375 0.375 0.375translation='0 1.45 -8.825'>
179                                     <Transform USE='RoadWheel'/>
180                                </Transform>
181                                <Transform rotation='0 0 1 -1.57scale='0.375 0.375 0.375translation='0 1.45 -4'>
182                                     <Transform USE='RoadWheel'/>
183                                </Transform>
184                           </Group>
185                      </Transform>
186                      <!-- TrackSensor node moves Track node if cursor over shapes. -->
187 
                    <!-- ROUTE information for TrackSensor node:  [from isOver to CLOCK.set_enabled ] [from isOver to CLOCK2.set_enabled ] [from isOver to CLOCK3.set_enabled ] -->
                    <TouchSensor DEF='TrackSensordescription='point to activate'/>
188 
                    <!-- Transform ShortHorizontal is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3
                    <!-- ROUTE information for ShortHorizontal node:  [from ShortTRACKPATH.value_changed to set_translation ] -->
                    <Transform DEF='ShortHorizontal'>
189 
                         <!-- Group ShortSingleTrack is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
                         <Group DEF='ShortSingleTrack'>
190                                <Transform translation='-0.25 -0.05 0.0'>
191                                     <Shape>
192                                          <Box size='.35 .05 .2'/>
193                                          <Appearance>
194                                               <Material diffuseColor='.2 .2 .2'/>
195                                          </Appearance>
196                                     </Shape>
197                                </Transform>
198                                <Transform translation='0.25 -0.05 0.0'>
199                                     <Shape>
200                                          <Box size='.35 .05 .2'/>
201                                          <Appearance>
202                                               <Material diffuseColor='.2 .2 .2'/>
203                                          </Appearance>
204                                     </Shape>
205                                </Transform>
206                                <Transform>
207                                     <Shape>
208                                          <Box size='1 .05 .3'/>
209                                          <Appearance>
210                                               <Material diffuseColor='0.4 0.4 0.4'/>
211                                          </Appearance>
212                                     </Shape>
213                                </Transform>
214                                <Transform translation='0.0 0.075 0.0'>
215                                     <Shape>
216                                          <Box size='.1 .1 .4'/>
217                                          <Appearance>
218                                               <Material diffuseColor='0.6 0.6 0.6'/>
219                                          </Appearance>
220                                     </Shape>
221                                </Transform>
222                                <Transform rotation='0 0 1 1.57translation='0.0 0.075 0.2'>
223                                     <Shape>
224                                          <Cylinder height='.12radius='.06'/>
225                                          <Appearance>
226                                               <Material diffuseColor='0.4 0.4 0.4'/>
227                                          </Appearance>
228                                     </Shape>
229                                </Transform>
230                           </Group>
231                           <!-- CLOCK TimeSensor node controls speed of all track movement. -->
232 
                         <!-- ROUTE information for CLOCK2 node:  [from TrackSensor.isOver to set_enabled ] [from fraction_changed to ShortTRACKPATH.set_fraction ] -->
                         <TimeSensor DEF='CLOCK2cycleInterval='.5enabled='falseloop='true'/>
233                           <!-- TRACKPATH node moves SingleTrack along flat path. -->
234 
                         <!-- ROUTE information for ShortTRACKPATH node:  [from CLOCK2.fraction_changed to set_fraction ] [from CLOCK.fraction_changed to set_fraction ] [from value_changed to ShortHorizontal.set_translation ] -->
                         <PositionInterpolator DEF='ShortTRACKPATHkey='0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.99keyValue='0.0 0.0 0.00 0.0 0.0 -0.04 0.0 0.0 -0.08 0.0 0.0 -0.12 0.0 0.0 -0.16 0.0 0.0 -0.20 0.0 0.0 -0.24 0.0 0.0 -0.28 0.0 0.0 -0.32 0.0 0.0 -0.36 0.0 0.0 -0.40'/>
235                           <Transform translation='0 0 -0.4'>
236                                <Group USE='ShortSingleTrack'/>
237                           </Transform>
238                           <Transform translation='0.0 0.0 -0.8'>
239                                <Group USE='ShortSingleTrack'/>
240                           </Transform>
241                           <Transform translation='0.0 0.0 -1.2'>
242                                <Group USE='ShortSingleTrack'/>
243                           </Transform>
244                      </Transform>
245                      <Transform DEF='Frontrotation='1 0 0 6.02translation='0 0.5 2.0'>
246                           <Transform USE='ShortHorizontal'/>
247                      </Transform>
248                      <Transform DEF='Rearrotation='-1 0 0 6.02translation='0 .08 -9.9'>
249                           <Transform USE='ShortHorizontal'/>
250                      </Transform>
251                      <Group DEF='TopOfTracks'>
252                           <Transform translation='0 1.875 -1.335'>
253                                <Transform rotation='1 0 0 3.14translation='0.0 0 -6.8'>
254                                     <Transform USE='Horizontal'/>
255                                </Transform>
256                                <Transform rotation='1 0 0 3.14translation='0.0 0 -4.4'>
257                                     <Transform USE='Horizontal'/>
258                                </Transform>
259                                <Transform rotation='1 0 0 3.14translation='0.0 0 -2.0'>
260                                     <Transform USE='Horizontal'/>
261                                </Transform>
262                                <Transform rotation='1 0 0 3.14translation='0.0 0 -1.58'>
263                                     <Transform USE='Horizontal'/>
264                                </Transform>
265                                <Transform rotation='1 0 0 3.14translation='0.0 0 -9.2'>
266                                     <Transform USE='Horizontal'/>
267                                </Transform>
268                                <Transform rotation='1 0 0 3.14translation='0.0 0 0.4'>
269                                     <Transform USE='ShortHorizontal'/>
270                                </Transform>
271                                <Transform rotation='1 0 0 3.14translation='0 0 2'>
272 
                                   <!-- ROUTE information for LastSingleTrack node:  [from LastSingleTrackPath.value_changed to set_translation ] -->
                                   <Transform DEF='LastSingleTracktranslation='0 0 2'>
273                                          <Group USE='SingleTrack'/>
274                                     </Transform>
275 
                                   <!-- ROUTE information for LastSingleTrackPath node:  [from CLOCK3.fraction_changed to set_fraction ] [from value_changed to LastSingleTrack.set_translation ] -->
                                   <PositionInterpolator DEF='LastSingleTrackPathkey='0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.99keyValue='0.0 0.0 0.00 0.0 0.0 -0.04 0.0 0.0 -0.08 0.0 0.0 -0.12 0.0 0.0 -0.16 0.0 0.0 -0.20 0.0 0.0 -0.24 0.0 0.0 -0.28 0.0 0.0 -0.32 0.0 0.0 -0.36 0.0 0.0 -0.40'/>
276 
                                   <!-- ROUTE information for CLOCK3 node:  [from TrackSensor.isOver to set_enabled ] [from fraction_changed to LastSingleTrackPath.set_fraction ] -->
                                   <TimeSensor DEF='CLOCK3cycleInterval='.5enabled='falseloop='true'/>
277                                </Transform>
278                           </Transform>
279                      </Group>
280                 </Group>
281            </Transform>
282            <Transform translation='-4.75 0 4.8'>
283                 <Group USE='Track'/>
284            </Transform>
285            <!-- TrackSensor Route node sets path from TouchSensor to CLOCK. -->
286            < ROUTE  fromNode='TrackSensor' fromField='isOver' toNode='CLOCK' toField='set_enabled'/>
287            <!-- CLOCK Route nodes sets path from TimeSensor to other ROUTES. -->
288            < ROUTE  fromNode='CLOCK' fromField='fraction_changed' toNode='TRACKPATH' toField='set_fraction'/>
289            < ROUTE  fromNode='CLOCK' fromField='fraction_changed' toNode='PIVOTPATH1' toField='set_fraction'/>
290            < ROUTE  fromNode='CLOCK' fromField='fraction_changed' toNode='PIVOTPATH2' toField='set_fraction'/>
291            < ROUTE  fromNode='CLOCK' fromField='fraction_changed' toNode='WHEELPATH' toField='set_fraction'/>
292            <!-- PATH ROUTE nodes path from TimeSensor to moving shapes. -->
293            < ROUTE  fromNode='TRACKPATH' fromField='value_changed' toNode='Horizontal' toField='set_translation'/>
294            < ROUTE  fromNode='PIVOTPATH1' fromField='value_changed' toNode='Pivot1' toField='set_rotation'/>
295            < ROUTE  fromNode='PIVOTPATH1' fromField='value_changed' toNode='Pivot1High' toField='set_rotation'/>
296            < ROUTE  fromNode='PIVOTPATH2' fromField='value_changed' toNode='Pivot2' toField='set_rotation'/>
297            < ROUTE  fromNode='PIVOTPATH2' fromField='value_changed' toNode='Pivot2High' toField='set_rotation'/>
298            < ROUTE  fromNode='WHEELPATH' fromField='value_changed' toNode='RoadWheel' toField='set_rotation'/>
299            < ROUTE  fromNode='CLOCK2' fromField='fraction_changed' toNode='ShortTRACKPATH' toField='set_fraction'/>
300            < ROUTE  fromNode='ShortTRACKPATH' fromField='value_changed' toNode='ShortHorizontal' toField='set_translation'/>
301            < ROUTE  fromNode='CLOCK' fromField='fraction_changed' toNode='ShortTRACKPATH' toField='set_fraction'/>
302            < ROUTE  fromNode='CLOCK3' fromField='fraction_changed' toNode='LastSingleTrackPath' toField='set_fraction'/>
303            < ROUTE  fromNode='LastSingleTrackPath' fromField='value_changed' toNode='LastSingleTrack' toField='set_translation'/>
304            < ROUTE  fromNode='TrackSensor' fromField='isOver' toNode='CLOCK2' toField='set_enabled'/>
305            < ROUTE  fromNode='TrackSensor' fromField='isOver' toNode='CLOCK3' toField='set_enabled'/>
306       </Scene>
307  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top Index for DEF nodes: CircleTrack, CLOCK, CLOCK2, CLOCK3, Front, Horizontal, Hub, LastSingleTrack, LastSingleTrackPath, Pivot1, Pivot1High, Pivot2, Pivot2High, PIVOTPATH1, PIVOTPATH2, Rear, Rim, RoadWheel, RoadWheels, ShortHorizontal, ShortSingleTrack, ShortTRACKPATH, SingleTrack, TopOfTracks, Track, TRACKPATH, TrackSensor, Wheel, WHEELPATH
-->
X3D Tooltips element index: Appearance, Box, Cylinder, Extrusion, Group, head, Material, meta, OrientationInterpolator, PositionInterpolator, ROUTE, Scene, Shape, TimeSensor, TouchSensor, Transform, WorldInfo, X3D, plus documentation for accessType definitions, type definitions, XML data types, and field types

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

TrackSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
CLOCK
TimeSensor
set_enabled
SFBool
then
 
 
 
CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
TRACKPATH
PositionInterpolator
set_fraction
SFFloat
then
 
 
 
TRACKPATH
PositionInterpolator
value_changed
SFVec3f

ROUTE
event to
(3)
Horizontal
Transform
set_translation
SFVec3f
  then
 
 
 
CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
PIVOTPATH1
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
PIVOTPATH1
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
Pivot1
Transform
set_rotation
SFRotation
  then
 
 
 
PIVOTPATH1
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
Pivot1High
Transform
set_rotation
SFRotation
  then
 
 
 
CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
PIVOTPATH2
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
PIVOTPATH2
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
Pivot2
Transform
set_rotation
SFRotation
  then
 
 
 
PIVOTPATH2
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
Pivot2High
Transform
set_rotation
SFRotation
  then
 
 
 
CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
WHEELPATH
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
WHEELPATH
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
RoadWheel
Transform
set_rotation
SFRotation
  then
 
 
 
CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
ShortTRACKPATH
PositionInterpolator
set_fraction
SFFloat
then
 
 
 
ShortTRACKPATH
PositionInterpolator
value_changed
SFVec3f

ROUTE
event to
(3)
ShortHorizontal
Transform
set_translation
SFVec3f
TrackSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
CLOCK2
TimeSensor
set_enabled
SFBool
then
 
 
 
CLOCK2
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
ShortTRACKPATH
PositionInterpolator
set_fraction
SFFloat
then
 
 
 
ShortTRACKPATH
PositionInterpolator
value_changed
SFVec3f

ROUTE
event to
(3)
ShortHorizontal
Transform
set_translation
SFVec3f
TrackSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
CLOCK3
TimeSensor
set_enabled
SFBool
then
 
 
 
CLOCK3
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
LastSingleTrackPath
PositionInterpolator
set_fraction
SFFloat
then
 
 
 
LastSingleTrackPath
PositionInterpolator
value_changed
SFVec3f

ROUTE
event to
(3)
LastSingleTrack
Transform
set_translation
SFVec3f


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://savage.nps.edu/Savage/AmphibiousVehicles/AAV/FullTrackIndex.html -->
<!-- Version control at
https://gitlab.nps.edu/Savage/Savage/AmphibiousVehicles/AAV/FullTrack.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. -->