<?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='RifleM24Prototype.x3d'/>
<meta name='descriptioncontent='Prototype of M24 bolt-action sniper rifle used by the US Army.'/>
<meta name='creatorcontent='Etsuko Lippi'/>
<meta name='createdcontent='21 December 2001'/>
<meta name='modifiedcontent='22 August 2018'/>
<meta name='referencecontent=' http://www.fas.org/man/dod-101/sys/land/m14.htm '/>
<meta name='referencecontent=' http://www.dentrinity.com/Topics/m24perfect.htm '/>
<meta name='referencecontent=' http://www.empnet.com/imageworks/raj2.htm '/>
<meta name='referencecontent=' http://www.thepocket.com/waveffects.htm '/>
<meta name='subjectcontent='M24 Rifle'/>
<meta name='identifiercontent=' https://savage.nps.edu/Savage/Weapons/SmallArms/RifleM24Prototype.x3d '/>
<meta name='generatorcontent='X3D-Edit 3.2, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../../license.html'/>
</head>
<!-- -->
<Scene>
<ProtoDeclare name='RifleM24appinfo='Rifle M24'>
<ProtoInterface>
<field name='triggertype='SFBoolaccessType='inputOnly'
 appinfo='input true to fire'/>

<field name='firetype='SFBoolaccessType='outputOnly'
 appinfo='output true when fired'/>

<field name='animationStartTimetype='SFTimeaccessType='inputOnly'
 appinfo='trigger animation'/>
</ProtoInterface>
<ProtoBody>
<Group>
<Viewpoint description='M24 sniper rifleposition='-4 -.1 10'/>
<LOD range='100'>
<Group>
<Group DEF='Viewpoints'>
<!-- High Resolution -->
<Viewpoint description='M24 from aheadorientation='0.009 .999 0.036 1.5266position='4.1 0 .4'/>
<Viewpoint description='M24 left-over-the-shoulder vieworientation='-0.008 1 -0.015 4.6497position='-12.2 -.8 -3'/>
<Viewpoint description='M24 right-over-the-shoulder vieworientation='-0.008 1 -0.015 4.6497position='-13.2 -.7 1.8'/>
<Viewpoint description='M24 scope viewfieldOfView='0.099orientation='0.003 -1 -0.015 1.5497position='-7 .4 0'/>
</Group>
<Group DEF='High'>
<!-- ROUTE information for ShootShockTransform node:  [from ShootShockInterpolator.value_changed to set_translation ] -->
<Transform DEF='ShootShockTransformscale='10 10 10'>
<!-- ROUTE information for BulletTransform node:  [from TriggerInterpolator.value_changed to set_translation ] -->
<Transform DEF='BulletTransformrotation='0 0 1 -1.57scale='0.8 1 0.8translation='-0.64 0.0 0'>
<Shape>
<Appearance DEF='BulletColor'>
<Material ambientIntensity='0.1diffuseColor='0.804 0.678 0shininess='0.1specularColor='0.85 0.85 0.85'/>
</Appearance>
<Extrusion creaseAngle='1.57crossSection='0.0 0.013 0.00494 0.01196 0.00923 0.00923 0.01196 0.00494 0.013 0.00 0.01196 -0.00494 0.00923 -0.00923 0.00494 -0.01196 0.00 -0.013 -0.00494 -0.01196 -0.00923 -0.00923 -0.01196 -0.00494 -0.013 -0.0 -0.01196 0.00494 -0.00923 0.00923 -0.00494 0.01196 0.00 0.013scale='0.75 0.75 0.75 0.75 0.7 0.7 0.65 0.65 0.55 0.55 0.4 0.4 0.25 0.25 0.1 0.1spine='0 0.125 0 0 0.13 0 0 0.135 0 0 0.165 0 0 0.17 0 0 0.175 0 0 0.18 0 0 0.185 0'/>
</Shape>
</Transform>
<Transform DEF='Barrelrotation='0.58 -0.58 0.58 2.09'>
<Transform DEF='BarrelPointtranslation='0 -0.1 0'> </Transform>
<!-- ROUTE information for FlashTransform node:  [from FlashInterpolator.value_changed to set_translation ] -->
<Transform DEF='FlashTransformtranslation='0 0.15 0'>
<Transform DEF='Flame1rotation='0 0 1 3.14scale='0.02 0.12 0.02'>
<Shape>
<IndexedFaceSet coordIndex='0 1 2 -1 3 4 5 -1 6 7 8 -1'>
<Coordinate point='0.25 0.0 0.00 0.15 1.0 0.10 0.05 0.0 0.15 0.18 0.0 0.05 0.00 1.2 0.05 -0.10 0.0 0.05 -0.00 0.0 0.15 -0.13 0.8 0.10 -0.25 0.0 0.00'/>
<Color color='0.9 0.5 0.0 0.9 0.5 0 0.8 0.3 0.0 0.9 0.3 0 1.0 1.0 0.0 0.9 0.3 0 0.7 0.1 0.2 0.9 0.8 0 1.0 0.0 0.0'/>
</IndexedFaceSet>
</Shape>
</Transform>
<Transform DEF='Flame2rotation='0.71 0 0.71 3.14scale='0.02 0.1 0.02'>
<Shape>
<IndexedFaceSet coordIndex='0 1 2 -1 3 4 5 -1 6 7 8 -1'>
<Coordinate point='0.25 0.0 0.00 0.15 1.0 0.10 0.05 0.0 0.15 0.18 0.0 0.05 0.00 1.2 0.05 -0.10 0.0 0.05 -0.00 0.0 0.15 -0.13 0.8 0.10 -0.25 0.0 0.00'/>
<Color color='1.0 1.0 1.0 0.9 0.9 0.9 0.804 0.788 0.788 0.8 0.8 0.8 1.0 1.0 1.0 1.0 1.0 0.0 0.7 0.7 0.7 0.9 0.8 0.9 1.0 0.498 0'/>
</IndexedFaceSet>
</Shape>
</Transform>
<Transform DEF='Flame3rotation='0.79 0 0.61 3.14scale='0.02 0.1 0.02'>
<Shape>
<IndexedFaceSet coordIndex='0 1 2 -1 3 4 5 -1 6 7 8 -1'>
<Coordinate point='0.25 0.0 0.00 0.15 1.0 0.10 0.05 0.0 0.15 0.18 0.0 0.05 0.00 1.2 0.05 -0.10 0.0 0.05 -0.00 0.0 0.15 -0.13 0.8 0.10 -0.25 0.0 0.00'/>
<Color color='1.0 1.0 1.0 0.9 0.9 0.9 0.804 0.788 0.788 0.8 0.8 0.8 1.0 1.0 1.0 1.0 1.0 0.0 0.7 0.7 0.7 0.9 0.8 0.9 1.0 0.498 0'/>
</IndexedFaceSet>
</Shape>
</Transform>
</Transform>
<Transform DEF='BarrelFronttranslation='0 -0.1 0'> </Transform>
<Transform DEF='BarrelCenter'> </Transform>
<Transform DEF='BarrelBacktranslation='0 0.42 0'> </Transform>
<Transform DEF='BarrelBulletLoadrotation='0 1 0 1.3translation='0 0.42 0'> </Transform>
<Transform DEF='BarrelBulletLoadEndtranslation='0 0.42 0'> </Transform>
<Transform DEF='BarrelEndscale='0.9 1.1 0.9translation='0 0.405 0'>
<Shape>
<Appearance DEF='BarrelEndColor'>
<Material ambientIntensity='0.1diffuseColor='0.85 0.85 0.85shininess='0.8specularColor='0.85 0.85 0.85'/>
</Appearance>
<Extrusion creaseAngle='1.57crossSection='0.0 0.013 0.00494 0.01196 0.00923 0.00923 0.01196 0.00494 0.013 0.00 0.01196 -0.00494 0.00923 -0.00923 0.00494 -0.01196 0.00 -0.013 -0.00494 -0.01196 -0.00923 -0.00923 -0.01196 -0.00494 -0.013 -0.0 -0.01196 0.00494 -0.00923 0.00923 -0.00494 0.01196 0.00 0.013scale='1.0 1.0 1.0 1.0 0.8 0.8 0.8 0.8 0.6 0.6spine='0 0.125 0 0 0.13 0 0 0.135 0 0 0.14 0 0 0.15 0'/>
</Shape>
</Transform>
</Transform>
<Transform DEF='BulletGuiderotation='0 1 0 1.57translation='0.08 0.02 0.011'>
<Shape>
<Appearance>
<Material diffuseColor='0.3 0.3 0.3'/>
</Appearance>
<Extrusion creaseAngle='1.57crossSection='0.0 0.006 0.001 0.0057 0.001 -0.0057 0.0 -0.006 -0.001 -0.0057 -0.001 0.0057 0.0 0.006scale='0.8 0.8 1.5 1.0spine='0.01 0.0 0.0 0.01 -0.01 0.0'/>
</Shape>
</Transform>
<Transform DEF='Telescoperotation='0.58 -0.58 0.58 2.09translation='0 -0.01 0'>
<Transform DEF='TelescopeLensFronttranslation='0 0.36 -0.05'>
<Shape>
<Appearance>
<Material diffuseColor='0.0941 0.455 0.804emissiveColor='0.0941 0.455 0.804shininess='0.8transparency='0.55'/>
</Appearance>
<Cylinder height='0.005radius='0.02'/>
</Shape>
</Transform>
<Transform DEF='CircleLinerotation='1 0 0 1.57scale='0.0215 0.0215 0.015translation='0 0.35 -0.05'>
<Shape>
<Appearance>
<Material diffuseColor='0.957 0.643 0.376'/>
</Appearance>
<IndexedLineSet coordIndex='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 -1 60 61 -1 62 63 -1'>
<Coordinate point='0.0 1.0 0.0 0.105 0.995 0.0 0.208 0.978 0.0 0.309 0.951 0.0 0.407 0.914 0.0 0.500 0.866 0.0 0.588 0.809 0.0 0.669 0.743 0.0 0.743 0.669 0.0 0.809 0.588 0.0 0.866 0.500 0.0 0.914 0.407 0.0 0.951 0.309 0.0 0.978 0.208 0.0 0.995 0.105 0.0 1.0 0.0 0.0 0.995 -0.105 0.0 0.978 -0.208 0.0 0.951 -0.309 0.0 0.914 -0.407 0.0 0.866 -0.500 0.0 0.809 -0.588 0.0 0.743 -0.669 0.0 0.669 -0.743 0.0 0.588 -0.809 0.0 0.500 -0.866 0.0 0.407 -0.914 0.0 0.309 -0.951 0.0 0.208 -0.978 0.0 0.105 -0.995 0.0 0.0 -1.0 0.0 -0.105 -0.995 0.0 -0.208 -0.978 0.0 -0.309 -0.951 0.0 -0.407 -0.914 0.0 -0.500 -0.866 0.0 -0.588 -0.809 0.0 -0.669 -0.743 0.0 -0.743 -0.669 0.0 -0.809 -0.588 0.0 -0.866 -0.500 0.0 -0.914 -0.407 0.0 -0.951 -0.309 0.0 -0.978 -0.208 0.0 -0.995 -0.105 0.0 -1.0 -0.0 0.0 -0.995 0.105 0.0 -0.978 0.208 0.0 -0.951 0.309 0.0 -0.914 0.407 0.0 -0.866 0.500 0.0 -0.809 0.588 0.0 -0.743 0.669 0.0 -0.669 0.743 0.0 -0.588 0.809 0.0 -0.500 0.866 0.0 -0.407 0.914 0.0 -0.309 0.951 0.0 -0.208 0.978 0.0 -0.105 0.995 0.0 0 1 0 0 -1 0 1 0 0 -1 0 0'/>
</IndexedLineSet>
</Shape>
</Transform>
<Transform DEF='TelescopeLensForEyetranslation='0 0.58 -0.05'>
<Shape>
<Appearance>
<Material diffuseColor='0.0941 0.455 0.804transparency='0.5'/>
</Appearance>
<Cylinder height='0.005radius='0.016'/>
</Shape>
</Transform>
<Transform DEF='TelescopeMaintranslation='0 0.35 -0.05'>
<Shape>
<Appearance DEF='TelescopeColor'>
<Material diffuseColor='0.2 0.2 0.2'/>
</Appearance>
<Extrusion creaseAngle='1.57crossSection='0.0 0.013 0.00494 0.01196 0.00923 0.00923 0.01196 0.00494 0.013 0.00 0.01196 -0.00494 0.00923 -0.00923 0.00494 -0.01196 0.00 -0.013 -0.00494 -0.01196 -0.00923 -0.00923 -0.01196 -0.00494 -0.013 -0.0 -0.01196 0.00494 -0.00923 0.00923 -0.00494 0.01196 0.00 0.013 0.0 0.012 -0.00425 0.0109 -0.0085 0.0085 -0.0109 0.00425 -0.012 -0.0 -0.0109 -0.00425 -0.0085 -0.0085 -0.00425 -0.0109 0.0 -0.012 0.00425 -0.0109 .0085 -0.0085 0.0109 -0.00425 0.012 0.0 0.0109 0.00425 0.0085 0.0085 0.00425 0.0109 0.0 0.012scale='1.7 1.7 1.7 1.7 1.4 1.4 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.2 1.2 1.35 1.35 1.35 1.35 1.35 1.35spine='0 0 0 0 0.03 0 0 0.05 0 0 0.07 0 0 0.1 0 0 0.15 0 0 0.17 0 0 0.20 0 0 0.23 0 0 0.24 0 0 0.25 0'/>
</Shape>
</Transform>
<Transform DEF='TelescopeBeltFronttranslation='0 0.45 -0.05'> </Transform>
<Transform DEF='TelescopeBeltBacktranslation='0 0.52 -0.05'> </Transform>
<Transform DEF='TelescopeBoltFrontrotation='1 0 0 1.57scale='0.65 0.8 0.65translation='0 0.458 -0.0365'> </Transform>
<Transform DEF='TelescopeBoltBackrotation='1 0 0 1.57scale='0.65 0.8 0.65translation='0 0.53 -0.0365'> </Transform>
<Transform DEF='AdjustmentLeftrotation='0 0 1 1.57translation='-0.013 0.49 -0.048'>
<Shape>
<Appearance DEF='TelescopeAdjustmentColor'>
<Material diffuseColor='0.1 0.1 0.1emissiveColor='0.3 0.3 0.3shininess='0.7specularColor='0.1 0.1 0.1'/>
</Appearance>
<Extrusion creaseAngle='1.57crossSection='0.0 0.013 0.00494 0.01196 0.008 0.008 0.01196 0.00494 0.013 0.00 0.01196 -0.00494 0.008 -0.008 0.00494 -0.01196 0.00 -0.013 -0.00494 -0.01196 -0.008 -0.008 -0.01196 -0.00494 -0.013 -0.0 -0.01196 0.00494 -0.008 0.008 -0.00494 0.01196 0.00 0.013scale='0.8 0.8 0.8 0.8spine='0 0 0 0 0.01 0'/>
</Shape>
</Transform>
<Transform DEF='AdjustmentRightrotation='0 0 1 1.57translation='0.023 0.49 -0.048'> </Transform>
<Transform DEF='AdjustmentToprotation='1 0 0 1.57translation='0 0.49 -0.08'> </Transform>
<Transform DEF='Adjustmentrotation='1 0 0 1.57translation='0 0.49 -0.072'> </Transform>
<Transform DEF='AdjustmentTelerotation='1 0 0 1.57translation='0 0.49 -0.067'> </Transform>
</Transform>
<Transform DEF='HandRestrotation='0.58 -0.58 0.58 2.09scale='2 2 2translation='-0.38 0.012 0'>
<Shape>
<Appearance DEF='HandrestColor'>
<Material diffuseColor='0.3 0.3 0.3'/>
</Appearance>
<Extrusion creaseAngle='1.57crossSection='0.0 0.013 0.00494 0.01196 0.00923 0.00923 0.01196 0.00494 -0.01196 0.00494 -0.00923 0.00923 -0.00494 0.01196 0.00 0.013scale='0.6 2.0 0.4 2.3spine='0 -0.1 0 0.0 0.09 0.0'/>
</Shape>
</Transform>
<Transform DEF='Handle'>
<Transform DEF='HandleBodyrotation='0 0 1 -0.4translation='-0.57 -0.0274 0.0'>
<Shape>
<Appearance USE='HandrestColor'/>
<Extrusion creaseAngle='1.57crossSection='0.0 0.021 0.0435 0.02 0.057 0.01 0.06 0.0 0.057 -0.01 0.0435 -0.02 0.0 -0.021 -0.0435 -0.02 -0.057 -0.01 -0.06 0.0 -0.057 0.01 -0.0435 0.02 0.0 0.021scale='0.38 0.38 0.36 0.36 0.3 0.3 0.25 0.25 0.32 0.34spine='-0.03 -0.09 0.0 -0.03 -0.05 0.0 -0.022 -0.025 0.0 -0.01 -0.01 0.0 0.02 0.01 0.0'/>
</Shape>
</Transform>
<Transform DEF='HandleEndrotation='0 0 1 0.385translation='-0.648 -0.1168 0.0'>
<Shape>
<Appearance USE='BarrelEndColor'/>
<Extrusion creaseAngle='1.57crossSection='0.0 0.021 0.0435 0.02 0.057 0.01 0.06 0.0 0.057 -0.01 0.0435 -0.02 0.0 -0.021 -0.0435 -0.02 -0.057 -0.01 -0.06 0.0 -0.057 0.01 -0.0435 0.02 0.0 0.021scale='0.37 0.37 0.38 0.38spine='0.02 0.01 0.0 0.021 0.011 0.0'/>
</Shape>
</Transform>
</Transform>
<Transform DEF='Stack'>
<Transform DEF='StackBodyrotation='0.58 0.58 -0.58 2.09translation='-0.7 -0.145 0'>
<Transform rotation='1 0 0 -0.25'>
<Shape>
<Appearance USE='TelescopeColor'/>
<Extrusion creaseAngle='1.57crossSection='0.0 0.06 0.01 0.057 0.02 0.0435 0.021 0.0 0.02 -0.0435 0.01 -0.057 0.0 -0.06 -0.01 -0.057 -0.02 -0.0435 -0.021 0.0 -0.02 0.0435 -0.01 0.057 0.0 0.06scale='1.0 1.0 0.5 0.5 0.1 0.1spine='0 -0.1 -0.09 0.0 0.1 -0.09 0.0 0.12 -0.09'/>
</Shape>
</Transform>
</Transform>
<Transform DEF='StackEndrotation='0.58 0.58 -0.58 2.09translation='-0.918 -0.2015 0'>
<Transform rotation='1 0 0 -0.25'>
<Shape>
<Appearance DEF='StackColor'>
<Material ambientIntensity='0.1diffuseColor='0.85 0.85 0.85shininess='0.8specularColor='0.85 0.85 0.85'/>
</Appearance>
<Extrusion creaseAngle='1.57crossSection='0.0 0.06 0.01 0.057 0.02 0.0435 0.021 0.0 0.02 -0.0435 0.01 -0.057 0.0 -0.06 -0.01 -0.057 -0.02 -0.0435 -0.021 0.0 -0.02 0.0435 -0.01 0.057 0.0 0.06scale='0.9 0.9 1.0 1.0spine='0.0 0.119 -0.09 0.0 0.125 -0.09'/>
</Shape>
</Transform>
</Transform>
</Transform>
<Transform DEF='Trigger'>
<Transform DEF='TriggerGuardtranslation='-0.54 -0.042 0'>
<Shape>
<Appearance USE='HandrestColor'/>
<Extrusion creaseAngle='1.57crossSection='0.0 0.006 0.001 0.0057 0.001 -0.0057 0.0 -0.006 -0.001 -0.0057 -0.001 0.0057 0.0 0.006spine='-0.02 0.0 0.0 -0.028 -0.01 0.0 -0.03 -0.02 0.0 -0.021 -0.031 0.0 -0.006 -0.035 0.0 0.01 -0.033 0.0 0.02 -0.02 0.0 0.02 -0.01 0.0 0.021 0.0 0.0'/>
</Shape>
</Transform>
<Transform DEF='TriggerPintranslation='-0.565 -0.042 0'>
<Shape>
<Appearance USE='BarrelColor'/>
<Extrusion creaseAngle='1.57crossSection='0.0 0.006 0.001 0.0057 0.001 -0.0057 0.0 -0.006 -0.001 -0.0057 -0.001 0.0057 0.0 0.006scale='1.5 1.0 1.0 1.0 0.8 0.8 0.7 0.7spine='0.01 0.0 0.0 0.011 -0.01 0.0 0.015 -0.02 0.0 0.02 -0.025 0.0'/>
</Shape>
</Transform>
</Transform>
<Transform DEF='SafetyPinscale='2.2 1.35 0.8translation='-0.565 -0.008 0.0085'>
<Shape>
<Appearance USE='StackColor'/>
<Extrusion creaseAngle='1.57crossSection='0.0 0.006 0.001 0.0057 0.001 -0.0057 0.0 -0.006 -0.001 -0.0057 -0.001 0.0057 0.0 0.006scale='1.5 1.0 1.0 1.0 0.8 0.8 0.3 0.3spine='0.01 0.0 0.0 0.01 -0.01 0.0 0.008 -0.02 0.0 0.006 -0.025 0.0'/>
</Shape>
</Transform>
<Transform DEF='Safetyscale='1.0 0.7 0.6translation='-0.546 -0.04 0.009'>
<Shape>
<Appearance USE='StackColor'/>
<Sphere radius='0.008'/>
</Shape>
</Transform>
<Group>
<!-- ROUTE information for TriggerScript node:  [from clockStartTime to Clock.set_startTime ] [from clockStartTime to RifleSoundAudio.set_startTime ] -->
<Script DEF='TriggerScript'>
<field name='triggertype='SFBoolaccessType='inputOnly'/>
<field name='firetype='SFBoolaccessType='outputOnly'/>
<field name='animationStartTimetype='SFTimeaccessType='inputOnly'/>
<field name='clockStartTimetype='SFTimeaccessType='outputOnly'/>
<IS>
<connect nodeField='triggerprotoField='trigger'/>
<connect nodeField='animationStartTimeprotoField='animationStartTime'/>
</IS>
<![CDATA[
                      
ecmascript:


function trigger(value, timeStamp)
{
      //print ('trigger = ' + value);
      if (value == true)
      {
            fire = true;
      }
      else
      {
            fire = false;
      }
       //print ('fire = ' + fire);
}



function animationStartTime(time, timeStamp)
{
          //print ('time = ' + time);
          if (fire == true)
                   clockStartTime = time;
}

                    
]]>
</Script>
<!-- ROUTE information for Clock node:  [from TriggerScript.clockStartTime to set_startTime ] [from fraction_changed to TriggerInterpolator.set_fraction ] [from fraction_changed to FlashInterpolator.set_fraction ] [from fraction_changed to ShootShockInterpolator.set_fraction ] -->
<TimeSensor DEF='ClockcycleInterval='0.5'/>
<Sound DEF='RifleSound'>
<!-- ROUTE information for RifleSoundAudio node:  [from TriggerScript.clockStartTime to set_startTime ] -->
<AudioClip DEF='RifleSoundAudiodescription='Rifle fire'
  url=' "riflefire.wav" "../../Weapons/SmallArms/riflefire.wav" "https://savage.nps.edu/Savage/Weapons/SmallArms/riflefire.wav" '/>
</Sound>
<!-- ROUTE information for TriggerInterpolator node:  [from Clock.fraction_changed to set_fraction ] [from value_changed to BulletTransform.set_translation ] -->
<PositionInterpolator DEF='TriggerInterpolatorkey='0.0 0.2 0.49 0.8 1.0keyValue='-0.64 0.0 0.0 -0.40 0.0 0.0 1 0.0 0.0 2 0.0 0.0 51 0.0 0.0'/>
<!-- ROUTE information for FlashInterpolator node:  [from Clock.fraction_changed to set_fraction ] [from value_changed to FlashTransform.set_translation ] -->
<PositionInterpolator DEF='FlashInterpolatorkey='0.0 0.3 0.5 0.8 1.0keyValue='0 0.13 0 0 -0.1 0 0 -0.1 0 0 0.15 0 0 0.13 0'/>
<!-- ROUTE information for ShootShockInterpolator node:  [from Clock.fraction_changed to set_fraction ] [from value_changed to ShootShockTransform.set_translation ] -->
<PositionInterpolator DEF='ShootShockInterpolatorkey='0.0 0.8 0.9 1.0keyValue='-0.64 0.0 0.0 -0.70 0.0 0.0 -0.66 0.0 0.0 -0.62 0.0 0.0'/>
<ROUTE fromNode='TriggerScriptfromField='clockStartTimetoNode='ClocktoField='set_startTime'/>
<ROUTE fromNode='ClockfromField='fraction_changedtoNode='TriggerInterpolatortoField='set_fraction'/>
<ROUTE fromNode='TriggerInterpolatorfromField='value_changedtoNode='BulletTransformtoField='set_translation'/>
<!-- Rifle Sound -->
<ROUTE fromNode='TriggerScriptfromField='clockStartTimetoNode='RifleSoundAudiotoField='set_startTime'/>
<!-- Flash animation -->
<ROUTE fromNode='ClockfromField='fraction_changedtoNode='FlashInterpolatortoField='set_fraction'/>
<ROUTE fromNode='FlashInterpolatorfromField='value_changedtoNode='FlashTransformtoField='set_translation'/>
<!-- Shoot shock animation -->
<ROUTE fromNode='ClockfromField='fraction_changedtoNode='ShootShockInterpolatortoField='set_fraction'/>
<ROUTE fromNode='ShootShockInterpolatorfromField='value_changedtoNode='ShootShockTransformtoField='set_translation'/>
</Group>
</Transform>
</Group>
</Group>
<WorldInfo info='"null node"'/>
</LOD>
</Group>
</ProtoBody>
</ProtoDeclare>
<!-- ==================== -->
<Background skyColor='0.604 0.753 0.804'/>
<Anchor description='RifleM24Exampleparameter='"target=_blank"'
  url=' "RifleM24Example.x3d" "../../Weapons/SmallArms/RifleM24Example.x3d" "https://savage.nps.edu/Savage/Weapons/SmallArms/RifleM24Example.x3d" "../../Weapons/SmallArms/RifleM24Example.wrl" "RifleM24Example.wrl" "https://savage.nps.edu/Savage/Weapons/SmallArms/RifleM24Example.wrl" '>
<Shape>
<Text string='"RifleM24Prototype" "is a prototype definition file" "" "To see an example scene" "click on this text and view" "RifleM24Example"'>
<FontStyle justify='"MIDDLE" "MIDDLE"'/>
</Text>
<Appearance>
<Material diffuseColor='0.819608 0 0.023529'/>
</Appearance>
</Shape>
</Anchor>
</Scene>
</X3D>
<!--

Index for ProtoDeclare definition : RifleM24

Index for DEF nodes : Adjustment, AdjustmentLeft, AdjustmentRight, AdjustmentTele, AdjustmentTop, Barrel, BarrelBack, BarrelBulletLoad, BarrelBulletLoadEnd, BarrelCenter, BarrelColor, BarrelEnd, BarrelEndColor, BarrelFront, BarrelPoint, BulletColor, BulletGuide, BulletTransform, CircleLine, Clock, Flame1, Flame2, Flame3, FlashInterpolator, FlashTransform, Handle, HandleBody, HandleEnd, HandRest, HandrestColor, High, RifleSound, RifleSoundAudio, Safety, SafetyPin, ShootShockInterpolator, ShootShockTransform, Stack, StackBody, StackColor, StackEnd, Telescope, TelescopeAdjustmentColor, TelescopeBeltBack, TelescopeBeltFront, TelescopeBoltBack, TelescopeBoltFront, TelescopeColor, TelescopeLensForEye, TelescopeLensFront, TelescopeMain, Trigger, TriggerGuard, TriggerInterpolator, TriggerPin, TriggerScript, Viewpoints

Index for Viewpoint images : Viewpoint_1, Viewpoint_2, Viewpoint_3, Viewpoint_4, Viewpoint_5
-->

<!-- 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)
    <Prototype name='ProtoName'> <field name='fieldName'/> </Prototype> -->

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