<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.2//EN" "https://www.web3d.org/specifications/x3d-3.2.dtd">
<X3D profile='Immersive'  version='3.2 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation =' https://www.web3d.org/specifications/x3d-3.2.xsd ' >
<head>
<meta name='titlecontent='TightDoorMainDeckStbd.x3d'/>
<meta name='descriptioncontent='Brazilian Naval Academy Training Ship'/>
<meta name='creatorcontent='Claudio Coreixas'/>
<meta name='createdcontent='20 October 2009'/>
<meta name='modifiedcontent='20 October 2019'/>
<meta name='referencecontent=' http://www.en.mar.mil.br '/>
<meta name='subjectcontent='ships'/>
<meta name='identifiercontent=' https://savage.nps.edu/Savage/ShipsMilitary/PatrolCraftNavalAcademyBrazil/TightDoorMainDeckStbd.x3d '/>
<meta name='generatorcontent='X3D-Edit, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../../license.html'/>
</head>
<!-- -->
<Scene>
<WorldInfo title='TightDoorMainDeckStbd.x3d'/>
<Viewpoint description='DoorfieldOfView='0.45orientation='1 0 0 0position='0 0 1'/>
<!-- ROUTE information for spinTimer node:  [from dogSensor.touchTime to startTime ] [from dogSensor2.touchTime to startTime ] [from fraction_changed to openDoor.set_fraction ] -->
<TimeSensor DEF='spinTimercycleInterval='3'/>

<!-- ROUTE information for openDoor node:  [from spinTimer.fraction_changed to set_fraction ] [from value_changed to openDoorTransform.rotation ] -->
<OrientationInterpolator DEF='openDoorkey='0 0.25 0.5 0.75 1keyValue='0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 1.57 0 1 0 2.8'/>

< ROUTE  fromNode=' spinTimer' fromField='fraction_changed' toNode=' openDoor' toField='set_fraction'/>

<!-- ROUTE information for openDog node:  [from dogTimer.fraction_changed to set_fraction ] [from value_changed to openDogSpin.rotation ] [from value_changed to openDogSpin2.rotation ] -->
<OrientationInterpolator DEF='openDogkey='0 1keyValue='0 0 1 0 0 0 1 1.3'/>

< ROUTE  fromNode=' dogTimer' fromField='fraction_changed' toNode=' openDog' toField='set_fraction'/>
<!-- ROUTE information for openDoorTransform node:  [from openDoor.value_changed to rotation ] -->
<Transform DEF='openDoorTransformcenter='-0.13 0.01 0'>
< ROUTE  fromNode=' openDoor' fromField='value_changed' toNode=' openDoorTransform' toField='rotation'/>
<!-- ROUTE information for openDogSpin node:  [from openDog.value_changed to rotation ] -->
<Transform DEF='openDogSpincenter='0.1 0.13 -0.005'>
< ROUTE  fromNode=' openDog' fromField='value_changed' toNode=' openDogSpin' toField='rotation'/>
<Transform translation='0.1 0.13 -0.005'>
<Shape DEF='dog'>
<Appearance>
<Material diffuseColor='0.4 0.4 0.4'/>
</Appearance>
<Extrusion ccw='falseconvex='falsecrossSection='0.01 0 0.0092 0.0038 0.0071 0.0071 0.0038 0.0092 0 0.01 -0.0038 0.0092 -0.0071 0.0071 -0.0092 0.0038 -0.01 0 -0.0092 -0.0038 -0.0071 -0.0071 -0.0038 -0.0092 0 -0.01 0.0038 -0.0092 0.0071 -0.0071 0.0092 -0.0039 0.01 0scale='0.3 0.5 0.4 0.7 0.55 0.8 0.7 0.85 0.85 0.95 1 1 1 1 0.85 0.95 0.7 0.85 0.55 0.8 0.4 0.7 0.3 0.5solid='falsespine='-0.069 0 0.017 -0.01 0 0.017 -0.0062 0 0.0162 -0.0029 0 0.0141 -0.0008 0 0.0109 0 0 0.007 0 0 -0.007 -0.0008 0 -0.0108 -0.0029 0 -0.0141 -0.0062 0 -0.0162 -0.01 0 -0.017 -0.069 0 -0.017'/>
</Shape>
<!-- ROUTE information for dogSensor node:  [from touchTime to spinTimer.startTime ] [from touchTime to dogTimer.startTime ] -->
<TouchSensor DEF='dogSensordescription='Touch to Open Hatch'/>

< ROUTE  fromNode=' dogSensor' fromField='touchTime' toNode=' spinTimer' toField='startTime'/>
< ROUTE  fromNode=' dogSensor' fromField='touchTime' toNode=' dogTimer' toField='startTime'/>
</Transform>
</Transform>
<!-- ROUTE information for openDogSpin2 node:  [from openDog.value_changed to rotation ] -->
<Transform DEF='openDogSpin2center='0.1 -0.13 -0.005'>
< ROUTE  fromNode=' openDog' fromField='value_changed' toNode=' openDogSpin2' toField='rotation'/>
<Transform translation='0.1 -0.13 -0.005'>
<Shape USE=' dog'/>
<!-- ROUTE information for dogSensor2 node:  [from touchTime to spinTimer.startTime ] [from touchTime to dogTimer.startTime ] -->
<TouchSensor DEF='dogSensor2description='Touch to Open Hatch'/>

< ROUTE  fromNode=' dogSensor2' fromField='touchTime' toNode=' spinTimer' toField='startTime'/>
< ROUTE  fromNode=' dogSensor2' fromField='touchTime' toNode=' dogTimer' toField='startTime'/>
</Transform>
</Transform>
<Transform rotation='0 1 0 3.14'>
<Transform rotation='1 0 0 1.57'>
<Shape DEF='TightDoor'>
<Appearance>
<Material diffuseColor='0.82 0.78 0.74'/>
</Appearance>
<IndexedFaceSet DEF='pipeIFSconvex='falsecreaseAngle='1.5solid='falsecoordIndex='1 2 22 21 -1 2 3 23 22 -1 3 4 24 23 -1 4 5 25 24 -1 5 6 26 25 -1 6 7 27 26 -1 7 8 28 27 -1 8 9 29 28 -1 9 10 30 29 -1 10 11 31 30 -1 11 12 32 31 -1 12 13 33 32 -1 13 14 34 33 -1 14 15 35 34 -1 15 16 36 35 -1 16 17 37 36 -1 17 18 38 37 -1 18 19 39 38 -1 19 20 40 39 -1 20 1 21 40 -1 21 22 42 41 -1 22 23 43 42 -1 23 24 44 43 -1 24 25 45 44 -1 25 26 46 45 -1 26 27 47 46 -1 27 28 48 47 -1 28 29 49 48 -1 29 30 50 49 -1 30 31 51 50 -1 31 32 52 51 -1 32 33 53 52 -1 33 34 54 53 -1 34 35 55 54 -1 35 36 56 55 -1 36 37 57 56 -1 37 38 58 57 -1 38 39 59 58 -1 39 40 60 59 -1 40 21 41 60 -1 41 42 62 61 -1 42 43 63 62 -1 43 44 64 63 -1 44 45 65 64 -1 45 46 66 65 -1 46 47 67 66 -1 47 48 68 67 -1 48 49 69 68 -1 49 50 70 69 -1 50 51 71 70 -1 51 52 72 71 -1 52 53 73 72 -1 53 54 74 73 -1 54 55 75 74 -1 55 56 76 75 -1 56 57 77 76 -1 57 58 78 77 -1 58 59 79 78 -1 59 60 80 79 -1 60 41 61 80 -1 61 62 81 -1 62 63 81 -1 63 64 81 -1 64 65 81 -1 65 66 82 81 -1 66 67 82 -1 67 68 82 -1 68 69 82 -1 69 70 82 -1 70 71 83 82 -1 71 72 83 -1 72 73 83 -1 73 74 83 -1 74 75 83 -1 75 76 84 83 -1 76 77 84 -1 77 78 84 -1 78 79 84 -1 79 80 84 -1 80 61 81 84 -1 81 82 83 84 -1'>
<Coordinate point='0.0000 0.0000 0.0000 0.1250 0.0000 0.2325 0.1246 0.0000 0.2344 0.1235 0.0000 0.2360 0.1219 0.0000 0.2371 0.1200 0.0000 0.2375 -0.1200 0.0000 0.2375 -0.1219 0.0000 0.2371 -0.1235 0.0000 0.2360 -0.1246 0.0000 0.2344 -0.1250 0.0000 0.2325 -0.1250 0.0000 -0.2325 -0.1246 0.0000 -0.2344 -0.1235 0.0000 -0.2360 -0.1219 0.0000 -0.2371 -0.1200 0.0000 -0.2375 0.1200 0.0000 -0.2375 0.1219 0.0000 -0.2371 0.1235 0.0000 -0.2360 0.1246 0.0000 -0.2344 0.1250 0.0000 -0.2325 0.1246 0.0038 0.2325 0.1243 0.0038 0.2343 0.1233 0.0038 0.2358 0.1218 0.0038 0.2368 0.1200 0.0038 0.2371 -0.1200 0.0038 0.2371 -0.1218 0.0038 0.2368 -0.1233 0.0038 0.2358 -0.1243 0.0038 0.2343 -0.1246 0.0038 0.2325 -0.1246 0.0038 -0.2325 -0.1243 0.0038 -0.2343 -0.1233 0.0038 -0.2358 -0.1218 0.0038 -0.2368 -0.1200 0.0038 -0.2371 0.1200 0.0038 -0.2371 0.1218 0.0038 -0.2368 0.1233 0.0038 -0.2358 0.1243 0.0038 -0.2343 0.1246 0.0038 -0.2325 0.1235 0.0071 0.2325 0.1233 0.0071 0.2339 0.1225 0.0071 0.2350 0.1214 0.0071 0.2358 0.1200 0.0071 0.2360 -0.1200 0.0071 0.2360 -0.1214 0.0071 0.2358 -0.1225 0.0071 0.2350 -0.1233 0.0071 0.2339 -0.1235 0.0071 0.2325 -0.1235 0.0071 -0.2325 -0.1233 0.0071 -0.2338 -0.1225 0.0071 -0.2350 -0.1214 0.0071 -0.2358 -0.1200 0.0071 -0.2360 0.1200 0.0071 -0.2360 0.1213 0.0071 -0.2358 0.1225 0.0071 -0.2350 0.1233 0.0071 -0.2339 0.1235 0.0071 -0.2325 0.1219 0.0092 0.2325 0.1218 0.0092 0.2332 0.1214 0.0092 0.2339 0.1207 0.0092 0.2343 0.1200 0.0092 0.2344 -0.1200 0.0092 0.2344 -0.1207 0.0092 0.2343 -0.1214 0.0092 0.2339 -0.1218 0.0092 0.2332 -0.1219 0.0092 0.2325 -0.1219 0.0092 -0.2325 -0.1218 0.0092 -0.2332 -0.1214 0.0092 -0.2339 -0.1207 0.0092 -0.2343 -0.1200 0.0092 -0.2344 0.1200 0.0092 -0.2344 0.1207 0.0092 -0.2343 0.1214 0.0092 -0.2339 0.1218 0.0092 -0.2332 0.1219 0.0092 -0.2325 0.1200 0.0100 0.2325 -0.1200 0.0100 0.2325 0.1200 0.0100 -0.2325 0.1200 0.0100 -0.2325'/>
</IndexedFaceSet>
</Shape>
</Transform>
</Transform>
</Transform>
</Scene>
</X3D>
<!--

Index for DEF nodes: dog, dogSensor, dogSensor2, dogTimer, openDog, openDogSpin, openDogSpin2, openDoor, openDoorTransform, pipeIFS, spinTimer, TightDoor and Event Graph ROUTE Table

Index for Viewpoint node: Viewpoint_1
-->

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

dogSensor
TouchSensor
touchTime
SFTime

ROUTE
event to
 
spinTimer
TimeSensor
startTime
SFTime
 
 
 
 
then
spinTimer
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
 
openDoor
OrientationInterpolator
set_fraction
SFFloat
 
 
 
 
then
openDoor
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
 
openDoorTransform
Transform
rotation
SFRotation
dogSensor
TouchSensor
touchTime
SFTime

ROUTE
event to
 
dogTimer
TimeSensor
startTime
SFTime
 
 
 
 
then
dogTimer
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
 
openDog
OrientationInterpolator
set_fraction
SFFloat
 
 
 
 
then
openDog
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
 
openDogSpin
Transform
rotation
SFRotation
   
 
 
 
then
openDog
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
 
openDogSpin2
Transform
rotation
SFRotation

dogSensor2
TouchSensor
touchTime
SFTime

ROUTE
event to
 
spinTimer
TimeSensor
startTime
SFTime
 
 
 
 
then
spinTimer
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
 
openDoor
OrientationInterpolator
set_fraction
SFFloat
 
 
 
 
then
openDoor
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
 
openDoorTransform
Transform
rotation
SFRotation
dogSensor2
TouchSensor
touchTime
SFTime

ROUTE
event to
 
dogTimer
TimeSensor
startTime
SFTime
 
 
 
 
then
dogTimer
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
 
openDog
OrientationInterpolator
set_fraction
SFFloat
 
 
 
 
then
openDog
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
 
openDogSpin
Transform
rotation
SFRotation
   
 
 
 
then
openDog
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
 
openDogSpin2
Transform
rotation
SFRotation



-->

<!-- Online at
https://savage.nps.edu/Savage/ShipsMilitary/PatrolCraftNavalAcademyBrazil/TightDoorMainDeckStbdIndex.html -->
<!-- Version control at
https://gitlab.nps.edu/Savage/Savage/ShipsMilitary/PatrolCraftNavalAcademyBrazil/TightDoorMainDeckStbd.x3d -->

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

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