<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://www.web3d.org/specifications/x3d-3.3.dtd">
<X3D profile='Interactive' version='3.3 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation =' https://www.web3d.org/specifications/x3d-3.3.xsd '>
<head>
<meta name='titlecontent='StripedSurfPerchPlaque.x3d'/>
<meta name='creatorcontent='Michael Collins'/>
<meta name='createdcontent='18 February 2001'/>
<meta name='modifiedcontent='20 October 2019'/>
<meta name=' warning content=' under development '/>
<meta name='descriptioncontent='One fish plaque with lithograph on one side and actual picture on the back. Click on plaque to go to picture or click on buttons to change picture.'/>
<meta name='identifiercontent=' https://X3dGraphics.com/examples/X3dForWebAuthors/KelpForestExhibit/StripedSurfPerchPlaque.x3d '/>
<meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
<meta name='Imagecontent='StripedSurfPerchPatch.jpg'/>
<meta name='Imagecontent='RainbowSurfPerch002.jpg'/>
<meta name='licensecontent=' ../license.html'/>
</head>
<!-- -->
<Scene>
<WorldInfo title='StripedSurfPerchPlaque.x3d'/>
<Viewpoint DEF='stripedsurfperchdescription='Striped Surf Perchposition='0 0 4'/>
<!-- Fish Plaques -->
<Group>
<!-- ROUTE information for BlueRockfishTouchSensor node:  [from touchTime to BLUEROCKFISHCLOCK.set_startTime ] -->
<TouchSensor DEF='BlueRockfishTouchSensordescription='touch to rotate'/>
<!-- ROUTE information for BLUEROCKFISHCLOCK node:  [from BlueRockfishTouchSensor.touchTime to set_startTime ] [from PictureTouchSensor.touchTime to set_startTime ] [from fraction_changed to BlueRockfishPathInterpolator.set_fraction ] -->
<TimeSensor DEF='BLUEROCKFISHCLOCKcycleInterval='2'/>
<!-- ROUTE information for BlueRockfishPathInterpolator node:  [from BLUEROCKFISHCLOCK.fraction_changed to set_fraction ] [from value_changed to BLUEROCKFISH_TRANSFORM.set_rotation ] -->
<OrientationInterpolator DEF='BlueRockfishPathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 1.57 0.0 1.0 0.0 3.14'/>
<!-- ROUTE information for BLUEROCKFISH_TRANSFORM node:  [from BlueRockfishPathInterpolator.value_changed to set_rotation ] [from PlaqueToPictureInterpolator.value_changed to set_rotation ] -->
<Transform DEF='BLUEROCKFISH_TRANSFORM'>
<Shape>
<Box size='4 2 .1'/>
<Appearance> </Appearance>
</Shape>
<Transform translation='0 0 -.1'>
<Shape>
<Box size='4 2 .2'/>
<Appearance> </Appearance>
</Shape>
</Transform>
</Transform>
<Group>
<Transform DEF='BUTTON_TRANSFORMtranslation='1 2 0'>
<Shape>
<Sphere radius='.5'/>
<Appearance>
<Material diffuseColor='0 1 0'/>
</Appearance>
</Shape>
</Transform>
<!-- ROUTE information for FrontTouchSensor node:  [from touchTime to FRONTTOUCHSENSORCLOCK.set_startTime ] -->
<TouchSensor DEF='FrontTouchSensordescription='front TouchSensor'/>
<!-- ROUTE information for FRONTTOUCHSENSORCLOCK node:  [from FrontTouchSensor.touchTime to set_startTime ] [from fraction_changed to PlaqueToPictureInterpolator.set_fraction ] -->
<TimeSensor DEF='FRONTTOUCHSENSORCLOCKcycleInterval='2'/>
<!-- ROUTE information for PlaqueToPictureInterpolator node:  [from FRONTTOUCHSENSORCLOCK.fraction_changed to set_fraction ] [from value_changed to BLUEROCKFISH_TRANSFORM.set_rotation ] -->
<OrientationInterpolator DEF='PlaqueToPictureInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 3.14 0.0 1.0 0.0 1.57 0.0 1.0 0.0 0.00'/>
</Group>
<Group>
<Transform DEF='BUTTON_TRANSFORM2translation='-1 2 0'>
<Shape>
<Sphere radius='.5'/>
<Appearance>
<Material diffuseColor='1 0 0'/>
</Appearance>
</Shape>
</Transform>
<!-- ROUTE information for PictureTouchSensor node:  [from touchTime to BLUEROCKFISHCLOCK.set_startTime ] -->
<TouchSensor DEF='PictureTouchSensordescription='picture TouchSensor'/>
</Group>
<Group>
<Transform DEF='BASE_TRANSFORMtranslation='0 0 -.3'>
<Shape>
<Box size='8 6 .3'/>
<Appearance>
<Material diffuseColor='.3 .3 .6'/>
</Appearance>
</Shape>
</Transform>
<TouchSensor DEF='BaseTouchSensordescription='touch to rotate'/>
<Group>
<Transform translation='0 -2.6 0'>
<Shape>
<Box size='8 1 1'/>
<Appearance>
<Material diffuseColor='0.8 0.8 0.2'/>
</Appearance>
</Shape>
</Transform>
</Group>
<Group>
<Transform translation='0 2.6 0'>
<Shape>
<Box size='8 1 1'/>
<Appearance>
<Material diffuseColor='0.8 0.8 0.2'/>
</Appearance>
</Shape>
</Transform>
</Group>
<Group>
<Transform rotation='0 0 1 1.58translation='3.6 0 0'>
<Shape>
<Box size='6.2 1 1'/>
<Appearance>
<Material diffuseColor='0.8 0.8 0.2'/>
</Appearance>
</Shape>
</Transform>
</Group>
<Group>
<Transform rotation='0 0 1 1.58translation='-3.6 0 0'>
<Shape>
<Box size='6.2 1 1'/>
<Appearance>
<Material diffuseColor='0.8 0.8 0.2'/>
</Appearance>
</Shape>
</Transform>
</Group>
</Group>
</Group>
<ROUTE fromNode='BlueRockfishTouchSensorfromField='touchTimetoNode='BLUEROCKFISHCLOCKtoField='set_startTime'/>
<ROUTE fromNode='BLUEROCKFISHCLOCKfromField='fraction_changedtoNode='BlueRockfishPathInterpolatortoField='set_fraction'/>
<ROUTE fromNode='BlueRockfishPathInterpolatorfromField='value_changedtoNode='BLUEROCKFISH_TRANSFORMtoField='set_rotation'/>
<ROUTE fromNode='FrontTouchSensorfromField='touchTimetoNode='FRONTTOUCHSENSORCLOCKtoField='set_startTime'/>
<ROUTE fromNode='FRONTTOUCHSENSORCLOCKfromField='fraction_changedtoNode='PlaqueToPictureInterpolatortoField='set_fraction'/>
<ROUTE fromNode='PlaqueToPictureInterpolatorfromField='value_changedtoNode='BLUEROCKFISH_TRANSFORMtoField='set_rotation'/>
<!-- Picture touch sensor only has to tie into the BLUEROCKFISHCLOCK so that it will turn picture. -->
<ROUTE fromNode='PictureTouchSensorfromField='touchTimetoNode='BLUEROCKFISHCLOCKtoField='set_startTime'/>
</Scene>
</X3D>
<!--

Index for DEF nodes : BASE_TRANSFORM, BaseTouchSensor, BLUEROCKFISH_TRANSFORM, BLUEROCKFISHCLOCK, BlueRockfishPathInterpolator, BlueRockfishTouchSensor, BUTTON_TRANSFORM, BUTTON_TRANSFORM2, FrontTouchSensor, FRONTTOUCHSENSORCLOCK, PictureTouchSensor, PlaqueToPictureInterpolator, stripedsurfperch

Index for Viewpoint image : stripedsurfperch
-->

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

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