1 |
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.1//EN" "https://www.web3d.org/specifications/x3d-3.1.dtd">
|
3 | <X3D profile='Immersive' version='3.1' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.1.xsd'> |
4 | <head> |
5 | <meta name='title' content=' ArleighBurkePrototype.x3d '/> |
6 | <meta name='description' content="Arleigh Burke Prototype model without missiles and corresponding routes, built for USS Cole Model. Click on ship's hull to trigger explosion on port side."/> |
7 | <meta name='creator' content='James Harney'/> |
8 | <meta name='created' content='16 October 2001'/> |
9 | <meta name='modified' content='20 October 2019'/> |
10 | <meta name=' TODO ' content=' Verify mast height '/> |
11 | <meta name=' TODO ' content=' Fix Exploder ExternProtoDeclare '/> |
12 | <meta name='reference' content=' https://www.fas.org/man/dod-101/sys/ship/ddg-51.htm '/> |
13 | <meta name='reference' content='http://www.foia.navy.mil/usscole/'/> |
14 | <meta name='reference' content=' https://www.web3d.org/x3d/content/examples/Savage/CruiserUnitedStates/Cruiser.x3d '/> |
15 | <meta name='reference' content=' https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/TRC170/TRC170-Body.x3d '/> |
16 | <meta name='reference' content=' https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter18-TextureMapping/Figure18.23bTextureCoordinateGrillwork.x3d '/> |
17 | <meta name='reference' content=' https://www.web3d.org/x3d/content/examples/Savage/ExplodingBuildingPrototype.x3d '/> |
18 | <meta name='reference' content='http://www.dtic.mil/cgi-bin/GetTRDoc?AD=ADA322386 pg 8 '/> |
19 | <meta name='identifier' content=' https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/DDGArleighBurkeUnitedStates/ArleighBurkePrototype.x3d '/> |
20 | <meta name='generator' content='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit'/> |
21 | <meta name='license' content='../../license.html'/> |
22 | </head> |
23 | <Scene> |
24 | <WorldInfo title='ArleighBurkePrototype.x3d'/> |
25 | <ExternProtoDeclare name='Exploder' appinfo='Prototype to explode different pieces and parts in different ways.' url=' "../../Tools/Explosions/MultipleTimerExplodingBuildingPrototype.x3d#Exploder" "https://www.web3d.org/x3d/content/examples/Savage/Tools/Explosions/MultipleTimerExplodingBuildingPrototype.x3d#Exploder" "../../Tools/Explosions/MultipleTimerExplodingBuildingPrototype.wrl#Exploder" "https://www.web3d.org/x3d/content/examples/Savage/Tools/Explosions/MultipleTimerExplodingBuildingPrototype.wrl#Exploder" '> |
26 |
<field name='geometry' type='SFNode' accessType='initializeOnly'
appinfo='geometry node, to be used inside a Shape'/> |
27 |
<field name='material' type='SFNode' accessType='initializeOnly'
appinfo='Material node for this geometry, to be used inside a Shape'/> |
28 |
<field name='initialPosition' type='SFVec3f' accessType='initializeOnly'
appinfo='starting point'/> |
29 |
<field name='finalPosition' type='SFVec3f' accessType='initializeOnly'
appinfo='finish point'/> |
30 |
<field name='initialOrientation' type='SFRotation' accessType='initializeOnly'
appinfo='starting point orientation'/> |
31 |
<field name='finalOrientation' type='SFRotation' accessType='initializeOnly'
appinfo='finish point orientation'/> |
32 |
<field name='set_fraction' type='SFFloat' accessType='inputOnly'
appinfo='animation input'/> |
33 |
<field name='startTime' type='SFTime' accessType='inputOutput'
appinfo='animation trigger'/> |
34 | </ExternProtoDeclare> |
35 | <NavigationInfo speed='10' type='"EXAMINE" "FLY" "ANY"' visibilityLimit='7000'/> |
36 | <ProtoDeclare name='ArleighBurke' appinfo='Arleigh Burke class destroyer'> |
37 | <ProtoInterface> |
38 | <field name='startExplosion' type='SFTime' accessType='inputOnly'/> |
39 | </ProtoInterface> |
40 | <ProtoBody> |
41 | <Transform DEF='BurkeGroup' scale='0.963 1.05 0.625' translation='-75 10 0'> |
42 | <Transform rotation='0 1 0 -1.57'> |
43 |
<!-- ROUTE information for ShockClock node:
[from ExplosionClock.startTime to startTime
]
[from fraction_changed to ShockRockingInterpolator.set_fraction
]
-->
<TimeSensor DEF='ShockClock' cycleInterval='5'/> |
44 |
<!-- ROUTE information for ShockRockingInterpolator node:
[from ShockClock.fraction_changed to set_fraction
]
[from value_changed to ShockTransform.set_rotation
]
-->
<OrientationInterpolator DEF='ShockRockingInterpolator' key='0 0.3 0.7 1' keyValue='0 0 1 0 0 0 1 -0.2 0 0 1 0.15 0 1 0 -0.05'/> |
45 | <Transform> |
46 | <Viewpoint description='DDG STBD view' orientation='0 1 0 1.57' position='300 40 -80'/> |
47 | <Viewpoint DEF='BEHIND' description='DDG Behind, above water' position='-10 10 75'/> |
48 | <Viewpoint DEF='BELOWWATER' description='DDG Below The Water' position='0 -20 75'/> |
49 | <Viewpoint DEF='PORT' description='DDG PORT view' orientation='0 1 0 -1.57' position='-300 40 -80'/> |
50 | <Viewpoint DEF='FRONT' description='DDG Front View' orientation='0 1 0 3.14' position='0 20 -300'/> |
51 | <Viewpoint description='DDG Top down view' orientation='1 0 0 -1.57' position='0 220 -80'/> |
52 | <Viewpoint description='View from Flight Deck' orientation='0 1 0 .75' position='-6 -1 0'/> |
53 | </Transform> |
54 |
<!-- ROUTE information for ShockTransform node:
[from ShockRockingInterpolator.value_changed to set_rotation
]
-->
<Transform DEF='ShockTransform'> |
55 | <Transform translation='0 -10 0'> |
56 | <Group DEF='HULLSTRUCTURE'> |
57 | <Group DEF='BOTTOMHULL'> |
58 | <Transform> |
59 | <Shape> |
60 | <Appearance> |
61 | <Material DEF='REDHULL' diffuseColor='.2 0 0' emissiveColor='.2 0 0'/> |
62 | </Appearance> |
63 | <Extrusion creaseAngle='.85' crossSection='-6 0 6 0 4.5 -5.4 2.5 -5.85 0 -6.3 -2.5 -5.85 -4.5 -5.4 -6 0' scale='1 .1 1.3 1 1.7 1 1.7 1 1.3 1 1 .7 .4 .1' spine='0 0 0 0 0 -23.92 0 0 -71.76 0 0 -95.68 0 0 -119.6 0 0 -129 0 0 -142'/> |
64 | </Shape> |
65 | </Transform> |
66 | </Group> |
67 | </Group> |
68 | <Group DEF='BLACKHULL'> |
69 | <Transform translation='0 1.5 0'> |
70 | <Shape> |
71 | <Appearance> |
72 | <Material DEF='BLACK' diffuseColor='0 0 0'/> |
73 | </Appearance> |
74 | <Extrusion creaseAngle='.85' crossSection='-6.5 0.0 6.5 0.0 6.2 -.7 6 -1.45 -6 -1.45 -6.2 -.3 -6.5 0.0' scale='1 .2 1 .5 1 1 1.3 1 1.7 1 1.7 1 1.3 1 1 1 .5 1 .4 .1' spine='0 0 2 0 0 1 0 0 0 0 0 -23.92 0 0 -71.76 0 0 -95.68 0 0 -119.6 0 0 -129 0 0 -142 0 0 -145'/> |
75 | </Shape> |
76 | </Transform> |
77 | </Group> |
78 | <Group DEF='GREYHULL'> |
79 | <Transform> |
80 | <Transform translation='0 5.45 0'> |
81 | <Shape> |
82 | |
83 | <Material diffuseColor='.7 .7 .7' shininess='.3'/> |
84 | </Appearance> |
85 | <Extrusion creaseAngle='.85' crossSection='7.5 0 7 -2.8 6.5 -3.95 -6.5 -3.95 -7 -2.8 -7.5 0' scale='1 .2 1 .5 1 1 1.25 1' spine='0 0 4 0 0 3 0 0 2 0 0 -24.1'/> |
86 | </Shape> |
87 | </Transform> |
88 | </Transform> |
89 | </Group> |
90 | <Group DEF='PROPS'> |
91 | <Transform scale='1.1 1.1 1.1' translation='2 -4 -5'> |
92 | <Inline url=' "Propellers.x3d" "https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/DDGArleighBurkeUnitedStates/Propellers.x3d" "Propellers.wrl" "../../ShipsMilitary/DDGArleighBurkeUnitedStates/Propellers.wrl" "https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/DDGArleighBurkeUnitedStates/Propellers.wrl" '/> |
93 | </Transform> |
94 | </Group> |
95 | <Group DEF='MAINDECKHULL'> |
96 | <Transform translation='0 12 0'> |
97 | <Shape> |
98 | <Appearance USE='HAZEGREY'/> |
99 | <Extrusion creaseAngle='.85' crossSection='9 0 8 -3.5 6.5 -10.45 -6.5 -10.45 -8 -3.5 -9 0' scale='1.3 1 1.7 1 1.7 1' spine='0 0 -23.92 0 0 -71.76 0 0 -78.808'/> |
100 | </Shape> |
101 | </Transform> |
102 | <Transform translation='0 12 0'> |
103 | <Shape> |
104 | <Appearance USE='HAZEGREY'/> |
105 | <Extrusion creaseAngle='.85' crossSection='9 0 8 -3.5 6.5 -10.45 -6.5 -10.45 -8 -3.5 -9 0' scale='1.7 1 1.7 1 1.3 1 .5 1 .4 1 .05 .1' spine='0 0 -91.00 0 0 -95.68 0 0 -119.6 0 0 -142 0 0 -145 0 0 -155.8'/> |
106 | </Shape> |
107 | </Transform> |
108 | <Transform translation='0 12 0'> |
109 | <Shape> |
110 | <Appearance USE='HAZEGREY'/> |
111 | <Extrusion beginCap='false' creaseAngle='0.85' crossSection='-7.485 -5.828 -9 0 9 0 8 -3.5 6.5 -10.45 -6.5 -10.45 -7.485 -5.828' endCap='false' scale='1.7 1 1.7 1' solid='false' spine='0 0 -78.608002 0 0 -91.199997'/> |
112 | </Shape> |
113 | </Transform> |
114 |
<!-- ROUTE information for DamagedSide node:
[from SideInterp.value_changed to set_scale
]
-->
<Transform DEF='DamagedSide' scale='0.0001 0.0001 0.0001' translation='0 12 0'> |
115 | <Shape> |
116 | <IndexedFaceSet creaseAngle='.85' solid='false' coordIndex='0 1 2 3 0 -1' texCoordIndex='1 2 3 0 1 -1'> |
117 | <Coordinate point='-11.1 -10.45 -78.508 -12.95 -5.28 -78.508 -12.95 -5.28 -91.3 -11.1 -10.45 -91.3'/> |
118 | <TextureCoordinate point='0 0 1 0 1 1 0 1'/> |
119 | </IndexedFaceSet> |
120 | <Appearance> |
121 |
<ImageTexture
url=' "ColeDamage.jpg![]() ![]() ![]() |
122 | <Material/> |
123 | </Appearance> |
124 | </Shape> |
125 | </Transform> |
126 |
<!-- ROUTE information for ColePortSide node:
[from ExplosionClock.fraction_changed to set_fraction
]
-->
<ProtoInstance name='Exploder' DEF='ColePortSide'> |
127 | <fieldValue name='geometry'> |
128 | <IndexedFaceSet DEF='ColeSide' creaseAngle='.85' solid='false' coordIndex='0 1 2 3 0 -1'> |
129 | <Coordinate point='-11.1 -10.45 -78.508 -12.95 -5.28 -78.508 -12.95 -5.28 -91.3 -11.1 -10.45 -91.3'/> |
130 | </IndexedFaceSet> |
131 | </fieldValue> |
132 | <fieldValue name='material'> |
133 | <Material diffuseColor='.7 .7 .7' shininess='.3'/> |
134 | </fieldValue> |
135 | <fieldValue name='initialPosition' value='0 12 0'/> |
136 | <fieldValue name='finalPosition' value='65 5 -41'/> |
137 | <fieldValue name='initialOrientation' value='0 1 0 0'/> |
138 | <fieldValue name='finalOrientation' value='0.48 0 0.88 3.14'/> |
139 | </ProtoInstance> |
140 | </Group> |
141 | <Group DEF='MAINDECKNONSKID'> |
142 | <Transform translation='0 12 0'> |
143 | <Shape> |
144 | <Appearance> |
145 |
<!-- ImageTexture
NONSKID is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 --> <ImageTexture DEF='NONSKID' url=' "nonskid.jpg ![]() ![]() ![]() |
146 | </Appearance> |
147 | <Extrusion creaseAngle='.85' crossSection='9 0 -9 0 -9 .5 9 .5 9 0' scale='1.3 1 1.7 1' spine='0 0 -23.92 0 0 -71.76'/> |
148 | </Shape> |
149 | <Shape> |
150 | <Appearance> |
151 | <ImageTexture USE='NONSKID'/> |
152 | </Appearance> |
153 | <Extrusion creaseAngle='.85' crossSection='9 0 -9 0 -9 .5 9 .5 9 0' scale='.5 1 .4 1 .05 .1' spine='0 0 -142.01 0 0 -145 0 0 -155.8'/> |
154 | </Shape> |
155 | <Shape> |
156 | <Appearance> |
157 | <ImageTexture USE='NONSKID'/> |
158 | </Appearance> |
159 | <Extrusion creaseAngle='.85' crossSection='9 0 -9 0 -9 .5 9 .5 9 0' scale='1.7 1 1.7 1 1.3 1' spine='0 0 -71.77 0 0 -95.68 0 0 -119.6'/> |
160 | </Shape> |
161 | <Shape> |
162 | <IndexedFaceSet solid='false' coordIndex='0 1 3 2 0 -1 2 3 7 6 2 -1 4 5 7 6 4 -1 0 1 5 4 0 -1 1 5 3 7 1 -1 0 4 6 2 0 -1'> |
163 | <Coordinate point='-11.7 0 -119.6 11.7 0 -119.6 -11.7 0.49 -119.6 11.7 0.49 -119.6 -4.5 0 -142 4.5 0 -142 -4.5 0.49 -142 4.5 0.49 -142'/> |
164 | </IndexedFaceSet> |
165 | <Appearance> |
166 | <ImageTexture USE='NONSKID'/> |
167 | </Appearance> |
168 | </Shape> |
169 | <Shape> |
170 | <IndexedFaceSet solid='false' coordIndex='2 3 7 6' texCoordIndex='0 1 2 3'> |
171 | <Coordinate point='-5.7 0 -126.6 5.7 0 -126.6 -5.7 0.5 -126.6 5.7 0.5 -126.6 -5.7 0 -136 5.7 0 -136 -5.7 0.5 -136 5.7 0.5 -136'/> |
172 | <TextureCoordinate point='0 0 1 0 1 1 0 1'/> |
173 | </IndexedFaceSet> |
174 | <Appearance> |
175 |
<ImageTexture
url=' "../../ShipsMilitary/DDGArleighBurkeUnitedStates/forwardvertrep.jpg![]() ![]() |
176 | </Appearance> |
177 | </Shape> |
178 | </Transform> |
179 | </Group> |
180 | <Group DEF='THREEGTG'> |
181 | <Transform translation='-3 12 0'> |
182 | <Shape> |
183 | <Appearance> |
184 | <Material diffuseColor='.7 .7 .7'/> |
185 | </Appearance> |
186 | <Extrusion creaseAngle='.85' crossSection='4 -1 4.75 -5.5 -2.75 -5.5 -2 -1 4 -1' scale='1 1.36 1 1.36' spine='0 0 -19.14 0 0 -23.92'/> |
187 | </Shape> |
188 | <!-- 3GTG stack --> |
189 | |
190 | <Transform translation='1 -1 -21.4'> |
191 | <Shape> |
192 | <Appearance> |
193 |
<!-- Material
STACKCOLOR is a DEF node that has 2 USE nodes: USE_1, USE_2 --> <Material DEF='STACKCOLOR' diffuseColor='.3 .3 .3'/> |
194 | </Appearance> |
195 | <Cylinder bottom='false' height='1.2' radius='1.3'/> |
196 | </Shape> |
197 | </Transform> |
198 | <Transform translation='1 0 -21.4'> |
199 | <Shape> |
200 | <Appearance> |
201 | <Material USE='STACKCOLOR'/> |
202 | </Appearance> |
203 | <Cylinder bottom='false' height='1.2' radius='1.5'/> |
204 | </Shape> |
205 | </Transform> |
206 | <Transform translation='1 .2 -21.4'> |
207 | <Shape> |
208 | <Appearance> |
209 | <Material USE='STACKCOLOR'/> |
210 | </Appearance> |
211 | <Cylinder bottom='false' height='1.2' radius='1.7'/> |
212 | </Shape> |
213 | </Transform> |
214 | </Transform> |
215 | </Transform> |
216 | </Group> |
217 | </Transform> |
218 | <!-- Flight deck nets netting from VRML 2.0 source book as cited in the header of the file. If over 8000 meters from flight deck do not draw it --> |
219 | <LOD range='8000'> |
220 | <Transform> |
221 | <Inline url=' "FlightDeck.x3d" "https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/DDGArleighBurkeUnitedStates/FlightDeck.x3d" "FlightDeck.wrl" "../../ShipsMilitary/DDGArleighBurkeUnitedStates/FlightDeck.wrl" "https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/DDGArleighBurkeUnitedStates/FlightDeck.wrl" '/> |
222 | </Transform> |
223 | <Transform/> |
224 | </LOD> |
225 | <LOD range='8000'> |
226 | <Transform rotation='0 1 0 1.57' scale='.7 .7 .7' translation='2 4.6 -121'> |
227 | <Inline url=' "Gun.x3d" "https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/DDGArleighBurkeUnitedStates/Gun.x3d" "Gun.wrl" "../../ShipsMilitary/DDGArleighBurkeUnitedStates/Gun.wrl" "https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/DDGArleighBurkeUnitedStates/Gun.wrl" '/> |
228 | </Transform> |
229 | <Transform/> |
230 | </LOD> |
231 | <Transform translation='0 0 1'> |
232 | <Group DEF='AFTDECKHOUSE'> |
233 | <Shape> |
234 | |
235 | <Material diffuseColor='.7 .7 .7' shininess='.3'/> |
236 | </Appearance> |
237 | <Extrusion creaseAngle='.85' crossSection='-7.7 0 -5 10.45 5 10.45 7.7 0 -7.7 0' scale='1 1 1.3 1 1.3 1 1 1' solid='false' spine='0 0 -44.6 0 0 -49.60 0 0 -60.9 0 0 -65.9'/> |
238 | </Shape> |
239 | <Transform DEF='AFTSTACKBOTTOM'> |
240 | <Shape> |
241 | <Appearance USE='TOPGREY'/> |
242 | <Extrusion creaseAngle='.85' crossSection='-2.5 10.45 -1.5 15.45 1.5 15.45 2.5 10.45 -2.5 10.45' scale='1.3 .5 1.3 1 1.3 1 1.3 .1' solid='false' spine='0 0 -46.60 0 0 -49 0 0 -63.9 0 0 -65.9'/> |
243 | </Shape> |
244 | </Transform> |
245 | <Transform DEF='AFTSTACKTOP'> |
246 | <Shape> |
247 | <Appearance USE='TOPGREY'/> |
248 | <Extrusion creaseAngle='.85' crossSection='-1.5 15.45 -1 20.45 1 20.45 1.5 15.45 -1.5 15.45' scale='1.3 .5 1.3 1 1.3 1' solid='false' spine='0 0 -52.60 0 0 -55 0 0 -63.9'/> |
249 | </Shape> |
250 | </Transform> |
251 | <Transform> |
252 | <Shape> |
253 | <Appearance USE='TOPGREY'/> |
254 | <Extrusion creaseAngle='.85' crossSection='-1 20.45 -1 22.45 1 22.45 1 20.45 -1 20.45' scale='1.3 1 1.3 1' solid='false' spine='0 0 -58 0 0 -63.9'/> |
255 | </Shape> |
256 | </Transform> |
257 | <!-- Directors based on TRC-170 model from Savage. --> |
258 | <LOD range='450'> |
259 | <Group DEF='AFTDIRECTORS'> |
260 | <Transform translation='0 17 -50'> |
261 |
<!-- Inline
DIRECTOR is a DEF node that has 2 USE nodes: USE_1, USE_2 --> <Inline DEF='DIRECTOR' url=' "MissileDirector.x3d" "https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/DDGArleighBurkeUnitedStates/MissileDirector.x3d" "MissileDirector.wrl" "../../ShipsMilitary/DDGArleighBurkeUnitedStates/MissileDirector.wrl" "https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/DDGArleighBurkeUnitedStates/MissileDirector.wrl" '/> |
262 | </Transform> |
263 | <Transform translation='0 22 -56'> |
264 | <Inline USE='DIRECTOR'/> |
265 | </Transform> |
266 | </Group> |
267 | <Transform/> |
268 | </LOD> |
269 | <Transform scale='.75 .75 .75' translation='-.9 23.45 -46'> |
270 | <Transform USE='STACK'/> |
271 | </Transform> |
272 | <Transform scale='.75 .75 .75' translation='-.9 23.45 -43.1'> |
273 | <Transform USE='STACK'/> |
274 | </Transform> |
275 | </Group> |
276 | </Transform> |
277 | <Transform> |
278 | <Transform> |
279 | <Group DEF='FWDDECKHOUSE'> |
280 | <Transform> |
281 | <Shape> |
282 | <Appearance USE='TOPGREY'/> |
283 | <Extrusion creaseAngle='.85' crossSection='-7.7 0 -5 10.45 5 10.45 7.7 0 -7.7 0' scale='1 1 1.3 1 1.3 1 1 .1' solid='false' spine='0 0 -70.9 0 0 -77.9 0 0 -103.9 0 0 -107.1'/> |
284 | </Shape> |
285 | </Transform> |
286 | <Transform DEF='STBDOVERHNG'> |
287 | <Shape> |
288 | <Appearance USE='TOPGREY'/> |
289 | <Extrusion beginCap='false' creaseAngle='.85' crossSection='-9 2 -7 10.45 7 10.45 9 2' scale='1.76 1 1.71 1 .9 .1' solid='false' spine='0 0 -77.9 0 0 -103.9 0 0 -106.9'/> |
290 | </Shape> |
291 | </Transform> |
292 | <Transform DEF='FWDSTACK'> |
293 | <Shape DEF='StackSupport'> |
294 | <Appearance USE='TOPGREY'/> |
295 | <Extrusion ccw='false' creaseAngle='.85' crossSection='-2.5 10.45 -1.5 20.45 1.5 20.45 2.5 10.45 -2.5 10.45' scale='1.3 .1 1.3 1 1.3 1 1.3 1' solid='false' spine='0 0 -70.9 0 0 -71.9 0 0 -77.9 0 0 -82.9'/> |
296 | </Shape> |
297 | <Transform scale='.85 .85 .85' translation='-.9 21.45 -56.5'> |
298 | <Transform USE='STACK'/> |
299 | </Transform> |
300 | <Transform scale='.85 .85 .85' translation='-.9 21.45 -60'> |
301 | <Transform USE='STACK'/> |
302 | </Transform> |
303 | </Transform> |
304 | <Transform DEF='FWDLEVEL1'> |
305 | <Shape> |
306 | <Appearance USE='TOPGREY'/> |
307 | <Extrusion creaseAngle='.85' crossSection='-9 10.45 -8 13.45 8 13.45 9 10.45 -9 10.45' scale='1.37 1 1.34 1 1 1 1 .1' solid='false' spine='0 0 -79.9 0 0 -93.9 0 0 -100 0 0 -103.9'/> |
308 | </Shape> |
309 | </Transform> |
310 | <Transform DEF='MAST'> |
311 | <Shape> |
312 | <Appearance USE='TOPGREY'/> |
313 | <Extrusion creaseAngle='1.6' crossSection='-.5 -.5 -.5 .5 .5 .5 .5 -.5 -.5 -.5' scale='1.37 1 1 1' solid='false' spine='0 22.35 -93 0 39.27 -86.1'/> |
314 | </Shape> |
315 | <Transform DEF='UPPERYARD' translation='0 35.3 -87.5'> |
316 | <Shape> |
317 | <Appearance USE='TOPGREY'/> |
318 | <Box size='15.38 .5 .5'/> |
319 | </Shape> |
320 | </Transform> |
321 | <Transform DEF='LOWERYARD' translation='0 30.3 -89.5'> |
322 | <Shape> |
323 | <Appearance USE='TOPGREY'/> |
324 | <Box size='18.45 .5 .5'/> |
325 | </Shape> |
326 | </Transform> |
327 | </Transform> |
328 | </Group> |
329 | <Transform DEF='FWDLEVEL2'> |
330 | <Shape> |
331 | <Appearance USE='TOPGREY'/> |
332 | <IndexedFaceSet solid='false' coordIndex='0 1 5 9 15 14 8 4 0 -1 2 3 7 11 13 12 10 6 2 -1 0 2 3 1 0 -1 3 7 5 1 3 -1 7 11 9 5 7 -1 11 13 15 9 11 -1 12 14 15 13 12 -1 12 10 8 14 12 -1 10 6 4 8 10 -1 0 2 6 4 -1'> |
333 | <Coordinate point='-8 13.45 -84.9 8 13.45 -84.9 -7 20.45 -87.9 7 20.45 -87.9 -10.72 13.45 -90.9 10.72 13.45 -90.9 -9.38 20.45 -90.9 9.38 20.45 -90.9 -10.72 13.45 -93.9 10.72 13.45 -93.9 -9.38 20.45 -93.9 9.38 20.45 -93.9 -7 20.45 -99 7 20.45 -99 -8 13.45 -100 8 13.45 -100'/> |
334 | </IndexedFaceSet> |
335 | </Shape> |
336 | </Transform> |
337 | <!-- Fwd port array face --> |
338 | <Transform rotation='.13 .99 -.07 1.01' translation='-15.72 0 -91'> |
339 | <Shape> |
340 | <Appearance> |
341 | <Material diffuseColor='.5 .5 .5' shininess='.3'/> |
342 | </Appearance> |
343 | <IndexedFaceSet solid='false' coordIndex='0 1 2 3 4 5 0 -1 0 6 7 1 -1 1 7 8 2 -1 2 8 9 3 -1 3 9 10 4 -1 4 10 11 5 -1 5 11 6 0 -1 6 7 8 9 10 11 6 -1'> |
344 | <Coordinate point='7.1 19.1 0 8.6 20.1 0 10.1 19.1 0 10.1 16.1 0 8.6 15.1 0 7.1 16.1 0 7.1 19.1 .3 8.6 20.1 .3 10.1 19.1 .3 10.1 16.1 .3 8.6 15.1 .3 7.1 16.1 .3'/> |
345 | </IndexedFaceSet> |
346 | </Shape> |
347 | </Transform> |
348 | <!-- Fwd stbd array face --> |
349 | <Transform rotation='.13 -.99 .07 1.01' translation='6.6 0 -105.3'> |
350 | <Shape> |
351 | <Appearance> |
352 | <Material diffuseColor='.5 .5 .5' shininess='.3'/> |
353 | </Appearance> |
354 | <IndexedFaceSet solid='false' coordIndex='0 1 2 3 4 5 0 -1 0 6 7 1 -1 1 7 8 2 -1 2 8 9 3 -1 3 9 10 4 -1 4 10 11 5 -1 5 11 6 0 -1 6 7 8 9 10 11 6 -1'> |
355 | <Coordinate point='7.1 19.1 0 8.6 20.1 0 10.1 19.1 0 10.1 16.1 0 8.6 15.1 0 7.1 16.1 0 7.1 19.1 .3 8.6 20.1 .3 10.1 19.1 .3 10.1 16.1 .3 8.6 15.1 .3 7.1 16.1 .3'/> |
356 | </IndexedFaceSet> |
357 | </Shape> |
358 | </Transform> |
359 | <!-- Aft stbd array face --> |
360 | <Transform rotation='-.13 .99 .03 1.01' translation='6.12 .3 -79.75'> |
361 | <Shape> |
362 | <Appearance> |
363 | <Material diffuseColor='.5 .5 .5' shininess='.3'/> |
364 | </Appearance> |
365 | <IndexedFaceSet solid='false' coordIndex='0 1 2 3 4 5 0 -1 0 6 7 1 -1 1 7 8 2 -1 2 8 9 3 -1 3 9 10 4 -1 4 10 11 5 -1 5 11 6 0 -1 6 7 8 9 10 11 6 -1'> |
366 | <Coordinate point='7.1 19.1 0 8.6 20.1 0 10.1 19.1 0 10.1 16.1 0 8.6 15.1 0 7.1 16.1 0 7.1 19.1 -.3 8.6 20.1 -.3 10.1 19.1 -.3 10.1 16.1 -.3 8.6 15.1 -.3 7.1 16.1 -.3'/> |
367 | </IndexedFaceSet> |
368 | </Shape> |
369 | </Transform> |
370 | <Transform rotation='-.13 -.99 .03 1.0' translation='-14 -.7 -93.2'> |
371 | <Shape> |
372 | <Appearance> |
373 | <Material diffuseColor='.5 .5 .5' shininess='.3'/> |
374 | </Appearance> |
375 | <IndexedFaceSet solid='false' coordIndex='0 1 2 3 4 5 0 -1 0 6 7 1 -1 1 7 8 2 -1 2 8 9 3 -1 3 9 10 4 -1 4 10 11 5 -1 5 11 6 0 -1 6 7 8 9 10 11 6 -1'> |
376 | <Coordinate point='7.1 19.1 0 8.6 20.1 0 10.1 19.1 0 10.1 16.1 0 8.6 15.1 0 7.1 16.1 0 7.1 19.1 -.3 8.6 20.1 -.3 10.1 19.1 -.3 10.1 16.1 -.3 8.6 15.1 -.3 7.1 16.1 -.3'/> |
377 | </IndexedFaceSet> |
378 | </Shape> |
379 | </Transform> |
380 | <Transform DEF='PILOTHOUSE'> |
381 | <Shape> |
382 | <Appearance USE='TOPGREY'/> |
383 | <Extrusion creaseAngle='1.3' crossSection='-7 20.45 -6.5 22.45 6.5 22.45 7 20.45 -7 20.45' scale='1 1 1.1 1 1 1' solid='false' spine='0 0 -90.9 0 0 -93.9 0 0 -98.5'/> |
384 | </Shape> |
385 | <Transform DEF='FWDDIRECTOR' rotation='0 1 0 3.14' translation='0 24.4 0'> |
386 | <Transform translation='0 0 96'> |
387 | <Inline USE='DIRECTOR'/> |
388 | </Transform> |
389 | </Transform> |
390 | </Transform> |
391 | </Transform> |
392 | </Transform> |
393 | <Transform translation='0 3.5 -24'> |
394 | <!-- Gun is based on Cruiser model from Savage. --> |
395 | <Inline url=' "../../Weapons/Missiles/Launchers.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Weapons/Missiles/Launchers.x3d" "../../Weapons/Missiles/Launchers.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Weapons/Missiles/Launchers.wrl" '/> |
396 | </Transform> |
397 | </Transform> |
398 |
<!-- ROUTE information for ExplosionClock node:
[from fraction_changed to ColePortSide.set_fraction
]
[from fraction_changed to SideInterp.set_fraction
]
[from startTime to ShockClock.startTime
]
-->
<TimeSensor DEF='ExplosionClock'> |
399 | <IS> |
400 | <connect nodeField='startTime' protoField='startExplosion'/> |
401 | </IS> |
402 | </TimeSensor> |
403 | < ROUTE fromNode='ExplosionClock' fromField='fraction_changed' toNode='ColePortSide' toField='set_fraction'/> |
404 |
<!-- ROUTE information for SideInterp node:
[from ExplosionClock.fraction_changed to set_fraction
]
[from value_changed to DamagedSide.set_scale
]
-->
<PositionInterpolator DEF='SideInterp' key='0 0.1 1' keyValue='0.0001 0.0001 0.0001 1 1 1 1 1 1'/> |
405 | < ROUTE fromNode='ExplosionClock' fromField='fraction_changed' toNode='SideInterp' toField='set_fraction'/> |
406 | < ROUTE fromNode='SideInterp' fromField='value_changed' toNode='DamagedSide' toField='set_scale'/> |
407 | < ROUTE fromNode='ExplosionClock' fromField='startTime' toNode='ShockClock' toField='startTime'/> |
408 | < ROUTE fromNode='ShockClock' fromField='fraction_changed' toNode='ShockRockingInterpolator' toField='set_fraction'/> |
409 | < ROUTE fromNode='ShockRockingInterpolator' fromField='value_changed' toNode='ShockTransform' toField='set_rotation'/> |
410 | </Transform> |
411 | </Transform> |
412 | </ProtoBody> |
413 | </ProtoDeclare> |
414 |
<!-- ROUTE information for DDG-51 node:
[from MyTouch.touchTime to startExplosion
]
-->
<ProtoInstance name='ArleighBurke' DEF='DDG-51'/> |
415 |
<!-- ROUTE information for MyTouch node:
[from touchTime to DDG-51.startExplosion
]
-->
<TouchSensor DEF='MyTouch' description='touch to activate'/> |
416 | < ROUTE fromNode='MyTouch' fromField='touchTime' toNode='DDG-51' toField='startExplosion'/> |
417 | </Scene> |
418 | </X3D> |
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.
MyTouch
TouchSensor touchTime SFTime |
DDG-51
ProtoInstance startExplosion SFTime |
ExplosionClock
TimeSensor fraction_changed SFFloat |
ColePortSide
ProtoInstance set_fraction SFFloat |
|||||||||
ExplosionClock
TimeSensor fraction_changed SFFloat |
SideInterp
PositionInterpolator set_fraction SFFloat |
then
|
SideInterp
PositionInterpolator value_changed SFVec3f |
DamagedSide
Transform set_scale SFVec3f |
||||||
ExplosionClock
TimeSensor startTime SFTime |
ShockClock
TimeSensor startTime SFTime |
then
|
ShockClock
TimeSensor fraction_changed SFFloat |
ShockRockingInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
ShockRockingInterpolator
OrientationInterpolator value_changed SFRotation |
ShockTransform
Transform set_rotation SFRotation |
ColePortSide
ProtoInstance Exploder |
No direct ROUTE connection found for events to/from this node. This ProtoInstance contains SFNode/MFNode fieldValue declarations with direct access to other nodes, and thus has potential to produce run-time animation. |
DDG-51
ProtoInstance ArleighBurke |
No direct ROUTE connection found for events to/from this node. This ProtoInstance contains SFNode/MFNode fieldValue declarations with direct access to other nodes, and thus has potential to produce run-time animation. |
<!--
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)
<ProtoInstance name='ProtoName'>
<field
name='fieldName'/> </ProtoInstance>
-->
<!--
For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints.
-->