X3D Model Documentation: Temple.x3d

  1  <?xml version="1.0" encoding="UTF-8"?>
  2  <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://www.web3d.org/specifications/x3d-3.3.dtd">
  3  <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'>
  4       <head>
  5            <meta name='titlecontent='Temple.x3d'/>
  6            <meta name='descriptioncontent='Temple of the Glowing Orb: this world creates a glowing rotating orb when the pedestal is touched.'/>
  7            <meta name='creatorcontent='David R. Nadeau, John L. Moreland, Michael M. Heck'/>
  8            <meta name='translatorcontent='Don Brutzman'/>
  9            <meta name='createdcontent='1 July 1998'/>
 10            <meta name='translatedcontent='2 February 2014'/>
 11            <meta name='modifiedcontent='20 October 2019'/>
 12            <meta name='referencecontent='originals/temple.wrl'/>
 13            <meta name='referencecontent='http://www.siggraph.org/s98'/>
 14            <meta name='referencecontent='http://www.siggraph.org/s98/conference/courses/18.html'/>
 15            <meta name='referencecontent='http://www.sdsc.edu/~moreland/courses/Siggraph98/vrml97/slides/mt0008.htm'/>
 16            <meta name='referencecontent='http://www.sdsc.edu/~moreland/courses/Siggraph98/vrml97/slides/mt0309.htm'/>
 17            <meta name='referencecontent='http://www.sdsc.edu/~moreland/courses/Siggraph98/vrml97/slides/mt0383.htm'/>
 18            <meta name='referencecontent='http://www.sdsc.edu/~moreland/courses/Siggraph98/vrml97/vrml97.htm'/>
 19            <meta name='referencecontent='https://www.web3d.org/x3d/content/examples/X3dResources.html'/>
 20            <meta name='identifiercontent='https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/Temple.x3d'/>
 21            <meta name='generatorcontent='Vrml97ToX3dNist, http://ovrt.nist.gov/v2_x3d.html'/>
 22            <meta name='generatorcontent='X3D-Edit, https://savage.nps.edu/X3D-Edit'/>
 23            <meta name='licensecontent='../license.html'/>
 24       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->

<!-- to top Index for DEF nodes: Column, GranitMaterial, GranitTexture, Orb, OrbAll, OrbClip, OrbLight, OrbLightIntensity, OrbLightTimer, OrbRotator, OrbScaler, OrbScaleTimer, OrbSound, OrbTimer, OrbVolume, PedestalTouch, Ring, Ring1, Ring2, RingSet1, RingSet1Rotator, RingSet1Timer, RingSet2, RingSet2Rotator, RingSet2Timer, Vault, VaultedCeiling

Index for Viewpoint node: Viewpoint_1
-->
 25       <Scene>
 26            <!-- The orb animations include: -->
 27            <!-- 1. An OrientationInterpolator rotating an inner emissive textured sphere. -->
 28            <!-- 2. An OrientationInterpolator rotating an outer emissive textured semi-transparent sphere. -->
 29            <!-- 3. An OrientationInterpolator rotating a pair of rings, angled at a 45 degree angle. -->
 30            <!-- 4. An OrientationInterpolator rotating a second pair of rings, angled at a 45 degree angle. -->
 31            <!-- A ScalarInterpolator with semi-random floating point keyValue that are routed in to a PointLight, thereby causing a flickering effect. That effect is turned on only after the pedestal has been touched. -->
 32            <WorldInfo info='"Copyright (c) 1997, David R. Nadeau"title='Temple of the Orb'/>
 33            <Viewpoint description='Entry viewposition='0.0 1.6 9.0'/>
 34            <NavigationInfo headlight='falsespeed='2.0type='"WALK" "ANY"'/>
 35            <Background skyAngle='1.371 1.571skyColor='0.0 0.1 0.2 0.0 0.1 0.3 0.0 0.0 0.0'/>
 36 
          <!-- ROUTE information for OrbLight node:  [from OrbLightIntensity.value_changed to set_intensity ] -->
          <PointLight DEF='OrbLightcolor='0.3 0.7 1.0intensity='0.0location='0.0 2.0 0.0'/>
 37            <DirectionalLight color='1.0 0.5 0.0direction='1.0 0.1 -0.5'/>
 38            <DirectionalLight color='1.0 0.5 0.0direction='1.0 0.1 -0.5'/>
 39            <DirectionalLight color='1.0 0.0 0.0direction='-1.0 -0.4 -0.5'/>
 40            <DirectionalLight color='1.0 0.0 0.0direction='-1.0 -0.4 -0.5'/>
 41            <Transform translation='0.0 3.64 0.0'>
 42 
               <!-- Group VaultedCeiling is a DEF node that has 4 USE nodes: USE_1, USE_2, USE_3, USE_4 -->
               <Group DEF='VaultedCeiling'>
 43 
                    <!-- Inline Vault is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
                    <Inline DEF='Vault'   url=' "vault.x3d" "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/vault.x3d" "vault.wrl" "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/vault.wrl" '/>
 44                      <Transform rotation='0.0 1.0 0.0 1.57'>
 45                           <Inline USE='Vault'/>
 46                      </Transform>
 47                      <Transform rotation='0.0 1.0 0.0 3.14'>
 48                           <Inline USE='Vault'/>
 49                      </Transform>
 50                      <Transform rotation='0.0 1.0 0.0 -1.57'>
 51                           <Inline USE='Vault'/>
 52                      </Transform>
 53                 </Group>
 54                 <Transform translation='-2.0 0.0 0.0'>
 55                      <Group USE='VaultedCeiling'/>
 56                 </Transform>
 57                 <Transform translation='2.0 0.0 0.0'>
 58                      <Group USE='VaultedCeiling'/>
 59                 </Transform>
 60                 <Transform translation='0.0 0.0 -2.0'>
 61                      <Group USE='VaultedCeiling'/>
 62                 </Transform>
 63                 <Transform translation='0.0 0.0 2.0'>
 64                      <Group USE='VaultedCeiling'/>
 65                 </Transform>
 66            </Transform>
 67            <Transform translation='-3.0 0.0 -1.0'>
 68 
               <!-- Transform Column is a DEF node that has 11 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6, USE_7, USE_8, USE_9, USE_10, USE_11 -->
               <Transform DEF='Columnscale='0.5 0.7 0.5'>
 69                      <Inline   url=' "column.x3d" "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/column.x3d" "column.wrl" "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/column.wrl" '/>
 70                 </Transform>
 71            </Transform>
 72            <Transform translation='-1.0 0.0 -1.0'>
 73                 <Transform USE='Column'/>
 74            </Transform>
 75            <Transform translation='1.0 0.0 -1.0'>
 76                 <Transform USE='Column'/>
 77            </Transform>
 78            <Transform translation='3.0 0.0 -1.0'>
 79                 <Transform USE='Column'/>
 80            </Transform>
 81            <Transform translation='-3.0 0.0 1.0'>
 82                 <Transform USE='Column'/>
 83            </Transform>
 84            <Transform translation='-1.0 0.0 1.0'>
 85                 <Transform USE='Column'/>
 86            </Transform>
 87            <Transform translation='1.0 0.0 1.0'>
 88                 <Transform USE='Column'/>
 89            </Transform>
 90            <Transform translation='3.0 0.0 1.0'>
 91                 <Transform USE='Column'/>
 92            </Transform>
 93            <Transform translation='-1.0 0.0 -3.0'>
 94                 <Transform USE='Column'/>
 95            </Transform>
 96            <Transform translation='-1.0 0.0 3.0'>
 97                 <Transform USE='Column'/>
 98            </Transform>
 99            <Transform translation='1.0 0.0 -3.0'>
100                 <Transform USE='Column'/>
101            </Transform>
102            <Transform translation='1.0 0.0 3.0'>
103                 <Transform USE='Column'/>
104            </Transform>
105            <Transform translation='-11.5 0.0 -11.5'>
106                 <Shape>
107                      <Appearance>
108                           <TextureTransform scale='16.0 16.0'/>
109                           <Material ambientIntensity='0.5diffuseColor='1.0 1.0 1.0'/>
110                           <ImageTexture   url=' "stone2.jpg " "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/stone2.jpg " '/>
111                      </Appearance>
112                      <ElevationGrid solid='falsexDimension='8xSpacing='3.0zDimension='8zSpacing='3.0height='0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0'/>
113                 </Shape>
114            </Transform>
115            <Collision enabled='false'>
116 
               <!-- ROUTE information for OrbAll node:  [from OrbScaler.value_changed to set_scale ] -->
               <Transform DEF='OrbAllscale='0.01 0.01 0.01translation='0.0 1.625 0.0'>
117                      <Transform rotation='0.0 0.0 1.0 0.785'>
118 
                         <!-- ROUTE information for RingSet1 node:  [from RingSet1Rotator.value_changed to set_rotation ] -->
                         <Transform DEF='RingSet1'>
119 
                              <!-- Transform Ring1 is a DEF node that has 1 USE node: USE_1 -->
                              <Transform DEF='Ring1rotation='0.0 0.0 1.0 0.35translation='0.0 0.0525 0.0'>
120 
                                   <!-- Shape Ring is a DEF node that has 1 USE node: USE_1 -->
                                   <Shape DEF='Ring'>
121                                          <Appearance>
122                                               <Material ambientIntensity='0.0diffuseColor='0.0 0.0 0.0emissiveColor='0.0 0.3 0.8shininess='1.0specularColor='0.0 0.1 0.1'/>
123                                          </Appearance>
124                                          <Cylinder bottom='falseheight='0.008radius='0.15top='false'/>
125                                     </Shape>
126                                </Transform>
127 
                              <!-- Transform Ring2 is a DEF node that has 1 USE node: USE_1 -->
                              <Transform DEF='Ring2rotation='0.0 0.0 1.0 -0.35translation='0.0 -0.0525 0.0'>
128                                     <Shape USE='Ring'/>
129                                </Transform>
130                           </Transform>
131                      </Transform>
132                      <Transform rotation='0.0 0.0 1.0 -0.785'>
133 
                         <!-- ROUTE information for RingSet2 node:  [from RingSet2Rotator.value_changed to set_rotation ] -->
                         <Transform DEF='RingSet2scale='0.9 0.9 0.9'>
134                                <Transform USE='Ring1'/>
135                                <Transform USE='Ring2'/>
136                           </Transform>
137                      </Transform>
138 
                    <!-- ROUTE information for Orb node:  [from OrbRotator.value_changed to set_rotation ] -->
                    <Transform DEF='Orb'>
139                           <Shape>
140                                <Appearance>
141                                     <TextureTransform scale='2.0 2.0'/>
142                                     <ImageTexture   url=' "brtsky.jpg " "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/brtsky.jpg " '/>
143                                </Appearance>
144                                <Sphere radius='0.1'/>
145                           </Shape>
146                      </Transform>
147                 </Transform>
148            </Collision>
149            <Transform translation='0.0 1.625 0.0'>
150 
               <!-- ROUTE information for OrbSound node:  [from OrbVolume.value_changed to set_intensity ] -->
               <Sound DEF='OrbSoundintensity='0.0maxBack='15.0maxFront='15.0'>
151 
                    <!-- ROUTE information for OrbClip node:  [from PedestalTouch.touchTime to set_startTime ] -->
                    <AudioClip DEF='OrbClipstartTime='-1.0'   url=' "willow1.wav" "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/willow1.wav" '/>
152                 </Sound>
153            </Transform>
154            <Collision enabled='false'>
155                 <Transform scale='3.25 3.25 3.25translation='0.0 0.015 0.0'>
156                      <Shape>
157                           <Appearance>
158 
                              <!-- Material GranitMaterial is a DEF node that has 1 USE node: USE_1 -->
                              <Material DEF='GranitMaterialambientIntensity='0.0diffuseColor='0.8 0.8 1.0'/>
159 
                              <!-- ImageTexture GranitTexture is a DEF node that has 1 USE node: USE_1 -->
                              <ImageTexture DEF='GranitTexture'   url=' "granit_g.jpg " "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/granit_g.jpg " '/>
160                           </Appearance>
161                           <IndexedFaceSet coordIndex='0 1 4 -1 1 2 4 -1 2 3 4 -1 3 0 4 -1texCoordIndex='0 1 2 -1 0 1 2 -1 0 1 2 -1 0 1 2 -1'>
162                                <TextureCoordinate point='0.0 0.0 1.0 0.0 0.5 1.0'/>
163                                <Coordinate point='-0.06 0.0 0.06 0.06 0.0 0.06 0.06 0.0 -0.06 -0.06 0.0 -0.06 0.0 0.3 0.0'/>
164                           </IndexedFaceSet>
165                      </Shape>
166 
                    <!-- ROUTE information for PedestalTouch node:  [from touchTime to OrbScaleTimer.set_startTime ] [from touchTime to OrbLightTimer.set_startTime ] [from touchTime to OrbClip.set_startTime ] [from touchTime to OrbTimer.set_startTime ] [from touchTime to RingSet1Timer.set_startTime ] [from touchTime to RingSet2Timer.set_startTime ] -->
                    <TouchSensor DEF='PedestalTouchdescription='Touch center pedestal to see and hear the orb'/>
167                 </Transform>
168                 <Transform scale='3.25 3.25 3.25translation='0.0 0.008 0.0'>
169                      <Shape>
170                           <Appearance>
171                                <Material USE='GranitMaterial'/>
172                                <ImageTexture USE='GranitTexture'/>
173                           </Appearance>
174                           <Box size='0.2 0.025 0.2'/>
175                      </Shape>
176                 </Transform>
177            </Collision>
178 
          <!-- ROUTE information for OrbTimer node:  [from PedestalTouch.touchTime to set_startTime ] [from fraction_changed to OrbRotator.set_fraction ] -->
          <TimeSensor DEF='OrbTimercycleInterval='20.0loop='truestartTime='-1.0'/>
179 
          <!-- ROUTE information for OrbRotator node:  [from OrbTimer.fraction_changed to set_fraction ] [from value_changed to Orb.set_rotation ] -->
          <OrientationInterpolator DEF='OrbRotatorkey='0.0 0.5 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>
180            < ROUTE  fromNode='OrbTimer' fromField='fraction_changed' toNode='OrbRotator' toField='set_fraction'/>
181            < ROUTE  fromNode='OrbRotator' fromField='value_changed' toNode='Orb' toField='set_rotation'/>
182 
          <!-- ROUTE information for RingSet1Timer node:  [from PedestalTouch.touchTime to set_startTime ] [from fraction_changed to RingSet1Rotator.set_fraction ] -->
          <TimeSensor DEF='RingSet1TimercycleInterval='2.0loop='truestartTime='-1.0'/>
183 
          <!-- ROUTE information for RingSet2Timer node:  [from PedestalTouch.touchTime to set_startTime ] [from fraction_changed to RingSet2Rotator.set_fraction ] -->
          <TimeSensor DEF='RingSet2TimercycleInterval='2.2loop='truestartTime='-1.0'/>
184 
          <!-- ROUTE information for RingSet1Rotator node:  [from RingSet1Timer.fraction_changed to set_fraction ] [from value_changed to RingSet1.set_rotation ] -->
          <OrientationInterpolator DEF='RingSet1Rotatorkey='0.0 0.5 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 -3.14 0.0 1.0 0.0 -6.28'/>
185            < ROUTE  fromNode='RingSet1Timer' fromField='fraction_changed' toNode='RingSet1Rotator' toField='set_fraction'/>
186            < ROUTE  fromNode='RingSet1Rotator' fromField='value_changed' toNode='RingSet1' toField='set_rotation'/>
187 
          <!-- ROUTE information for RingSet2Rotator node:  [from RingSet2Timer.fraction_changed to set_fraction ] [from value_changed to RingSet2.set_rotation ] -->
          <OrientationInterpolator DEF='RingSet2Rotatorkey='0.0 0.5 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>
188            < ROUTE  fromNode='RingSet2Timer' fromField='fraction_changed' toNode='RingSet2Rotator' toField='set_fraction'/>
189            < ROUTE  fromNode='RingSet2Rotator' fromField='value_changed' toNode='RingSet2' toField='set_rotation'/>
190 
          <!-- ROUTE information for OrbLightTimer node:  [from PedestalTouch.touchTime to set_startTime ] [from fraction_changed to OrbLightIntensity.set_fraction ] -->
          <TimeSensor DEF='OrbLightTimercycleInterval='12.0startTime='-1.0'/>
191 
          <!-- ROUTE information for OrbLightIntensity node:  [from OrbLightTimer.fraction_changed to set_fraction ] [from value_changed to OrbLight.set_intensity ] -->
          <ScalarInterpolator DEF='OrbLightIntensitykey='0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0keyValue='0.0 0.5 0.7 1.0 0.9 0.8 1.0 0.9 0.9 0.5 0.0'/>
192            < ROUTE  fromNode='OrbLightTimer' fromField='fraction_changed' toNode='OrbLightIntensity' toField='set_fraction'/>
193            < ROUTE  fromNode='OrbLightIntensity' fromField='value_changed' toNode='OrbLight' toField='set_intensity'/>
194 
          <!-- ROUTE information for OrbScaleTimer node:  [from PedestalTouch.touchTime to set_startTime ] [from fraction_changed to OrbScaler.set_fraction ] [from fraction_changed to OrbVolume.set_fraction ] -->
          <TimeSensor DEF='OrbScaleTimercycleInterval='12.0startTime='-1.0'/>
195 
          <!-- ROUTE information for OrbScaler node:  [from OrbScaleTimer.fraction_changed to set_fraction ] [from value_changed to OrbAll.set_scale ] -->
          <PositionInterpolator DEF='OrbScalerkey='0.0 0.3 0.9 1.0keyValue='0.001 0.001 0.001 3.25 3.25 3.25 3.25 3.25 3.25 0.001 0.001 0.001'/>
196 
          <!-- ROUTE information for OrbVolume node:  [from OrbScaleTimer.fraction_changed to set_fraction ] [from value_changed to OrbSound.set_intensity ] -->
          <ScalarInterpolator DEF='OrbVolumekey='0.0 0.3 0.9 1.0keyValue='0.0 1.0 1.0 0.0'/>
197            < ROUTE  fromNode='PedestalTouch' fromField='touchTime' toNode='OrbScaleTimer' toField='set_startTime'/>
198            < ROUTE  fromNode='PedestalTouch' fromField='touchTime' toNode='OrbLightTimer' toField='set_startTime'/>
199            < ROUTE  fromNode='PedestalTouch' fromField='touchTime' toNode='OrbClip' toField='set_startTime'/>
200            < ROUTE  fromNode='PedestalTouch' fromField='touchTime' toNode='OrbTimer' toField='set_startTime'/>
201            < ROUTE  fromNode='PedestalTouch' fromField='touchTime' toNode='RingSet1Timer' toField='set_startTime'/>
202            < ROUTE  fromNode='PedestalTouch' fromField='touchTime' toNode='RingSet2Timer' toField='set_startTime'/>
203            < ROUTE  fromNode='OrbScaleTimer' fromField='fraction_changed' toNode='OrbScaler' toField='set_fraction'/>
204            < ROUTE  fromNode='OrbScaleTimer' fromField='fraction_changed' toNode='OrbVolume' toField='set_fraction'/>
205            < ROUTE  fromNode='OrbScaler' fromField='value_changed' toNode='OrbAll' toField='set_scale'/>
206            < ROUTE  fromNode='OrbVolume' fromField='value_changed' toNode='OrbSound' toField='set_intensity'/>
207       </Scene>
208  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->

<!-- to top Index for DEF nodes: Column, GranitMaterial, GranitTexture, Orb, OrbAll, OrbClip, OrbLight, OrbLightIntensity, OrbLightTimer, OrbRotator, OrbScaler, OrbScaleTimer, OrbSound, OrbTimer, OrbVolume, PedestalTouch, Ring, Ring1, Ring2, RingSet1, RingSet1Rotator, RingSet1Timer, RingSet2, RingSet2Rotator, RingSet2Timer, Vault, VaultedCeiling

Index for Viewpoint node: Viewpoint_1
-->
X3D Tooltips element index: Appearance, AudioClip, Background, Box, Collision, Coordinate, Cylinder, DirectionalLight, ElevationGrid, Group, head, ImageTexture, IndexedFaceSet, Inline, Material, meta, NavigationInfo, OrientationInterpolator, PointLight, PositionInterpolator, ROUTE, ScalarInterpolator, Scene, Shape, Sound, Sphere, TextureCoordinate, TextureTransform, TimeSensor, TouchSensor, Transform, Viewpoint, WorldInfo, X3D, accessType and type, XML data types, field types

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

PedestalTouch
TouchSensor
touchTime
SFTime

ROUTE
event to
(1)
OrbScaleTimer
TimeSensor
set_startTime
SFTime
then
 
 
 
OrbScaleTimer
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
OrbScaler
PositionInterpolator
set_fraction
SFFloat
then
 
 
 
OrbScaler
PositionInterpolator
value_changed
SFVec3f

ROUTE
event to
(3)
OrbAll
Transform
set_scale
SFVec3f
  then
 
 
 
OrbScaleTimer
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
OrbVolume
ScalarInterpolator
set_fraction
SFFloat
then
 
 
 
OrbVolume
ScalarInterpolator
value_changed
SFFloat

ROUTE
event to
(3)
OrbSound
Sound
set_intensity
SFFloat
PedestalTouch
TouchSensor
touchTime
SFTime

ROUTE
event to
(1)
OrbLightTimer
TimeSensor
set_startTime
SFTime
then
 
 
 
OrbLightTimer
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
OrbLightIntensity
ScalarInterpolator
set_fraction
SFFloat
then
 
 
 
OrbLightIntensity
ScalarInterpolator
value_changed
SFFloat

ROUTE
event to
(3)
OrbLight
PointLight
set_intensity
SFFloat
PedestalTouch
TouchSensor
touchTime
SFTime

ROUTE
event to
(1)
OrbClip
AudioClip
set_startTime
SFTime
PedestalTouch
TouchSensor
touchTime
SFTime

ROUTE
event to
(1)
OrbTimer
TimeSensor
set_startTime
SFTime
then
 
 
 
OrbTimer
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
OrbRotator
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
OrbRotator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
Orb
Transform
set_rotation
SFRotation
PedestalTouch
TouchSensor
touchTime
SFTime

ROUTE
event to
(1)
RingSet1Timer
TimeSensor
set_startTime
SFTime
then
 
 
 
RingSet1Timer
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
RingSet1Rotator
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
RingSet1Rotator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
RingSet1
Transform
set_rotation
SFRotation
PedestalTouch
TouchSensor
touchTime
SFTime

ROUTE
event to
(1)
RingSet2Timer
TimeSensor
set_startTime
SFTime
then
 
 
 
RingSet2Timer
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
RingSet2Rotator
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
RingSet2Rotator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
RingSet2
Transform
set_rotation
SFRotation

Additional guidance on X3D animation can be found in the 10-Step Animation Design Process and Event Tracing hint sheets. Have fun with X3D! 😀

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