X3D Model Documentation: CarDemoMain.x3d

  1  <?xml version="1.0" encoding="UTF-8"?>
  2  <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.2//EN" "https://www.web3d.org/specifications/x3d-3.2.dtd">
  3  <X3D profile='Immersive' version='3.2 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.2.xsd'>
  4       <head>
  5            <component level='2name='xj3d_RigidBodyPhysics'/>
  6            <component level='2name='xj3d_IODevice'/>
  7            <!-- TODO: upgrade component <component level='2' name='RigidBodyPhysics'/> -->
  8            <meta name='titlecontent='CarDemoMain.x3d'/>
  9            <meta name='descriptioncontent='Example scene for RigidBodyPhysics component, runnable as Xj3D application and invoked using shell script runogl'/>
 10            <meta name='creatorcontent='Alan Hudson and Justin Couch'/>
 11            <meta name='translatorcontent='Don Brutzman'/>
 12            <meta name='createdcontent='1 January 2008'/>
 13            <meta name='translatedcontent='30 December 2008'/>
 14            <meta name='modifiedcontent='20 October 2019'/>
 15            <meta name='referencecontent='http://www.xj3d.org/extensions/index.html#Physics'/>
 16            <meta name=' warning content=' Test scene includes custom Xj3D components and elements, will not validate '/>
 17            <meta name=' warning content=' Test scene under development, runogl fails http://bugzilla.xj3d.org/show_bug.cgi?id=556 '/>
 18            <meta name='referencecontent='originals/car/runogl'/>
 19            <meta name='referencecontent='originals/car/main.x3dv'/>
 20            <meta name='referencecontent='originals/car/worldModel.x3dv'/>
 21            <meta name='referencecontent='originals/car/CameraControl.java'/>
 22            <meta name='referencecontent='originals/car/CarControlScript.java'/>
 23            <meta name='referencecontent='http://www.xj3d.org/extensions/rigid_physics_examples.html'/>
 24            <meta name='referencecontent='https://www.web3d.org/x3d/specifications/ISO-IEC-FDIS-19775-1.2-X3D-AbstractSpecification/Part01/components/rigid_physics.html'/>
 25            <meta name='identifiercontent='https://www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/CarDemoMain.x3d'/>
 26            <meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
 27            <meta name='generatorcontent='Xj3D converter, http://www.xj3d.org'/>
 28            <meta name='licensecontent='../../license.html'/>
 29       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->

<!-- to top Index for DEF nodes: ACTIVE-SECTOR-INDICATOR, BACK-LEFT-JOINT, BACK-LEFT-WHEEL-BODY, BACK-LEFT-WHEEL-GEOM, BACK-LEFT-WHEEL-TX, BACK-RIGHT-JOINT, BACK-RIGHT-WHEEL-BODY, BACK-RIGHT-WHEEL-GEOM, BACK-RIGHT-WHEEL-TX, BODY-COLLECTION, BRAKE-LIGHT-COLOR, BRAKE-LIGHT-GEOM, cam_car_chase-POS-INTERP, cam_car_chase-ROT-INTERP, cam_car_chase-TIMER, Camera03, Camera03-OLD, CAMERA-CONTROL-SCRIPT, CAMERA-TX, CAR-BODY, CAR-BODY-GEOM, CAR-BODY-TX, carCamTransform, CAR-CONTAINER, CAR-CONTROL-SCRIPT, carGroup, CHASSIS-BOX, CHASSIS-PROXY-GEOM, CHASSIS-VIEW, COLLISION-GROUP, COLLISION-OUTPUT, DEBUG_TERRAIN, DEBUG-GEOM, DEBUG-POINTER-APP, ENEMY-GEOM, FRONT-LEFT-DEBUG-POINTER, FRONT-LEFT-HINGE-ANGLE-INTERP, FRONT-LEFT-HINGE-WHEEL-INTERP, FRONT-LEFT-JOINT, FRONT-LEFT-MAXSTOP-ANGLE-INTERP, FRONT-LEFT-MINSTOP-ANGLE-INTERP, FRONT-LEFT-TX-DEBUG-POINTER, FRONT-LEFT-WHEEL-BODY, FRONT-LEFT-WHEEL-GEOM, FRONT-LEFT-WHEEL-TX, FRONT-LEFT-WHEEL-TX-DEBUG-HINGE, FRONT-LEFT-WHEEL-TX-DEBUG-MAX, FRONT-LEFT-WHEEL-TX-DEBUG-MIN, FRONT-RIGHT-DEBUG-POINTER, FRONT-RIGHT-HINGE-ANGLE-INTERP, FRONT-RIGHT-HINGE-WHEEL-INTERP, FRONT-RIGHT-JOINT, FRONT-RIGHT-MAXSTOP-ANGLE-INTERP, FRONT-RIGHT-MINSTOP-ANGLE-INTERP, FRONT-RIGHT-TX-DEBUG-POINTER, FRONT-RIGHT-WHEEL-BODY, FRONT-RIGHT-WHEEL-GEOM, FRONT-RIGHT-WHEEL-TX, FRONT-RIGHT-WHEEL-TX-DEBUG-HINGE, FRONT-RIGHT-WHEEL-TX-DEBUG-MAX, FRONT-RIGHT-WHEEL-TX-DEBUG-MIN, GAMEPAD, JOINT-INDICATOR-LEFT, JOINT-INDICATOR-RIGHT, JOINT-SPHERE, KEYS, KEYSC, keysensor, KEYTIMER, physicsSectorScript, RAMP_APP, REVERSE-LIGHT-COLOR, REVERSE-LIGHT-GEOM, ROAD-APP, Road-v-001, Road-v-002, Road-v-003, Road-v-004, Road-v-006, Road-v-007, SAND-APP, Sand-v-001, Sand-v-002, SmallBulding, SPEED-COLOR, SPEED-INDICATOR, SPEED-INDICATOR-COLOR, TERRAIN-CONTAINER, UI-CONTROL-SCRIPT, WALL-APP, WALL-v-001a, WALL-v-001b, WALL-v-001c, WALL-v-001d, Wall-v-002, Wall-v-003, Wall-v-004, Wall-v-005, Wall-v-006, Wall-v-007, Wall-v-008, Wall-v-009, Wall-v-010, Wall-v-011, WHEEL, WHEEL-GEOM, WHEEL-MASS, WHEEL-SHAPE

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Camera03, Camera03-OLD, CHASSIS-VIEW
-->
 30       <Scene>
 31            <WorldInfo title='CarDemoMain.x3d'/>
 32            <Group>
 33                 <Group DEF='CAR-CONTAINER'>
 34                      <Switch DEF='DEBUG-GEOMwhichChoice='0'>
 35                           <Group>
 36                                <Transform DEF='ACTIVE-SECTOR-INDICATOR'>
 37                                     <Shape>
 38                                          <Appearance>
 39                                               <Material emissiveColor='1.0 1.0 0.0transparency='0.5'/>
 40                                          </Appearance>
 41                                     </Shape>
 42                                </Transform>
 43 
                              <!-- ROUTE information for FRONT-LEFT-WHEEL-TX-DEBUG-HINGE node:  [from FRONT-LEFT-HINGE-WHEEL-INTERP.value_changed to rotation ] [from FRONT-LEFT-HINGE-ANGLE-INTERP.value_changed to rotation ] [from FRONT-LEFT-WHEEL-BODY.position to translation ] -->
                              <Transform DEF='FRONT-LEFT-WHEEL-TX-DEBUG-HINGEtranslation='-1.1 0.5 -1.5'>
 44                                     <Shape DEF='FRONT-LEFT-DEBUG-POINTER'>
 45 
                                        <!-- Appearance DEBUG-POINTER-APP is a DEF node that has 5 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5 -->
                                        <Appearance DEF='DEBUG-POINTER-APP'>
 46                                               <Material/>
 47                                               <LineProperties linetype='2containerField='lineProperties'/>
 48                                          </Appearance>
 49                                          <LineSet vertexCount='2containerField='geometry'>
 50                                               <Coordinate point='0.0 0.0 0.0 1.0 0.0 0.0'/>
 51                                               <Color color='1.0 1.0 1.0 1.0 1.0 1.0'/>
 52                                          </LineSet>
 53                                     </Shape>
 54                                </Transform>
 55 
                              <!-- ROUTE information for FRONT-RIGHT-WHEEL-TX-DEBUG-HINGE node:  [from FRONT-RIGHT-HINGE-WHEEL-INTERP.value_changed to rotation ] [from FRONT-RIGHT-HINGE-ANGLE-INTERP.value_changed to rotation ] [from FRONT-RIGHT-WHEEL-BODY.position to translation ] -->
                              <Transform DEF='FRONT-RIGHT-WHEEL-TX-DEBUG-HINGEtranslation='-1.1 0.5 -1.5'>
 56                                     <Shape DEF='FRONT-RIGHT-DEBUG-POINTER'>
 57                                          <Appearance USE='DEBUG-POINTER-APP'/>
 58                                          <LineSet vertexCount='2containerField='geometry'>
 59                                               <Coordinate point='0.0 0.0 0.0 -1.0 0.0 0.0'/>
 60                                               <Color color='1.0 1.0 1.0 1.0 1.0 1.0'/>
 61                                          </LineSet>
 62                                     </Shape>
 63                                </Transform>
 64 
                              <!-- ROUTE information for FRONT-LEFT-WHEEL-TX-DEBUG-MIN node:  [from FRONT-LEFT-MINSTOP-ANGLE-INTERP.value_changed to rotation ] [from FRONT-LEFT-WHEEL-BODY.position to translation ] -->
                              <Transform DEF='FRONT-LEFT-WHEEL-TX-DEBUG-MINtranslation='-1.1 0.5 -1.5'>
 65                                     <Shape DEF='FRONT-LEFT-TX-DEBUG-POINTER'>
 66                                          <Appearance USE='DEBUG-POINTER-APP'/>
 67                                          <LineSet vertexCount='2containerField='geometry'>
 68                                               <Coordinate point='0.0 0.0 0.0 1.0 0.0 0.0'/>
 69                                               <Color color='1.0 1.0 0.0 1.0 1.0 0.0'/>
 70                                          </LineSet>
 71                                     </Shape>
 72                                </Transform>
 73 
                              <!-- ROUTE information for FRONT-RIGHT-WHEEL-TX-DEBUG-MIN node:  [from FRONT-RIGHT-MINSTOP-ANGLE-INTERP.value_changed to rotation ] [from FRONT-RIGHT-WHEEL-BODY.position to translation ] -->
                              <Transform DEF='FRONT-RIGHT-WHEEL-TX-DEBUG-MINtranslation='-1.1 0.5 -1.5'>
 74                                     <Shape DEF='FRONT-RIGHT-TX-DEBUG-POINTER'>
 75                                          <Appearance USE='DEBUG-POINTER-APP'/>
 76                                          <LineSet vertexCount='2containerField='geometry'>
 77                                               <Coordinate point='0.0 0.0 0.0 -1.0 0.0 0.0'/>
 78                                               <Color color='0.0 0.0 1.0 0.0 0.0 1.0'/>
 79                                          </LineSet>
 80                                     </Shape>
 81                                </Transform>
 82 
                              <!-- ROUTE information for FRONT-LEFT-WHEEL-TX-DEBUG-MAX node:  [from FRONT-LEFT-MAXSTOP-ANGLE-INTERP.value_changed to rotation ] [from FRONT-LEFT-WHEEL-BODY.position to translation ] -->
                              <Transform DEF='FRONT-LEFT-WHEEL-TX-DEBUG-MAXtranslation='-1.1 0.5 -1.5'>
 83                                     <Shape>
 84                                          <Appearance USE='DEBUG-POINTER-APP'/>
 85                                          <LineSet vertexCount='2containerField='geometry'>
 86                                               <Coordinate point='0.0 0.0 0.0 1.0 0.0 0.0'/>
 87                                               <Color color='0.0 0.0 1.0 0.0 0.0 1.0'/>
 88                                          </LineSet>
 89                                     </Shape>
 90                                </Transform>
 91 
                              <!-- ROUTE information for FRONT-RIGHT-WHEEL-TX-DEBUG-MAX node:  [from FRONT-RIGHT-MAXSTOP-ANGLE-INTERP.value_changed to rotation ] [from FRONT-RIGHT-WHEEL-BODY.position to translation ] -->
                              <Transform DEF='FRONT-RIGHT-WHEEL-TX-DEBUG-MAXtranslation='-1.1 0.5 -1.5'>
 92                                     <Shape>
 93                                          <Appearance USE='DEBUG-POINTER-APP'/>
 94                                          <LineSet vertexCount='2containerField='geometry'>
 95                                               <Coordinate point='0.0 0.0 0.0 -1.0 0.0 0.0'/>
 96                                               <Color color='1.0 1.0 1.0 1.0 1.0 1.0'/>
 97                                          </LineSet>
 98                                     </Shape>
 99                                </Transform>
100                           </Group>
101                      </Switch>
102 
                    <!-- ROUTE information for FRONT-LEFT-WHEEL-TX node:  [from FRONT-LEFT-WHEEL-BODY.position to translation ] [from FRONT-LEFT-WHEEL-BODY.orientation to rotation ] -->
                    <Transform DEF='FRONT-LEFT-WHEEL-TXtranslation='-1.1 0.5 -1.5'>
103 
                         <!-- Transform WHEEL-SHAPE is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
                         <Transform DEF='WHEEL-SHAPErotation='0.0 0.0 1.0 1.572'>
104                                <Shape>
105                                     <Appearance>
106                                          <Material emissiveColor='1.0 0.0 1.0'/>
107                                     </Appearance>
108                                     <Cylinder height='0.1radius='0.5'/>
109                                </Shape>
110                           </Transform>
111 
                         <!-- Group JOINT-INDICATOR-LEFT is a DEF node that has 1 USE node: USE_1 -->
                         <Group DEF='JOINT-INDICATOR-LEFT'>
112                                <Shape>
113                                     <LineSet vertexCount='2 2containerField='geometry'>
114                                          <Coordinate point='0.0 0.0 0.0 -1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0'/>
115                                          <Color color='1.0 1.0 0.0 1.0 1.0 0.0 1.0 1.0 1.0 1.0 1.0 1.0'/>
116                                     </LineSet>
117                                </Shape>
118 
                              <!-- Shape JOINT-SPHERE is a DEF node that has 1 USE node: USE_1 -->
                              <Shape DEF='JOINT-SPHERE'>
119                                     <Appearance>
120                                          <Material emissiveColor='0.0 1.0 1.0'/>
121                                     </Appearance>
122                                     <Sphere radius='0.1'/>
123                                </Shape>
124                           </Group>
125                      </Transform>
126 
                    <!-- ROUTE information for FRONT-RIGHT-WHEEL-TX node:  [from FRONT-RIGHT-WHEEL-BODY.position to translation ] [from FRONT-RIGHT-WHEEL-BODY.orientation to rotation ] -->
                    <Transform DEF='FRONT-RIGHT-WHEEL-TXtranslation='1.1 0.5 -1.5'>
127                           <Transform USE='WHEEL-SHAPE'/>
128 
                         <!-- Group JOINT-INDICATOR-RIGHT is a DEF node that has 1 USE node: USE_1 -->
                         <Group DEF='JOINT-INDICATOR-RIGHT'>
129                                <Shape>
130                                     <LineSet vertexCount='2 2containerField='geometry'>
131                                          <Coordinate point='0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0'/>
132                                          <Color color='1.0 1.0 0.0 1.0 1.0 0.0 1.0 1.0 1.0 1.0 1.0 1.0'/>
133                                     </LineSet>
134                                </Shape>
135                                <Shape USE='JOINT-SPHERE'/>
136                           </Group>
137                      </Transform>
138 
                    <!-- ROUTE information for BACK-LEFT-WHEEL-TX node:  [from BACK-LEFT-WHEEL-BODY.position to translation ] [from BACK-LEFT-WHEEL-BODY.orientation to rotation ] -->
                    <Transform DEF='BACK-LEFT-WHEEL-TXtranslation='-1.1 0.5 1.5'>
139                           <Transform USE='WHEEL-SHAPE'/>
140                           <Group USE='JOINT-INDICATOR-LEFT'/>
141                      </Transform>
142 
                    <!-- ROUTE information for BACK-RIGHT-WHEEL-TX node:  [from BACK-RIGHT-WHEEL-BODY.position to translation ] [from BACK-RIGHT-WHEEL-BODY.orientation to rotation ] -->
                    <Transform DEF='BACK-RIGHT-WHEEL-TXtranslation='1.1 0.5 1.5'>
143                           <Transform USE='WHEEL-SHAPE'/>
144                           <Group USE='JOINT-INDICATOR-RIGHT'/>
145                      </Transform>
146 
                    <!-- ROUTE information for CAR-BODY-TX node:  [from cam_car_chase-POS-INTERP.value_changed to translation ] [from cam_car_chase-ROT-INTERP.value_changed to rotation ] [from CAR-BODY.position to translation ] [from CAR-BODY.orientation to rotation ] -->
                    <Transform DEF='CAR-BODY-TX'>
147                           <Shape>
148                                <Appearance>
149                                     <Material emissiveColor='0.8 0.8 0.0'/>
150                                </Appearance>
151 
                              <!-- Box CHASSIS-BOX is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                              <Box DEF='CHASSIS-BOXsize='2.2 0.05 5.0'/>
152                           </Shape>
153 
                         <!-- ROUTE information for SPEED-INDICATOR node:  [from UI-CONTROL-SCRIPT.speedScale to scale ] -->
                         <Transform DEF='SPEED-INDICATORtranslation='1.2 1.0 0.0'>
154                                <Shape>
155                                     <Appearance>
156 
                                        <!-- ROUTE information for SPEED-INDICATOR-COLOR node:  [from SPEED-COLOR.value_changed to emissiveColor ] -->
                                        <Material DEF='SPEED-INDICATOR-COLOR'/>
157                                     </Appearance>
158                                     <Box size='0.1 1.0 0.1'/>
159                                </Shape>
160                           </Transform>
161                           <Transform translation='0.0 0.4 0.0'>
162                                <Shape>
163                                     <Appearance>
164                                          <Material emissiveColor='0.0 0.0 0.8transparency='0.5'/>
165                                     </Appearance>
166                                     <Box DEF='CHASSIS-PROXY-GEOMsize='2.25 0.4 5.1'/>
167                                </Shape>
168                                <Transform translation='1.0 0.1 2.65'>
169 
                                   <!-- Shape BRAKE-LIGHT-GEOM is a DEF node that has 1 USE node: USE_1 -->
                                   <Shape DEF='BRAKE-LIGHT-GEOM'>
170                                          <Appearance>
171 
                                             <!-- ROUTE information for BRAKE-LIGHT-COLOR node:  [from UI-CONTROL-SCRIPT.brakeLightColor to emissiveColor ] -->
                                             <Material DEF='BRAKE-LIGHT-COLORdiffuseColor='0.1 0.0 0.0emissiveColor='0.1 0.0 0.0'/>
172                                          </Appearance>
173                                          <Box size='0.1 0.2 0.1'/>
174                                     </Shape>
175                                </Transform>
176                                <Transform translation='-1.0 0.1 2.65'>
177                                     <Shape USE='BRAKE-LIGHT-GEOM'/>
178                                </Transform>
179                                <Transform translation='0.9 0.1 2.65'>
180 
                                   <!-- Shape REVERSE-LIGHT-GEOM is a DEF node that has 1 USE node: USE_1 -->
                                   <Shape DEF='REVERSE-LIGHT-GEOM'>
181                                          <Appearance>
182 
                                             <!-- ROUTE information for REVERSE-LIGHT-COLOR node:  [from UI-CONTROL-SCRIPT.reverseLightColor to emissiveColor ] -->
                                             <Material DEF='REVERSE-LIGHT-COLORdiffuseColor='0.1 0.1 0.1emissiveColor='0.1 0.1 0.1'/>
183                                          </Appearance>
184                                          <Box size='0.1 0.1 0.1'/>
185                                     </Shape>
186                                </Transform>
187                                <Transform translation='-0.9 0.1 2.65'>
188                                     <Shape USE='REVERSE-LIGHT-GEOM'/>
189                                </Transform>
190                           </Transform>
191                      </Transform>
192 
                    <!-- ROUTE information for CAMERA-TX node:  [from CAMERA-CONTROL-SCRIPT.cameraTranslation to translation ] [from CAMERA-CONTROL-SCRIPT.cameraRotation to rotation ] -->
                    <Transform DEF='CAMERA-TX'>
193                           <Transform>
194                                <Viewpoint DEF='Camera03description='AutoCamposition='0.0 0.0 0.0'/>
195                           </Transform>
196                      </Transform>
197                 </Group>
198            </Group>
199            <NavigationInfo speed='10.0type='"NONE"'/>
200            <Inline/>
201            <Shape DEF='ENEMY-GEOM'/>
202 
          <!-- ROUTE information for carGroup node:  [from cam_car_chase-POS-INTERP.value_changed to translation ] [from cam_car_chase-ROT-INTERP.value_changed to rotation ] -->
          <Transform DEF='carGrouprotation='0.006813 -0.9999 0.01227 -4.155translation='-82.59 6.8 -48.1'>
203                 <Transform DEF='carCamTransformtranslation='0.0 1.0 5.0'>
204                      <Viewpoint DEF='Camera03-OLDdescription='Car 3rd Personposition='0.0 0.0 5.0'/>
205                 </Transform>
206            </Transform>
207 
          <!-- ROUTE information for cam_car_chase-TIMER node:  [from fraction_changed to cam_car_chase-POS-INTERP.set_fraction ] [from fraction_changed to cam_car_chase-ROT-INTERP.set_fraction ] -->
          <TimeSensor DEF='cam_car_chase-TIMERcycleInterval='120.0enabled='falseloop='true'/>
208 
          <!-- ROUTE information for cam_car_chase-POS-INTERP node:  [from cam_car_chase-TIMER.fraction_changed to set_fraction ] [from value_changed to carGroup.translation ] [from value_changed to CAR-BODY-TX.translation ] -->
          <PositionInterpolator DEF='cam_car_chase-POS-INTERPkey='0.0 0.0050 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05 0.055 0.06 0.065 0.07 0.075 0.08 0.085 0.09 0.095 0.1 0.105 0.11 0.115 0.12 0.125 0.13 0.135 0.14 0.145 0.15 0.155 0.16 0.165 0.17 0.175 0.18 0.185 0.19 0.195 0.2 0.205 0.21 0.215 0.22 0.225 0.23 0.235 0.24 0.245 0.25 0.255 0.26 0.265 0.27 0.275 0.28 0.285 0.29 0.295 0.3 0.305 0.31 0.315 0.32 0.325 0.33 0.335 0.34 0.345 0.35 0.355 0.36 0.365 0.37 0.375 0.38 0.385 0.39 0.395 0.4 0.405 0.41 0.415 0.42 0.425 0.43 0.435 0.44 0.445 0.45 0.455 0.46 0.465 0.47 0.475 0.48 0.485 0.49 0.495 0.5 0.505 0.51 0.515 0.52 0.525 0.53 0.535 0.54 0.545 0.55 0.555 0.56 0.565 0.57 0.575 0.58 0.585 0.59 0.595 0.6 0.605 0.61 0.615 0.62 0.625 0.63 0.635 0.64 0.645 0.65 0.655 0.66 0.665 0.67 0.675 0.68 0.685 0.69 0.695 0.7 0.705 0.71 0.715 0.72 0.725 0.73 0.735 0.74 0.745 0.75 0.755 0.76 0.765 0.77 0.775 0.78 0.785 0.79 0.795 0.8 0.805 0.81 0.815 0.82 0.825 0.83 0.835 0.84 0.845 0.85 0.855 0.86 0.865 0.87 0.875 0.88 0.885 0.89 0.895 0.9 0.905 0.91 0.915 0.92 0.925 0.93 0.935 0.94 0.945 0.95 0.955 0.96 0.965 0.97 0.975 0.98 0.985 0.99 0.995 1.0keyValue='-82.59 6.8 -46.1 -62.37 7.482 -34.12 -45.75 8.077 -24.49 -30.63 8.902 -15.22 -14.28 9.772 -7.022 2.577 10.66 0.2272 19.5 11.58 7.357 36.34 12.33 14.35 53.06 12.96 21.47 69.88 13.31 28.19 86.65 13.45 34.39 103.0 13.08 41.36 120.3 12.53 47.38 137.9 11.52 53.08 156.0 11.13 55.74 174.3 10.82 56.99 192.6 10.72 59.23 210.8 10.17 59.67 229.1 9.332 58.07 247.3 7.655 57.25 265.2 6.045 56.14 283.9 3.88 56.28 305.8 3.112 54.26 324.5 3.111 54.26 340.3 3.338 51.85 353.7 3.376 40.25 367.0 2.986 24.67 368.9 2.698 4.603 367.0 2.426 -16.23 352.9 2.476 -24.65 333.0 2.496 -27.47 313.1 2.5 -26.23 296.2 2.472 -22.66 278.8 2.428 -17.45 260.8 2.399 -12.16 243.0 2.371 -7.717 225.0 2.348 -3.115 206.7 2.312 -2.477 188.5 2.288 -3.483 169.7 2.239 -1.287 149.8 2.275 -3.75 131.7 2.358 -8.071 114.9 2.463 -14.18 100.4 2.562 -25.71 90.72 2.614 -41.85 86.37 2.654 -60.62 85.63 2.678 -79.14 89.62 2.695 -96.48 93.92 2.706 -114.4 98.32 2.705 -132.4 102.4 2.704 -150.0 106.6 2.701 -168.2 109.9 2.699 -186.9 113.2 2.697 -205.0 116.3 2.703 -223.3 119.5 2.677 -242.2 124.6 2.671 -260.7 136.0 2.586 -274.3 147.6 2.655 -286.3 162.2 2.934 -297.0 180.1 3.192 -305.3 198.0 3.424 -311.6 216.3 3.605 -313.4 234.2 3.771 -315.6 252.3 3.92 -317.4 270.7 4.05 -318.9 289.1 4.156 -319.6 307.5 4.109 -319.7 325.9 4.208 -318.6 344.3 4.346 -316.6 362.7 4.906 -314.4 380.4 5.254 -311.4 397.7 5.339 -306.8 415.4 5.254 -302.2 432.7 5.108 -297.5 449.9 4.975 -292.7 467.4 4.904 -287.6 485.2 4.894 -282.0 503.5 4.918 -276.8 521.7 4.979 -272.2 539.2 5.025 -264.4 559.5 5.217 -261.1 577.1 5.521 -259.7 592.7 5.536 -260.0 609.2 5.673 -266.6 625.8 5.681 -275.3 637.2 5.98 -287.9 643.5 6.524 -304.4 647.8 7.731 -322.9 649.2 8.83 -341.2 645.5 9.758 -359.2 641.8 10.57 -377.1 637.5 11.32 -394.9 633.8 12.09 -413.0 630.2 12.87 -431.1 626.9 13.65 -449.2 623.2 14.43 -467.1 619.5 15.2 -484.9 615.9 15.99 -502.7 612.4 16.78 -520.8 609.1 17.56 -538.7 606.3 18.33 -556.6 603.1 19.09 -574.6 600.8 19.84 -592.7 596.6 20.53 -610.0 590.4 21.21 -626.5 586.1 21.66 -643.9 578.2 22.27 -660.2 565.8 23.26 -673.1 551.5 23.85 -684.5 537.3 24.29 -693.4 522.5 24.88 -701.2 502.6 26.11 -708.5 483.1 27.4 -715.0 465.6 28.76 -718.8 447.7 30.48 -721.0 429.6 32.79 -721.6 411.5 35.32 -721.8 393.4 38.14 -721.8 375.3 41.01 -721.1 357.2 43.63 -720.4 338.9 45.85 -719.5 320.6 47.65 -720.0 302.5 49.12 -721.8 284.2 49.91 -722.0 266.1 50.75 -721.8 248.0 51.6 -721.1 229.9 52.98 -719.5 211.4 54.62 -717.8 193.6 55.88 -716.9 181.0 56.93 -715.5 170.3 57.06 -717.5 159.7 57.14 -721.0 147.3 57.03 -725.2 134.0 56.99 -730.3 119.9 57.01 -733.3 106.6 57.88 -737.3 93.7 58.32 -738.9 79.87 57.82 -736.2 79.41 56.84 -725.4 77.53 54.88 -714.7 76.89 51.27 -700.9 68.47 48.1 -691.1 59.62 45.34 -683.6 47.72 44.12 -676.4 30.01 41.79 -672.2 11.54 39.43 -669.3 -6.463 36.79 -672.5 -24.68 34.26 -675.1 -42.89 31.75 -677.3 -61.71 29.48 -681.1 -85.61 27.17 -677.3 -108.9 25.76 -662.8 -126.4 24.6 -648.0 -139.1 23.79 -629.3 -144.8 22.49 -606.4 -147.4 21.33 -586.7 -145.9 20.34 -568.9 -142.3 19.44 -553.3 -130.3 18.0 -528.6 -113.8 15.9 -492.6 -104.1 14.73 -472.3 -97.49 13.85 -457.7 -91.04 12.82 -440.9 -86.09 11.67 -422.3 -85.55 10.82 -402.1 -87.88 10.06 -383.9 -95.84 9.198 -368.4 -107.3 8.613 -354.6 -121.1 8.209 -342.7 -137.0 8.053 -333.2 -153.3 7.908 -324.3 -170.0 7.788 -316.4 -186.6 7.674 -308.6 -203.2 7.56 -300.9 -220.1 7.47 -293.7 -236.8 7.35 -285.5 -253.0 7.234 -276.5 -269.2 6.995 -268.4 -284.8 6.757 -259.6 -300.1 6.612 -253.3 -313.8 6.511 -248.3 -327.9 6.508 -238.7 -328.8 6.546 -225.6 -324.0 6.535 -213.0 -314.0 6.51 -201.5 -299.1 6.324 -190.4 -283.3 6.095 -180.7 -267.9 5.805 -170.6 -252.8 5.539 -160.5 -237.7 5.251 -150.2 -222.7 5.056 -139.5 -207.9 4.936 -128.7 -192.7 4.93 -118.5 -177.7 4.997 -108.3 -162.6 5.143 -97.98 -147.5 5.369 -87.61 -132.3 5.653 -77.38 -116.4 6.003 -67.74 -100.5 6.361 -57.64 -82.59 6.8 -46.1'/>
209 
          <!-- ROUTE information for cam_car_chase-ROT-INTERP node:  [from cam_car_chase-TIMER.fraction_changed to set_fraction ] [from value_changed to carGroup.rotation ] [from value_changed to CAR-BODY-TX.rotation ] -->
          <OrientationInterpolator DEF='cam_car_chase-ROT-INTERPkey='0.0 0.0050 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05 0.055 0.06 0.065 0.07 0.075 0.08 0.085 0.09 0.095 0.1 0.105 0.11 0.115 0.12 0.125 0.13 0.135 0.14 0.145 0.15 0.155 0.16 0.165 0.17 0.175 0.18 0.185 0.19 0.195 0.2 0.205 0.21 0.215 0.22 0.225 0.23 0.235 0.24 0.245 0.25 0.255 0.26 0.265 0.27 0.275 0.28 0.285 0.29 0.295 0.3 0.305 0.31 0.315 0.32 0.325 0.33 0.335 0.34 0.345 0.35 0.355 0.36 0.365 0.37 0.375 0.38 0.385 0.39 0.395 0.4 0.405 0.41 0.415 0.42 0.425 0.43 0.435 0.44 0.445 0.45 0.455 0.46 0.465 0.47 0.475 0.48 0.485 0.49 0.495 0.5 0.505 0.51 0.515 0.52 0.525 0.53 0.535 0.54 0.545 0.55 0.555 0.56 0.565 0.57 0.575 0.58 0.585 0.59 0.595 0.6 0.605 0.61 0.615 0.62 0.625 0.63 0.635 0.64 0.645 0.65 0.655 0.66 0.665 0.67 0.675 0.68 0.685 0.69 0.695 0.7 0.705 0.71 0.715 0.72 0.725 0.73 0.735 0.74 0.745 0.75 0.755 0.76 0.765 0.77 0.775 0.78 0.785 0.79 0.795 0.8 0.805 0.81 0.815 0.82 0.825 0.83 0.835 0.84 0.845 0.85 0.855 0.86 0.865 0.87 0.875 0.88 0.885 0.89 0.895 0.9 0.905 0.91 0.915 0.92 0.925 0.93 0.935 0.94 0.945 0.95 0.955 0.96 0.965 0.97 0.975 0.98 0.985 0.99 0.995 1.0keyValue='0.006813 -0.9999 0.01227 -4.155 0.008468 -0.9999 0.01499 -4.17 0.0112 -0.9997 0.01951 -4.184 0.012 -0.9997 0.01954 -4.243 0.01241 -0.9997 0.01934 -4.282 0.0113 -0.9998 0.01751 -4.287 0.00833 -0.9999 0.01283 -4.293 0.005032 -1.0 0.007728 -4.296 1.064E-4 -1.0 1.6E-4 -4.315 -0.004939 -1.0 -0.007298 -4.331 -0.01123 -0.9998 -0.01653 -4.335 -0.01465 -0.9997 -0.0202 -4.396 -0.01819 -0.9996 -0.02355 -4.457 -0.01259 -0.9998 -0.01455 -4.568 -0.01216 -0.9998 -0.01333 -4.621 -0.01397 -0.9998 -0.01528 -4.623 0.02539 0.9993 0.02583 -1.589 0.0371 0.9987 0.0355 -1.528 0.04743 0.9978 0.04625 -1.548 0.04668 0.9979 0.04507 -1.538 0.04263 0.9982 0.04123 -1.539 0.01831 0.9997 0.01608 -1.442 0.002981 1.0 0.002377 -1.346 0.003686 1.0 0.002119 -1.044 0.0197 0.9998 0.006598 -0.6466 0.06883 0.9976 0.01236 -0.3561 0.1277 -0.9918 -0.009755 -0.1537 0.0265 -0.9996 -0.007593 -0.5582 0.00428 -1.0 -0.002994 -1.221 0.003623 -1.0 -0.003378 -1.501 0.003552 -1.0 -0.003945 -1.676 0.003677 -1.0 -0.004492 -1.77 0.003642 -1.0 -0.004669 -1.817 0.003532 -1.0 -0.004394 -1.787 0.003678 -1.0 -0.004347 -1.737 0.003838 -1.0 -0.004295 -1.683 0.00444 -1.0 -0.004325 -1.545 0.004366 -1.0 -0.004015 -1.487 0.003943 -1.0 -0.003682 -1.502 0.002829 -1.0 -0.002169 -1.308 0.001765 -1.0 -0.001138 -1.145 0.001966 -1.0 -9.92E-4 -0.9346 0.004464 -1.0 -0.001472 -0.6368 0.01489 -0.9999 -0.002438 -0.3246 0.0684 -0.9977 -0.002774 -0.08126 0.05839 0.9983 0.003113 -0.1067 0.02621 0.9997 0.003279 -0.249 0.02607 0.9997 0.003471 -0.2649 0.02794 0.9996 0.003665 -0.261 0.02929 0.9996 0.003668 -0.2492 0.03071 0.9995 0.003686 -0.239 0.03326 0.9994 0.003678 -0.2204 0.03103 0.9995 0.00367 -0.2355 0.02881 0.9996 0.00366 -0.2528 0.02226 0.9997 0.00383 -0.3409 0.01283 0.9999 0.003359 -0.5122 0.006523 1.0 0.002811 -0.8137 -0.001283 1.0 -6.491E-4 -0.9365 -0.005889 1.0 -0.003555 -1.086 -0.003506 1.0 -0.002509 -1.242 -0.002375 1.0 -0.001917 -1.358 -0.00105 1.0 -9.75E-4 -1.497 -5.828E-4 1.0 -5.423E-4 -1.499 0.0 1.0 0.0 -1.523 6.321E-4 1.0 6.21E-4 -1.553 -0.001247 -1.0 -0.001276 -4.689 -0.002221 -1.0 -0.002371 -4.647 6.834E-4 -1.0 7.693E-4 -4.594 0.002608 -1.0 0.003065 -4.552 0.005679 -1.0 0.00685 -4.526 0.001657 -1.0 0.002102 -4.476 -0.002623 -1.0 -0.003525 -4.421 -0.004588 -1.0 -0.006159 -4.422 -0.005234 -1.0 -0.007088 -4.414 -0.004443 -1.0 -0.006067 -4.406 -0.003333 -1.0 -0.004585 -4.399 -0.002337 -1.0 -0.003232 -4.394 -0.001732 -1.0 -0.002339 -4.417 -0.001067 -1.0 -0.001414 -4.434 -4.932E-4 -1.0 -6.638E-4 -4.42 0.00133 -1.0 0.001463 -4.617 -0.002762 1.0 -0.002598 -1.51 1.712E-4 1.0 1.324E-4 -1.317 -0.003318 1.0 -0.001938 -1.057 -0.008097 1.0 -0.003699 -0.857 -0.04174 0.9991 -0.01169 -0.5467 -0.1274 0.9917 -0.01805 -0.2839 -0.3406 0.9399 -0.0244 -0.1521 -0.9828 -0.1844 0.004405 -0.04859 -0.2223 -0.9748 0.01955 -0.18 -0.1959 -0.9805 0.01769 -0.1837 -0.1755 -0.9843 0.01672 -0.1929 -0.2006 -0.9795 0.01711 -0.1737 -0.2069 -0.9782 0.01709 -0.1686 -0.213 -0.9769 0.01709 -0.1639 -0.2005 -0.9796 0.01736 -0.1764 -0.2025 -0.9791 0.01743 -0.1754 -0.2127 -0.977 0.01741 -0.1671 -0.222 -0.9749 0.01722 -0.1588 -0.2296 -0.9731 0.01704 -0.1522 -0.2331 -0.9723 0.01676 -0.1476 -0.2018 -0.9793 0.01638 -0.1654 -0.1775 -0.984 0.01591 -0.1816 -0.1088 -0.9939 0.01501 -0.2757 -0.07828 -0.9968 0.01412 -0.3581 -0.0632 -0.9979 0.01267 -0.3964 -0.05145 -0.9986 0.01578 -0.5959 -0.04383 -0.9989 0.01929 -0.8299 -0.02789 -0.9995 0.01431 -0.9485 -0.02498 -0.9996 0.01456 -1.056 -0.03264 -0.9993 0.02078 -1.135 -0.04034 -0.9988 0.02832 -1.225 -0.04472 -0.9984 0.03358 -1.29 -0.05088 -0.9978 0.04226 -1.388 -0.05779 -0.997 0.05194 -1.467 -0.06605 -0.9958 0.06289 -1.526 -0.06953 -0.9953 0.06736 -1.544 -0.07211 -0.9949 0.07119 -1.563 -0.0676 -0.9954 0.06765 -1.576 -0.06018 -0.9964 0.05985 -1.569 -0.0499 -0.9976 0.049 -1.555 -0.04129 -0.9984 0.03873 -1.509 -0.03193 -0.9991 0.02935 -1.488 -0.02117 -0.9996 0.02068 -1.548 -0.02214 -0.9995 0.02215 -1.572 -0.02553 -0.9993 0.02612 -1.594 -0.03197 -0.9989 0.03307 -1.606 -0.03325 -0.9989 0.0339 -1.591 -0.0253 -0.9994 0.02416 -1.525 -0.01739 -0.9997 0.0154 -1.45 0.002328 -1.0 -0.001778 -1.304 0.005608 -1.0 -0.00414 -1.272 0.0096 -0.9999 -0.007223 -1.29 0.007995 -0.9999 -0.006446 -1.357 0.008529 -0.9999 -0.007984 -1.505 0.009671 -0.9999 -0.01052 -1.655 0.02633 -0.9989 -0.03954 -1.968 0.02941 -0.9971 -0.0705 -2.353 0.01406 -0.9956 -0.09264 -2.842 0.02508 -0.993 -0.1156 -2.717 0.03637 -0.9909 -0.1293 -2.598 0.05382 -0.993 -0.105 -2.2 0.05445 -0.9947 -0.08679 -2.026 0.04423 -0.9972 -0.06055 -1.882 0.06106 -0.9958 -0.06866 -1.692 0.06938 -0.9952 -0.06964 -1.579 0.08475 -0.9938 -0.07195 -1.414 0.07884 -0.9945 -0.06865 -1.438 0.07166 -0.9953 -0.06499 -1.478 0.05672 -0.9968 -0.05656 -1.571 0.0359 -0.9983 -0.04621 -1.822 0.01567 -0.9994 -0.02997 -2.178 0.01129 -0.9995 -0.02859 -2.39 0.006174 -0.9997 -0.02543 -2.665 0.003213 -0.9995 -0.03158 -2.939 4.052E-4 -0.9995 -0.03242 -3.117 -0.002454 -0.9995 -0.03144 -3.297 -0.004565 -0.9995 -0.03087 -3.435 -0.006414 -0.9995 -0.02982 -3.565 -0.006017 -0.9995 -0.03018 -3.535 -0.005782 -0.9995 -0.03043 -3.517 -0.004953 -0.9995 -0.03145 -3.454 -0.00336 -0.9995 -0.03152 -3.354 -0.001179 -0.9995 -0.03065 -3.218 0.001952 -0.9997 -0.02531 -2.988 0.004557 -0.9997 -0.02433 -2.771 0.007829 -0.9997 -0.02317 -2.49 0.007298 -0.9998 -0.0166 -2.313 0.006208 -0.9999 -0.01167 -2.164 0.004698 -1.0 -0.007807 -2.058 0.00454 -1.0 -0.007213 -2.018 0.004463 -1.0 -0.006813 -1.982 0.00443 -1.0 -0.006738 -1.978 0.004412 -1.0 -0.006705 -1.978 0.004378 -1.0 -0.006671 -1.98 0.004624 -1.0 -0.007342 -2.018 0.004843 -1.0 -0.007982 -2.051 0.005715 -0.9999 -0.00945 -2.054 0.005056 -0.9999 -0.008898 -2.108 0.003634 -1.0 -0.006937 -2.177 0.002201 -1.0 -0.005743 -2.41 6.766E-4 -1.0 -0.00403 -2.809 -6.182E-4 -1.0 -0.004311 -3.426 -0.001735 -1.0 -0.005669 -3.736 -0.002944 -1.0 -0.00691 -3.947 -0.004618 -0.9999 -0.009269 -4.066 -0.005489 -0.9999 -0.01031 -4.12 -0.005622 -0.9999 -0.01089 -4.094 -0.005248 -0.9999 -0.01027 -4.086 -0.004855 -0.9999 -0.00961 -4.077 -0.003567 -1.0 -0.007168 -4.065 -0.002444 -1.0 -0.004901 -4.067 -0.001167 -1.0 -0.002277 -4.089 -1.237E-4 -1.0 -2.417E-4 -4.088 9.202E-4 -1.0 0.001799 -4.087 0.001855 -1.0 0.003596 -4.094 0.002665 -1.0 0.005084 -4.107 0.003413 -1.0 0.006335 -4.13 0.003873 -1.0 0.00724 -4.124 0.004619 -1.0 0.008618 -4.126 0.006813 -0.9999 0.01227 -4.155'/>
210            <KeySensor DEF='keysensor'/>
211            <Switch DEF='DEBUG_TERRAINwhichChoice='0'>
212                 <Group DEF='TERRAIN-CONTAINER'>
213 
                    <!-- CollidableShape Road-v-001 is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='Road-v-001translation='124.936 -0.5 -461.607containerField='children'>
214                           <Shape containerField='shape'>
215 
                              <!-- Appearance ROAD-APP is a DEF node that has 4 USE nodes: USE_1, USE_2, USE_3, USE_4 -->
                              <Appearance DEF='ROAD-APP'>
216                                     <Material emissiveColor='1.0 0.0 0.0'/>
217                                </Appearance>
218                                <Box size='1250.0 1.0 800.0'/>
219                           </Shape>
220                      </CollidableShape>
221 
                    <!-- CollidableShape Road-v-002 is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='Road-v-002translation='-417.631 -0.5 24.7947containerField='children'>
222                           <Shape containerField='shape'>
223                                <Appearance USE='ROAD-APP'/>
224                                <Box size='200.0 1.0 250.0'/>
225                           </Shape>
226                      </CollidableShape>
227 
                    <!-- CollidableShape Road-v-003 is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='Road-v-003translation='675.143 -0.5 17.6217containerField='children'>
228                           <Shape containerField='shape'>
229                                <Appearance USE='ROAD-APP'/>
230                                <Box size='200.0 1.0 250.0'/>
231                           </Shape>
232                      </CollidableShape>
233 
                    <!-- CollidableShape Road-v-004 is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='Road-v-004translation='138.008 -0.5 23.1087containerField='children'>
234                           <Shape containerField='shape'>
235                                <Appearance USE='ROAD-APP'/>
236                                <Box size='1000.0 1.0 60.0'/>
237                           </Shape>
238                      </CollidableShape>
239 
                    <!-- CollidableShape Road-v-006 is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='Road-v-006rotation='0.0 0.0 -1.0 0.135494translation='347.056 4.87479 -376.17containerField='children'>
240                           <Shape containerField='shape'>
241                                <Appearance DEF='RAMP_APP'>
242                                     <Material diffuseColor='0.0 0.0 1.0'/>
243                                     <ImageTexture   url=' "originals/car/textures/wall-stone-001.jpg " "https://www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/originals/car/textures/wall-stone-001.jpg " '/>
244                                </Appearance>
245                                <Box size='90.0 1.0 70.0'/>
246                           </Shape>
247                      </CollidableShape>
248 
                    <!-- CollidableShape Road-v-007 is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='Road-v-007translation='301.193 1.4 -376.315containerField='children'>
249                           <Shape containerField='shape'>
250                                <Appearance USE='ROAD-APP'/>
251                                <Box size='3.0 20.0 70.0'/>
252                           </Shape>
253                      </CollidableShape>
254 
                    <!-- CollidableShape Sand-v-001 is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='Sand-v-001translation='101.232 -0.55 -31.8107containerField='children'>
255                           <Shape containerField='shape'>
256 
                              <!-- Appearance SAND-APP is a DEF node that has 1 USE node: USE_1 -->
                              <Appearance DEF='SAND-APP'>
257                                     <Material ambientIntensity='0.258621diffuseColor='0.58 0.27 0.01shininess='0.07specularColor='0.43 0.2 0.0'/>
258                                     <ImageTexture/>
259                                </Appearance>
260                                <Box size='1000.0 1.0 60.0'/>
261                           </Shape>
262                      </CollidableShape>
263 
                    <!-- CollidableShape Sand-v-002 is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='Sand-v-002translation='108.906 -0.55 93.8712containerField='children'>
264                           <Shape containerField='shape'>
265                                <Appearance USE='SAND-APP'/>
266                                <Box size='1000.0 1.0 100.0'/>
267                           </Shape>
268                      </CollidableShape>
269 
                    <!-- CollidableShape WALL-v-001a is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='WALL-v-001atranslation='750.0 10.0 -360.0containerField='children'>
270                           <Shape containerField='shape'>
271 
                              <!-- Appearance WALL-APP is a DEF node that has 5 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5 -->
                              <Appearance DEF='WALL-APP'>
272                                     <Material emissiveColor='0.5 0.5 0.5transparency='0.2'/>
273                                </Appearance>
274                                <Box size='1.0 20.0 1000.0'/>
275                           </Shape>
276                      </CollidableShape>
277 
                    <!-- CollidableShape WALL-v-001b is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='WALL-v-001btranslation='-500.0 10.0 -360.0containerField='children'>
278                           <Shape containerField='shape'>
279                                <Appearance USE='WALL-APP'/>
280                                <Box size='1.0 20.0 1000.0'/>
281                           </Shape>
282                      </CollidableShape>
283 
                    <!-- CollidableShape WALL-v-001c is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='WALL-v-001ctranslation='125.0 10.0 140.99containerField='children'>
284                           <Shape containerField='shape'>
285                                <Appearance USE='WALL-APP'/>
286                                <Box size='1250.0 20.0 1.0'/>
287                           </Shape>
288                      </CollidableShape>
289 
                    <!-- CollidableShape WALL-v-001d is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='WALL-v-001dtranslation='125.0 10.0 -859.733containerField='children'>
290                           <Shape containerField='shape'>
291                                <Appearance USE='WALL-APP'/>
292                                <Box size='1250.0 20.0 1.0'/>
293                           </Shape>
294                      </CollidableShape>
295 
                    <!-- CollidableShape Wall-v-002 is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='Wall-v-002translation='-163.362 24.0 -589.528containerField='children'>
296                           <Shape containerField='shape'>
297                                <Appearance USE='WALL-APP'/>
298                                <Box size='40.0 48.0 40.0'/>
299                           </Shape>
300                      </CollidableShape>
301 
                    <!-- CollidableShape Wall-v-003 is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='Wall-v-003translation='-100.093 19.0 -587.841containerField='children'>
302 
                         <!-- Shape SmallBulding 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 -->
                         <Shape DEF='SmallBuldingcontainerField='shape'>
303                                <Appearance USE='WALL-APP'/>
304                                <Box size='40.0 38.0 40.0'/>
305                           </Shape>
306                      </CollidableShape>
307 
                    <!-- CollidableShape Wall-v-004 is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='Wall-v-004translation='-314.972 19.0 -656.376containerField='children'>
308                           <Shape USE='SmallBuldingcontainerField='shape'/>
309                      </CollidableShape>
310 
                    <!-- CollidableShape Wall-v-005 is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='Wall-v-005translation='-314.723 19.0 -580.647containerField='children'>
311                           <Shape USE='SmallBuldingcontainerField='shape'/>
312                      </CollidableShape>
313 
                    <!-- CollidableShape Wall-v-006 is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='Wall-v-006translation='-269.737 19.0 -452.626containerField='children'>
314                           <Shape USE='SmallBuldingcontainerField='shape'/>
315                      </CollidableShape>
316 
                    <!-- CollidableShape Wall-v-007 is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='Wall-v-007translation='-217.782 19.0 -450.082containerField='children'>
317                           <Shape USE='SmallBuldingcontainerField='shape'/>
318                      </CollidableShape>
319 
                    <!-- CollidableShape Wall-v-008 is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='Wall-v-008translation='-83.8395 19.0 -351.859containerField='children'>
320                           <Shape USE='SmallBuldingcontainerField='shape'/>
321                      </CollidableShape>
322 
                    <!-- CollidableShape Wall-v-009 is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='Wall-v-009translation='-348.799 19.0 -511.969containerField='children'>
323                           <Shape USE='SmallBuldingcontainerField='shape'/>
324                      </CollidableShape>
325 
                    <!-- CollidableShape Wall-v-010 is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='Wall-v-010translation='-23.9812 19.0 -501.768containerField='children'>
326                           <Shape USE='SmallBuldingcontainerField='shape'/>
327                      </CollidableShape>
328 
                    <!-- CollidableShape Wall-v-011 is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='Wall-v-011translation='-101.759 19.0 -451.126containerField='children'>
329                           <Shape USE='SmallBuldingcontainerField='shape'/>
330                      </CollidableShape>
331                 </Group>
332            </Switch>
333            <Script DEF='physicsSectorScript'>
334                 <field name='sector1type='SFTimeaccessType='inputOnly'/>
335                 <field name='sector2type='SFTimeaccessType='inputOnly'/>
336                 <field name='sector3type='SFTimeaccessType='inputOnly'/>
337                 <field name='sector4type='SFTimeaccessType='inputOnly'/>
338                 <field name='sector5type='SFTimeaccessType='inputOnly'/>
339                 <field name='sector6type='SFTimeaccessType='inputOnly'/>
340                 <field name='sector7type='SFTimeaccessType='inputOnly'/>
341                 <field name='sector8type='SFTimeaccessType='inputOnly'/>
342                 <field name='sector9type='SFTimeaccessType='inputOnly'/>
343                 <field name='sector1Enabledtype='SFBoolaccessType='outputOnly'/>
344                 <field name='sector2Enabledtype='SFBoolaccessType='outputOnly'/>
345                 <field name='sector3Enabledtype='SFBoolaccessType='outputOnly'/>
346                 <field name='sector4Enabledtype='SFBoolaccessType='outputOnly'/>
347                 <field name='sector5Enabledtype='SFBoolaccessType='outputOnly'/>
348                 <field name='sector6Enabledtype='SFBoolaccessType='outputOnly'/>
349                 <field name='sector7Enabledtype='SFBoolaccessType='outputOnly'/>
350                 <field name='sector8Enabledtype='SFBoolaccessType='outputOnly'/>
351                 <field name='sector9Enabledtype='SFBoolaccessType='outputOnly'/>
  <![CDATA[
      
ecmascript:
    function sector1(val) {
       if (val) {
Browser.println('Physics Sector1');
        sector1Enabled = true;
        sector2Enabled = true;
        sector3Enabled = false;
        sector4Enabled = false;
        sector5Enabled = false;
        sector6Enabled = false;
        sector7Enabled = false;
        sector8Enabled = false;
        sector9Enabled = false;
       }
    }
    function sector2(val) {
       if (val) {
Browser.println('Physics Sector2');
        sector1Enabled = true;
        sector2Enabled = true;
        sector3Enabled = true;
        sector4Enabled = false;
        sector5Enabled = false;
        sector6Enabled = false;
        sector7Enabled = false;
        sector8Enabled = false;
        sector9Enabled = false;
       }
    }
    function sector3(val) {
       if (val) {
Browser.println('Physics Sector3');
        sector1Enabled = false;
        sector2Enabled = true;
        sector3Enabled = true;
        sector4Enabled = true;
        sector5Enabled = false;
        sector6Enabled = false;
        sector7Enabled = false;
        sector8Enabled = false;
        sector9Enabled = false;
       }
    }
    function sector4(val) {
       if (val) {
Browser.println('Physics Sector4');
        sector1Enabled = false;
        sector2Enabled = false;
        sector3Enabled = true;
        sector4Enabled = true;
        sector5Enabled = true;
        sector6Enabled = false;
        sector7Enabled = false;
        sector8Enabled = false;
        sector9Enabled = false;
       }
    }
    function sector5(val) {
       if (val) {
Browser.println('Physics Sector5');
        sector1Enabled = false;
        sector2Enabled = false;
        sector3Enabled = false;
        sector4Enabled = true;
        sector5Enabled = true;
        sector6Enabled = true;
        sector7Enabled = false;
        sector8Enabled = false;
        sector9Enabled = false;
       }
    }
    function sector6(val) {
       if (val) {
Browser.println('Physics Sector6');
        sector1Enabled = false;
        sector2Enabled = false;
        sector3Enabled = false;
        sector4Enabled = false;
        sector5Enabled = true;
        sector6Enabled = true;
        sector7Enabled = true;
        sector8Enabled = false;
        sector9Enabled = false;
       }
    }
    function sector7(val) {
       if (val) {
Browser.println('Physics Sector7');
        sector1Enabled = false;
        sector2Enabled = false;
        sector3Enabled = false;
        sector4Enabled = false;
        sector5Enabled = false;
        sector6Enabled = true;
        sector7Enabled = true;
        sector8Enabled = true;
        sector9Enabled = false;
       }
    }
    function sector8(val) {
       if (val) {
Browser.println('Physics Sector8');

        sector1Enabled = false;
        sector2Enabled = false;
        sector3Enabled = false;
        sector4Enabled = false;
        sector5Enabled = false;
        sector6Enabled = false;
        sector7Enabled = true;
        sector8Enabled = true;
        sector9Enabled = true;
       }
    }
    function sector9(val) {
       if (val) {
Browser.println('Physics Sector9');

        sector1Enabled = true;
        sector2Enabled = false;
        sector3Enabled = false;
        sector4Enabled = false;
        sector5Enabled = false;
        sector6Enabled = false;
        sector7Enabled = false;
        sector8Enabled = true;
        sector9Enabled = true;
       }
    }

    function sector9(val) {
       if (val) {
Browser.println('Physics Sector9');

        sector1Enabled = true;
        sector2Enabled = false;
        sector3Enabled = false;
        sector4Enabled = false;
        sector5Enabled = false;
        sector6Enabled = false;
        sector7Enabled = false;
        sector8Enabled = true;
        sector9Enabled = true;
       }
    }

    
]]>
353            </Script>
354 
          <!-- ROUTE information for BODY-COLLECTION node:  [from CAR-CONTROL-SCRIPT.enablePhysics to enabled ] [from CAR-CONTROL-SCRIPT.correctedContacts to set_contacts ] [from CAR-CONTROL-SCRIPT.connectJoints to joints ] -->
          <RigidBodyCollection DEF='BODY-COLLECTIONconstantForceMix='0.0050contactSurfaceThickness='0.0010enabled='falseiterations='20containerField='children'>
355 
356                      <Box USE='CHASSIS-BOXcontainerField='massDensityModel'/>
357 
                    <!-- CollidableShape CAR-BODY-GEOM is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='CAR-BODY-GEOMcontainerField='geometry'>
358                           <Shape containerField='shape'>
359                                <Box USE='CHASSIS-BOX'/>
360                           </Shape>
361                      </CollidableShape>
362                 </RigidBody>
363 
               <!-- RigidBody FRONT-LEFT-WHEEL-BODY is a DEF node that has 2 USE nodes: USE_1, USE_2
               <!-- ROUTE information for FRONT-LEFT-WHEEL-BODY node:  [from FRONT-LEFT-JOINT.body2Axis to finiteRotationAxis ] [from CAR-CONTROL-SCRIPT.enablePhysics to enabled ] [from CAR-CONTROL-SCRIPT.frontLeftWheelPosition_reset to position ] [from CAR-CONTROL-SCRIPT.frontLeftWheelOrientation_reset to orientation ] [from position to FRONT-LEFT-WHEEL-TX.translation ] [from orientation to FRONT-LEFT-WHEEL-TX.rotation ] [from position to FRONT-LEFT-WHEEL-TX-DEBUG-HINGE.translation ] [from position to FRONT-LEFT-WHEEL-TX-DEBUG-MAX.translation ] [from position to FRONT-LEFT-WHEEL-TX-DEBUG-MIN.translation ] -->
               <RigidBody DEF='FRONT-LEFT-WHEEL-BODYangularDampingFactor='0autoDamp='truecontainerField='bodiesenabled='falsemass='20.0position='-0.9 1.5 -2.5useFiniteRotation='true'>
364                      <Sphere USE='WHEEL-MASScontainerField='massDensityModel'/>
365 
                    <!-- CollidableShape FRONT-LEFT-WHEEL-GEOM is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='FRONT-LEFT-WHEEL-GEOMcontainerField='geometry'>
366 
                         <!-- Shape WHEEL-GEOM is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
                         <Shape DEF='WHEEL-GEOMcontainerField='shape'>
367 
                              <!-- Sphere WHEEL-MASS is a DEF node that has 4 USE nodes: USE_1, USE_2, USE_3, USE_4 -->
                              <Sphere DEF='WHEEL-MASSradius='0.5'/>
368                           </Shape>
369                      </CollidableShape>
370                 </RigidBody>
371 
               <!-- RigidBody FRONT-RIGHT-WHEEL-BODY is a DEF node that has 2 USE nodes: USE_1, USE_2
               <!-- ROUTE information for FRONT-RIGHT-WHEEL-BODY node:  [from FRONT-RIGHT-JOINT.body2Axis to finiteRotationAxis ] [from CAR-CONTROL-SCRIPT.enablePhysics to enabled ] [from CAR-CONTROL-SCRIPT.frontRightWheelPosition_reset to position ] [from CAR-CONTROL-SCRIPT.frontRightWheelOrientation_reset to orientation ] [from position to FRONT-RIGHT-WHEEL-TX.translation ] [from orientation to FRONT-RIGHT-WHEEL-TX.rotation ] [from position to FRONT-RIGHT-WHEEL-TX-DEBUG-HINGE.translation ] [from position to FRONT-RIGHT-WHEEL-TX-DEBUG-MAX.translation ] [from position to FRONT-RIGHT-WHEEL-TX-DEBUG-MIN.translation ] -->
               <RigidBody DEF='FRONT-RIGHT-WHEEL-BODYangularDampingFactor='0autoDamp='truecontainerField='bodiesenabled='falsemass='20.0position='0.9 1.5 -2.5useFiniteRotation='true'>
372                      <Sphere USE='WHEEL-MASScontainerField='massDensityModel'/>
373 
                    <!-- CollidableShape FRONT-RIGHT-WHEEL-GEOM is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='FRONT-RIGHT-WHEEL-GEOMcontainerField='geometry'>
374                           <Shape USE='WHEEL-GEOMcontainerField='shape'/>
375                      </CollidableShape>
376                 </RigidBody>
377 
               <!-- RigidBody BACK-LEFT-WHEEL-BODY is a DEF node that has 2 USE nodes: USE_1, USE_2
               <!-- ROUTE information for BACK-LEFT-WHEEL-BODY node:  [from BACK-LEFT-JOINT.body2Axis to finiteRotationAxis ] [from CAR-CONTROL-SCRIPT.enablePhysics to enabled ] [from CAR-CONTROL-SCRIPT.backLeftWheelPosition_reset to position ] [from CAR-CONTROL-SCRIPT.backLeftWheelOrientation_reset to orientation ] [from position to BACK-LEFT-WHEEL-TX.translation ] [from orientation to BACK-LEFT-WHEEL-TX.rotation ] -->
               <RigidBody DEF='BACK-LEFT-WHEEL-BODYangularDampingFactor='0autoDamp='truecontainerField='bodiesenabled='falsemass='20.0position='-0.9 1.5 2.5useFiniteRotation='true'>
378                      <Sphere USE='WHEEL-MASScontainerField='massDensityModel'/>
379 
                    <!-- CollidableShape BACK-LEFT-WHEEL-GEOM is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='BACK-LEFT-WHEEL-GEOMcontainerField='geometry'>
380                           <Shape USE='WHEEL-GEOMcontainerField='shape'/>
381                      </CollidableShape>
382                 </RigidBody>
383 
               <!-- RigidBody BACK-RIGHT-WHEEL-BODY is a DEF node that has 2 USE nodes: USE_1, USE_2
               <!-- ROUTE information for BACK-RIGHT-WHEEL-BODY node:  [from BACK-RIGHT-JOINT.body2Axis to finiteRotationAxis ] [from CAR-CONTROL-SCRIPT.enablePhysics to enabled ] [from CAR-CONTROL-SCRIPT.backRightWheelPosition_reset to position ] [from CAR-CONTROL-SCRIPT.backRightWheelOrientation_reset to orientation ] [from position to BACK-RIGHT-WHEEL-TX.translation ] [from orientation to BACK-RIGHT-WHEEL-TX.rotation ] -->
               <RigidBody DEF='BACK-RIGHT-WHEEL-BODYangularDampingFactor='0autoDamp='truecontainerField='bodiesenabled='falsemass='20.0position='0.9 1.5 2.5useFiniteRotation='true'>
384                      <Sphere USE='WHEEL-MASScontainerField='massDensityModel'/>
385 
                    <!-- CollidableShape BACK-RIGHT-WHEEL-GEOM is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <CollidableShape DEF='BACK-RIGHT-WHEEL-GEOMcontainerField='geometry'>
386                           <Shape USE='WHEEL-GEOMcontainerField='shape'/>
387                      </CollidableShape>
388                 </RigidBody>
389            </RigidBodyCollection>
390 
          <!-- ROUTE information for COLLISION-OUTPUT node:  [from contacts to CAR-CONTROL-SCRIPT.collisionContacts ] -->
          <CollisionSensor DEF='COLLISION-OUTPUT'>
391 
               <!-- ROUTE information for COLLISION-GROUP node:  [from CAR-CONTROL-SCRIPT.enablePhysics to enabled ] -->
               <CollisionCollection DEF='COLLISION-GROUPbounce='0.3containerField='colliderenabled='falsefrictionCoefficients='500.0 500.0minBounceSpeed='0.3softnessConstantForceMix='0.0010'>
392                      <CollidableShape USE='FRONT-LEFT-WHEEL-GEOMcontainerField='collidables'/>
393                      <CollidableShape USE='FRONT-RIGHT-WHEEL-GEOMcontainerField='collidables'/>
394                      <CollidableShape USE='BACK-LEFT-WHEEL-GEOMcontainerField='collidables'/>
395                      <CollidableShape USE='BACK-RIGHT-WHEEL-GEOMcontainerField='collidables'/>
396                      <CollidableShape USE='CAR-BODY-GEOMcontainerField='collidables'/>
397                      <CollidableShape USE='Road-v-001containerField='collidables'/>
398                      <CollidableShape USE='Road-v-002containerField='collidables'/>
399                      <CollidableShape USE='Road-v-003containerField='collidables'/>
400                      <CollidableShape USE='Road-v-004containerField='collidables'/>
401                      <CollidableShape USE='Road-v-006containerField='collidables'/>
402                      <CollidableShape USE='Road-v-007containerField='collidables'/>
403                      <CollidableShape USE='Sand-v-001containerField='collidables'/>
404                      <CollidableShape USE='Sand-v-002containerField='collidables'/>
405                      <CollidableShape USE='WALL-v-001acontainerField='collidables'/>
406                      <CollidableShape USE='WALL-v-001bcontainerField='collidables'/>
407                      <CollidableShape USE='WALL-v-001ccontainerField='collidables'/>
408                      <CollidableShape USE='WALL-v-001dcontainerField='collidables'/>
409                      <CollidableShape USE='Wall-v-002containerField='collidables'/>
410                      <CollidableShape USE='Wall-v-003containerField='collidables'/>
411                      <CollidableShape USE='Wall-v-004containerField='collidables'/>
412                      <CollidableShape USE='Wall-v-005containerField='collidables'/>
413                      <CollidableShape USE='Wall-v-006containerField='collidables'/>
414                      <CollidableShape USE='Wall-v-007containerField='collidables'/>
415                      <CollidableShape USE='Wall-v-008containerField='collidables'/>
416                      <CollidableShape USE='Wall-v-009containerField='collidables'/>
417                      <CollidableShape USE='Wall-v-010containerField='collidables'/>
418                      <CollidableShape USE='Wall-v-011containerField='collidables'/>
419                 </CollisionCollection>
420            </CollisionSensor>
421 
          <!-- ROUTE information for CAR-CONTROL-SCRIPT node:  [from WHEEL.wheelX to wheelDirectionInput ] [from WHEEL.throttleSlider to wheelAcceleratorInput ] [from WHEEL.button2 to reverseSelected ] [from WHEEL.button3 to resetRequest ] [from GAMEPAD.leftStickX to wheelDirectionInput ] [from GAMEPAD.rightStickY to wheelAcceleratorInput ] [from GAMEPAD.l1Button to reverseSelected ] [from GAMEPAD.r1Button to resetRequest ] [from KEYSC.dir to wheelDirectionInput ] [from KEYSC.accel to wheelAcceleratorInput ] [from KEYSC.reverse to reverseSelected ] [from KEYSC.reset to resetRequest ] [from COLLISION-OUTPUT.contacts to collisionContacts ] [from CAR-BODY.linearVelocity to carVelocity ] [from CAR-BODY.orientation to carOrientation ] [from FRONT-LEFT-JOINT.body2Axis to frontWheelOrientation ] [from BACK-LEFT-JOINT.body2Axis to rearWheelOrientation ] [from FRONT-LEFT-JOINT.hinge1Angle to currentSteeringAngle ] [from enablePhysics to BODY-COLLECTION.enabled ] [from enablePhysics to COLLISION-GROUP.enabled ] [from enablePhysics to CAR-BODY.enabled ] [from enablePhysics to FRONT-LEFT-WHEEL-BODY.enabled ] [from enablePhysics to FRONT-RIGHT-WHEEL-BODY.enabled ] [from enablePhysics to BACK-LEFT-WHEEL-BODY.enabled ] [from enablePhysics to BACK-RIGHT-WHEEL-BODY.enabled ] [from chassisPosition_reset to CAR-BODY.position ] [from chassisOrientation_reset to CAR-BODY.orientation ] [from frontLeftWheelPosition_reset to FRONT-LEFT-WHEEL-BODY.position ] [from frontLeftWheelPosition_reset to FRONT-LEFT-JOINT.anchorPoint ] [from frontLeftWheelOrientation_reset to FRONT-LEFT-WHEEL-BODY.orientation ] [from frontRightWheelPosition_reset to FRONT-RIGHT-WHEEL-BODY.position ] [from frontRightWheelPosition_reset to FRONT-RIGHT-JOINT.anchorPoint ] [from frontRightWheelOrientation_reset to FRONT-RIGHT-WHEEL-BODY.orientation ] [from backLeftWheelPosition_reset to BACK-LEFT-WHEEL-BODY.position ] [from backLeftWheelPosition_reset to BACK-LEFT-JOINT.anchorPoint ] [from backLeftWheelOrientation_reset to BACK-LEFT-WHEEL-BODY.orientation ] [from backRightWheelPosition_reset to BACK-RIGHT-WHEEL-BODY.position ] [from backRightWheelPosition_reset to BACK-RIGHT-JOINT.anchorPoint ] [from backRightWheelOrientation_reset to BACK-RIGHT-WHEEL-BODY.orientation ] [from frontWheelMinStop to FRONT-LEFT-JOINT.minAngle1 ] [from frontWheelMinStop to FRONT-RIGHT-JOINT.minAngle1 ] [from frontWheelMaxStop to FRONT-LEFT-JOINT.maxAngle1 ] [from frontWheelMaxStop to FRONT-RIGHT-JOINT.maxAngle1 ] [from frontLeftWheelSpeed to FRONT-LEFT-JOINT.desiredAngularVelocity2 ] [from frontRightWheelSpeed to FRONT-RIGHT-JOINT.desiredAngularVelocity2 ] [from rearLeftWheelSpeed to BACK-LEFT-JOINT.desiredAngularVelocity2 ] [from rearRightWheelSpeed to BACK-RIGHT-JOINT.desiredAngularVelocity2 ] [from frontWheelTorque to FRONT-LEFT-JOINT.maxTorque2 ] [from frontWheelTorque to FRONT-RIGHT-JOINT.maxTorque2 ] [from rearWheelTorque to BACK-LEFT-JOINT.maxTorque2 ] [from rearWheelTorque to BACK-RIGHT-JOINT.maxTorque2 ] [from frontLeftAxleAxis to FRONT-LEFT-JOINT.axis2 ] [from frontRightAxleAxis to FRONT-RIGHT-JOINT.axis2 ] [from rearLeftAxleAxis to BACK-LEFT-JOINT.axis2 ] [from rearRightAxleAxis to BACK-RIGHT-JOINT.axis2 ] [from frictionForces to CAR-BODY.forces ] [from correctedContacts to BODY-COLLECTION.set_contacts ] [from correctedChassisOrientation to CAR-BODY.orientation ] [from connectJoints to BODY-COLLECTION.joints ] [from speed to UI-CONTROL-SCRIPT.speed ] [from revs to UI-CONTROL-SCRIPT.revs ] [from brakesApplied to UI-CONTROL-SCRIPT.brakesApplied ] [from reversing to UI-CONTROL-SCRIPT.reversing ] [from chassisPosition_reset to CHASSIS-VIEW.position ] [from chassisOrientation_reset to CHASSIS-VIEW.orientation ] [from chassisPosition_reset to CAMERA-CONTROL-SCRIPT.resetPosition ] [from chassisOrientation_reset to CAMERA-CONTROL-SCRIPT.resetOrientation ] -->
          <Script DEF='CAR-CONTROL-SCRIPTdirectOutput='true'   url=' "originals/car/CarControlScript.class" "https://www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/originals/car/CarControlScript.class" '>
422                 <field name='resetRequesttype='SFBoolaccessType='inputOnly'/>
423                 <field name='startingPositiontype='SFVec3faccessType='inputOutput'/>
424                 <field name='startingOrientationtype='SFRotationaccessType='inputOutput'/>
425                 <field name='wheelBodyRadiustype='SFFloataccessType='initializeOnly'/>
426                 <field name='chassisBodyDimensionstype='SFVec3faccessType='initializeOnly'/>
427                 <field name='speedLimittype='SFFloataccessType='initializeOnly'/>
428                 <field name='steeringLimitAngletype='SFFloataccessType='initializeOnly'/>
429                 <field name='steeringDeadspottype='SFFloataccessType='initializeOnly'/>
430                 <field name='maxEngineTorquetype='SFFloataccessType='initializeOnly'/>
431                 <field name='maxBrakingTorquetype='SFFloataccessType='initializeOnly'/>
432                 <field name='maxEngineRevstype='SFFloataccessType='initializeOnly'/>
433                 <field name='roadFrictionCoefficienttype='SFFloataccessType='inputOutput'/>
434                 <field name='wallFrictionCoefficienttype='SFFloataccessType='inputOutput'/>
435                 <field name='sandFrictionCoefficienttype='SFFloataccessType='inputOutput'/>
436                 <field name='grassFrictionCoefficienttype='SFFloataccessType='inputOutput'/>
437                 <field name='otherFrictionCoefficienttype='SFFloataccessType='inputOutput'/>
438                 <field name='sideSlipCoefficienttype='SFFloataccessType='inputOutput'/>
439                 <field name='brakeBiastype='SFFloataccessType='inputOutput'/>
440                 <field name='engineFrontPercentagetype='SFFloataccessType='inputOutput'/>
441                 <field name='engineRearPercentagetype='SFFloataccessType='inputOutput'/>
442                 <field name='dragCoefficienttype='SFFloataccessType='inputOutput'/>
443                 <field name='downforceCoefficienttype='SFFloataccessType='inputOutput'/>
444                 <field name='reverseSelectedtype='SFBoolaccessType='inputOnly'/>
445                 <field name='carVelocitytype='SFVec3faccessType='inputOnly'/>
446                 <field name='carOrientationtype='SFRotationaccessType='inputOnly'/>
447                 <field name='currentSteeringAngletype='SFFloataccessType='inputOnly'/>
448                 <field name='wheelAcceleratorInputtype='SFFloataccessType='inputOnly'/>
449                 <field name='wheelDirectionInputtype='SFFloataccessType='inputOnly'/>
450                 <field name='frontWheelOrientationtype='SFVec3faccessType='inputOnly'/>
451                 <field name='rearWheelOrientationtype='SFVec3faccessType='inputOnly'/>
452                 <field name='correctedChassisOrientationtype='SFRotationaccessType='outputOnly'/>
453                 <field name='frontWheelMinStoptype='SFFloataccessType='outputOnly'/>
454                 <field name='frontWheelMaxStoptype='SFFloataccessType='outputOnly'/>
455                 <field name='frontLeftWheelSpeedtype='SFFloataccessType='outputOnly'/>
456                 <field name='frontRightWheelSpeedtype='SFFloataccessType='outputOnly'/>
457                 <field name='rearLeftWheelSpeedtype='SFFloataccessType='outputOnly'/>
458                 <field name='rearRightWheelSpeedtype='SFFloataccessType='outputOnly'/>
459                 <field name='frontWheelTorquetype='SFFloataccessType='outputOnly'/>
460                 <field name='rearWheelTorquetype='SFFloataccessType='outputOnly'/>
461                 <field name='frontLeftAxleAxistype='SFVec3faccessType='outputOnly'/>
462                 <field name='frontRightAxleAxistype='SFVec3faccessType='outputOnly'/>
463                 <field name='rearLeftAxleAxistype='SFVec3faccessType='outputOnly'/>
464                 <field name='rearRightAxleAxistype='SFVec3faccessType='outputOnly'/>
465                 <field name='frictionForcestype='MFVec3faccessType='outputOnly'/>
466                 <field name='chassisPosition_resettype='SFVec3faccessType='outputOnly'/>
467                 <field name='chassisOrientation_resettype='SFRotationaccessType='outputOnly'/>
468                 <field name='frontLeftWheelPosition_resettype='SFVec3faccessType='outputOnly'/>
469                 <field name='frontLeftWheelOrientation_resettype='SFRotationaccessType='outputOnly'/>
470                 <field name='frontRightWheelPosition_resettype='SFVec3faccessType='outputOnly'/>
471                 <field name='frontRightWheelOrientation_resettype='SFRotationaccessType='outputOnly'/>
472                 <field name='backLeftWheelPosition_resettype='SFVec3faccessType='outputOnly'/>
473                 <field name='backLeftWheelOrientation_resettype='SFRotationaccessType='outputOnly'/>
474                 <field name='backRightWheelPosition_resettype='SFVec3faccessType='outputOnly'/>
475                 <field name='backRightWheelOrientation_resettype='SFRotationaccessType='outputOnly'/>
476                 <field name='enablePhysicstype='SFBoolaccessType='outputOnly'/>
477                 <field name='speedtype='SFFloataccessType='outputOnly'/>
478                 <field name='revstype='SFFloataccessType='outputOnly'/>
479                 <field name='brakesAppliedtype='SFBoolaccessType='outputOnly'/>
480                 <field name='reversingtype='SFBoolaccessType='outputOnly'/>
481                 <field name='chassistype='SFNodeaccessType='initializeOnly'>
482                      <CollidableShape USE='CAR-BODY-GEOMcontainerField='children'/>
483                 </field>
484                 <field name='frontLeftWheeltype='SFNodeaccessType='initializeOnly'>
485                      <CollidableShape USE='FRONT-LEFT-WHEEL-GEOMcontainerField='children'/>
486                 </field>
487                 <field name='frontRightWheeltype='SFNodeaccessType='initializeOnly'>
488                      <CollidableShape USE='FRONT-RIGHT-WHEEL-GEOMcontainerField='children'/>
489                 </field>
490                 <field name='backLeftWheeltype='SFNodeaccessType='initializeOnly'>
491                      <CollidableShape USE='BACK-LEFT-WHEEL-GEOMcontainerField='children'/>
492                 </field>
493                 <field name='backRightWheeltype='SFNodeaccessType='initializeOnly'>
494                      <CollidableShape USE='BACK-RIGHT-WHEEL-GEOMcontainerField='children'/>
495                 </field>
496                 <field name='bigTerrainBoxtype='MFNodeaccessType='initializeOnly'/>
497                 <field name='roadTerraintype='MFNodeaccessType='initializeOnly'>
498                      <CollidableShape USE='Road-v-001containerField='children'/>
499                      <CollidableShape USE='Road-v-002containerField='children'/>
500                      <CollidableShape USE='Road-v-003containerField='children'/>
501                      <CollidableShape USE='Road-v-004containerField='children'/>
502                      <CollidableShape USE='Road-v-006containerField='children'/>
503                      <CollidableShape USE='Road-v-007containerField='children'/>
504                 </field>
505                 <field name='sandTerraintype='MFNodeaccessType='initializeOnly'>
506                      <CollidableShape USE='Sand-v-001containerField='children'/>
507                      <CollidableShape USE='Sand-v-002containerField='children'/>
508                 </field>
509                 <field name='grassTerraintype='MFNodeaccessType='initializeOnly'/>
510                 <field name='wallTerraintype='MFNodeaccessType='initializeOnly'>
511                      <CollidableShape USE='WALL-v-001acontainerField='children'/>
512                      <CollidableShape USE='WALL-v-001bcontainerField='children'/>
513                      <CollidableShape USE='WALL-v-001ccontainerField='children'/>
514                      <CollidableShape USE='WALL-v-001dcontainerField='children'/>
515                      <CollidableShape USE='Wall-v-002containerField='children'/>
516                      <CollidableShape USE='Wall-v-003containerField='children'/>
517                      <CollidableShape USE='Wall-v-004containerField='children'/>
518                      <CollidableShape USE='Wall-v-005containerField='children'/>
519                      <CollidableShape USE='Wall-v-006containerField='children'/>
520                      <CollidableShape USE='Wall-v-007containerField='children'/>
521                      <CollidableShape USE='Wall-v-008containerField='children'/>
522                      <CollidableShape USE='Wall-v-009containerField='children'/>
523                      <CollidableShape USE='Wall-v-010containerField='children'/>
524                      <CollidableShape USE='Wall-v-011containerField='children'/>
525                 </field>
526                 <field name='bodiestype='MFNodeaccessType='initializeOnly'>
527                      <RigidBody USE='CAR-BODYcontainerField='bodies'/>
528                      <RigidBody USE='FRONT-LEFT-WHEEL-BODYcontainerField='bodies'/>
529                      <RigidBody USE='FRONT-RIGHT-WHEEL-BODYcontainerField='bodies'/>
530                      <RigidBody USE='BACK-LEFT-WHEEL-BODYcontainerField='bodies'/>
531                      <RigidBody USE='BACK-RIGHT-WHEEL-BODYcontainerField='bodies'/>
532                 </field>
533                 <field name='jointstype='MFNodeaccessType='initializeOnly'>
534 
535                           <RigidBody USE='CAR-BODYcontainerField='body1'/>
536                           <RigidBody USE='FRONT-LEFT-WHEEL-BODYcontainerField='body2'/>
537                      </DoubleAxisHingeJoint>
538 
                    <!-- ROUTE information for FRONT-RIGHT-JOINT node:  [from CAR-CONTROL-SCRIPT.frontRightWheelPosition_reset to anchorPoint ] [from CAR-CONTROL-SCRIPT.frontWheelMinStop to minAngle1 ] [from CAR-CONTROL-SCRIPT.frontWheelMaxStop to maxAngle1 ] [from CAR-CONTROL-SCRIPT.frontRightWheelSpeed to desiredAngularVelocity2 ] [from CAR-CONTROL-SCRIPT.frontWheelTorque to maxTorque2 ] [from CAR-CONTROL-SCRIPT.frontRightAxleAxis to axis2 ] [from body2Axis to FRONT-RIGHT-WHEEL-BODY.finiteRotationAxis ] [from hinge1Angle to FRONT-RIGHT-HINGE-ANGLE-INTERP.set_fraction ] [from maxAngle1 to FRONT-RIGHT-MAXSTOP-ANGLE-INTERP.set_fraction ] [from minAngle1 to FRONT-RIGHT-MINSTOP-ANGLE-INTERP.set_fraction ] -->
                    <DoubleAxisHingeJoint DEF='FRONT-RIGHT-JOINTanchorPoint='0.9 1.5 -2.5axis1='0.0 1.0 0.0axis2='1.0 0.0 0.0containerField='jointsforceOutput='"body2Axis" "hinge1Angle"maxAngle1='0.0maxTorque2='100.0minAngle1='0.0stop1ErrorCorrection='0.98suspensionErrorCorrection='0.9suspensionForce='0.0030'>
539                           <RigidBody USE='CAR-BODYcontainerField='body1'/>
540                           <RigidBody USE='FRONT-RIGHT-WHEEL-BODYcontainerField='body2'/>
541                      </DoubleAxisHingeJoint>
542 
                    <!-- ROUTE information for BACK-LEFT-JOINT node:  [from CAR-CONTROL-SCRIPT.backLeftWheelPosition_reset to anchorPoint ] [from CAR-CONTROL-SCRIPT.rearLeftWheelSpeed to desiredAngularVelocity2 ] [from CAR-CONTROL-SCRIPT.rearWheelTorque to maxTorque2 ] [from CAR-CONTROL-SCRIPT.rearLeftAxleAxis to axis2 ] [from body2Axis to CAR-CONTROL-SCRIPT.rearWheelOrientation ] [from body2Axis to BACK-LEFT-WHEEL-BODY.finiteRotationAxis ] -->
                    <DoubleAxisHingeJoint DEF='BACK-LEFT-JOINTanchorPoint='-0.9 1.5 2.5axis1='0.0 1.0 0.0axis2='-1.0 0.0 0.0containerField='jointsforceOutput='"body2Axis"maxAngle1='0.0maxTorque2='100.0minAngle1='0.0stop1ErrorCorrection='0.98suspensionErrorCorrection='0.9suspensionForce='0.0030'>
543                           <RigidBody USE='CAR-BODYcontainerField='body1'/>
544                           <RigidBody USE='BACK-LEFT-WHEEL-BODYcontainerField='body2'/>
545                      </DoubleAxisHingeJoint>
546 
                    <!-- ROUTE information for BACK-RIGHT-JOINT node:  [from CAR-CONTROL-SCRIPT.backRightWheelPosition_reset to anchorPoint ] [from CAR-CONTROL-SCRIPT.rearRightWheelSpeed to desiredAngularVelocity2 ] [from CAR-CONTROL-SCRIPT.rearWheelTorque to maxTorque2 ] [from CAR-CONTROL-SCRIPT.rearRightAxleAxis to axis2 ] [from body2Axis to BACK-RIGHT-WHEEL-BODY.finiteRotationAxis ] -->
                    <DoubleAxisHingeJoint DEF='BACK-RIGHT-JOINTanchorPoint='0.9 1.5 2.5axis1='0.0 1.0 0.0axis2='1.0 0.0 0.0containerField='jointsforceOutput='"body2Axis"maxAngle1='0.0maxTorque2='100.0minAngle1='0.0stop1ErrorCorrection='0.98suspensionErrorCorrection='0.9suspensionForce='0.0030'>
547                           <RigidBody USE='CAR-BODYcontainerField='body1'/>
548                           <RigidBody USE='BACK-RIGHT-WHEEL-BODYcontainerField='body2'/>
549                      </DoubleAxisHingeJoint>
550                 </field>
551                 <field name='collisionContactstype='MFNodeaccessType='inputOnly'/>
552                 <field name='correctedContactstype='MFNodeaccessType='outputOnly'/>
553                 <field name='connectJointstype='MFNodeaccessType='outputOnly'/>
554            </Script>
555 
556 
557 
          <!-- ROUTE information for KEYS node:  [from actionKeyPress to KEYSC.actionKeyPress ] -->
          <KeySensor DEF='KEYS'/>
558 
          <!-- ROUTE information for KEYTIMER node:  [from fraction_changed to KEYSC.decay ] -->
          <TimeSensor DEF='KEYTIMERloop='true'/>
559 
560                 <field name='actionKeyPresstype='SFInt32accessType='inputOnly'/>
561                 <field name='decaytype='SFFloataccessType='inputOnly'/>
562                 <field name='dirtype='SFFloataccessType='outputOnly'/>
563                 <field name='acceltype='SFFloataccessType='outputOnly'/>
564                 <field name='reversetype='SFBoolaccessType='outputOnly'/>
565                 <field name='resettype='SFBoolaccessType='outputOnly'/>
  <![CDATA[
      
ecmascript:
    var accelVar = 0;
    var dirVar = 0;
    var accelFactor = 0.1;
    var dirFactor = 0.5;
    var decayVar = 0.1;
    var applyDecay = false;
    
    function decay(val) {
       if (!applyDecay)
          return;
          
       if (dir >= decayVar) {
          dir = dir - decayVar;          
          if (dir < -1)
             dir = -1;
       } else if (dir <= -decayVar) {
          dir = dir + decayVar;
          
          if (dir > 1)
             dir = 1;
       } else {
          dir = 0;
          
          applyDecay = false;
       }   
    }
    
    function actionKeyPress(val) {
        applyDecay = true;
        
    	if (val == 17) {
    	   accelVar = accelVar + accelFactor;
    	   
    	   if (accelVar > 1)
    	      accelVar = 1.0;
    	      
    	   accel = accelVar;
    	} else if (val == 18) {
    	   accelVar = accelVar - accelFactor;
    	   
    	   if (accelVar < -1)
    	      accelVar = -1.0;
    	      
    	   accel = accelVar;
    	} else if (val == 19) {
    	   dirVar = dirVar - dirFactor;
    	   
    	   if (dirVar < -1)
    	      dirVar = -1.0;
    	      
    	   dir = dirVar;
    	} else if (val == 20) {
    	   dirVar = dirVar + dirFactor;
    	   
    	   if (dirVar > 1)
    	      dirVar = 1.0;
    	      
    	   dir = dirVar;
    	} else {
    	   dir = 0;
    	   accel = 0;
    	}
    }

    
]]>
567            </Script>
568 
569                 <field name='speedtype='SFFloataccessType='inputOnly'/>
570                 <field name='revstype='SFFloataccessType='inputOnly'/>
571                 <field name='brakesAppliedtype='SFBoolaccessType='inputOnly'/>
572                 <field name='reversingtype='SFBoolaccessType='inputOnly'/>
573                 <field name='maxSpeedtype='SFFloataccessType='initializeOnly'/>
574                 <field name='brakeLightColortype='SFColoraccessType='outputOnly'/>
575                 <field name='reverseLightColortype='SFColoraccessType='outputOnly'/>
576                 <field name='speedScaletype='SFVec3faccessType='outputOnly'/>
577                 <field name='speedFractiontype='SFFloataccessType='outputOnly'/>
  <![CDATA[
      
ecmascript:
    function brakesApplied(val) {
      if(val)
        brakeLightColor.r = 1;
      else
        brakeLightColor.r = 0.1;
    }

    function reversing(val) {
      if(val) {
        reverseLightColor.r = 1;
        reverseLightColor.g = 1;
        reverseLightColor.b = 1;
      } else {
        reverseLightColor.r = 0.1;
        reverseLightColor.g = 0.1;
        reverseLightColor.b = 0.1;
      }
    }

    function speed(val) {
      speedScale.x = 1;
      speedScale.y = val / maxSpeed;
      speedScale.z = 1;
      speedFraction = val / maxSpeed;
    }

    
]]>
579            </Script>
580 
          <!-- ROUTE information for SPEED-COLOR node:  [from UI-CONTROL-SCRIPT.speedFraction to set_fraction ] [from value_changed to SPEED-INDICATOR-COLOR.emissiveColor ] -->
          <ColorInterpolator DEF='SPEED-COLORkey='0.0 0.8 0.9 1.0keyValue='0.0 0.0 0.0 1.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0'/>
581 
          <!-- ROUTE information for FRONT-LEFT-HINGE-WHEEL-INTERP node:  [from WHEEL.wheelX to set_fraction ] [from value_changed to FRONT-LEFT-WHEEL-TX-DEBUG-HINGE.rotation ] -->
          <OrientationInterpolator DEF='FRONT-LEFT-HINGE-WHEEL-INTERPkey='-1.0 0.0 1.0keyValue='0.0 1.0 0.0 0.5236 0.0 1.0 0.0 0.0 0.0 1.0 0.0 -0.5236'/>
582 
          <!-- ROUTE information for FRONT-RIGHT-HINGE-WHEEL-INTERP node:  [from WHEEL.wheelX to set_fraction ] [from value_changed to FRONT-RIGHT-WHEEL-TX-DEBUG-HINGE.rotation ] -->
          <OrientationInterpolator DEF='FRONT-RIGHT-HINGE-WHEEL-INTERPkey='-1.0 0.0 1.0keyValue='0.0 1.0 0.0 0.5236 0.0 1.0 0.0 0.0 0.0 1.0 0.0 -0.5236'/>
583 
          <!-- ROUTE information for FRONT-LEFT-HINGE-ANGLE-INTERP node:  [from FRONT-LEFT-JOINT.hinge1Angle to set_fraction ] [from value_changed to FRONT-LEFT-WHEEL-TX-DEBUG-HINGE.rotation ] -->
          <OrientationInterpolator DEF='FRONT-LEFT-HINGE-ANGLE-INTERPkey='-0.5236 0.0 0.5236keyValue='0.0 1.0 0.0 0.5236 0.0 1.0 0.0 0.0 0.0 1.0 0.0 -0.5236'/>
584 
          <!-- ROUTE information for FRONT-RIGHT-HINGE-ANGLE-INTERP node:  [from FRONT-RIGHT-JOINT.hinge1Angle to set_fraction ] [from value_changed to FRONT-RIGHT-WHEEL-TX-DEBUG-HINGE.rotation ] -->
          <OrientationInterpolator DEF='FRONT-RIGHT-HINGE-ANGLE-INTERPkey='-0.5236 0.0 0.5236keyValue='0.0 1.0 0.0 0.5236 0.0 1.0 0.0 0.0 0.0 1.0 0.0 -0.5236'/>
585 
          <!-- ROUTE information for FRONT-LEFT-MAXSTOP-ANGLE-INTERP node:  [from FRONT-LEFT-JOINT.maxAngle1 to set_fraction ] [from value_changed to FRONT-LEFT-WHEEL-TX-DEBUG-MAX.rotation ] -->
          <OrientationInterpolator DEF='FRONT-LEFT-MAXSTOP-ANGLE-INTERPkey='-0.5236 0.0 0.5236keyValue='0.0 1.0 0.0 0.5236 0.0 1.0 0.0 0.0 0.0 1.0 0.0 -0.5236'/>
586 
          <!-- ROUTE information for FRONT-RIGHT-MAXSTOP-ANGLE-INTERP node:  [from FRONT-RIGHT-JOINT.maxAngle1 to set_fraction ] [from value_changed to FRONT-RIGHT-WHEEL-TX-DEBUG-MAX.rotation ] -->
          <OrientationInterpolator DEF='FRONT-RIGHT-MAXSTOP-ANGLE-INTERPkey='-0.5236 0.0 0.5236keyValue='0.0 1.0 0.0 0.5236 0.0 1.0 0.0 0.0 0.0 1.0 0.0 -0.5236'/>
587 
          <!-- ROUTE information for FRONT-LEFT-MINSTOP-ANGLE-INTERP node:  [from FRONT-LEFT-JOINT.minAngle1 to set_fraction ] [from value_changed to FRONT-LEFT-WHEEL-TX-DEBUG-MIN.rotation ] -->
          <OrientationInterpolator DEF='FRONT-LEFT-MINSTOP-ANGLE-INTERPkey='-0.5236 0.0 0.5236keyValue='0.0 1.0 0.0 0.5236 0.0 1.0 0.0 0.0 0.0 1.0 0.0 -0.5236'/>
588 
          <!-- ROUTE information for FRONT-RIGHT-MINSTOP-ANGLE-INTERP node:  [from FRONT-RIGHT-JOINT.minAngle1 to set_fraction ] [from value_changed to FRONT-RIGHT-WHEEL-TX-DEBUG-MIN.rotation ] -->
          <OrientationInterpolator DEF='FRONT-RIGHT-MINSTOP-ANGLE-INTERPkey='-0.5236 0.0 0.5236keyValue='0.0 1.0 0.0 0.5236 0.0 1.0 0.0 0.0 0.0 1.0 0.0 -0.5236'/>
589            <Viewpoint description='Other positionposition='0.0 2.0 10.0'/>
590            <Viewpoint description='Top down view of starting positionorientation='1.0 0.0 0.0 -1.5712position='-114.86 20.0 -66.1922'/>
591 
          <!-- ROUTE information for CHASSIS-VIEW node:  [from CAR-CONTROL-SCRIPT.chassisPosition_reset to position ] [from CAR-CONTROL-SCRIPT.chassisOrientation_reset to orientation ] -->
          <Viewpoint DEF='CHASSIS-VIEWdescription='Chassis starting positionposition='0.0 0.0 0.0'/>
592            <Background skyAngle='1.5712 3.142skyColor='0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0'/>
593            <NavigationInfo type='"NONE"'/>
594 
595                 <field name='carPositiontype='SFVec3faccessType='inputOnly'/>
596                 <field name='resetPositiontype='SFVec3faccessType='inputOnly'/>
597                 <field name='resetOrientationtype='SFRotationaccessType='inputOnly'/>
598                 <field name='cameraTranslationtype='SFVec3faccessType='outputOnly'/>
599                 <field name='cameraRotationtype='SFRotationaccessType='outputOnly'/>
600                 <field name='heighttype='SFFloataccessType='initializeOnly'/>
601                 <field name='chainLengthtype='SFFloataccessType='initializeOnly'/>
602            </Script>
603            < ROUTE  fromNode='cam_car_chase-TIMER' fromField='fraction_changed' toNode='cam_car_chase-POS-INTERP' toField='set_fraction'/>
604            < ROUTE  fromNode='cam_car_chase-POS-INTERP' fromField='value_changed' toNode='carGroup' toField='translation'/>
605            < ROUTE  fromNode='cam_car_chase-TIMER' fromField='fraction_changed' toNode='cam_car_chase-ROT-INTERP' toField='set_fraction'/>
606            < ROUTE  fromNode='cam_car_chase-ROT-INTERP' fromField='value_changed' toNode='carGroup' toField='rotation'/>
607            < ROUTE  fromNode='cam_car_chase-POS-INTERP' fromField='value_changed' toNode='CAR-BODY-TX' toField='translation'/>
608            < ROUTE  fromNode='cam_car_chase-ROT-INTERP' fromField='value_changed' toNode='CAR-BODY-TX' toField='rotation'/>
609            < ROUTE  fromNode='FRONT-LEFT-WHEEL-BODY' fromField='position' toNode='FRONT-LEFT-WHEEL-TX' toField='translation'/>
610            < ROUTE  fromNode='FRONT-LEFT-WHEEL-BODY' fromField='orientation' toNode='FRONT-LEFT-WHEEL-TX' toField='rotation'/>
611            < ROUTE  fromNode='FRONT-RIGHT-WHEEL-BODY' fromField='position' toNode='FRONT-RIGHT-WHEEL-TX' toField='translation'/>
612            < ROUTE  fromNode='FRONT-RIGHT-WHEEL-BODY' fromField='orientation' toNode='FRONT-RIGHT-WHEEL-TX' toField='rotation'/>
613            < ROUTE  fromNode='BACK-LEFT-WHEEL-BODY' fromField='position' toNode='BACK-LEFT-WHEEL-TX' toField='translation'/>
614            < ROUTE  fromNode='BACK-LEFT-WHEEL-BODY' fromField='orientation' toNode='BACK-LEFT-WHEEL-TX' toField='rotation'/>
615            < ROUTE  fromNode='BACK-RIGHT-WHEEL-BODY' fromField='position' toNode='BACK-RIGHT-WHEEL-TX' toField='translation'/>
616            < ROUTE  fromNode='BACK-RIGHT-WHEEL-BODY' fromField='orientation' toNode='BACK-RIGHT-WHEEL-TX' toField='rotation'/>
617            < ROUTE  fromNode='CAR-BODY' fromField='position' toNode='CAR-BODY-TX' toField='translation'/>
618            < ROUTE  fromNode='CAR-BODY' fromField='orientation' toNode='CAR-BODY-TX' toField='rotation'/>
619            < ROUTE  fromNode='WHEEL' fromField='wheelX' toNode='CAR-CONTROL-SCRIPT' toField='wheelDirectionInput'/>
620            < ROUTE  fromNode='WHEEL' fromField='throttleSlider' toNode='CAR-CONTROL-SCRIPT' toField='wheelAcceleratorInput'/>
621            < ROUTE  fromNode='WHEEL' fromField='button2' toNode='CAR-CONTROL-SCRIPT' toField='reverseSelected'/>
622            < ROUTE  fromNode='WHEEL' fromField='button3' toNode='CAR-CONTROL-SCRIPT' toField='resetRequest'/>
623            < ROUTE  fromNode='GAMEPAD' fromField='leftStickX' toNode='CAR-CONTROL-SCRIPT' toField='wheelDirectionInput'/>
624            < ROUTE  fromNode='GAMEPAD' fromField='rightStickY' toNode='CAR-CONTROL-SCRIPT' toField='wheelAcceleratorInput'/>
625            < ROUTE  fromNode='GAMEPAD' fromField='l1Button' toNode='CAR-CONTROL-SCRIPT' toField='reverseSelected'/>
626            < ROUTE  fromNode='GAMEPAD' fromField='r1Button' toNode='CAR-CONTROL-SCRIPT' toField='resetRequest'/>
627            < ROUTE  fromNode='KEYS' fromField='actionKeyPress' toNode='KEYSC' toField='actionKeyPress'/>
628            < ROUTE  fromNode='KEYTIMER' fromField='fraction_changed' toNode='KEYSC' toField='decay'/>
629            < ROUTE  fromNode='KEYSC' fromField='dir' toNode='CAR-CONTROL-SCRIPT' toField='wheelDirectionInput'/>
630            < ROUTE  fromNode='KEYSC' fromField='accel' toNode='CAR-CONTROL-SCRIPT' toField='wheelAcceleratorInput'/>
631            < ROUTE  fromNode='KEYSC' fromField='reverse' toNode='CAR-CONTROL-SCRIPT' toField='reverseSelected'/>
632            < ROUTE  fromNode='KEYSC' fromField='reset' toNode='CAR-CONTROL-SCRIPT' toField='resetRequest'/>
633            < ROUTE  fromNode='COLLISION-OUTPUT' fromField='contacts' toNode='CAR-CONTROL-SCRIPT' toField='collisionContacts'/>
634            < ROUTE  fromNode='CAR-BODY' fromField='linearVelocity' toNode='CAR-CONTROL-SCRIPT' toField='carVelocity'/>
635            < ROUTE  fromNode='CAR-BODY' fromField='orientation' toNode='CAR-CONTROL-SCRIPT' toField='carOrientation'/>
636            < ROUTE  fromNode='FRONT-LEFT-JOINT' fromField='body2Axis' toNode='CAR-CONTROL-SCRIPT' toField='frontWheelOrientation'/>
637            < ROUTE  fromNode='BACK-LEFT-JOINT' fromField='body2Axis' toNode='CAR-CONTROL-SCRIPT' toField='rearWheelOrientation'/>
638            < ROUTE  fromNode='FRONT-LEFT-JOINT' fromField='hinge1Angle' toNode='CAR-CONTROL-SCRIPT' toField='currentSteeringAngle'/>
639            < ROUTE  fromNode='FRONT-LEFT-JOINT' fromField='body2Axis' toNode='FRONT-LEFT-WHEEL-BODY' toField='finiteRotationAxis'/>
640            < ROUTE  fromNode='FRONT-RIGHT-JOINT' fromField='body2Axis' toNode='FRONT-RIGHT-WHEEL-BODY' toField='finiteRotationAxis'/>
641            < ROUTE  fromNode='BACK-LEFT-JOINT' fromField='body2Axis' toNode='BACK-LEFT-WHEEL-BODY' toField='finiteRotationAxis'/>
642            < ROUTE  fromNode='BACK-RIGHT-JOINT' fromField='body2Axis' toNode='BACK-RIGHT-WHEEL-BODY' toField='finiteRotationAxis'/>
643            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='enablePhysics' toNode='BODY-COLLECTION' toField='enabled'/>
644            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='enablePhysics' toNode='COLLISION-GROUP' toField='enabled'/>
645            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='enablePhysics' toNode='CAR-BODY' toField='enabled'/>
646            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='enablePhysics' toNode='FRONT-LEFT-WHEEL-BODY' toField='enabled'/>
647            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='enablePhysics' toNode='FRONT-RIGHT-WHEEL-BODY' toField='enabled'/>
648            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='enablePhysics' toNode='BACK-LEFT-WHEEL-BODY' toField='enabled'/>
649            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='enablePhysics' toNode='BACK-RIGHT-WHEEL-BODY' toField='enabled'/>
650            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='chassisPosition_reset' toNode='CAR-BODY' toField='position'/>
651            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='chassisOrientation_reset' toNode='CAR-BODY' toField='orientation'/>
652            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='frontLeftWheelPosition_reset' toNode='FRONT-LEFT-WHEEL-BODY' toField='position'/>
653            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='frontLeftWheelPosition_reset' toNode='FRONT-LEFT-JOINT' toField='anchorPoint'/>
654            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='frontLeftWheelOrientation_reset' toNode='FRONT-LEFT-WHEEL-BODY' toField='orientation'/>
655            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='frontRightWheelPosition_reset' toNode='FRONT-RIGHT-WHEEL-BODY' toField='position'/>
656            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='frontRightWheelPosition_reset' toNode='FRONT-RIGHT-JOINT' toField='anchorPoint'/>
657            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='frontRightWheelOrientation_reset' toNode='FRONT-RIGHT-WHEEL-BODY' toField='orientation'/>
658            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='backLeftWheelPosition_reset' toNode='BACK-LEFT-WHEEL-BODY' toField='position'/>
659            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='backLeftWheelPosition_reset' toNode='BACK-LEFT-JOINT' toField='anchorPoint'/>
660            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='backLeftWheelOrientation_reset' toNode='BACK-LEFT-WHEEL-BODY' toField='orientation'/>
661            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='backRightWheelPosition_reset' toNode='BACK-RIGHT-WHEEL-BODY' toField='position'/>
662            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='backRightWheelPosition_reset' toNode='BACK-RIGHT-JOINT' toField='anchorPoint'/>
663            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='backRightWheelOrientation_reset' toNode='BACK-RIGHT-WHEEL-BODY' toField='orientation'/>
664            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='frontWheelMinStop' toNode='FRONT-LEFT-JOINT' toField='minAngle1'/>
665            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='frontWheelMinStop' toNode='FRONT-RIGHT-JOINT' toField='minAngle1'/>
666            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='frontWheelMaxStop' toNode='FRONT-LEFT-JOINT' toField='maxAngle1'/>
667            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='frontWheelMaxStop' toNode='FRONT-RIGHT-JOINT' toField='maxAngle1'/>
668            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='frontLeftWheelSpeed' toNode='FRONT-LEFT-JOINT' toField='desiredAngularVelocity2'/>
669            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='frontRightWheelSpeed' toNode='FRONT-RIGHT-JOINT' toField='desiredAngularVelocity2'/>
670            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='rearLeftWheelSpeed' toNode='BACK-LEFT-JOINT' toField='desiredAngularVelocity2'/>
671            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='rearRightWheelSpeed' toNode='BACK-RIGHT-JOINT' toField='desiredAngularVelocity2'/>
672            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='frontWheelTorque' toNode='FRONT-LEFT-JOINT' toField='maxTorque2'/>
673            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='frontWheelTorque' toNode='FRONT-RIGHT-JOINT' toField='maxTorque2'/>
674            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='rearWheelTorque' toNode='BACK-LEFT-JOINT' toField='maxTorque2'/>
675            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='rearWheelTorque' toNode='BACK-RIGHT-JOINT' toField='maxTorque2'/>
676            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='frontLeftAxleAxis' toNode='FRONT-LEFT-JOINT' toField='axis2'/>
677            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='frontRightAxleAxis' toNode='FRONT-RIGHT-JOINT' toField='axis2'/>
678            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='rearLeftAxleAxis' toNode='BACK-LEFT-JOINT' toField='axis2'/>
679            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='rearRightAxleAxis' toNode='BACK-RIGHT-JOINT' toField='axis2'/>
680            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='frictionForces' toNode='CAR-BODY' toField='forces'/>
681            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='correctedContacts' toNode='BODY-COLLECTION' toField='set_contacts'/>
682            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='correctedChassisOrientation' toNode='CAR-BODY' toField='orientation'/>
683            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='connectJoints' toNode='BODY-COLLECTION' toField='joints'/>
684            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='speed' toNode='UI-CONTROL-SCRIPT' toField='speed'/>
685            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='revs' toNode='UI-CONTROL-SCRIPT' toField='revs'/>
686            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='brakesApplied' toNode='UI-CONTROL-SCRIPT' toField='brakesApplied'/>
687            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='reversing' toNode='UI-CONTROL-SCRIPT' toField='reversing'/>
688            < ROUTE  fromNode='UI-CONTROL-SCRIPT' fromField='brakeLightColor' toNode='BRAKE-LIGHT-COLOR' toField='emissiveColor'/>
689            < ROUTE  fromNode='UI-CONTROL-SCRIPT' fromField='reverseLightColor' toNode='REVERSE-LIGHT-COLOR' toField='emissiveColor'/>
690            < ROUTE  fromNode='UI-CONTROL-SCRIPT' fromField='speedScale' toNode='SPEED-INDICATOR' toField='scale'/>
691            < ROUTE  fromNode='UI-CONTROL-SCRIPT' fromField='speedFraction' toNode='SPEED-COLOR' toField='set_fraction'/>
692            < ROUTE  fromNode='SPEED-COLOR' fromField='value_changed' toNode='SPEED-INDICATOR-COLOR' toField='emissiveColor'/>
693            < ROUTE  fromNode='WHEEL' fromField='wheelX' toNode='FRONT-LEFT-HINGE-WHEEL-INTERP' toField='set_fraction'/>
694            < ROUTE  fromNode='FRONT-LEFT-HINGE-WHEEL-INTERP' fromField='value_changed' toNode='FRONT-LEFT-WHEEL-TX-DEBUG-HINGE' toField='rotation'/>
695            < ROUTE  fromNode='WHEEL' fromField='wheelX' toNode='FRONT-RIGHT-HINGE-WHEEL-INTERP' toField='set_fraction'/>
696            < ROUTE  fromNode='FRONT-RIGHT-HINGE-WHEEL-INTERP' fromField='value_changed' toNode='FRONT-RIGHT-WHEEL-TX-DEBUG-HINGE' toField='rotation'/>
697            < ROUTE  fromNode='FRONT-LEFT-JOINT' fromField='hinge1Angle' toNode='FRONT-LEFT-HINGE-ANGLE-INTERP' toField='set_fraction'/>
698            < ROUTE  fromNode='FRONT-LEFT-HINGE-ANGLE-INTERP' fromField='value_changed' toNode='FRONT-LEFT-WHEEL-TX-DEBUG-HINGE' toField='rotation'/>
699            < ROUTE  fromNode='FRONT-RIGHT-JOINT' fromField='hinge1Angle' toNode='FRONT-RIGHT-HINGE-ANGLE-INTERP' toField='set_fraction'/>
700            < ROUTE  fromNode='FRONT-RIGHT-HINGE-ANGLE-INTERP' fromField='value_changed' toNode='FRONT-RIGHT-WHEEL-TX-DEBUG-HINGE' toField='rotation'/>
701            < ROUTE  fromNode='FRONT-LEFT-JOINT' fromField='maxAngle1' toNode='FRONT-LEFT-MAXSTOP-ANGLE-INTERP' toField='set_fraction'/>
702            < ROUTE  fromNode='FRONT-LEFT-MAXSTOP-ANGLE-INTERP' fromField='value_changed' toNode='FRONT-LEFT-WHEEL-TX-DEBUG-MAX' toField='rotation'/>
703            < ROUTE  fromNode='FRONT-RIGHT-JOINT' fromField='maxAngle1' toNode='FRONT-RIGHT-MAXSTOP-ANGLE-INTERP' toField='set_fraction'/>
704            < ROUTE  fromNode='FRONT-RIGHT-MAXSTOP-ANGLE-INTERP' fromField='value_changed' toNode='FRONT-RIGHT-WHEEL-TX-DEBUG-MAX' toField='rotation'/>
705            < ROUTE  fromNode='FRONT-LEFT-JOINT' fromField='minAngle1' toNode='FRONT-LEFT-MINSTOP-ANGLE-INTERP' toField='set_fraction'/>
706            < ROUTE  fromNode='FRONT-LEFT-MINSTOP-ANGLE-INTERP' fromField='value_changed' toNode='FRONT-LEFT-WHEEL-TX-DEBUG-MIN' toField='rotation'/>
707            < ROUTE  fromNode='FRONT-RIGHT-JOINT' fromField='minAngle1' toNode='FRONT-RIGHT-MINSTOP-ANGLE-INTERP' toField='set_fraction'/>
708            < ROUTE  fromNode='FRONT-RIGHT-MINSTOP-ANGLE-INTERP' fromField='value_changed' toNode='FRONT-RIGHT-WHEEL-TX-DEBUG-MIN' toField='rotation'/>
709            < ROUTE  fromNode='FRONT-LEFT-WHEEL-BODY' fromField='position' toNode='FRONT-LEFT-WHEEL-TX-DEBUG-HINGE' toField='translation'/>
710            < ROUTE  fromNode='FRONT-RIGHT-WHEEL-BODY' fromField='position' toNode='FRONT-RIGHT-WHEEL-TX-DEBUG-HINGE' toField='translation'/>
711            < ROUTE  fromNode='FRONT-LEFT-WHEEL-BODY' fromField='position' toNode='FRONT-LEFT-WHEEL-TX-DEBUG-MAX' toField='translation'/>
712            < ROUTE  fromNode='FRONT-RIGHT-WHEEL-BODY' fromField='position' toNode='FRONT-RIGHT-WHEEL-TX-DEBUG-MAX' toField='translation'/>
713            < ROUTE  fromNode='FRONT-LEFT-WHEEL-BODY' fromField='position' toNode='FRONT-LEFT-WHEEL-TX-DEBUG-MIN' toField='translation'/>
714            < ROUTE  fromNode='FRONT-RIGHT-WHEEL-BODY' fromField='position' toNode='FRONT-RIGHT-WHEEL-TX-DEBUG-MIN' toField='translation'/>
715            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='chassisPosition_reset' toNode='CHASSIS-VIEW' toField='position'/>
716            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='chassisOrientation_reset' toNode='CHASSIS-VIEW' toField='orientation'/>
717            < ROUTE  fromNode='CAR-BODY' fromField='position' toNode='CAMERA-CONTROL-SCRIPT' toField='carPosition'/>
718            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='chassisPosition_reset' toNode='CAMERA-CONTROL-SCRIPT' toField='resetPosition'/>
719            < ROUTE  fromNode='CAR-CONTROL-SCRIPT' fromField='chassisOrientation_reset' toNode='CAMERA-CONTROL-SCRIPT' toField='resetOrientation'/>
720            < ROUTE  fromNode='CAMERA-CONTROL-SCRIPT' fromField='cameraTranslation' toNode='CAMERA-TX' toField='translation'/>
721            < ROUTE  fromNode='CAMERA-CONTROL-SCRIPT' fromField='cameraRotation' toNode='CAMERA-TX' toField='rotation'/>
722       </Scene>
723  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->

<!-- to top Index for DEF nodes: ACTIVE-SECTOR-INDICATOR, BACK-LEFT-JOINT, BACK-LEFT-WHEEL-BODY, BACK-LEFT-WHEEL-GEOM, BACK-LEFT-WHEEL-TX, BACK-RIGHT-JOINT, BACK-RIGHT-WHEEL-BODY, BACK-RIGHT-WHEEL-GEOM, BACK-RIGHT-WHEEL-TX, BODY-COLLECTION, BRAKE-LIGHT-COLOR, BRAKE-LIGHT-GEOM, cam_car_chase-POS-INTERP, cam_car_chase-ROT-INTERP, cam_car_chase-TIMER, Camera03, Camera03-OLD, CAMERA-CONTROL-SCRIPT, CAMERA-TX, CAR-BODY, CAR-BODY-GEOM, CAR-BODY-TX, carCamTransform, CAR-CONTAINER, CAR-CONTROL-SCRIPT, carGroup, CHASSIS-BOX, CHASSIS-PROXY-GEOM, CHASSIS-VIEW, COLLISION-GROUP, COLLISION-OUTPUT, DEBUG_TERRAIN, DEBUG-GEOM, DEBUG-POINTER-APP, ENEMY-GEOM, FRONT-LEFT-DEBUG-POINTER, FRONT-LEFT-HINGE-ANGLE-INTERP, FRONT-LEFT-HINGE-WHEEL-INTERP, FRONT-LEFT-JOINT, FRONT-LEFT-MAXSTOP-ANGLE-INTERP, FRONT-LEFT-MINSTOP-ANGLE-INTERP, FRONT-LEFT-TX-DEBUG-POINTER, FRONT-LEFT-WHEEL-BODY, FRONT-LEFT-WHEEL-GEOM, FRONT-LEFT-WHEEL-TX, FRONT-LEFT-WHEEL-TX-DEBUG-HINGE, FRONT-LEFT-WHEEL-TX-DEBUG-MAX, FRONT-LEFT-WHEEL-TX-DEBUG-MIN, FRONT-RIGHT-DEBUG-POINTER, FRONT-RIGHT-HINGE-ANGLE-INTERP, FRONT-RIGHT-HINGE-WHEEL-INTERP, FRONT-RIGHT-JOINT, FRONT-RIGHT-MAXSTOP-ANGLE-INTERP, FRONT-RIGHT-MINSTOP-ANGLE-INTERP, FRONT-RIGHT-TX-DEBUG-POINTER, FRONT-RIGHT-WHEEL-BODY, FRONT-RIGHT-WHEEL-GEOM, FRONT-RIGHT-WHEEL-TX, FRONT-RIGHT-WHEEL-TX-DEBUG-HINGE, FRONT-RIGHT-WHEEL-TX-DEBUG-MAX, FRONT-RIGHT-WHEEL-TX-DEBUG-MIN, GAMEPAD, JOINT-INDICATOR-LEFT, JOINT-INDICATOR-RIGHT, JOINT-SPHERE, KEYS, KEYSC, keysensor, KEYTIMER, physicsSectorScript, RAMP_APP, REVERSE-LIGHT-COLOR, REVERSE-LIGHT-GEOM, ROAD-APP, Road-v-001, Road-v-002, Road-v-003, Road-v-004, Road-v-006, Road-v-007, SAND-APP, Sand-v-001, Sand-v-002, SmallBulding, SPEED-COLOR, SPEED-INDICATOR, SPEED-INDICATOR-COLOR, TERRAIN-CONTAINER, UI-CONTROL-SCRIPT, WALL-APP, WALL-v-001a, WALL-v-001b, WALL-v-001c, WALL-v-001d, Wall-v-002, Wall-v-003, Wall-v-004, Wall-v-005, Wall-v-006, Wall-v-007, Wall-v-008, Wall-v-009, Wall-v-010, Wall-v-011, WHEEL, WHEEL-GEOM, WHEEL-MASS, WHEEL-SHAPE

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Camera03, Camera03-OLD, CHASSIS-VIEW
-->
X3D Tooltips element index: Appearance, Background, Box, CollidableShape, CollisionCollection, CollisionSensor, Color, ColorInterpolator, component, Coordinate, Cylinder, DoubleAxisHingeJoint, field, GamepadSensor, Group, head, ImageTexture, Inline, KeySensor, LineProperties, LineSet, Material, meta, NavigationInfo, OrientationInterpolator, PositionInterpolator, RigidBody, RigidBodyCollection, ROUTE, Scene, Script, Shape, Sphere, Switch, TimeSensor, Transform, Viewpoint, WheelSensor, WorldInfo, X3D, accessType and type, XML data types, field types

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

The following ROUTE chain begins an event-routing loop! Loop occurs at nodeDepth=2.
 
ROUTE CAR-CONTROL-SCRIPT.enablePhysics TO CAR-BODY.enabled
WHEEL
WheelSensor
wheelX
FieldTypeNotFound

ROUTE
event to
(1)
CAR-CONTROL-SCRIPT
Script
wheelDirectionInput
SFFloat
WHEEL
WheelSensor
throttleSlider
FieldTypeNotFound

ROUTE
event to
(1)
CAR-CONTROL-SCRIPT
Script
wheelAcceleratorInput
SFFloat
WHEEL
WheelSensor
button2
FieldTypeNotFound

ROUTE
event to
(1)
CAR-CONTROL-SCRIPT
Script
reverseSelected
SFBool
WHEEL
WheelSensor
button3
FieldTypeNotFound

ROUTE
event to
(1)
CAR-CONTROL-SCRIPT
Script
resetRequest
SFBool
WHEEL
WheelSensor
wheelX
FieldTypeNotFound

ROUTE
event to
(1)
FRONT-LEFT-HINGE-WHEEL-INTERP
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
FRONT-LEFT-HINGE-WHEEL-INTERP
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
FRONT-LEFT-WHEEL-TX-DEBUG-HINGE
Transform
rotation
SFRotation
WHEEL
WheelSensor
wheelX
FieldTypeNotFound

ROUTE
event to
(1)
FRONT-RIGHT-HINGE-WHEEL-INTERP
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
FRONT-RIGHT-HINGE-WHEEL-INTERP
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
FRONT-RIGHT-WHEEL-TX-DEBUG-HINGE
Transform
rotation
SFRotation

cam_car_chase-TIMER
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
cam_car_chase-POS-INTERP
PositionInterpolator
set_fraction
SFFloat
then
 
 
 
cam_car_chase-POS-INTERP
PositionInterpolator
value_changed
SFVec3f

ROUTE
event to
(2)
carGroup
Transform
translation
SFVec3f
  then
 
 
 
cam_car_chase-POS-INTERP
PositionInterpolator
value_changed
SFVec3f

ROUTE
event to
(2)
CAR-BODY-TX
Transform
translation
SFVec3f
cam_car_chase-TIMER
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
cam_car_chase-ROT-INTERP
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
cam_car_chase-ROT-INTERP
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
carGroup
Transform
rotation
SFRotation
  then
 
 
 
cam_car_chase-ROT-INTERP
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
CAR-BODY-TX
Transform
rotation
SFRotation

The following ROUTE chain begins an event-routing loop! Loop occurs at nodeDepth=3.
 
ROUTE CAR-CONTROL-SCRIPT.enablePhysics TO CAR-BODY.enabled
KEYTIMER
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
KEYSC
Script
decay
SFFloat
then
 
 
 
KEYSC
Script
accel
SFFloat

ROUTE
event to
(2)
CAR-CONTROL-SCRIPT
Script
wheelAcceleratorInput
SFFloat
  then
 
 
 
KEYSC
Script
dir
SFFloat

ROUTE
event to
(2)
CAR-CONTROL-SCRIPT
Script
wheelDirectionInput
SFFloat
  then
 
 
 
KEYSC
Script
reset
SFBool

ROUTE
event to
(2)
CAR-CONTROL-SCRIPT
Script
resetRequest
SFBool
  then
 
 
 
KEYSC
Script
reverse
SFBool

ROUTE
event to
(2)
CAR-CONTROL-SCRIPT
Script
reverseSelected
SFBool

The following ROUTE chain begins an event-routing loop! Loop occurs at nodeDepth=3.
 
ROUTE CAR-CONTROL-SCRIPT.enablePhysics TO CAR-BODY.enabled
KEYS
KeySensor
actionKeyPress
SFInt32

ROUTE
event to
(1)
KEYSC
Script
actionKeyPress
SFInt32
then
 
 
 
KEYSC
Script
accel
SFFloat

ROUTE
event to
(2)
CAR-CONTROL-SCRIPT
Script
wheelAcceleratorInput
SFFloat
  then
 
 
 
KEYSC
Script
dir
SFFloat

ROUTE
event to
(2)
CAR-CONTROL-SCRIPT
Script
wheelDirectionInput
SFFloat
  then
 
 
 
KEYSC
Script
reset
SFBool

ROUTE
event to
(2)
CAR-CONTROL-SCRIPT
Script
resetRequest
SFBool
  then
 
 
 
KEYSC
Script
reverse
SFBool

ROUTE
event to
(2)
CAR-CONTROL-SCRIPT
Script
reverseSelected
SFBool

The following ROUTE chain begins an event-routing loop! Loop occurs at nodeDepth=2.
 
ROUTE CAR-CONTROL-SCRIPT.enablePhysics TO CAR-BODY.enabled
GAMEPAD
GamepadSensor
leftStickX
FieldTypeNotFound

ROUTE
event to
(1)
CAR-CONTROL-SCRIPT
Script
wheelDirectionInput
SFFloat
GAMEPAD
GamepadSensor
rightStickY
FieldTypeNotFound

ROUTE
event to
(1)
CAR-CONTROL-SCRIPT
Script
wheelAcceleratorInput
SFFloat
GAMEPAD
GamepadSensor
l1Button
FieldTypeNotFound

ROUTE
event to
(1)
CAR-CONTROL-SCRIPT
Script
reverseSelected
SFBool
GAMEPAD
GamepadSensor
r1Button
FieldTypeNotFound

ROUTE
event to
(1)
CAR-CONTROL-SCRIPT
Script
resetRequest
SFBool

The following ROUTE chain begins an event-routing loop! Loop occurs at nodeDepth=2.
 
ROUTE CAR-CONTROL-SCRIPT.enablePhysics TO CAR-BODY.enabled
COLLISION-OUTPUT
CollisionSensor
contacts
MFNode

ROUTE
event to
(1)
CAR-CONTROL-SCRIPT
Script
collisionContacts
MFNode
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/Basic/RigidBodyPhysics/CarDemoMainIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/CarDemoMain.x3d -->

<!-- Color legend: X3D terminology <X3dNode DEF='idName' field='value'/> matches XML terminology <XmlElement DEF='idName' attribute='value'/>
(Light-blue background: event-based behavior node or statement) (Grey background inside box: inserted documentation) (Magenta background: X3D Extensibility)
-->

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