<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.2//EN" "https://www.web3d.org/specifications/x3d-3.2.dtd">
<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
'
>
<head>
</head>
<!--
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 and
Event Graph ROUTE Table
Index for Viewpoint nodes:
Viewpoint_1,
Viewpoint_2,
Viewpoint_3,
Viewpoint_4,
Viewpoint_5,
Viewpoint_6,
Viewpoint_7,
Viewpoint_8
-->
<Scene>
<WorldInfo title='Gimbals.x3d'/>
<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'/>
<DirectionalLight color='0.5 0.4 0.0' direction='1 -.5 1'/>
<Group DEF='ViewpointGroup'>
<!-- have default Viewpoints precede model viewpoints for consistent navigation here!!! -->
<Viewpoint description='South to North' position='0 15 100'/>
<Viewpoint description='East to West' orientation='0 1 0 1.57079' position='120 20 0'/>
<Viewpoint description='North to South' orientation='0 1 0 -3.14159' position='0 20 -120'/>
<Viewpoint description='West to East' orientation='0 1 0 -1.57079' position='-120 20 0'/>
<Viewpoint description='Close Up' orientation='1 0 0 -.20136' position='0 30 50'/>
<Transform DEF='fromNEtoSW' rotation='0 1 0 0.7854' translation='30 40 30'>
</Transform>
<Transform DEF='fromSWtoNE' rotation='0 1 0 -2.35619' translation='-25 5 -25'>
</Transform>
<Transform rotation='-1 0 0 1.57' translation='0 150 0'>
<Viewpoint description='Top Down' orientation='0 0 -1 1.57' position='0 0 0'/>
</Transform>
</Group>
<Transform DEF='SunInDistance' translation='-250 125 -250'>
<Shape>
<Appearance>
<Material DEF='SUN_MATERIAL' ambientIntensity='0' diffuseColor='1 0.871763 0' emissiveColor='1 0.871763 0' shininess='0.5' specularColor='1 1 1'/>
</Appearance>
<Sphere radius='5.0'/>
</Shape>
</Transform>
<Transform DEF='GlobalCoordinateAxes' translation='0 20 0'>
<Transform DEF='GlobalAxisLines'>
<Shape>
<Appearance>
<Material DEF='COLOR1' diffuseColor='0.01 0.01 0.1' emissiveColor='0.01 0.01 0.1'/>
</Appearance>
<IndexedLineSet coordIndex='0 1 -1 2 3 -1 4 5 -1 6 7 -1 8 9 -1 10 11 -1'>
<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'/>
</IndexedLineSet>
</Shape>
</Transform>
<Transform DEF='PositiveZAxisLabel' translation='0 -4.0 40'>
<Billboard axisOfRotation='0 0 0'>
<Transform scale='0.1 0.1 0.1'>
<Shape>
<Appearance>
</Appearance>
<Text string='"South" "+Z X3D, -X DIS"'>
<FontStyle DEF='FONT1' justify='"MIDDLE" "MIDDLE"' size='36'/>
</Text>
</Shape>
</Transform>
</Billboard>
</Transform>
<Transform DEF='PositiveXAxisLabel' translation='44 -4.0 0'>
<Billboard axisOfRotation='0 0 0'>
<Transform scale='0.1 0.1 0.1'>
<Shape>
<Appearance>
</Appearance>
<Text string='"East" "+X X3D, +Y DIS"'>
<FontStyle USE='
FONT1'/>
</Text>
</Shape>
</Transform>
</Billboard>
</Transform>
<Transform DEF='NegativeZAxisLabel' translation='-0.5 -4.0 -40'>
<Billboard axisOfRotation='0 0 0'>
<Transform scale='0.1 0.1 0.1'>
<Shape>
<Appearance>
</Appearance>
<Text string='"North" "-Z X3D, +X DIS"'>
<FontStyle USE='
FONT1'/>
</Text>
</Shape>
</Transform>
</Billboard>
</Transform>
<Transform DEF='NegativeXAxisLabel' translation='-44 -4.0 0'>
<Billboard axisOfRotation='0 0 0'>
<Transform scale='0.1 0.1 0.1'>
<Shape>
<Appearance>
</Appearance>
<Text string='"West" "-X X3D, -Y DIS"'>
<FontStyle USE='
FONT1'/>
</Text>
</Shape>
</Transform>
</Billboard>
</Transform>
<Transform DEF='PositiveYAxisLabel' translation='0 30 0'>
<Billboard axisOfRotation='0 0 0'>
<Transform scale='0.1 0.1 0.1'>
<Shape>
<Appearance>
</Appearance>
<Text string='"Up" "+Y X3D, -Z DIS"'>
<FontStyle USE='
FONT1'/>
</Text>
</Shape>
</Transform>
</Billboard>
</Transform>
<Transform DEF='NegativeYAxisLabel' translation='0 -28 0'>
<Billboard axisOfRotation='0 0 0'>
<Transform scale='0.1 0.1 0.1'>
<Shape>
<Appearance>
</Appearance>
<Text string='"Down" "-Y X3D, +Z DIS"'>
<FontStyle USE='
FONT1'/>
</Text>
</Shape>
</Transform>
</Billboard>
</Transform>
</Transform>
<Transform DEF='GimbalObjects' rotation='0 1 0 1.57' translation='0 20 0'>
<Transform DEF='AzimuthGimbal' rotation='1 0 0 1.57079'>
<Transform DEF='AzimuthGimbalShape'>
<Shape>
</Shape>
<Transform rotation='0 0 1 1.57079' translation='12.75 0 0'>
</Transform>
<Transform rotation='0 0 1 -1.57079' translation='-12.75 0 0'>
</Transform>
</Transform>
</Transform>
<Transform DEF='ElevationRollObjects' rotation='0 0 1 1.57'>
<Transform DEF='ElevationGimbal' rotation='0 0 1 1.57079'>
<Transform DEF='ElevationGimbalShape'>
<Shape>
</Shape>
<Transform rotation='1 0 0 -1.57079' translation='0 0 10.75'>
</Transform>
<Transform rotation='1 0 0 1.57079' translation='0 0 -10.75'>
</Transform>
</Transform>
</Transform>
<Transform DEF='RollObjects' rotation='1 0 0 -1.57'>
<Transform DEF='RollGimbal' rotation='1 0 0 1.57079'>
<Transform DEF='RollGimbalShape'>
</Transform>
<Transform rotation='0 0 1 -1.57'>
<Transform rotation='0 1 0 -1.57' scale='0.4 0.4 0.4'>
<Transform DEF='ScaleUpContainedObject' scale='6 6 6'>
<!-- note that default is in a different library, so each Inline goes online for url retrieval if needed here!!! -->
<Switch DEF='ModelChoice' whichChoice='0'>
</Switch>
</Transform>
<Transform DEF='LocalCoordinateAxes' scale='0.65 0.65 0.65'>
<Transform DEF='LocalAxisLines'>
<Shape>
<Appearance DEF='AppearanceBodyAxes'>
<Material diffuseColor='1 .8 0' emissiveColor='1 .8 0'/>
</Appearance>
<IndexedLineSet coordIndex='0 1 -1 2 3 -1 4 5 -1'>
<Coordinate point='25 0 0 -25 0 0 0 25 0 0 -25 0 0 0 25 0 0 -25'/>
</IndexedLineSet>
</Shape>
</Transform>
<Transform DEF='PositiveXLocal' translation='35 0 0'>
<Billboard axisOfRotation='0 0 0'>
<Transform scale='.1 .1 .1'>
<Shape>
<Appearance USE='
AppearanceBodyAxes'/>
<Text string='"body +X nose"'>
<FontStyle DEF='FONT2' justify='"MIDDLE" "MIDDLE"' size='48'/>
</Text>
</Shape>
</Transform>
</Billboard>
</Transform>
<Transform DEF='NegativeXLocal' translation='-35 0 0'>
<Billboard axisOfRotation='0 0 0'>
<Transform scale='.1 .1 .1'>
</Transform>
</Billboard>
</Transform>
<Transform DEF='PositiveZLocal' translation='0 -30 0'>
<Billboard axisOfRotation='0 0 0'>
<Transform scale='.1 .1 .1'>
</Transform>
</Billboard>
</Transform>
<Transform DEF='NegativeZLocal' translation='0 26 0'>
<Billboard axisOfRotation='0 0 0'>
<Transform scale='.1 .1 .1'>
</Transform>
</Billboard>
</Transform>
<Transform DEF='PositiveYLocal' translation='0 0 34'>
<Billboard axisOfRotation='0 0 0'>
<Transform scale='.1 .1 .1'>
</Transform>
</Billboard>
</Transform>
<Transform DEF='NegativeYLocal' translation='0 0 -34'>
<Billboard axisOfRotation='0 0 0'>
<Transform scale='.1 .1 .1'>
</Transform>
</Billboard>
</Transform>
</Transform>
</Transform>
</Transform>
</Transform>
</Transform>
</Transform>
</Transform>
</Transform>
</Transform>
</Transform>
<Transform DEF='RotationText' translation='0 -12 22'>
<Billboard axisOfRotation='0 0 0'>
<Shape>
<Appearance>
<Material diffuseColor='0 .8 .1' emissiveColor='0 .8 .1'/>
</Appearance>
<FontStyle justify='"MIDDLE" "MIDDLE"' size='4'/>
</Text>
</Shape>
</Billboard>
</Transform>
<field name='roll' type='SFFloat' value='0.0' accessType='initializeOnly'
appinfo='declared for persistence'
/>
<field name='elevation' type='SFFloat' value='0.0' accessType='initializeOnly'
appinfo='declared for persistence'
/>
<field name='azimuth' type='SFFloat' value='0.0' accessType='initializeOnly'
appinfo='declared for persistence'
/>
<field name='azimuth2' type='SFFloat' value='0.0' accessType='initializeOnly'
appinfo='declared for persistence'
/>
<field name='newRotation' type='SFRotation' value='0 1 0 0' accessType='inputOutput'
appinfo='declared for persistence'
/>
<field name='newRotationString' type='SFString' accessType='inputOutput'
appinfo='declared for persistence'
/>
<field name='set_rollRotation' type='SFRotation' accessType='inputOnly'/>
<field name='set_elevationRotation' type='SFRotation' accessType='inputOnly'/>
<field name='set_azimuthRotation' type='SFRotation' accessType='inputOnly'/>
<field name='rotationMessage_changed' type='MFString' accessType='outputOnly'/>
</Script>
<
ROUTE
fromNode='
ROLL_SENSOR' fromField='rotation_changed' toNode='
ROLL_TRANSFORM' toField='set_rotation'/>
<
ROUTE
fromNode='
ELEVATION_SENSOR' fromField='rotation_changed' toNode='
ELEVATION_TRANSFORM' toField='set_rotation'/>
<
ROUTE
fromNode='
AZIMUTH_SENSOR' fromField='rotation_changed' toNode='
AZIMUTH_TRANSFORM' toField='set_rotation'/>
<
ROUTE
fromNode='
ROLL_SENSOR' fromField='rotation_changed' toNode='
CONSTRUCT_TRACE_STRING' toField='set_rollRotation'/>
<
ROUTE
fromNode='
ELEVATION_SENSOR' fromField='rotation_changed' toNode='
CONSTRUCT_TRACE_STRING' toField='set_elevationRotation'/>
<
ROUTE
fromNode='
AZIMUTH_SENSOR' fromField='rotation_changed' toNode='
CONSTRUCT_TRACE_STRING' toField='set_azimuthRotation'/>
<
ROUTE
fromNode='
CONSTRUCT_TRACE_STRING' fromField='rotationMessage_changed' toNode='
TRACE_STRING' toField='set_string'/>
</Scene>
</X3D>
<!--
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 and
Event Graph ROUTE Table
Index for Viewpoint nodes:
Viewpoint_1,
Viewpoint_2,
Viewpoint_3,
Viewpoint_4,
Viewpoint_5,
Viewpoint_6,
Viewpoint_7,
Viewpoint_8
-->
-->
<!--
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 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)
-->
<!--
For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints.
-->