<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "https://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 =' https://www.web3d.org/specifications/x3d-3.0.xsd ' >
<head>
<meta name='titlecontent='Pal.x3d'/>
<meta name='creatorcontent='Selcuk OZTURK'/>
<meta name='descriptioncontent='The Propeller for the Zeppelin and Fore Jets.'/>
<meta name='createdcontent='2 August 2002'/>
<meta name='modifiedcontent='20 October 2019'/>
<meta name='identifiercontent=' https://savage.nps.edu/Savage/AircraftMiscellaneous/Zeppelin/Pal.x3d '/>
<meta name='generatorcontent='X3D-Edit 3.2, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../../license.html'/>
</head>
<!--

Index for DEF nodes: CENTER, Clock, Clock2, Clock3, Clock4, CyclePath, CyclePath2, CyclePath3, CyclePath4, PAL1, PAL2, PAL3, PAL4, X and Event Graph ROUTE Table

Index for Viewpoint node: Viewpoint_1
-->
<Scene>
<WorldInfo title='Pal.x3d'/>
<Viewpoint description='Palorientation='-0.53 0.84 0.10 0.45position='6 4 15'/>
<Transform DEF='CENTERrotation='1 0 0 1.57translation='0 0 0.27'>
<Shape>
<Appearance>
<Material diffuseColor='1 0 0'/>
</Appearance>
<Cone bottomRadius='0.3height='0.3'/>
</Shape>
</Transform>
<!-- ROUTE information for PAL1 node:  [from CyclePath.value_changed to set_rotation ] -->
<Transform DEF='PAL1'>
<Transform rotation='1 0 0 0.45scale='2 0.4 0.1translation='1.7 0 0'>
<Shape DEF='X'>
<Appearance>
<Material/>
</Appearance>
<Sphere/>
</Shape>
<!-- ROUTE information for Clock node:  [from fraction_changed to CyclePath.set_fraction ] -->
<TimeSensor DEF='ClockcycleInterval='2.0loop='true'/>

<!-- ROUTE information for CyclePath node:  [from Clock.fraction_changed to set_fraction ] [from value_changed to PAL1.set_rotation ] -->
<OrientationInterpolator DEF='CyclePathkey='0.0 0.5 1.0keyValue='0 0 1 -0.0 0 0 1 -3.14 0 0 1 -6.28'/>
</Transform>
< ROUTE  fromNode=' Clock' fromField='fraction_changed' toNode=' CyclePath' toField='set_fraction'/>
< ROUTE  fromNode=' CyclePath' fromField='value_changed' toNode=' PAL1' toField='set_rotation'/>
</Transform>
<!-- ROUTE information for PAL3 node:  [from CyclePath3.value_changed to set_rotation ] -->
<Transform DEF='PAL3'>
<Transform rotation='0 1 0 0.45scale='0.4 2 0.1translation='0 1.7 0'>
<Shape USE=' X'/>
<!-- ROUTE information for Clock3 node:  [from fraction_changed to CyclePath3.set_fraction ] -->
<TimeSensor DEF='Clock3cycleInterval='2.0loop='true'/>

<!-- ROUTE information for CyclePath3 node:  [from Clock3.fraction_changed to set_fraction ] [from value_changed to PAL3.set_rotation ] -->
<OrientationInterpolator DEF='CyclePath3key='0.0 0.5 1.0keyValue='0 0 1 -0.0 0 0 1 -3.14 0 0 1 -6.28'/>
</Transform>
< ROUTE  fromNode=' Clock3' fromField='fraction_changed' toNode=' CyclePath3' toField='set_fraction'/>
< ROUTE  fromNode=' CyclePath3' fromField='value_changed' toNode=' PAL3' toField='set_rotation'/>
</Transform>
<!-- ROUTE information for PAL4 node:  [from CyclePath4.value_changed to set_rotation ] -->
<Transform DEF='PAL4'>
<Transform rotation='0 1 0 -0.45scale='0.4 2 0.1translation='0 -1.7 0'>
<Shape USE=' X'/>
<!-- ROUTE information for Clock4 node:  [from fraction_changed to CyclePath4.set_fraction ] -->
<TimeSensor DEF='Clock4cycleInterval='2.0loop='true'/>

<!-- ROUTE information for CyclePath4 node:  [from Clock4.fraction_changed to set_fraction ] [from value_changed to PAL4.set_rotation ] -->
<OrientationInterpolator DEF='CyclePath4key='0.0 0.5 1.0keyValue='0 0 1 -0.0 0 0 1 -3.14 0 0 1 -6.28'/>
</Transform>
< ROUTE  fromNode=' Clock4' fromField='fraction_changed' toNode=' CyclePath4' toField='set_fraction'/>
< ROUTE  fromNode=' CyclePath4' fromField='value_changed' toNode=' PAL4' toField='set_rotation'/>
</Transform>
<!-- ROUTE information for PAL2 node:  [from CyclePath2.value_changed to set_rotation ] -->
<Transform DEF='PAL2'>
<Transform rotation='1 0 0 -0.45scale='2 0.4 0.1translation='-1.7 0 0'>
<Shape USE=' X'/>
<!-- ROUTE information for Clock2 node:  [from fraction_changed to CyclePath2.set_fraction ] -->
<TimeSensor DEF='Clock2cycleInterval='2.0loop='true'/>

<!-- ROUTE information for CyclePath2 node:  [from Clock2.fraction_changed to set_fraction ] [from value_changed to PAL2.set_rotation ] -->
<OrientationInterpolator DEF='CyclePath2key='0.0 0.5 1.0keyValue='0 0 1 -0.0 0 0 1 -3.14 0 0 1 -6.28'/>
</Transform>
< ROUTE  fromNode=' Clock2' fromField='fraction_changed' toNode=' CyclePath2' toField='set_fraction'/>
< ROUTE  fromNode=' CyclePath2' fromField='value_changed' toNode=' PAL2' toField='set_rotation'/>
</Transform>
<Transform rotation='1 0 0 1.57translation='0 0 -3'>
<Shape>
<Appearance>
<Material/>
</Appearance>
<Cylinder height='6radius='0.25'/>
</Shape>
</Transform>
<Transform rotation='1 0 0 -1.57translation='0 0 -2'>
<Shape>
<Appearance>
<Material diffuseColor='1 0 0'/>
</Appearance>
<Extrusion creaseAngle='0.785crossSection='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.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.00endCap='falsescale='0.2 0.2 4.5 4.5solid='falsespine='0 2.5 0 0 -2.5 0'/>
</Shape>
</Transform>
<!-- Copied from 3DCafe sound repository here!!! -->
<Sound maxFront='70'>
<AudioClip description='Helicopter soundloop='true'
  url=' "Helicopter.wav" "https://savage.nps.edu/Savage/AircraftMiscellaneous/Zeppelin/Helicopter.wav" ' />
</Sound>
</Scene>
</X3D>
<!--

Index for DEF nodes: CENTER, Clock, Clock2, Clock3, Clock4, CyclePath, CyclePath2, CyclePath3, CyclePath4, PAL1, PAL2, PAL3, PAL4, X and Event Graph ROUTE Table

Index for Viewpoint node: Viewpoint_1
-->

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

Clock
TimeSensor
fraction_changed
SFFloat

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

ROUTE
event to
 
PAL1
Transform
set_rotation
SFRotation

Clock2
TimeSensor
fraction_changed
SFFloat

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

ROUTE
event to
 
PAL2
Transform
set_rotation
SFRotation

Clock3
TimeSensor
fraction_changed
SFFloat

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

ROUTE
event to
 
PAL3
Transform
set_rotation
SFRotation

Clock4
TimeSensor
fraction_changed
SFFloat

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

ROUTE
event to
 
PAL4
Transform
set_rotation
SFRotation


AudioClip
Helicopter sound
(No ROUTE connection found for this node)


-->

<!-- Online at
https://savage.nps.edu/Savage/AircraftMiscellaneous/Zeppelin/PalIndex.html -->
<!-- Version control at
https://gitlab.nps.edu/Savage/Savage/AircraftMiscellaneous/Zeppelin/Pal.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. -->