X3D Model Documentation: Gimbals.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            <meta name='titlecontent=' Gimbals.x3d '/>
  6            <meta name='descriptioncontent='Gimbals for user-driven roll pitch and yaw angle conversions, also shows conversion from X3D (VRML) to DIS coordinate system. Model inspiration by Bob McGhee.'/>
  7            <meta name='creatorcontent='Eric Bachmann and Don Brutzman'/>
  8            <meta name='createdcontent='1996'/>
  9            <meta name='finishedcontent='19 April 1999'/>
 10            <meta name='translatorcontent='Curtis Blais'/>
 11            <meta name='translatedcontent='27 January 2001'/>
 12            <meta name='modifiedcontent='11 August 2025'/>
 13            <meta name='Imagecontent='GimbalsExampleX_ITE.png'/>
 14            <meta name='Imagecontent='GimbalsExampleF18.png'/>
 15            <meta name='Imagecontent='GimbalsExampleRocket.png'/>
 16            <meta name='hintcontent='Note that axis orientations are aligned with X3D Geospatial conventions'/>
 17            <meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/Basic/DistributedInteractiveSimulation/Gimbals.x3d '/>
 18            <meta name='referencecontent='https://www.web3d.org/WorkingGroups/vrtp/demo/gimbals/DisCoordinateSystemGimbals.wrl'/>
 19            <meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
 20            <meta name='licensecontent='../license.html'/>
 21       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top Index for DEF nodes: 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
-->
 22       <Scene>
 23            <WorldInfo title='Gimbals.x3d'/>
 24            <Background groundAngle='1.309 1.570796groundColor='0 0.3 1 0 0.3 1 0 0.3 1skyAngle='1.309 1.571skyColor='0 0.2 0.7 0 0.5 1 1 1 1'/>
 25            <DirectionalLight color='0.5 0.4 0.0direction='1 -.5 1'/>
 26            <Group DEF='ViewpointGroup'>
 27                 <!-- have default Viewpoints precede model viewpoints for consistent navigation -->
 28                 <Viewpoint description='South to Northposition='0 15 100'/>
 29                 <Viewpoint description='East to Westorientation='0 1 0 1.57079position='120 20 0'/>
 30                 <Viewpoint description='North to Southorientation='0 1 0 -3.14159position='0 20 -120'/>
 31                 <Viewpoint description='West to Eastorientation='0 1 0 -1.57079position='-120 20 0'/>
 32                 <Viewpoint description='Close Uporientation='1 0 0 -.20136position='0 30 50'/>
 33                 <Transform DEF='fromNEtoSWrotation='0 1 0 0.7854translation='30 40 30'>
 34                      <Viewpoint description='Northeast to SWorientation='1 0 0 -0.45'/>
 35                 </Transform>
 36                 <Transform DEF='fromSWtoNErotation='0 1 0 -2.35619translation='-25 5 -25'>
 37                      <Viewpoint description='Southwest to NEorientation='1 0 0 0.35'/>
 38                 </Transform>
 39                 <Transform rotation='-1 0 0 1.57translation='0 150 0'>
 40                      <Viewpoint description='Top Downorientation='0 0 -1 1.57position='0 0 0'/>
 41                 </Transform>
 42            </Group>
 43            <Transform DEF='SunInDistancetranslation='-250 125 -250'>
 44                 <Shape>
 45                      <Appearance>
 46                           <Material DEF='SUN_MATERIALambientIntensity='0diffuseColor='1 0.871763 0emissiveColor='1 0.871763 0shininess='0.5specularColor='1 1 1'/>
 47                      </Appearance>
 48                      <Sphere radius='5.0'/>
 49                 </Shape>
 50            </Transform>
 51            <Transform DEF='GlobalCoordinateAxestranslation='0 20 0'>
 52                 <Transform DEF='GlobalAxisLines'>
 53                      <Shape>
 54                           <Appearance>
 55 
                              <!-- 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='COLOR1diffuseColor='0.01 0.01 0.1emissiveColor='0.01 0.01 0.1'/>
 56                           </Appearance>
 57                           <IndexedLineSet coordIndex='0 1 -1 2 3 -1 4 5 -1 6 7 -1 8 9 -1 10 11 -1'>
 58                                <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'/>
 59                           </IndexedLineSet>
 60                      </Shape>
 61                 </Transform>
 62                 <Transform DEF='PositiveZAxisLabeltranslation='0 -4.0 40'>
 63                      <Billboard axisOfRotation='0 0 0'>
 64                           <Transform scale='0.1 0.1 0.1'>
 65                                <Shape>
 66                                     <Appearance>
 67                                          <Material USE='COLOR1'/>
 68                                     </Appearance>
 69                                     <Text string='"South" "+Z X3D, -X DIS"'>
 70 
                                        <!-- FontStyle FONT1 is a DEF node that has 5 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5 -->
                                        <FontStyle DEF='FONT1justify='"MIDDLE" "MIDDLE"size='36'/>
 71                                     </Text>
 72                                </Shape>
 73                           </Transform>
 74                      </Billboard>
 75                 </Transform>
 76                 <Transform DEF='PositiveXAxisLabeltranslation='44 -4.0 0'>
 77                      <Billboard axisOfRotation='0 0 0'>
 78                           <Transform scale='0.1 0.1 0.1'>
 79                                <Shape>
 80                                     <Appearance>
 81                                          <Material USE='COLOR1'/>
 82                                     </Appearance>
 83                                     <Text string='"East" "+X X3D, +Y DIS"'>
 84                                          <FontStyle USE='FONT1'/>
 85                                     </Text>
 86                                </Shape>
 87                           </Transform>
 88                      </Billboard>
 89                 </Transform>
 90                 <Transform DEF='NegativeZAxisLabeltranslation='-0.5 -4.0 -40'>
 91                      <Billboard axisOfRotation='0 0 0'>
 92                           <Transform scale='0.1 0.1 0.1'>
 93                                <Shape>
 94                                     <Appearance>
 95                                          <Material USE='COLOR1'/>
 96                                     </Appearance>
 97                                     <Text string='"North" "-Z X3D, +X DIS"'>
 98                                          <FontStyle USE='FONT1'/>
 99                                     </Text>
100                                </Shape>
101                           </Transform>
102                      </Billboard>
103                 </Transform>
104                 <Transform DEF='NegativeXAxisLabeltranslation='-44 -4.0 0'>
105                      <Billboard axisOfRotation='0 0 0'>
106                           <Transform scale='0.1 0.1 0.1'>
107                                <Shape>
108                                     <Appearance>
109                                          <Material USE='COLOR1'/>
110                                     </Appearance>
111                                     <Text string='"West" "-X X3D, -Y DIS"'>
112                                          <FontStyle USE='FONT1'/>
113                                     </Text>
114                                </Shape>
115                           </Transform>
116                      </Billboard>
117                 </Transform>
118                 <Transform DEF='PositiveYAxisLabeltranslation='0 30 0'>
119                      <Billboard axisOfRotation='0 0 0'>
120                           <Transform scale='0.1 0.1 0.1'>
121                                <Shape>
122                                     <Appearance>
123                                          <Material USE='COLOR1'/>
124                                     </Appearance>
125                                     <Text string='"Up" "+Y X3D, -Z DIS"'>
126                                          <FontStyle USE='FONT1'/>
127                                     </Text>
128                                </Shape>
129                           </Transform>
130                      </Billboard>
131                 </Transform>
132                 <Transform DEF='NegativeYAxisLabeltranslation='0 -28 0'>
133                      <Billboard axisOfRotation='0 0 0'>
134                           <Transform scale='0.1 0.1 0.1'>
135                                <Shape>
136                                     <Appearance>
137                                          <Material USE='COLOR1'/>
138                                     </Appearance>
139                                     <Text string='"Down" "-Y X3D, +Z DIS"'>
140                                          <FontStyle USE='FONT1'/>
141                                     </Text>
142                                </Shape>
143                           </Transform>
144                      </Billboard>
145                 </Transform>
146            </Transform>
147            <Transform DEF='GimbalObjectsrotation='0 1 0 1.57translation='0 20 0'>
148 
               <!-- ROUTE information for AZIMUTH_TRANSFORM node:  [from AZIMUTH_SENSOR.rotation_changed to set_rotation ] -->
               <Transform DEF='AZIMUTH_TRANSFORM'>
149 
                    <!-- 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_SENSORdescription='drag gimbal to change azimuth'/>
150                      <Transform DEF='AzimuthGimbalrotation='1 0 0 1.57079'>
151                           <Transform DEF='AzimuthGimbalShape'>
152                                <Shape>
153 
                                   <!-- Appearance AppearanceGimbals is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
                                   <Appearance DEF='AppearanceGimbals'>
154                                          <Material diffuseColor='1 0.59 0.3'/>
155                                     </Appearance>
156                                     <Extrusion beginCap='falseconvex='falsecreaseAngle='1.57crossSection='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 0endCap='falsesolid='falsespine='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'/>
157                                </Shape>
158                                <Transform rotation='0 0 1 1.57079translation='12.75 0 0'>
159 
                                   <!-- Shape PinShape is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
                                   <Shape DEF='PinShape'>
160                                          <Appearance USE='AppearanceGimbals'/>
161                                          <Cone bottomRadius='0.5height='1.5'/>
162                                     </Shape>
163                                </Transform>
164                                <Transform rotation='0 0 1 -1.57079translation='-12.75 0 0'>
165                                     <Shape USE='PinShape'/>
166                                </Transform>
167                           </Transform>
168                      </Transform>
169                      <Transform DEF='ElevationRollObjectsrotation='0 0 1 1.57'>
170 
                         <!-- ROUTE information for ELEVATION_TRANSFORM node:  [from ELEVATION_SENSOR.rotation_changed to set_rotation ] -->
                         <Transform DEF='ELEVATION_TRANSFORM'>
171 
                              <!-- 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_SENSORdescription='drag gimbal to change elevation'/>
172                                <Transform DEF='ElevationGimbalrotation='0 0 1 1.57079'>
173                                     <Transform DEF='ElevationGimbalShape'>
174                                          <Shape>
175                                               <Appearance USE='AppearanceGimbals'/>
176                                               <Extrusion beginCap='falseconvex='falsecreaseAngle='1.57crossSection='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 0endCap='falsesolid='falsespine='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'/>
177                                          </Shape>
178                                          <Transform rotation='1 0 0 -1.57079translation='0 0 10.75'>
179                                               <Shape USE='PinShape'/>
180                                          </Transform>
181                                          <Transform rotation='1 0 0 1.57079translation='0 0 -10.75'>
182                                               <Shape USE='PinShape'/>
183                                          </Transform>
184                                     </Transform>
185                                </Transform>
186                                <Transform DEF='RollObjectsrotation='1 0 0 -1.57'>
187 
                                   <!-- ROUTE information for ROLL_TRANSFORM node:  [from ROLL_SENSOR.rotation_changed to set_rotation ] -->
                                   <Transform DEF='ROLL_TRANSFORM'>
188 
                                        <!-- 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_SENSORdescription='drag gimbal to change roll'/>
189                                          <Transform DEF='RollGimbalrotation='1 0 0 1.57079'>
190                                               <Transform DEF='RollGimbalShape'>
191                                                    <Shape>
192                                                         <Appearance USE='AppearanceGimbals'/>
193                                                         <Extrusion beginCap='falseconvex='falsecreaseAngle='1.57crossSection='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 0endCap='falsesolid='falsespine='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'/>
194                                                    </Shape>
195                                               </Transform>
196                                               <Transform rotation='0 0 1 -1.57'>
197                                                    <Transform rotation='0 1 0 -1.57scale='0.4 0.4 0.4'>
198                                                         <Transform DEF='ScaleUpContainedObjectscale='6 6 6'>
199                                                              <!-- note that default is in a different library, so each Inline goes online for url retrieval if needed -->
200                                                              <Switch DEF='ModelChoicewhichChoice='0'>
201                                                                   <Transform scale='0.4 0.4 0.4'>
202                                                                        <Inline DEF='F18Superhornet'   url=' "../../Savage/AircraftFixedWing/F18SuperhornetUnitedStates/F18.x3d" "https://savage.nps.edu/Savage/AircraftFixedWing/F18SuperhornetUnitedStates/F18.x3d" "../../Savage/AircraftFixedWing/F18SuperhornetUnitedStates/F18.wrl" "https://savage.nps.edu/Savage/AircraftFixedWing/F18SuperhornetUnitedStates/F18.wrl" '/>
203                                                                   </Transform>
204                                                                   <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" '/>
205                                                                   <!-- you can add your model here -->
206                                                              </Switch>
207                                                         </Transform>
208                                                         <Transform DEF='LocalCoordinateAxesscale='0.65 0.65 0.65'>
209                                                              <Transform DEF='LocalAxisLines'>
210                                                                   <Shape>
211 
                                                                      <!-- 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'>
212                                                                             <Material diffuseColor='1 .8 0emissiveColor='1 .8 0'/>
213                                                                        </Appearance>
214                                                                        <IndexedLineSet coordIndex='0 1 -1 2 3 -1 4 5 -1'>
215                                                                             <Coordinate point='25 0 0 -25 0 0 0 25 0 0 -25 0 0 0 25 0 0 -25'/>
216                                                                        </IndexedLineSet>
217                                                                   </Shape>
218                                                              </Transform>
219                                                              <Transform DEF='PositiveXLocaltranslation='35 0 0'>
220                                                                   <Billboard axisOfRotation='0 0 0'>
221                                                                        <Transform scale='.1 .1 .1'>
222                                                                             <Shape>
223                                                                                  <Appearance USE='AppearanceBodyAxes'/>
224                                                                                  <Text string='"body +X nose"'>
225 
                                                                                     <!-- FontStyle FONT2 is a DEF node that has 5 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5 -->
                                                                                     <FontStyle DEF='FONT2justify='"MIDDLE" "MIDDLE"size='48'/>
226                                                                                  </Text>
227                                                                             </Shape>
228                                                                        </Transform>
229                                                                   </Billboard>
230                                                              </Transform>
231                                                              <Transform DEF='NegativeXLocaltranslation='-35 0 0'>
232                                                                   <Billboard axisOfRotation='0 0 0'>
233                                                                        <Transform scale='.1 .1 .1'>
234                                                                             <Shape>
235                                                                                  <Appearance USE='AppearanceBodyAxes'/>
236                                                                                  <Text string='"body -X tail"'>
237                                                                                       <FontStyle USE='FONT2'/>
238                                                                                  </Text>
239                                                                             </Shape>
240                                                                        </Transform>
241                                                                   </Billboard>
242                                                              </Transform>
243                                                              <Transform DEF='PositiveZLocaltranslation='0 -30 0'>
244                                                                   <Billboard axisOfRotation='0 0 0'>
245                                                                        <Transform scale='.1 .1 .1'>
246                                                                             <Shape>
247                                                                                  <Appearance USE='AppearanceBodyAxes'/>
248                                                                                  <Text string='"body -Y bottom"'>
249                                                                                       <FontStyle USE='FONT2'/>
250                                                                                  </Text>
251                                                                             </Shape>
252                                                                        </Transform>
253                                                                   </Billboard>
254                                                              </Transform>
255                                                              <Transform DEF='NegativeZLocaltranslation='0 26 0'>
256                                                                   <Billboard axisOfRotation='0 0 0'>
257                                                                        <Transform scale='.1 .1 .1'>
258                                                                             <Shape>
259                                                                                  <Appearance USE='AppearanceBodyAxes'/>
260                                                                                  <Text string='"body +Y top"'>
261                                                                                       <FontStyle USE='FONT2'/>
262                                                                                  </Text>
263                                                                             </Shape>
264                                                                        </Transform>
265                                                                   </Billboard>
266                                                              </Transform>
267                                                              <Transform DEF='PositiveYLocaltranslation='0 0 34'>
268                                                                   <Billboard axisOfRotation='0 0 0'>
269                                                                        <Transform scale='.1 .1 .1'>
270                                                                             <Shape>
271                                                                                  <Appearance USE='AppearanceBodyAxes'/>
272                                                                                  <Text string='"body +Z right"'>
273                                                                                       <FontStyle USE='FONT2'/>
274                                                                                  </Text>
275                                                                             </Shape>
276                                                                        </Transform>
277                                                                   </Billboard>
278                                                              </Transform>
279                                                              <Transform DEF='NegativeYLocaltranslation='0 0 -34'>
280                                                                   <Billboard axisOfRotation='0 0 0'>
281                                                                        <Transform scale='.1 .1 .1'>
282                                                                             <Shape>
283                                                                                  <Appearance USE='AppearanceBodyAxes'/>
284                                                                                  <Text string='"body -Z left"'>
285                                                                                       <FontStyle USE='FONT2'/>
286                                                                                  </Text>
287                                                                             </Shape>
288                                                                        </Transform>
289                                                                   </Billboard>
290                                                              </Transform>
291                                                         </Transform>
292                                                    </Transform>
293                                               </Transform>
294                                          </Transform>
295                                     </Transform>
296                                </Transform>
297                           </Transform>
298                      </Transform>
299                 </Transform>
300            </Transform>
301            <Transform DEF='RotationTexttranslation='0 -12 22'>
302                 <Billboard axisOfRotation='0 0 0'>
303                      <Shape>
304                           <Appearance>
305                                <Material diffuseColor='0 .8 .1emissiveColor='0 .8 .1'/>
306                           </Appearance>
307 
                         <!-- ROUTE information for TRACE_STRING node:  [from CONSTRUCT_TRACE_STRING.rotationMessage_changed to set_string ] -->
                         <Text DEF='TRACE_STRINGstring='"Drag gimbals for new rotation value"'>
308                                <FontStyle justify='"MIDDLE" "MIDDLE"size='4'/>
309                           </Text>
310                      </Shape>
311                 </Billboard>
312            </Transform>
313 
314                 <field name='rolltype='SFFloatvalue='0.0accessType='initializeOnly'
                appinfo='declared for persistence'/>
315                 <field name='elevationtype='SFFloatvalue='0.0accessType='initializeOnly'
                appinfo='declared for persistence'/>
316                 <field name='azimuthtype='SFFloatvalue='0.0accessType='initializeOnly'
                appinfo='declared for persistence'/>
317                 <field name='azimuth2type='SFFloatvalue='0.0accessType='initializeOnly'
                appinfo='declared for persistence'/>
318                 <field name='newRotationtype='SFRotationvalue='0 1 0 0accessType='inputOutput'
                appinfo='declared for persistence'/>
319                 <field name='newRotationStringtype='SFStringaccessType='inputOutput'
                appinfo='declared for persistence'/>
320                 <field name='set_rollRotationtype='SFRotationaccessType='inputOnly'/>
321                 <field name='set_elevationRotationtype='SFRotationaccessType='inputOnly'/>
322                 <field name='set_azimuthRotationtype='SFRotationaccessType='inputOnly'/>
323                 <field name='rotationMessage_changedtype='MFStringaccessType='outputOnly'/>
324            </Script>
325            < ROUTE  fromNode='ROLL_SENSOR' fromField='rotation_changed' toNode='ROLL_TRANSFORM' toField='set_rotation'/>
326            < ROUTE  fromNode='ELEVATION_SENSOR' fromField='rotation_changed' toNode='ELEVATION_TRANSFORM' toField='set_rotation'/>
327            < ROUTE  fromNode='AZIMUTH_SENSOR' fromField='rotation_changed' toNode='AZIMUTH_TRANSFORM' toField='set_rotation'/>
328            < ROUTE  fromNode='ROLL_SENSOR' fromField='rotation_changed' toNode='CONSTRUCT_TRACE_STRING' toField='set_rollRotation'/>
329            < ROUTE  fromNode='ELEVATION_SENSOR' fromField='rotation_changed' toNode='CONSTRUCT_TRACE_STRING' toField='set_elevationRotation'/>
330            < ROUTE  fromNode='AZIMUTH_SENSOR' fromField='rotation_changed' toNode='CONSTRUCT_TRACE_STRING' toField='set_azimuthRotation'/>
331            < ROUTE  fromNode='CONSTRUCT_TRACE_STRING' fromField='rotationMessage_changed' toNode='TRACE_STRING' toField='set_string'/>
332       </Scene>
333  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top Index for DEF nodes: 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: 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 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.

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
 
 
 
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
 
 
 
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
 
 
 
CONSTRUCT_TRACE_STRING
Script
rotationMessage_changed
MFString

ROUTE
event to
(2)
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! 😀

-->
<!-- Online at
https://www.web3d.org/x3d/content/examples/Basic/DistributedInteractiveSimulation/GimbalsIndex.html -->
<!-- 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='idNamefield='value'/> matches XML terminology <XmlElement  DEF='idNameattribute='value'/>
(Light-blue background: event-based behavior node or statement) (Grey background inside box: inserted documentation) (Magenta background: X3D Extensibility)
-->

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