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![]() ![]() |
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.
-->