X3D Model Documentation: AGM65MaverickViewAnchors.x3d

  1  <?xml version="1.0" encoding="UTF-8"?>
  2 
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "https://www.web3d.org/specifications/x3d-3.0.dtd">
  3  <X3D profile='Immersive' version='3.0 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.0.xsd'>
  4       <head>
  5            <meta name='titlecontent=' AGM65MaverickViewAnchors.x3d '/>
  6            <meta name='descriptioncontent='AGM-65M Maverick Missile with anchors points for selective viewpoints, and touch sensors for user interaction.'/>
  7            <meta name='creatorcontent='Al Shaffer'/>
  8            <meta name='createdcontent='20 January 2005'/>
  9            <meta name='modifiedcontent='16 January 2014'/>
 10            <meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/Savage/Weapons/Missiles/AGM65MaverickViewAnchors.x3d '/>
 11            <meta name='generatorcontent='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit'/>
 12            <meta name='licensecontent='../../license.html'/>
 13       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: AGM65Maverick, CLOCK1, CLOCK2, MISSILE_AFT, MISSILE_CLOSEUP, MISSILE_INITIAL_VIEW, MISSILE_TRANSFORM, MyClickSensor, MyTouchSensor, PathInterpolator, RotateInterpolator, SpinInterpolator

Index for Viewpoint nodes: MISSILE_AFT, MISSILE_CLOSEUP, MISSILE_INITIAL_VIEW
-->
 14       <Scene>
 15            <!-- Viewpoint nodes set various views, based on selection of Anchor points in the world. -->
 16            <WorldInfo title='AGM65MaverickViewAnchors.x3d'/>
 17            <Viewpoint DEF='MISSILE_INITIAL_VIEWdescription='Initial view of Missileposition='-50 0 100'/>
 18            <Viewpoint DEF='MISSILE_CLOSEUPdescription='Closeup view of missileposition='0.0 0.0 13.0'/>
 19            <Viewpoint DEF='MISSILE_AFTdescription='Aft view of missile, for launchorientation='-0.1 0.9 0.1 1.57position='22.0 5.0 5.0'/>
 20            <Anchor description='Click for closeup viewpoint of missile'   url=' "#MISSILE_CLOSEUP" '>
 21                 <Transform rotation='1 0 0 -1.1translation='-4.0 -2.5 15.0'>
 22                      <Collision enabled='false'>
 23                           <Shape>
 24                                <Cone bottomRadius='.5height='2.5'/>
 25                                <Appearance>
 26                                     <Material diffuseColor='0.1 0.4 0.8emissiveColor='0 0.1 0.2shininess='.4specularColor='0.8 0.8 0.8transparency='.5'/>
 27                                </Appearance>
 28                           </Shape>
 29                      </Collision>
 30                 </Transform>
 31            </Anchor>
 32            <Anchor description='Click for aft view of missile (for cool launch view)'   url=' "#MISSILE_AFT" '>
 33                 <Transform rotation='0 0 1 1.57translation='9.5 0.0 0.0'>
 34                      <Collision enabled='false'>
 35                           <Shape>
 36                                <Cone bottomRadius='0.5height='2.5'/>
 37                                <Appearance>
 38                                     <Material diffuseColor='0.1 0.8 0.4emissiveColor='0 0.2 0.1shininess='.4specularColor='0.8 0.8 0.8transparency='.5'/>
 39                                </Appearance>
 40                           </Shape>
 41                      </Collision>
 42                 </Transform>
 43            </Anchor>
 44            <Anchor description='Click to return to initial view of missile'   url=' "#MISSILE_INITIAL_VIEW" '>
 45                 <Transform rotation='1 0 0 3.14translation='0.0 5.0 0.0'>
 46                      <Collision enabled='false'>
 47                           <Shape>
 48                                <Cone bottomRadius='0.5height='2.5'/>
 49                                <Appearance>
 50                                     <Material diffuseColor='1 0 0emissiveColor='0.2 0 0shininess='.4specularColor='0.8 0.8 0.8transparency='.5'/>
 51                                </Appearance>
 52                           </Shape>
 53                      </Collision>
 54                 </Transform>
 55            </Anchor>
 56            <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 " "https://www.web3d.org/WorkingGroups/media/textures/panoramas/ocean_4_back.jpg " "https://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 " "https://www.web3d.org/WorkingGroups/media/textures/panoramas/ocean_4_bottom.jpg " "https://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 " "https://www.web3d.org/WorkingGroups/media/textures/panoramas/ocean_4_front.jpg " "https://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 " "https://www.web3d.org/WorkingGroups/media/textures/panoramas/ocean_4_left.jpg " "https://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 " "https://www.web3d.org/WorkingGroups/media/textures/panoramas/ocean_4_right.jpg " "https://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 " "https://www.web3d.org/WorkingGroups/media/textures/panoramas/ocean_4_top.jpg " "https://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 " '/>
 57            <Group>
 58 
               <!-- 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'>
 59                      <Inline DEF='AGM65Maverick'   url=' "ShafferAGM65Maverick.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Weapons/Missiles/ShafferAGM65Maverick.x3d" "ShafferAGM65Maverick.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Weapons/Missiles/ShafferAGM65Maverick.wrl" '/>
 60                 </Transform>
 61                 <!-- Define sensors and interpolator for missile rotation. -->
 62 
               <!-- ROUTE information for MyTouchSensor node:  [from isOver to CLOCK1.set_enabled ] -->
               <TouchSensor DEF='MyTouchSensordescription='touch sensor: hover mouse to rotate missile'/>
 63 
               <!-- ROUTE information for CLOCK1 node:  [from MyTouchSensor.isOver to set_enabled ] [from fraction_changed to RotateInterpolator.set_fraction ] -->
               <TimeSensor DEF='CLOCK1cycleInterval='4enabled='falseloop='true'/>
 64 
               <!-- 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'/>
 65                 <!-- Define sensors and interpolators for missile launch, travel, and rotation. -->
 66 
               <!-- ROUTE information for MyClickSensor node:  [from touchTime to CLOCK2.set_startTime ] -->
               <TouchSensor DEF='MyClickSensordescription='touch sensor: click to launch missile'/>
 67 
               <!-- 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'/>
 68 
               <!-- 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'/>
 69 
               <!-- 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'/>
 70            </Group>
 71            <!-- Set ROUTE for missile to launch when clicked, and rotate during travel. -->
 72            < ROUTE  fromNode='MyClickSensor' fromField='touchTime' toNode='CLOCK2' toField='set_startTime'/>
 73            < ROUTE  fromNode='CLOCK2' fromField='fraction_changed' toNode='PathInterpolator' toField='set_fraction'/>
 74            < ROUTE  fromNode='PathInterpolator' fromField='value_changed' toNode='MISSILE_TRANSFORM' toField='set_translation'/>
 75            < ROUTE  fromNode='CLOCK2' fromField='fraction_changed' toNode='SpinInterpolator' toField='set_fraction'/>
 76            < ROUTE  fromNode='SpinInterpolator' fromField='value_changed' toNode='MISSILE_TRANSFORM' toField='set_rotation'/>
 77            <!-- Set ROUTE for missile to rotate longitudinally when touched. -->
 78            < ROUTE  fromNode='MyTouchSensor' fromField='isOver' toNode='CLOCK1' toField='set_enabled'/>
 79            < ROUTE  fromNode='CLOCK1' fromField='fraction_changed' toNode='RotateInterpolator' toField='set_fraction'/>
 80            < ROUTE  fromNode='RotateInterpolator' fromField='value_changed' toNode='MISSILE_TRANSFORM' toField='set_rotation'/>
 81       </Scene>
 82  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: AGM65Maverick, CLOCK1, CLOCK2, MISSILE_AFT, MISSILE_CLOSEUP, MISSILE_INITIAL_VIEW, MISSILE_TRANSFORM, MyClickSensor, MyTouchSensor, PathInterpolator, RotateInterpolator, SpinInterpolator

Index for Viewpoint nodes: MISSILE_AFT, MISSILE_CLOSEUP, MISSILE_INITIAL_VIEW
-->
X3D Tooltips element index: Anchor, Appearance, Background, Collision, Cone, Group, head, Inline, Material, meta, OrientationInterpolator, PositionInterpolator, ROUTE, Scene, Shape, TimeSensor, TouchSensor, Transform, Viewpoint, WorldInfo, X3D, plus documentation for accessType definitions, type definitions, XML data types, and field types

Event Graph ROUTE Table entries with 8 ROUTE connections total, showing X3D event-model relationships for this scene.

Each row shows an event cascade that may occur during a single timestamp interval between frame renderings, as part of the X3D execution model.

MyClickSensor
TouchSensor
touchTime
SFTime

ROUTE
event to
(1)
CLOCK2
TimeSensor
set_startTime
SFTime
then
 
 
 
CLOCK2
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
PathInterpolator
PositionInterpolator
set_fraction
SFFloat
then
 
 
 
PathInterpolator
PositionInterpolator
value_changed
SFVec3f

ROUTE
event to
(3)
MISSILE_TRANSFORM
Transform
set_translation
SFVec3f
  then
 
 
 
CLOCK2
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
SpinInterpolator
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
SpinInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
MISSILE_TRANSFORM
Transform
set_rotation
SFRotation

MyTouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
CLOCK1
TimeSensor
set_enabled
SFBool
then
 
 
 
CLOCK1
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
RotateInterpolator
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
RotateInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
MISSILE_TRANSFORM
Transform
set_rotation
SFRotation

line 20
Anchor
description='Click for closeup viewpoint of missile' 
User-interaction hint for this node. 

line 32
Anchor
description='Click for aft view of missile (for cool launch view)' 
User-interaction hint for this node. 

line 44
Anchor
description='Click to return to initial view of missile' 
User-interaction hint for this node. 

Additional guidance on X3D animation can be found in the 10-Step Animation Design Process and Event Tracing hint sheets. Have fun with X3D! 😀

-->
<!-- Online at
https://www.web3d.org/x3d/content/examples/Savage/Weapons/Missiles/AGM65MaverickViewAnchorsIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Savage/Weapons/Missiles/AGM65MaverickViewAnchors.x3d -->

<!-- Color-coding legend: X3D terminology <X3dNode  DEF='idNamefield='value'/> matches XML terminology <XmlElement  DEF='idNameattribute='value'/>
(Light-blue background: event-based behavior node or statement) (Grey background inside box: inserted documentation) (Magenta background: X3D Extensibility)
-->

to top <!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->