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. 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='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='18 March 2026'/>
 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='referencecontent='Scene Authoring Hints: Coordinate Systems and Rotations https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#CoordinateSystems'/>
 18            <meta name='referencecontent='original https://www.web3d.org/WorkingGroups/vrtp/demo/gimbals/DisCoordinateSystemGimbals.wrl'/>
 19            <meta name='generatorcontent='X3D-Edit 3.3, https://www.web3d.org/x3d/tools/X3D-Edit'/>
 20            <meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/Basic/DistributedInteractiveSimulation/Gimbals.x3d '/>
 21            <meta name='licensecontent='../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.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'/>
 26            <DirectionalLight color='0.5 0.4 0.0direction='1 -.5 1'/>
 27            <Group DEF='ViewpointGroup'>
 28                 <!-- have default Viewpoints precede model viewpoints for consistent navigation -->
 29                 <Viewpoint description='South to Northposition='0 15 100'/>
 30                 <Viewpoint description='East to Westorientation='0 1 0 1.57079position='120 20 0'/>
 31                 <Viewpoint description='North to Southorientation='0 1 0 -3.14159position='0 20 -120'/>
 32                 <Viewpoint description='West to Eastorientation='0 1 0 -1.57079position='-120 20 0'/>
 33                 <Viewpoint description='Close Uporientation='1 0 0 -.20136position='0 30 50'/>
 34                 <Transform DEF='fromNEtoSWrotation='0 1 0 0.7854translation='30 40 30'>
 35                      <Viewpoint description='Northeast to SWorientation='1 0 0 -0.45'/>
 36                 </Transform>
 37                 <Transform DEF='fromSWtoNErotation='0 1 0 -2.35619translation='-25 5 -25'>
 38                      <Viewpoint description='Southwest to NEorientation='1 0 0 0.35'/>
 39                 </Transform>
 40                 <Transform rotation='-1 0 0 1.57translation='0 150 0'>
 41                      <Viewpoint description='Top Downorientation='0 0 -1 1.57position='0 0 0'/>
 42                 </Transform>
 43            </Group>
 44            <Transform DEF='SunInDistancetranslation='-250 125 -250'>
 45                 <Shape>
 46                      <Appearance>
 47                           <Material DEF='SUN_MATERIALambientIntensity='0diffuseColor='1 0.871763 0emissiveColor='1 0.871763 0shininess='0.5specularColor='1 1 1'/>
 48                      </Appearance>
 49                      <Sphere radius='5.0'/>
 50                 </Shape>
 51            </Transform>
 52            <Transform DEF='GlobalCoordinateAxestranslation='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='COLOR1diffuseColor='0.01 0.01 0.1emissiveColor='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='PositiveZAxisLabeltranslation='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='FONT1justify='"MIDDLE" "MIDDLE"size='36'/>
 72                                     </Text>
 73                                </Shape>
 74                           </Transform>
 75                      </Billboard>
 76                 </Transform>
 77                 <Transform DEF='PositiveXAxisLabeltranslation='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='NegativeZAxisLabeltranslation='-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='NegativeXAxisLabeltranslation='-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='PositiveYAxisLabeltranslation='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='NegativeYAxisLabeltranslation='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='GimbalObjectsrotation='0 1 0 1.57translation='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_SENSORdescription='drag gimbal to change azimuth'/>
151                      <Transform DEF='AzimuthGimbalrotation='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='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'/>
158                                </Shape>
159                                <Transform rotation='0 0 1 1.57079translation='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.5height='1.5'/>
163                                     </Shape>
164                                </Transform>
165                                <Transform rotation='0 0 1 -1.57079translation='-12.75 0 0'>
166                                     <Shape USE='PinShape'/>
167                                </Transform>
168                           </Transform>
169                      </Transform>
170                      <Transform DEF='ElevationRollObjectsrotation='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_SENSORdescription='drag gimbal to change elevation'/>
173                                <Transform DEF='ElevationGimbalrotation='0 0 1 1.57079'>
174                                     <Transform DEF='ElevationGimbalShape'>
175                                          <Shape>
176                                               <Appearance USE='AppearanceGimbals'/>
177                                               <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'/>
178                                          </Shape>
179                                          <Transform rotation='1 0 0 -1.57079translation='0 0 10.75'>
180                                               <Shape USE='PinShape'/>
181                                          </Transform>
182                                          <Transform rotation='1 0 0 1.57079translation='0 0 -10.75'>
183                                               <Shape USE='PinShape'/>
184                                          </Transform>
185                                     </Transform>
186                                </Transform>
187                                <Transform DEF='RollObjectsrotation='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_SENSORdescription='drag gimbal to change roll'/>
190                                          <Transform DEF='RollGimbalrotation='1 0 0 1.57079'>
191                                               <Transform DEF='RollGimbalShape'>
192                                                    <Shape>
193                                                         <Appearance USE='AppearanceGimbals'/>
194                                                         <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'/>
195                                                    </Shape>
196                                               </Transform>
197                                               <Transform rotation='0 0 1 -1.57'>
198                                                    <Transform rotation='0 1 0 -1.57scale='0.4 0.4 0.4'>
199                                                         <Transform DEF='ScaleUpContainedObjectscale='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='ModelChoicewhichChoice='0'>
202                                                                   <Transform scale='0.4 0.4 0.4'>
203                                                                        <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" '/>
204                                                                   </Transform>
205                                                                   <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='LocalCoordinateAxesscale='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 0emissiveColor='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='PositiveXLocaltranslation='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='FONT2justify='"MIDDLE" "MIDDLE"size='48'/>
227                                                                                  </Text>
228                                                                             </Shape>
229                                                                        </Transform>
230                                                                   </Billboard>
231                                                              </Transform>
232                                                              <Transform DEF='NegativeXLocaltranslation='-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='PositiveZLocaltranslation='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='NegativeZLocaltranslation='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='PositiveYLocaltranslation='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='NegativeYLocaltranslation='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='RotationTexttranslation='0 -12 22'>
303                 <Billboard axisOfRotation='0 0 0'>
304                      <Shape>
305                           <Appearance>
306                                <Material diffuseColor='0 .8 .1emissiveColor='0 .8 .1'/>
307                           </Appearance>
308 
                         <!-- 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"'>
309                                <FontStyle justify='"MIDDLE" "MIDDLE"size='4'/>
310                           </Text>
311                      </Shape>
312                 </Billboard>
313            </Transform>
314 
315                 <field name='rolltype='SFFloatvalue='0.0accessType='initializeOnlyappinfo='declared for persistence'/>
316                 <field name='elevationtype='SFFloatvalue='0.0accessType='initializeOnlyappinfo='declared for persistence'/>
317                 <field name='azimuthtype='SFFloatvalue='0.0accessType='initializeOnlyappinfo='declared for persistence'/>
318                 <field name='azimuth2type='SFFloatvalue='0.0accessType='initializeOnlyappinfo='declared for persistence'/>
319                 <field name='newRotationtype='SFRotationvalue='0 1 0 0accessType='inputOutputappinfo='declared for persistence'/>
320                 <field name='newRotationStringtype='SFStringaccessType='inputOutputappinfo='declared for persistence'/>
321                 <field name='set_rollRotationtype='SFRotationaccessType='inputOnly'/>
322                 <field name='set_elevationRotationtype='SFRotationaccessType='inputOnly'/>
323                 <field name='set_azimuthRotationtype='SFRotationaccessType='inputOnly'/>
324                 <field name='rotationMessage_changedtype='MFStringaccessType='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: 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.

      CONSTRUCT_TRACE_STRING
Script
rotationMessage_changed
MFString

ROUTE
event to
(1)
TRACE_STRING
Text
set_string
MFString

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 -->
<!-- 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='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. -->