<?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='MfdScreen.x3d'/>
<meta name='descriptioncontent='MultiFunctionDisplay (MFD) screen that is inlined to create the cockpit console of a helicopter'/>
<meta name='creatorcontent='Doug Miller (original creator), Jane Wu (adapted from the original mfd.wrl created for vrtp demo helicopter)'/>
<meta name='createdcontent='19 February 1999'/>
<meta name='modifiedcontent='20 October 2019'/>
<meta name='contributorcontent='Del Beilstein'/>
<meta name='identifiercontent=' https://savage.nps.edu/Savage/AircraftHelicopters/OH58dKiowaWarriorUnitedStates/MfdScreen.x3d '/>
<meta name='referencecontent='T62.jpg'/>
<meta name='referencecontent='M1Abrams.jpg'/>
<meta name='referencecontent='MfdScreen.jpg'/>
<meta name='referencecontent='50cal.wav'/>
<meta name='generatorcontent='X3D-Edit 3.2, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../../license.html'/>
</head>
<!-- -->
<Scene>
<WorldInfo title='MfdScreen.x3d'/>
<Viewpoint description='Close-up view of Multi-FunctionDisplayposition='0 0 0.3'/>
<Group bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Appearance DEF='GRAY'>
<Material diffuseColor='0.2 0.2 0.2'/>
</Appearance>
<Box size='0.26 0.21 0.05solid='true'/>
</Shape>
<Transform translation='0.00 0.00 0.03bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<!-- ROUTE information for MFD_SCREEN node:  [from CycleSelector.value_changed to set_whichChoice ] -->
<Switch DEF='MFD_SCREENwhichChoice='3bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Appearance>
<Material DEF='GREEN_COLORdiffuseColor='0.0 1.0 0.0'/>
</Appearance>
<IndexedFaceSet DEF='MFD_GEOMETRYcoordIndex='0 1 2 3 -1'>
<Coordinate point='-0.09 -0.07 0.01 0.09 -0.07 0.01 0.09 0.07 0.01 -0.09 0.07 0.01'/>
</IndexedFaceSet>
</Shape>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Appearance> </Appearance>
<IndexedFaceSet USE='MFD_GEOMETRY'/>
</Shape>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Appearance> </Appearance>
<IndexedFaceSet USE='MFD_GEOMETRY'/>
</Shape>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Appearance> </Appearance>
<IndexedFaceSet USE='MFD_GEOMETRY'/>
</Shape>
</Switch>
</Transform>
<!-- ROUTE information for FIFTY_CAL_SOUND node:  [from FiftyCalOnOffToggle.value_changed to set_whichChoice ] -->
<Switch DEF='FIFTY_CAL_SOUNDwhichChoice='0bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Sound>
<AudioClip description='50 caliber gunloop='truepitch='1.0startTime='0stopTime='0pauseTime='0resumeTime='0'
  url=' "50cal.wav" "https://savage.nps.edu/Savage/AircraftHelicopters/OH58dKiowaWarriorUnitedStates/50cal.wav" '/>
</Sound>
</Switch>
<Transform translation='-0.11 -0.05 0.025bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape DEF='BUTTONbboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Appearance DEF='OFF_WHITE'>
<Material diffuseColor='0.75 0.75 0.75'/>
</Appearance>
<Box size='0.02 0.02 0.01solid='true'/>
</Shape>
</Transform>
<Transform translation='-0.11 -0.015 0.025bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape USE='BUTTONbboxCenter='0 0 0bboxSize='-1 -1 -1'/>
</Transform>
<Transform translation='-0.11 0.02 0.025bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape USE='BUTTONbboxCenter='0 0 0bboxSize='-1 -1 -1'/>
</Transform>
<Transform translation='-0.11 0.055 0.025bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape USE='BUTTONbboxCenter='0 0 0bboxSize='-1 -1 -1'/>
</Transform>
<Transform translation='0.11 -0.05 0.025bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape USE='BUTTONbboxCenter='0 0 0bboxSize='-1 -1 -1'/>
</Transform>
<Transform translation='0.11 -0.015 0.025bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape USE='BUTTONbboxCenter='0 0 0bboxSize='-1 -1 -1'/>
</Transform>
<Transform translation='0.11 0.02 0.025bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape USE='BUTTONbboxCenter='0 0 0bboxSize='-1 -1 -1'/>
<!-- ROUTE information for RIGHT_BUTTON2 node:  [from isActive to FiftyCalOnOffToggle.set_boolean ] -->
<TouchSensor DEF='RIGHT_BUTTON2description='touch to activate'/>
</Transform>
<Transform translation='0.11 0.055 0.025bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape USE='BUTTONbboxCenter='0 0 0bboxSize='-1 -1 -1'/>
<!-- ROUTE information for RIGHT_BUTTON1 node:  [from isActive to CycleSelector.set_boolean ] -->
<TouchSensor DEF='RIGHT_BUTTON1description='touch to activate'/>
</Transform>
<Transform translation='-0.065 -0.09 0.025bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape USE='BUTTONbboxCenter='0 0 0bboxSize='-1 -1 -1'/>
</Transform>
<Transform translation='-0.035 -0.09 0.025bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape USE='BUTTONbboxCenter='0 0 0bboxSize='-1 -1 -1'/>
</Transform>
<Transform translation='0.035 -0.09 0.025bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape USE='BUTTONbboxCenter='0 0 0bboxSize='-1 -1 -1'/>
</Transform>
<Transform translation='0.065 -0.09 0.025bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape USE='BUTTONbboxCenter='0 0 0bboxSize='-1 -1 -1'/>
</Transform>
<Transform rotation='1.0 0.0 0.0 1.57translation='-0.11 -0.085 0.025bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape DEF='KNOBbboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Appearance>
<Material USE='GREEN_COLOR'/>
</Appearance>
<Cylinder height='0.02radius='0.0125'/>
</Shape>
</Transform>
<Transform rotation='1.0 0.0 0.0 1.57translation='0.11 -0.085 0.025bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape USE='KNOBbboxCenter='0 0 0bboxSize='-1 -1 -1'/>
</Transform>
</Group>
<!-- ROUTE information for CycleSelector node:  [from RIGHT_BUTTON1.isActive to set_boolean ] [from value_changed to MFD_SCREEN.set_whichChoice ] -->
<Script DEF='CycleSelector'>
<field name='valuetype='SFInt32value='0accessType='initializeOnly'/>
<field name='set_booleantype='SFBoolaccessType='inputOnly'/>
<field name='value_changedtype='SFInt32accessType='outputOnly'/>
<![CDATA[
      
ecmascript:
function set_boolean(bool, eventTime) {
 if (bool == false)
  return;
 if (value == 3)
  value = -1;
 value++;
 value_changed = value;
}

    
]]>
</Script>
<!-- ROUTE information for FiftyCalOnOffToggle node:  [from RIGHT_BUTTON2.isActive to set_boolean ] [from value_changed to FIFTY_CAL_SOUND.set_whichChoice ] -->
<Script DEF='FiftyCalOnOffToggle'>
<field name='valuetype='SFBoolvalue='falseaccessType='initializeOnly'/>
<field name='set_booleantype='SFBoolaccessType='inputOnly'/>
<field name='value_changedtype='SFInt32accessType='outputOnly'/>
<![CDATA[
      
ecmascript:
function set_boolean(bool, eventTime) {
   if (bool == false)
      return;

   value_changed = value;

   if (value == true)
      value = false;
   else
      value = true;
}

    
]]>
</Script>
<!-- Cycle selectors routes -->
<ROUTE fromNode='RIGHT_BUTTON1fromField='isActivetoNode='CycleSelectortoField='set_boolean'/>
<ROUTE fromNode='CycleSelectorfromField='value_changedtoNode='MFD_SCREENtoField='set_whichChoice'/>
<!-- 50Cal Routes -->
<ROUTE fromNode='RIGHT_BUTTON2fromField='isActivetoNode='FiftyCalOnOffToggletoField='set_boolean'/>
<ROUTE fromNode='FiftyCalOnOffTogglefromField='value_changedtoNode='FIFTY_CAL_SOUNDtoField='set_whichChoice'/>
</Scene>
</X3D>
<!--

Index for DEF nodes : BUTTON, CycleSelector, FIFTY_CAL_SOUND, FiftyCalOnOffToggle, GRAY, GREEN_COLOR, KNOB, MFD_GEOMETRY, MFD_SCREEN, OFF_WHITE, RIGHT_BUTTON1, RIGHT_BUTTON2

Index for Viewpoint image : Viewpoint_1
-->

<!-- 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 -->