<?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='Figure24_5TwoAmbientCirclingSounds.x3d'/>
<meta name='creatorcontent='Figure 24.5, The VRML 2.0 Sourcebook, Copyright [1997] By Andrea L. Ames, David R. Nadeau, and John L. Moreland'/>
<meta name='referencecontent=' http://www.wiley.com/legacy/compbooks/vrml2sbk/ch24/24fig05.htm '/>
<meta name='translatorcontent='Don Brutzman'/>
<meta name='createdcontent='3 October 2000'/>
<meta name='modifiedcontent='20 October 2019'/>
<meta name='descriptioncontent='Two ambient sounds circling the origin.'/>
<meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter24Sound/Figure24_5TwoAmbientCirclingSounds.x3d '/>
<meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../../license.html'/>
</head>
<!--

to top <!-- Event Graph ROUTE Table shows event connections -->
 
<!-- Index for DEF nodes: Emitter1, Emitter1Clock, Emitter1Path, Emitter2, Emitter2Clock, Emitter2Path, SoundMarker

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2
-->
<Scene>
<WorldInfo title='Figure24_5TwoAmbientCirclingSounds.x3d'/>
<Viewpoint description='5m from center: two circling ambient soundsposition='0 1 5'/>
<Viewpoint description='8m from center: two circling ambient soundsposition='0 1 8'/>
<NavigationInfo type='"WALK" "EXAMINE" "ANY"'/>
<Group>
<Shape>
<Sphere radius='0.5'/>
<Appearance>
<Material diffuseColor='0 0 0emissiveColor='0 1 1'/>
</Appearance>
</Shape>
<!-- ROUTE information for Emitter1 node:  [from Emitter1Path.value_changed to set_rotation ] -->
<Transform DEF='Emitter1center='-5 0 0translation='5 0 0'>
</Transform>
<!-- ROUTE information for Emitter1Clock node:  [from fraction_changed to Emitter1Path.set_fraction ] -->
<TimeSensor DEF='Emitter1ClockcycleInterval='15loop='true'/>

<!-- ROUTE information for Emitter1Path node:  [from Emitter1Clock.fraction_changed to set_fraction ] [from value_changed to Emitter1.set_rotation ] -->
<OrientationInterpolator DEF='Emitter1Pathkey='0 0.5 1keyValue='0 1 0 0 0 1 0 -3.14 0 1 0 -6.28'/>

<!-- ROUTE information for Emitter2 node:  [from Emitter2Path.value_changed to set_rotation ] -->
<Transform DEF='Emitter2center='6 0 0translation='-6 0 0'>
<Sound intensity='0.5minBack='5minFront='5'>
<AudioClip description='emitter2loop='true'
  url=' "tone1.wav" "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter24Sound/tone1.wav" ' />
</Sound>
<Inline USE=' SoundMarker'/>
</Transform>
<!-- ROUTE information for Emitter2Clock node:  [from fraction_changed to Emitter2Path.set_fraction ] -->
<TimeSensor DEF='Emitter2ClockcycleInterval='7loop='true'/>

<!-- ROUTE information for Emitter2Path node:  [from Emitter2Clock.fraction_changed to set_fraction ] [from value_changed to Emitter2.set_rotation ] -->
<OrientationInterpolator DEF='Emitter2Pathkey='0 0.5 1keyValue='0 1 0 0 0 1 0 3.14 0 1 0 6.28'/>
</Group>
< ROUTE  fromNode=' Emitter1Clock' fromField='fraction_changed' toNode=' Emitter1Path' toField='set_fraction'/>
< ROUTE  fromNode=' Emitter2Clock' fromField='fraction_changed' toNode=' Emitter2Path' toField='set_fraction'/>
< ROUTE  fromNode=' Emitter1Path' fromField='value_changed' toNode=' Emitter1' toField='set_rotation'/>
< ROUTE  fromNode=' Emitter2Path' fromField='value_changed' toNode=' Emitter2' toField='set_rotation'/>
</Scene>
</X3D>
<!--

to top <!-- Event Graph ROUTE Table shows event connections -->
 
<!-- Index for DEF nodes: Emitter1, Emitter1Clock, Emitter1Path, Emitter2, Emitter2Clock, Emitter2Path, SoundMarker

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2
-->

Event Graph ROUTE Table entries with 4 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.

Emitter1Clock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
Emitter1Path
OrientationInterpolator
set_fraction
SFFloat

 
 
then
Emitter1Path
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
Emitter1
Transform
set_rotation
SFRotation


Emitter2Clock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
Emitter2Path
OrientationInterpolator
set_fraction
SFFloat

 
 
then
Emitter2Path
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
Emitter2
Transform
set_rotation
SFRotation



-->

<!-- Online at
https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter24Sound/Figure24_5TwoAmbientCirclingSoundsIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter24Sound/Figure24_5TwoAmbientCirclingSounds.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)
-->

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