X3D Model Documentation: Gimbals.x3d go to online X3D Example Archives model page

  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='https://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.2.xsd'>
  4       <head>
  5            <meta name='title' content=' Gimbals.x3d '/>
  6            <meta name='description' content='Gimbals for user-driven roll pitch and yaw angle conversions, also shows conversion from X3D (VRML) to DIS coordinate system. Select and drag each copper-colored gimbal for a CylinderSensor to change a rotation angle, script code displays changed orientaion values. Model inspiration by Bob McGhee.'/>
  7            <meta name='creator' content='Eric Bachmann and Don Brutzman'/>
  8            <meta name='created' content='1996'/>
  9            <meta name='finished' content='19 April 1999'/>
 10            <meta name='translator' content='Curtis Blais'/>
 11            <meta name='translated' content='27 January 2001'/>
 12            <meta name='modified' content='18 March 2026'/>
 13            <meta name='Image' content='GimbalsExampleX_ITE.png'image preview/>
 14            <meta name='Image' content='GimbalsExampleF18.png'image preview/>
 15            <meta name='Image' content='GimbalsExampleRocket.png'image preview/>
 16            <meta name='hint' content='Note that axis orientations are aligned with X3D Geospatial conventions'/>
 17            <meta name='reference' content='Scene Authoring Hints: Coordinate Systems and Rotations https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#CoordinateSystems'/>
 18            <meta name='reference' content='original https://www.web3d.org/WorkingGroups/vrtp/demo/gimbals/DisCoordinateSystemGimbals.wrl'/>
 19            <meta name='generator' content='X3D-Edit 3.3, https://www.web3d.org/x3d/tools/X3D-Edit'/>
 20            <meta name='identifier' content=' https://www.web3d.org/x3d/content/examples/Basic/DistributedInteractiveSimulation/Gimbals.x3d '/>
 21            <meta name='license' content='../license.html'/>
 22       </head>
<!--

Event Graph ROUTE Table shows event connections.

--> <!-- to top DEF nodes index: AppearanceBodyAxes, AppearanceGimbals, AZIMUTH_SENSOR, AZIMUTH_TRANSFORM, AzimuthGimbal, AzimuthGimbalShape, COLOR1, CONSTRUCT_TRACE_STRING, ELEVATION_SENSOR, ELEVATION_TRANSFORM, ElevationGimbal, ElevationGimbalShape, ElevationRollObjects, F18Superhornet, FONT1, FONT2, fromNEtoSW, fromSWtoNE, GimbalObjects, GlobalAxisLines, GlobalCoordinateAxes, LocalAxisLines, LocalCoordinateAxes, ModelChoice, ModelOrientation, NegativeXAxisLabel, NegativeXLocal, NegativeYAxisLabel, NegativeYLocal, NegativeZAxisLabel, NegativeZLocal, PinShape, PositiveXAxisLabel, PositiveXLocal, PositiveYAxisLabel, PositiveYLocal, PositiveZAxisLabel, PositiveZLocal, ROLL_SENSOR, ROLL_TRANSFORM, RollGimbal, RollGimbalShape, RollObjects, RotationText, ScaleUpContainedObject, SUN_MATERIAL, SunInDistance, TRACE_STRING, ViewpointGroup

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3, Viewpoint_4, Viewpoint_5, Viewpoint_6, Viewpoint_7, Viewpoint_8

-->
 23       <Scene>
 24            <WorldInfo title='Gimbals.x3d'/>
 25            <Background groundAngle='1.309 1.570796' groundColor='0 0.3 1 0 0.3 1 0 0.3 1' skyAngle='1.309 1.571' skyColor='0 0.2 0.7 0 0.5 1 1 1 1'/>
 26            <DirectionalLight color='0.5 0.4 0.0' direction='1 -.5 1'/>
 27            <Group DEF='ViewpointGroup'>
 28                 <!-- have default Viewpoints precede model viewpoints for consistent navigation -->
 29                 <Viewpoint description='South to North' position='0 15 100'/>
 30                 <Viewpoint description='East to West' orientation='0 1 0 1.57079' position='120 20 0'/>
 31                 <Viewpoint description='North to South' orientation='0 1 0 -3.14159' position='0 20 -120'/>
 32                 <Viewpoint description='West to East' orientation='0 1 0 -1.57079' position='-120 20 0'/>
 33                 <Viewpoint description='Close Up' orientation='1 0 0 -.20136' position='0 30 50'/>
 34                 <Transform DEF='fromNEtoSW' rotation='0 1 0 0.7854' translation='30 40 30'>
 35                      <Viewpoint description='Northeast to SW' orientation='1 0 0 -0.45'/>
 36                 </Transform>
 37                 <Transform DEF='fromSWtoNE' rotation='0 1 0 -2.35619' translation='-25 5 -25'>
 38                      <Viewpoint description='Southwest to NE' orientation='1 0 0 0.35'/>
 39                 </Transform>
 40                 <Transform rotation='-1 0 0 1.57' translation='0 150 0'>
 41                      <Viewpoint description='Top Down' orientation='0 0 -1 1.57' position='0 0 0'/>
 42                 </Transform>
 43            </Group>
 44            <Transform DEF='SunInDistance' translation='-250 125 -250'>
 45                 <Shape>
 46                      <Appearance>
 47                           <Material DEF='SUN_MATERIAL' ambientIntensity='0' diffuseColor='1 0.871763 0' emissiveColor='1 0.871763 0' shininess='0.5' specularColor='1 1 1'/>
 48                      </Appearance>
 49                      <Sphere radius='5.0'/>
 50                 </Shape>
 51            </Transform>
 52            <Transform DEF='GlobalCoordinateAxes' translation='0 20 0'>
 53                 <Transform DEF='GlobalAxisLines'>
 54                      <Shape>
 55                           <Appearance>
 56 
                              <!-- Material COLOR1 is a DEF node that has 6 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6 -->
                              <Material DEF='COLOR1' diffuseColor='0.01 0.01 0.1' emissiveColor='0.01 0.01 0.1'/>
 57                           </Appearance>
 58                           <IndexedLineSet coordIndex='0 1 -1 2 3 -1 4 5 -1 6 7 -1 8 9 -1 10 11 -1'>
 59                                <Coordinate point='35 0 0 2 0 0 -35 0 0 -2 0 0 0 25 0 0 2 0 0 -25 0 0 -2 0 0 0 35 0 0 2 0 0 -35 0 0 -2'/>
 60                           </IndexedLineSet>
 61                      </Shape>
 62                 </Transform>
 63                 <Transform DEF='PositiveZAxisLabel' translation='0 -4.0 40'>
 64                      <Billboard axisOfRotation='0 0 0'>
 65                           <Transform scale='0.1 0.1 0.1'>
 66                                <Shape>
 67                                     <Appearance>
 68                                          <Material USE='COLOR1'/>
 69                                     </Appearance>
 70                                     <Text string='"South" "+Z X3D, -X DIS"'>
 71 
                                        <!-- FontStyle FONT1 is a DEF node that has 5 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5 -->
                                        <FontStyle DEF='FONT1' justify='"MIDDLE" "MIDDLE"' size='36'/>
 72                                     </Text>
 73                                </Shape>
 74                           </Transform>
 75                      </Billboard>
 76                 </Transform>
 77                 <Transform DEF='PositiveXAxisLabel' translation='44 -4.0 0'>
 78                      <Billboard axisOfRotation='0 0 0'>
 79                           <Transform scale='0.1 0.1 0.1'>
 80                                <Shape>
 81                                     <Appearance>
 82                                          <Material USE='COLOR1'/>
 83                                     </Appearance>
 84                                     <Text string='"East" "+X X3D, +Y DIS"'>
 85                                          <FontStyle USE='FONT1'/>
 86                                     </Text>
 87                                </Shape>
 88                           </Transform>
 89                      </Billboard>
 90                 </Transform>
 91                 <Transform DEF='NegativeZAxisLabel' translation='-0.5 -4.0 -40'>
 92                      <Billboard axisOfRotation='0 0 0'>
 93                           <Transform scale='0.1 0.1 0.1'>
 94                                <Shape>
 95                                     <Appearance>
 96                                          <Material USE='COLOR1'/>
 97                                     </Appearance>
 98                                     <Text string='"North" "-Z X3D, +X DIS"'>
 99                                          <FontStyle USE='FONT1'/>
100                                     </Text>
101                                </Shape>
102                           </Transform>
103                      </Billboard>
104                 </Transform>
105                 <Transform DEF='NegativeXAxisLabel' translation='-44 -4.0 0'>
106                      <Billboard axisOfRotation='0 0 0'>
107                           <Transform scale='0.1 0.1 0.1'>
108                                <Shape>
109                                     <Appearance>
110                                          <Material USE='COLOR1'/>
111                                     </Appearance>
112                                     <Text string='"West" "-X X3D, -Y DIS"'>
113                                          <FontStyle USE='FONT1'/>
114                                     </Text>
115                                </Shape>
116                           </Transform>
117                      </Billboard>
118                 </Transform>
119                 <Transform DEF='PositiveYAxisLabel' translation='0 30 0'>
120                      <Billboard axisOfRotation='0 0 0'>
121                           <Transform scale='0.1 0.1 0.1'>
122                                <Shape>
123                                     <Appearance>
124                                          <Material USE='COLOR1'/>
125                                     </Appearance>
126                                     <Text string='"Up" "+Y X3D, -Z DIS"'>
127                                          <FontStyle USE='FONT1'/>
128                                     </Text>
129                                </Shape>
130                           </Transform>
131                      </Billboard>
132                 </Transform>
133                 <Transform DEF='NegativeYAxisLabel' translation='0 -28 0'>
134                      <Billboard axisOfRotation='0 0 0'>
135                           <Transform scale='0.1 0.1 0.1'>
136                                <Shape>
137                                     <Appearance>
138                                          <Material USE='COLOR1'/>
139                                     </Appearance>
140                                     <Text string='"Down" "-Y X3D, +Z DIS"'>
141                                          <FontStyle USE='FONT1'/>
142                                     </Text>
143                                </Shape>
144                           </Transform>
145                      </Billboard>
146                 </Transform>
147            </Transform>
148            <Transform DEF='GimbalObjects' rotation='0 1 0 1.57' translation='0 20 0'>
149 
               <!-- ROUTE information for AZIMUTH_TRANSFORM node:  [from AZIMUTH_SENSOR.rotation_changed to set_rotation ] -->
               <Transform DEF='AZIMUTH_TRANSFORM'>
150 
                    <!-- ROUTE information for AZIMUTH_SENSOR node:  [from rotation_changed to AZIMUTH_TRANSFORM.set_rotation ] [from rotation_changed to CONSTRUCT_TRACE_STRING.set_azimuthRotation ] -->
                    <CylinderSensor DEF='AZIMUTH_SENSOR' description='drag gimbal to change azimuth'/>
151                      <Transform DEF='AzimuthGimbal' rotation='1 0 0 1.57079'>
152                           <Transform DEF='AzimuthGimbalShape'>
153                                <Shape>
154 
                                   <!-- Appearance AppearanceGimbals is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
                                   <Appearance DEF='AppearanceGimbals'>
155                                          <Material diffuseColor='1 0.59 0.3'/>
156                                     </Appearance>
157                                     <Extrusion beginCap='false' convex='false' creaseAngle='1.57' crossSection='0.5 0 0.46 -0.19 0.355 -0.355 0.19 -0.46 0 -0.5 -0.19 -0.46 -0.355 -0.355 -0.46 -0.19 -0.5 0 -0.46 0.19 -0.355 0.355 -0.19 0.46 0 0.5 0.19 0.46 0.355 0.355 0.46 0.19 0.5 0' endCap='false' solid='false' spine='14 0 0 13.25 0 7.85 11.05 0 11.05 7.85 0 13.25 0 0 14 -7.85 0 13.25 -11.05 0 11.05 -13.25 0 7.85 -14 0 0 -13.25 0 -7.85 -11.05 0 -11.05 -7.85 0 -13.25 0 0 -14 7.85 0 -13.25 11.05 0 -11.05 13.25 0 -7.85 14 0 0'/>
158                                </Shape>
159                                <Transform rotation='0 0 1 1.57079' translation='12.75 0 0'>
160 
                                   <!-- Shape PinShape is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
                                   <Shape DEF='PinShape'>
161                                          <Appearance USE='AppearanceGimbals'/>
162                                          <Cone bottomRadius='0.5' height='1.5'/>
163                                     </Shape>
164                                </Transform>
165                                <Transform rotation='0 0 1 -1.57079' translation='-12.75 0 0'>
166                                     <Shape USE='PinShape'/>
167                                </Transform>
168                           </Transform>
169                      </Transform>
170                      <Transform DEF='ElevationRollObjects' rotation='0 0 1 1.57'>
171 
                         <!-- ROUTE information for ELEVATION_TRANSFORM node:  [from ELEVATION_SENSOR.rotation_changed to set_rotation ] -->
                         <Transform DEF='ELEVATION_TRANSFORM'>
172 
                              <!-- ROUTE information for ELEVATION_SENSOR node:  [from rotation_changed to ELEVATION_TRANSFORM.set_rotation ] [from rotation_changed to CONSTRUCT_TRACE_STRING.set_elevationRotation ] -->
                              <CylinderSensor DEF='ELEVATION_SENSOR' description='drag gimbal to change elevation'/>
173                                <Transform DEF='ElevationGimbal' rotation='0 0 1 1.57079'>
174                                     <Transform DEF='ElevationGimbalShape'>
175                                          <Shape>
176                                               <Appearance USE='AppearanceGimbals'/>
177                                               <Extrusion beginCap='false' convex='false' creaseAngle='1.57' crossSection='0.5 0 0.46 -0.19 0.355 -0.355 0.19 -0.46 0 -0.5 -0.19 -0.46 -0.355 -0.355 -0.46 -0.19 -0.5 0 -0.46 0.19 -0.355 0.355 -0.19 0.46 0 0.5 0.19 0.46 0.355 0.355 0.46 0.19 0.5 0' endCap='false' solid='false' spine='12 0 0 11.25 0 5.85 9.05 0 9.05 5.85 0 11.25 0 0 12 -5.85 0 11.25 -9.05 0 9.05 -11.25 0 5.85 -12 0 0 -11.25 0 -5.85 -9.05 0 -9.05 -5.85 0 -11.25 0 0 -12 5.85 0 -11.25 9.05 0 -9.05 11.25 0 -5.85 12 0 0'/>
178                                          </Shape>
179                                          <Transform rotation='1 0 0 -1.57079' translation='0 0 10.75'>
180                                               <Shape USE='PinShape'/>
181                                          </Transform>
182                                          <Transform rotation='1 0 0 1.57079' translation='0 0 -10.75'>
183                                               <Shape USE='PinShape'/>
184                                          </Transform>
185                                     </Transform>
186                                </Transform>
187                                <Transform DEF='RollObjects' rotation='1 0 0 -1.57'>
188 
                                   <!-- ROUTE information for ROLL_TRANSFORM node:  [from ROLL_SENSOR.rotation_changed to set_rotation ] -->
                                   <Transform DEF='ROLL_TRANSFORM'>
189 
                                        <!-- ROUTE information for ROLL_SENSOR node:  [from rotation_changed to ROLL_TRANSFORM.set_rotation ] [from rotation_changed to CONSTRUCT_TRACE_STRING.set_rollRotation ] -->
                                        <CylinderSensor DEF='ROLL_SENSOR' description='drag gimbal to change roll'/>
190                                          <Transform DEF='RollGimbal' rotation='1 0 0 1.57079'>
191                                               <Transform DEF='RollGimbalShape'>
192                                                    <Shape>
193                                                         <Appearance USE='AppearanceGimbals'/>
194                                                         <Extrusion beginCap='false' convex='false' creaseAngle='1.57' crossSection='0.5 0 0.46 -0.19 0.355 -0.355 0.19 -0.46 0 -0.5 -0.19 -0.46 -0.355 -0.355 -0.46 -0.19 -0.5 0 -0.46 0.19 -0.355 0.355 -0.19 0.46 0 0.5 0.19 0.46 0.355 0.355 0.46 0.19 0.5 0' endCap='false' solid='false' spine='10 0 0 9.25 0 3.85 7.05 0 7.05 3.85 0 9.25 0 0 10 -3.85 0 9.25 -7.05 0 7.05 -9.25 0 3.85 -10 0 0 -9.25 0 -3.85 -7.05 0 -7.05 -3.85 0 -9.25 0 0 -10 3.85 0 -9.25 7.05 0 -7.05 9.25 0 -3.85 10 0 0'/>
195                                                    </Shape>
196                                               </Transform>
197                                               <Transform rotation='0 0 1 -1.57'>
198                                                    <Transform rotation='0 1 0 -1.57' scale='0.4 0.4 0.4'>
199                                                         <Transform DEF='ScaleUpContainedObject' scale='6 6 6'>
200                                                              <!-- note that default is in a different library, so each Inline goes online for url retrieval if needed -->
201                                                              <Switch DEF='ModelChoice' whichChoice='0'>
202                                                                   <Transform scale='0.4 0.4 0.4'>
203  go to online X3D Example Archives model page                                                                       <Inline DEF='F18Superhornet'   url=' "../../Savage/AircraftFixedWing/F18SuperhornetUnitedStates/F18.x3d" "https://www.web3d.org/x3d/content/examples/Savage/AircraftFixedWing/F18SuperhornetUnitedStates/F18.x3d" "../../Savage/AircraftFixedWing/F18SuperhornetUnitedStates/F18.wrl" "https://www.web3d.org/x3d/content/examples/Savage/AircraftFixedWing/F18SuperhornetUnitedStates/F18.wrl"'/>
204                                                                   </Transform>
205  go to online X3D Example Archives model page                                                                  <Inline DEF='ModelOrientation'   url=' "../course/ModelOrientation.x3d" "https://www.web3d.org/x3d/content/examples/Basic/course/ModelOrientation.x3d" "../course/ModelOrientation.wrl" "https://www.web3d.org/x3d/content/examples/Basic/course/ModelOrientation.wrl"'/>
206                                                                   <!-- you can add your model here -->
207                                                              </Switch>
208                                                         </Transform>
209                                                         <Transform DEF='LocalCoordinateAxes' scale='0.65 0.65 0.65'>
210                                                              <Transform DEF='LocalAxisLines'>
211                                                                   <Shape>
212 
                                                                      <!-- Appearance AppearanceBodyAxes is a DEF node that has 6 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6 -->
                                                                      <Appearance DEF='AppearanceBodyAxes'>
213                                                                             <Material diffuseColor='1 .8 0' emissiveColor='1 .8 0'/>
214                                                                        </Appearance>
215                                                                        <IndexedLineSet coordIndex='0 1 -1 2 3 -1 4 5 -1'>
216                                                                             <Coordinate point='25 0 0 -25 0 0 0 25 0 0 -25 0 0 0 25 0 0 -25'/>
217                                                                        </IndexedLineSet>
218                                                                   </Shape>
219                                                              </Transform>
220                                                              <Transform DEF='PositiveXLocal' translation='35 0 0'>
221                                                                   <Billboard axisOfRotation='0 0 0'>
222                                                                        <Transform scale='.1 .1 .1'>
223                                                                             <Shape>
224                                                                                  <Appearance USE='AppearanceBodyAxes'/>
225                                                                                  <Text string='"body +X nose"'>
226 
                                                                                     <!-- FontStyle FONT2 is a DEF node that has 5 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5 -->
                                                                                     <FontStyle DEF='FONT2' justify='"MIDDLE" "MIDDLE"' size='48'/>
227                                                                                  </Text>
228                                                                             </Shape>
229                                                                        </Transform>
230                                                                   </Billboard>
231                                                              </Transform>
232                                                              <Transform DEF='NegativeXLocal' translation='-35 0 0'>
233                                                                   <Billboard axisOfRotation='0 0 0'>
234                                                                        <Transform scale='.1 .1 .1'>
235                                                                             <Shape>
236                                                                                  <Appearance USE='AppearanceBodyAxes'/>
237                                                                                  <Text string='"body -X tail"'>
238                                                                                       <FontStyle USE='FONT2'/>
239                                                                                  </Text>
240                                                                             </Shape>
241                                                                        </Transform>
242                                                                   </Billboard>
243                                                              </Transform>
244                                                              <Transform DEF='PositiveZLocal' translation='0 -30 0'>
245                                                                   <Billboard axisOfRotation='0 0 0'>
246                                                                        <Transform scale='.1 .1 .1'>
247                                                                             <Shape>
248                                                                                  <Appearance USE='AppearanceBodyAxes'/>
249                                                                                  <Text string='"body -Y bottom"'>
250                                                                                       <FontStyle USE='FONT2'/>
251                                                                                  </Text>
252                                                                             </Shape>
253                                                                        </Transform>
254                                                                   </Billboard>
255                                                              </Transform>
256                                                              <Transform DEF='NegativeZLocal' translation='0 26 0'>
257                                                                   <Billboard axisOfRotation='0 0 0'>
258                                                                        <Transform scale='.1 .1 .1'>
259                                                                             <Shape>
260                                                                                  <Appearance USE='AppearanceBodyAxes'/>
261                                                                                  <Text string='"body +Y top"'>
262                                                                                       <FontStyle USE='FONT2'/>
263                                                                                  </Text>
264                                                                             </Shape>
265                                                                        </Transform>
266                                                                   </Billboard>
267                                                              </Transform>
268                                                              <Transform DEF='PositiveYLocal' translation='0 0 34'>
269                                                                   <Billboard axisOfRotation='0 0 0'>
270                                                                        <Transform scale='.1 .1 .1'>
271                                                                             <Shape>
272                                                                                  <Appearance USE='AppearanceBodyAxes'/>
273                                                                                  <Text string='"body +Z right"'>
274                                                                                       <FontStyle USE='FONT2'/>
275                                                                                  </Text>
276                                                                             </Shape>
277                                                                        </Transform>
278                                                                   </Billboard>
279                                                              </Transform>
280                                                              <Transform DEF='NegativeYLocal' translation='0 0 -34'>
281                                                                   <Billboard axisOfRotation='0 0 0'>
282                                                                        <Transform scale='.1 .1 .1'>
283                                                                             <Shape>
284                                                                                  <Appearance USE='AppearanceBodyAxes'/>
285                                                                                  <Text string='"body -Z left"'>
286                                                                                       <FontStyle USE='FONT2'/>
287                                                                                  </Text>
288                                                                             </Shape>
289                                                                        </Transform>
290                                                                   </Billboard>
291                                                              </Transform>
292                                                         </Transform>
293                                                    </Transform>
294                                               </Transform>
295                                          </Transform>
296                                     </Transform>
297                                </Transform>
298                           </Transform>
299                      </Transform>
300                 </Transform>
301            </Transform>
302            <Transform DEF='RotationText' translation='0 -12 22'>
303                 <Billboard axisOfRotation='0 0 0'>
304                      <Shape>
305                           <Appearance>
306                                <Material diffuseColor='0 .8 .1' emissiveColor='0 .8 .1'/>
307                           </Appearance>
308 
                         <!-- ROUTE information for TRACE_STRING node:  [from CONSTRUCT_TRACE_STRING.rotationMessage_changed to set_string ] -->
                         <Text DEF='TRACE_STRING' string='"Drag gimbals for new rotation value"'>
309                                <FontStyle justify='"MIDDLE" "MIDDLE"' size='4'/>
310                           </Text>
311                      </Shape>
312                 </Billboard>
313            </Transform>
314 
315                 <field name='roll' type='SFFloat' value='0.0' accessType='initializeOnly' appinfo='declared for persistence'/>
316                 <field name='elevation' type='SFFloat' value='0.0' accessType='initializeOnly' appinfo='declared for persistence'/>
317                 <field name='azimuth' type='SFFloat' value='0.0' accessType='initializeOnly' appinfo='declared for persistence'/>
318                 <field name='azimuth2' type='SFFloat' value='0.0' accessType='initializeOnly' appinfo='declared for persistence'/>
319                 <field name='newRotation' type='SFRotation' value='0 1 0 0' accessType='inputOutput' appinfo='declared for persistence'/>
320                 <field name='newRotationString' type='SFString' accessType='inputOutput' appinfo='declared for persistence'/>
321                 <field name='set_rollRotation' type='SFRotation' accessType='inputOnly'/>
322                 <field name='set_elevationRotation' type='SFRotation' accessType='inputOnly'/>
323                 <field name='set_azimuthRotation' type='SFRotation' accessType='inputOnly'/>
324                 <field name='rotationMessage_changed' type='MFString' accessType='outputOnly'/>
325            </Script>
326            < ROUTE  fromNode='ROLL_SENSOR' fromField='rotation_changed' toNode='ROLL_TRANSFORM' toField='set_rotation'/>
327            < ROUTE  fromNode='ELEVATION_SENSOR' fromField='rotation_changed' toNode='ELEVATION_TRANSFORM' toField='set_rotation'/>
328            < ROUTE  fromNode='AZIMUTH_SENSOR' fromField='rotation_changed' toNode='AZIMUTH_TRANSFORM' toField='set_rotation'/>
329            < ROUTE  fromNode='ROLL_SENSOR' fromField='rotation_changed' toNode='CONSTRUCT_TRACE_STRING' toField='set_rollRotation'/>
330            < ROUTE  fromNode='ELEVATION_SENSOR' fromField='rotation_changed' toNode='CONSTRUCT_TRACE_STRING' toField='set_elevationRotation'/>
331            < ROUTE  fromNode='AZIMUTH_SENSOR' fromField='rotation_changed' toNode='CONSTRUCT_TRACE_STRING' toField='set_azimuthRotation'/>
332            < ROUTE  fromNode='CONSTRUCT_TRACE_STRING' fromField='rotationMessage_changed' toNode='TRACE_STRING' toField='set_string'/>
333       </Scene>
334  </X3D>
<!--

Event Graph ROUTE Table shows event connections.

--> <!-- to top DEF nodes index: AppearanceBodyAxes, AppearanceGimbals, AZIMUTH_SENSOR, AZIMUTH_TRANSFORM, AzimuthGimbal, AzimuthGimbalShape, COLOR1, CONSTRUCT_TRACE_STRING, ELEVATION_SENSOR, ELEVATION_TRANSFORM, ElevationGimbal, ElevationGimbalShape, ElevationRollObjects, F18Superhornet, FONT1, FONT2, fromNEtoSW, fromSWtoNE, GimbalObjects, GlobalAxisLines, GlobalCoordinateAxes, LocalAxisLines, LocalCoordinateAxes, ModelChoice, ModelOrientation, NegativeXAxisLabel, NegativeXLocal, NegativeYAxisLabel, NegativeYLocal, NegativeZAxisLabel, NegativeZLocal, PinShape, PositiveXAxisLabel, PositiveXLocal, PositiveYAxisLabel, PositiveYLocal, PositiveZAxisLabel, PositiveZLocal, ROLL_SENSOR, ROLL_TRANSFORM, RollGimbal, RollGimbalShape, RollObjects, RotationText, ScaleUpContainedObject, SUN_MATERIAL, SunInDistance, TRACE_STRING, ViewpointGroup

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3, Viewpoint_4, Viewpoint_5, Viewpoint_6, Viewpoint_7, Viewpoint_8

-->

X3D Tooltips element index: to top Appearance, Background, Billboard, Cone, Coordinate, CylinderSensor, DirectionalLight, Extrusion, field, FontStyle, Group, head, IndexedLineSet, Inline, Material, meta, ROUTE, Scene, Script, Shape, Sphere, Switch, Text, Transform, Viewpoint, WorldInfo, X3D,
plus documentation for accessType definitions, type definitions, XML data types, and field types

🔖   Event Graph ROUTE Table entries with 7 ROUTE connections, showing X3D event-model relationships for this scene.

Each row with a ROUTE statement shows an event cascade that may occur during a single timestamp interval between frame renderings, performed as part of the X3D execution model.

AZIMUTH_SENSOR
CylinderSensor
rotation_changed
SFRotation
→
ROUTE
event to
(1)
AZIMUTH_TRANSFORM
Transform
set_rotation
SFRotation
AZIMUTH_SENSOR
CylinderSensor
rotation_changed
SFRotation
→
ROUTE
event to
(1)
CONSTRUCT_TRACE_STRING
Script
set_azimuthRotation
SFRotation
then
from
same
node
CONSTRUCT_TRACE_STRING
Script
rotationMessage_changed
MFString
→
ROUTE
event to
(2)
TRACE_STRING
Text
set_string
MFString

ELEVATION_SENSOR
CylinderSensor
rotation_changed
SFRotation
→
ROUTE
event to
(1)
ELEVATION_TRANSFORM
Transform
set_rotation
SFRotation
ELEVATION_SENSOR
CylinderSensor
rotation_changed
SFRotation
→
ROUTE
event to
(1)
CONSTRUCT_TRACE_STRING
Script
set_elevationRotation
SFRotation
then
from
same
node
CONSTRUCT_TRACE_STRING
Script
rotationMessage_changed
MFString
→
ROUTE
event to
(2)
TRACE_STRING
Text
set_string
MFString

ROLL_SENSOR
CylinderSensor
rotation_changed
SFRotation
→
ROUTE
event to
(1)
ROLL_TRANSFORM
Transform
set_rotation
SFRotation
ROLL_SENSOR
CylinderSensor
rotation_changed
SFRotation
→
ROUTE
event to
(1)
CONSTRUCT_TRACE_STRING
Script
set_rollRotation
SFRotation
then
from
same
node
CONSTRUCT_TRACE_STRING
Script
rotationMessage_changed
MFString
→
ROUTE
event to
(2)
TRACE_STRING
Text
set_string
MFString

      CONSTRUCT_TRACE_STRING
Script
rotationMessage_changed
MFString
→
ROUTE
event to
(1)
TRACE_STRING
Text
set_string
MFString

Additional guidance on X3D animation can be found in the 10-Step Animation Design Process and Event Tracing hint sheets.
Have fun with X3D! 😀

-->
go to online X3D Example Archives model page <!-- Online at
https://www.web3d.org/x3d/content/examples/Basic/DistributedInteractiveSimulation/GimbalsIndex.html -->
<!-- SourceForge version control Version control at    
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Basic/DistributedInteractiveSimulation/Gimbals.x3d -->

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

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