<?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='AGM65MaverickViewAnchors.x3d'/>
<meta name='descriptioncontent='AGM-65M Maverick Missile with anchors points for selective viewpoints, and touch sensors for user interaction.'/>
<meta name='creatorcontent='Al Shaffer'/>
<meta name='createdcontent='20 January 2005'/>
<meta name='modifiedcontent='16 January 2014'/>
<meta name='identifiercontent=' https://savage.nps.edu/Savage/Weapons/Missiles/AGM65MaverickViewAnchors.x3d '/>
<meta name='generatorcontent='X3D-Edit 3.2, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../../license.html'/>
</head>
<!-- -->
<Scene>
<!-- Viewpoint nodes set various views, based on selection of Anchor points in the world. -->
<Viewpoint DEF='MISSILE_INITIAL_VIEWdescription='Initial view of Missileposition='-50 0 100'/>
<Viewpoint DEF='MISSILE_CLOSEUPdescription='Closeup view of missileposition='0.0 0.0 13.0'/>
<Viewpoint DEF='MISSILE_AFTdescription='Aft view of missile, for launchorientation='-0.1 0.9 0.1 1.57position='22.0 5.0 5.0'/>
<Anchor description='Click for closeup viewpoint of missile'
  url=' "#MISSILE_CLOSEUP" '>
<Transform rotation='1 0 0 -1.1translation='-4.0 -2.5 15.0'>
<Collision enabled='false'>
<Shape>
<Cone bottomRadius='.5height='2.5'/>
<Appearance>
<Material diffuseColor='0.1 0.4 0.8emissiveColor='0 0.1 0.2shininess='.4specularColor='0.8 0.8 0.8transparency='.5'/>
</Appearance>
</Shape>
</Collision>
</Transform>
</Anchor>
<Anchor description='Click for aft view of missile (for cool launch view)'
  url=' "#MISSILE_AFT" '>
<Transform rotation='0 0 1 1.57translation='9.5 0.0 0.0'>
<Collision enabled='false'>
<Shape>
<Cone bottomRadius='0.5height='2.5'/>
<Appearance>
<Material diffuseColor='0.1 0.8 0.4emissiveColor='0 0.2 0.1shininess='.4specularColor='0.8 0.8 0.8transparency='.5'/>
</Appearance>
</Shape>
</Collision>
</Transform>
</Anchor>
<Anchor description='Click to return to initial view of missile'
  url=' "#MISSILE_INITIAL_VIEW" '>
<Transform rotation='1 0 0 3.14translation='0.0 5.0 0.0'>
<Collision enabled='false'>
<Shape>
<Cone bottomRadius='0.5height='2.5'/>
<Appearance>
<Material diffuseColor='1 0 0emissiveColor='0.2 0 0shininess='.4specularColor='0.8 0.8 0.8transparency='.5'/>
</Appearance>
</Shape>
</Collision>
</Transform>
</Anchor>
<Background groundAngle='0.1 1.309 1.570796groundColor='0 0 0 0 0.1 0.3 0 0.2 0.5 0 0.3 0.8skyAngle='0.1 0.15 1.309 1.571skyColor='0.4 0.4 0.1 0.4 0.4 0.1 0 0.1 0.3 0 0.2 0.6 0.8 0.8 0.8'
  backUrl=' "urn:web3d:media:textures/panoramas/ocean_4_back.jpg" "ocean_4_back.jpg" "http://www.web3d.org/WorkingGroups/media/textures/panoramas/ocean_4_back.jpg" "http://www.web3d.org/x3d/content/examples/UniversalMediaPanoramas/ocean_4_back.jpg" "http://www.web3dmedia.com/UniversalMedia/textures/panoramas/ocean_4_back.jpg" "http://www.officetowers.com/UniversalMedia/textures/panoramas/ocean_4_back.jpg" "http://geometrek.com/UniversalMedia/textures/panoramas/ocean_4_back.jpg" "http://www.sc.ehu.es/ccwgamoa/UniversalMedia/textures/panoramas/ocean_4_back.jpg" '
  bottomUrl=' "urn:web3d:media:textures/panoramas/ocean_4_bottom.jpg" "ocean_4_bottom.jpg" "http://www.web3d.org/WorkingGroups/media/textures/panoramas/ocean_4_bottom.jpg" "http://www.web3d.org/x3d/content/examples/UniversalMediaPanoramas/ocean_4_bottom.jpg" "http://www.web3dmedia.com/UniversalMedia/textures/panoramas/ocean_4_bottom.jpg" "http://www.officetowers.com/UniversalMedia/textures/panoramas/ocean_4_bottom.jpg" "http://geometrek.com/UniversalMedia/textures/panoramas/ocean_4_bottom.jpg" "http://www.sc.ehu.es/ccwgamoa/UniversalMedia/textures/panoramas/ocean_4_bottom.jpg" '
  frontUrl=' "urn:web3d:media:textures/panoramas/ocean_4_front.jpg" "ocean_4_front.jpg" "http://www.web3d.org/WorkingGroups/media/textures/panoramas/ocean_4_front.jpg" "http://www.web3d.org/x3d/content/examples/UniversalMediaPanoramas/ocean_4_front.jpg" "http://www.web3dmedia.com/UniversalMedia/textures/panoramas/ocean_4_front.jpg" "http://www.officetowers.com/UniversalMedia/textures/panoramas/ocean_4_front.jpg" "http://geometrek.com/UniversalMedia/textures/panoramas/ocean_4_front.jpg" "http://www.sc.ehu.es/ccwgamoa/UniversalMedia/textures/panoramas/ocean_4_front.jpg" '
  leftUrl=' "urn:web3d:media:textures/panoramas/ocean_4_left.jpg" "ocean_4_left.jpg" "http://www.web3d.org/WorkingGroups/media/textures/panoramas/ocean_4_left.jpg" "http://www.web3d.org/x3d/content/examples/UniversalMediaPanoramas/ocean_4_left.jpg" "http://www.web3dmedia.com/UniversalMedia/textures/panoramas/ocean_4_left.jpg" "http://www.officetowers.com/UniversalMedia/textures/panoramas/ocean_4_left.jpg" "http://geometrek.com/UniversalMedia/textures/panoramas/ocean_4_left.jpg" "http://www.sc.ehu.es/ccwgamoa/UniversalMedia/textures/panoramas/ocean_4_left.jpg" '
  rightUrl=' "urn:web3d:media:textures/panoramas/ocean_4_right.jpg" "ocean_4_right.jpg" "http://www.web3d.org/WorkingGroups/media/textures/panoramas/ocean_4_right.jpg" "http://www.web3d.org/x3d/content/examples/UniversalMediaPanoramas/ocean_4_right.jpg" "http://www.web3dmedia.com/UniversalMedia/textures/panoramas/ocean_4_right.jpg" "http://www.officetowers.com/UniversalMedia/textures/panoramas/ocean_4_right.jpg" "http://geometrek.com/UniversalMedia/textures/panoramas/ocean_4_right.jpg" "http://www.sc.ehu.es/ccwgamoa/UniversalMedia/textures/panoramas/ocean_4_right.jpg" '
  topUrl=' "urn:web3d:media:textures/panoramas/ocean_4_top.jpg" "ocean_4_top.jpg" "http://www.web3d.org/WorkingGroups/media/textures/panoramas/ocean_4_top.jpg" "http://www.web3d.org/x3d/content/examples/UniversalMediaPanoramas/ocean_4_top.jpg" "http://www.web3dmedia.com/UniversalMedia/textures/panoramas/ocean_4_top.jpg" "http://www.officetowers.com/UniversalMedia/textures/panoramas/ocean_4_top.jpg" "http://geometrek.com/UniversalMedia/textures/panoramas/ocean_4_top.jpg" "http://www.sc.ehu.es/ccwgamoa/UniversalMedia/textures/panoramas/ocean_4_top.jpg" '/>

<Group>
<!-- ROUTE information for MISSILE_TRANSFORM node:  [from PathInterpolator.value_changed to set_translation ] [from SpinInterpolator.value_changed to set_rotation ] [from RotateInterpolator.value_changed to set_rotation ] -->
<Transform DEF='MISSILE_TRANSFORM'> </Transform>
<!-- Define sensors and interpolator for missile rotation. -->
<!-- ROUTE information for MyTouchSensor node:  [from isOver to CLOCK1.set_enabled ] -->
<TouchSensor DEF='MyTouchSensordescription='touch sensor: hover mouse to rotate missile'/>
<!-- ROUTE information for CLOCK1 node:  [from MyTouchSensor.isOver to set_enabled ] [from fraction_changed to RotateInterpolator.set_fraction ] -->
<TimeSensor DEF='CLOCK1cycleInterval='4enabled='falseloop='true'/>
<!-- ROUTE information for RotateInterpolator node:  [from CLOCK1.fraction_changed to set_fraction ] [from value_changed to MISSILE_TRANSFORM.set_rotation ] -->
<OrientationInterpolator DEF='RotateInterpolatorkey='0.0 0.25 0.5 0.75 1.0keyValue='1.0 0.0 0.0 0.0 1.0 0.0 0.0 -1.57 1.0 0.0 0.0 -3.14 1.0 0.0 0.0 -4.71 1.0 0.0 0.0 -6.28'/>
<!-- Define sensors and interpolators for missile launch, travel, and rotation. -->
<!-- ROUTE information for MyClickSensor node:  [from touchTime to CLOCK2.set_startTime ] -->
<TouchSensor DEF='MyClickSensordescription='touch sensor: click to launch missile'/>
<!-- ROUTE information for CLOCK2 node:  [from MyClickSensor.touchTime to set_startTime ] [from fraction_changed to PathInterpolator.set_fraction ] [from fraction_changed to SpinInterpolator.set_fraction ] -->
<TimeSensor DEF='CLOCK2cycleInterval='4'/>
<!-- ROUTE information for PathInterpolator node:  [from CLOCK2.fraction_changed to set_fraction ] [from value_changed to MISSILE_TRANSFORM.set_translation ] -->
<PositionInterpolator DEF='PathInterpolatorkey='0.0 0.25 0.5 0.75 1.0keyValue='0.0 0.0 0.0 -75.0 0.0 0.0 -150.0 0.0 0.0 -225.0 0.0 0.0 0.0 0.0 0.0'/>
<!-- ROUTE information for SpinInterpolator node:  [from CLOCK2.fraction_changed to set_fraction ] [from value_changed to MISSILE_TRANSFORM.set_rotation ] -->
<OrientationInterpolator DEF='SpinInterpolatorkey='0.0 0.25 0.5 0.75 1.0keyValue='1.0 0.0 0.0 0.0 1.0 0.0 0.0 -1.57 1.0 0.0 0.0 -3.14 1.0 0.0 0.0 -4.71 1.0 0.0 0.0 -6.28'/>
</Group>
<!-- Set ROUTE for missile to launch when clicked, and rotate during travel. -->
<ROUTE fromNode='MyClickSensorfromField='touchTimetoNode='CLOCK2toField='set_startTime'/>
<ROUTE fromNode='CLOCK2fromField='fraction_changedtoNode='PathInterpolatortoField='set_fraction'/>
<ROUTE fromNode='PathInterpolatorfromField='value_changedtoNode='MISSILE_TRANSFORMtoField='set_translation'/>
<ROUTE fromNode='CLOCK2fromField='fraction_changedtoNode='SpinInterpolatortoField='set_fraction'/>
<ROUTE fromNode='SpinInterpolatorfromField='value_changedtoNode='MISSILE_TRANSFORMtoField='set_rotation'/>
<!-- Set ROUTE for missile to rotate longitudinally when touched. -->
<ROUTE fromNode='MyTouchSensorfromField='isOvertoNode='CLOCK1toField='set_enabled'/>
<ROUTE fromNode='CLOCK1fromField='fraction_changedtoNode='RotateInterpolatortoField='set_fraction'/>
<ROUTE fromNode='RotateInterpolatorfromField='value_changedtoNode='MISSILE_TRANSFORMtoField='set_rotation'/>
</Scene>
</X3D>
<!--

Index for DEF nodes : AGM65Maverick, CLOCK1, CLOCK2, MISSILE_AFT, MISSILE_CLOSEUP, MISSILE_INITIAL_VIEW, MISSILE_TRANSFORM, MyClickSensor, MyTouchSensor, PathInterpolator, RotateInterpolator, SpinInterpolator

Index for Viewpoint images : MISSILE_AFT, MISSILE_CLOSEUP, MISSILE_INITIAL_VIEW
-->

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