| 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='title' content=' LPD.x3d '/> |
| 6 | <meta name='description' content='Simple Landing Platform Dock (LPD) amphibious landing ship.'/> |
| 7 | <meta name='creator' content='Mike Hunsberger'/> |
| 8 | <meta name='created' content='28 January 2001'/> |
| 9 | <meta name='modified' content='20 October 2019'/> |
| 10 | <meta name='identifier' content=' https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/LandingPlatformDockLPD/LPD.x3d '/> |
| 11 | <meta name='reference' content='https://www.fas.org'/> |
| 12 | <meta name='reference' content="Information also obtained from Jane's Online Fighting Ship catalog"/> |
| 13 | <meta name='generator' content='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit'/> |
| 14 | <meta name='license' content='../../license.html'/> |
| 15 | </head> |
| 16 | <Scene> |
| 17 | <Viewpoint description='LPD: Landing Platform Dock' orientation='1 0 0 -0.2' position='-20 40 200'/> |
| 18 | <NavigationInfo speed='50'/> |
| 19 | <LOD range='1000 4000 20000'> |
| 20 | <!-- Close range is high resolution. Need to check scale. --> |
| 21 | <Group DEF='LPD'> |
| 22 | <Transform DEF='Hull'> |
| 23 | <Shape> |
| 24 | <Extrusion DEF='UpperForward' creaseAngle='1.57' crossSection='0 -16 0 16 8.1 16 8.1 -16 0 -16' orientation='0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 -0.4' scale='1 1 1.5 0.90 1.5 .75 1.5 .43 1.5 .1' solid='false' spine='-10.5 0 0 34 4 0 53.7 4 0 72 4 0 80 4.25 0'/> |
| 25 | <Appearance> |
| 26 | |
| 27 | </Appearance> |
| 28 | </Shape> |
| 29 | <Shape> |
| 30 | <Extrusion DEF='LowerAft' creaseAngle='1.57' crossSection='0 -16 0 -13 7 -13 7 13 0 13 0 16 7 16 8 14 8 -14 7 -16 0 -16' orientation='0 1 0 0 0 1 0 0 0 0 1 0' solid='false' spine='-117 -8 0 0 -8 0 1 -8 0'/> |
| 31 | <Appearance> |
| 32 | <Material USE='HullGray'/> |
| 33 | </Appearance> |
| 34 | </Shape> |
| 35 | <Shape> |
| 36 | <Extrusion DEF='LowerForward' creaseAngle='1.57' crossSection='0 -16 0 16 7 16 8 14 8 -14 7 -16 0 -16' orientation='0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0.3' scale='1 1 1 .75 1 .43 1 .2' solid='false' spine='1 -8 0 53.7 -8 0 70 -8 0 74 -7.5 0'/> |
| 37 | <Appearance> |
| 38 | <Material USE='HullGray'/> |
| 39 | </Appearance> |
| 40 | </Shape> |
| 41 | <Shape> |
| 42 | <Extrusion DEF='UpperAft' convex='false' creaseAngle='1.57' crossSection='0 -16 8.1 -16 8.1 -13 1 -13 1 13 8.1 13 8.1 16 0 16 0 -16' orientation='0 0 1 0.35 0 1 0 0 0 0 1 0' solid='false' spine='-120 0 0 -117 0 0 -10 0 0'/> |
| 43 | <Appearance> |
| 44 | <Material USE='HullGray'/> |
| 45 | </Appearance> |
| 46 | </Shape> |
| 47 | <Group DEF='LowerDoorWithOpenTouchSensor'> |
| 48 |
<!-- ROUTE information for OpenDoors node:
[from touchTime to Clock2.set_startTime
]
[from touchTime to Clock.set_startTime
]
-->
<TouchSensor DEF='OpenDoors' description='Open Doors'/> |
| 49 |
<!-- ROUTE information for LowerDoorOrientationInterpolator node:
[from Clock2.fraction_changed to set_fraction
]
[from value_changed to lowerDoor.set_rotation
]
-->
<OrientationInterpolator DEF='LowerDoorOrientationInterpolator' key='0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1' keyValue='0 0 -1 3.14 0 0 -1 2.95 0 0 -1 2.76 0 0 -1 2.56 0 0 -1 2.36 0 0 -1 2.16 0 0 -1 1.96 0 0 -1 1.76 0 0 -1 1.56 0 0 -1 1.36 0 0 -1 1.16'/> |
| 50 |
<!-- ROUTE information for Clock2 node:
[from OpenDoors.touchTime to set_startTime
]
[from fraction_changed to LowerDoorOrientationInterpolator.set_fraction
]
-->
<TimeSensor DEF='Clock2' cycleInterval='10'/> |
| 51 | < ROUTE fromNode='OpenDoors' fromField='touchTime' toNode='Clock2' toField='set_startTime'/> |
| 52 | < ROUTE fromNode='Clock2' fromField='fraction_changed' toNode='LowerDoorOrientationInterpolator' toField='set_fraction'/> |
| 53 | <Transform DEF='LowerWellDeckDoor'> |
| 54 |
<!-- ROUTE information for lowerDoor node:
[from LowerDoorOrientationInterpolator.value_changed to set_rotation
]
-->
<Transform DEF='lowerDoor' center='0 3.8 0' rotation='0 0 -1 3.14' translation='-116 -19 0'> |
| 55 | <Shape> |
| 56 | <Box size='0.25 7.6 26'/> |
| 57 | <Appearance> |
| 58 | <Material diffuseColor='0 0.66 1'/> |
| 59 | </Appearance> |
| 60 | </Shape> |
| 61 | </Transform> |
| 62 | </Transform> |
| 63 | < ROUTE fromNode='LowerDoorOrientationInterpolator' fromField='value_changed' toNode='lowerDoor' toField='set_rotation'/> |
| 64 | </Group> |
| 65 | <Group DEF='UpperDoorWithCloseTouchSensor'> |
| 66 |
<!-- ROUTE information for DoorOrientationInterpolator node:
[from Clock.fraction_changed to set_fraction
]
[from value_changed to UpperDoor.set_rotation
]
-->
<OrientationInterpolator DEF='DoorOrientationInterpolator' key='0 0.1 0.15 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1' keyValue='0 0 1 0.35 0 0 -1 0.26 0 0 -1 0.44 0 0 -1 0.52 0 0 -1 0.61 0 0 -1 0.70 0 0 -1 0.79 0 0 -1 0.87 0 0 -1 0.96 0 0 -1 1.10 0 0 -1 1.32 0 0 -1 1.45'/> |
| 67 |
<!-- ROUTE information for Clock node:
[from OpenDoors.touchTime to set_startTime
]
[from fraction_changed to DoorOrientationInterpolator.set_fraction
]
-->
<TimeSensor DEF='Clock' cycleInterval='10'/> |
| 68 | < ROUTE fromNode='OpenDoors' fromField='touchTime' toNode='Clock' toField='set_startTime'/> |
| 69 | < ROUTE fromNode='Clock' fromField='fraction_changed' toNode='DoorOrientationInterpolator' toField='set_fraction'/> |
| 70 | <Transform DEF='UpperWellDeckDoor'> |
| 71 |
<!-- ROUTE information for UpperDoor node:
[from DoorOrientationInterpolator.value_changed to set_rotation
]
-->
<Transform DEF='UpperDoor' center='0 4 0' rotation='0 0 1 0.35' translation='-119 -4.3 0'> |
| 72 | <Shape> |
| 73 | <Box size='0.25 8 26'/> |
| 74 | <Appearance> |
| 75 | <Material diffuseColor='0 0.66 1'/> |
| 76 | </Appearance> |
| 77 | </Shape> |
| 78 | </Transform> |
| 79 | </Transform> |
| 80 | < ROUTE fromNode='DoorOrientationInterpolator' fromField='value_changed' toNode='UpperDoor' toField='set_rotation'/> |
| 81 | </Group> |
| 82 | </Transform> |
| 83 | <Transform DEF='Superstructure'> |
| 84 | <Inline url=' "LPDSuperstructure.x3d" "https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/LandingPlatformDockLPD/LPDSuperstructure.x3d" "LPDSuperstructure.wrl" "https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/LandingPlatformDockLPD/LPDSuperstructure.wrl" '/> |
| 85 | </Transform> |
| 86 | </Group> |
| 87 | <!-- Medium range is low resolution --> |
| 88 | <Group DEF='LPDSimple'> |
| 89 | <Transform> |
| 90 | <Shape> |
| 91 | <Box size='208.5 27.5 31.9'/> |
| 92 | <Appearance> |
| 93 | <Material diffuseColor='0.65 0.65 0.65'/> |
| 94 | </Appearance> |
| 95 | </Shape> |
| 96 | </Transform> |
| 97 | </Group> |
| 98 | <!-- Long range is tactical symbol --> |
| 99 | <Group DEF='LPDSymbol'> |
| 100 | <Billboard axisOfRotation='0 0 0'> |
| 101 | <Transform> |
| 102 | <Shape> |
| 103 | <IndexedFaceSet ccw='false' coordIndex='0 1 2 3 4 -1'> |
| 104 | <Coordinate point='100 100 0 100 -100 0 -100 -100 0 -100 100 0 100 100 0'/> |
| 105 | </IndexedFaceSet> |
| 106 | <Appearance> |
| 107 |
<ImageTexture
url=' "LPDSymbol.png
" "https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/LandingPlatformDockLPD/LPDSymbol.png
" '/>
|
| 108 | </Appearance> |
| 109 | </Shape> |
| 110 | </Transform> |
| 111 | </Billboard> |
| 112 | </Group> |
| 113 | <!-- Extreme range is not rendered --> |
| 114 | <WorldInfo info='"null node"'/> |
| 115 | </LOD> |
| 116 | </Scene> |
| 117 | </X3D> |
Event Graph ROUTE Table entries with 6 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.
|
OpenDoors
TouchSensor touchTime SFTime |
Clock2
TimeSensor set_startTime SFTime |
then
|
Clock2
TimeSensor fraction_changed SFFloat |
LowerDoorOrientationInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
LowerDoorOrientationInterpolator
OrientationInterpolator value_changed SFRotation |
lowerDoor
Transform set_rotation SFRotation |
|||
|
OpenDoors
TouchSensor touchTime SFTime |
Clock
TimeSensor set_startTime SFTime |
then
|
Clock
TimeSensor fraction_changed SFFloat |
DoorOrientationInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
DoorOrientationInterpolator
OrientationInterpolator value_changed SFRotation |
UpperDoor
Transform set_rotation SFRotation |
<!--
Color-coding legend: X3D terminology
<X3dNode
DEF='idName' field='value'/>
matches XML terminology
<XmlElement
DEF='idName' attribute='value'/>
(Light-blue background: event-based behavior node or statement)
(Grey background inside box: inserted documentation)
(Magenta background: X3D Extensibility)
-->
<!--
For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints.
-->