| 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
" "../../ShipsMilitary/DDGArleighBurkeUnitedStates/ColeDamage.jpg
" "http://web.nps.navy.mil~brutzman/Savage/Scenarios/UssColeTerroristAttack/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
" "../../ShipsMilitary/DDGArleighBurkeUnitedStates/nonskid.jpg
" "https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/DDGArleighBurkeUnitedStates/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
" "https://www.web3d.org/x3d/content/examples/Savage/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.
-->