<?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='Immersive'  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=' Bell.x3d '/>
<meta name='descriptioncontent='Bell for San Carlos Cathedral'/>
<meta name='creatorcontent='Michele Foti'/>
<meta name='createdcontent='8 March 2012'/>
<meta name='modifiedcontent='20 October 2019'/>
<meta name=' TODO content=' update bell sound with proper recording of actual bells at San Carlos '/>
<meta name='referencecontent=' TODO.html '/>
<meta name=' TODO content=' invert geometry? '/>
<meta name='referencecontent=' http://www.sancarloscathedral.net '/>
<meta name='referencecontent=' RoyalPresidioChapelHistoricalReferences.pdf '/>
<meta name='referencecontent=' CulturalHeritageProjectSanCarlosCathedral.pdf '/>
<meta name='referencecontent='originals/'/>
<meta name='referencecontent=' originals/ModelSanCarlosChurchFeb-3-2012.x3d '/>
<meta name=' warning content=' under development '/>
<meta name='referencecontent=' http://www.audiomicro.com/church-bell-horns-bells-church-bell-free-sound-effects-45577 '/>
<meta name='generatorcontent='Audacity, http://audacity.sourceforge.net'/>
<meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/SanCarlosCathedral/Bell.x3d '/>
<meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../license.html'/>
</head>
<!-- -->
<Scene>
<WorldInfo title='Bell.x3d'/>
<Background skyColor='1 1 1'/>
<Transform DEF='Bellrotation='0 1 0 -1.57translation='0.75 -0.8 0'>
<!-- Bell shape -->
<!-- ROUTE information for TouchButton node:  [from isActive to Toggler.set_boolean ] -->
<TouchSensor DEF='TouchButtondescription='touch to activate'/>

<!-- ROUTE information for BellShape node:  [from RotateBell.value_changed to rotation ] -->
<Transform DEF='BellShapecenter='0 0.55 0scale='4.2 1.2 4.2translation='-0.14 0.55 0.75'>
<Shape>
<Extrusion beginCap='falseconvex='falsecreaseAngle='1.57crossSection='0.142 0 0.141822 0.0071 0.141288 0.0142 0.140393 0.0213 0.139131 0.0284 0.137491 0.0355 0.135459 0.0426 0.133018 0.0497 0.130145 0.0568 0.12681 0.0639 0.122976 0.071 0.118593 0.0781 0.1136 0.0852 0.107911 0.0923 0.101408 0.0994 0.093924 0.1065 0.0852 0.1136 0.074803 0.1207 0.061896 0.1278 0.044339 0.1349 0 0.142 -0 0.142 -0.044339 0.1349 -0.061896 0.1278 -0.074803 0.1207 -0.0852 0.1136 -0.093924 0.1065 -0.101408 0.0994 -0.107911 0.0923 -0.1136 0.0852 -0.118593 0.0781 -0.122976 0.071 -0.12681 0.0639 -0.130145 0.0568 -0.133018 0.0497 -0.135459 0.0426 -0.137491 0.0355 -0.139131 0.0284 -0.140393 0.0213 -0.141288 0.0142 -0.141822 0.0071 -0.142 0 -0.142 0 -0.1349 -0.044339 -0.1278 -0.061896 -0.1207 -0.074803 -0.1136 -0.0852 -0.1065 -0.093924 -0.0994 -0.101408 -0.0923 -0.107911 -0.0852 -0.1136 -0.0781 -0.118593 -0.071 -0.122976 -0.0639 -0.12681 -0.0568 -0.130145 -0.0497 -0.133018 -0.0426 -0.135459 -0.0355 -0.137491 -0.0284 -0.139131 -0.0213 -0.140393 -0.0142 -0.141288 -0.0071 -0.141822 0 -0.142 0.044339 -0.1349 0.061896 -0.1278 0.074803 -0.1207 0.0852 -0.1136 0.093924 -0.1065 0.101408 -0.0994 0.107911 -0.0923 0.1136 -0.0852 0.118593 -0.0781 0.122976 -0.071 0.12681 -0.0639 0.130145 -0.0568 0.133018 -0.0497 0.135459 -0.0426 0.137491 -0.0355 0.139131 -0.0284 0.140393 -0.0213 0.141288 -0.0142 0.141822 -0.0071 0.142 0scale='1 1 0.9 0.9 0.8 0.8 0.73 0.73 0.68 0.68 0.65 0.65 0.595 0.595 0.5 0.5solid='falsespine='0 0 0 0 0.08 0 0 0.1 0 0 0.183 0 0 0.266 0 0 0.35 0 0 0.6 0 0 0.65 0'/>
<Appearance>
<Material DEF='BellColordiffuseColor='0.6 0.6 0.6'/>
</Appearance>
</Shape>
</Transform>
<!-- Support -->
<Transform DEF='BellSupportrotation='0 1 0 1.57scale='1.12 0.85 0.85translation='-0.15 0.27 -0.286'>
<Transform DEF='BellSupportOrizzontalrotation='0 0 1 1.57translation='-0.92 0.975 0'>
<Shape>
<Cylinder height='1.5radius='0.05'/>
<Appearance>
<Material DEF='Gray1diffuseColor='0.333 0.266 0.274'/>
</Appearance>
</Shape>
</Transform>
<Transform DEF='BellSupportArctranslation='0 -0.05 0'>
<Transform DEF='BellSupportArc1translation='-0.93 1.37 0'>
<Shape>
<Box size='0.553 0.07 0.07'/>
<Appearance>
<Material USE=' Gray1'/>
</Appearance>
</Shape>
</Transform>
<Transform DEF='BellSupportArc2rotation='0 0 1 0.785translation='-1.25 1.31 0'>
<Shape>
<Box size='0.2 0.07 0.07'/>
<Appearance>
<Material USE=' Gray1'/>
</Appearance>
</Shape>
</Transform>
<Transform DEF='BellSupportArc3rotation='0 0 1 1.57translation='-1.31 1.163 0'>
<Shape>
<Box size='0.2 0.07 0.07'/>
<Appearance>
<Material USE=' Gray1'/>
</Appearance>
</Shape>
</Transform>
<Transform DEF='BellSupportArc4rotation='0 0 1 -0.785translation='-0.61 1.31 0'>
<Shape>
<Box size='0.2 0.07 0.07'/>
<Appearance>
<Material USE=' Gray1'/>
</Appearance>
</Shape>
</Transform>
<Transform DEF='BellSupportArc5rotation='0 0 1 1.57translation='-0.55 1.163 0'>
<Shape>
<Box size='0.2 0.07 0.07'/>
<Appearance>
<Material USE=' Gray1'/>
</Appearance>
</Shape>
</Transform>
</Transform>
</Transform>
<!-- Clapper -->
<!-- ROUTE information for BellClapper node:  [from RotateClapper.value_changed to rotation ] -->
<Transform DEF='BellClappercenter='0 0.2 0translation='-0.15 0.87 0.75'>
<Transform DEF='BellClapper1'>
<Shape>
<Cylinder height='0.4radius='0.03'/>
<Appearance>
<Material DEF='BellColor2diffuseColor='0.558 0.500 0.500'/>
</Appearance>
</Shape>
</Transform>
<Transform DEF='BellClapper2translation='0 -0.2 0'>
<Shape>
<Sphere radius='0.05'/>
<Appearance>
<Material USE=' BellColor2'/>
</Appearance>
</Shape>
</Transform>
</Transform>
<Sound location='0 0.5 0'>
<!-- TODO update sound source using actual San Carlos recording -->
<!-- This bell recording is 3 seconds and matches our TimeSensor cycleInterval -->
<!-- ROUTE information for ChurchBellOneTime node:  [from TimeSensor.cycleTime to startTime ] -->
<AudioClip DEF='ChurchBellOneTimedescription='Church bell tolling'
  url=' "ChurchBellOneTime.wav" "https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/SanCarlosCathedral/ChurchBellOneTime.wav" ' />
</Sound>
<!-- Animation -->
<!-- ROUTE information for Toggler node:  [from TouchButton.isActive to set_boolean ] [from toggle_changed to TimeSensor.loop ] -->
<BooleanToggle DEF='TogglercontainerField='children'/>

< ROUTE  fromNode=' TouchButton' fromField='isActive' toNode=' Toggler' toField='set_boolean'/>

< ROUTE  fromNode=' Toggler' fromField='toggle_changed' toNode=' TimeSensor' toField='loop'/>
< ROUTE  fromNode=' TimeSensor' fromField='cycleTime' toNode=' ChurchBellOneTime' toField='startTime'/>
<!-- ROUTE information for RotateBell node:  [from TimeSensor.fraction_changed to set_fraction ] [from value_changed to BellShape.rotation ] -->
<OrientationInterpolator DEF='RotateBellkey='0 0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1keyValue='0 0 1 0 0 0 1 -0.5 0 0 1 -0.7 0 0 1 -0.9 0 0 1 -1 0 0 1 0 0 0 1 1 0 0 1 0.9 0 0 1 0.7 0 0 1 0.2 0 0 1 0'/>

<!-- ROUTE information for RotateClapper node:  [from TimeSensor.fraction_changed to set_fraction ] [from value_changed to BellClapper.rotation ] -->
<OrientationInterpolator DEF='RotateClapperkey='0 0.05 0.1 0.15 0.25 0.35 0.48 0.52 0.55 0.64 0.70 0.75 0.80 0.90 1keyValue='0 0 1 0 0 0 1 -0.5 0 0 1 -0.8 0 0 1 -0.8 0 0 1 -1 0 0 1 -0.5 0 0 1 0.3 0 0 1 0.8 0 0 1 1.6 0 0 1 2.1 0 0 1 1.5 0 0 1 1 0 0 1 0.4 0 0 1 0.2 0 0 1 0'/>

< ROUTE  fromNode=' TimeSensor' fromField='fraction_changed' toNode=' RotateClapper' toField='set_fraction'/>
< ROUTE  fromNode=' TimeSensor' fromField='fraction_changed' toNode=' RotateBell' toField='set_fraction'/>
< ROUTE  fromNode=' RotateBell' fromField='value_changed' toNode=' BellShape' toField='rotation'/>
< ROUTE  fromNode=' RotateClapper' fromField='value_changed' toNode=' BellClapper' toField='rotation'/>
</Transform>
</Scene>
</X3D>
<!--

to top <!-- Event Graph ROUTE Table shows event connections -->
 
<!-- Index for DEF nodes: Bell, BellClapper, BellClapper1, BellClapper2, BellColor, BellColor2, BellShape, BellSupport, BellSupportArc, BellSupportArc1, BellSupportArc2, BellSupportArc3, BellSupportArc4, BellSupportArc5, BellSupportOrizzontal, ChurchBellOneTime, Gray1, RotateBell, RotateClapper, TimeSensor, Toggler, TouchButton
-->

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

TouchButton
TouchSensor
isActive
SFBool

ROUTE
event to
(1)
Toggler
BooleanToggle
set_boolean
SFBool

 
 
then
Toggler
BooleanToggle
toggle_changed
SFBool

ROUTE
event to
(2)
TimeSensor
TimeSensor
loop
SFBool

 
 
then
TimeSensor
TimeSensor
cycleTime
SFTime

ROUTE
event to
(3)
ChurchBellOneTime
AudioClip
startTime
SFTime
 
 
 
then
TimeSensor
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(3)
RotateClapper
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RotateClapper
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(4)
BellClapper
Transform
rotation
SFRotation
 
 
 
then
TimeSensor
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(3)
RotateBell
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RotateBell
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(4)
BellShape
Transform
rotation
SFRotation



-->

<!-- Online at
https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/SanCarlosCathedral/BellIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/SanCarlosCathedral/Bell.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. -->