X3D Model Documentation: House.x3d

  1  <?xml version="1.0" encoding="UTF-8"?>
  2 
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "https://www.web3d.org/specifications/x3d-3.0.dtd">
  3  <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'>
  4       <head>
  5            <meta name='titlecontent=' House.x3d '/>
  6            <meta name='descriptioncontent='A house model with basic furniture, appliances and and animated doors.'/>
  7            <meta name='createdcontent='20 July 2002'/>
  8            <meta name='modifiedcontent='7 April 2024'/>
  9            <meta name='creatorcontent='Baris Aktop'/>
 10            <meta name='rightscontent='All sound effects can be used in any school project'/>
 11            <meta name='Soundcontent=' waterflow.wav ' />
 12            <meta name='Soundcontent=' doorbell.wav ' />
 13            <meta name='Soundcontent=' toiletflush.wav ' />
 14            <meta name='referencecontent=' http://www.a1freesoundeffects.com/household.html '/>
 15            <meta name='subjectcontent='house'/>
 16            <meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/House.x3d '/>
 17            <meta name='generatorcontent='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit'/>
 18            <meta name='licensecontent='../../license.html'/>
 19       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: backDoor, backDoorClock, backDoorClockClose, backDoorKnub, backDoorknubOut, backDoorPathClose, backDoorPathOpen, backDoorTouchClose, backDoorTouchOpen, backgr, backside, backsidewall1, backsidewall12, backsidewall13, backsidewall2, backsidewall3, backsidewall4, backsideWindow1, backsideWindow2, backwall41, backwall42, backwall5, backWindow1, backWindow1Clock, backWindow1Clock2, backWindow1Close, backWindow1Knub, backWindow1Knub2, backWindow1KnubClose, backWindow1KnubOpen, backWindow1Open, backWindow1Pos, backWindow1Pos2, backWindow2, backWindow2Clock, backWindow2Clock2, backWindow2Close, backWindow2Knub, backWindow2Knub2, backWindow2KnubClose, backWindow2KnubOpen, backWindow2Open, backWindow2Pos, backWindow2Pos2, BASIN, bathroomDoor, bathroomDoorClock, bathroomDoorClockClose, bathroomDoorKnub, bathroomDoorknubOut, bathroomDoorPathClose, bathroomDoorPathOpen, bathroomDoorTouchClose, bathroomDoorTouchOpen, bell, bellap, chair, chair1, chair2, Clock, ClockClose, Cover, DOOR, door, doorbell, doorKnub, doorPathClose, doorPathOpen, fence, floor, floorandceiling, floorapp, floorshape, front, garden, innerWalls, knub_ap, knubOut, lawn, lawnAndTree, left, leftside, leftsidewall1, leftsidewall11, leftsidewall12, leftsidewall2, leftsidewall21, leftsidewall22, leftsidewall3, leftsidewall31, leftsidewall32, leftsidewall4, leftWindow1, leftWindow1Clock, leftWindow1Clock2, leftWindow1Close, leftWindow1Knub, leftWindow1Knub2, leftWindow1KnubClose, leftWindow1KnubOpen, leftWindow1Open, leftWindow1Pos, leftWindow1Pos2, leftWindow2, leftWindow2Clock, leftWindow2Clock2, leftWindow2Close, leftWindow2Knub, leftWindow2Knub2, leftWindow2KnubClose, leftWindow2KnubOpen, leftWindow2Open, leftWindow2Pos, leftWindow2Pos2, leftWindow3, leftWindow3Clock, leftWindow3Clock2, leftWindow3Close, leftWindow3Knub, leftWindow3Knub2, leftWindow3KnubClose, leftWindow3KnubOpen, leftWindow3Open, leftWindow3Pos, leftWindow3Pos2, leftWindowOne, leftWindowThree, leftWindowTwo, part1, part11, part12, part13, part21, part3, part31, part32, part33, point1, rightside, rightsidewall1, rightsidewall11, rightsidewall12, rightsidewall2, rightsidewall21, rightsidewall22, rightsidewall23, rightsidewall3, rightsidewall31, rightsidewall4, rightWindow1, rightWindow1Clock, rightWindow1Clock2, rightWindow1Close, rightWindow1Knub, rightWindow1Knub2, rightWindow1KnubClose, rightWindow1KnubOpen, rightWindow1Open, rightWindow1Pos, rightWindow1Pos2, rightWindow2, rightWindow2Clock, rightWindow2Clock2, rightWindow2Close, rightWindow2Knub, rightWindow2Knub2, rightWindow2KnubClose, rightWindow2KnubOpen, rightWindow2Open, rightWindow2Pos, rightWindow2Pos2, rightWindow3, rightWindowOne, rightWindowThree, rightWindowTwo, roof, table, touchClose, touchOpen, up, wall_ap, wall1, wall11, wall12, wall13, wall2, wall3, wall31, wall32, wall33, WINDOW1, window1, window1Knub, window1knubopen, WINDOW2, window2, window2Knub, window2knubopen, window2Slide, windowApp, windowSlide, wood

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3, Viewpoint_4, Viewpoint_5, Viewpoint_6, Viewpoint_7, Viewpoint_8, Viewpoint_9, Viewpoint_10, Viewpoint_11, Viewpoint_12, Viewpoint_13, Viewpoint_14, Viewpoint_15, Viewpoint_16, point1
-->
 20       <Scene>
 21            <WorldInfo title='House.x3d'/>
 22            <Group DEF='front'>
 23                 <Transform DEF='wall1translation='-3.75 2 0'>
 24 
                    <!-- Shape part1 is a DEF node that has 10 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6, USE_7, USE_8, USE_9, USE_10 -->
                    <Shape DEF='part1'>
 25                           <Box size='1.5 4 0.1'/>
 26 
                         <!-- Appearance wall_ap is a DEF node that has 24 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6, USE_7, USE_8, USE_9, USE_10, USE_11, USE_12, USE_13, USE_14, USE_15, USE_16, USE_17, USE_18, USE_19, USE_20, USE_21, USE_22, USE_23, USE_24 -->
                         <Appearance DEF='wall_ap'>
 27                                <Material diffuseColor='0.8 0.8 0.4'/>
 28                           </Appearance>
 29                      </Shape>
 30                 </Transform>
 31                 <Transform DEF='wall11translation='-1.25 2 0'>
 32                      <Shape DEF='part11'>
 33                           <Box size='1.5 4 0.1'/>
 34                           <Appearance USE='wall_ap'/>
 35                      </Shape>
 36                 </Transform>
 37                 <Transform DEF='wall12translation='-2.5 3 0'>
 38 
                    <!-- Shape part12 is a DEF node that has 7 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6, USE_7 -->
                    <Shape DEF='part12'>
 39                           <Box size='1 2 0.1'/>
 40                           <Appearance USE='wall_ap'/>
 41                      </Shape>
 42                 </Transform>
 43                 <Transform DEF='wall13translation='-2.5 0.5 0'>
 44 
                    <!-- Shape part13 is a DEF node that has 7 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6, USE_7 -->
                    <Shape DEF='part13'>
 45                           <Box size='1 1 0.1'/>
 46                           <Appearance USE='wall_ap'/>
 47                      </Shape>
 48                 </Transform>
 49 
               <!-- ROUTE information for WINDOW2 node:  [from window2Slide.translation_changed to set_translation ] -->
               <Transform DEF='WINDOW2translation='-2.5 1.5 0.05'>
 50                      <Shape DEF='window2'>
 51                           <Box size='1 1 0.075'/>
 52 
                         <!-- Appearance windowApp is a DEF node that has 8 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6, USE_7, USE_8 -->
                         <Appearance DEF='windowApp'>
 53                                <Material diffuseColor='0.7 0.9 0.9transparency='0.5'/>
 54                           </Appearance>
 55                      </Shape>
 56                      <Transform translation='0.4 0 -0.1'>
 57                           <Shape DEF='window2knubopen'>
 58                                <Sphere DEF='window2Knubradius='0.05'/>
 59                                <Appearance>
 60                                     <Material/>
 61                                </Appearance>
 62                           </Shape>
 63                      </Transform>
 64 
                    <!-- ROUTE information for window2Slide node:  [from translation_changed to WINDOW2.set_translation ] -->
                    <PlaneSensor DEF='window2Slidedescription='click and drag to move windowmaxPosition='-2.5 1.5minPosition='-3 1.5'/>
 65                      < ROUTE  fromNode='window2Slide' fromField='translation_changed' toNode='WINDOW2' toField='set_translation'/>
 66                 </Transform>
 67 
               <!-- ROUTE information for WINDOW1 node:  [from windowSlide.translation_changed to set_translation ] -->
               <Transform DEF='WINDOW1translation='2.5 1.5 0.05'>
 68                      <Shape DEF='window1'>
 69                           <Box size='1 1 0.075'/>
 70                           <Appearance USE='windowApp'/>
 71                      </Shape>
 72                      <Transform translation='-0.4 0 -0.1'>
 73                           <Shape DEF='window1knubopen'>
 74                                <Sphere DEF='window1Knubradius='0.05'/>
 75                                <Appearance>
 76                                     <Material/>
 77                                </Appearance>
 78                           </Shape>
 79                      </Transform>
 80 
                    <!-- ROUTE information for windowSlide node:  [from translation_changed to WINDOW1.set_translation ] -->
                    <PlaneSensor DEF='windowSlidedescription='click and drag to move windowmaxPosition='3 1.5minPosition='2.5 1.5'/>
 81                      < ROUTE  fromNode='windowSlide' fromField='translation_changed' toNode='WINDOW1' toField='set_translation'/>
 82                 </Transform>
 83                 <Transform DEF='wall2translation='1.25 2 0'>
 84                      <Shape DEF='part21'>
 85                           <Box size='1.5 4 0.1'/>
 86                           <Appearance USE='wall_ap'/>
 87                      </Shape>
 88                 </Transform>
 89                 <Transform DEF='wall3translation='0 3 0'>
 90 
                    <!-- Shape part3 is a DEF node that has 1 USE node: USE_1 -->
                    <Shape DEF='part3'>
 91                           <Box size='1 2 0.1'/>
 92                           <Appearance USE='wall_ap'/>
 93                      </Shape>
 94                 </Transform>
 95                 <Transform DEF='wall31translation='3.75 2 0'>
 96                      <Shape DEF='part31'>
 97                           <Box size='1.5 4 0.1'/>
 98                           <Appearance USE='wall_ap'/>
 99                      </Shape>
100                 </Transform>
101                 <Transform DEF='wall32translation='2.5 3 0'>
102                      <Shape DEF='part32'>
103                           <Box size='1 2 0.1'/>
104                           <Appearance USE='wall_ap'/>
105                      </Shape>
106                 </Transform>
107                 <Transform DEF='wall33translation='2.5 0.5 0'>
108                      <Shape DEF='part33'>
109                           <Box size='1 1 0.1'/>
110                           <Appearance USE='wall_ap'/>
111                      </Shape>
112                 </Transform>
113 
               <!-- ROUTE information for DOOR node:  [from doorPathOpen.value_changed to set_rotation ] [from doorPathClose.value_changed to set_rotation ] -->
               <Transform DEF='DOORcenter='0.5 0 0translation='0 1 0'>
114 
                    <!-- Shape door is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <Shape DEF='door'>
115                           <Box size='1 2 0.1'/>
116                           <Appearance>
117                                <Material diffuseColor='0.8 0.5 0'/>
118 
                              <!-- ImageTexture wood is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
                              <ImageTexture DEF='wood'   url=' "wood.jpg " "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/wood.jpg " '/>
119                           </Appearance>
120                      </Shape>
121                      <Transform translation='-0.4 0 0.05'>
122 
                         <!-- Shape knubOut is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
                         <Shape DEF='knubOut'>
123                                <Sphere DEF='doorKnubradius='0.05'/>
124 
                              <!-- Appearance knub_ap is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                              <Appearance DEF='knub_ap'>
125                                     <Material/>
126                                </Appearance>
127                           </Shape>
128 
                         <!-- ROUTE information for Clock node:  [from touchOpen.touchTime to set_startTime ] [from fraction_changed to doorPathOpen.set_fraction ] -->
                         <TimeSensor DEF='ClockcycleInterval='3'/>
129 
                         <!-- ROUTE information for doorPathOpen node:  [from Clock.fraction_changed to set_fraction ] [from value_changed to DOOR.set_rotation ] -->
                         <OrientationInterpolator DEF='doorPathOpenkey='0 0.34 0.68 1keyValue='0 1 0 0 0 1 0 0.7 0 1 0 1.4 0 1 0 2.1'/>
130 
                         <!-- ROUTE information for touchOpen node:  [from touchTime to Clock.set_startTime ] -->
                         <TouchSensor DEF='touchOpendescription='touch to open'/>
131                           < ROUTE  fromNode='touchOpen' fromField='touchTime' toNode='Clock' toField='set_startTime'/>
132                           < ROUTE  fromNode='Clock' fromField='fraction_changed' toNode='doorPathOpen' toField='set_fraction'/>
133                           < ROUTE  fromNode='doorPathOpen' fromField='value_changed' toNode='DOOR' toField='set_rotation'/>
134                      </Transform>
135                      <Transform translation='-0.4 0 -0.05'>
136                           <Shape USE='knubOut'/>
137 
                         <!-- ROUTE information for ClockClose node:  [from touchClose.touchTime to set_startTime ] [from fraction_changed to doorPathClose.set_fraction ] -->
                         <TimeSensor DEF='ClockClosecycleInterval='2'/>
138 
                         <!-- ROUTE information for doorPathClose node:  [from ClockClose.fraction_changed to set_fraction ] [from value_changed to DOOR.set_rotation ] -->
                         <OrientationInterpolator DEF='doorPathClosekey='0 0.34 0.68 1keyValue='0 1 0 2.1 0 1 0 1.4 0 1 0 0.7 0 1 0 0'/>
139 
                         <!-- ROUTE information for touchClose node:  [from touchTime to ClockClose.set_startTime ] -->
                         <TouchSensor DEF='touchClosedescription='touch to close'/>
140                           < ROUTE  fromNode='touchClose' fromField='touchTime' toNode='ClockClose' toField='set_startTime'/>
141                           < ROUTE  fromNode='ClockClose' fromField='fraction_changed' toNode='doorPathClose' toField='set_fraction'/>
142                           < ROUTE  fromNode='doorPathClose' fromField='value_changed' toNode='DOOR' toField='set_rotation'/>
143                      </Transform>
144                 </Transform>
145                 <Transform translation='-0.75 1.5 0.1'>
146                      <Shape>
147                           <Sphere radius='0.05'/>
148                           <Appearance DEF='bellap'>
149                                <Material diffuseColor='0.9 0.9 0.9'/>
150                           </Appearance>
151                      </Shape>
152                      <Shape>
153                           <Box size='0.2 0.15 0.05'/>
154                           <Appearance>
155                                <Material diffuseColor='0.5 0.5 0.5'/>
156                           </Appearance>
157                      </Shape>
158                      <Sound maxBack='30maxFront='30minBack='10minFront='10'>
159 
                         <!-- ROUTE information for doorbell node:  [from bell.touchTime to set_startTime ] -->
                         <AudioClip DEF='doorbelldescription='Door bell'   url=' "doorbell.wav" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/doorbell.wav" '/>
160                      </Sound>
161 
                    <!-- ROUTE information for bell node:  [from touchTime to doorbell.set_startTime ] -->
                    <TouchSensor DEF='belldescription='touch to ring doorbell'/>
162                      < ROUTE  fromNode='bell' fromField='touchTime' toNode='doorbell' toField='set_startTime'/>
163                 </Transform>
164            </Group>
165            <Group DEF='rightside'>
166                 <Transform DEF='rightsidewall1rotation='0 1 0 1.57translation='4.5 2 -0.75'>
167                      <Shape USE='part1'/>
168                 </Transform>
169                 <Transform DEF='rightsidewall11rotation='0 1 0 1.57translation='4.5 3 -2'>
170                      <Shape USE='part12'/>
171                 </Transform>
172                 <Transform DEF='rightsidewall12rotation='0 1 0 1.57translation='4.5 0.5 -2'>
173                      <Shape USE='part13'/>
174                 </Transform>
175 
               <!-- ROUTE information for rightWindow1 node:  [from rightWindow1Pos.value_changed to set_translation ] [from rightWindow1Pos2.value_changed to set_translation ] -->
               <Transform DEF='rightWindow1rotation='0 1 0 1.57translation='4.55 1.5 -2'>
176                      <Shape DEF='rightWindowOne'>
177                           <Box size='1 1 0.075'/>
178                           <Appearance USE='windowApp'/>
179                      </Shape>
180                 </Transform>
181                 <Transform translation='4.4 1.7 -1.4'>
182                      <Shape DEF='rightWindow1KnubOpen'>
183                           <Sphere DEF='rightWindow1Knubradius='0.05'/>
184                           <Appearance>
185                                <Material/>
186                           </Appearance>
187                      </Shape>
188 
                    <!-- ROUTE information for rightWindow1Clock node:  [from rightWindow1Open.touchTime to set_startTime ] [from fraction_changed to rightWindow1Pos.set_fraction ] -->
                    <TimeSensor DEF='rightWindow1Clock'/>
189 
                    <!-- ROUTE information for rightWindow1Pos node:  [from rightWindow1Clock.fraction_changed to set_fraction ] [from value_changed to rightWindow1.set_translation ] -->
                    <PositionInterpolator DEF='rightWindow1Poskey='0 0.5 1keyValue='4.55 1.5 -2 4.55 1.5 -2.25 4.55 1.5 -2.5'/>
190 
                    <!-- ROUTE information for rightWindow1Open node:  [from touchTime to rightWindow1Clock.set_startTime ] -->
                    <TouchSensor DEF='rightWindow1Opendescription='touch to open'/>
191                      < ROUTE  fromNode='rightWindow1Open' fromField='touchTime' toNode='rightWindow1Clock' toField='set_startTime'/>
192                      < ROUTE  fromNode='rightWindow1Clock' fromField='fraction_changed' toNode='rightWindow1Pos' toField='set_fraction'/>
193                      < ROUTE  fromNode='rightWindow1Pos' fromField='value_changed' toNode='rightWindow1' toField='set_translation'/>
194                 </Transform>
195                 <Transform translation='4.4 1.3 -1.4'>
196                      <Shape DEF='rightWindow1KnubClose'>
197                           <Sphere DEF='rightWindow1Knub2radius='0.05'/>
198                           <Appearance>
199                                <Material/>
200                           </Appearance>
201                      </Shape>
202 
                    <!-- ROUTE information for rightWindow1Clock2 node:  [from rightWindow1Close.touchTime to set_startTime ] [from fraction_changed to rightWindow1Pos2.set_fraction ] -->
                    <TimeSensor DEF='rightWindow1Clock2'/>
203 
                    <!-- ROUTE information for rightWindow1Pos2 node:  [from rightWindow1Clock2.fraction_changed to set_fraction ] [from value_changed to rightWindow1.set_translation ] -->
                    <PositionInterpolator DEF='rightWindow1Pos2key='0 0.5 1keyValue='4.55 1.5 -2.5 4.55 1.5 -2.25 4.55 1.5 -2'/>
204 
                    <!-- ROUTE information for rightWindow1Close node:  [from touchTime to rightWindow1Clock2.set_startTime ] -->
                    <TouchSensor DEF='rightWindow1Closedescription='touch to close'/>
205                      < ROUTE  fromNode='rightWindow1Close' fromField='touchTime' toNode='rightWindow1Clock2' toField='set_startTime'/>
206                      < ROUTE  fromNode='rightWindow1Clock2' fromField='fraction_changed' toNode='rightWindow1Pos2' toField='set_fraction'/>
207                      < ROUTE  fromNode='rightWindow1Pos2' fromField='value_changed' toNode='rightWindow1' toField='set_translation'/>
208                 </Transform>
209                 <Transform DEF='rightsidewall2rotation='0 1 0 1.57translation='4.5 2 -3.25'>
210                      <Shape USE='part1'/>
211                 </Transform>
212                 <Transform DEF='rightsidewall21rotation='0 1 0 1.57translation='4.5 3 -4.5'>
213                      <Shape USE='part12'/>
214                 </Transform>
215                 <Transform DEF='rightsidewall22rotation='0 1 0 1.57translation='4.5 0.5 -4.5'>
216                      <Shape USE='part13'/>
217                 </Transform>
218 
               <!-- ROUTE information for rightWindow2 node:  [from rightWindow2Pos.value_changed to set_translation ] [from rightWindow2Pos2.value_changed to set_translation ] -->
               <Transform DEF='rightWindow2rotation='0 1 0 1.57translation='4.55 1.5 -4.5'>
219                      <Shape DEF='rightWindowTwo'>
220                           <Box size='1 1 0.075'/>
221                           <Appearance USE='windowApp'/>
222                      </Shape>
223                 </Transform>
224                 <Transform translation='4.4 1.7 -3.9'>
225                      <Shape DEF='rightWindow2KnubOpen'>
226                           <Sphere DEF='rightWindow2Knubradius='0.05'/>
227                           <Appearance>
228                                <Material/>
229                           </Appearance>
230                      </Shape>
231 
                    <!-- ROUTE information for rightWindow2Clock node:  [from rightWindow2Open.touchTime to set_startTime ] [from fraction_changed to rightWindow2Pos.set_fraction ] -->
                    <TimeSensor DEF='rightWindow2Clock'/>
232 
                    <!-- ROUTE information for rightWindow2Pos node:  [from rightWindow2Clock.fraction_changed to set_fraction ] [from value_changed to rightWindow2.set_translation ] -->
                    <PositionInterpolator DEF='rightWindow2Poskey='0 0.5 1keyValue='4.55 1.5 -4.5 4.55 1.5 -4.75 4.55 1.5 -5'/>
233 
                    <!-- ROUTE information for rightWindow2Open node:  [from touchTime to rightWindow2Clock.set_startTime ] -->
                    <TouchSensor DEF='rightWindow2Opendescription='touch to open'/>
234                      < ROUTE  fromNode='rightWindow2Open' fromField='touchTime' toNode='rightWindow2Clock' toField='set_startTime'/>
235                      < ROUTE  fromNode='rightWindow2Clock' fromField='fraction_changed' toNode='rightWindow2Pos' toField='set_fraction'/>
236                      < ROUTE  fromNode='rightWindow2Pos' fromField='value_changed' toNode='rightWindow2' toField='set_translation'/>
237                 </Transform>
238                 <Transform translation='4.4 1.3 -3.9'>
239                      <Shape DEF='rightWindow2KnubClose'>
240                           <Sphere DEF='rightWindow2Knub2radius='0.05'/>
241                           <Appearance>
242                                <Material/>
243                           </Appearance>
244                      </Shape>
245 
                    <!-- ROUTE information for rightWindow2Clock2 node:  [from rightWindow2Close.touchTime to set_startTime ] [from fraction_changed to rightWindow2Pos2.set_fraction ] -->
                    <TimeSensor DEF='rightWindow2Clock2'/>
246 
                    <!-- ROUTE information for rightWindow2Pos2 node:  [from rightWindow2Clock2.fraction_changed to set_fraction ] [from value_changed to rightWindow2.set_translation ] -->
                    <PositionInterpolator DEF='rightWindow2Pos2key='0 0.5 1keyValue='4.55 1.5 -5 4.55 1.5 -4.75 4.55 1.5 -4.5'/>
247 
                    <!-- ROUTE information for rightWindow2Close node:  [from touchTime to rightWindow2Clock2.set_startTime ] -->
                    <TouchSensor DEF='rightWindow2Closedescription='touch to close'/>
248                      < ROUTE  fromNode='rightWindow2Close' fromField='touchTime' toNode='rightWindow2Clock2' toField='set_startTime'/>
249                      < ROUTE  fromNode='rightWindow2Clock2' fromField='fraction_changed' toNode='rightWindow2Pos2' toField='set_fraction'/>
250                      < ROUTE  fromNode='rightWindow2Pos2' fromField='value_changed' toNode='rightWindow2' toField='set_translation'/>
251                 </Transform>
252                 <Transform DEF='rightsidewall3rotation='0 1 0 1.57translation='4.5 2 -5.75'>
253                      <Shape USE='part1'/>
254                 </Transform>
255                 <Transform DEF='rightsidewall31rotation='0 1 0 1.57translation='4.5 3 -7'>
256                      <Shape USE='part12'/>
257                 </Transform>
258                 <Transform DEF='rightsidewall23rotation='0 1 0 1.57translation='4.5 0.5 -7'>
259                      <Shape USE='part13'/>
260                 </Transform>
261                 <Transform DEF='rightWindow3rotation='0 1 0 1.57translation='4.5 1.5 -7'>
262                      <Shape DEF='rightWindowThree'>
263                           <Box size='1.03 1.03 0.1'/>
264                           <Appearance USE='wall_ap'/>
265                      </Shape>
266                 </Transform>
267                 <Transform DEF='rightsidewall4rotation='0 1 0 1.57translation='4.5 2 -8.25'>
268                      <Shape USE='part1'/>
269                 </Transform>
270            </Group>
271            <Group DEF='leftside'>
272                 <Transform DEF='leftsidewall1rotation='0 1 0 1.57translation='-4.5 2 -0.75'>
273                      <Shape USE='part1'/>
274                 </Transform>
275                 <Transform DEF='leftsidewall11rotation='0 1 0 1.57translation='-4.5 3 -2'>
276                      <Shape USE='part12'/>
277                 </Transform>
278                 <Transform DEF='leftsidewall12rotation='0 1 0 1.57translation='-4.5 0.5 -2'>
279                      <Shape USE='part13'/>
280                 </Transform>
281 
               <!-- ROUTE information for leftWindow1 node:  [from leftWindow1Pos.value_changed to set_translation ] [from leftWindow1Pos2.value_changed to set_translation ] -->
               <Transform DEF='leftWindow1rotation='0 1 0 1.57translation='-4.55 1.5 -2'>
282                      <Shape DEF='leftWindowOne'>
283                           <Box size='1 1 0.075'/>
284                           <Appearance USE='windowApp'/>
285                      </Shape>
286                 </Transform>
287                 <Transform translation='-4.4 1.7 -1.4'>
288                      <Shape DEF='leftWindow1KnubOpen'>
289                           <Sphere DEF='leftWindow1Knubradius='0.05'/>
290                           <Appearance>
291                                <Material/>
292                           </Appearance>
293                      </Shape>
294 
                    <!-- ROUTE information for leftWindow1Clock node:  [from leftWindow1Open.touchTime to set_startTime ] [from fraction_changed to leftWindow1Pos.set_fraction ] -->
                    <TimeSensor DEF='leftWindow1Clock'/>
295 
                    <!-- ROUTE information for leftWindow1Pos node:  [from leftWindow1Clock.fraction_changed to set_fraction ] [from value_changed to leftWindow1.set_translation ] -->
                    <PositionInterpolator DEF='leftWindow1Poskey='0 0.5 1keyValue='-4.55 1.5 -2 -4.55 1.5 -2.25 -4.55 1.5 -2.5'/>
296 
                    <!-- ROUTE information for leftWindow1Open node:  [from touchTime to leftWindow1Clock.set_startTime ] -->
                    <TouchSensor DEF='leftWindow1Opendescription='touch to open'/>
297                      < ROUTE  fromNode='leftWindow1Open' fromField='touchTime' toNode='leftWindow1Clock' toField='set_startTime'/>
298                      < ROUTE  fromNode='leftWindow1Clock' fromField='fraction_changed' toNode='leftWindow1Pos' toField='set_fraction'/>
299                      < ROUTE  fromNode='leftWindow1Pos' fromField='value_changed' toNode='leftWindow1' toField='set_translation'/>
300                 </Transform>
301                 <Transform translation='-4.4 1.3 -1.4'>
302                      <Shape DEF='leftWindow1KnubClose'>
303                           <Sphere DEF='leftWindow1Knub2radius='0.05'/>
304                           <Appearance>
305                                <Material/>
306                           </Appearance>
307                      </Shape>
308 
                    <!-- ROUTE information for leftWindow1Clock2 node:  [from leftWindow1Close.touchTime to set_startTime ] [from fraction_changed to leftWindow1Pos2.set_fraction ] -->
                    <TimeSensor DEF='leftWindow1Clock2'/>
309 
                    <!-- ROUTE information for leftWindow1Pos2 node:  [from leftWindow1Clock2.fraction_changed to set_fraction ] [from value_changed to leftWindow1.set_translation ] -->
                    <PositionInterpolator DEF='leftWindow1Pos2key='0 0.5 1keyValue='-4.55 1.5 -2.5 -4.55 1.5 -2.25 -4.55 1.5 -2'/>
310 
                    <!-- ROUTE information for leftWindow1Close node:  [from touchTime to leftWindow1Clock2.set_startTime ] -->
                    <TouchSensor DEF='leftWindow1Closedescription='touch to close'/>
311                      < ROUTE  fromNode='leftWindow1Close' fromField='touchTime' toNode='leftWindow1Clock2' toField='set_startTime'/>
312                      < ROUTE  fromNode='leftWindow1Clock2' fromField='fraction_changed' toNode='leftWindow1Pos2' toField='set_fraction'/>
313                      < ROUTE  fromNode='leftWindow1Pos2' fromField='value_changed' toNode='leftWindow1' toField='set_translation'/>
314                 </Transform>
315                 <Transform DEF='leftsidewall2rotation='0 1 0 1.57translation='-4.5 2 -3.25'>
316                      <Shape USE='part1'/>
317                 </Transform>
318                 <Transform DEF='leftsidewall21rotation='0 1 0 1.57translation='-4.5 3 -4.5'>
319                      <Shape USE='part12'/>
320                 </Transform>
321                 <Transform DEF='leftsidewall22rotation='0 1 0 1.57translation='-4.5 0.5 -4.5'>
322                      <Shape USE='part13'/>
323                 </Transform>
324 
               <!-- ROUTE information for leftWindow2 node:  [from leftWindow2Pos.value_changed to set_translation ] [from leftWindow2Pos2.value_changed to set_translation ] -->
               <Transform DEF='leftWindow2rotation='0 1 0 1.57translation='-4.55 1.5 -4.5'>
325                      <Shape DEF='leftWindowTwo'>
326                           <Box size='1 1 0.075'/>
327                           <Appearance USE='windowApp'/>
328                      </Shape>
329                 </Transform>
330                 <Transform translation='-4.4 1.7 -3.9'>
331                      <Shape DEF='leftWindow2KnubOpen'>
332                           <Sphere DEF='leftWindow2Knubradius='0.05'/>
333                           <Appearance>
334                                <Material/>
335                           </Appearance>
336                      </Shape>
337 
                    <!-- ROUTE information for leftWindow2Clock node:  [from leftWindow2Open.touchTime to set_startTime ] [from fraction_changed to leftWindow2Pos.set_fraction ] -->
                    <TimeSensor DEF='leftWindow2Clock'/>
338 
                    <!-- ROUTE information for leftWindow2Pos node:  [from leftWindow2Clock.fraction_changed to set_fraction ] [from value_changed to leftWindow2.set_translation ] -->
                    <PositionInterpolator DEF='leftWindow2Poskey='0 0.5 1keyValue='-4.55 1.5 -4.5 -4.55 1.5 -4.75 -4.55 1.5 -5'/>
339 
                    <!-- ROUTE information for leftWindow2Open node:  [from touchTime to leftWindow2Clock.set_startTime ] -->
                    <TouchSensor DEF='leftWindow2Opendescription='touch to open'/>
340                      < ROUTE  fromNode='leftWindow2Open' fromField='touchTime' toNode='leftWindow2Clock' toField='set_startTime'/>
341                      < ROUTE  fromNode='leftWindow2Clock' fromField='fraction_changed' toNode='leftWindow2Pos' toField='set_fraction'/>
342                      < ROUTE  fromNode='leftWindow2Pos' fromField='value_changed' toNode='leftWindow2' toField='set_translation'/>
343                 </Transform>
344                 <Transform translation='-4.4 1.3 -3.9'>
345                      <Shape DEF='leftWindow2KnubClose'>
346                           <Sphere DEF='leftWindow2Knub2radius='0.05'/>
347                           <Appearance>
348                                <Material/>
349                           </Appearance>
350                      </Shape>
351 
                    <!-- ROUTE information for leftWindow2Clock2 node:  [from leftWindow2Close.touchTime to set_startTime ] [from fraction_changed to leftWindow2Pos2.set_fraction ] -->
                    <TimeSensor DEF='leftWindow2Clock2'/>
352 
                    <!-- ROUTE information for leftWindow2Pos2 node:  [from leftWindow2Clock2.fraction_changed to set_fraction ] [from value_changed to leftWindow2.set_translation ] -->
                    <PositionInterpolator DEF='leftWindow2Pos2key='0 0.5 1keyValue='-4.55 1.5 -5 -4.55 1.5 -4.75 -4.55 1.5 -4.5'/>
353 
                    <!-- ROUTE information for leftWindow2Close node:  [from touchTime to leftWindow2Clock2.set_startTime ] -->
                    <TouchSensor DEF='leftWindow2Closedescription='touch to close'/>
354                      < ROUTE  fromNode='leftWindow2Close' fromField='touchTime' toNode='leftWindow2Clock2' toField='set_startTime'/>
355                      < ROUTE  fromNode='leftWindow2Clock2' fromField='fraction_changed' toNode='leftWindow2Pos2' toField='set_fraction'/>
356                      < ROUTE  fromNode='leftWindow2Pos2' fromField='value_changed' toNode='leftWindow2' toField='set_translation'/>
357                 </Transform>
358                 <Transform DEF='leftsidewall3rotation='0 1 0 1.57translation='-4.5 2 -5.75'>
359                      <Shape USE='part1'/>
360                 </Transform>
361                 <Transform DEF='leftsidewall31rotation='0 1 0 1.57translation='-4.5 3 -7'>
362                      <Shape USE='part12'/>
363                 </Transform>
364                 <Transform DEF='leftsidewall32rotation='0 1 0 1.57translation='-4.5 0.5 -7'>
365                      <Shape USE='part13'/>
366                 </Transform>
367 
               <!-- ROUTE information for leftWindow3 node:  [from leftWindow3Pos.value_changed to set_translation ] [from leftWindow3Pos2.value_changed to set_translation ] -->
               <Transform DEF='leftWindow3rotation='0 1 0 1.57translation='-4.55 1.5 -7'>
368                      <Shape DEF='leftWindowThree'>
369                           <Box size='1 1 0.075'/>
370                           <Appearance USE='windowApp'/>
371                      </Shape>
372                 </Transform>
373                 <Transform translation='-4.4 1.7 -6.4'>
374                      <Shape DEF='leftWindow3KnubOpen'>
375                           <Sphere DEF='leftWindow3Knubradius='0.05'/>
376                           <Appearance>
377                                <Material/>
378                           </Appearance>
379                      </Shape>
380 
                    <!-- ROUTE information for leftWindow3Clock node:  [from leftWindow3Open.touchTime to set_startTime ] [from fraction_changed to leftWindow3Pos.set_fraction ] -->
                    <TimeSensor DEF='leftWindow3Clock'/>
381 
                    <!-- ROUTE information for leftWindow3Pos node:  [from leftWindow3Clock.fraction_changed to set_fraction ] [from value_changed to leftWindow3.set_translation ] -->
                    <PositionInterpolator DEF='leftWindow3Poskey='0 0.5 1keyValue='-4.55 1.5 -7 -4.55 1.5 -7.25 -4.55 1.5 -7.5'/>
382 
                    <!-- ROUTE information for leftWindow3Open node:  [from touchTime to leftWindow3Clock.set_startTime ] -->
                    <TouchSensor DEF='leftWindow3Opendescription='touch to open'/>
383                      < ROUTE  fromNode='leftWindow3Open' fromField='touchTime' toNode='leftWindow3Clock' toField='set_startTime'/>
384                      < ROUTE  fromNode='leftWindow3Clock' fromField='fraction_changed' toNode='leftWindow3Pos' toField='set_fraction'/>
385                      < ROUTE  fromNode='leftWindow3Pos' fromField='value_changed' toNode='leftWindow3' toField='set_translation'/>
386                 </Transform>
387                 <Transform translation='-4.4 1.3 -6.4'>
388                      <Shape DEF='leftWindow3KnubClose'>
389                           <Sphere DEF='leftWindow3Knub2radius='0.05'/>
390                           <Appearance>
391                                <Material/>
392                           </Appearance>
393                      </Shape>
394 
                    <!-- ROUTE information for leftWindow3Clock2 node:  [from leftWindow3Close.touchTime to set_startTime ] [from fraction_changed to leftWindow3Pos2.set_fraction ] -->
                    <TimeSensor DEF='leftWindow3Clock2'/>
395 
                    <!-- ROUTE information for leftWindow3Pos2 node:  [from leftWindow3Clock2.fraction_changed to set_fraction ] [from value_changed to leftWindow3.set_translation ] -->
                    <PositionInterpolator DEF='leftWindow3Pos2key='0 0.5 1keyValue='-4.55 1.5 -7.5 -4.55 1.5 -7.25 -4.55 1.5 -7'/>
396 
                    <!-- ROUTE information for leftWindow3Close node:  [from touchTime to leftWindow3Clock2.set_startTime ] -->
                    <TouchSensor DEF='leftWindow3Closedescription='touch to close'/>
397                      < ROUTE  fromNode='leftWindow3Close' fromField='touchTime' toNode='leftWindow3Clock2' toField='set_startTime'/>
398                      < ROUTE  fromNode='leftWindow3Clock2' fromField='fraction_changed' toNode='leftWindow3Pos2' toField='set_fraction'/>
399                      < ROUTE  fromNode='leftWindow3Pos2' fromField='value_changed' toNode='leftWindow3' toField='set_translation'/>
400                 </Transform>
401                 <Transform DEF='leftsidewall4rotation='0 1 0 1.57translation='-4.5 2 -8.25'>
402                      <Shape USE='part1'/>
403                 </Transform>
404            </Group>
405            <Group DEF='backside'>
406                 <Transform DEF='backsidewall1translation='-3.75 2 -9'>
407                      <Shape USE='part1'/>
408                 </Transform>
409                 <Transform DEF='backsidewall12translation='-2.5 3 -9'>
410                      <Shape USE='part12'/>
411                 </Transform>
412                 <Transform DEF='backsidewall13translation='-2.5 0.5 -9'>
413                      <Shape USE='part13'/>
414                 </Transform>
415                 <Transform DEF='backsidewall2translation='-1.25 2 -9'>
416                      <Shape USE='part1'/>
417                 </Transform>
418                 <Transform DEF='backsidewall3translation='0 3 -9'>
419                      <Shape USE='part3'/>
420                 </Transform>
421 
               <!-- ROUTE information for backDoor node:  [from backDoorPathOpen.value_changed to set_rotation ] [from backDoorPathClose.value_changed to set_rotation ] -->
               <Transform DEF='backDoorcenter='-0.5 0 0translation='0 1 -9'>
422                      <Shape USE='door'/>
423                      <Transform translation='0.4 0 -0.05'>
424                           <Shape DEF='backDoorknubOut'>
425                                <Sphere DEF='backDoorKnubradius='0.05'/>
426                                <Appearance USE='knub_ap'/>
427                           </Shape>
428 
                         <!-- ROUTE information for backDoorClock node:  [from backDoorTouchOpen.touchTime to set_startTime ] [from fraction_changed to backDoorPathOpen.set_fraction ] -->
                         <TimeSensor DEF='backDoorClockcycleInterval='3'/>
429 
                         <!-- ROUTE information for backDoorPathOpen node:  [from backDoorClock.fraction_changed to set_fraction ] [from value_changed to backDoor.set_rotation ] -->
                         <OrientationInterpolator DEF='backDoorPathOpenkey='0 0.34 0.68 1keyValue='0 1 0 0 0 1 0 0.7 0 1 0 1.4 0 1 0 2.1'/>
430 
                         <!-- ROUTE information for backDoorTouchOpen node:  [from touchTime to backDoorClock.set_startTime ] -->
                         <TouchSensor DEF='backDoorTouchOpendescription='touch to open'/>
431                           < ROUTE  fromNode='backDoorTouchOpen' fromField='touchTime' toNode='backDoorClock' toField='set_startTime'/>
432                           < ROUTE  fromNode='backDoorClock' fromField='fraction_changed' toNode='backDoorPathOpen' toField='set_fraction'/>
433                           < ROUTE  fromNode='backDoorPathOpen' fromField='value_changed' toNode='backDoor' toField='set_rotation'/>
434                      </Transform>
435                      <Transform translation='0.4 0 0.05'>
436                           <Shape USE='knubOut'/>
437 
                         <!-- ROUTE information for backDoorClockClose node:  [from backDoorTouchClose.touchTime to set_startTime ] [from fraction_changed to backDoorPathClose.set_fraction ] -->
                         <TimeSensor DEF='backDoorClockClosecycleInterval='2'/>
438 
                         <!-- ROUTE information for backDoorPathClose node:  [from backDoorClockClose.fraction_changed to set_fraction ] [from value_changed to backDoor.set_rotation ] -->
                         <OrientationInterpolator DEF='backDoorPathClosekey='0 0.34 0.68 1keyValue='0 1 0 2.1 0 1 0 1.4 0 1 0 0.7 0 1 0 0'/>
439 
                         <!-- ROUTE information for backDoorTouchClose node:  [from touchTime to backDoorClockClose.set_startTime ] -->
                         <TouchSensor DEF='backDoorTouchClosedescription='touch to close'/>
440                           < ROUTE  fromNode='backDoorTouchClose' fromField='touchTime' toNode='backDoorClockClose' toField='set_startTime'/>
441                           < ROUTE  fromNode='backDoorClockClose' fromField='fraction_changed' toNode='backDoorPathClose' toField='set_fraction'/>
442                           < ROUTE  fromNode='backDoorPathClose' fromField='value_changed' toNode='backDoor' toField='set_rotation'/>
443                      </Transform>
444                 </Transform>
445                 <Transform DEF='backsidewall4translation='1.75 2 -9'>
446                      <Shape>
447                           <Box size='2.5 4 0.1'/>
448                           <Appearance USE='wall_ap'/>
449                      </Shape>
450                 </Transform>
451                 <Transform DEF='backwall41translation='3.25 0.75 -9'>
452                      <Shape>
453                           <Box size='0.5 1.5 0.1'/>
454                           <Appearance USE='wall_ap'/>
455                      </Shape>
456                 </Transform>
457                 <Transform DEF='backwall42translation='3.25 3 -9'>
458                      <Shape>
459                           <Box size='0.5 2 0.1'/>
460                           <Appearance USE='wall_ap'/>
461                      </Shape>
462                 </Transform>
463                 <Transform DEF='backwall5translation='4 2 -9'>
464                      <Shape>
465                           <Box size='1 4 0.1'/>
466                           <Appearance USE='wall_ap'/>
467                      </Shape>
468                 </Transform>
469 
               <!-- ROUTE information for backsideWindow1 node:  [from backWindow1Pos.value_changed to set_translation ] [from backWindow1Pos2.value_changed to set_translation ] -->
               <Transform DEF='backsideWindow1translation='-2.5 1.5 -9.05'>
470                      <Shape DEF='backWindow1'>
471                           <Box size='1 1 0.075'/>
472                           <Appearance USE='windowApp'/>
473                      </Shape>
474                 </Transform>
475                 <Transform translation='-1.9 1.7 -8.9'>
476                      <Shape DEF='backWindow1KnubOpen'>
477                           <Sphere DEF='backWindow1Knubradius='0.05'/>
478                           <Appearance>
479                                <Material/>
480                           </Appearance>
481                      </Shape>
482 
                    <!-- ROUTE information for backWindow1Clock node:  [from backWindow1Open.touchTime to set_startTime ] [from fraction_changed to backWindow1Pos.set_fraction ] -->
                    <TimeSensor DEF='backWindow1Clock'/>
483 
                    <!-- ROUTE information for backWindow1Pos node:  [from backWindow1Clock.fraction_changed to set_fraction ] [from value_changed to backsideWindow1.set_translation ] -->
                    <PositionInterpolator DEF='backWindow1Poskey='0 0.5 1keyValue='-2.5 1.5 -9.05 -2.75 1.5 -9.05 -3 1.5 -9.05'/>
484 
                    <!-- ROUTE information for backWindow1Open node:  [from touchTime to backWindow1Clock.set_startTime ] -->
                    <TouchSensor DEF='backWindow1Opendescription='touch to open'/>
485                      < ROUTE  fromNode='backWindow1Open' fromField='touchTime' toNode='backWindow1Clock' toField='set_startTime'/>
486                      < ROUTE  fromNode='backWindow1Clock' fromField='fraction_changed' toNode='backWindow1Pos' toField='set_fraction'/>
487                      < ROUTE  fromNode='backWindow1Pos' fromField='value_changed' toNode='backsideWindow1' toField='set_translation'/>
488                 </Transform>
489                 <Transform translation='-1.9 1.3 -8.9'>
490                      <Shape DEF='backWindow1KnubClose'>
491                           <Sphere DEF='backWindow1Knub2radius='0.05'/>
492                           <Appearance>
493                                <Material/>
494                           </Appearance>
495                      </Shape>
496 
                    <!-- ROUTE information for backWindow1Clock2 node:  [from backWindow1Close.touchTime to set_startTime ] [from fraction_changed to backWindow1Pos2.set_fraction ] -->
                    <TimeSensor DEF='backWindow1Clock2'/>
497 
                    <!-- ROUTE information for backWindow1Pos2 node:  [from backWindow1Clock2.fraction_changed to set_fraction ] [from value_changed to backsideWindow1.set_translation ] -->
                    <PositionInterpolator DEF='backWindow1Pos2key='0 0.5 1keyValue='-3 1.5 -9.05 -2.75 1.5 -9.05 -2.5 1.5 -9.05'/>
498 
                    <!-- ROUTE information for backWindow1Close node:  [from touchTime to backWindow1Clock2.set_startTime ] -->
                    <TouchSensor DEF='backWindow1Closedescription='touch to close'/>
499                      < ROUTE  fromNode='backWindow1Close' fromField='touchTime' toNode='backWindow1Clock2' toField='set_startTime'/>
500                      < ROUTE  fromNode='backWindow1Clock2' fromField='fraction_changed' toNode='backWindow1Pos2' toField='set_fraction'/>
501                      < ROUTE  fromNode='backWindow1Pos2' fromField='value_changed' toNode='backsideWindow1' toField='set_translation'/>
502                 </Transform>
503 
               <!-- ROUTE information for backsideWindow2 node:  [from backWindow2Pos.value_changed to set_translation ] [from backWindow2Pos2.value_changed to set_translation ] -->
               <Transform DEF='backsideWindow2translation='3.25 1.75 -9.05'>
504                      <Shape DEF='backWindow2'>
505                           <Box size='0.5 0.5 0.075'/>
506                           <Appearance USE='windowApp'/>
507                      </Shape>
508                 </Transform>
509                 <Transform translation='3.6 1.9 -8.9'>
510                      <Shape DEF='backWindow2KnubOpen'>
511                           <Sphere DEF='backWindow2Knubradius='0.05'/>
512                           <Appearance>
513                                <Material/>
514                           </Appearance>
515                      </Shape>
516 
                    <!-- ROUTE information for backWindow2Clock node:  [from backWindow2Open.touchTime to set_startTime ] [from fraction_changed to backWindow2Pos.set_fraction ] -->
                    <TimeSensor DEF='backWindow2Clock'/>
517 
                    <!-- ROUTE information for backWindow2Pos node:  [from backWindow2Clock.fraction_changed to set_fraction ] [from value_changed to backsideWindow2.set_translation ] -->
                    <PositionInterpolator DEF='backWindow2Poskey='0 0.5 1keyValue='3.25 1.75 -9.05 3.125 1.75 -9.05 3 1.75 -9.05'/>
518 
                    <!-- ROUTE information for backWindow2Open node:  [from touchTime to backWindow2Clock.set_startTime ] -->
                    <TouchSensor DEF='backWindow2Opendescription='touch to open'/>
519                      < ROUTE  fromNode='backWindow2Open' fromField='touchTime' toNode='backWindow2Clock' toField='set_startTime'/>
520                      < ROUTE  fromNode='backWindow2Clock' fromField='fraction_changed' toNode='backWindow2Pos' toField='set_fraction'/>
521                      < ROUTE  fromNode='backWindow2Pos' fromField='value_changed' toNode='backsideWindow2' toField='set_translation'/>
522                 </Transform>
523                 <Transform translation='3.6 1.6 -8.9'>
524                      <Shape DEF='backWindow2KnubClose'>
525                           <Sphere DEF='backWindow2Knub2radius='0.05'/>
526                           <Appearance>
527                                <Material/>
528                           </Appearance>
529                      </Shape>
530 
                    <!-- ROUTE information for backWindow2Clock2 node:  [from backWindow2Close.touchTime to set_startTime ] [from fraction_changed to backWindow2Pos2.set_fraction ] -->
                    <TimeSensor DEF='backWindow2Clock2'/>
531 
                    <!-- ROUTE information for backWindow2Pos2 node:  [from backWindow2Clock2.fraction_changed to set_fraction ] [from value_changed to backsideWindow2.set_translation ] -->
                    <PositionInterpolator DEF='backWindow2Pos2key='0 0.5 1keyValue='3 1.75 -9.05 3.125 1.75 -9.05 3.25 1.75 -9.05'/>
532 
                    <!-- ROUTE information for backWindow2Close node:  [from touchTime to backWindow2Clock2.set_startTime ] -->
                    <TouchSensor DEF='backWindow2Closedescription='touch to close'/>
533                      < ROUTE  fromNode='backWindow2Close' fromField='touchTime' toNode='backWindow2Clock2' toField='set_startTime'/>
534                      < ROUTE  fromNode='backWindow2Clock2' fromField='fraction_changed' toNode='backWindow2Pos2' toField='set_fraction'/>
535                      < ROUTE  fromNode='backWindow2Pos2' fromField='value_changed' toNode='backsideWindow2' toField='set_translation'/>
536                 </Transform>
537 
               <!-- ROUTE information for bathroomDoor node:  [from bathroomDoorPathOpen.value_changed to set_rotation ] [from bathroomDoorPathClose.value_changed to set_rotation ] -->
               <Transform DEF='bathroomDoorcenter='-0.5 0 0rotation='0 1 0 1.57translation='1.5 1 -6.75'>
538                      <Shape USE='door'/>
539                      <Transform translation='0.4 0 -0.05'>
540                           <Shape DEF='bathroomDoorknubOut'>
541                                <Sphere DEF='bathroomDoorKnubradius='0.05'/>
542                                <Appearance USE='knub_ap'/>
543                           </Shape>
544 
                         <!-- ROUTE information for bathroomDoorClock node:  [from bathroomDoorTouchOpen.touchTime to set_startTime ] [from fraction_changed to bathroomDoorPathOpen.set_fraction ] -->
                         <TimeSensor DEF='bathroomDoorClockcycleInterval='3'/>
545 
                         <!-- ROUTE information for bathroomDoorPathOpen node:  [from bathroomDoorClock.fraction_changed to set_fraction ] [from value_changed to bathroomDoor.set_rotation ] -->
                         <OrientationInterpolator DEF='bathroomDoorPathOpenkey='0 0.34 0.68 1keyValue='0 1 0 1.57 0 1 0 2.2 0 1 0 2.9 0 1 0 3.25'/>
546 
                         <!-- ROUTE information for bathroomDoorTouchOpen node:  [from touchTime to bathroomDoorClock.set_startTime ] -->
                         <TouchSensor DEF='bathroomDoorTouchOpendescription='touch to open'/>
547                           < ROUTE  fromNode='bathroomDoorTouchOpen' fromField='touchTime' toNode='bathroomDoorClock' toField='set_startTime'/>
548                           < ROUTE  fromNode='bathroomDoorClock' fromField='fraction_changed' toNode='bathroomDoorPathOpen' toField='set_fraction'/>
549                           < ROUTE  fromNode='bathroomDoorPathOpen' fromField='value_changed' toNode='bathroomDoor' toField='set_rotation'/>
550                      </Transform>
551                      <Transform translation='0.4 0 0.05'>
552                           <Shape USE='knubOut'/>
553 
                         <!-- ROUTE information for bathroomDoorClockClose node:  [from bathroomDoorTouchClose.touchTime to set_startTime ] [from fraction_changed to bathroomDoorPathClose.set_fraction ] -->
                         <TimeSensor DEF='bathroomDoorClockClosecycleInterval='2'/>
554 
                         <!-- ROUTE information for bathroomDoorPathClose node:  [from bathroomDoorClockClose.fraction_changed to set_fraction ] [from value_changed to bathroomDoor.set_rotation ] -->
                         <OrientationInterpolator DEF='bathroomDoorPathClosekey='0 0.34 0.68 1keyValue='0 1 0 3.25 0 1 0 2.9 0 1 0 2.2 0 1 0 1.57'/>
555 
                         <!-- ROUTE information for bathroomDoorTouchClose node:  [from touchTime to bathroomDoorClockClose.set_startTime ] -->
                         <TouchSensor DEF='bathroomDoorTouchClosedescription='touch to close'/>
556                           < ROUTE  fromNode='bathroomDoorTouchClose' fromField='touchTime' toNode='bathroomDoorClockClose' toField='set_startTime'/>
557                           < ROUTE  fromNode='bathroomDoorClockClose' fromField='fraction_changed' toNode='bathroomDoorPathClose' toField='set_fraction'/>
558                           < ROUTE  fromNode='bathroomDoorPathClose' fromField='value_changed' toNode='bathroomDoor' toField='set_rotation'/>
559                      </Transform>
560                 </Transform>
561            </Group>
562            <Group DEF='floorandceiling'>
563                 <Transform DEF='floortranslation='0 0.1 -4.5'>
564 
                    <!-- Shape floorshape is a DEF node that has 1 USE node: USE_1 -->
                    <Shape DEF='floorshape'>
565                           <Box size='9 0.1 9'/>
566                           <Appearance DEF='floorapp'>
567                                <Material diffuseColor='0.9 0.7 0.6'/>
568                           </Appearance>
569                      </Shape>
570                      <Transform translation='0 3.8 0'>
571                           <Shape USE='floorshape'/>
572                      </Transform>
573                 </Transform>
574                 <Transform DEF='rooftranslation='0 4 -4.5'>
575                      <Inline   url=' "Roof.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Roof.x3d" "Roof.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Roof.wrl" '/>
576                 </Transform>
577            </Group>
578            <Viewpoint DEF='point1description='diagonalorientation='-0.68 -0.72 -0.13 0.52position='-10 8 25'/>
579            <Transform>
580                 <Background DEF='backgrgroundAngle='1.309 1.570796groundColor='0.1 0.1 0 0.4 0.25 0.2 0.6 0.6 0.6skyAngle='1.309 1.571skyColor='0 0.2 0.7 0 0.5 1 1 1 1'/>
581            </Transform>
582            <Viewpoint description='frontposition='0 3 10'/>
583            <Viewpoint description='insideorientation='0 1 0 3.14position='2 1.5 -5'/>
584            <Group>
585                 <Transform DEF='lawnAndTreerotation='0 1 0 -0.785'>
586                      <Inline   url=' "Tree.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Tree.x3d" "Tree.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Tree.wrl" '/>
587                 </Transform>
588                 <Transform DEF='chair1rotation='0 1 0 1.3scale='0.5 0.5 0.5translation='-3.5 0.1 -2'>
589 
                    <!-- Inline chair is a DEF node that has 1 USE node: USE_1 -->
                    <Inline DEF='chair'   url=' "Chair.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Chair.x3d" "Chair.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Chair.wrl" '/>
590                 </Transform>
591                 <Transform DEF='chair2rotation='0 1 0 -1.3scale='0.5 0.5 0.5translation='-2 0.1 -2'>
592                      <Inline USE='chair'/>
593                 </Transform>
594                 <Transform DEF='tablescale='0.5 0.5 0.5translation='-2.75 0.2 -2'>
595                      <Inline   url=' "Table.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Table.x3d" "Table.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Table.wrl" '/>
596                 </Transform>
597            </Group>
598            <Transform DEF='lawnrotation='1 0 0 1.57translation='0 0 -4.5'>
599                 <Shape DEF='garden'>
600                      <Box size='30 30 0.1'/>
601                      <Appearance>
602                           <Material diffuseColor='0.2 0.8 0.1'/>
603                      </Appearance>
604                 </Shape>
605            </Transform>
606            <Group DEF='innerWalls'>
607                 <Transform translation='-2.75 2 -5.5'>
608 
                    <!-- Shape left is a DEF node that has 1 USE node: USE_1 -->
                    <Shape DEF='left'>
609                           <Box size='3.5 4 0.1'/>
610                           <Appearance USE='wall_ap'/>
611                      </Shape>
612                 </Transform>
613                 <Transform translation='2.75 2 -5.5'>
614                      <Shape USE='left'/>
615                 </Transform>
616                 <Transform rotation='0 1 0 1.57translation='-1 3 -7.25'>
617                      <Shape>
618                           <Box size='3.5 2 0.1'/>
619                           <Appearance USE='wall_ap'/>
620                      </Shape>
621                      <Transform translation='1.125 -2 0'>
622                           <Shape>
623                                <Box size='1.25 2 0.1'/>
624                                <Appearance USE='wall_ap'/>
625                           </Shape>
626                      </Transform>
627                      <Transform translation='-1.125 -2 0'>
628                           <Shape>
629                                <Box size='1.25 2 0.1'/>
630                                <Appearance USE='wall_ap'/>
631                           </Shape>
632                      </Transform>
633                 </Transform>
634                 <Transform rotation='0 1 0 1.57translation='1 3 -7.25'>
635 
                    <!-- Shape up is a DEF node that has 1 USE node: USE_1 -->
                    <Shape DEF='up'>
636                           <Box size='3.5 2 0.1'/>
637                           <Appearance USE='wall_ap'/>
638                      </Shape>
639                      <Transform translation='1.125 -2 0'>
640                           <Shape>
641                                <Box size='1.25 2 0.1'/>
642                                <Appearance USE='wall_ap'/>
643                           </Shape>
644                      </Transform>
645                      <Transform translation='-1.125 -2 0'>
646                           <Shape>
647                                <Box size='1.25 2 0.1'/>
648                                <Appearance USE='wall_ap'/>
649                           </Shape>
650                      </Transform>
651                 </Transform>
652                 <Transform translation='-2.75 3 -3.5'>
653                      <Shape USE='up'/>
654                 </Transform>
655                 <Transform translation='-2.75 0.45 -3.75'>
656                      <Shape>
657                           <Box size='3.5 0.9 0.5'/>
658                           <Appearance USE='wall_ap'/>
659                      </Shape>
660                      <Transform translation='0 0.5 0'>
661                           <Shape>
662                                <Box size='3.5 0.1 0.5'/>
663                                <Appearance>
664                                     <ImageTexture USE='wood'/>
665                                     <Material diffuseColor='0.8 0.5 0'/>
666                                </Appearance>
667                           </Shape>
668                      </Transform>
669                 </Transform>
670                 <Transform rotation='0 1 0 1.57translation='-1 3 -4.5'>
671                      <Shape>
672                           <Box size='2 2 0.1'/>
673                           <Appearance USE='wall_ap'/>
674                      </Shape>
675                 </Transform>
676                 <Transform rotation='0 1 0 1.57translation='-1 1 -5.25'>
677                      <Shape>
678                           <Box size='0.5 2 0.1'/>
679                           <Appearance USE='wall_ap'/>
680                      </Shape>
681                 </Transform>
682                 <Transform translation='-4 0 -4.75'>
683                      <Shape>
684                           <Appearance USE='wall_ap'/>
685                           <Extrusion crossSection='-0.5 -0.75 0.5 -0.75 0.5 0.75 -0.5 0.75 -0.5 -0.75spine='0 0 0 0 0.9 0'/>
686                      </Shape>
687                      <Transform rotation='0 1 0 1.57scale='0.5 0.5 0.5translation='0.07 0.78 0'>
688 
                         <!-- Inline BASIN is a DEF node that has 1 USE node: USE_1 -->
                         <Inline DEF='BASIN'   url=' "Basin.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Basin.x3d" "Basin.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Basin.wrl" '/>
689                      </Transform>
690                      <Transform rotation='0 1 0 1.57translation='0.5 0.1 0.02'>
691 
                         <!-- Inline Cover is a DEF node that has 1 USE node: USE_1 -->
                         <Inline DEF='Cover'   url=' "Cover.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Cover.x3d" "Cover.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Cover.wrl" '/>
692                      </Transform>
693                 </Transform>
694                 <Transform scale='0.5 0.8 0.5translation='-1.2 0.2 -4.9'>
695                      <Inline   url=' "Refrigerator.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Refrigerator.x3d" "Refrigerator.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Refrigerator.wrl" '/>
696                 </Transform>
697                 <Transform rotation='0 1 0 1.57scale='0.3 0.3 0.3translation='-2.5 0.1 -8.3'>
698                      <Inline   url=' "BedFrame.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/BedFrame.x3d" "BedFrame.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/BedFrame.wrl" '/>
699                      <Transform rotation='0 1 0 1.57scale='3 3 3.5translation='1.75 1 0'>
700                           <Inline   url=' "Bed.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Bed.x3d" "Bed.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Bed.wrl" '/>
701                           <Transform rotation='0 1 0 1.57scale='0.1 0.1 0.1translation='0.5 0.5 -2'>
702                                <Transform rotation='1 0 0 1.57translation='-12 -1 10'>
703                                     <Inline   url=' "Pillow.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Pillow.x3d" "Pillow.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Pillow.wrl" '/>
704                                </Transform>
705                           </Transform>
706                      </Transform>
707                 </Transform>
708                 <Transform rotation='0 1 0 -1.57translation='3.3 0.2 -6.1'>
709                      <Inline   url=' "Bathtub.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Bathtub.x3d" "Bathtub.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Bathtub.wrl" '/>
710                 </Transform>
711                 <Transform rotation='0 1 0 -1.57translation='1.8 0.1 -8.5'>
712                      <Transform rotation='0 1 0 1.57scale='0.5 0.5 0.5translation='0.07 0.78 0'>
713                           <Inline USE='BASIN'/>
714                      </Transform>
715                      <Transform rotation='0 1 0 1.57translation='0.5 0.1 0.02'>
716                           <Inline USE='Cover'/>
717                      </Transform>
718                      <Transform rotation='0 1 0 1.57translation='0.05 0.5 -0.7'>
719                           <Shape>
720                                <Box size='0.1 0.8 0.9'/>
721                                <Appearance>
722                                     <ImageTexture USE='wood'/>
723                                     <Material diffuseColor='0.8 0.6 0'/>
724                                </Appearance>
725                           </Shape>
726                      </Transform>
727                      <Transform rotation='0 1 0 1.57translation='0.05 0.5 0.725'>
728                           <Shape>
729                                <Box size='0.1 0.8 0.9'/>
730                                <Appearance>
731                                     <ImageTexture USE='wood'/>
732                                     <Material diffuseColor='0.8 0.6 0'/>
733                                </Appearance>
734                           </Shape>
735                      </Transform>
736                 </Transform>
737                 <Transform rotation='0 0 1 1.57scale='0.25 0.25 0.25translation='3.5 0.25 -8.2'>
738                      <Inline   url=' "Toilet.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Toilet.x3d" "Toilet.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Toilet.wrl" '/>
739                 </Transform>
740                 <Transform scale='0.6 0.7 0.5translation='-2.2 0.2 -4.9'>
741                      <Inline   url=' "Oven.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Oven.x3d" "Oven.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Oven.wrl" '/>
742                 </Transform>
743                 <Transform rotation='0 1 0 3.14scale='0.7 0.7 0.7translation='1.5 0.2 -2'>
744                      <Inline   url=' "Sofa.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Sofa.x3d" "Sofa.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Sofa.wrl" '/>
745                 </Transform>
746                 <Transform rotation='0 1 0 1.57scale='0.7 0.7 0.7translation='1.5 0.2 -4.2'>
747                      <Inline   url=' "Couch.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Couch.x3d" "Couch.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Couch.wrl" '/>
748                 </Transform>
749                 <Transform rotation='0 1 0 -1.57scale='0.7 0.5 0.7translation='2.7 0.2 -3.5'>
750                      <Inline   url=' "CoffeeTable.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/CoffeeTable.x3d" "CoffeeTable.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/CoffeeTable.wrl" '/>
751                 </Transform>
752                 <Transform translation='3.75 0 6.75'>
753 
                    <!-- Inline fence is a DEF node that has 10 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6, USE_7, USE_8, USE_9, USE_10 -->
                    <Inline DEF='fence'   url=' "Fence.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Fence.x3d" "Fence.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/Fence.wrl" '/>
754                 </Transform>
755                 <!-- inadvertant deletion here? -->
756                 <Transform translation='-11.25 0 6.75'>
757                      <Inline USE='fence'/>
758                 </Transform>
759                 <Transform rotation='0 1 0 1.57translation='-11.375 0 6.625'>
760                      <Inline USE='fence'/>
761                 </Transform>
762                 <Transform rotation='0 1 0 1.57translation='-11.375 0 -0.875'>
763                      <Inline USE='fence'/>
764                 </Transform>
765                 <Transform rotation='0 1 0 1.57translation='-11.375 0 -8.375'>
766                      <Inline USE='fence'/>
767                 </Transform>
768                 <Transform translation='-11.25 0 -15.875'>
769                      <Inline USE='fence'/>
770                 </Transform>
771                 <Transform translation='-3.75 0 -15.875'>
772                      <Inline USE='fence'/>
773                 </Transform>
774                 <Transform translation='3.75 0 -15.875'>
775                      <Inline USE='fence'/>
776                 </Transform>
777                 <Transform rotation='0 1 0 -1.57translation='11.375 0 -15.875'>
778                      <Inline USE='fence'/>
779                 </Transform>
780                 <Transform rotation='0 1 0 -1.57translation='11.375 0 -8.375'>
781                      <Inline USE='fence'/>
782                 </Transform>
783                 <Transform rotation='0 1 0 -1.57translation='11.375 0 -0.875'>
784                      <Inline USE='fence'/>
785                 </Transform>
786                 <Transform translation='-3.75 0 6.75'>
787                      <Inline   url=' "FenceGate.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/FenceGate.x3d" "FenceGate.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/FenceGate.wrl" '/>
788                 </Transform>
789            </Group>
790            <Viewpoint description='fromLeftorientation='0 1 0 -1.57position='-15 4 -4.5'/>
791            <Viewpoint description='fromBackorientation='0 1 0 3.14position='0 4 -20'/>
792            <Viewpoint description='fromRightorientation='0 1 0 1.57position='15 4 -4.5'/>
793            <Viewpoint description='tableChairsorientation='-0.44 0.9 0.06 0.30position='-2 1.5 -0.2'/>
794            <Viewpoint description='livingRoomorientation='-0.25 0.95 0.17 1.27position='4 3 -0.2'/>
795            <Viewpoint description='bedRoomorientation='0 1 0 0.83position='-1 1.5 -5.8'/>
796            <Viewpoint description='kitchenorientation='-0.12 0.99 0.12 1.59position='-2 1.5 -4.75'/>
797            <Viewpoint description='refrigeratororientation='1 0 0 -0.4position='-1.5 2 -3'/>
798            <Viewpoint description='bathroomorientation='-0.02 -1 -0.06 2.36position='1.5 1.75 -8'/>
799            <Viewpoint description='bathroom basinorientation='-0.68 0.72 0.11 0.44position='2 1.45 -6.5'/>
800            <Viewpoint description='bathroom toiletorientation='-0.32 -0.93 -0.20 1.18position='1.5 1.5 -7'/>
801            <Viewpoint description='livingroom2fieldOfView='1orientation='-0.22 -0.94 -0.25 1.77position='-0.5 2 -3.5'/>
802            <Viewpoint description='corridorfieldOfView='1orientation='0 1 0 -1.57position='-1 1.5 -7.5'/>
803            <Viewpoint description='gateposition='0 1.5 12'/>
804       </Scene>
805  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: backDoor, backDoorClock, backDoorClockClose, backDoorKnub, backDoorknubOut, backDoorPathClose, backDoorPathOpen, backDoorTouchClose, backDoorTouchOpen, backgr, backside, backsidewall1, backsidewall12, backsidewall13, backsidewall2, backsidewall3, backsidewall4, backsideWindow1, backsideWindow2, backwall41, backwall42, backwall5, backWindow1, backWindow1Clock, backWindow1Clock2, backWindow1Close, backWindow1Knub, backWindow1Knub2, backWindow1KnubClose, backWindow1KnubOpen, backWindow1Open, backWindow1Pos, backWindow1Pos2, backWindow2, backWindow2Clock, backWindow2Clock2, backWindow2Close, backWindow2Knub, backWindow2Knub2, backWindow2KnubClose, backWindow2KnubOpen, backWindow2Open, backWindow2Pos, backWindow2Pos2, BASIN, bathroomDoor, bathroomDoorClock, bathroomDoorClockClose, bathroomDoorKnub, bathroomDoorknubOut, bathroomDoorPathClose, bathroomDoorPathOpen, bathroomDoorTouchClose, bathroomDoorTouchOpen, bell, bellap, chair, chair1, chair2, Clock, ClockClose, Cover, DOOR, door, doorbell, doorKnub, doorPathClose, doorPathOpen, fence, floor, floorandceiling, floorapp, floorshape, front, garden, innerWalls, knub_ap, knubOut, lawn, lawnAndTree, left, leftside, leftsidewall1, leftsidewall11, leftsidewall12, leftsidewall2, leftsidewall21, leftsidewall22, leftsidewall3, leftsidewall31, leftsidewall32, leftsidewall4, leftWindow1, leftWindow1Clock, leftWindow1Clock2, leftWindow1Close, leftWindow1Knub, leftWindow1Knub2, leftWindow1KnubClose, leftWindow1KnubOpen, leftWindow1Open, leftWindow1Pos, leftWindow1Pos2, leftWindow2, leftWindow2Clock, leftWindow2Clock2, leftWindow2Close, leftWindow2Knub, leftWindow2Knub2, leftWindow2KnubClose, leftWindow2KnubOpen, leftWindow2Open, leftWindow2Pos, leftWindow2Pos2, leftWindow3, leftWindow3Clock, leftWindow3Clock2, leftWindow3Close, leftWindow3Knub, leftWindow3Knub2, leftWindow3KnubClose, leftWindow3KnubOpen, leftWindow3Open, leftWindow3Pos, leftWindow3Pos2, leftWindowOne, leftWindowThree, leftWindowTwo, part1, part11, part12, part13, part21, part3, part31, part32, part33, point1, rightside, rightsidewall1, rightsidewall11, rightsidewall12, rightsidewall2, rightsidewall21, rightsidewall22, rightsidewall23, rightsidewall3, rightsidewall31, rightsidewall4, rightWindow1, rightWindow1Clock, rightWindow1Clock2, rightWindow1Close, rightWindow1Knub, rightWindow1Knub2, rightWindow1KnubClose, rightWindow1KnubOpen, rightWindow1Open, rightWindow1Pos, rightWindow1Pos2, rightWindow2, rightWindow2Clock, rightWindow2Clock2, rightWindow2Close, rightWindow2Knub, rightWindow2Knub2, rightWindow2KnubClose, rightWindow2KnubOpen, rightWindow2Open, rightWindow2Pos, rightWindow2Pos2, rightWindow3, rightWindowOne, rightWindowThree, rightWindowTwo, roof, table, touchClose, touchOpen, up, wall_ap, wall1, wall11, wall12, wall13, wall2, wall3, wall31, wall32, wall33, WINDOW1, window1, window1Knub, window1knubopen, WINDOW2, window2, window2Knub, window2knubopen, window2Slide, windowApp, windowSlide, wood

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3, Viewpoint_4, Viewpoint_5, Viewpoint_6, Viewpoint_7, Viewpoint_8, Viewpoint_9, Viewpoint_10, Viewpoint_11, Viewpoint_12, Viewpoint_13, Viewpoint_14, Viewpoint_15, Viewpoint_16, point1
-->
X3D Tooltips element index: Appearance, AudioClip, Background, Box, Extrusion, Group, head, ImageTexture, Inline, Material, meta, OrientationInterpolator, PlaneSensor, PositionInterpolator, ROUTE, Scene, Shape, Sound, Sphere, TimeSensor, TouchSensor, Transform, Viewpoint, WorldInfo, X3D, plus documentation for accessType definitions, type definitions, XML data types, and field types

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

backDoorTouchClose
TouchSensor
touchTime
SFTime

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

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

ROUTE
event to
(3)
backDoor
Transform
set_rotation
SFRotation

backDoorTouchOpen
TouchSensor
touchTime
SFTime

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

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

ROUTE
event to
(3)
backDoor
Transform
set_rotation
SFRotation

backWindow1Close
TouchSensor
touchTime
SFTime

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

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

ROUTE
event to
(3)
backsideWindow1
Transform
set_translation
SFVec3f

backWindow1Open
TouchSensor
touchTime
SFTime

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

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

ROUTE
event to
(3)
backsideWindow1
Transform
set_translation
SFVec3f

backWindow2Close
TouchSensor
touchTime
SFTime

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

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

ROUTE
event to
(3)
backsideWindow2
Transform
set_translation
SFVec3f

backWindow2Open
TouchSensor
touchTime
SFTime

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

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

ROUTE
event to
(3)
backsideWindow2
Transform
set_translation
SFVec3f

bathroomDoorTouchClose
TouchSensor
touchTime
SFTime

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

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

ROUTE
event to
(3)
bathroomDoor
Transform
set_rotation
SFRotation

bathroomDoorTouchOpen
TouchSensor
touchTime
SFTime

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

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

ROUTE
event to
(3)
bathroomDoor
Transform
set_rotation
SFRotation

bell
TouchSensor
touchTime
SFTime

ROUTE
event to
(1)
doorbell
AudioClip
set_startTime
SFTime

leftWindow1Close
TouchSensor
touchTime
SFTime

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

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

ROUTE
event to
(3)
leftWindow1
Transform
set_translation
SFVec3f

leftWindow1Open
TouchSensor
touchTime
SFTime

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

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

ROUTE
event to
(3)
leftWindow1
Transform
set_translation
SFVec3f

leftWindow2Close
TouchSensor
touchTime
SFTime

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

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

ROUTE
event to
(3)
leftWindow2
Transform
set_translation
SFVec3f

leftWindow2Open
TouchSensor
touchTime
SFTime

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

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

ROUTE
event to
(3)
leftWindow2
Transform
set_translation
SFVec3f

leftWindow3Close
TouchSensor
touchTime
SFTime

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

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

ROUTE
event to
(3)
leftWindow3
Transform
set_translation
SFVec3f

leftWindow3Open
TouchSensor
touchTime
SFTime

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

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

ROUTE
event to
(3)
leftWindow3
Transform
set_translation
SFVec3f

rightWindow1Close
TouchSensor
touchTime
SFTime

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

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

ROUTE
event to
(3)
rightWindow1
Transform
set_translation
SFVec3f

rightWindow1Open
TouchSensor
touchTime
SFTime

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

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

ROUTE
event to
(3)
rightWindow1
Transform
set_translation
SFVec3f

rightWindow2Close
TouchSensor
touchTime
SFTime

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

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

ROUTE
event to
(3)
rightWindow2
Transform
set_translation
SFVec3f

rightWindow2Open
TouchSensor
touchTime
SFTime

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

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

ROUTE
event to
(3)
rightWindow2
Transform
set_translation
SFVec3f

touchClose
TouchSensor
touchTime
SFTime

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

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

ROUTE
event to
(3)
DOOR
Transform
set_rotation
SFRotation

touchOpen
TouchSensor
touchTime
SFTime

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

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

ROUTE
event to
(3)
DOOR
Transform
set_rotation
SFRotation

window2Slide
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
WINDOW2
Transform
set_translation
SFVec3f

windowSlide
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
WINDOW1
Transform
set_translation
SFVec3f


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/Savage/Buildings/HouseBarisAktop/HouseIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Savage/Buildings/HouseBarisAktop/House.x3d -->

<!-- Color-coding legend: X3D terminology <X3dNode  DEF='idNamefield='value'/> matches XML terminology <XmlElement  DEF='idNameattribute='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. -->