<?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='TurretHatch.x3d'/>
<meta name='descriptioncontent='Turret Hatch and Hinge Assembly for the AAVP7A1 - click and drag hatch to open.'/>
<meta name='creatorcontent='Jeffrey Weekley'/>
<meta name='createdcontent='1 June 2001'/>
<meta name='modifiedcontent='20 October 2019'/>
<meta name='identifiercontent=' https://savage.nps.edu/Savage/AmphibiousVehicles/AAV/TurretHatch.x3d '/>
<meta name='subjectcontent='AAV AAV7PA1 LVTP7'/>
<meta name='generatorcontent='X3D-Edit 3.2, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../../license.html'/>
</head>
<!--

Index for ExternProtoDeclare definition : ArbitraryAxisCylinderSensor

Index for DEF nodes : TurretHatch, TurretHatchGROUP, TurretHatchHinges
-->
<Scene>
<WorldInfo title='TurretHatch.x3d'/>
<ExternProtoDeclare name='ArbitraryAxisCylinderSensorappinfo='Modified CylinderSensor with children nodes oriented about an arbitrary axis. Warning: ArbitraryAxisCylinderSensor affects children, not peers.'
  url=' "../../../Savage/Tools/Animation/ArbitraryAxisCylinderSensorPrototype.x3d#ArbitraryAxisCylinderSensor" "https://savage.nps.edu/Savage/Tools/Animation/ArbitraryAxisCylinderSensorPrototype.x3d#ArbitraryAxisCylinderSensor" "../../../Savage/Tools/Animation/ArbitraryAxisCylinderSensorPrototype.wrl#ArbitraryAxisCylinderSensor" "https://savage.nps.edu/Savage/Tools/Animation/ArbitraryAxisCylinderSensorPrototype.wrl#ArbitraryAxisCylinderSensor" '>
<field name='shiftRotationAxistype='SFRotationaccessType='initializeOnly'
 appinfo='shifted axis of rotation from local vertical, default 1 0 0 0'/>

<field name='centertype='SFVec3faccessType='initializeOnly'
 appinfo='local center for axis of rotation, default 0 0 0'/>

<field name='showCylinderSensorShapetype='SFBoolaccessType='initializeOnly'
 appinfo='whether to show visualization shape to show orientation and cylindrical mapping of mouse movements by sensor, default true'/>

<field name='scaleCylinderSensorShapetype='SFVec3faccessType='inputOutput'
 appinfo='scale for visualization shape, default 1 1 1'/>

<field name='colorCylinderSensorShapetype='SFColoraccessType='inputOutput'
 appinfo='color for visualization shape, default 0.9 0.9 0.4'/>

<field name='transparencyCylinderSensorShapetype='SFFloataccessType='inputOutput'
 appinfo='transparency for visualization shape'/>

<field name='childrentype='MFNodeaccessType='inputOutput'
 appinfo='children nodes affected by ArbitraryAxisCylinderSensor'/>

<field name='autoOffsettype='SFBoolaccessType='inputOutput'
 appinfo='determines whether previous offset values are remembered/accumulated, default true'/>

<field name='descriptiontype='SFStringaccessType='inputOutput'
 appinfo='Text tooltip displayed for user interaction'/>

<field name='diskAngletype='SFFloataccessType='inputOutput'
 appinfo='diskAngle 0 forces disk-like behavior, diskAngle 1.57 (90 degrees) forces cylinder-like behavior, default 0.262, range [0,pi/2]'/>

<field name='enabledtype='SFBoolaccessType='inputOutput'
 appinfo='enables/disables node operation, default true'/>

<field name='minAngletype='SFFloataccessType='inputOutput'
 appinfo='clamps rotation_changed events, default 0, range [-2pi,2pi]'/>

<field name='maxAngletype='SFFloataccessType='inputOutput'
 appinfo='clamps rotation_changed events, default -1, range [-2pi,2pi]'/>

<field name='offsettype='SFFloataccessType='initializeOnly'
 appinfo='sends event and remembers last value sensed, default 0, range (-infinity,infinity)'/>

<field name='isActivetype='SFBoolaccessType='outputOnly'
 appinfo='output event isActive=true when primary mouse button is pressed, output event isActive=false when released.'/>

<field name='rotation_changedtype='SFRotationaccessType='outputOnly'
 appinfo='rotation_changed events equal sum of relative bearing changes plus offset value about Y-axis in local coordinate system'/>

<field name='trackPoint_changedtype='SFVec3faccessType='outputOnly'
 appinfo="trackPoint_changed events give intersection point of bearing with sensor's virtual geometry"/>
</ExternProtoDeclare>
<ProtoInstance name='ArbitraryAxisCylinderSensor'>
<!-- rotate yAxis to xAxis -->
<fieldValue name='minAnglevalue='0'/>
<fieldValue name='maxAnglevalue='1.8'/>
<fieldValue name='shiftRotationAxisvalue='0 0 1 -1.5707963'/>
<fieldValue name='showCylinderSensorShapevalue='false'/>
<fieldValue name='children'>
<Group DEF='TurretHatchGROUPbboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform DEF='TurretHatchHingesrotation='0 -1 0 1.57translation='0.201 0 0bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform rotation='1 0 0 1.57bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Cylinder height='0.0375radius='0.06'/>
<Appearance>
<Material diffuseColor='0.15 0.66 0.25'/>
</Appearance>
</Shape>
<Transform translation='-0.135 0 0bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Appearance>
<Material diffuseColor='0.15 0.66 0.25'/>
</Appearance>
<Box size='0.1875 0.0375 0.06solid='true'/>
</Shape>
</Transform>
<Transform translation='0 0.2625 0bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Cylinder height='0.0375radius='0.06'/>
<Appearance>
<Material diffuseColor='0.15 0.66 0.25'/>
</Appearance>
</Shape>
<Transform translation='-0.135 0 0bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Appearance>
<Material diffuseColor='0.15 0.66 0.25'/>
</Appearance>
<Box size='0.1875 0.0375 0.06solid='true'/>
</Shape>
</Transform>
</Transform>
<Transform translation='0 0.13125 0bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Cylinder height='0.2625radius='0.045'/>
<Appearance>
<Material diffuseColor='0.15 0.66 0.25'/>
</Appearance>
</Shape>
</Transform>
</Transform>
</Transform>
<Transform DEF='TurretHatchrotation='0 1 0 0.675scale='2 2 2translation='0.0625 0 -0.4bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Transform bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Shape bboxCenter='0 0 0bboxSize='-1 -1 -1'>
<Appearance>
<Material diffuseColor='0.15 0.66 0.25'/>
</Appearance>
<Extrusion creaseAngle='0.775crossSection='1.00 0.00 -0.38 -0.92 -0.71 -0.71 -0.92 -0.38 -1.00 -0.00 -0.92 0.38 -0.71 0.71 -0.38 0.92 0.00 1.00 0.38 0.92 0.71 0.71 0.92 0.38 1.00 0.00scale='0.16 0.16 0.14 0.14 0.08 0.08 0.02 0.02 0.02 0.02spine='0 0 0 0 0.02 0 0 0.04 0 0 0.05 0 0 0.05125 0'/>
</Shape>
</Transform>
</Transform>
</Group>
</fieldValue>
</ProtoInstance>
</Scene>
</X3D>
<!--

Index for ExternProtoDeclare definition : ArbitraryAxisCylinderSensor

Index for DEF nodes : TurretHatch, TurretHatchGROUP, TurretHatchHinges
-->

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