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='title' content='House.x3d'/> |
6 | <meta name='description' content='Final Project MV4204'/> |
7 | <meta name='creator' content='Seksit Siripala'/> |
8 | <meta name='created' content='5 September 2002'/> |
9 | <meta name='modified' content='20 October 2019'/> |
10 | <meta name='identifier' content='https://savage.nps.edu/Savage/Buildings/HouseSeksitSiripala/House.x3d'/> |
11 | <meta name='generator' content='X3D-Edit 3.2, https://savage.nps.edu/X3D-Edit'/> |
12 | <meta name='license' content='../../license.html'/> |
13 | </head> |
14 | <Scene> |
15 | <WorldInfo title='House.x3d'/> |
16 | <Transform> |
17 | <Background groundAngle='1.309 1.570796' groundColor='0.1 0.1 0 0.2 0.6 0.4 0.2 0.7 0.3' skyAngle='1.309 1.571' skyColor='0 0.2 0.7 0 0.5 1 1 1 1' backUrl=' "mountns.png " "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/mountns.png " ' frontUrl=' "mountns.png " "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/mountns.png " ' leftUrl=' "mountns.png " "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/mountns.png " ' rightUrl=' "mountns.png " "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/mountns.png " '/> |
18 | </Transform> |
19 | <Viewpoint description='front' orientation='0 1 0 -0.57' position='-15 3 25'/> |
20 | <Viewpoint description='fromLeft' orientation='0.07 1 0.07 -1.3' position='-15 4 -2.5'/> |
21 | <Viewpoint description='fromRight' orientation='0 1 0 1.57' position='35 4 2.5'/> |
22 | <Viewpoint description='inside1' orientation='0 1 0 1.20' position='8.9 2.0 -3.2'/> |
23 | <Viewpoint description='inside2' orientation='0 1 0 0.50' position='-0.15 1.3 -7.5'/> |
24 | <Group DEF='Front1'> |
25 | <Transform DEF='wall1' translation='-2.0 1 -3.0'> |
26 | <Shape DEF='part1'> |
27 | <Box size='2 2 0.1'/> |
28 |
<!-- Appearance
wallAppearance is a DEF node that has 55 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, USE_25, USE_26, USE_27, USE_28, USE_29, USE_30, USE_31, USE_32, USE_33, USE_34, USE_35, USE_36, USE_37, USE_38, USE_39, USE_40, USE_41, USE_42, USE_43, USE_44, USE_45, USE_46, USE_47, USE_48, USE_49, USE_50, USE_51, USE_52, USE_53, USE_54, USE_55 -->
<Appearance DEF='wallAppearance'> |
29 | <Material/> |
30 |
<!-- ImageTexture
yellowBrick is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 --> <ImageTexture DEF='yellowBrick' url=' "yellowBrick.jpg " "https://savage.nps.edu/Savage/Buildings/HouseSeksitSiripala/yellowBrick.jpg " '/> |
31 | </Appearance> |
32 | </Shape> |
33 | </Transform> |
34 |
<!-- ROUTE information for DOOR node:
[from doorPathOpen.value_changed to set_rotation
]
[from doorPathClose.value_changed to set_rotation
]
-->
<Transform DEF='DOOR' center='0.5 0 0' translation='-0.5 1 -3.0'> |
35 | <Shape DEF='door'> |
36 | <Box size='1 2 0.1'/> |
37 | <Appearance> |
38 | <Material diffuseColor='0.8 0.5 0'/> |
39 | |
40 | </Appearance> |
41 | </Shape> |
42 | <Transform translation='-0.4 0 0.05'> |
43 | |
44 | <Sphere DEF='doorKnub' radius='0.05'/> |
45 | <Appearance DEF='knub_ap'> |
46 | <Material/> |
47 | </Appearance> |
48 | </Shape> |
49 |
<!-- ROUTE information for Clock node:
[from touchOpen.touchTime to set_startTime
]
[from fraction_changed to doorPathOpen.set_fraction
]
-->
<TimeSensor DEF='Clock' cycleInterval='3'/> |
50 |
<!-- ROUTE information for doorPathOpen node:
[from Clock.fraction_changed to set_fraction
]
[from value_changed to DOOR.set_rotation
]
-->
<OrientationInterpolator DEF='doorPathOpen' key='0 0.34 0.68 1' keyValue='0 1 0 0 0 1 0 -0.7 0 1 0 -1.0 0 1 0 -1.2'/> |
51 |
<!-- ROUTE information for touchOpen node:
[from touchTime to Clock.set_startTime
]
-->
<TouchSensor DEF='touchOpen' description='touch to open'/> |
52 | < ROUTE fromNode='touchOpen' fromField='touchTime' toNode='Clock' toField='set_startTime'/> |
53 | < ROUTE fromNode='Clock' fromField='fraction_changed' toNode='doorPathOpen' toField='set_fraction'/> |
54 | < ROUTE fromNode='doorPathOpen' fromField='value_changed' toNode='DOOR' toField='set_rotation'/> |
55 | </Transform> |
56 | <Transform translation='-0.4 0 -0.05'> |
57 | <Shape USE='knubOut'/> |
58 |
<!-- ROUTE information for ClockClose node:
[from touchClose.touchTime to set_startTime
]
[from fraction_changed to doorPathClose.set_fraction
]
-->
<TimeSensor DEF='ClockClose' cycleInterval='2'/> |
59 |
<!-- ROUTE information for doorPathClose node:
[from ClockClose.fraction_changed to set_fraction
]
[from value_changed to DOOR.set_rotation
]
-->
<OrientationInterpolator DEF='doorPathClose' key='0 0.34 0.68 1' keyValue='0 1 0 -1.2 0 1 0 -1.0 0 1 0 -0.7 0 1 0 0'/> |
60 |
<!-- ROUTE information for touchClose node:
[from touchTime to ClockClose.set_startTime
]
-->
<TouchSensor DEF='touchClose' description='touch to close'/> |
61 | < ROUTE fromNode='touchClose' fromField='touchTime' toNode='ClockClose' toField='set_startTime'/> |
62 | < ROUTE fromNode='ClockClose' fromField='fraction_changed' toNode='doorPathClose' toField='set_fraction'/> |
63 | < ROUTE fromNode='doorPathClose' fromField='value_changed' toNode='DOOR' toField='set_rotation'/> |
64 | </Transform> |
65 | </Transform> |
66 | <Transform DEF='wall2' translation='-1.5 3 -3.0'> |
67 | <Shape DEF='part2'> |
68 | <Box size='3 2 0.1'/> |
69 | <Appearance DEF='wallpart'> |
70 | <Material diffuseColor='0.8 0.8 0.4'/> |
71 | <ImageTexture USE='yellowBrick'/> |
72 | </Appearance> |
73 | </Shape> |
74 | </Transform> |
75 | </Group> |
76 | <Group DEF='Front2'> |
77 | <Transform translation='2.25 3.25 0'> |
78 | <Shape DEF='partFront211'> |
79 | <Box size='4.5 1.5 0.1'/> |
80 | <Appearance USE='wallAppearance'/> |
81 | </Shape> |
82 | </Transform> |
83 | <Transform translation='6.75 3.25 0'> |
84 | <Shape DEF='partFront212'> |
85 | <Box size='4.5 1.5 0.1'/> |
86 | <Appearance USE='wallAppearance'/> |
87 | </Shape> |
88 | </Transform> |
89 | <Transform translation='2.25 0.75 0'> |
90 | <Shape DEF='partFront221'> |
91 | <Box size='4.5 1.5 0.1'/> |
92 | <Appearance USE='wallAppearance'/> |
93 | </Shape> |
94 | </Transform> |
95 | <Transform translation='6.75 0.75 0'> |
96 | <Shape DEF='partFront222'> |
97 | <Box size='4.5 1.5 0.1'/> |
98 | <Appearance USE='wallAppearance'/> |
99 | </Shape> |
100 | </Transform> |
101 | <Transform translation='1.25 2 0'> |
102 | <Shape DEF='partFront231'> |
103 | <Box size='2.5 1 0.1'/> |
104 | <Appearance USE='wallAppearance'/> |
105 | </Shape> |
106 | </Transform> |
107 | <Transform translation='4.5 2 0'> |
108 | <Shape DEF='partFront232'> |
109 | <Box size='2 1 0.1'/> |
110 | <Appearance USE='wallAppearance'/> |
111 | </Shape> |
112 | </Transform> |
113 | <Transform translation='7.75 2 0'> |
114 | <Shape DEF='partFront233'> |
115 | <Box size='2.5 1 0.1'/> |
116 | <Appearance USE='wallAppearance'/> |
117 | </Shape> |
118 | </Transform> |
119 |
<!-- ROUTE information for WINDOW1 node:
[from window1Slide.translation_changed to set_translation
]
-->
<Transform DEF='WINDOW1' translation='3 2 0.05'> |
120 | <Shape DEF='window1'> |
121 | <Box size='1 1 0.075'/> |
122 | <Appearance DEF='windowAppearance'> |
123 | <Material diffuseColor='0.7 0.9 0.9' transparency='0.5'/> |
124 | </Appearance> |
125 | </Shape> |
126 | <Transform translation='0.4 0 -0.1'> |
127 | <Shape DEF='window1knubopen'> |
128 | <Sphere DEF='window1Knub' radius='0.05'/> |
129 | <Appearance> |
130 | <Material/> |
131 | </Appearance> |
132 | </Shape> |
133 | </Transform> |
134 |
<!-- ROUTE information for window1Slide node:
[from translation_changed to WINDOW1.set_translation
]
-->
<PlaneSensor DEF='window1Slide' description='click and drag to move window' maxPosition='3 2' minPosition='2.1 2'/> |
135 | < ROUTE fromNode='window1Slide' fromField='translation_changed' toNode='WINDOW1' toField='set_translation'/> |
136 | </Transform> |
137 |
<!-- ROUTE information for WINDOW2 node:
[from window2Slide.translation_changed to set_translation
]
-->
<Transform DEF='WINDOW2' translation='6 2 0.05'> |
138 | <Shape DEF='window2'> |
139 | <Box size='1 1 0.075'/> |
140 | <Appearance DEF='windowApp'> |
141 | <Material diffuseColor='0.7 0.9 0.9' transparency='0.5'/> |
142 | </Appearance> |
143 | </Shape> |
144 | <Transform translation='0.4 0 -0.1'> |
145 | <Shape DEF='window2knubopen'> |
146 | <Sphere DEF='window2Knub' radius='0.05'/> |
147 | <Appearance> |
148 | <Material/> |
149 | </Appearance> |
150 | </Shape> |
151 | </Transform> |
152 |
<!-- ROUTE information for window2Slide node:
[from translation_changed to WINDOW2.set_translation
]
-->
<PlaneSensor DEF='window2Slide' description='click and drag to move window' maxPosition='6 2' minPosition='5.1 2'/> |
153 | < ROUTE fromNode='window2Slide' fromField='translation_changed' toNode='WINDOW2' toField='set_translation'/> |
154 | </Transform> |
155 | </Group> |
156 | <Group DEF='Right'> |
157 | <Transform DEF='rightwall11' rotation='0 1 0 1.57' translation='9 3.25 -1.5'> |
158 | <Shape DEF='right11'> |
159 | <Box size='3 1.5 0.1'/> |
160 | <Appearance USE='wallAppearance'/> |
161 | </Shape> |
162 | </Transform> |
163 | <Transform DEF='rightwall12' rotation='0 1 0 1.57' translation='9 3.25 -4.5'> |
164 | <Shape DEF='right12'> |
165 | <Box size='3 1.5 0.1'/> |
166 | <Appearance USE='wallAppearance'/> |
167 | </Shape> |
168 | </Transform> |
169 | <Transform DEF='rightwall13' rotation='0 1 0 1.57' translation='9 3.25 -7.5'> |
170 | <Shape DEF='right13'> |
171 | <Box size='3 1.5 0.1'/> |
172 | <Appearance USE='wallAppearance'/> |
173 | </Shape> |
174 | </Transform> |
175 | <Transform DEF='rightwall14' rotation='0 1 0 1.57' translation='9 3.25 -10.5'> |
176 | <Shape DEF='right14'> |
177 | <Box size='3 1.5 0.1'/> |
178 | <Appearance USE='wallAppearance'/> |
179 | </Shape> |
180 | </Transform> |
181 | <Transform DEF='rightwall21' rotation='0 1 0 1.57' translation='9 0.75 -1.5'> |
182 | <Shape DEF='right21'> |
183 | <Box size='3 1.5 0.1'/> |
184 | <Appearance USE='wallAppearance'/> |
185 | </Shape> |
186 | </Transform> |
187 | <Transform DEF='rightwall22' rotation='0 1 0 1.57' translation='9 0.75 -4.5'> |
188 | <Shape DEF='right22'> |
189 | <Box size='3 1.5 0.1'/> |
190 | <Appearance USE='wallAppearance'/> |
191 | </Shape> |
192 | </Transform> |
193 | <Transform DEF='rightwall23' rotation='0 1 0 1.57' translation='9 0.75 -7.5'> |
194 | <Shape DEF='right23'> |
195 | <Box size='3 1.5 0.1'/> |
196 | <Appearance USE='wallAppearance'/> |
197 | </Shape> |
198 | </Transform> |
199 | <Transform DEF='rightwall24' rotation='0 1 0 1.57' translation='9 0.75 -10.5'> |
200 | <Shape DEF='right24'> |
201 | <Box size='3 1.5 0.1'/> |
202 | <Appearance USE='wallAppearance'/> |
203 | </Shape> |
204 | </Transform> |
205 | <Transform DEF='rightwall31' rotation='0 1 0 1.57' translation='9 2 -1.25'> |
206 | <Shape DEF='right31'> |
207 | <Box size='2.5 1 0.1'/> |
208 | <Appearance USE='wallAppearance'/> |
209 | </Shape> |
210 | </Transform> |
211 | <Transform DEF='rightwall32' rotation='0 1 0 1.57' translation='9 2 -4.5'> |
212 | <Shape DEF='right32'> |
213 | <Box size='2 1 0.1'/> |
214 | <Appearance USE='wallAppearance'/> |
215 | </Shape> |
216 | </Transform> |
217 | <Transform DEF='rightwall33' rotation='0 1 0 1.57' translation='9 2 -7.5'> |
218 | <Shape DEF='right33'> |
219 | <Box size='2 1 0.1'/> |
220 | <Appearance USE='wallAppearance'/> |
221 | </Shape> |
222 | </Transform> |
223 | <Transform DEF='rightwall34' rotation='0 1 0 1.57' translation='9 2 -10.75'> |
224 | <Shape DEF='right34'> |
225 | <Box size='2.5 1 0.1'/> |
226 | <Appearance USE='wallAppearance'/> |
227 | </Shape> |
228 | </Transform> |
229 |
<!-- ROUTE information for RIGHTWINDOW1 node:
[from rightWindow1Pos.value_changed to set_translation
]
[from rightWindow1Pos2.value_changed to set_translation
]
-->
<Transform DEF='RIGHTWINDOW1' rotation='0 1 0 1.57' translation='9 2 -3'> |
230 | <Shape DEF='rightwindow1'> |
231 | <Box size='1 1 0.075'/> |
232 | <Appearance> |
233 | <Material diffuseColor='0.7 0.9 0.9' transparency='0.5'/> |
234 | </Appearance> |
235 | </Shape> |
236 | <Transform translation='-0.4 0 -0.1'> |
237 | <Shape DEF='rightWindow1KnubOpen'> |
238 | <Sphere DEF='rightWindow1KnubO' radius='0.05'/> |
239 | <Appearance> |
240 | <Material/> |
241 | </Appearance> |
242 | </Shape> |
243 |
<!-- ROUTE information for rightWindow1Clock node:
[from rightWindow1Open.touchTime to set_startTime
]
[from fraction_changed to rightWindow1Pos.set_fraction
]
-->
<TimeSensor DEF='rightWindow1Clock'/> |
244 |
<!-- ROUTE information for rightWindow1Pos node:
[from rightWindow1Clock.fraction_changed to set_fraction
]
[from value_changed to RIGHTWINDOW1.set_translation
]
-->
<PositionInterpolator DEF='rightWindow1Pos' key='0 0.5 1' keyValue='9 2 -3 9 2 -3.5 9 2 -3.9'/> |
245 |
<!-- ROUTE information for rightWindow1Open node:
[from touchTime to rightWindow1Clock.set_startTime
]
-->
<TouchSensor DEF='rightWindow1Open' description='touch to open'/> |
246 | < ROUTE fromNode='rightWindow1Open' fromField='touchTime' toNode='rightWindow1Clock' toField='set_startTime'/> |
247 | < ROUTE fromNode='rightWindow1Clock' fromField='fraction_changed' toNode='rightWindow1Pos' toField='set_fraction'/> |
248 | < ROUTE fromNode='rightWindow1Pos' fromField='value_changed' toNode='RIGHTWINDOW1' toField='set_translation'/> |
249 | </Transform> |
250 | <Transform translation='-0.4 -0.2 -0.1'> |
251 | <Shape DEF='rightWindow1KnubClose'> |
252 | <Sphere DEF='rightWindow1Knub1' radius='0.05'/> |
253 | <Appearance> |
254 | <Material/> |
255 | </Appearance> |
256 | </Shape> |
257 |
<!-- ROUTE information for rightWindow1Clock2 node:
[from rightWindow1Close.touchTime to set_startTime
]
[from fraction_changed to rightWindow1Pos2.set_fraction
]
-->
<TimeSensor DEF='rightWindow1Clock2'/> |
258 |
<!-- ROUTE information for rightWindow1Pos2 node:
[from rightWindow1Clock2.fraction_changed to set_fraction
]
[from value_changed to RIGHTWINDOW1.set_translation
]
-->
<PositionInterpolator DEF='rightWindow1Pos2' key='0 0.5 1' keyValue='9 2 -3.9 9 2 -3.5 9 2 -3'/> |
259 |
<!-- ROUTE information for rightWindow1Close node:
[from touchTime to rightWindow1Clock2.set_startTime
]
-->
<TouchSensor DEF='rightWindow1Close' description='touch to close'/> |
260 | < ROUTE fromNode='rightWindow1Close' fromField='touchTime' toNode='rightWindow1Clock2' toField='set_startTime'/> |
261 | < ROUTE fromNode='rightWindow1Clock2' fromField='fraction_changed' toNode='rightWindow1Pos2' toField='set_fraction'/> |
262 | < ROUTE fromNode='rightWindow1Pos2' fromField='value_changed' toNode='RIGHTWINDOW1' toField='set_translation'/> |
263 | </Transform> |
264 | </Transform> |
265 |
<!-- ROUTE information for RIGHTWINDOW2 node:
[from rightWindow2Pos.value_changed to set_translation
]
[from rightWindow2Pos2.value_changed to set_translation
]
-->
<Transform DEF='RIGHTWINDOW2' rotation='0 1 0 1.57' translation='9 2 -6'> |
266 | <Shape DEF='rightwindow2'> |
267 | <Box size='1 1 0.075'/> |
268 | <Appearance> |
269 | <Material diffuseColor='0.7 0.9 0.9' transparency='0.5'/> |
270 | </Appearance> |
271 | </Shape> |
272 | <Transform translation='-0.4 0 -0.1'> |
273 | <Shape DEF='rightWindow2KnubOpen'> |
274 | <Sphere DEF='rightWindow2KnubO' radius='0.05'/> |
275 | <Appearance> |
276 | <Material/> |
277 | </Appearance> |
278 | </Shape> |
279 |
<!-- ROUTE information for rightWindow2Clock node:
[from rightWindow2Open.touchTime to set_startTime
]
[from fraction_changed to rightWindow2Pos.set_fraction
]
-->
<TimeSensor DEF='rightWindow2Clock'/> |
280 |
<!-- ROUTE information for rightWindow2Pos node:
[from rightWindow2Clock.fraction_changed to set_fraction
]
[from value_changed to RIGHTWINDOW2.set_translation
]
-->
<PositionInterpolator DEF='rightWindow2Pos' key='0 0.5 1' keyValue='9 2 -6 9 2 -6.5 9 2 -6.9'/> |
281 |
<!-- ROUTE information for rightWindow2Open node:
[from touchTime to rightWindow2Clock.set_startTime
]
-->
<TouchSensor DEF='rightWindow2Open' description='touch to open'/> |
282 | < ROUTE fromNode='rightWindow2Open' fromField='touchTime' toNode='rightWindow2Clock' toField='set_startTime'/> |
283 | < ROUTE fromNode='rightWindow2Clock' fromField='fraction_changed' toNode='rightWindow2Pos' toField='set_fraction'/> |
284 | < ROUTE fromNode='rightWindow2Pos' fromField='value_changed' toNode='RIGHTWINDOW2' toField='set_translation'/> |
285 | </Transform> |
286 | <Transform translation='-0.4 -0.2 -0.1'> |
287 | <Shape DEF='rightWindow2KnubClose'> |
288 | <Sphere DEF='rightWindow2Knub2' radius='0.05'/> |
289 | <Appearance> |
290 | <Material/> |
291 | </Appearance> |
292 | </Shape> |
293 |
<!-- ROUTE information for rightWindow2Clock2 node:
[from rightWindow2Close.touchTime to set_startTime
]
[from fraction_changed to rightWindow2Pos2.set_fraction
]
-->
<TimeSensor DEF='rightWindow2Clock2'/> |
294 |
<!-- ROUTE information for rightWindow2Pos2 node:
[from rightWindow2Clock2.fraction_changed to set_fraction
]
[from value_changed to RIGHTWINDOW2.set_translation
]
-->
<PositionInterpolator DEF='rightWindow2Pos2' key='0 0.5 1' keyValue='9 2 -6.9 9 2 -6.5 9 2 -6'/> |
295 |
<!-- ROUTE information for rightWindow2Close node:
[from touchTime to rightWindow2Clock2.set_startTime
]
-->
<TouchSensor DEF='rightWindow2Close' description='touch to close'/> |
296 | < ROUTE fromNode='rightWindow2Close' fromField='touchTime' toNode='rightWindow2Clock2' toField='set_startTime'/> |
297 | < ROUTE fromNode='rightWindow2Clock2' fromField='fraction_changed' toNode='rightWindow2Pos2' toField='set_fraction'/> |
298 | < ROUTE fromNode='rightWindow2Pos2' fromField='value_changed' toNode='RIGHTWINDOW2' toField='set_translation'/> |
299 | </Transform> |
300 | </Transform> |
301 |
<!-- ROUTE information for RIGHTWINDOW3 node:
[from rightWindow3Pos.value_changed to set_translation
]
[from rightWindow3Pos2.value_changed to set_translation
]
-->
<Transform DEF='RIGHTWINDOW3' rotation='0 1 0 1.57' translation='9 2 -9'> |
302 | <Shape DEF='rightwindow3'> |
303 | <Box size='1 1 0.075'/> |
304 | <Appearance> |
305 | <Material diffuseColor='0.7 0.9 0.9' transparency='0.5'/> |
306 | </Appearance> |
307 | </Shape> |
308 | <Transform translation='-0.4 0 -0.1'> |
309 | <Shape DEF='rightWindow3KnubOpen'> |
310 | <Sphere DEF='rightWindow3KnubO' radius='0.05'/> |
311 | <Appearance> |
312 | <Material/> |
313 | </Appearance> |
314 | </Shape> |
315 |
<!-- ROUTE information for rightWindow3Clock node:
[from rightWindow3Open.touchTime to set_startTime
]
[from fraction_changed to rightWindow3Pos.set_fraction
]
-->
<TimeSensor DEF='rightWindow3Clock'/> |
316 |
<!-- ROUTE information for rightWindow3Pos node:
[from rightWindow3Clock.fraction_changed to set_fraction
]
[from value_changed to RIGHTWINDOW3.set_translation
]
-->
<PositionInterpolator DEF='rightWindow3Pos' key='0 0.5 1' keyValue='9 2 -9 9 2 -9.5 9 2 -9.9'/> |
317 |
<!-- ROUTE information for rightWindow3Open node:
[from touchTime to rightWindow3Clock.set_startTime
]
-->
<TouchSensor DEF='rightWindow3Open' description='touch to open'/> |
318 | < ROUTE fromNode='rightWindow3Open' fromField='touchTime' toNode='rightWindow3Clock' toField='set_startTime'/> |
319 | < ROUTE fromNode='rightWindow3Clock' fromField='fraction_changed' toNode='rightWindow3Pos' toField='set_fraction'/> |
320 | < ROUTE fromNode='rightWindow3Pos' fromField='value_changed' toNode='RIGHTWINDOW3' toField='set_translation'/> |
321 | </Transform> |
322 | <Transform translation='-0.4 -0.2 -0.1'> |
323 | <Shape DEF='rightWindow3KnubClose'> |
324 | <Sphere DEF='rightWindow2KnubC' radius='0.05'/> |
325 | <Appearance> |
326 | <Material/> |
327 | </Appearance> |
328 | </Shape> |
329 |
<!-- ROUTE information for rightWindow3Clock2 node:
[from rightWindow3Close.touchTime to set_startTime
]
[from fraction_changed to rightWindow3Pos2.set_fraction
]
-->
<TimeSensor DEF='rightWindow3Clock2'/> |
330 |
<!-- ROUTE information for rightWindow3Pos2 node:
[from rightWindow3Clock2.fraction_changed to set_fraction
]
[from value_changed to RIGHTWINDOW3.set_translation
]
-->
<PositionInterpolator DEF='rightWindow3Pos2' key='0 0.5 1' keyValue='9 2 -9.9 9 2 -9.5 9 2 -9'/> |
331 |
<!-- ROUTE information for rightWindow3Close node:
[from touchTime to rightWindow3Clock2.set_startTime
]
-->
<TouchSensor DEF='rightWindow3Close' description='touch to close'/> |
332 | < ROUTE fromNode='rightWindow3Close' fromField='touchTime' toNode='rightWindow3Clock2' toField='set_startTime'/> |
333 | < ROUTE fromNode='rightWindow3Clock2' fromField='fraction_changed' toNode='rightWindow3Pos2' toField='set_fraction'/> |
334 | < ROUTE fromNode='rightWindow3Pos2' fromField='value_changed' toNode='RIGHTWINDOW3' toField='set_translation'/> |
335 | </Transform> |
336 | </Transform> |
337 | </Group> |
338 | <Group DEF='back'> |
339 | <Transform DEF='backwall11' translation='7.5 3.25 -12'> |
340 | <Shape DEF='back11'> |
341 | <Box size='3 1.5 0.1'/> |
342 | <Appearance USE='wallAppearance'/> |
343 | </Shape> |
344 | </Transform> |
345 | <Transform DEF='backwall12' translation='4.5 3.25 -12'> |
346 | <Shape DEF='back12'> |
347 | <Box size='3 1.5 0.1'/> |
348 | <Appearance USE='wallAppearance'/> |
349 | </Shape> |
350 | </Transform> |
351 | <Transform DEF='backwall13' translation='1.5 3.25 -12'> |
352 | <Shape DEF='back13'> |
353 | <Box size='3 1.5 0.1'/> |
354 | <Appearance USE='wallAppearance'/> |
355 | </Shape> |
356 | </Transform> |
357 | <Transform DEF='backwall14' translation='-1.5 3.25 -12'> |
358 | <Shape DEF='back14'> |
359 | <Box size='3 1.5 0.1'/> |
360 | <Appearance USE='wallAppearance'/> |
361 | </Shape> |
362 | </Transform> |
363 | <Transform DEF='backwall21' translation='7 0.75 -12'> |
364 | <Shape DEF='back21'> |
365 | <Box size='2 1.5 0.1'/> |
366 | <Appearance USE='wallAppearance'/> |
367 | </Shape> |
368 | </Transform> |
369 | <Transform DEF='backwall22' translation='4.5 0.75 -12'> |
370 | <Shape DEF='back22'> |
371 | <Box size='3 1.5 0.1'/> |
372 | <Appearance USE='wallAppearance'/> |
373 | </Shape> |
374 | </Transform> |
375 | <Transform DEF='backwall23' translation='1.5 0.75 -12'> |
376 | <Shape DEF='back23'> |
377 | <Box size='3 1.5 0.1'/> |
378 | <Appearance USE='wallAppearance'/> |
379 | </Shape> |
380 | </Transform> |
381 | <Transform DEF='backwall24' translation='-1.5 0.75 -12'> |
382 | <Shape DEF='back24'> |
383 | <Box size='3 1.5 0.1'/> |
384 | <Appearance USE='wallAppearance'/> |
385 | </Shape> |
386 | </Transform> |
387 | <Transform DEF='backwall31' translation='7.25 2 -12'> |
388 | <Shape DEF='back31'> |
389 | <Box size='1.5 1 0.1'/> |
390 | <Appearance USE='wallAppearance'/> |
391 | </Shape> |
392 | </Transform> |
393 | <Transform DEF='backtwall32' translation='4.5 2 -12'> |
394 | <Shape DEF='back32'> |
395 | <Box size='2 1 0.1'/> |
396 | <Appearance USE='wallAppearance'/> |
397 | </Shape> |
398 | </Transform> |
399 | <Transform DEF='backwall33' translation='1.5 2 -12'> |
400 | <Shape DEF='back33'> |
401 | <Box size='2 1 0.1'/> |
402 | <Appearance USE='wallAppearance'/> |
403 | </Shape> |
404 | </Transform> |
405 | <Transform DEF='backwall34' translation='-1.75 2 -12'> |
406 | <Shape DEF='back34'> |
407 | <Box size='2.5 1 0.1'/> |
408 | <Appearance USE='wallAppearance'/> |
409 | </Shape> |
410 | </Transform> |
411 | <Transform DEF='backwall35' translation='8.5 2.25 -12'> |
412 | <Shape DEF='back35'> |
413 | <Box size='1 0.5 0.1'/> |
414 | <Appearance USE='wallAppearance'/> |
415 | </Shape> |
416 | </Transform> |
417 |
<!-- ROUTE information for BACKDOOR node:
[from doorBDPathOpen.value_changed to set_rotation
]
[from doorBDPathClose.value_changed to set_rotation
]
-->
<Transform DEF='BACKDOOR' center='0.5 0 0' translation='8.5 1 -12'> |
418 | <Shape DEF='backdoor'> |
419 | <Box size='1 2 0.1'/> |
420 | <Appearance> |
421 | <Material diffuseColor='0.8 0.5 0'/> |
422 | <ImageTexture USE='wood'/> |
423 | </Appearance> |
424 | </Shape> |
425 | <Transform translation='-0.4 0 -0.05'> |
426 | <Shape DEF='knubOutB'> |
427 | <Sphere DEF='doorKnubB' radius='0.05'/> |
428 | <Appearance> |
429 | <Material/> |
430 | </Appearance> |
431 | </Shape> |
432 |
<!-- ROUTE information for ClockBD node:
[from touchOpenBD.touchTime to set_startTime
]
[from fraction_changed to doorBDPathOpen.set_fraction
]
-->
<TimeSensor DEF='ClockBD' cycleInterval='3'/> |
433 |
<!-- ROUTE information for doorBDPathOpen node:
[from ClockBD.fraction_changed to set_fraction
]
[from value_changed to BACKDOOR.set_rotation
]
-->
<OrientationInterpolator DEF='doorBDPathOpen' key='0 0.34 0.68 1' keyValue='0 1 0 0 0 1 0 0.7 0 1 0 1.0 0 1 0 1.2'/> |
434 |
<!-- ROUTE information for touchOpenBD node:
[from touchTime to ClockBD.set_startTime
]
-->
<TouchSensor DEF='touchOpenBD' description='touch to open'/> |
435 | < ROUTE fromNode='touchOpenBD' fromField='touchTime' toNode='ClockBD' toField='set_startTime'/> |
436 | < ROUTE fromNode='ClockBD' fromField='fraction_changed' toNode='doorBDPathOpen' toField='set_fraction'/> |
437 | < ROUTE fromNode='doorBDPathOpen' fromField='value_changed' toNode='BACKDOOR' toField='set_rotation'/> |
438 | </Transform> |
439 | <Transform translation='-0.4 0 0.05'> |
440 | <Shape USE='knubOut'/> |
441 |
<!-- ROUTE information for ClockCloseBD node:
[from touchCloseBD.touchTime to set_startTime
]
[from fraction_changed to doorBDPathClose.set_fraction
]
-->
<TimeSensor DEF='ClockCloseBD' cycleInterval='2'/> |
442 |
<!-- ROUTE information for doorBDPathClose node:
[from ClockCloseBD.fraction_changed to set_fraction
]
[from value_changed to BACKDOOR.set_rotation
]
-->
<OrientationInterpolator DEF='doorBDPathClose' key='0 0.34 0.68 1' keyValue='0 1 0 1.2 0 1 0 1.0 0 1 0 0.7 0 1 0 0'/> |
443 |
<!-- ROUTE information for touchCloseBD node:
[from touchTime to ClockCloseBD.set_startTime
]
-->
<TouchSensor DEF='touchCloseBD' description='touch to close'/> |
444 | < ROUTE fromNode='touchCloseBD' fromField='touchTime' toNode='ClockCloseBD' toField='set_startTime'/> |
445 | < ROUTE fromNode='ClockCloseBD' fromField='fraction_changed' toNode='doorBDPathClose' toField='set_fraction'/> |
446 | < ROUTE fromNode='doorBDPathClose' fromField='value_changed' toNode='BACKDOOR' toField='set_rotation'/> |
447 | </Transform> |
448 | </Transform> |
449 |
<!-- ROUTE information for BACKWINDOW1 node:
[from backWindow1Pos.value_changed to set_translation
]
[from backWindow1Pos2.value_changed to set_translation
]
-->
<Transform DEF='BACKWINDOW1' translation='6 2 -12'> |
450 | <Shape DEF='backwindow1'> |
451 | <Box size='1 1 0.075'/> |
452 | <Appearance> |
453 | <Material diffuseColor='0.7 0.9 0.9' transparency='0.5'/> |
454 | </Appearance> |
455 | </Shape> |
456 | <Transform translation='0.4 0 0.1'> |
457 | <Shape DEF='backWindow1KnubOpen'> |
458 | <Sphere DEF='backWindow1KnubO' radius='0.05'/> |
459 | <Appearance> |
460 | <Material/> |
461 | </Appearance> |
462 | </Shape> |
463 |
<!-- ROUTE information for backWindow1Clock node:
[from backWindow1Open.touchTime to set_startTime
]
[from fraction_changed to backWindow1Pos.set_fraction
]
-->
<TimeSensor DEF='backWindow1Clock'/> |
464 |
<!-- ROUTE information for backWindow1Pos node:
[from backWindow1Clock.fraction_changed to set_fraction
]
[from value_changed to BACKWINDOW1.set_translation
]
-->
<PositionInterpolator DEF='backWindow1Pos' key='0 0.5 1' keyValue='6 2 -12 5.5 2 -12 5.1 2 -12'/> |
465 |
<!-- ROUTE information for backWindow1Open node:
[from touchTime to backWindow1Clock.set_startTime
]
-->
<TouchSensor DEF='backWindow1Open' description='touch to open'/> |
466 | < ROUTE fromNode='backWindow1Open' fromField='touchTime' toNode='backWindow1Clock' toField='set_startTime'/> |
467 | < ROUTE fromNode='backWindow1Clock' fromField='fraction_changed' toNode='backWindow1Pos' toField='set_fraction'/> |
468 | < ROUTE fromNode='backWindow1Pos' fromField='value_changed' toNode='BACKWINDOW1' toField='set_translation'/> |
469 | </Transform> |
470 | <Transform translation='0.4 -0.2 0.1'> |
471 | <Shape DEF='backWindow1KnubClose'> |
472 | <Sphere DEF='rightWindow1KnubC' radius='0.05'/> |
473 | <Appearance> |
474 | <Material/> |
475 | </Appearance> |
476 | </Shape> |
477 |
<!-- ROUTE information for backWindow1Clock2 node:
[from backWindow1Close.touchTime to set_startTime
]
[from fraction_changed to backWindow1Pos2.set_fraction
]
-->
<TimeSensor DEF='backWindow1Clock2'/> |
478 |
<!-- ROUTE information for backWindow1Pos2 node:
[from backWindow1Clock2.fraction_changed to set_fraction
]
[from value_changed to BACKWINDOW1.set_translation
]
-->
<PositionInterpolator DEF='backWindow1Pos2' key='0 0.5 1' keyValue='5.1 2 -12 5.5 2 -12 6 2 -12'/> |
479 |
<!-- ROUTE information for backWindow1Close node:
[from touchTime to backWindow1Clock2.set_startTime
]
-->
<TouchSensor DEF='backWindow1Close' description='touch to close'/> |
480 | < ROUTE fromNode='backWindow1Close' fromField='touchTime' toNode='backWindow1Clock2' toField='set_startTime'/> |
481 | < ROUTE fromNode='backWindow1Clock2' fromField='fraction_changed' toNode='backWindow1Pos2' toField='set_fraction'/> |
482 | < ROUTE fromNode='backWindow1Pos2' fromField='value_changed' toNode='BACKWINDOW1' toField='set_translation'/> |
483 | </Transform> |
484 | </Transform> |
485 |
<!-- ROUTE information for BACKWINDOW2 node:
[from backWindow2Pos.value_changed to set_translation
]
[from backWindow2Pos2.value_changed to set_translation
]
-->
<Transform DEF='BACKWINDOW2' translation='3 2 -12'> |
486 | <Shape DEF='backwindow2'> |
487 | <Box size='1 1 0.075'/> |
488 | <Appearance> |
489 | <Material diffuseColor='0.7 0.9 0.9' transparency='0.5'/> |
490 | </Appearance> |
491 | </Shape> |
492 | <Transform translation='0.4 0 0.1'> |
493 | <Shape DEF='backWindow2KnubOpen'> |
494 | <Sphere DEF='backWindow2KnubO' radius='0.05'/> |
495 | <Appearance> |
496 | <Material/> |
497 | </Appearance> |
498 | </Shape> |
499 |
<!-- ROUTE information for backWindow2Clock node:
[from backWindow2Open.touchTime to set_startTime
]
[from fraction_changed to backWindow2Pos.set_fraction
]
-->
<TimeSensor DEF='backWindow2Clock'/> |
500 |
<!-- ROUTE information for backWindow2Pos node:
[from backWindow2Clock.fraction_changed to set_fraction
]
[from value_changed to BACKWINDOW2.set_translation
]
-->
<PositionInterpolator DEF='backWindow2Pos' key='0 0.5 1' keyValue='3 2 -12 2.5 2 -12 2.1 2 -12'/> |
501 |
<!-- ROUTE information for backWindow2Open node:
[from touchTime to backWindow2Clock.set_startTime
]
-->
<TouchSensor DEF='backWindow2Open' description='touch to open'/> |
502 | < ROUTE fromNode='backWindow2Open' fromField='touchTime' toNode='backWindow2Clock' toField='set_startTime'/> |
503 | < ROUTE fromNode='backWindow2Clock' fromField='fraction_changed' toNode='backWindow2Pos' toField='set_fraction'/> |
504 | < ROUTE fromNode='backWindow2Pos' fromField='value_changed' toNode='BACKWINDOW2' toField='set_translation'/> |
505 | </Transform> |
506 | <Transform translation='0.4 -0.2 0.1'> |
507 | <Shape DEF='backWindow2KnubClose'> |
508 | <Sphere DEF='backWindow2KnubC' radius='0.05'/> |
509 | <Appearance> |
510 | <Material/> |
511 | </Appearance> |
512 | </Shape> |
513 |
<!-- ROUTE information for backWindow2Clock2 node:
[from backWindow2Close.touchTime to set_startTime
]
[from fraction_changed to backWindow2Pos2.set_fraction
]
-->
<TimeSensor DEF='backWindow2Clock2'/> |
514 |
<!-- ROUTE information for backWindow2Pos2 node:
[from backWindow2Clock2.fraction_changed to set_fraction
]
[from value_changed to BACKWINDOW2.set_translation
]
-->
<PositionInterpolator DEF='backWindow2Pos2' key='0 0.5 1' keyValue='2.1 2 -12 2.5 2 -12 3 2 -12'/> |
515 |
<!-- ROUTE information for backWindow2Close node:
[from touchTime to backWindow2Clock2.set_startTime
]
-->
<TouchSensor DEF='backWindow2Close' description='touch to close'/> |
516 | < ROUTE fromNode='backWindow2Close' fromField='touchTime' toNode='backWindow2Clock2' toField='set_startTime'/> |
517 | < ROUTE fromNode='backWindow2Clock2' fromField='fraction_changed' toNode='backWindow2Pos2' toField='set_fraction'/> |
518 | < ROUTE fromNode='backWindow2Pos2' fromField='value_changed' toNode='BACKWINDOW2' toField='set_translation'/> |
519 | </Transform> |
520 | </Transform> |
521 |
<!-- ROUTE information for BACKWINDOW3 node:
[from backWindow3Pos.value_changed to set_translation
]
[from backWindow3Pos2.value_changed to set_translation
]
-->
<Transform DEF='BACKWINDOW3' translation='0 2 -12'> |
522 | <Shape DEF='backwindow3'> |
523 | <Box size='1 1 0.075'/> |
524 | <Appearance> |
525 | <Material diffuseColor='0.7 0.9 0.9' transparency='0.5'/> |
526 | </Appearance> |
527 | </Shape> |
528 | <Transform translation='0.4 0 0.1'> |
529 | <Shape DEF='backWindow3KnubOpen'> |
530 | <Sphere DEF='backWindow3KnubO' radius='0.05'/> |
531 | <Appearance> |
532 | <Material/> |
533 | </Appearance> |
534 | </Shape> |
535 |
<!-- ROUTE information for backWindow3Clock node:
[from backWindow3Open.touchTime to set_startTime
]
[from fraction_changed to backWindow3Pos.set_fraction
]
-->
<TimeSensor DEF='backWindow3Clock'/> |
536 |
<!-- ROUTE information for backWindow3Pos node:
[from backWindow3Clock.fraction_changed to set_fraction
]
[from value_changed to BACKWINDOW3.set_translation
]
-->
<PositionInterpolator DEF='backWindow3Pos' key='0 0.5 1' keyValue='0 2 -12 -0.5 2 -12 -0.9 2 -12'/> |
537 |
<!-- ROUTE information for backWindow3Open node:
[from touchTime to backWindow3Clock.set_startTime
]
-->
<TouchSensor DEF='backWindow3Open' description='touch to open'/> |
538 | < ROUTE fromNode='backWindow3Open' fromField='touchTime' toNode='backWindow3Clock' toField='set_startTime'/> |
539 | < ROUTE fromNode='backWindow3Clock' fromField='fraction_changed' toNode='backWindow3Pos' toField='set_fraction'/> |
540 | < ROUTE fromNode='backWindow3Pos' fromField='value_changed' toNode='BACKWINDOW3' toField='set_translation'/> |
541 | </Transform> |
542 | <Transform translation='0.4 -0.2 0.1'> |
543 | <Shape DEF='backWindow3KnubClose'> |
544 | <Sphere DEF='rightWindow3KnubC' radius='0.05'/> |
545 | <Appearance> |
546 | <Material/> |
547 | </Appearance> |
548 | </Shape> |
549 |
<!-- ROUTE information for backWindow3Clock2 node:
[from backWindow3Close.touchTime to set_startTime
]
[from fraction_changed to backWindow3Pos2.set_fraction
]
-->
<TimeSensor DEF='backWindow3Clock2'/> |
550 |
<!-- ROUTE information for backWindow3Pos2 node:
[from backWindow3Clock2.fraction_changed to set_fraction
]
[from value_changed to BACKWINDOW3.set_translation
]
-->
<PositionInterpolator DEF='backWindow3Pos2' key='0 0.5 1' keyValue='-0.9 2 -12 -0.5 2 -12 0 2 -12'/> |
551 |
<!-- ROUTE information for backWindow3Close node:
[from touchTime to backWindow3Clock2.set_startTime
]
-->
<TouchSensor DEF='backWindow3Close' description='touch to close'/> |
552 | < ROUTE fromNode='backWindow3Close' fromField='touchTime' toNode='backWindow3Clock2' toField='set_startTime'/> |
553 | < ROUTE fromNode='backWindow3Clock2' fromField='fraction_changed' toNode='backWindow3Pos2' toField='set_fraction'/> |
554 | < ROUTE fromNode='backWindow3Pos2' fromField='value_changed' toNode='BACKWINDOW3' toField='set_translation'/> |
555 | </Transform> |
556 | </Transform> |
557 | </Group> |
558 | <Group DEF='left1'> |
559 | <Transform DEF='leftwall11' rotation='0 1 0 1.57' translation='-3 3.25 -5.25'> |
560 | <Shape DEF='left11'> |
561 | <Box size='4.5 1.5 0.1'/> |
562 | <Appearance USE='wallAppearance'/> |
563 | </Shape> |
564 | </Transform> |
565 | <Transform DEF='leftwall12' rotation='0 1 0 1.57' translation='-3 3.25 -9.75'> |
566 | <Shape DEF='left12'> |
567 | <Box size='4.5 1.5 0.1'/> |
568 | <Appearance USE='wallAppearance'/> |
569 | </Shape> |
570 | </Transform> |
571 | <Transform DEF='leftwall21' rotation='0 1 0 1.57' translation='-3 0.75 -5.25'> |
572 | <Shape DEF='left21'> |
573 | <Box size='4.5 1.5 0.1'/> |
574 | <Appearance USE='wallAppearance'/> |
575 | </Shape> |
576 | </Transform> |
577 | <Transform DEF='leftwall22' rotation='0 1 0 1.57' translation='-3 0.75 -9.75'> |
578 | <Shape DEF='left22'> |
579 | <Box size='4.5 1.5 0.1'/> |
580 | <Appearance USE='wallAppearance'/> |
581 | </Shape> |
582 | </Transform> |
583 | <Transform DEF='leftwall31' rotation='0 1 0 1.57' translation='-3 2 -4.25'> |
584 | <Shape DEF='left31'> |
585 | <Box size='2.5 1 0.1'/> |
586 | <Appearance USE='wallAppearance'/> |
587 | </Shape> |
588 | </Transform> |
589 | <Transform DEF='leftwall32' rotation='0 1 0 1.57' translation='-3 2 -7.5'> |
590 | <Shape DEF='left32'> |
591 | <Box size='2 1 0.1'/> |
592 | <Appearance USE='wallAppearance'/> |
593 | </Shape> |
594 | </Transform> |
595 | <Transform DEF='leftwall33' rotation='0 1 0 1.57' translation='-3 2 -10.75'> |
596 | <Shape DEF='left33'> |
597 | <Box size='2.5 1 0.1'/> |
598 | <Appearance USE='wallAppearance'/> |
599 | </Shape> |
600 | </Transform> |
601 |
<!-- ROUTE information for LEFTWINDOW1 node:
[from leftWindow1Pos.value_changed to set_translation
]
[from leftWindow1Pos2.value_changed to set_translation
]
-->
<Transform DEF='LEFTWINDOW1' rotation='0 1 0 1.57' translation='-3 2 -6'> |
602 | <Shape DEF='leftwindow1'> |
603 | <Box size='1 1 0.075'/> |
604 | <Appearance> |
605 | <Material diffuseColor='0.7 0.9 0.9' transparency='0.5'/> |
606 | </Appearance> |
607 | </Shape> |
608 | <Transform translation='0.4 0 0.1'> |
609 | <Shape DEF='leftWindow1KnubOpen'> |
610 | <Sphere DEF='lefttWindow1KnubO' radius='0.05'/> |
611 | <Appearance> |
612 | <Material/> |
613 | </Appearance> |
614 | </Shape> |
615 |
<!-- ROUTE information for leftWindow1Clock node:
[from leftWindow1Open.touchTime to set_startTime
]
[from fraction_changed to leftWindow1Pos.set_fraction
]
-->
<TimeSensor DEF='leftWindow1Clock'/> |
616 |
<!-- ROUTE information for leftWindow1Pos node:
[from leftWindow1Clock.fraction_changed to set_fraction
]
[from value_changed to LEFTWINDOW1.set_translation
]
-->
<PositionInterpolator DEF='leftWindow1Pos' key='0 0.5 1' keyValue='-3 2 -6 -3 2 -5.5 -3 2 -5.1'/> |
617 |
<!-- ROUTE information for leftWindow1Open node:
[from touchTime to leftWindow1Clock.set_startTime
]
-->
<TouchSensor DEF='leftWindow1Open' description='touch to open'/> |
618 | < ROUTE fromNode='leftWindow1Open' fromField='touchTime' toNode='leftWindow1Clock' toField='set_startTime'/> |
619 | < ROUTE fromNode='leftWindow1Clock' fromField='fraction_changed' toNode='leftWindow1Pos' toField='set_fraction'/> |
620 | < ROUTE fromNode='leftWindow1Pos' fromField='value_changed' toNode='LEFTWINDOW1' toField='set_translation'/> |
621 | </Transform> |
622 | <Transform translation='0.4 -0.2 0.1'> |
623 | <Shape DEF='leftWindow1KnubClose'> |
624 | <Sphere DEF='leftWindow1Knub2' radius='0.05'/> |
625 | <Appearance> |
626 | <Material/> |
627 | </Appearance> |
628 | </Shape> |
629 |
<!-- ROUTE information for leftWindow1Clock2 node:
[from leftWindow1Close.touchTime to set_startTime
]
[from fraction_changed to leftWindow1Pos2.set_fraction
]
-->
<TimeSensor DEF='leftWindow1Clock2'/> |
630 |
<!-- ROUTE information for leftWindow1Pos2 node:
[from leftWindow1Clock2.fraction_changed to set_fraction
]
[from value_changed to LEFTWINDOW1.set_translation
]
-->
<PositionInterpolator DEF='leftWindow1Pos2' key='0 0.5 1' keyValue='-3 2 -5.1 -3 2 -5.5 -3 2 -6'/> |
631 |
<!-- ROUTE information for leftWindow1Close node:
[from touchTime to leftWindow1Clock2.set_startTime
]
-->
<TouchSensor DEF='leftWindow1Close' description='touch to close'/> |
632 | < ROUTE fromNode='leftWindow1Close' fromField='touchTime' toNode='leftWindow1Clock2' toField='set_startTime'/> |
633 | < ROUTE fromNode='leftWindow1Clock2' fromField='fraction_changed' toNode='leftWindow1Pos2' toField='set_fraction'/> |
634 | < ROUTE fromNode='leftWindow1Pos2' fromField='value_changed' toNode='LEFTWINDOW1' toField='set_translation'/> |
635 | </Transform> |
636 | </Transform> |
637 |
<!-- ROUTE information for LEFTWINDOW2 node:
[from leftWindow2Pos.value_changed to set_translation
]
[from leftWindow2Pos2.value_changed to set_translation
]
-->
<Transform DEF='LEFTWINDOW2' rotation='0 1 0 1.57' translation='-3 2 -9'> |
638 | <Shape DEF='leftwindow2'> |
639 | <Box size='1 1 0.075'/> |
640 | <Appearance> |
641 | <Material diffuseColor='0.7 0.9 0.9' transparency='0.5'/> |
642 | </Appearance> |
643 | </Shape> |
644 | <Transform translation='0.4 0 0.1'> |
645 | <Shape DEF='leftWindow2KnubOpen'> |
646 | <Sphere DEF='lefttWindow2KnubO' radius='0.05'/> |
647 | <Appearance> |
648 | <Material/> |
649 | </Appearance> |
650 | </Shape> |
651 |
<!-- ROUTE information for leftWindow2Clock node:
[from leftWindow2Open.touchTime to set_startTime
]
[from fraction_changed to leftWindow2Pos.set_fraction
]
-->
<TimeSensor DEF='leftWindow2Clock'/> |
652 |
<!-- ROUTE information for leftWindow2Pos node:
[from leftWindow2Clock.fraction_changed to set_fraction
]
[from value_changed to LEFTWINDOW2.set_translation
]
-->
<PositionInterpolator DEF='leftWindow2Pos' key='0 0.5 1' keyValue='-3 2 -9 -3 2 -8.5 -3 2 -8.1'/> |
653 |
<!-- ROUTE information for leftWindow2Open node:
[from touchTime to leftWindow2Clock.set_startTime
]
-->
<TouchSensor DEF='leftWindow2Open' description='touch to open'/> |
654 | < ROUTE fromNode='leftWindow2Open' fromField='touchTime' toNode='leftWindow2Clock' toField='set_startTime'/> |
655 | < ROUTE fromNode='leftWindow2Clock' fromField='fraction_changed' toNode='leftWindow2Pos' toField='set_fraction'/> |
656 | < ROUTE fromNode='leftWindow2Pos' fromField='value_changed' toNode='LEFTWINDOW2' toField='set_translation'/> |
657 | </Transform> |
658 | <Transform translation='0.4 -0.2 0.1'> |
659 | <Shape DEF='leftWindow2KnubClose'> |
660 | <Sphere DEF='rightWindow2Knub1' radius='0.05'/> |
661 | <Appearance> |
662 | <Material/> |
663 | </Appearance> |
664 | </Shape> |
665 |
<!-- ROUTE information for leftWindow2Clock2 node:
[from leftWindow2Close.touchTime to set_startTime
]
[from fraction_changed to leftWindow2Pos2.set_fraction
]
-->
<TimeSensor DEF='leftWindow2Clock2'/> |
666 |
<!-- ROUTE information for leftWindow2Pos2 node:
[from leftWindow2Clock2.fraction_changed to set_fraction
]
[from value_changed to LEFTWINDOW2.set_translation
]
-->
<PositionInterpolator DEF='leftWindow2Pos2' key='0 0.5 1' keyValue='-3 2 -8.1 -3 2 -8.5 -3 2 -9'/> |
667 |
<!-- ROUTE information for leftWindow2Close node:
[from touchTime to leftWindow2Clock2.set_startTime
]
-->
<TouchSensor DEF='leftWindow2Close' description='touch to close'/> |
668 | < ROUTE fromNode='leftWindow2Close' fromField='touchTime' toNode='leftWindow2Clock2' toField='set_startTime'/> |
669 | < ROUTE fromNode='leftWindow2Clock2' fromField='fraction_changed' toNode='leftWindow2Pos2' toField='set_fraction'/> |
670 | < ROUTE fromNode='leftWindow2Pos2' fromField='value_changed' toNode='LEFTWINDOW2' toField='set_translation'/> |
671 | </Transform> |
672 | </Transform> |
673 | </Group> |
674 | <Group DEF='left2'> |
675 | <Transform DEF='left2wall11' rotation='0 1 0 1.57' translation='0 3 -1.5'> |
676 | <Shape DEF='left2wall1'> |
677 | <Box size='3 2 0.1'/> |
678 | <Appearance DEF='left2wall1Appearance'> |
679 | <Material/> |
680 | <ImageTexture USE='yellowBrick'/> |
681 | </Appearance> |
682 | </Shape> |
683 | </Transform> |
684 | <Transform DEF='left2wall12' rotation='0 1 0 1.57' translation='0 1 -1.5'> |
685 | <Shape DEF='left2wall2'> |
686 | <Box size='3 2 0.1'/> |
687 | <Appearance DEF='left2wall2Appearance'> |
688 | <Material/> |
689 | <ImageTexture USE='yellowBrick'/> |
690 | </Appearance> |
691 | </Shape> |
692 | </Transform> |
693 | </Group> |
694 | <Group DEF='FLOOR'> |
695 | <Transform DEF='floor1' translation='4.5 0.005 -6'> |
696 | <Shape DEF='floorshape1'> |
697 | <Box size='9 0.01 12'/> |
698 |
<!-- Appearance
floorappearance is a DEF node that has 1 USE node: USE_1 -->
<Appearance DEF='floorappearance'> |
699 | <Material diffuseColor='0.9 0.9 0.9'/> |
700 | </Appearance> |
701 | </Shape> |
702 | </Transform> |
703 | <Transform DEF='floor2' translation='-1.5 0.005 -7.5'> |
704 | <Shape DEF='floorshape2'> |
705 | <Box size='3 0.01 9'/> |
706 | <Appearance USE='floorappearance'/> |
707 | </Shape> |
708 | </Transform> |
709 | </Group> |
710 | <Group DEF='INSIDE'> |
711 | <Transform translation='-1.25 1 -7.5'> |
712 | <Shape DEF='wall1roomleft'> |
713 | <Box size='3.5 2 0.1'/> |
714 | <Appearance USE='wallAppearance'/> |
715 | </Shape> |
716 | </Transform> |
717 | <Transform translation='-0.75 3 -7.5'> |
718 | <Shape DEF='left'> |
719 | <Box size='4.5 2 0.1'/> |
720 | <Appearance USE='wallAppearance'/> |
721 | </Shape> |
722 | </Transform> |
723 | <Transform rotation='0 1 0 1.57' translation='1.5 3 -9.75'> |
724 | <Shape> |
725 | <Box size='4.5 2 0.1'/> |
726 | <Appearance USE='wallAppearance'/> |
727 | </Shape> |
728 | </Transform> |
729 | <Transform rotation='0 1 0 1.57' translation='1.5 1 -9.75'> |
730 | <Shape> |
731 | <Box size='4.5 2 0.1'/> |
732 | <Appearance USE='wallAppearance'/> |
733 | </Shape> |
734 | </Transform> |
735 |
<!-- ROUTE information for DOORROOMLEFT node:
[from doorroomleftPathOpen.value_changed to set_rotation
]
[from doorroomleftPathClose.value_changed to set_rotation
]
-->
<Transform DEF='DOORROOMLEFT' center='0.5 0 0' translation='1 1 -7.5'> |
736 | <Shape DEF='doorroomleft'> |
737 | <Box size='1 2 0.1'/> |
738 | <Appearance> |
739 | <Material diffuseColor='0.8 0.5 0'/> |
740 | <ImageTexture USE='wood'/> |
741 | </Appearance> |
742 | </Shape> |
743 | <Transform translation='-0.4 0 0.05'> |
744 | <Shape USE='knubOut'/> |
745 |
<!-- ROUTE information for Clockdoorroomleft node:
[from touchOpenroomleft.touchTime to set_startTime
]
[from fraction_changed to doorroomleftPathOpen.set_fraction
]
-->
<TimeSensor DEF='Clockdoorroomleft' cycleInterval='3'/> |
746 |
<!-- ROUTE information for doorroomleftPathOpen node:
[from Clockdoorroomleft.fraction_changed to set_fraction
]
[from value_changed to DOORROOMLEFT.set_rotation
]
-->
<OrientationInterpolator DEF='doorroomleftPathOpen' key='0 0.34 0.68 1' keyValue='0 1 0 0 0 1 0 -0.7 0 1 0 -1.0 0 1 0 -1.2'/> |
747 |
<!-- ROUTE information for touchOpenroomleft node:
[from touchTime to Clockdoorroomleft.set_startTime
]
-->
<TouchSensor DEF='touchOpenroomleft' description='touch to open'/> |
748 | < ROUTE fromNode='touchOpenroomleft' fromField='touchTime' toNode='Clockdoorroomleft' toField='set_startTime'/> |
749 | < ROUTE fromNode='Clockdoorroomleft' fromField='fraction_changed' toNode='doorroomleftPathOpen' toField='set_fraction'/> |
750 | < ROUTE fromNode='doorroomleftPathOpen' fromField='value_changed' toNode='DOORROOMLEFT' toField='set_rotation'/> |
751 | </Transform> |
752 | <Transform translation='-0.4 0 -0.05'> |
753 | <Shape USE='knubOut'/> |
754 |
<!-- ROUTE information for ClockCloseroomleft node:
[from touchCloseroomleft.touchTime to set_startTime
]
[from fraction_changed to doorroomleftPathClose.set_fraction
]
-->
<TimeSensor DEF='ClockCloseroomleft' cycleInterval='2'/> |
755 |
<!-- ROUTE information for doorroomleftPathClose node:
[from ClockCloseroomleft.fraction_changed to set_fraction
]
[from value_changed to DOORROOMLEFT.set_rotation
]
-->
<OrientationInterpolator DEF='doorroomleftPathClose' key='0 0.34 0.68 1' keyValue='0 1 0 -1.2 0 1 0 -1.0 0 1 0 -0.7 0 1 0 0'/> |
756 |
<!-- ROUTE information for touchCloseroomleft node:
[from touchTime to ClockCloseroomleft.set_startTime
]
-->
<TouchSensor DEF='touchCloseroomleft' description='touch to close'/> |
757 | < ROUTE fromNode='touchCloseroomleft' fromField='touchTime' toNode='ClockCloseroomleft' toField='set_startTime'/> |
758 | < ROUTE fromNode='ClockCloseroomleft' fromField='fraction_changed' toNode='doorroomleftPathClose' toField='set_fraction'/> |
759 | < ROUTE fromNode='doorroomleftPathClose' fromField='value_changed' toNode='DOORROOMLEFT' toField='set_rotation'/> |
760 | </Transform> |
761 | </Transform> |
762 | <Transform rotation='0 1 0 1.57' translation='7 3 -9.70'> |
763 | <Shape> |
764 | <Box size='4.50 2 0.1'/> |
765 | <Appearance USE='wallAppearance'/> |
766 | </Shape> |
767 | </Transform> |
768 | <Transform rotation='0 1 0 1.57' translation='7 1 -9.70'> |
769 | <Shape> |
770 | <Box size='4.50 2 0.1'/> |
771 | <Appearance USE='wallAppearance'/> |
772 | </Shape> |
773 | </Transform> |
774 | <Transform translation='4.25 3 -7.5'> |
775 | <Shape> |
776 | <Box size='5.5 2 0.1'/> |
777 | <Appearance USE='wallAppearance'/> |
778 | </Shape> |
779 | </Transform> |
780 | <Transform translation='3.75 1 -7.5'> |
781 | <Shape> |
782 | <Box size='4.5 2 0.1'/> |
783 | <Appearance USE='wallAppearance'/> |
784 | </Shape> |
785 | </Transform> |
786 |
<!-- ROUTE information for DOORROOMRIGHT node:
[from doorroomrightPathOpen.value_changed to set_rotation
]
[from doorroomrightPathClose.value_changed to set_rotation
]
-->
<Transform DEF='DOORROOMRIGHT' center='0.5 0 0' translation='6.5 1 -7.5'> |
787 | <Shape DEF='doorroomright'> |
788 | <Box size='1 2 0.1'/> |
789 | <Appearance> |
790 | <Material diffuseColor='0.8 0.5 0'/> |
791 | <ImageTexture USE='wood'/> |
792 | </Appearance> |
793 | </Shape> |
794 | <Transform translation='-0.4 0 0.05'> |
795 | <Shape USE='knubOut'/> |
796 |
<!-- ROUTE information for Clockdoorroomright node:
[from touchOpenroomright.touchTime to set_startTime
]
[from fraction_changed to doorroomrightPathOpen.set_fraction
]
-->
<TimeSensor DEF='Clockdoorroomright' cycleInterval='3'/> |
797 |
<!-- ROUTE information for doorroomrightPathOpen node:
[from Clockdoorroomright.fraction_changed to set_fraction
]
[from value_changed to DOORROOMRIGHT.set_rotation
]
-->
<OrientationInterpolator DEF='doorroomrightPathOpen' key='0 0.34 0.68 1' keyValue='0 1 0 0 0 1 0 -0.4 0 1 0 -0.7 0 1 0 -1.0'/> |
798 |
<!-- ROUTE information for touchOpenroomright node:
[from touchTime to Clockdoorroomright.set_startTime
]
-->
<TouchSensor DEF='touchOpenroomright' description='touch to open'/> |
799 | < ROUTE fromNode='touchOpenroomright' fromField='touchTime' toNode='Clockdoorroomright' toField='set_startTime'/> |
800 | < ROUTE fromNode='Clockdoorroomright' fromField='fraction_changed' toNode='doorroomrightPathOpen' toField='set_fraction'/> |
801 | < ROUTE fromNode='doorroomrightPathOpen' fromField='value_changed' toNode='DOORROOMRIGHT' toField='set_rotation'/> |
802 | </Transform> |
803 | <Transform translation='-0.4 0 -0.05'> |
804 | <Shape USE='knubOut'/> |
805 |
<!-- ROUTE information for ClockCloseroomright node:
[from touchCloseroomright.touchTime to set_startTime
]
[from fraction_changed to doorroomrightPathClose.set_fraction
]
-->
<TimeSensor DEF='ClockCloseroomright' cycleInterval='2'/> |
806 |
<!-- ROUTE information for doorroomrightPathClose node:
[from ClockCloseroomright.fraction_changed to set_fraction
]
[from value_changed to DOORROOMRIGHT.set_rotation
]
-->
<OrientationInterpolator DEF='doorroomrightPathClose' key='0 0.34 0.68 1' keyValue='0 1 0 -1.0 0 1 0 -0.7 0 1 0 -0.4 0 1 0 0'/> |
807 |
<!-- ROUTE information for touchCloseroomright node:
[from touchTime to ClockCloseroomright.set_startTime
]
-->
<TouchSensor DEF='touchCloseroomright' description='touch to close'/> |
808 | < ROUTE fromNode='touchCloseroomright' fromField='touchTime' toNode='ClockCloseroomright' toField='set_startTime'/> |
809 | < ROUTE fromNode='ClockCloseroomright' fromField='fraction_changed' toNode='doorroomrightPathClose' toField='set_fraction'/> |
810 | < ROUTE fromNode='doorroomrightPathClose' fromField='value_changed' toNode='DOORROOMRIGHT' toField='set_rotation'/> |
811 | </Transform> |
812 | </Transform> |
813 | <Transform translation='2.25 3 -3'> |
814 | <Shape> |
815 | <Box size='4.5 2 0.1'/> |
816 | <Appearance USE='wallAppearance'/> |
817 | </Shape> |
818 | </Transform> |
819 | <Transform translation='1.75 1 -3'> |
820 | <Shape> |
821 | <Box size='3.5 2 0.1'/> |
822 | <Appearance USE='wallAppearance'/> |
823 | </Shape> |
824 | </Transform> |
825 | <Transform rotation='0 1 0 1.57' translation='4.45 1 -1.50'> |
826 | <Shape> |
827 | <Box size='2.90 2 0.1'/> |
828 | <Appearance USE='wallAppearance'/> |
829 | </Shape> |
830 | </Transform> |
831 | <Transform rotation='0 1 0 1.57' translation='4.45 3 -1.50'> |
832 | <Shape> |
833 | <Box size='2.90 2 0.1'/> |
834 | <Appearance USE='wallAppearance'/> |
835 | </Shape> |
836 | </Transform> |
837 |
<!-- ROUTE information for FRONTROOMDOOR node:
[from doorFRPathOpen.value_changed to set_rotation
]
[from doorFRPathClose.value_changed to set_rotation
]
-->
<Transform DEF='FRONTROOMDOOR' center='0.5 0 0' translation='4 1 -3'> |
838 | <Shape DEF='frontroomdoor'> |
839 | <Box size='1 2 0.1'/> |
840 | <Appearance> |
841 | <Material diffuseColor='0.8 0.5 0'/> |
842 | <ImageTexture USE='wood'/> |
843 | </Appearance> |
844 | </Shape> |
845 | <Transform translation='-0.4 0 -0.05'> |
846 | <Shape DEF='knubOutfrontroom'> |
847 | <Sphere DEF='doorKnubFR' radius='0.05'/> |
848 | <Appearance> |
849 | <Material/> |
850 | </Appearance> |
851 | </Shape> |
852 |
<!-- ROUTE information for ClockFR node:
[from touchOpenFR.touchTime to set_startTime
]
[from fraction_changed to doorFRPathOpen.set_fraction
]
-->
<TimeSensor DEF='ClockFR' cycleInterval='3'/> |
853 |
<!-- ROUTE information for doorFRPathOpen node:
[from ClockFR.fraction_changed to set_fraction
]
[from value_changed to FRONTROOMDOOR.set_rotation
]
-->
<OrientationInterpolator DEF='doorFRPathOpen' key='0 0.34 0.68 1' keyValue='0 1 0 0 0 1 0 0.4 0 1 0 0.7 0 1 0 0.9'/> |
854 |
<!-- ROUTE information for touchOpenFR node:
[from touchTime to ClockFR.set_startTime
]
-->
<TouchSensor DEF='touchOpenFR' description='touch to open'/> |
855 | < ROUTE fromNode='touchOpenFR' fromField='touchTime' toNode='ClockFR' toField='set_startTime'/> |
856 | < ROUTE fromNode='ClockFR' fromField='fraction_changed' toNode='doorFRPathOpen' toField='set_fraction'/> |
857 | < ROUTE fromNode='doorFRPathOpen' fromField='value_changed' toNode='FRONTROOMDOOR' toField='set_rotation'/> |
858 | </Transform> |
859 | <Transform translation='-0.4 0 0.05'> |
860 | <Shape USE='knubOut'/> |
861 |
<!-- ROUTE information for ClockCloseFR node:
[from touchCloseFR.touchTime to set_startTime
]
[from fraction_changed to doorFRPathClose.set_fraction
]
-->
<TimeSensor DEF='ClockCloseFR' cycleInterval='2'/> |
862 |
<!-- ROUTE information for doorFRPathClose node:
[from ClockCloseFR.fraction_changed to set_fraction
]
[from value_changed to FRONTROOMDOOR.set_rotation
]
-->
<OrientationInterpolator DEF='doorFRPathClose' key='0 0.34 0.68 1' keyValue='0 1 0 0.9 0 1 0 0.7 0 1 0 0.4 0 1 0 0'/> |
863 |
<!-- ROUTE information for touchCloseFR node:
[from touchTime to ClockCloseFR.set_startTime
]
-->
<TouchSensor DEF='touchCloseFR' description='touch to close'/> |
864 | < ROUTE fromNode='touchCloseFR' fromField='touchTime' toNode='ClockCloseFR' toField='set_startTime'/> |
865 | < ROUTE fromNode='ClockCloseFR' fromField='fraction_changed' toNode='doorFRPathClose' toField='set_fraction'/> |
866 | < ROUTE fromNode='doorFRPathClose' fromField='value_changed' toNode='FRONTROOMDOOR' toField='set_rotation'/> |
867 | </Transform> |
868 | </Transform> |
869 | <Transform translation='5.75 3 -3'> |
870 | <Shape> |
871 | <Box size='2.5 2 0.1'/> |
872 | <Appearance USE='wallAppearance'/> |
873 | </Shape> |
874 | </Transform> |
875 | <Transform translation='5.75 1 -3'> |
876 | <Shape> |
877 | <Box size='2.5 2 0.1'/> |
878 | <Appearance USE='wallAppearance'/> |
879 | </Shape> |
880 | </Transform> |
881 | <Transform rotation='0 1 0 1.57' translation='6.95 3 -1.50'> |
882 | <Shape> |
883 | <Box size='2.90 2 0.1'/> |
884 | <Appearance USE='wallAppearance'/> |
885 | </Shape> |
886 | </Transform> |
887 | <Transform rotation='0 1 0 1.57' translation='6.95 1 -0.95'> |
888 | <Shape> |
889 | <Box size='2.0 2 0.1'/> |
890 | <Appearance USE='wallAppearance'/> |
891 | </Shape> |
892 | </Transform> |
893 |
<!-- ROUTE information for FRONTROOMDOOR2 node:
[from doorFR2PathOpen.value_changed to set_rotation
]
[from doorFR2PathClose.value_changed to set_rotation
]
-->
<Transform DEF='FRONTROOMDOOR2' center='0.5 0 0' rotation='0 1 0 1.57' translation='6.45 1 -2.95'> |
894 | <Shape DEF='frontroomdoor2'> |
895 | <Box size='1 2 0.1'/> |
896 | <Appearance> |
897 | <Material diffuseColor='0.8 0.5 0'/> |
898 | <ImageTexture USE='wood'/> |
899 | </Appearance> |
900 | </Shape> |
901 | <Transform translation='-0.4 0 -0.05'> |
902 | <Shape DEF='knubOutfrontroom2'> |
903 | <Sphere DEF='doorKnubFR2' radius='0.05'/> |
904 | <Appearance> |
905 | <Material/> |
906 | </Appearance> |
907 | </Shape> |
908 |
<!-- ROUTE information for ClockFR2 node:
[from touchOpenFR2.touchTime to set_startTime
]
[from fraction_changed to doorFR2PathOpen.set_fraction
]
-->
<TimeSensor DEF='ClockFR2' cycleInterval='3'/> |
909 |
<!-- ROUTE information for doorFR2PathOpen node:
[from ClockFR2.fraction_changed to set_fraction
]
[from value_changed to FRONTROOMDOOR2.set_rotation
]
-->
<OrientationInterpolator DEF='doorFR2PathOpen' key='0 0.34 0.68 1' keyValue='0 1 0 0 0 1 0 0.4 0 1 0 0.7 0 1 0 0.9'/> |
910 |
<!-- ROUTE information for touchOpenFR2 node:
[from touchTime to ClockFR2.set_startTime
]
-->
<TouchSensor DEF='touchOpenFR2' description='touch to open'/> |
911 | < ROUTE fromNode='touchOpenFR2' fromField='touchTime' toNode='ClockFR2' toField='set_startTime'/> |
912 | < ROUTE fromNode='ClockFR2' fromField='fraction_changed' toNode='doorFR2PathOpen' toField='set_fraction'/> |
913 | < ROUTE fromNode='doorFR2PathOpen' fromField='value_changed' toNode='FRONTROOMDOOR2' toField='set_rotation'/> |
914 | </Transform> |
915 | <Transform translation='-0.4 0 0.05'> |
916 | <Shape USE='knubOut'/> |
917 |
<!-- ROUTE information for ClockCloseFR2 node:
[from touchCloseFR2.touchTime to set_startTime
]
[from fraction_changed to doorFR2PathClose.set_fraction
]
-->
<TimeSensor DEF='ClockCloseFR2' cycleInterval='2'/> |
918 |
<!-- ROUTE information for doorFR2PathClose node:
[from ClockCloseFR2.fraction_changed to set_fraction
]
[from value_changed to FRONTROOMDOOR2.set_rotation
]
-->
<OrientationInterpolator DEF='doorFR2PathClose' key='0 0.34 0.68 1' keyValue='0 1 0 0.9 0 1 0 0.7 0 1 0 0.4 0 1 0 0'/> |
919 |
<!-- ROUTE information for touchCloseFR2 node:
[from touchTime to ClockCloseFR2.set_startTime
]
-->
<TouchSensor DEF='touchCloseFR2' description='touch to close'/> |
920 | < ROUTE fromNode='touchCloseFR2' fromField='touchTime' toNode='ClockCloseFR2' toField='set_startTime'/> |
921 | < ROUTE fromNode='ClockCloseFR2' fromField='fraction_changed' toNode='doorFR2PathClose' toField='set_fraction'/> |
922 | < ROUTE fromNode='doorFR2PathClose' fromField='value_changed' toNode='FRONTROOMDOOR2' toField='set_rotation'/> |
923 | </Transform> |
924 | </Transform> |
925 | </Group> |
926 | <Group DEF='roofandcelling'> |
927 | <Transform DEF='roof1' center='0 4 0' rotation='1 0 0 1' scale='1 1 0.01' translation='3 4.1 -5.8'> |
928 | |
929 | <Cone bottomRadius='6.1' height='7.3'/> |
930 | <Appearance DEF='roofapp'> |
931 | <Material diffuseColor='0 0.2 1'/> |
932 |
<!-- ImageTexture
wellWall is a DEF node that has 1 USE node: USE_1 --> <ImageTexture DEF='wellWall' url=' "wellWall.jpg " "https://savage.nps.edu/Savage/Buildings/HouseSeksitSiripala/wellWall.jpg " '/> |
933 | </Appearance> |
934 | </Shape> |
935 | </Transform> |
936 | <Transform DEF='roof2' center='0 4 0' rotation='1 0 0 -1' scale='1 1 0.01' translation='3 4.1 -6.4'> |
937 | <Shape USE='roofpart1'/> |
938 | </Transform> |
939 | <Transform DEF='roof3' center='0 4 0' rotation='0 0 1 -1' scale='0.02 1 1' translation='3.4 4.1 -6.1'> |
940 | <Shape USE='roofpart1'/> |
941 | </Transform> |
942 | <Transform DEF='roof4' center='0 4 0' rotation='0 0 1 1' scale='0.02 1 1' translation='2.6 4.1 -6.1'> |
943 | <Shape USE='roofpart1'/> |
944 | </Transform> |
945 | <Transform DEF='celling1' translation='3 4.075 -6'> |
946 | <Shape DEF='celling1shape'> |
947 | <Box size='12 0.05 12'/> |
948 | <Appearance DEF='cellingapp'> |
949 | <Material diffuseColor='0 0.2 1'/> |
950 | <ImageTexture USE='wellWall'/> |
951 | </Appearance> |
952 | </Shape> |
953 | </Transform> |
954 | </Group> |
955 | <Group> |
956 | <Transform translation='-6 0 0'> |
957 | <Inline url=' "Tree.x3d" "https://savage.nps.edu/Savage/Buildings/HouseSeksitSiripala/Tree.x3d" "Tree.wrl" "https://savage.nps.edu/Savage/Buildings/HouseSeksitSiripala/Tree.wrl" '/> |
958 | </Transform> |
959 | <Transform rotation='0 1 0 -1.57' scale='0.5 0.5 0.5' translation='-2.5 0.5 -5.5'> |
960 | <Inline url=' "Desk.x3d" "https://savage.nps.edu/Savage/Buildings/HouseSeksitSiripala/Desk.x3d" "Desk.wrl" "https://savage.nps.edu/Savage/Buildings/HouseSeksitSiripala/Desk.wrl" '/> |
961 | </Transform> |
962 | <Transform rotation='0 1 0 1.57' scale='0.5 0.5 0.5' translation='-2.5 1.4 -5.5'> |
963 | <Inline url=' "TV.x3d" "https://savage.nps.edu/Savage/Buildings/HouseSeksitSiripala/TV.x3d" "TV.wrl" "https://savage.nps.edu/Savage/Buildings/HouseSeksitSiripala/TV.wrl" '/> |
964 | </Transform> |
965 | <Transform rotation='0 1 0 -3.14' scale='0.35 0.35 0.35' translation='1 0.10 -5.5'> |
966 | <Inline url=' "Sofa.x3d" "https://savage.nps.edu/Savage/Buildings/HouseSeksitSiripala/Sofa.x3d" "Sofa.wrl" "https://savage.nps.edu/Savage/Buildings/HouseSeksitSiripala/Sofa.wrl" '/> |
967 | </Transform> |
968 | <Transform scale='0.5 0.5 0.5' translation='4.5 1 -5.5'> |
969 | <Inline url=' "Table.x3d" "https://savage.nps.edu/Savage/Buildings/HouseSeksitSiripala/Table.x3d" "Table.wrl" "https://savage.nps.edu/Savage/Buildings/HouseSeksitSiripala/Table.wrl" '/> |
970 | </Transform> |
971 | <Transform scale='0.25 0.25 0.25' translation='5.5 0.50 -5.5'> |
972 |
<!-- Inline
Chair is a DEF node that has 1 USE node: USE_1 --> <Inline DEF='Chair' url=' "Chair.x3d" "https://savage.nps.edu/Savage/Buildings/HouseSeksitSiripala/Chair.x3d" "Chair.wrl" "http://web.nps.navy.mil/~brutzmanChair/Savage/Buildings/HouseSeksitSiripala/Chair.wrl" '/> |
973 | </Transform> |
974 | <Transform rotation='0 1 0 3.14' scale='0.25 0.25 0.25' translation='3.5 0.50 -5.5'> |
975 | <Inline USE='Chair'/> |
976 | </Transform> |
977 | <Transform rotation='0 1 0 3.14' scale='0.40 0.40 0.40' translation='3.25 0.32 -11'> |
978 |
<!-- Inline
Bed is a DEF node that has 1 USE node: USE_1 --> <Inline DEF='Bed' url=' "Bed.x3d" "https://savage.nps.edu/Savage/Buildings/HouseSeksitSiripala/Bed.x3d" "Bed.wrl" "https://savage.nps.edu/Savage/Buildings/HouseSeksitSiripala/Bed.wrl" '/> |
979 | </Transform> |
980 | <Transform rotation='0 1 0 3.14' scale='0.40 0.40 0.40' translation='-1.25 0.32 -11'> |
981 | <Inline USE='Bed'/> |
982 | </Transform> |
983 | <Transform rotation='0 1 0 1.57' scale='0.7 0.7 0.7' translation='7.35 0.35 -8.2'> |
984 | <Inline url=' "Cabinet.x3d" "https://savage.nps.edu/Savage/Buildings/HouseSeksitSiripala/Cabinet.x3d" "Cabinet.wrl" "https://savage.nps.edu/Savage/Buildings/HouseSeksitSiripala/Cabinet.wrl" '/> |
985 | </Transform> |
986 | <Transform rotation='0 1 0 1.57' translation='7.35 0.75 -9.5'> |
987 | <Inline url=' "Refrigerator.x3d" "https://savage.nps.edu/Savage/Buildings/HouseSeksitSiripala/Refrigerator.x3d" "Refrigerator.wrl" "https://savage.nps.edu/Savage/Buildings/HouseSeksitSiripala/Refrigerator.wrl" '/> |
988 | </Transform> |
989 | <Transform rotation='0 1 0 3.14' scale='0.25 0.25 0.25' translation='6 0.75 -0.5'> |
990 | <Inline url=' "Toilet.x3d" "https://savage.nps.edu/Savage/Buildings/HouseSeksitSiripala/Toilet.x3d" "Toilet.wrl" "https://savage.nps.edu/Savage/Buildings/HouseSeksitSiripala/Toilet.wrl" '/> |
991 | <Sound DEF='toilet' location='-0.957652 0.102433 0.970123' minBack='12.0' minFront='12.0' priority='1.0'> |
992 | <AudioClip DEF='Sound1clip_5' description='toilet flushing sound' url=' "toilet.wav" "https://savage.nps.edu/Savage/Buildings/HouseSeksitSiripala/toilet.wav" '/> |
993 | </Sound> |
994 | </Transform> |
995 | </Group> |
996 | </Scene> |
997 | </X3D> |
Event Graph ROUTE Table entries with 86 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.
backWindow1Close
TouchSensor touchTime SFTime |
backWindow1Clock2
TimeSensor set_startTime SFTime |
then
|
backWindow1Clock2
TimeSensor fraction_changed SFFloat |
backWindow1Pos2
PositionInterpolator set_fraction SFFloat |
then
|
backWindow1Pos2
PositionInterpolator value_changed SFVec3f |
BACKWINDOW1
Transform set_translation SFVec3f |
backWindow1Open
TouchSensor touchTime SFTime |
backWindow1Clock
TimeSensor set_startTime SFTime |
then
|
backWindow1Clock
TimeSensor fraction_changed SFFloat |
backWindow1Pos
PositionInterpolator set_fraction SFFloat |
then
|
backWindow1Pos
PositionInterpolator value_changed SFVec3f |
BACKWINDOW1
Transform set_translation SFVec3f |
backWindow2Close
TouchSensor touchTime SFTime |
backWindow2Clock2
TimeSensor set_startTime SFTime |
then
|
backWindow2Clock2
TimeSensor fraction_changed SFFloat |
backWindow2Pos2
PositionInterpolator set_fraction SFFloat |
then
|
backWindow2Pos2
PositionInterpolator value_changed SFVec3f |
BACKWINDOW2
Transform set_translation SFVec3f |
backWindow2Open
TouchSensor touchTime SFTime |
backWindow2Clock
TimeSensor set_startTime SFTime |
then
|
backWindow2Clock
TimeSensor fraction_changed SFFloat |
backWindow2Pos
PositionInterpolator set_fraction SFFloat |
then
|
backWindow2Pos
PositionInterpolator value_changed SFVec3f |
BACKWINDOW2
Transform set_translation SFVec3f |
backWindow3Close
TouchSensor touchTime SFTime |
backWindow3Clock2
TimeSensor set_startTime SFTime |
then
|
backWindow3Clock2
TimeSensor fraction_changed SFFloat |
backWindow3Pos2
PositionInterpolator set_fraction SFFloat |
then
|
backWindow3Pos2
PositionInterpolator value_changed SFVec3f |
BACKWINDOW3
Transform set_translation SFVec3f |
backWindow3Open
TouchSensor touchTime SFTime |
backWindow3Clock
TimeSensor set_startTime SFTime |
then
|
backWindow3Clock
TimeSensor fraction_changed SFFloat |
backWindow3Pos
PositionInterpolator set_fraction SFFloat |
then
|
backWindow3Pos
PositionInterpolator value_changed SFVec3f |
BACKWINDOW3
Transform set_translation SFVec3f |
leftWindow1Close
TouchSensor touchTime SFTime |
leftWindow1Clock2
TimeSensor set_startTime SFTime |
then
|
leftWindow1Clock2
TimeSensor fraction_changed SFFloat |
leftWindow1Pos2
PositionInterpolator set_fraction SFFloat |
then
|
leftWindow1Pos2
PositionInterpolator value_changed SFVec3f |
LEFTWINDOW1
Transform set_translation |