<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "http://www.web3d.org/specifications/x3d-3.0.dtd">
<X3D profile='Immersive' version='3.0 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation =' http://www.web3d.org/specifications/x3d-3.0.xsd '>
<head>
<meta name='titlecontent='Mk45.x3d'/>
<meta name='descriptioncontent='Mk45 main gun of Yavuz Class Frigate'/>
<meta name='creatorcontent='Ozan APAYDIN'/>
<meta name='createdcontent='17 September 2001'/>
<meta name='modifiedcontent='14 January 2014'/>
<meta name='referencecontent=' http://www.fas.org/man/dod-101/sys/ship/weaps/mk-45.htm '/>
<meta name='photocontent='mk45shot.jpg'/>
<meta name='identifiercontent=' https://savage.nps.edu/Savage/ShipsMilitary/Frigate-Yavuz-Turkey/Mk45.x3d '/>
<meta name='generatorcontent='X3D-Edit 3.2, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../../license.html'/>
</head>
<!-- -->
<Scene>
<Background skyColor='0.7 0.7 0.7'/>
<Sound maxBack='100maxFront='100minBack='0.01minFront='0.01'>
<!-- ROUTE information for CannonFireSound node:  [from FireButtonSensor.touchTime to startTime ] -->
<AudioClip DEF='CannonFireSound'
  url=' "CannonFire.wav" "https://savage.nps.edu/Savage/ShipsMilitary/Frigate-Yavuz-Turkey/CannonFire.wav" '/>
</Sound>
<!-- ROUTE information for CannonTrans node:  [from CannonSense.rotation_changed to set_rotation ] -->
<Transform DEF='CannonTranscenter='0.75 0 0'>
<Shape>
<Extrusion convex='falsecreaseAngle='.9crossSection='-1.1 0.0 -1.0 0.5 0.5 1 2.2 1 2.6 0.5 3 0 2.6 -0.5 2.2 -1 0.5 -1 -1.0 -0.5 -1.1 0.0scale='1.0 1.5 1.2 1.4 1.1 1.3 1.0 1.0 0.5 0.7 0.001 0.001spine='0.0 -1.0 0.0 0.0 1.3 0.0 0.0 1.9 0.0 0.0 2.0 0.0 0.0 2.3 0.0 0.0 2.5 0.0'/>
<Appearance DEF='GunColor'>
<Material diffuseColor='.7 .7 .8'/>
</Appearance>
</Shape>
<Transform translation='-1 0 0'>
<Shape>
<Extrusion crossSection='-0.75 0.78 0.75 0.78 0.75 -0.78 -0.75 -0.78 -0.75 0.78scale='1.0 1.0 0.3 0.855spine='0.0 -1.0 0.0 0.0 1.9 0.0'/>
<Appearance USE='GunColor'/>
</Shape>
<Transform rotation='0 0 1 -0.18translation='-0.36 1.15 0'>
<Shape>
<Box size='0.01 1.5 0.8'/>
<Appearance>
<Material diffuseColor='0.1 0.1 0.1'/>
</Appearance>
</Shape>
</Transform>
</Transform>
<Transform rotation='1 0 0 -1.57'>
<!-- ROUTE information for NamluDondur node:  [from rotation_changed to NamluTrans.set_rotation ] -->
<CylinderSensor DEF='NamluDondurmaxAngle='0.45'/>
<!-- ROUTE information for NamluTrans node:  [from NamluDondur.rotation_changed to set_rotation ] -->
<Transform DEF='NamluTrans'>
<Transform rotation='1 0 0 1.57'>
<Transform rotation='0 0 1 1.57translation='-1.5 0.99 0'>
<Group DEF='Namlu'>
<Shape>
<Cylinder height='0.5radius='0.2'/>
<Appearance>
<Material diffuseColor='0.1 0.1 0.1'/>
</Appearance>
</Shape>
<Transform translation='0.0 0.2 0'>
<Shape>
<Cylinder height='0.6radius='0.16'/>
<Appearance>
<Material diffuseColor='1 1 0shininess='0.8'/>
</Appearance>
</Shape>
<Transform translation='0 2.5 0'>
<Shape>
<Cylinder height='4.5radius='0.12'/>
<Appearance>
<Material diffuseColor='0.5 0.5 0.5shininess='0.8'/>
</Appearance>
</Shape>
<Shape>
<Cylinder height='4.501radius='0.08'/>
<Appearance>
<Material diffuseColor='0.1 0.1 0.1'/>
</Appearance>
</Shape>
<!-- ROUTE information for BoomTransform node:  [from ScaleInterp.value_changed to set_scale ] -->
<Transform DEF='BoomTransformscale='0.00001 0.00001 0.00001translation='0.0 3.1 0.0'>
<Shape>
<Extrusion beginCap='falsecreaseAngle='1.57crossSection='1.0 0.0 0.92 -0.38 0.71 -0.71 0.38 -0.92 0.0 -1.0 -0.38 -0.92 -0.71 -0.71 -0.92 -0.38 -1.0 -0.0 -0.92 0.38 -0.71 0.71 -0.38 0.92 0.0 1.0 0.38 0.92 0.71 0.71 0.92 0.38 1.0 0.0endCap='falsespine='2.0 0.0 0.0 1.85 0.0 0.77 1.41 0.0 1.41 0.77 0.0 1.85 0.0 0.0 2.0 -0.77 0.0 1.85 -1.41 0.0 1.41 -1.85 0.0 0.77 -2.0 0.0 0.0 -1.85 0.0 -0.77 -1.41 0.0 -1.41 -0.77 0.0 -1.85 0.0 0.0 -2.0 0.77 0.0 -1.85 1.41 0.0 -1.41 1.85 0.0 -0.77 2.0 0.0 0.0'/>
<Appearance>
<!-- ROUTE information for BoomMaterial node:  [from TransparencyInterp.value_changed to set_transparency ] -->
<Material DEF='BoomMaterial'/>
<ImageTexture
  url=' "Boom1.jpg" "https://savage.nps.edu/Savage/ShipsMilitary/Frigate-Yavuz-Turkey/Boom1.jpg" '/>
</Appearance>
</Shape>
<!-- ROUTE information for TransparencyInterp node:  [from BoomTimer.fraction_changed to set_fraction ] [from value_changed to BoomMaterial.set_transparency ] -->
<ScalarInterpolator DEF='TransparencyInterpkey='0 0.04 0.1 0.7 1.0keyValue='1.0 0.2 0.3 1.0 1.0'/>
<!-- ROUTE information for ScaleInterp node:  [from BoomTimer.fraction_changed to set_fraction ] [from value_changed to BoomTransform.set_scale ] -->
<PositionInterpolator DEF='ScaleInterpkey='0 0.04 0.1 0.7 1.0keyValue='0.00001 0.00001 0.00001 0.05 0.4 0.05 0.4 0.6 0.4 0.5 0.9 0.5 0.00001 0.0001 0.00001'/>
<!-- ROUTE information for BoomTimer node:  [from FireButtonSensor.touchTime to set_startTime ] [from fraction_changed to ScaleInterp.set_fraction ] [from fraction_changed to TransparencyInterp.set_fraction ] -->
<TimeSensor DEF='BoomTimercycleInterval='5.0'/>
</Transform>
</Transform>
</Transform>
</Group>
</Transform>
</Transform>
</Transform>
<Transform rotation='0 0 1 1.57translation='0.7 0 2.41'>
<Transform rotation='1 0 0 0.15'>
<Shape DEF='FireButton'>
<Box size='0.5 0.5 0.001'/>
<Appearance> </Appearance>
</Shape>
<!-- ROUTE information for FireButtonSensor node:  [from touchTime to BoomTimer.set_startTime ] [from touchTime to CannonFireSound.startTime ] -->
<TouchSensor DEF='FireButtonSensor'/>
</Transform>
</Transform>
</Transform>
<Transform translation='0.75 -1 0'>
<Shape>
<Cylinder height='0.8'/>
<Appearance USE='GunColor'/>
</Shape>
</Transform>
<!-- ROUTE information for CannonSense node:  [from rotation_changed to CannonTrans.set_rotation ] -->
<CylinderSensor DEF='CannonSensemaxAngle='1.7minAngle='-1.7'/>
</Transform>
<Transform translation='0.75 -1.5 0'>
<Shape>
<Cylinder height='0.5radius='1.8'/>
<Appearance USE='GunColor'/>
</Shape>
</Transform>
<ROUTE fromNode='CannonSensefromField='rotation_changedtoNode='CannonTranstoField='set_rotation'/>
<ROUTE fromNode='NamluDondurfromField='rotation_changedtoNode='NamluTranstoField='set_rotation'/>
<ROUTE fromNode='BoomTimerfromField='fraction_changedtoNode='ScaleInterptoField='set_fraction'/>
<ROUTE fromNode='ScaleInterpfromField='value_changedtoNode='BoomTransformtoField='set_scale'/>
<ROUTE fromNode='BoomTimerfromField='fraction_changedtoNode='TransparencyInterptoField='set_fraction'/>
<ROUTE fromNode='TransparencyInterpfromField='value_changedtoNode='BoomMaterialtoField='set_transparency'/>
<ROUTE fromNode='FireButtonSensorfromField='touchTimetoNode='BoomTimertoField='set_startTime'/>
<ROUTE fromNode='FireButtonSensorfromField='touchTimetoNode='CannonFireSoundtoField='startTime'/>
</Scene>
</X3D>
<!--

Index for DEF nodes : BoomMaterial, BoomTimer, BoomTransform, CannonFireSound, CannonSense, CannonTrans, FireButton, FireButtonSensor, GunColor, Namlu, NamluDondur, NamluTrans, ScaleInterp, TransparencyInterp
-->

<!-- Color key: <X3dNode DEF='idName' field='value'/> matches <XmlElement DEF='idName' attribute='value'/>
(Light blue background: behavior node) (Grey background: inserted documentation) (Magenta background: X3D extensibility)
-->

<!-- Additional help information about X3D scenes: X3D Resources, X3D Scene Authoring Hints and X3D Tooltips -->