X3D Model Documentation: LosAngelesClassSubmarineFlight1.x3d

  1  <?xml version="1.0" encoding="UTF-8"?>
  2 
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "https://www.web3d.org/specifications/x3d-3.0.dtd">
  3  <X3D profile='Immersive' version='3.0 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.0.xsd'>
  4       <head>
  5            <meta name='titlecontent=' LosAngelesClassSubmarineFlight1.x3d '/>
  6            <meta name='descriptioncontent='Primary model to bring together all the individual parts of a First Flight 688 class submarine.'/>
  7            <meta name='creatorcontent='LT Ken Curtin'/>
  8            <meta name='createdcontent='7 August 2003'/>
  9            <meta name='modifiedcontent='28 November 2019'/>
 10            <meta name='referencecontent=' https://www.fas.org/man/dod-101/sys/ship/ssn-688.htm '/>
 11            <meta name='referencecontent=' http://www.combatindex.com/store/3d/ssn688_model.html '/>
 12            <meta name='subjectcontent='688, Los Angeles, Submarine'/>
 13            <meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/Savage/Submarines/SsnLosAngelesUnitedStates/LosAngelesClassSubmarineFlight1.x3d '/>
 14            <meta name='generatorcontent='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit'/>
 15            <meta name='licensecontent='../../license.html'/>
 16       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: AllAhead1_3, BringInHull, BringInRudder, BringInSail, BringInScrew, BringInSternPlanes, LosAngelesClassSubmarine, MoveClock, MovePath, MoveRotate, MoveRudder, MoveSternPlanes, MoveSubAround, RotateSternPlanes, Rudder, RudderRotation, RudderTimer, StartSub, StartSubMoving, SternPlanes, SternPlaneTimer

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3, Viewpoint_4, Viewpoint_5, Viewpoint_6, Viewpoint_7
-->
 17       <Scene>
 18            <WorldInfo title='LosAngelesClassSubmarineFlight1.x3d'/>
 19            <Background groundColor='0 0 .8'/>
 20 
          <!-- ROUTE information for MoveSubAround node:  [from MovePath.value_changed to set_translation ] [from MoveRotate.value_changed to set_rotation ] -->
          <Transform DEF='MoveSubAround'>
 21                 <Group DEF='LosAngelesClassSubmarine'>
 22                      <Transform DEF='BringInHull'>
 23                           <Inline   url=' "Hull.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Submarines/SsnLosAngelesUnitedStates/Hull.x3d" "Hull.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Submarines/SsnLosAngelesUnitedStates/Hull.wrl" '/>
 24                      </Transform>
 25                      <Transform DEF='BringInSailtranslation='24.84 4.9 0'>
 26                           <Inline   url=' "Sail.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Submarines/SsnLosAngelesUnitedStates/Sail.x3d" "Sail.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Submarines/SsnLosAngelesUnitedStates/Sail.wrl" '/>
 27                      </Transform>
 28                      <Transform DEF='BringInSternPlanesrotation='1 0 0 -1.57translation='-50.92 0 6'>
 29 
                         <!-- ROUTE information for SternPlanes node:  [from RotateSternPlanes.value_changed to set_rotation ] -->
                         <Transform DEF='SternPlanescenter='3 0 0'>
 30 
                              <!-- ROUTE information for MoveSternPlanes node:  [from touchTime to SternPlaneTimer.set_startTime ] -->
                              <TouchSensor DEF='MoveSternPlanesdescription='Activates the Stern Planes'/>
 31 
                              <!-- ROUTE information for SternPlaneTimer node:  [from MoveSternPlanes.touchTime to set_startTime ] [from fraction_changed to RotateSternPlanes.set_fraction ] -->
                              <TimeSensor DEF='SternPlaneTimer'/>
 32                                < ROUTE  fromNode='MoveSternPlanes' fromField='touchTime' toNode='SternPlaneTimer' toField='set_startTime'/>
 33 
                              <!-- ROUTE information for RotateSternPlanes node:  [from SternPlaneTimer.fraction_changed to set_fraction ] [from value_changed to SternPlanes.set_rotation ] -->
                              <OrientationInterpolator DEF='RotateSternPlaneskey='0 .25 .50 .75 1.0keyValue='0 1 0 0.0 0 1 0 0.52 0 1 0 0.00 0 1 0 -0.52 0 1 0 0.00'/>
 34                                < ROUTE  fromNode='SternPlaneTimer' fromField='fraction_changed' toNode='RotateSternPlanes' toField='set_fraction'/>
 35                                < ROUTE  fromNode='RotateSternPlanes' fromField='value_changed' toNode='SternPlanes' toField='set_rotation'/>
 36                                <Inline   url=' "Planes.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Submarines/SsnLosAngelesUnitedStates/Planes.x3d" '/>
 37                           </Transform>
 38                      </Transform>
 39                      <Transform DEF='BringInRuddertranslation='-50.92 -4.72 0'>
 40 
                         <!-- ROUTE information for Rudder node:  [from RudderRotation.value_changed to set_rotation ] -->
                         <Transform DEF='Ruddercenter='3 0 0'>
 41 
                              <!-- ROUTE information for MoveRudder node:  [from touchTime to RudderTimer.set_startTime ] -->
                              <TouchSensor DEF='MoveRudderdescription='Activates the Rudder'/>
 42 
                              <!-- ROUTE information for RudderTimer node:  [from MoveRudder.touchTime to set_startTime ] [from fraction_changed to RudderRotation.set_fraction ] -->
                              <TimeSensor DEF='RudderTimer'/>
 43                                < ROUTE  fromNode='MoveRudder' fromField='touchTime' toNode='RudderTimer' toField='set_startTime'/>
 44 
                              <!-- ROUTE information for RudderRotation node:  [from RudderTimer.fraction_changed to set_fraction ] [from value_changed to Rudder.set_rotation ] -->
                              <OrientationInterpolator DEF='RudderRotationkey='0 .25 .50 .75 1.0keyValue='0 1 0 0.0 0 1 0 0.52 0 1 0 0.00 0 1 0 -0.52 0 1 0 0.00'/>
 45                                < ROUTE  fromNode='RudderTimer' fromField='fraction_changed' toNode='RudderRotation' toField='set_fraction'/>
 46                                < ROUTE  fromNode='RudderRotation' fromField='value_changed' toNode='Rudder' toField='set_rotation'/>
 47                                <Inline   url=' "Rudder.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Submarines/SsnLosAngelesUnitedStates/Rudder.x3d" '/>
 48                           </Transform>
 49                      </Transform>
 50                      <Transform DEF='BringInScrewrotation='0 1 0 -1.57scale='1.1 1.1 1.1translation='-53.2 0 0'>
 51                           <Inline   url=' "../../Submarines/Various/Type209GlafkosDieselSubmarinePropeller.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Submarines/Various/Type209GlafkosDieselSubmarinePropeller.x3d" "../../Submarines/Various/Type209GlafkosDieselSubmarinePropeller.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Submarines/Various/Type209GlafkosDieselSubmarinePropeller.wrl" '/>
 52                      </Transform>
 53                 </Group>
 54            </Transform>
 55            <Transform DEF='AllAhead1_3translation='0 40 0'>
 56                 <Shape DEF='StartSubMoving'>
 57                      <Text string=' "All Ahead 1/3" '>
 58                           <FontStyle size='10'/>
 59                      </Text>
 60                      <Appearance>
 61                           <Material diffuseColor='1 1 0'/>
 62                      </Appearance>
 63                 </Shape>
 64 
               <!-- ROUTE information for StartSub node:  [from touchTime to MoveClock.set_startTime ] -->
               <TouchSensor DEF='StartSubdescription='Activates the Submarine Movement'/>
 65 
               <!-- ROUTE information for MoveClock node:  [from StartSub.touchTime to set_startTime ] [from fraction_changed to MovePath.set_fraction ] [from fraction_changed to MoveRotate.set_fraction ] -->
               <TimeSensor DEF='MoveClockcycleInterval='40'/>
 66 
               <!-- ROUTE information for MovePath node:  [from MoveClock.fraction_changed to set_fraction ] [from value_changed to MoveSubAround.set_translation ] -->
               <PositionInterpolator DEF='MovePathkey='0 .125 .250 .375 .5 .625 .750 .875 1keyValue='0 0 0 100 0 -100 200 0 -200 100 0 -300 0 0 -400 -100 0 -300 -200 0 -200 -100 0 100 0 0 0'/>
 67 
               <!-- ROUTE information for MoveRotate node:  [from MoveClock.fraction_changed to set_fraction ] [from value_changed to MoveSubAround.set_rotation ] -->
               <OrientationInterpolator DEF='MoveRotatekey='0 .125 .250 .375 .5 .625 .750 .875 1keyValue='0 0 0 0 0 1 0 .785 0 1 0 1.571 0 1 0 2.357 0 1 0 3.14 0 1 0 3.928 0 1 0 4.712 0 1 0 5.498 0 0 0 6.28'/>
 68                 < ROUTE  fromNode='StartSub' fromField='touchTime' toNode='MoveClock' toField='set_startTime'/>
 69                 < ROUTE  fromNode='MoveClock' fromField='fraction_changed' toNode='MovePath' toField='set_fraction'/>
 70                 < ROUTE  fromNode='MoveClock' fromField='fraction_changed' toNode='MoveRotate' toField='set_fraction'/>
 71                 < ROUTE  fromNode='MovePath' fromField='value_changed' toNode='MoveSubAround' toField='set_translation'/>
 72                 < ROUTE  fromNode='MoveRotate' fromField='value_changed' toNode='MoveSubAround' toField='set_rotation'/>
 73            </Transform>
 74            <Viewpoint description='FarAwayorientation='-0.344 0.933 0.109 0.2504position='80 13.9 300.3'/>
 75            <Viewpoint description='StbdVieworientation='-0.344 0.933 0.109 0.2504position='30 13.9 83.3'/>
 76            <Viewpoint description='SailFrontorientation='-0.195 0.949 0.249 1.1171position='50.6 18.3 13.3'/>
 77            <Viewpoint description='TopDownorientation='-0.887 0.46 0.045 1.6075position='45.7 83.9 -5.4'/>
 78            <Viewpoint description='Bottomorientation='-0.35 0.737 -0.578 2.4783position='78.3 -34.8 -15.6'/>
 79            <Viewpoint description='RearVieworientation='-0.36 -0.894 0.266 1.6014position='-84.7 12.9 -1.6'/>
 80            <Viewpoint description='PortVieworientation='0.15 0.963 0.223 2.8124position='44.4 39.2 -78.3'/>
 81       </Scene>
 82  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: AllAhead1_3, BringInHull, BringInRudder, BringInSail, BringInScrew, BringInSternPlanes, LosAngelesClassSubmarine, MoveClock, MovePath, MoveRotate, MoveRudder, MoveSternPlanes, MoveSubAround, RotateSternPlanes, Rudder, RudderRotation, RudderTimer, StartSub, StartSubMoving, SternPlanes, SternPlaneTimer

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3, Viewpoint_4, Viewpoint_5, Viewpoint_6, Viewpoint_7
-->
X3D Tooltips element index: Appearance, Background, FontStyle, Group, head, Inline, Material, meta, OrientationInterpolator, PositionInterpolator, ROUTE, Scene, Shape, Text, TimeSensor, TouchSensor, Transform, Viewpoint, WorldInfo, X3D, plus documentation for accessType definitions, type definitions, XML data types, and field types

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

MoveRudder
TouchSensor
touchTime
SFTime

ROUTE
event to
(1)
RudderTimer
TimeSensor
set_startTime
SFTime
then
 
 
 
RudderTimer
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
RudderRotation
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
RudderRotation
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
Rudder
Transform
set_rotation
SFRotation

MoveSternPlanes
TouchSensor
touchTime
SFTime

ROUTE
event to
(1)
SternPlaneTimer
TimeSensor
set_startTime
SFTime
then
 
 
 
SternPlaneTimer
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
RotateSternPlanes
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
RotateSternPlanes
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
SternPlanes
Transform
set_rotation
SFRotation

StartSub
TouchSensor
touchTime
SFTime

ROUTE
event to
(1)
MoveClock
TimeSensor
set_startTime
SFTime
then
 
 
 
MoveClock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
MovePath
PositionInterpolator
set_fraction
SFFloat
then
 
 
 
MovePath
PositionInterpolator
value_changed
SFVec3f

ROUTE
event to
(3)
MoveSubAround
Transform
set_translation
SFVec3f
  then
 
 
 
MoveClock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
MoveRotate
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
MoveRotate
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
MoveSubAround
Transform
set_rotation
SFRotation


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/Savage/Submarines/SsnLosAngelesUnitedStates/LosAngelesClassSubmarineFlight1Index.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Savage/Submarines/SsnLosAngelesUnitedStates/LosAngelesClassSubmarineFlight1.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. -->