X3D Model Documentation: TrainingArea.x3d

  1  <?xml version="1.0" encoding="UTF-8"?>
  2  <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.1//EN" "https://www.web3d.org/specifications/x3d-3.1.dtd">
  3  <X3D profile='Immersive' version='3.1 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.1.xsd'>
  4       <head>
  5            <component level='2name='Geometry2D'/>
  6            <meta name='titlecontent='TrainingArea.x3d'/>
  7            <meta name='descriptioncontent='Complete Soccer Park with stadium, four full-size fields, and 120m x 130m training area with four futsal fields.'/>
  8            <meta name='creatorcontent='Capt Beth Welliver'/>
  9            <meta name='createdcontent='13 March 2008'/>
 10            <meta name='modifiedcontent='20 October 2019'/>
 11            <meta name='referencecontent='Side Board artwork from www.ussoccer.com'/>
 12            <meta name='referencecontent='Stadium Structure and Goal from Savage Archive, https://savage.nps.edu/Savage/Buildings/SoccerStadium/index.html'/>
 13            <meta name='identifiercontent='https://savage.nps.edu/Savage/Buildings/SoccerComplex/TrainingArea.x3d'/>
 14            <meta name='generatorcontent='X3D-Edit, https://savage.nps.edu/X3D-Edit'/>
 15            <meta name='licensecontent='../../license.html'/>
 16       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top Index for DEF nodes: Asphault, CameraPosition, CameraRotation, CenterSpot, ComplexOverview, Concrete, CornerArc, Courtyard, DoubleFrontRow, DoubleRowTrees, Endline, EndlineBoards, Fields, FilterSign, FiveBoxEdge, FiveByFiveGrid, FrontTrees, FullField, FullFrontTrees, FutsalBoundary, FutsalCenterCircle, FutsalField, FutsalGoal, FutsalMidField, Goal, GoalPost, Grass, GridLines, GroundBox, InsideLongLine, InsideShortLine, InsideTenGrid, LastTrees, Line, Lines, LineStyle, LongRowTrees, MainStadium, MasterTime, Midfield, OneThirtyBoundary, OneTwentyBoundary, PenaltyArc, PenaltySpot, Pine, PineTrees, Pitch, PitchOutline, Pole, RemainingSideTrees, RowTrees, Side18, Side6, Sideboard, Sideline, Sidewalks, Sign, SportTurf, StartingView, TenBoxEdge, TenByTenGrid, Top18, Top6, TouchSign, TrainingArea, TrainingSurface, TriggerSign, WholePole

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3, Viewpoint_4, Viewpoint_5, Viewpoint_6, ComplexOverview, StartingView
-->
 17       <Scene>
 18            <WorldInfo title='TrainingArea.x3d'/>
 19            <Background groundAngle='0groundColor='0.160784 0.039216 0skyAngle='0.1 0.15 1.309 1.571skyColor='0.4 0.4 0.1 0.4 0.4 0.1 0 0.1 0.3 0 0.2 0.6 0.8 0.8 0.8'/>
 20 
          <!-- ROUTE information for StartingView node:  [from CameraRotation.value_changed to orientation ] [from CameraPosition.value_changed to position ] -->
          <Viewpoint DEF='StartingViewdescription='At Entry Gateorientation='0 1 0 1.57position='385 2 -82.5'/>
 21            <Viewpoint DEF='ComplexOverviewdescription='Training Area and Stadiumorientation='0.1 1 0.1 -1.98position='-150 65 -75'/>
 22            <Viewpoint description='Match Fieldsorientation='.1 1 .1 -1.05position='-150 65 -50'/>
 23            <Viewpoint description='Inside Training Area View Oneorientation='0 1 0 -.78position='-60 2.5 63'/>
 24            <Viewpoint description='Inside Training Area View Twoorientation='0 1 0 2.44position='55 3 -65'/>
 25            <Viewpoint description='Corner of Stadiumorientation='0 1 0 3.95position='154 1.65 -38'/>
 26            <!-- <Viewpoint DEF='SpinningStadium' description='Standing at Center Circle of Stadium' orientation='0 1 0 0' position='223 1.5 5'/> -->
 27            <Viewpoint description='Looking down into Stadiumorientation='0 1 .2 2.35position='334 77 -78'/>
 28            <!-- <Viewpoint description='Above Stadium Across Complex' orientation='0.05 .8 .05 1.37' position='650 130 5'/> -->
 29            <Viewpoint description='Far Away Overvieworientation='0 1 0 1.57position='750 130 -82.5'/>
 30 
          <!-- ROUTE information for MasterTime node:  [from TriggerSign.triggerTime to startTime ] [from fraction_changed to CameraRotation.set_fraction ] [from fraction_changed to CameraPosition.set_fraction ] -->
          <TimeSensor DEF='MasterTimecycleInterval='50'/>
 31 
          <!-- ROUTE information for CameraRotation node:  [from MasterTime.fraction_changed to set_fraction ] [from value_changed to StartingView.orientation ] -->
          <OrientationInterpolator DEF='CameraRotationkey='0.0000 0.0667 0.0889 0.1111 0.1333 0.1556 0.2444 0.251864444444444 0.259284444444444 0.266704444444444 0.274124444444444 0.2815 0.288964444444444 0.296384444444444 0.303804444444444 0.311224444444444 0.3186 0.34 0.4300 0.4600 0.5175 0.5750 0.6325 0.6667 0.6937 0.7207 0.7556 0.8222 0.822422222222222 0.822622222222222 0.8889 1.0000keyValue='0.00 1.00 0.00 1.57 0.00 1.00 0.00 0.8275 0.00 1.00 0.00 0.085 0.00 1.00 0.00 -0.6575 0.00 1.00 0.00 -1.98 0.10 1.00 0.00 -1.40 0.00 1.00 0.00 -0.78 0.00 1.00 0.00 -0.57066 0.00 1.00 0.00 -0.36132 0.00 1.00 0.00 -0.15198 0.00 1.00 0.00 0.0573599999999999 0.00 1.00 0.00 0.2667 0.00 1.00 0.00 0.47604 0.00 1.00 0.00 0.68538 0.00 1.00 0.00 0.89472 0.00 1.00 0.00 1.10406 0.00 1.00 0.00 1.3134 0.00 1.00 0.00 2.36 0.00 1.00 0.00 3.95 0.00 1.00 0.00 0.00 0.00 1.00 0.00 1.57 0.00 1.00 0.00 3.14 0.00 1.00 0.00 4.71 0.00 1.00 0.00 6.28 0 1 0.067 4.97 0 1 0.134 3.66 0 1 0.2 2.35 0.05 0.8 0.05 1.37 0.0333 0.867 0.0333 1.4367 0.0166 0.934 0.0166 1.5034 0.00 1.00 0.00 1.57 0.00 0.00 0.00 1.57'/>
 32            < ROUTE  fromNode='MasterTime' fromField='fraction_changed' toNode='CameraRotation' toField='set_fraction'/>
 33            < ROUTE  fromNode='CameraRotation' fromField='value_changed' toNode='StartingView' toField='orientation'/>
 34 
          <!-- ROUTE information for CameraPosition node:  [from MasterTime.fraction_changed to set_fraction ] [from value_changed to StartingView.position ] -->
          <PositionInterpolator DEF='CameraPositionkey='0.0000 0.0222 0.1333 0.1422 0.1511 0.1600 0.1689 0.1778 0.2000 0.2444 0.2815 0.3186 0.3556 0.4300 0.4600 0.6667 0.8222 0.8500 0.8889 1.0000keyValue='385.00 1.00 -82.50 385.00 2.5 -82.50 -112.00 8.00 -75.00 -116.60 14.40 -74.40 -121.20 20.80 -73.80 -125.80 27.20 -73.20 -130.40 33.60 -72.60 -135.00 40.00 -72.00 -150.00 65.00 -70.00 -60.00 2.00 63.00 -30.00 2.30 25.00 25.00 2.60 -25.00 55.00 3.00 -65.00 154.00 1.65 -38.00 223.00 1.50 5.00 223.00 1.50 5.00 334.00 77.00 -78.00 750.00 150.00 -82.50 750.00 150.00 -82.50 385.00 1.00 -82.50'/>
 35            < ROUTE  fromNode='MasterTime' fromField='fraction_changed' toNode='CameraPosition' toField='set_fraction'/>
 36            < ROUTE  fromNode='CameraPosition' fromField='value_changed' toNode='StartingView' toField='position'/>
 37            <Transform rotation='0 1 0 1.57translation='365 2 -80'>
 38                 <Group DEF='Sign'>
 39 
                    <!-- ROUTE information for TouchSign node:  [from isActive to FilterSign.set_boolean ] -->
                    <TouchSensor DEF='TouchSigndescription='Touch sign to start tour'/>
 40 
                    <!-- ROUTE information for FilterSign node:  [from TouchSign.isActive to set_boolean ] [from inputTrue to TriggerSign.set_boolean ] -->
                    <BooleanFilter DEF='FilterSign'/>
 41 
                    <!-- ROUTE information for TriggerSign node:  [from FilterSign.inputTrue to set_boolean ] [from triggerTime to MasterTime.startTime ] -->
                    <TimeTrigger DEF='TriggerSign'/>
 42                      < ROUTE  fromNode='TouchSign' fromField='isActive' toNode='FilterSign' toField='set_boolean'/>
 43                      < ROUTE  fromNode='FilterSign' fromField='inputTrue' toNode='TriggerSign' toField='set_boolean'/>
 44                      < ROUTE  fromNode='TriggerSign' fromField='triggerTime' toNode='MasterTime' toField='startTime'/>
 45 
                    <!-- Group WholePole is a DEF node that has 1 USE node: USE_1 -->
                    <Group DEF='WholePole'>
 46                           <Shape DEF='Pole'>
 47                                <Cylinder bottom='falseheight='4radius='0.3solid='false'/>
 48                                <Appearance>
 49                                     <Material ambientIntensity='0.249999diffuseColor='0.12549 0.12549 0.12549emissiveColor='0.541176 0.541176 0.541176shininess='0.1specularColor='0.52549 0.52549 0.52549'/>
 50                                </Appearance>
 51                           </Shape>
 52                           <Transform scale='.55 .55 .55translation='0 2.1 0'>
 53                                <Inline   url=' "../SoccerStadium/SoccerBall.x3d" "https://savage.nps.edu/Savage/Buildings/SoccerStadium/SoccerBall.x3d" '/>
 54                           </Transform>
 55                      </Group>
 56                      <Transform translation='5 0 0'>
 57                           <Group USE='WholePole'/>
 58                      </Transform>
 59                      <Transform translation='2.5 1.4 0'>
 60                           <Shape>
 61                                <Appearance>
 62                                     <Material diffuseColor='0.058824 0.098039 1emissiveColor='0.078431 0.090196 1'/>
 63                                </Appearance>
 64                                <Box size='4.4 1.2 .2'/>
 65                           </Shape>
 66                           <Transform translation='0 0 .1'>
 67                                <Shape>
 68                                     <Appearance>
 69                                          <ImageTexture   url=' "WelcomeSign.jpg " "https://savage.nps.edu/Savage/Buildings/SoccerComplex/WelcomeSign.jpg " '/>
 70                                     </Appearance>
 71                                     <Box size='4.38 1.18 .05'/>
 72                                </Shape>
 73                           </Transform>
 74                      </Transform>
 75                 </Group>
 76            </Transform>
 77            <Transform translation='175 -.2 -80'>
 78                 <Group DEF='GroundBox'>
 79                      <Shape>
 80                           <Box size='550 .01 450'/>
 81                           <Appearance>
 82                                <Material diffuseColor='0 0.901961 0.007843'/>
 83                           </Appearance>
 84                      </Shape>
 85                 </Group>
 86            </Transform>
 87            <Group DEF='TrainingArea'>
 88                 <Shape>
 89                      <Box DEF='TrainingSurfacesize='120 0.1 130'/>
 90                      <Appearance>
 91                           <ImageTexture DEF='SportTurf'   url=' "blueTurf.jpg " "https://savage.nps.edu/Savage/Buildings/SoccerComplex/blueTurf.jpg " '/>
 92                      </Appearance>
 93                 </Shape>
 94 
               <!-- Group OneTwentyBoundary is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
               <Group DEF='OneTwentyBoundary'>
 95                      <Transform translation='-40 1 65'>
 96 
                         <!-- Inline Sideboard is a DEF node that has 15 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, USE_15 -->
                         <Inline DEF='Sideboard'   url=' "SideBoards.x3d" "https://savage.nps.edu/Savage/Buildings/SoccerComplex/SideBoards.x3d" '/>
 97                      </Transform>
 98                      <Transform translation='-20 1 65'>
 99                           <Inline USE='Sideboard'/>
100                      </Transform>
101                      <Transform translation='0 1 65'>
102                           <Inline USE='Sideboard'/>
103                      </Transform>
104                      <Transform translation='20 1 65'>
105                           <Inline USE='Sideboard'/>
106                      </Transform>
107                      <Transform translation='40 1 65'>
108                           <Inline USE='Sideboard'/>
109                      </Transform>
110                      <Transform translation='60 1 65'>
111                           <Inline USE='Sideboard'/>
112                      </Transform>
113                 </Group>
114                 <Transform rotation='0 1 0 3.14'>
115                      <Group USE='OneTwentyBoundary'/>
116                 </Transform>
117 
               <!-- Group OneThirtyBoundary is a DEF node that has 1 USE node: USE_1 -->
               <Group DEF='OneThirtyBoundary'>
118                      <Transform rotation='0 1 0 1.57translation='-60 1 40'>
119                           <Inline USE='Sideboard'/>
120                      </Transform>
121                      <Transform rotation='0 1 0 1.57translation='-60 1 20'>
122                           <Inline USE='Sideboard'/>
123                      </Transform>
124                      <Transform rotation='0 1 0 1.57translation='-60 1 0'>
125                           <Inline USE='Sideboard'/>
126                      </Transform>
127                      <Transform rotation='0 1 0 1.57translation='-60 1 -20'>
128                           <Inline USE='Sideboard'/>
129                      </Transform>
130                      <Transform rotation='0 1 0 1.57translation='-60 1 -40'>
131                           <Inline USE='Sideboard'/>
132                      </Transform>
133                      <Transform rotation='0 1 0 1.57translation='-60 1 -60'>
134                           <Inline USE='Sideboard'/>
135                      </Transform>
136                 </Group>
137                 <Transform rotation='0 1 0 3.14'>
138                      <Group USE='OneThirtyBoundary'/>
139                 </Transform>
140 
               <!-- Group GridLines is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
               <Group DEF='GridLines'>
141                      <Transform DEF='FiveByFiveGrid'>
142                           <Shape DEF='FiveBoxEdge'>
143 
                              <!-- Appearance Line 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 -->
                              <Appearance DEF='Line'>
144                                     <Material diffuseColor='1 1 1emissiveColor='.5 .5 .5'/>
145                                </Appearance>
146                                <Extrusion crossSection='-.05 .05 .05 .05 .05 -.05 -.05 -.05spine='-50 .01 55 -40 .01 55 -40 .01 35 -50 .01 35 -50 .01 55'/>
147                           </Shape>
148                           <Shape DEF='InsideLongLine'>
149                                <Appearance USE='Line'/>
150                                <Extrusion crossSection='-.05 .05 .05 .05 .05 -.05 -.05 -.05spine='-45 .01 35 -45 .01 55'/>
151                           </Shape>
152 
                         <!-- Shape InsideShortLine is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                         <Shape DEF='InsideShortLine'>
153                                <Appearance USE='Line'/>
154                                <Extrusion crossSection='-.05 .05 .05 .05 .05 -.05 -.05 -.05spine='-50 .01 40 -40 .01 40'/>
155                           </Shape>
156                           <Transform translation='0 0 5'>
157                                <Shape USE='InsideShortLine'/>
158                           </Transform>
159                           <Transform translation='0 0 10'>
160                                <Shape USE='InsideShortLine'/>
161                           </Transform>
162                      </Transform>
163                      <Transform DEF='TenByTenGrid'>
164                           <Shape DEF='TenBoxEdge'>
165                                <Appearance USE='Line'/>
166                                <Extrusion crossSection='-.05 .05 .05 .05 .05 -.05 -.05 -.05spine='-30 .01 55 -10 .01 55 -10 .01 35 -30 .01 35 -30 .01 55'/>
167                           </Shape>
168 
                         <!-- Shape InsideTenGrid is a DEF node that has 1 USE node: USE_1 -->
                         <Shape DEF='InsideTenGrid'>
169                                <Appearance USE='Line'/>
170                                <Extrusion crossSection='-.05 .05 .05 .05 .05 -.05 -.05 -.05spine='-30 .01 45 -10 .01 45'/>
171                           </Shape>
172                           <Transform rotation='0 1 0 1.57translation='-65 0.1 25'>
173                                <Shape USE='InsideTenGrid'/>
174                           </Transform>
175                      </Transform>
176                      <Transform DEF='FutsalField'>
177                           <Shape DEF='FutsalBoundary'>
178                                <Appearance USE='Line'/>
179                                <Extrusion crossSection='-.05 .05 .05 .05 .05 -.05 -.05 -.05spine='10 .01 55 50 .01 55 50 .01 35 10 .01 35 10 .01 55'/>
180                           </Shape>
181                           <Shape DEF='FutsalMidField'>
182                                <Appearance USE='Line'/>
183                                <Extrusion crossSection='-.05 .05 .05 .05 .05 -.05 -.05 -.05spine='30 .01 55 30 .01 35'/>
184                           </Shape>
185                           <Transform rotation='1 0 0 1.57translation='30 .01 45'>
186                                <Shape DEF='FutsalCenterCircle'>
187                                     <Appearance USE='Line'/>
188                                     <Circle2D radius='3'/>
189                                </Shape>
190                           </Transform>
191                           <Transform rotation='0 1 0 -1.57scale='.3 .6 .4translation='50 0 45'>
192 
                              <!-- Inline FutsalGoal is a DEF node that has 1 USE node: USE_1 -->
                              <Inline DEF='FutsalGoal'   url=' "../SoccerStadium/GoalPost.x3d" "https://savage.nps.edu/Savage/Buildings/SoccerStadium/GoalPost.x3d" '/>
193                           </Transform>
194                           <Transform rotation='0 1 0 1.57translation='10 0 45'>
195                                <Inline USE='FutsalGoal'/>
196                           </Transform>
197                      </Transform>
198                 </Group>
199                 <Transform translation='0 0 -30'>
200                      <Group USE='GridLines'/>
201                 </Transform>
202                 <Transform translation='0 0 -60'>
203                      <Group USE='GridLines'/>
204                 </Transform>
205                 <Transform translation='0 0 -90'>
206                      <Group USE='GridLines'/>
207                 </Transform>
208            </Group>
209            <Group DEF='Fields'>
210                 <Transform translation='-55 0 -215'>
211 
                    <!-- Group FullField is a DEF node that has 4 USE nodes: USE_1, USE_2, USE_3, USE_4 -->
                    <Group DEF='FullField'>
212                           <Group DEF='PitchOutline'>
213                                <Transform translation='37.5 0 55'>
214                                     <Shape>
215                                          <Box DEF='Pitchsize='85 0.01 120solid='false'/>
216                                          <Appearance DEF='Grass'>
217                                               <Material diffuseColor='0 0.419608 0.015686emissiveColor='0.2 0.321569 0'/>
218                                          </Appearance>
219                                     </Shape>
220                                </Transform>
221                           </Group>
222 
                         <!-- Group Lines is a DEF node that has 1 USE node: USE_1 -->
                         <Group DEF='Lines'>
223                                <Transform translation='37.5 0.01 0'>
224                                     <Shape>
225                                          <Box DEF='Endlinesize='75 .02 .12solid='false'/>
226 
                                        <!-- Appearance LineStyle 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 -->
                                        <Appearance DEF='LineStyle'>
227                                               <Material diffuseColor='1 1 1'/>
228                                          </Appearance>
229                                     </Shape>
230                                </Transform>
231                                <Transform translation='0 0.01 27.5'>
232                                     <Shape>
233 
                                        <!-- Box Sideline is a DEF node that has 1 USE node: USE_1 -->
                                        <Box DEF='Sidelinesize='.12 .02 55'/>
234                                          <Appearance USE='LineStyle'/>
235                                     </Shape>
236                                </Transform>
237                                <Transform translation='75 0.01 27.5'>
238                                     <Shape>
239                                          <Box USE='Sideline'/>
240                                          <Appearance USE='LineStyle'/>
241                                     </Shape>
242                                </Transform>
243                                <Transform translation='17.34 0.01 8.25'>
244                                     <Shape>
245 
                                        <!-- Box Side18 is a DEF node that has 1 USE node: USE_1 -->
                                        <Box DEF='Side18size='.12 .02 16.5solid='false'/>
246                                          <Appearance USE='LineStyle'/>
247                                     </Shape>
248                                </Transform>
249                                <Transform translation='57.66 0.01 8.25'>
250                                     <Shape>
251                                          <Box USE='Side18'/>
252                                          <Appearance USE='LineStyle'/>
253                                     </Shape>
254                                </Transform>
255                                <Transform translation='37.5 0.01 16.5'>
256                                     <Shape>
257                                          <Box DEF='Top18size='40.32 .02 .12solid='false'/>
258                                          <Appearance USE='LineStyle'/>
259                                     </Shape>
260                                </Transform>
261                                <Transform DEF='PenaltyArcrotation='0 -1 0 0.93translation='37.5 .01 9.14'>
262                                     <Shape>
263                                          <Appearance USE='LineStyle'/>
264                                          <Extrusion crossSection='-0.05 0.05 0.05 0.05 0.05 -0.05 -0.05 -0.05spine='9.1440 0 0 9.1433 0 0.1163 9.1410 0 0.2326 9.1373 0 0.3489 9.1322 0 0.4651 9.1255 0 0.5812 9.1174 0 0.6972 9.1078 0 0.8131 9.0967 0 0.9289 9.0841 0 1.0446 9.0701 0 1.1600 9.0546 0 1.2753 9.0377 0 1.3904 9.0193 0 1.5052 8.9994 0 1.6198 8.9780 0 1.7342 8.9553 0 1.8482 8.9310 0 1.9620 8.9053 0 2.0755 8.8782 0 2.1886 8.8497 0 2.3013 8.8197 0 2.4137 8.7883 0 2.5257 8.7554 0 2.6373 8.7212 0 2.7484 8.6855 0 2.8591 8.6484 0 2.9694 8.6100 0 3.0792 8.5701 0 3.1884 8.5288 0 3.2972 8.4862 0 3.4054 8.4422 0 3.5131 8.3968 0 3.6202 8.3501 0 3.7267 8.3020 0 3.8326 8.2526 0 3.9379 8.2019 0 4.0426 8.1498 0 4.1466 8.0964 0 4.2499 8.0416 0 4.3525 7.9856 0 4.4545 7.9283 0 4.5557 7.8697 0 4.6562 7.8099 0 4.7559 7.7487 0 4.8549 7.6864 0 4.9530 7.6227 0 5.0504 7.5579 0 5.1470 7.4918 0 5.2427 7.4245 0 5.3376 7.3560 0 5.4316 7.2863 0 5.5247 7.2155 0 5.6169 7.1434 0 5.7083 7.0702 0 5.7987 6.9959 0 5.8881 6.9204 0 5.9766 6.8439 0 6.0642 6.7662 0 6.1508 6.6874 0 6.2363 6.6075 0 6.3209 6.5266 0 6.4044 6.4446 0 6.4869 6.3615 0 6.5684 6.2775 0 6.6488 6.1924 0 6.7281 6.1063 0 6.8063 6.0192 0 6.8834 5.9312 0 6.9594 5.8422 0 7.0343 5.7522 0 7.1081 5.6614 0 7.1807 5.5696 0 7.2521 5.4769 0 7.3223 5.3833 0 7.3914 5.2888 0 7.4593 5.1935 0 7.5260 5.0974 0 7.5914 5.0004 0 7.6556 4.9026 0 7.7186 4.8040 0 7.7804 4.7047 0 7.8409 4.6045 0 7.9001 4.5037 0 7.9580 4.4021 0 8.0146 4.2998 0 8.0700 4.1968 0 8.1240 4.0931 0 8.1768 3.9888 0 8.2282 3.8838 0 8.2782 3.7782 0 8.3270 3.6719 0 8.3743 3.5651 0 8.4204 3.4577 0 8.4650 3.3498 0 8.5083 3.2413 0 8.5503 3.1322 0 8.5908 3.0227 0 8.6299 2.9127 0 8.6677 2.8022 0 8.7040 2.6913 0 8.7390'/>
265                                     </Shape>
266                                </Transform>
267                                <Transform translation='28.34 0.01 2.75'>
268                                     <Shape>
269 
                                        <!-- Box Side6 is a DEF node that has 1 USE node: USE_1 -->
                                        <Box DEF='Side6size='.12 .02 5.5'/>
270                                          <Appearance USE='LineStyle'/>
271                                     </Shape>
272                                </Transform>
273                                <Transform rotation='1 0 0 1.57translation='37.5 0.01 11'>
274                                     <Shape>
275                                          <Appearance USE='LineStyle'/>
276                                          <Disk2D DEF='PenaltySpotouterRadius='0.12'/>
277                                     </Shape>
278                                </Transform>
279                                <Transform translation='46.66 0.01 2.75'>
280                                     <Shape>
281                                          <Box USE='Side6'/>
282                                          <Appearance USE='LineStyle'/>
283                                     </Shape>
284                                </Transform>
285                                <Transform translation='37.5 0.01 5.5'>
286                                     <Shape>
287                                          <Box DEF='Top6size='18.32 .02 .12'/>
288                                          <Appearance USE='LineStyle'/>
289                                     </Shape>
290                                </Transform>
291                                <Transform translation='37.5 0.01 55'>
292                                     <Shape>
293                                          <Box DEF='Midfieldsize='75 .03 .12'/>
294                                          <Appearance USE='LineStyle'/>
295                                     </Shape>
296                                </Transform>
297                                <Transform rotation='1 0 0 1.57'>
298                                     <Transform rotation='0 1 0 3.14'>
299                                          <Shape>
300 
                                             <!-- Arc2D CornerArc is a DEF node that has 1 USE node: USE_1 -->
                                             <Arc2D DEF='CornerArcendAngle='0startAngle='1.57'/>
301                                               <Appearance USE='LineStyle'/>
302                                          </Shape>
303                                     </Transform>
304                                </Transform>
305                                <Transform rotation='1 0 0 1.57translation='75 0.01 0'>
306                                     <Shape>
307                                          <Arc2D USE='CornerArc'/>
308                                          <Appearance USE='Line'/>
309                                     </Shape>
310                                </Transform>
311                           </Group>
312                           <Transform rotation='0 1 0 3.14translation='75 0.01 110'>
313                                <Group USE='Lines'/>
314                           </Transform>
315                           <Transform rotation='1 0 0 1.57translation='37.5 0.01 55'>
316                                <Shape>
317                                     <Appearance USE='LineStyle'/>
318                                     <Circle2D radius='9.15'/>
319                                </Shape>
320                           </Transform>
321                           <Transform rotation='1 0 0 1.57translation='37.5 0.01 55'>
322                                <Shape>
323                                     <Appearance USE='LineStyle'/>
324                                     <Disk2D DEF='CenterSpotouterRadius='0.12'/>
325                                </Shape>
326                           </Transform>
327                           <Group DEF='Goal'>
328                                <!-- Inline the goal from Savage Archive -->
329                                <Transform translation='37.5 0 0'>
330 
                                   <!-- Inline GoalPost is a DEF node that has 1 USE node: USE_1 -->
                                   <Inline DEF='GoalPost'   url=' "../SoccerStadium/GoalPost.x3d" "https://savage.nps.edu/Savage/Buildings/SoccerStadium/GoalPost.x3d" '/>
331                                </Transform>
332                                <Transform rotation='0 1 0 3.14translation='37.5 0 110'>
333                                     <Inline USE='GoalPost'/>
334                                </Transform>
335                           </Group>
336                      </Group>
337                 </Transform>
338                 <Transform translation='45 0 -215'>
339                      <Group USE='FullField'/>
340                 </Transform>
341                 <Transform translation='150 0 -215'>
342                      <Group USE='FullField'/>
343                 </Transform>
344                 <Transform translation='255 0 -215'>
345                      <Group USE='FullField'/>
346                 </Transform>
347            </Group>
348            <Transform rotation='0 1 0 1.57translation='200 0 307'>
349                 <Group DEF='MainStadium'>
350                      <Transform rotation='0 1 0 3.14scale='1.2 1 1.1translation='300 0 20'>
351                           <Inline   url=' "StadiumStructure.x3d" "https://savage.nps.edu/Savage/Buildings/SoccerComplex/StadiumStructure.x3d" '/>
352                      </Transform>
353                      <Transform translation='262 0 -35'>
354                           <Group USE='FullField'/>
355                      </Transform>
356                      <Transform rotation='0 1 0 1.57translation='277 0 20'>
357                           <Group USE='OneTwentyBoundary'/>
358                      </Transform>
359                      <Transform rotation='0 1 0 1.57translation='192 0 20'>
360                           <Group USE='OneTwentyBoundary'/>
361                      </Transform>
362 
                    <!-- Group EndlineBoards is a DEF node that has 1 USE node: USE_1 -->
                    <Group DEF='EndlineBoards'>
363                           <Transform translation='342 1 80'>
364                                <Inline USE='Sideboard'/>
365                           </Transform>
366                           <Transform translation='322 1 80'>
367                                <Inline USE='Sideboard'/>
368                           </Transform>
369                           <Transform translation='302 1 80'>
370                                <Inline USE='Sideboard'/>
371                           </Transform>
372                           <Transform translation='282 1 80'>
373                                <Inline USE='Sideboard'/>
374                           </Transform>
375                      </Group>
376                      <Transform rotation='0 1 0 3.14translation='599 0 40.5'>
377                           <Group USE='EndlineBoards'/>
378                      </Transform>
379                 </Group>
380            </Transform>
381            <Group DEF='Sidewalks'>
382                 <Shape>
383 
                    <!-- Appearance Asphault is a DEF node that has 6 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6 -->
                    <Appearance DEF='Asphault'>
384                           <Material diffuseColor='0.058824 0.098039 0.101961emissiveColor='0.121569 0.2 0.2'/>
385                      </Appearance>
386                      <Extrusion crossSection='2.5 .05 -2.5 .05 -2.5 -.05 2.5 -.05spine='-70 .01 -82.5 350 .01 -82.5 350 .01 -250 -70 .01 -250 -70 .01 100 350 .01 100 350 .01 -82.5'/>
387                 </Shape>
388                 <Shape>
389                      <Appearance USE='Asphault'/>
390                      <Extrusion crossSection='2.5 .05 -2.5 .05 -2.5 -.05 2.5 -.05spine='350 .01 -82.5 375 .01 -82.5'/>
391                 </Shape>
392                 <Shape>
393                      <Appearance USE='Asphault'/>
394                      <Extrusion crossSection='2.5 .05 -2.5 .05 -2.5 -.05 2.5 -.05spine='350 .01 -82.5 350 .01 -250'/>
395                 </Shape>
396                 <Shape>
397                      <Appearance USE='Asphault'/>
398                      <Extrusion crossSection='2.5 .05 -2.5 .05 -2.5 -.05 2.5 -.05spine='60 .01 63 85 .01 63'/>
399                 </Shape>
400                 <Shape>
401                      <Appearance USE='Asphault'/>
402                      <Extrusion crossSection='2.5 .05 -2.5 .05 -2.5 -.05 2.5 -.05spine='60 .01 -62 85 .01 -62'/>
403                 </Shape>
404                 <Shape>
405                      <Appearance USE='Asphault'/>
406                      <Extrusion crossSection='2.5 .05 -2.5 .05 -2.5 -.05 2.5 -.05spine='-70 .01 -62 -60 .01 -62'/>
407                 </Shape>
408                 <Shape>
409                      <Appearance USE='Asphault'/>
410                      <Extrusion crossSection='2.5 .05 -2.5 .05 -2.5 -.05 2.5 -.05spine='-70 .01 62 -60 .01 62'/>
411                 </Shape>
412            </Group>
413            <Group DEF='Courtyard'>
414                 <Transform translation='110 0 5'>
415                      <Shape>
416                           <Appearance>
417 
                              <!-- ImageTexture Concrete is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                              <ImageTexture DEF='Concrete'   url=' "concreteTwo.jpg " "https://savage.nps.edu/Savage/Buildings/SoccerComplex/concreteTwo.jpg " '/>
418                           </Appearance>
419                           <Box size='100 .1 100'/>
420                      </Shape>
421                 </Transform>
422                 <Transform translation='100 -.1 75'>
423                      <Shape>
424                           <Appearance>
425                                <ImageTexture USE='Concrete'/>
426                           </Appearance>
427                           <Box size='30 .1 45'/>
428                      </Shape>
429                 </Transform>
430                 <Transform translation='100 -.1 -61'>
431                      <Shape>
432                           <Appearance>
433                                <ImageTexture USE='Concrete'/>
434                           </Appearance>
435                           <Box size='30 .1 39'/>
436                      </Shape>
437                 </Transform>
438            </Group>
439            <Transform translation='-80 1.5 101'>
440 
               <!-- Group PineTrees is a DEF node that has 46 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, USE_15, USE_16, USE_17, USE_18, USE_19, USE_20, USE_21, USE_22, USE_23, USE_24, USE_25, USE_26, USE_27, USE_28, USE_29, USE_30, USE_31, USE_32, USE_33, USE_34, USE_35, USE_36, USE_37, USE_38, USE_39, USE_40, USE_41, USE_42, USE_43, USE_44, USE_45, USE_46 -->
               <Group DEF='PineTrees'>
441                      <Inline DEF='Pine'   url=' "PineTrees.x3d" "https://savage.nps.edu/Savage/Buildings/SoccerComplex/PineTrees.x3d" '/>
442                 </Group>
443            </Transform>
444 
          <!-- Group DoubleRowTrees is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
          <Group DEF='DoubleRowTrees'>
445 
               <!-- Group LongRowTrees is a DEF node that has 1 USE node: USE_1 -->
               <Group DEF='LongRowTrees'>
446 
                    <!-- Group RowTrees is a DEF node that has 1 USE node: USE_1 -->
                    <Group DEF='RowTrees'>
447                           <Transform translation='-80 1.5 91'>
448                                <Group USE='PineTrees'/>
449                           </Transform>
450                           <Transform translation='-80 1.5 81'>
451                                <Group USE='PineTrees'/>
452                           </Transform>
453                           <Transform translation='-80 1.5 71'>
454                                <Group USE='PineTrees'/>
455                           </Transform>
456                           <Transform translation='-80 1.5 61'>
457                                <Group USE='PineTrees'/>
458                           </Transform>
459                           <Transform translation='-80 1.5 51'>
460                                <Group USE='PineTrees'/>
461                           </Transform>
462                           <Transform translation='-80 1.5 41'>
463                                <Group USE='PineTrees'/>
464                           </Transform>
465                           <Transform translation='-80 1.5 31'>
466                                <Group USE='PineTrees'/>
467                           </Transform>
468                           <Transform translation='-80 1.5 21'>
469                                <Group USE='PineTrees'/>
470                           </Transform>
471                           <Transform translation='-80 1.5 11'>
472                                <Group USE='PineTrees'/>
473                           </Transform>
474                           <Transform translation='-80 1.5 1'>
475                                <Group USE='PineTrees'/>
476                           </Transform>
477                           <Transform translation='-80 1.5 -11'>
478                                <Group USE='PineTrees'/>
479                           </Transform>
480                           <Transform translation='-80 1.5 -21'>
481                                <Group USE='PineTrees'/>
482                           </Transform>
483                           <Transform translation='-80 1.5 -31'>
484                                <Group USE='PineTrees'/>
485                           </Transform>
486                           <Transform translation='-80 1.5 -41'>
487                                <Group USE='PineTrees'/>
488                           </Transform>
489                           <Transform translation='-80 1.5 -51'>
490                                <Group USE='PineTrees'/>
491                           </Transform>
492                           <Transform translation='-80 1.5 -61'>
493                                <Group USE='PineTrees'/>
494                           </Transform>
495                           <Transform translation='-80 1.5 -71'>
496                                <Group USE='PineTrees'/>
497                           </Transform>
498                           <Transform translation='-80 1.5 -81'>
499                                <Group USE='PineTrees'/>
500                           </Transform>
501                      </Group>
502                      <Transform translation='0 0 -170'>
503                           <Group USE='RowTrees'/>
504                      </Transform>
505                 </Group>
506                 <Transform translation='-5 0 5'>
507                      <Group USE='LongRowTrees'/>
508                 </Transform>
509            </Group>
510            <Transform rotation='0 1 0 1.57translation='165 0 30'>
511                 <Group USE='DoubleRowTrees'/>
512            </Transform>
513            <Transform rotation='0 1 0 1.57translation='165 0 -345'>
514                 <Group USE='DoubleRowTrees'/>
515            </Transform>
516 
          <!-- Group LastTrees is a DEF node that has 1 USE node: USE_1 -->
          <Group DEF='LastTrees'>
517 
               <!-- Group RemainingSideTrees is a DEF node that has 1 USE node: USE_1 -->
               <Group DEF='RemainingSideTrees'>
518                      <Transform rotation='0 1 0 1.57translation='255 0 30'>
519                           <Transform translation='-80 1.5 111'>
520                                <Group USE='PineTrees'/>
521                           </Transform>
522                           <Transform translation='-80 1.5 101'>
523                                <Group USE='PineTrees'/>
524                           </Transform>
525                           <Transform translation='-80 1.5 91'>
526                                <Group USE='PineTrees'/>
527                           </Transform>
528                           <Transform translation='-80 1.5 81'>
529                                <Group USE='PineTrees'/>
530                           </Transform>
531                           <Transform translation='-80 1.5 71'>
532                                <Group USE='PineTrees'/>
533                           </Transform>
534                           <Transform translation='-80 1.5 61'>
535                                <Group USE='PineTrees'/>
536                           </Transform>
537                           <Transform translation='-80 1.5 51'>
538                                <Group USE='PineTrees'/>
539                           </Transform>
540                           <Transform translation='-80 1.5 41'>
541                                <Group USE='PineTrees'/>
542                           </Transform>
543                           <Transform translation='-80 1.5 31'>
544                                <Group USE='PineTrees'/>
545                           </Transform>
546                           <Transform translation='-80 1.5 21'>
547                                <Group USE='PineTrees'/>
548                           </Transform>
549                           <Transform translation='-80 1.5 11'>
550                                <Group USE='PineTrees'/>
551                           </Transform>
552                      </Transform>
553                 </Group>
554                 <Transform translation='5 0 5'>
555                      <Group USE='RemainingSideTrees'/>
556                 </Transform>
557            </Group>
558            <Transform translation='0 0 -375'>
559                 <Group USE='LastTrees'/>
560            </Transform>
561            <Group DEF='DoubleFrontRow'>
562 
               <!-- Group FullFrontTrees is a DEF node that has 1 USE node: USE_1 -->
               <Group DEF='FullFrontTrees'>
563 
                    <!-- Group FrontTrees is a DEF node that has 1 USE node: USE_1 -->
                    <Group DEF='FrontTrees'>
564                           <Transform translation='365 1.5 91'>
565                                <Group USE='PineTrees'/>
566                           </Transform>
567                           <Transform translation='365 1.5 81'>
568                                <Group USE='PineTrees'/>
569                           </Transform>
570                           <Transform translation='365 1.5 71'>
571                                <Group USE='PineTrees'/>
572                           </Transform>
573                           <Transform translation='365 1.5 61'>
574                                <Group USE='PineTrees'/>
575                           </Transform>
576                           <Transform translation='365 1.5 51'>
577                                <Group USE='PineTrees'/>
578                           </Transform>
579                           <Transform translation='365 1.5 41'>
580                                <Group USE='PineTrees'/>
581                           </Transform>
582                           <Transform translation='365 1.5 31'>
583                                <Group USE='PineTrees'/>
584                           </Transform>
585                           <Transform translation='365 1.5 21'>
586                                <Group USE='PineTrees'/>
587                           </Transform>
588                           <Transform translation='365 1.5 11'>
589                                <Group USE='PineTrees'/>
590                           </Transform>
591                           <Transform translation='365 1.5 1'>
592                                <Group USE='PineTrees'/>
593                           </Transform>
594                           <Transform translation='365 1.5 -11'>
595                                <Group USE='PineTrees'/>
596                           </Transform>
597                           <Transform translation='365 1.5 -21'>
598                                <Group USE='PineTrees'/>
599                           </Transform>
600                           <Transform translation='365 1.5 -31'>
601                                <Group USE='PineTrees'/>
602                           </Transform>
603                           <Transform translation='365 1.5 -41'>
604                                <Group USE='PineTrees'/>
605                           </Transform>
606                           <Transform translation='365 1.5 -51'>
607                                <Group USE='PineTrees'/>
608                           </Transform>
609                           <Transform translation='365 1.5 -61'>
610                                <Group USE='PineTrees'/>
611                           </Transform>
612                           <Transform translation='365 1.5 -71'>
613                                <Group USE='PineTrees'/>
614                           </Transform>
615                      </Group>
616                      <Transform translation='0 0 -190'>
617                           <Group USE='FrontTrees'/>
618                      </Transform>
619                 </Group>
620                 <Transform translation='5 0 5'>
621                      <Group USE='FullFrontTrees'/>
622                 </Transform>
623            </Group>
624       </Scene>
625  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top Index for DEF nodes: Asphault, CameraPosition, CameraRotation, CenterSpot, ComplexOverview, Concrete, CornerArc, Courtyard, DoubleFrontRow, DoubleRowTrees, Endline, EndlineBoards, Fields, FilterSign, FiveBoxEdge, FiveByFiveGrid, FrontTrees, FullField, FullFrontTrees, FutsalBoundary, FutsalCenterCircle, FutsalField, FutsalGoal, FutsalMidField, Goal, GoalPost, Grass, GridLines, GroundBox, InsideLongLine, InsideShortLine, InsideTenGrid, LastTrees, Line, Lines, LineStyle, LongRowTrees, MainStadium, MasterTime, Midfield, OneThirtyBoundary, OneTwentyBoundary, PenaltyArc, PenaltySpot, Pine, PineTrees, Pitch, PitchOutline, Pole, RemainingSideTrees, RowTrees, Side18, Side6, Sideboard, Sideline, Sidewalks, Sign, SportTurf, StartingView, TenBoxEdge, TenByTenGrid, Top18, Top6, TouchSign, TrainingArea, TrainingSurface, TriggerSign, WholePole

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3, Viewpoint_4, Viewpoint_5, Viewpoint_6, ComplexOverview, StartingView
-->
X3D Tooltips element index: Appearance, Arc2D, Background, BooleanFilter, Box, Circle2D, component, Cylinder, Disk2D, Extrusion, Group, head, ImageTexture, Inline, Material, meta, OrientationInterpolator, PositionInterpolator, ROUTE, Scene, Shape, TimeSensor, TimeTrigger, TouchSensor, Transform, Viewpoint, WorldInfo, X3D, plus documentation for accessType definitions, type definitions, XML data types, and field types

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

TouchSign
TouchSensor
isActive
SFBool

ROUTE
event to
(1)
FilterSign
BooleanFilter
set_boolean
SFBool
then
 
 
 
FilterSign
BooleanFilter
inputTrue
SFBool

ROUTE
event to
(2)
TriggerSign
TimeTrigger
set_boolean
SFBool
then
 
 
 
TriggerSign
TimeTrigger
triggerTime
SFTime

ROUTE
event to
(3)
MasterTime
TimeSensor
startTime
SFTime
then
 
 
 
MasterTime
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(4)
CameraRotation
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
CameraRotation
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(5)
StartingView
Viewpoint
orientation
SFRotation
  then
 
 
 
MasterTime
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(4)
CameraPosition
PositionInterpolator
set_fraction
SFFloat
then
 
 
 
CameraPosition
PositionInterpolator
value_changed
SFVec3f

ROUTE
event to
(5)
StartingView
Viewpoint
position
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/Buildings/SoccerComplex/TrainingAreaIndex.html -->
<!-- Version control at
https://gitlab.nps.edu/Savage/Savage/Buildings/SoccerComplex/TrainingArea.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. -->