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='Chess8Levels.x3d'/> |
6 | <meta name='description' content='Multi-layered Chess Board in 3 dimensions.'/> |
7 | <meta name='creator' content='John W. Carls'/> |
8 | <meta name='created' content='9 August 2002'/> |
9 | <meta name='modified' content='20 October 2019'/> |
10 | <meta name='version' content='0.3'/> |
11 | <meta name=' warning ' content=' functionality incomplete for full game play '/> |
12 | <meta name='identifier' content='https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/Chess8Levels.x3d'/> |
13 | <meta name='generator' content='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/> |
14 | <meta name='license' content='../license.html'/> |
15 | </head> |
16 | <Scene> |
17 | <!-- Multi-layered chess board construction. --> |
18 | <WorldInfo title='Chess8Levels.x3d'/> |
19 | <Group DEF='board'> |
20 | |
21 | |
22 | <Transform> |
23 | |
24 | <Box size='1 0.01 1'/> |
25 | <Appearance> |
26 | <Material diffuseColor='.25 1 .25' transparency='.125'/> |
27 | </Appearance> |
28 | </Shape> |
29 | </Transform> |
30 | <Transform translation='1 0 0'> |
31 | |
32 | <Box size='1 0.01 1'/> |
33 | <Appearance> |
34 | <Material diffuseColor='.25 .25 1' transparency='.125'/> |
35 | </Appearance> |
36 | </Shape> |
37 | </Transform> |
38 | <Transform translation='2 0 0'> |
39 | <Shape USE='GreenSquare'/> |
40 | </Transform> |
41 | <Transform translation='3 0 0'> |
42 | <Shape USE='BlueSquare'/> |
43 | </Transform> |
44 | <Transform translation='-1 0 0'> |
45 | <Shape USE='BlueSquare'/> |
46 | </Transform> |
47 | <Transform translation='-2 0 0'> |
48 | <Shape USE='GreenSquare'/> |
49 | </Transform> |
50 | <Transform translation='-3 0 0'> |
51 | <Shape USE='BlueSquare'/> |
52 | </Transform> |
53 | <Transform translation='-4 0 0'> |
54 | <Shape USE='GreenSquare'/> |
55 | </Transform> |
56 | </Group> |
57 | <Transform translation='0 0 -1'> |
58 | |
59 | <Transform> |
60 | <Shape USE='BlueSquare'/> |
61 | </Transform> |
62 | <Transform translation='1 0 0'> |
63 | <Shape USE='GreenSquare'/> |
64 | </Transform> |
65 | <Transform translation='2 0 0'> |
66 | <Shape USE='BlueSquare'/> |
67 | </Transform> |
68 | <Transform translation='3 0 0'> |
69 | <Shape USE='GreenSquare'/> |
70 | </Transform> |
71 | <Transform translation='-1 0 0'> |
72 | <Shape USE='GreenSquare'/> |
73 | </Transform> |
74 | <Transform translation='-2 0 0'> |
75 | <Shape USE='BlueSquare'/> |
76 | </Transform> |
77 | <Transform translation='-3 0 0'> |
78 | <Shape USE='GreenSquare'/> |
79 | </Transform> |
80 | <Transform translation='-4 0 0'> |
81 | <Shape USE='BlueSquare'/> |
82 | </Transform> |
83 | </Group> |
84 | </Transform> |
85 | <Transform translation='0 0 -2'> |
86 | <Group USE='Row1'/> |
87 | </Transform> |
88 | <Transform translation='0 0 -3'> |
89 | <Group USE='Row2'/> |
90 | </Transform> |
91 | <Transform translation='0 0 -4'> |
92 | <Group USE='Row1'/> |
93 | </Transform> |
94 | <Transform translation='0 0 1'> |
95 | <Group USE='Row2'/> |
96 | </Transform> |
97 | <Transform translation='0 0 2'> |
98 | <Group USE='Row1'/> |
99 | </Transform> |
100 | <Transform translation='0 0 3'> |
101 | <Group USE='Row2'/> |
102 | </Transform> |
103 | </Transform> |
104 | <Transform translation='0 -4 0'> |
105 | <Transform USE='X_Plane'/> |
106 | </Transform> |
107 | <Transform rotation='0 1 0 1.57' translation='0 -3 -1'> |
108 | <Transform USE='X_Plane'/> |
109 | </Transform> |
110 | <Transform translation='0 -2 0'> |
111 | <Transform USE='X_Plane'/> |
112 | </Transform> |
113 | <Transform rotation='0 1 0 1.57' translation='0 -1 -1'> |
114 | <Transform USE='X_Plane'/> |
115 | </Transform> |
116 | <Transform rotation='0 1 0 1.57' translation='0 1 -1'> |
117 | <Transform USE='X_Plane'/> |
118 | </Transform> |
119 | <Transform translation='0 2 0'> |
120 | <Transform USE='X_Plane'/> |
121 | </Transform> |
122 | <Transform rotation='0 1 0 1.57' translation='0 3 -1'> |
123 | <Transform USE='X_Plane'/> |
124 | </Transform> |
125 | <Transform translation='0 4 0'> |
126 | <Transform USE='X_Plane'/> |
127 | </Transform> |
128 | </Group> |
129 |
<!-- ROUTE information for RedPawn1 node:
[from RedPawn1PathInterpolator.value_changed to set_rotation
]
[from RedPawn1PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='RedPawn1' translation='-4 0 -3'> |
130 | |
131 | <Transform translation='0 .415 0'> |
132 | <Transform> |
133 | <Shape> |
134 | <Sphere radius='.1875'/> |
135 | |
136 | <Material diffuseColor='1 .25 .25'/> |
137 | </Appearance> |
138 | </Shape> |
139 | </Transform> |
140 | </Transform> |
141 | |
142 | <Transform DEF='chesspiecebase' translation='0 0.04 0'> |
143 | <Shape> |
144 | <Cylinder height='.0625' radius='.1875'/> |
145 | </Shape> |
146 | </Transform> |
147 | <Transform DEF='redpiecepost' translation='0 .165 0'> |
148 | <Shape> |
149 | <Cylinder height='.25' radius='.0825'/> |
150 | <Appearance USE='Red'/> |
151 | </Shape> |
152 | </Transform> |
153 | </Group> |
154 | </Group> |
155 |
<!-- ROUTE information for RedPawn1TouchSensor node:
[from isOver to REDPAWN1CLOCK.set_enabled
]
-->
<TouchSensor DEF='RedPawn1TouchSensor'/> |
156 |
<!-- ROUTE information for REDPAWN1CLOCK node:
[from RedPawn1TouchSensor.isOver to set_enabled
]
[from fraction_changed to RedPawn1PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='REDPAWN1CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
157 |
<!-- ROUTE information for RedPawn1PathInterpolator node:
[from REDPAWN1CLOCK.fraction_changed to set_fraction
]
[from value_changed to RedPawn1.set_rotation
]
-->
<OrientationInterpolator DEF='RedPawn1PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
158 |
<!-- ROUTE information for RedPawn1PlaneSensor node:
[from translation_changed to RedPawn1.set_translation
]
-->
<PlaneSensor DEF='RedPawn1PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='-4 1 -2'/> |
159 | <Group> |
160 | < ROUTE fromNode='RedPawn1TouchSensor' fromField='isOver' toNode='REDPAWN1CLOCK' toField='set_enabled'/> |
161 | < ROUTE fromNode='REDPAWN1CLOCK' fromField='fraction_changed' toNode='RedPawn1PathInterpolator' toField='set_fraction'/> |
162 | < ROUTE fromNode='RedPawn1PathInterpolator' fromField='value_changed' toNode='RedPawn1' toField='set_rotation'/> |
163 | </Group> |
164 | <Group> |
165 | < ROUTE fromNode='RedPawn1PlaneSensor' fromField='translation_changed' toNode='RedPawn1' toField='set_translation'/> |
166 | </Group> |
167 | </Transform> |
168 |
<!-- ROUTE information for RedPawn2 node:
[from RedPawn2PathInterpolator.value_changed to set_rotation
]
[from RedPawn2PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='RedPawn2' translation='-3 0 -3'> |
169 | <Group USE='redpawn'/> |
170 |
<!-- ROUTE information for RedPawn2TouchSensor node:
[from isOver to REDPAWN2CLOCK.set_enabled
]
-->
<TouchSensor DEF='RedPawn2TouchSensor'/> |
171 |
<!-- ROUTE information for REDPAWN2CLOCK node:
[from RedPawn2TouchSensor.isOver to set_enabled
]
[from fraction_changed to RedPawn2PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='REDPAWN2CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
172 |
<!-- ROUTE information for RedPawn2PathInterpolator node:
[from REDPAWN2CLOCK.fraction_changed to set_fraction
]
[from value_changed to RedPawn2.set_rotation
]
-->
<OrientationInterpolator DEF='RedPawn2PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
173 |
<!-- ROUTE information for RedPawn2PlaneSensor node:
[from translation_changed to RedPawn2.set_translation
]
-->
<PlaneSensor DEF='RedPawn2PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='-3 -1 -2'/> |
174 | <Group> |
175 | < ROUTE fromNode='RedPawn2TouchSensor' fromField='isOver' toNode='REDPAWN2CLOCK' toField='set_enabled'/> |
176 | < ROUTE fromNode='REDPAWN2CLOCK' fromField='fraction_changed' toNode='RedPawn2PathInterpolator' toField='set_fraction'/> |
177 | < ROUTE fromNode='RedPawn2PathInterpolator' fromField='value_changed' toNode='RedPawn2' toField='set_rotation'/> |
178 | </Group> |
179 | <Group> |
180 | < ROUTE fromNode='RedPawn2PlaneSensor' fromField='translation_changed' toNode='RedPawn2' toField='set_translation'/> |
181 | </Group> |
182 | </Transform> |
183 |
<!-- ROUTE information for RedPawn3 node:
[from RedPawn3PathInterpolator.value_changed to set_rotation
]
[from RedPawn3PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='RedPawn3' translation='-2 0 -3'> |
184 | <Group USE='redpawn'/> |
185 |
<!-- ROUTE information for RedPawn3TouchSensor node:
[from isOver to REDPAWN3CLOCK.set_enabled
]
-->
<TouchSensor DEF='RedPawn3TouchSensor'/> |
186 |
<!-- ROUTE information for REDPAWN3CLOCK node:
[from RedPawn3TouchSensor.isOver to set_enabled
]
[from fraction_changed to RedPawn3PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='REDPAWN3CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
187 |
<!-- ROUTE information for RedPawn3PathInterpolator node:
[from REDPAWN3CLOCK.fraction_changed to set_fraction
]
[from value_changed to RedPawn3.set_rotation
]
-->
<OrientationInterpolator DEF='RedPawn3PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
188 |
<!-- ROUTE information for RedPawn3PlaneSensor node:
[from translation_changed to RedPawn3.set_translation
]
-->
<PlaneSensor DEF='RedPawn3PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='-2 1 -2'/> |
189 | <Group> |
190 | < ROUTE fromNode='RedPawn3TouchSensor' fromField='isOver' toNode='REDPAWN3CLOCK' toField='set_enabled'/> |
191 | < ROUTE fromNode='REDPAWN3CLOCK' fromField='fraction_changed' toNode='RedPawn3PathInterpolator' toField='set_fraction'/> |
192 | < ROUTE fromNode='RedPawn3PathInterpolator' fromField='value_changed' toNode='RedPawn3' toField='set_rotation'/> |
193 | </Group> |
194 | <Group> |
195 | < ROUTE fromNode='RedPawn3PlaneSensor' fromField='translation_changed' toNode='RedPawn3' toField='set_translation'/> |
196 | </Group> |
197 | </Transform> |
198 |
<!-- ROUTE information for RedPawn4 node:
[from RedPawn4PathInterpolator.value_changed to set_rotation
]
[from RedPawn4PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='RedPawn4' translation='-1 0 -3'> |
199 | <Group USE='redpawn'/> |
200 |
<!-- ROUTE information for RedPawn4TouchSensor node:
[from isOver to REDPAWN4CLOCK.set_enabled
]
-->
<TouchSensor DEF='RedPawn4TouchSensor'/> |
201 |
<!-- ROUTE information for REDPAWN4CLOCK node:
[from RedPawn4TouchSensor.isOver to set_enabled
]
[from fraction_changed to RedPawn4PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='REDPAWN4CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
202 |
<!-- ROUTE information for RedPawn4PathInterpolator node:
[from REDPAWN4CLOCK.fraction_changed to set_fraction
]
[from value_changed to RedPawn4.set_rotation
]
-->
<OrientationInterpolator DEF='RedPawn4PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
203 |
<!-- ROUTE information for RedPawn4PlaneSensor node:
[from translation_changed to RedPawn4.set_translation
]
-->
<PlaneSensor DEF='RedPawn4PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='-1 2 -2'/> |
204 | <Group> |
205 | < ROUTE fromNode='RedPawn4TouchSensor' fromField='isOver' toNode='REDPAWN4CLOCK' toField='set_enabled'/> |
206 | < ROUTE fromNode='REDPAWN4CLOCK' fromField='fraction_changed' toNode='RedPawn4PathInterpolator' toField='set_fraction'/> |
207 | < ROUTE fromNode='RedPawn4PathInterpolator' fromField='value_changed' toNode='RedPawn4' toField='set_rotation'/> |
208 | </Group> |
209 | <Group> |
210 | < ROUTE fromNode='RedPawn4PlaneSensor' fromField='translation_changed' toNode='RedPawn4' toField='set_translation'/> |
211 | </Group> |
212 | </Transform> |
213 |
<!-- ROUTE information for RedPawn5 node:
[from RedPawn5PathInterpolator.value_changed to set_rotation
]
[from RedPawn5PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='RedPawn5' translation='0 0 -3'> |
214 | <Group USE='redpawn'/> |
215 |
<!-- ROUTE information for RedPawn5TouchSensor node:
[from isOver to REDPAWN5CLOCK.set_enabled
]
-->
<TouchSensor DEF='RedPawn5TouchSensor'/> |
216 |
<!-- ROUTE information for REDPAWN5CLOCK node:
[from RedPawn5TouchSensor.isOver to set_enabled
]
[from fraction_changed to RedPawn5PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='REDPAWN5CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
217 |
<!-- ROUTE information for RedPawn5PathInterpolator node:
[from REDPAWN5CLOCK.fraction_changed to set_fraction
]
[from value_changed to RedPawn5.set_rotation
]
-->
<OrientationInterpolator DEF='RedPawn5PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
218 |
<!-- ROUTE information for RedPawn5PlaneSensor node:
[from translation_changed to RedPawn5.set_translation
]
-->
<PlaneSensor DEF='RedPawn5PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='0 -2 -2'/> |
219 | <Group> |
220 | < ROUTE fromNode='RedPawn5TouchSensor' fromField='isOver' toNode='REDPAWN5CLOCK' toField='set_enabled'/> |
221 | < ROUTE fromNode='REDPAWN5CLOCK' fromField='fraction_changed' toNode='RedPawn5PathInterpolator' toField='set_fraction'/> |
222 | < ROUTE fromNode='RedPawn5PathInterpolator' fromField='value_changed' toNode='RedPawn5' toField='set_rotation'/> |
223 | </Group> |
224 | <Group> |
225 | < ROUTE fromNode='RedPawn5PlaneSensor' fromField='translation_changed' toNode='RedPawn5' toField='set_translation'/> |
226 | </Group> |
227 | </Transform> |
228 |
<!-- ROUTE information for RedPawn6 node:
[from RedPawn6PathInterpolator.value_changed to set_rotation
]
[from RedPawn6PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='RedPawn6' translation='1 0 -3'> |
229 | <Group USE='redpawn'/> |
230 |
<!-- ROUTE information for RedPawn6TouchSensor node:
[from isOver to REDPAWN6CLOCK.set_enabled
]
-->
<TouchSensor DEF='RedPawn6TouchSensor'/> |
231 |
<!-- ROUTE information for REDPAWN6CLOCK node:
[from RedPawn6TouchSensor.isOver to set_enabled
]
[from fraction_changed to RedPawn6PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='REDPAWN6CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
232 |
<!-- ROUTE information for RedPawn6PathInterpolator node:
[from REDPAWN6CLOCK.fraction_changed to set_fraction
]
[from value_changed to RedPawn6.set_rotation
]
-->
<OrientationInterpolator DEF='RedPawn6PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
233 |
<!-- ROUTE information for RedPawn6PlaneSensor node:
[from translation_changed to RedPawn6.set_translation
]
-->
<PlaneSensor DEF='RedPawn6PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='1 1 -1'/> |
234 | <Group> |
235 | < ROUTE fromNode='RedPawn6TouchSensor' fromField='isOver' toNode='REDPAWN6CLOCK' toField='set_enabled'/> |
236 | < ROUTE fromNode='REDPAWN6CLOCK' fromField='fraction_changed' toNode='RedPawn6PathInterpolator' toField='set_fraction'/> |
237 | < ROUTE fromNode='RedPawn6PathInterpolator' fromField='value_changed' toNode='RedPawn6' toField='set_rotation'/> |
238 | </Group> |
239 | <Group> |
240 | < ROUTE fromNode='RedPawn6PlaneSensor' fromField='translation_changed' toNode='RedPawn6' toField='set_translation'/> |
241 | </Group> |
242 | </Transform> |
243 |
<!-- ROUTE information for RedPawn7 node:
[from RedPawn7PathInterpolator.value_changed to set_rotation
]
[from RedPawn7PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='RedPawn7' translation='2 0 -3'> |
244 | <Group USE='redpawn'/> |
245 |
<!-- ROUTE information for RedPawn7TouchSensor node:
[from isOver to REDPAWN7CLOCK.set_enabled
]
-->
<TouchSensor DEF='RedPawn7TouchSensor'/> |
246 |
<!-- ROUTE information for REDPAWN7CLOCK node:
[from RedPawn7TouchSensor.isOver to set_enabled
]
[from fraction_changed to RedPawn7PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='REDPAWN7CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
247 |
<!-- ROUTE information for RedPawn7PathInterpolator node:
[from REDPAWN7CLOCK.fraction_changed to set_fraction
]
[from value_changed to RedPawn7.set_rotation
]
-->
<OrientationInterpolator DEF='RedPawn7PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
248 |
<!-- ROUTE information for RedPawn7PlaneSensor node:
[from translation_changed to RedPawn7.set_translation
]
-->
<PlaneSensor DEF='RedPawn7PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='2 1 -1'/> |
249 | <Group> |
250 | < ROUTE fromNode='RedPawn7TouchSensor' fromField='isOver' toNode='REDPAWN7CLOCK' toField='set_enabled'/> |
251 | < ROUTE fromNode='REDPAWN7CLOCK' fromField='fraction_changed' toNode='RedPawn7PathInterpolator' toField='set_fraction'/> |
252 | < ROUTE fromNode='RedPawn7PathInterpolator' fromField='value_changed' toNode='RedPawn7' toField='set_rotation'/> |
253 | </Group> |
254 | <Group> |
255 | < ROUTE fromNode='RedPawn7PlaneSensor' fromField='translation_changed' toNode='RedPawn7' toField='set_translation'/> |
256 | </Group> |
257 | </Transform> |
258 |
<!-- ROUTE information for RedPawn8 node:
[from RedPawn8PathInterpolator.value_changed to set_rotation
]
[from RedPawn8PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='RedPawn8' translation='3 0 -3'> |
259 | <Group USE='redpawn'/> |
260 |
<!-- ROUTE information for RedPawn8TouchSensor node:
[from isOver to REDPAWN8CLOCK.set_enabled
]
-->
<TouchSensor DEF='RedPawn8TouchSensor'/> |
261 |
<!-- ROUTE information for REDPAWN8CLOCK node:
[from RedPawn8TouchSensor.isOver to set_enabled
]
[from fraction_changed to RedPawn8PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='REDPAWN8CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
262 |
<!-- ROUTE information for RedPawn8PathInterpolator node:
[from REDPAWN8CLOCK.fraction_changed to set_fraction
]
[from value_changed to RedPawn8.set_rotation
]
-->
<OrientationInterpolator DEF='RedPawn8PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
263 |
<!-- ROUTE information for RedPawn8PlaneSensor node:
[from translation_changed to RedPawn8.set_translation
]
-->
<PlaneSensor DEF='RedPawn8PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='3 0 -2'/> |
264 | <Group> |
265 | < ROUTE fromNode='RedPawn8TouchSensor' fromField='isOver' toNode='REDPAWN8CLOCK' toField='set_enabled'/> |
266 | < ROUTE fromNode='REDPAWN8CLOCK' fromField='fraction_changed' toNode='RedPawn8PathInterpolator' toField='set_fraction'/> |
267 | < ROUTE fromNode='RedPawn8PathInterpolator' fromField='value_changed' toNode='RedPawn8' toField='set_rotation'/> |
268 | </Group> |
269 | <Group> |
270 | < ROUTE fromNode='RedPawn8PlaneSensor' fromField='translation_changed' toNode='RedPawn8' toField='set_translation'/> |
271 | </Group> |
272 | </Transform> |
273 |
<!-- ROUTE information for RedCastle1 node:
[from RedCastle1PathInterpolator.value_changed to set_rotation
]
[from RedCastle1PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='RedCastle1' translation='-4 0 -4'> |
274 | <Group> |
275 | <Group USE='redpiecebase'/> |
276 | <Group> |
277 | <Transform translation='0 0.45 0'> |
278 | <Shape> |
279 | <Box size='.3 .45 .3'/> |
280 | <Appearance USE='Red'/> |
281 | </Shape> |
282 | </Transform> |
283 | <Transform rotation='0 1 0 0.52' translation='0 0.45 0'> |
284 | <Shape> |
285 | <Box size='.3 .45 .3'/> |
286 | <Appearance USE='Red'/> |
287 | </Shape> |
288 | </Transform> |
289 | <Transform rotation='0 1 0 1.04' translation='0 0.45 0'> |
290 | <Shape> |
291 | <Box size='.3 .45 .3'/> |
292 | <Appearance USE='Red'/> |
293 | </Shape> |
294 | </Transform> |
295 | </Group> |
296 | </Group> |
297 |
<!-- ROUTE information for RedCastle1TouchSensor node:
[from isOver to REDCASTLE1CLOCK.set_enabled
]
-->
<TouchSensor DEF='RedCastle1TouchSensor'/> |
298 |
<!-- ROUTE information for REDCASTLE1CLOCK node:
[from RedCastle1TouchSensor.isOver to set_enabled
]
[from fraction_changed to RedCastle1PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='REDCASTLE1CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
299 |
<!-- ROUTE information for RedCastle1PathInterpolator node:
[from REDCASTLE1CLOCK.fraction_changed to set_fraction
]
[from value_changed to RedCastle1.set_rotation
]
-->
<OrientationInterpolator DEF='RedCastle1PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
300 |
<!-- ROUTE information for RedCastle1PlaneSensor node:
[from translation_changed to RedCastle1.set_translation
]
-->
<PlaneSensor DEF='RedCastle1PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='-4 3 -4'/> |
301 | <Group> |
302 | < ROUTE fromNode='RedCastle1TouchSensor' fromField='isOver' toNode='REDCASTLE1CLOCK' toField='set_enabled'/> |
303 | < ROUTE fromNode='REDCASTLE1CLOCK' fromField='fraction_changed' toNode='RedCastle1PathInterpolator' toField='set_fraction'/> |
304 | < ROUTE fromNode='RedCastle1PathInterpolator' fromField='value_changed' toNode='RedCastle1' toField='set_rotation'/> |
305 | </Group> |
306 | <Group> |
307 | < ROUTE fromNode='RedCastle1PlaneSensor' fromField='translation_changed' toNode='RedCastle1' toField='set_translation'/> |
308 | </Group> |
309 | </Transform> |
310 |
<!-- ROUTE information for RedKnight1 node:
[from RedKnight1PathInterpolator.value_changed to set_rotation
]
[from RedKnight1PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='RedKnight1' translation='-3 0 -4'> |
311 | <Group> |
312 | <Group USE='redpiecebase'/> |
313 | <Transform translation='0 0.45 0'> |
314 | <Shape> |
315 | <Cylinder height='0.45' radius='0.125'/> |
316 | <Appearance USE='Red'/> |
317 | </Shape> |
318 | </Transform> |
319 | <Transform rotation='1 0 0 5.27' translation='0 0.55 0.075'> |
320 | <Shape> |
321 | <Cone bottomRadius='0.1' height='0.4'/> |
322 | <Appearance USE='Red'/> |
323 | </Shape> |
324 | </Transform> |
325 | </Group> |
326 |
<!-- ROUTE information for RedKnight1TouchSensor node:
[from isOver to REDKNIGHT1CLOCK.set_enabled
]
-->
<TouchSensor DEF='RedKnight1TouchSensor'/> |
327 |
<!-- ROUTE information for REDKNIGHT1CLOCK node:
[from RedKnight1TouchSensor.isOver to set_enabled
]
[from fraction_changed to RedKnight1PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='REDKNIGHT1CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
328 |
<!-- ROUTE information for RedKnight1PathInterpolator node:
[from REDKNIGHT1CLOCK.fraction_changed to set_fraction
]
[from value_changed to RedKnight1.set_rotation
]
-->
<OrientationInterpolator DEF='RedKnight1PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
329 |
<!-- ROUTE information for RedKnight1PlaneSensor node:
[from translation_changed to RedKnight1.set_translation
]
-->
<PlaneSensor DEF='RedKnight1PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='-2 0 -2'/> |
330 | <Group> |
331 | < ROUTE fromNode='RedKnight1TouchSensor' fromField='isOver' toNode='REDKNIGHT1CLOCK' toField='set_enabled'/> |
332 | < ROUTE fromNode='REDKNIGHT1CLOCK' fromField='fraction_changed' toNode='RedKnight1PathInterpolator' toField='set_fraction'/> |
333 | < ROUTE fromNode='RedKnight1PathInterpolator' fromField='value_changed' toNode='RedKnight1' toField='set_rotation'/> |
334 | </Group> |
335 | <Group> |
336 | < ROUTE fromNode='RedKnight1PlaneSensor' fromField='translation_changed' toNode='RedKnight1' toField='set_translation'/> |
337 | </Group> |
338 | </Transform> |
339 |
<!-- ROUTE information for RedBishop1 node:
[from RedBishop1PathInterpolator.value_changed to set_rotation
]
[from RedBishop1PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='RedBishop1' translation='-2 0 -4'> |
340 | <Group> |
341 | <Group USE='redpiecebase'/> |
342 | <Transform translation='0 0.45 0'> |
343 | <Shape> |
344 | <Cone bottomRadius='.15' height='.5'/> |
345 | <Appearance USE='Red'/> |
346 | </Shape> |
347 | </Transform> |
348 | </Group> |
349 |
<!-- ROUTE information for RedBishop1TouchSensor node:
[from isOver to REDBISHOP1CLOCK.set_enabled
]
-->
<TouchSensor DEF='RedBishop1TouchSensor'/> |
350 |
<!-- ROUTE information for REDBISHOP1CLOCK node:
[from RedBishop1TouchSensor.isOver to set_enabled
]
[from fraction_changed to RedBishop1PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='REDBISHOP1CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
351 |
<!-- ROUTE information for RedBishop1PathInterpolator node:
[from REDBISHOP1CLOCK.fraction_changed to set_fraction
]
[from value_changed to RedBishop1.set_rotation
]
-->
<OrientationInterpolator DEF='RedBishop1PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
352 |
<!-- ROUTE information for RedBishop1PlaneSensor node:
[from translation_changed to RedBishop1.set_translation
]
-->
<PlaneSensor DEF='RedBishop1PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='0 -4 -2'/> |
353 | <Group> |
354 | < ROUTE fromNode='RedBishop1TouchSensor' fromField='isOver' toNode='REDBISHOP1CLOCK' toField='set_enabled'/> |
355 | < ROUTE fromNode='REDBISHOP1CLOCK' fromField='fraction_changed' toNode='RedBishop1PathInterpolator' toField='set_fraction'/> |
356 | < ROUTE fromNode='RedBishop1PathInterpolator' fromField='value_changed' toNode='RedBishop1' toField='set_rotation'/> |
357 | </Group> |
358 | <Group> |
359 | < ROUTE fromNode='RedBishop1PlaneSensor' fromField='translation_changed' toNode='RedBishop1' toField='set_translation'/> |
360 | </Group> |
361 | </Transform> |
362 |
<!-- ROUTE information for RedKing node:
[from RedKingPathInterpolator.value_changed to set_rotation
]
[from RedKingPlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='RedKing' translation='-1 0 -4'> |
363 | <Group> |
364 | <Group USE='redpiecebase'/> |
365 | <Transform translation='0 0.4 0'> |
366 | <Shape> |
367 | <Cone bottomRadius='.10' height='.25'/> |
368 | <Appearance USE='Red'/> |
369 | </Shape> |
370 | </Transform> |
371 | <Transform scale='.035 .035 .035' translation='0 0.4 0'> |
372 | |
373 | <IndexedFaceSet convex='false' coordIndex='0 1 2 3 4 5 6 -1 0 12 11 10 9 8 7 -1 0 7 1 -1 1 7 8 2 -1 2 8 9 3 -1 3 9 10 4 -1 4 10 11 5 -1 5 11 12 6 -1 6 12 0'> |
374 | <Coordinate point='0.0 0.0 0.0 5.5 5.0 0.88 4.0 5.5 0.968 7.0 8.0 1.408 4.0 9.0 1.584 1.0 5.0 0.88 2.5 4.5 0.792 5.5 5.0 -0.88 4.0 5.5 -0.968 7.0 8.0 -1.408 4.0 9.0 -1.584 1.0 5.0 -0.88 2.5 4.5 -0.792'/> |
375 | </IndexedFaceSet> |
376 | <Appearance USE='Red'/> |
377 | </Shape> |
378 | <Transform rotation='0 1 0 45'> |
379 | <Shape USE='RedBolt'/> |
380 | </Transform> |
381 | <Transform rotation='0 1 0 90'> |
382 | <Shape USE='RedBolt'/> |
383 | </Transform> |
384 | <Transform rotation='0 1 0 135'> |
385 | <Shape USE='RedBolt'/> |
386 | </Transform> |
387 | <Transform rotation='0 1 0 180'> |
388 | <Shape USE='RedBolt'/> |
389 | </Transform> |
390 | <Transform rotation='0 1 0 225'> |
391 | <Shape USE='RedBolt'/> |
392 | </Transform> |
393 | </Transform> |
394 | <Transform translation='0 .8 0'> |
395 | <Group> |
396 | <Shape> |
397 | <Box size='.25 .02 .02'/> |
398 | <Appearance USE='Red'/> |
399 | </Shape> |
400 | <Shape> |
401 | <Box size='.02 .25 .02'/> |
402 | <Appearance USE='Red'/> |
403 | </Shape> |
404 | <Shape> |
405 | <Box size='.02 .02 .25'/> |
406 | <Appearance USE='Red'/> |
407 | </Shape> |
408 | </Group> |
409 | </Transform> |
410 | </Group> |
411 |
<!-- ROUTE information for RedKingTouchSensor node:
[from isOver to REDKINGCLOCK.set_enabled
]
-->
<TouchSensor DEF='RedKingTouchSensor'/> |
412 |
<!-- ROUTE information for REDKINGCLOCK node:
[from RedKingTouchSensor.isOver to set_enabled
]
[from fraction_changed to RedKingPathInterpolator.set_fraction
]
-->
<TimeSensor DEF='REDKINGCLOCK' cycleInterval='4' enabled='false' loop='true'/> |
413 |
<!-- ROUTE information for RedKingPathInterpolator node:
[from REDKINGCLOCK.fraction_changed to set_fraction
]
[from value_changed to RedKing.set_rotation
]
-->
<OrientationInterpolator DEF='RedKingPathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
414 |
<!-- ROUTE information for RedKingPlaneSensor node:
[from translation_changed to RedKing.set_translation
]
-->
<PlaneSensor DEF='RedKingPlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='-1 1 -4'/> |
415 | <Group> |
416 | < ROUTE fromNode='RedKingTouchSensor' fromField='isOver' toNode='REDKINGCLOCK' toField='set_enabled'/> |
417 | < ROUTE fromNode='REDKINGCLOCK' fromField='fraction_changed' toNode='RedKingPathInterpolator' toField='set_fraction'/> |
418 | < ROUTE fromNode='RedKingPathInterpolator' fromField='value_changed' toNode='RedKing' toField='set_rotation'/> |
419 | </Group> |
420 | <Group> |
421 | < ROUTE fromNode='RedKingPlaneSensor' fromField='translation_changed' toNode='RedKing' toField='set_translation'/> |
422 | </Group> |
423 | </Transform> |
424 |
<!-- ROUTE information for RedQueen node:
[from RedQueenPathInterpolator.value_changed to set_rotation
]
[from RedQueenPlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='RedQueen' translation='0 0 -4'> |
425 | <Group> |
426 | <Group USE='redpiecebase'/> |
427 | <Transform translation='0 0.4 0'> |
428 | <Shape> |
429 | <Cone bottomRadius='.10' height='.25'/> |
430 | <Appearance USE='Red'/> |
431 | </Shape> |
432 | </Transform> |
433 | <Transform scale='.035 .035 .035' translation='0 0.4 0'> |
434 | <Shape USE='RedBolt'/> |
435 | <Transform rotation='0 1 0 45'> |
436 | <Shape USE='RedBolt'/> |
437 | </Transform> |
438 | <Transform rotation='0 1 0 90'> |
439 | <Shape USE='RedBolt'/> |
440 | </Transform> |
441 | <Transform rotation='0 1 0 135'> |
442 | <Shape USE='RedBolt'/> |
443 | </Transform> |
444 | <Transform rotation='0 1 0 180'> |
445 | <Shape USE='RedBolt'/> |
446 | </Transform> |
447 | <Transform rotation='0 1 0 225'> |
448 | <Shape USE='RedBolt'/> |
449 | </Transform> |
450 | </Transform> |
451 | </Group> |
452 |
<!-- ROUTE information for RedQueenTouchSensor node:
[from isOver to REDQUEENCLOCK.set_enabled
]
-->
<TouchSensor DEF='RedQueenTouchSensor'/> |
453 |
<!-- ROUTE information for REDQUEENCLOCK node:
[from RedQueenTouchSensor.isOver to set_enabled
]
[from fraction_changed to RedQueenPathInterpolator.set_fraction
]
-->
<TimeSensor DEF='REDQUEENCLOCK' cycleInterval='4' enabled='false' loop='true'/> |
454 |
<!-- ROUTE information for RedQueenPathInterpolator node:
[from REDQUEENCLOCK.fraction_changed to set_fraction
]
[from value_changed to RedQueen.set_rotation
]
-->
<OrientationInterpolator DEF='RedQueenPathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
455 |
<!-- ROUTE information for RedQueenPlaneSensor node:
[from translation_changed to RedQueen.set_translation
]
-->
<PlaneSensor DEF='RedQueenPlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='0 3 3'/> |
456 | <Group> |
457 | < ROUTE fromNode='RedQueenTouchSensor' fromField='isOver' toNode='REDQUEENCLOCK' toField='set_enabled'/> |
458 | < ROUTE fromNode='REDQUEENCLOCK' fromField='fraction_changed' toNode='RedQueenPathInterpolator' toField='set_fraction'/> |
459 | < ROUTE fromNode='RedQueenPathInterpolator' fromField='value_changed' toNode='RedQueen' toField='set_rotation'/> |
460 | </Group> |
461 | <Group> |
462 | < ROUTE fromNode='RedQueenPlaneSensor' fromField='translation_changed' toNode='RedQueen' toField='set_translation'/> |
463 | </Group> |
464 | </Transform> |
465 |
<!-- ROUTE information for RedBishop2 node:
[from RedBishop2PathInterpolator.value_changed to set_rotation
]
[from RedBishop2PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='RedBishop2' translation='1 0 -4'> |
466 | <Group> |
467 | <Group USE='redpiecebase'/> |
468 | <Transform translation='0 0.45 0'> |
469 | <Shape> |
470 | <Cone bottomRadius='.15' height='.5'/> |
471 | <Appearance> |
472 | <Material diffuseColor='1 .25 .25'/> |
473 | </Appearance> |
474 | </Shape> |
475 | </Transform> |
476 | </Group> |
477 |
<!-- ROUTE information for RedBishop2TouchSensor node:
[from isOver to REDBISHOP2CLOCK.set_enabled
]
-->
<TouchSensor DEF='RedBishop2TouchSensor'/> |
478 |
<!-- ROUTE information for REDBISHOP2CLOCK node:
[from RedBishop2TouchSensor.isOver to set_enabled
]
[from fraction_changed to RedBishop2PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='REDBISHOP2CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
479 |
<!-- ROUTE information for RedBishop2PathInterpolator node:
[from REDBISHOP2CLOCK.fraction_changed to set_fraction
]
[from value_changed to RedBishop2.set_rotation
]
-->
<OrientationInterpolator DEF='RedBishop2PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
480 |
<!-- ROUTE information for RedBishop2PlaneSensor node:
[from translation_changed to RedBishop2.set_translation
]
-->
<PlaneSensor DEF='RedBishop2PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='0 4 -2'/> |
481 | <Group> |
482 | < ROUTE fromNode='RedBishop2TouchSensor' fromField='isOver' toNode='REDBISHOP2CLOCK' toField='set_enabled'/> |
483 | < ROUTE fromNode='REDBISHOP2CLOCK' fromField='fraction_changed' toNode='RedBishop2PathInterpolator' toField='set_fraction'/> |
484 | < ROUTE fromNode='RedBishop2PathInterpolator' fromField='value_changed' toNode='RedBishop2' toField='set_rotation'/> |
485 | </Group> |
486 | <Group> |
487 | < ROUTE fromNode='RedBishop2PlaneSensor' fromField='translation_changed' toNode='RedBishop2' toField='set_translation'/> |
488 | </Group> |
489 | </Transform> |
490 |
<!-- ROUTE information for RedKnight2 node:
[from RedKnight2PathInterpolator.value_changed to set_rotation
]
[from RedKnight2PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='RedKnight2' translation='2 0 -4'> |
491 | <Group> |
492 | <Group USE='redpiecebase'/> |
493 | <Transform translation='0 0.45 0'> |
494 | <Shape> |
495 | <Cylinder height='0.45' radius='0.125'/> |
496 | <Appearance USE='Red'/> |
497 | </Shape> |
498 | </Transform> |
499 | <Transform rotation='1 0 0 5.27' translation='0 0.55 0.075'> |
500 | <Shape> |
501 | <Cone bottomRadius='0.1' height='0.4'/> |
502 | <Appearance USE='Red'/> |
503 | </Shape> |
504 | </Transform> |
505 | </Group> |
506 |
<!-- ROUTE information for RedKnight2TouchSensor node:
[from isOver to REDKNIGHT2CLOCK.set_enabled
]
-->
<TouchSensor DEF='RedKnight2TouchSensor'/> |
507 |
<!-- ROUTE information for REDKNIGHT2CLOCK node:
[from RedKnight2TouchSensor.isOver to set_enabled
]
[from fraction_changed to RedKnight2PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='REDKNIGHT2CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
508 |
<!-- ROUTE information for RedKnight2PathInterpolator node:
[from REDKNIGHT2CLOCK.fraction_changed to set_fraction
]
[from value_changed to RedKnight2.set_rotation
]
-->
<OrientationInterpolator DEF='RedKnight2PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
509 |
<!-- ROUTE information for RedKnight2PlaneSensor node:
[from translation_changed to RedKnight2.set_translation
]
-->
<PlaneSensor DEF='RedKnight2PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='0 0 -2'/> |
510 | <Group> |
511 | < ROUTE fromNode='RedKnight2TouchSensor' fromField='isOver' toNode='REDKNIGHT2CLOCK' toField='set_enabled'/> |
512 | < ROUTE fromNode='REDKNIGHT2CLOCK' fromField='fraction_changed' toNode='RedKnight2PathInterpolator' toField='set_fraction'/> |
513 | < ROUTE fromNode='RedKnight2PathInterpolator' fromField='value_changed' toNode='RedKnight2' toField='set_rotation'/> |
514 | </Group> |
515 | <Group> |
516 | < ROUTE fromNode='RedKnight2PlaneSensor' fromField='translation_changed' toNode='RedKnight2' toField='set_translation'/> |
517 | </Group> |
518 | </Transform> |
519 |
<!-- ROUTE information for RedCastle2 node:
[from RedCastle2PathInterpolator.value_changed to set_rotation
]
[from RedCastle2PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='RedCastle2' translation='3 0 -4'> |
520 | <Group> |
521 | <Group USE='redpiecebase'/> |
522 | <Group> |
523 | <Transform translation='0 0.45 0'> |
524 | <Shape> |
525 | <Box size='.3 .45 .3'/> |
526 | <Appearance> |
527 | <Material diffuseColor='1 .25 .25'/> |
528 | </Appearance> |
529 | </Shape> |
530 | </Transform> |
531 | <Transform rotation='0 1 0 0.52' translation='0 0.45 0'> |
532 | <Shape> |
533 | <Box size='.3 .45 .3'/> |
534 | <Appearance> |
535 | <Material diffuseColor='1 .25 .25'/> |
536 | </Appearance> |
537 | </Shape> |
538 | </Transform> |
539 | <Transform rotation='0 1 0 1.04' translation='0 0.45 0'> |
540 | <Shape> |
541 | <Box size='.3 .45 .3'/> |
542 | <Appearance> |
543 | <Material diffuseColor='1 .25 .25'/> |
544 | </Appearance> |
545 | </Shape> |
546 | </Transform> |
547 | </Group> |
548 | </Group> |
549 |
<!-- ROUTE information for RedCastle2TouchSensor node:
[from isOver to REDCASTLE2CLOCK.set_enabled
]
-->
<TouchSensor DEF='RedCastle2TouchSensor'/> |
550 |
<!-- ROUTE information for REDCASTLE2CLOCK node:
[from RedCastle2TouchSensor.isOver to set_enabled
]
[from fraction_changed to RedCastle2PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='REDCASTLE2CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
551 |
<!-- ROUTE information for RedCastle2PathInterpolator node:
[from REDCASTLE2CLOCK.fraction_changed to set_fraction
]
[from value_changed to RedCastle2.set_rotation
]
-->
<OrientationInterpolator DEF='RedCastle2PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
552 |
<!-- ROUTE information for RedCastle2PlaneSensor node:
[from translation_changed to RedCastle2.set_translation
]
-->
<PlaneSensor DEF='RedCastle2PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='3 -4 -4'/> |
553 | <Group> |
554 | < ROUTE fromNode='RedCastle2TouchSensor' fromField='isOver' toNode='REDCASTLE2CLOCK' toField='set_enabled'/> |
555 | < ROUTE fromNode='REDCASTLE2CLOCK' fromField='fraction_changed' toNode='RedCastle2PathInterpolator' toField='set_fraction'/> |
556 | < ROUTE fromNode='RedCastle2PathInterpolator' fromField='value_changed' toNode='RedCastle2' toField='set_rotation'/> |
557 | </Group> |
558 | <Group> |
559 | < ROUTE fromNode='RedCastle2PlaneSensor' fromField='translation_changed' toNode='RedCastle2' toField='set_translation'/> |
560 | </Group> |
561 | </Transform> |
562 |
<!-- ROUTE information for BluePawn1 node:
[from BluePawn1PathInterpolator.value_changed to set_rotation
]
[from BluePawn1PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='BluePawn1' translation='-4 0 2'> |
563 | |
564 | <Transform translation='0 .415 0'> |
565 | <Transform> |
566 | <Shape> |
567 | <Sphere radius='.1875'/> |
568 | |
569 | <Material diffuseColor='.25 1 1'/> |
570 | </Appearance> |
571 | </Shape> |
572 | </Transform> |
573 | </Transform> |
574 | |
575 | <Transform translation='0 0.04 0'> |
576 | <Shape> |
577 | <Cylinder height='.0625' radius='.1875'/> |
578 | </Shape> |
579 | </Transform> |
580 | <Transform DEF='bluepiecepost' translation='0 .165 0'> |
581 | <Shape> |
582 | <Cylinder height='.25' radius='.0825'/> |
583 | <Appearance USE='Aqua'/> |
584 | </Shape> |
585 | </Transform> |
586 | </Group> |
587 | </Group> |
588 |
<!-- ROUTE information for BluePawn1TouchSensor node:
[from isOver to BLUEPAWN1CLOCK.set_enabled
]
-->
<TouchSensor DEF='BluePawn1TouchSensor'/> |
589 |
<!-- ROUTE information for BLUEPAWN1CLOCK node:
[from BluePawn1TouchSensor.isOver to set_enabled
]
[from fraction_changed to BluePawn1PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='BLUEPAWN1CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
590 |
<!-- ROUTE information for BluePawn1PathInterpolator node:
[from BLUEPAWN1CLOCK.fraction_changed to set_fraction
]
[from value_changed to BluePawn1.set_rotation
]
-->
<OrientationInterpolator DEF='BluePawn1PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
591 |
<!-- ROUTE information for BluePawn1PlaneSensor node:
[from translation_changed to BluePawn1.set_translation
]
-->
<PlaneSensor DEF='BluePawn1PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='-4 1 2'/> |
592 | <Group> |
593 | < ROUTE fromNode='BluePawn1TouchSensor' fromField='isOver' toNode='BLUEPAWN1CLOCK' toField='set_enabled'/> |
594 | < ROUTE fromNode='BLUEPAWN1CLOCK' fromField='fraction_changed' toNode='BluePawn1PathInterpolator' toField='set_fraction'/> |
595 | < ROUTE fromNode='BluePawn1PathInterpolator' fromField='value_changed' toNode='BluePawn1' toField='set_rotation'/> |
596 | </Group> |
597 | <Group> |
598 | < ROUTE fromNode='BluePawn1PlaneSensor' fromField='translation_changed' toNode='BluePawn1' toField='set_translation'/> |
599 | </Group> |
600 | </Transform> |
601 |
<!-- ROUTE information for BluePawn2 node:
[from BluePawn2PathInterpolator.value_changed to set_rotation
]
[from BluePawn2PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='BluePawn2' translation='-3 0 2'> |
602 | <Group USE='aquapawn'/> |
603 |
<!-- ROUTE information for BluePawn2TouchSensor node:
[from isOver to BLUEPAWN2CLOCK.set_enabled
]
-->
<TouchSensor DEF='BluePawn2TouchSensor'/> |
604 |
<!-- ROUTE information for BLUEPAWN2CLOCK node:
[from BluePawn2TouchSensor.isOver to set_enabled
]
[from fraction_changed to BluePawn2PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='BLUEPAWN2CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
605 |
<!-- ROUTE information for BluePawn2PathInterpolator node:
[from BLUEPAWN2CLOCK.fraction_changed to set_fraction
]
[from value_changed to BluePawn2.set_rotation
]
-->
<OrientationInterpolator DEF='BluePawn2PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
606 |
<!-- ROUTE information for BluePawn2PlaneSensor node:
[from translation_changed to BluePawn2.set_translation
]
-->
<PlaneSensor DEF='BluePawn2PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='-3 1 1'/> |
607 | <Group> |
608 | < ROUTE fromNode='BluePawn2TouchSensor' fromField='isOver' toNode='BLUEPAWN2CLOCK' toField='set_enabled'/> |
609 | < ROUTE fromNode='BLUEPAWN2CLOCK' fromField='fraction_changed' toNode='BluePawn2PathInterpolator' toField='set_fraction'/> |
610 | < ROUTE fromNode='BluePawn2PathInterpolator' fromField='value_changed' toNode='BluePawn2' toField='set_rotation'/> |
611 | </Group> |
612 | <Group> |
613 | < ROUTE fromNode='BluePawn2PlaneSensor' fromField='translation_changed' toNode='BluePawn2' toField='set_translation'/> |
614 | </Group> |
615 | </Transform> |
616 |
<!-- ROUTE information for BluePawn3 node:
[from BluePawn3PathInterpolator.value_changed to set_rotation
]
[from BluePawn3PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='BluePawn3' translation='-2 0 2'> |
617 | <Group USE='aquapawn'/> |
618 |
<!-- ROUTE information for BluePawn3TouchSensor node:
[from isOver to BLUEPAWN3CLOCK.set_enabled
]
-->
<TouchSensor DEF='BluePawn3TouchSensor'/> |
619 |
<!-- ROUTE information for BLUEPAWN3CLOCK node:
[from BluePawn3TouchSensor.isOver to set_enabled
]
[from fraction_changed to BluePawn3PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='BLUEPAWN3CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
620 |
<!-- ROUTE information for BluePawn3PathInterpolator node:
[from BLUEPAWN3CLOCK.fraction_changed to set_fraction
]
[from value_changed to BluePawn3.set_rotation
]
-->
<OrientationInterpolator DEF='BluePawn3PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
621 |
<!-- ROUTE information for BluePawn3PlaneSensor node:
[from translation_changed to BluePawn3.set_translation
]
-->
<PlaneSensor DEF='BluePawn3PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='-2 2 2'/> |
622 | <Group> |
623 | < ROUTE fromNode='BluePawn3TouchSensor' fromField='isOver' toNode='BLUEPAWN3CLOCK' toField='set_enabled'/> |
624 | < ROUTE fromNode='BLUEPAWN3CLOCK' fromField='fraction_changed' toNode='BluePawn3PathInterpolator' toField='set_fraction'/> |
625 | < ROUTE fromNode='BluePawn3PathInterpolator' fromField='value_changed' toNode='BluePawn3' toField='set_rotation'/> |
626 | </Group> |
627 | <Group> |
628 | < ROUTE fromNode='BluePawn3PlaneSensor' fromField='translation_changed' toNode='BluePawn3' toField='set_translation'/> |
629 | </Group> |
630 | </Transform> |
631 |
<!-- ROUTE information for BluePawn4 node:
[from BluePawn4PathInterpolator.value_changed to set_rotation
]
[from BluePawn4PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='BluePawn4' translation='-1 0 2'> |
632 | <Group USE='aquapawn'/> |
633 |
<!-- ROUTE information for BluePawn4TouchSensor node:
[from isOver to BLUEPAWN4CLOCK.set_enabled
]
-->
<TouchSensor DEF='BluePawn4TouchSensor'/> |
634 |
<!-- ROUTE information for BLUEPAWN4CLOCK node:
[from BluePawn4TouchSensor.isOver to set_enabled
]
[from fraction_changed to BluePawn4PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='BLUEPAWN4CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
635 |
<!-- ROUTE information for BluePawn4PathInterpolator node:
[from BLUEPAWN4CLOCK.fraction_changed to set_fraction
]
[from value_changed to BluePawn4.set_rotation
]
-->
<OrientationInterpolator DEF='BluePawn4PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
636 |
<!-- ROUTE information for BluePawn4PlaneSensor node:
[from translation_changed to BluePawn4.set_translation
]
-->
<PlaneSensor DEF='BluePawn4PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='-1 1 2'/> |
637 | <Group> |
638 | < ROUTE fromNode='BluePawn4TouchSensor' fromField='isOver' toNode='BLUEPAWN4CLOCK' toField='set_enabled'/> |
639 | < ROUTE fromNode='BLUEPAWN4CLOCK' fromField='fraction_changed' toNode='BluePawn4PathInterpolator' toField='set_fraction'/> |
640 | < ROUTE fromNode='BluePawn4PathInterpolator' fromField='value_changed' toNode='BluePawn4' toField='set_rotation'/> |
641 | </Group> |
642 | <Group> |
643 | < ROUTE fromNode='BluePawn4PlaneSensor' fromField='translation_changed' toNode='BluePawn4' toField='set_translation'/> |
644 | </Group> |
645 | </Transform> |
646 |
<!-- ROUTE information for BluePawn5 node:
[from BluePawn5PathInterpolator.value_changed to set_rotation
]
[from BluePawn5PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='BluePawn5' translation='0 0 2'> |
647 | <Group USE='aquapawn'/> |
648 |
<!-- ROUTE information for BluePawn5TouchSensor node:
[from isOver to BLUEPAWN5CLOCK.set_enabled
]
-->
<TouchSensor DEF='BluePawn5TouchSensor'/> |
649 |
<!-- ROUTE information for BLUEPAWN5CLOCK node:
[from BluePawn5TouchSensor.isOver to set_enabled
]
[from fraction_changed to BluePawn5PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='BLUEPAWN5CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
650 |
<!-- ROUTE information for BluePawn5PathInterpolator node:
[from BLUEPAWN5CLOCK.fraction_changed to set_fraction
]
[from value_changed to BluePawn5.set_rotation
]
-->
<OrientationInterpolator DEF='BluePawn5PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
651 |
<!-- ROUTE information for BluePawn5PlaneSensor node:
[from translation_changed to BluePawn5.set_translation
]
-->
<PlaneSensor DEF='BluePawn5PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='0 -1 1'/> |
652 | <Group> |
653 | < ROUTE fromNode='BluePawn5TouchSensor' fromField='isOver' toNode='BLUEPAWN5CLOCK' toField='set_enabled'/> |
654 | < ROUTE fromNode='BLUEPAWN5CLOCK' fromField='fraction_changed' toNode='BluePawn5PathInterpolator' toField='set_fraction'/> |
655 | < ROUTE fromNode='BluePawn5PathInterpolator' fromField='value_changed' toNode='BluePawn5' toField='set_rotation'/> |
656 | </Group> |
657 | <Group> |
658 | < ROUTE fromNode='BluePawn5PlaneSensor' fromField='translation_changed' toNode='BluePawn5' toField='set_translation'/> |
659 | </Group> |
660 | </Transform> |
661 |
<!-- ROUTE information for BluePawn6 node:
[from BluePawn6PathInterpolator.value_changed to set_rotation
]
[from BluePawn6PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='BluePawn6' translation='1 0 2'> |
662 | <Group USE='aquapawn'/> |
663 |
<!-- ROUTE information for BluePawn6TouchSensor node:
[from isOver to BLUEPAWN6CLOCK.set_enabled
]
-->
<TouchSensor DEF='BluePawn6TouchSensor'/> |
664 |
<!-- ROUTE information for BLUEPAWN6CLOCK node:
[from BluePawn6TouchSensor.isOver to set_enabled
]
[from fraction_changed to BluePawn6PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='BLUEPAWN6CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
665 |
<!-- ROUTE information for BluePawn6PathInterpolator node:
[from BLUEPAWN6CLOCK.fraction_changed to set_fraction
]
[from value_changed to BluePawn6.set_rotation
]
-->
<OrientationInterpolator DEF='BluePawn6PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
666 |
<!-- ROUTE information for BluePawn6PlaneSensor node:
[from translation_changed to BluePawn6.set_translation
]
-->
<PlaneSensor DEF='BluePawn6PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='1 1 1'/> |
667 | <Group> |
668 | < ROUTE fromNode='BluePawn6TouchSensor' fromField='isOver' toNode='BLUEPAWN6CLOCK' toField='set_enabled'/> |
669 | < ROUTE fromNode='BLUEPAWN6CLOCK' fromField='fraction_changed' toNode='BluePawn6PathInterpolator' toField='set_fraction'/> |
670 | < ROUTE fromNode='BluePawn6PathInterpolator' fromField='value_changed' toNode='BluePawn6' toField='set_rotation'/> |
671 | </Group> |
672 | <Group> |
673 | < ROUTE fromNode='BluePawn6PlaneSensor' fromField='translation_changed' toNode='BluePawn6' toField='set_translation'/> |
674 | </Group> |
675 | </Transform> |
676 |
<!-- ROUTE information for BluePawn7 node:
[from BluePawn7PathInterpolator.value_changed to set_rotation
]
[from BluePawn7PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='BluePawn7' translation='2 0 2'> |
677 | <Group USE='aquapawn'/> |
678 |
<!-- ROUTE information for BluePawn7TouchSensor node:
[from isOver to BLUEPAWN7CLOCK.set_enabled
]
-->
<TouchSensor DEF='BluePawn7TouchSensor'/> |
679 |
<!-- ROUTE information for BLUEPAWN7CLOCK node:
[from BluePawn7TouchSensor.isOver to set_enabled
]
[from fraction_changed to BluePawn7PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='BLUEPAWN7CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
680 |
<!-- ROUTE information for BluePawn7PathInterpolator node:
[from BLUEPAWN7CLOCK.fraction_changed to set_fraction
]
[from value_changed to BluePawn7.set_rotation
]
-->
<OrientationInterpolator DEF='BluePawn7PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
681 |
<!-- ROUTE information for BluePawn7PlaneSensor node:
[from translation_changed to BluePawn7.set_translation
]
-->
<PlaneSensor DEF='BluePawn7PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='2 1 2'/> |
682 | <Group> |
683 | < ROUTE fromNode='BluePawn7TouchSensor' fromField='isOver' toNode='BLUEPAWN7CLOCK' toField='set_enabled'/> |
684 | < ROUTE fromNode='BLUEPAWN7CLOCK' fromField='fraction_changed' toNode='BluePawn7PathInterpolator' toField='set_fraction'/> |
685 | < ROUTE fromNode='BluePawn7PathInterpolator' fromField='value_changed' toNode='BluePawn7' toField='set_rotation'/> |
686 | </Group> |
687 | <Group> |
688 | < ROUTE fromNode='BluePawn7PlaneSensor' fromField='translation_changed' toNode='BluePawn7' toField='set_translation'/> |
689 | </Group> |
690 | </Transform> |
691 |
<!-- ROUTE information for BluePawn8 node:
[from BluePawn8PathInterpolator.value_changed to set_rotation
]
[from BluePawn8PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='BluePawn8' translation='3 0 2'> |
692 | <Group USE='aquapawn'/> |
693 |
<!-- ROUTE information for BluePawn8TouchSensor node:
[from isOver to BLUEPAWN8CLOCK.set_enabled
]
-->
<TouchSensor DEF='BluePawn8TouchSensor'/> |
694 |
<!-- ROUTE information for BLUEPAWN8CLOCK node:
[from BluePawn8TouchSensor.isOver to set_enabled
]
[from fraction_changed to BluePawn8PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='BLUEPAWN8CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
695 |
<!-- ROUTE information for BluePawn8PathInterpolator node:
[from BLUEPAWN8CLOCK.fraction_changed to set_fraction
]
[from value_changed to BluePawn8.set_rotation
]
-->
<OrientationInterpolator DEF='BluePawn8PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
696 |
<!-- ROUTE information for BluePawn8PlaneSensor node:
[from translation_changed to BluePawn8.set_translation
]
-->
<PlaneSensor DEF='BluePawn8PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='3 1 2'/> |
697 | <Group> |
698 | < ROUTE fromNode='BluePawn8TouchSensor' fromField='isOver' toNode='BLUEPAWN8CLOCK' toField='set_enabled'/> |
699 | < ROUTE fromNode='BLUEPAWN8CLOCK' fromField='fraction_changed' toNode='BluePawn8PathInterpolator' toField='set_fraction'/> |
700 | < ROUTE fromNode='BluePawn8PathInterpolator' fromField='value_changed' toNode='BluePawn8' toField='set_rotation'/> |
701 | </Group> |
702 | <Group> |
703 | < ROUTE fromNode='BluePawn8PlaneSensor' fromField='translation_changed' toNode='BluePawn8' toField='set_translation'/> |
704 | </Group> |
705 | </Transform> |
706 |
<!-- ROUTE information for BlueCastle1 node:
[from BlueCastle1PathInterpolator.value_changed to set_rotation
]
[from BlueCastle1PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='BlueCastle1' translation='-4 0 3'> |
707 | <Group> |
708 | <Group USE='bluepiecebase'/> |
709 | <Group> |
710 | <Transform translation='0 0.45 0'> |
711 | <Shape> |
712 | <Box size='.3 .45 .3'/> |
713 | <Appearance USE='Aqua'/> |
714 | </Shape> |
715 | </Transform> |
716 | <Transform rotation='0 1 0 0.52' translation='0 0.45 0'> |
717 | <Shape> |
718 | <Box size='.3 .45 .3'/> |
719 | <Appearance USE='Aqua'/> |
720 | </Shape> |
721 | </Transform> |
722 | <Transform rotation='0 1 0 1.04' translation='0 0.45 0'> |
723 | <Shape> |
724 | <Box size='.3 .45 .3'/> |
725 | <Appearance USE='Aqua'/> |
726 | </Shape> |
727 | </Transform> |
728 | </Group> |
729 | </Group> |
730 |
<!-- ROUTE information for BlueCastle1TouchSensor node:
[from isOver to BLUECASTLE1CLOCK.set_enabled
]
-->
<TouchSensor DEF='BlueCastle1TouchSensor'/> |
731 |
<!-- ROUTE information for BLUECASTLE1CLOCK node:
[from BlueCastle1TouchSensor.isOver to set_enabled
]
[from fraction_changed to BlueCastle1PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='BLUECASTLE1CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
732 |
<!-- ROUTE information for BlueCastle1PathInterpolator node:
[from BLUECASTLE1CLOCK.fraction_changed to set_fraction
]
[from value_changed to BlueCastle1.set_rotation
]
-->
<OrientationInterpolator DEF='BlueCastle1PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
733 |
<!-- ROUTE information for BlueCastle1PlaneSensor node:
[from translation_changed to BlueCastle1.set_translation
]
-->
<PlaneSensor DEF='BlueCastle1PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='-4 4 3'/> |
734 | <Group> |
735 | < ROUTE fromNode='BlueCastle1TouchSensor' fromField='isOver' toNode='BLUECASTLE1CLOCK' toField='set_enabled'/> |
736 | < ROUTE fromNode='BLUECASTLE1CLOCK' fromField='fraction_changed' toNode='BlueCastle1PathInterpolator' toField='set_fraction'/> |
737 | < ROUTE fromNode='BlueCastle1PathInterpolator' fromField='value_changed' toNode='BlueCastle1' toField='set_rotation'/> |
738 | </Group> |
739 | <Group> |
740 | < ROUTE fromNode='BlueCastle1PlaneSensor' fromField='translation_changed' toNode='BlueCastle1' toField='set_translation'/> |
741 | </Group> |
742 | </Transform> |
743 |
<!-- ROUTE information for BlueKnight1 node:
[from BlueKnight1PathInterpolator.value_changed to set_rotation
]
[from BlueKnight1PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='BlueKnight1' translation='-3 0 3'> |
744 | <Group> |
745 | <Group USE='bluepiecebase'/> |
746 | <Transform translation='0 0.45 0'> |
747 | <Shape> |
748 | <Cylinder height='0.45' radius='0.125'/> |
749 | <Appearance USE='Aqua'/> |
750 | </Shape> |
751 | </Transform> |
752 | <Transform rotation='-1 0 0 5.27' translation='0 0.55 -0.075'> |
753 | <Shape> |
754 | <Cone bottomRadius='0.1' height='0.4'/> |
755 | <Appearance USE='Aqua'/> |
756 | </Shape> |
757 | </Transform> |
758 | </Group> |
759 |
<!-- ROUTE information for BlueKnight1TouchSensor node:
[from isOver to BLUEKNIGHT1CLOCK.set_enabled
]
-->
<TouchSensor DEF='BlueKnight1TouchSensor'/> |
760 |
<!-- ROUTE information for BLUEKNIGHT1CLOCK node:
[from BlueKnight1TouchSensor.isOver to set_enabled
]
[from fraction_changed to BlueKnight1PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='BLUEKNIGHT1CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
761 |
<!-- ROUTE information for BlueKnight1PathInterpolator node:
[from BLUEKNIGHT1CLOCK.fraction_changed to set_fraction
]
[from value_changed to BlueKnight1.set_rotation
]
-->
<OrientationInterpolator DEF='BlueKnight1PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
762 |
<!-- ROUTE information for BlueKnight1PlaneSensor node:
[from translation_changed to BlueKnight1.set_translation
]
-->
<PlaneSensor DEF='BlueKnight1PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='-4 0 1'/> |
763 | <Group> |
764 | < ROUTE fromNode='BlueKnight1TouchSensor' fromField='isOver' toNode='BLUEKNIGHT1CLOCK' toField='set_enabled'/> |
765 | < ROUTE fromNode='BLUEKNIGHT1CLOCK' fromField='fraction_changed' toNode='BlueKnight1PathInterpolator' toField='set_fraction'/> |
766 | < ROUTE fromNode='BlueKnight1PathInterpolator' fromField='value_changed' toNode='BlueKnight1' toField='set_rotation'/> |
767 | </Group> |
768 | <Group> |
769 | < ROUTE fromNode='BlueKnight1PlaneSensor' fromField='translation_changed' toNode='BlueKnight1' toField='set_translation'/> |
770 | </Group> |
771 | </Transform> |
772 |
<!-- ROUTE information for BlueBishop1 node:
[from BlueBishop1PathInterpolator.value_changed to set_rotation
]
[from BlueBishop1PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='BlueBishop1' translation='-2 0 3'> |
773 | <Group> |
774 | <Group USE='bluepiecebase'/> |
775 | <Group> |
776 | <Transform translation='0 0.45 0'> |
777 | <Shape> |
778 | <Cone bottomRadius='.15' height='.5'/> |
779 | <Appearance USE='Aqua'/> |
780 | </Shape> |
781 | </Transform> |
782 | </Group> |
783 | </Group> |
784 |
<!-- ROUTE information for BlueBishop1TouchSensor node:
[from isOver to BLUEBISHOP1CLOCK.set_enabled
]
-->
<TouchSensor DEF='BlueBishop1TouchSensor'/> |
785 |
<!-- ROUTE information for BLUEBISHOP1CLOCK node:
[from BlueBishop1TouchSensor.isOver to set_enabled
]
[from fraction_changed to BlueBishop1PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='BLUEBISHOP1CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
786 |
<!-- ROUTE information for BlueBishop1PathInterpolator node:
[from BLUEBISHOP1CLOCK.fraction_changed to set_fraction
]
[from value_changed to BlueBishop1.set_rotation
]
-->
<OrientationInterpolator DEF='BlueBishop1PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
787 |
<!-- ROUTE information for BlueBishop1PlaneSensor node:
[from translation_changed to BlueBishop1.set_translation
]
-->
<PlaneSensor DEF='BlueBishop1PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='-2 3 0'/> |
788 | <Group> |
789 | < ROUTE fromNode='BlueBishop1TouchSensor' fromField='isOver' toNode='BLUEBISHOP1CLOCK' toField='set_enabled'/> |
790 | < ROUTE fromNode='BLUEBISHOP1CLOCK' fromField='fraction_changed' toNode='BlueBishop1PathInterpolator' toField='set_fraction'/> |
791 | < ROUTE fromNode='BlueBishop1PathInterpolator' fromField='value_changed' toNode='BlueBishop1' toField='set_rotation'/> |
792 | </Group> |
793 | <Group> |
794 | < ROUTE fromNode='BlueBishop1PlaneSensor' fromField='translation_changed' toNode='BlueBishop1' toField='set_translation'/> |
795 | </Group> |
796 | </Transform> |
797 |
<!-- ROUTE information for BlueKing node:
[from BlueKingPathInterpolator.value_changed to set_rotation
]
[from BlueKingPlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='BlueKing' translation='-1 0 3'> |
798 | <Group> |
799 | <Group USE='bluepiecebase'/> |
800 | <Transform translation='0 0.4 0'> |
801 | <Shape> |
802 | <Cone bottomRadius='.10' height='.25'/> |
803 | <Appearance USE='Aqua'/> |
804 | </Shape> |
805 | </Transform> |
806 | <Transform scale='.035 .035 .035' translation='0 0.4 0'> |
807 | |
808 | <IndexedFaceSet convex='false' coordIndex='0 1 2 3 4 5 6 -1 0 12 11 10 9 8 7 -1 0 7 1 -1 1 7 8 2 -1 2 8 9 3 -1 3 9 10 4 -1 4 10 11 5 -1 5 11 12 6 -1 6 12 0'> |
809 | <Coordinate point='0.0 0.0 0.0 5.5 5.0 0.88 4.0 5.5 0.968 7.0 8.0 1.408 4.0 9.0 1.584 1.0 5.0 0.88 2.5 4.5 0.792 5.5 5.0 -0.88 4.0 5.5 -0.968 7.0 8.0 -1.408 4.0 9.0 -1.584 1.0 5.0 -0.88 2.5 4.5 -0.792'/> |
810 | </IndexedFaceSet> |
811 | <Appearance USE='Aqua'/> |
812 | </Shape> |
813 | <Transform rotation='0 1 0 45'> |
814 | <Shape USE='BlueBolt'/> |
815 | </Transform> |
816 | <Transform rotation='0 1 0 90'> |
817 | <Shape USE='BlueBolt'/> |
818 | </Transform> |
819 | <Transform rotation='0 1 0 135'> |
820 | <Shape USE='BlueBolt'/> |
821 | </Transform> |
822 | <Transform rotation='0 1 0 180'> |
823 | <Shape USE='BlueBolt'/> |
824 | </Transform> |
825 | <Transform rotation='0 1 0 225'> |
826 | <Shape USE='BlueBolt'/> |
827 | </Transform> |
828 | </Transform> |
829 | <Transform translation='0 .8 0'> |
830 | <Group> |
831 | <Shape> |
832 | <Appearance USE='Aqua'/> |
833 | <Box size='.25 .02 .02'/> |
834 | </Shape> |
835 | <Shape> |
836 | <Appearance USE='Aqua'/> |
837 | <Box size='.02 .25 .02'/> |
838 | </Shape> |
839 | <Shape> |
840 | <Appearance USE='Aqua'/> |
841 | <Box size='.02 .02 .25'/> |
842 | </Shape> |
843 | </Group> |
844 | </Transform> |
845 | </Group> |
846 |
<!-- ROUTE information for BlueKingTouchSensor node:
[from isOver to BLUEKINGCLOCK.set_enabled
]
-->
<TouchSensor DEF='BlueKingTouchSensor'/> |
847 |
<!-- ROUTE information for BLUEKINGCLOCK node:
[from BlueKingTouchSensor.isOver to set_enabled
]
[from fraction_changed to BlueKingPathInterpolator.set_fraction
]
-->
<TimeSensor DEF='BLUEKINGCLOCK' cycleInterval='4' enabled='false' loop='true'/> |
848 |
<!-- ROUTE information for BlueKingPathInterpolator node:
[from BLUEKINGCLOCK.fraction_changed to set_fraction
]
[from value_changed to BlueKing.set_rotation
]
-->
<OrientationInterpolator DEF='BlueKingPathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
849 |
<!-- ROUTE information for BlueKingPlaneSensor node:
[from translation_changed to BlueKing.set_translation
]
-->
<PlaneSensor DEF='BlueKingPlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='-1 -1 3'/> |
850 | <Group> |
851 | < ROUTE fromNode='BlueKingTouchSensor' fromField='isOver' toNode='BLUEKINGCLOCK' toField='set_enabled'/> |
852 | < ROUTE fromNode='BLUEKINGCLOCK' fromField='fraction_changed' toNode='BlueKingPathInterpolator' toField='set_fraction'/> |
853 | < ROUTE fromNode='BlueKingPathInterpolator' fromField='value_changed' toNode='BlueKing' toField='set_rotation'/> |
854 | </Group> |
855 | <Group> |
856 | < ROUTE fromNode='BlueKingPlaneSensor' fromField='translation_changed' toNode='BlueKing' toField='set_translation'/> |
857 | </Group> |
858 | </Transform> |
859 |
<!-- ROUTE information for BlueQueen node:
[from BlueQueenPathInterpolator.value_changed to set_rotation
]
[from BlueQueenPlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='BlueQueen' translation='0 0 3'> |
860 | <Group> |
861 | <Group USE='bluepiecebase'/> |
862 | <Transform translation='0 0.4 0'> |
863 | <Shape> |
864 | <Cone bottomRadius='.10' height='.25'/> |
865 | <Appearance USE='Aqua'/> |
866 | </Shape> |
867 | </Transform> |
868 | <Transform scale='.035 .035 .035' translation='0 0.4 0'> |
869 | <Shape USE='BlueBolt'/> |
870 | <Transform rotation='0 1 0 45'> |
871 | <Shape USE='BlueBolt'/> |
872 | </Transform> |
873 | <Transform rotation='0 1 0 90'> |
874 | <Shape USE='BlueBolt'/> |
875 | </Transform> |
876 | <Transform rotation='0 1 0 135'> |
877 | <Shape USE='BlueBolt'/> |
878 | </Transform> |
879 | <Transform rotation='0 1 0 180'> |
880 | <Shape USE='BlueBolt'/> |
881 | </Transform> |
882 | <Transform rotation='0 1 0 225'> |
883 | <Shape USE='BlueBolt'/> |
884 | </Transform> |
885 | </Transform> |
886 | </Group> |
887 |
<!-- ROUTE information for BlueQueenTouchSensor node:
[from isOver to BLUEQUEENCLOCK.set_enabled
]
-->
<TouchSensor DEF='BlueQueenTouchSensor'/> |
888 |
<!-- ROUTE information for BLUEQUEENCLOCK node:
[from BlueQueenTouchSensor.isOver to set_enabled
]
[from fraction_changed to BlueQueenPathInterpolator.set_fraction
]
-->
<TimeSensor DEF='BLUEQUEENCLOCK' cycleInterval='4' enabled='false' loop='true'/> |
889 |
<!-- ROUTE information for BlueQueenPathInterpolator node:
[from BLUEQUEENCLOCK.fraction_changed to set_fraction
]
[from value_changed to BlueQueen.set_rotation
]
-->
<OrientationInterpolator DEF='BlueQueenPathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
890 |
<!-- ROUTE information for BlueQueenPlaneSensor node:
[from translation_changed to BlueQueen.set_translation
]
-->
<PlaneSensor DEF='BlueQueenPlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='0 -4 -4'/> |
891 | <Group> |
892 | < ROUTE fromNode='BlueQueenTouchSensor' fromField='isOver' toNode='BLUEQUEENCLOCK' toField='set_enabled'/> |
893 | < ROUTE fromNode='BLUEQUEENCLOCK' fromField='fraction_changed' toNode='BlueQueenPathInterpolator' toField='set_fraction'/> |
894 | < ROUTE fromNode='BlueQueenPathInterpolator' fromField='value_changed' toNode='BlueQueen' toField='set_rotation'/> |
895 | </Group> |
896 | <Group> |
897 | < ROUTE fromNode='BlueQueenPlaneSensor' fromField='translation_changed' toNode='BlueQueen' toField='set_translation'/> |
898 | </Group> |
899 | </Transform> |
900 |
<!-- ROUTE information for BlueBishop2 node:
[from BlueBishop2PathInterpolator.value_changed to set_rotation
]
[from BlueBishop2PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='BlueBishop2' translation='1 0 3'> |
901 | <Group> |
902 | <Group USE='bluepiecebase'/> |
903 | <Transform translation='0 0.45 0'> |
904 | <Shape> |
905 | <Cone bottomRadius='.15' height='.5'/> |
906 | <Appearance USE='Aqua'/> |
907 | </Shape> |
908 | </Transform> |
909 | </Group> |
910 |
<!-- ROUTE information for BlueBishop2TouchSensor node:
[from isOver to BLUEBISHOP2CLOCK.set_enabled
]
-->
<TouchSensor DEF='BlueBishop2TouchSensor'/> |
911 |
<!-- ROUTE information for BLUEBISHOP2CLOCK node:
[from BlueBishop2TouchSensor.isOver to set_enabled
]
[from fraction_changed to BlueBishop2PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='BLUEBISHOP2CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
912 |
<!-- ROUTE information for BlueBishop2PathInterpolator node:
[from BLUEBISHOP2CLOCK.fraction_changed to set_fraction
]
[from value_changed to BlueBishop2.set_rotation
]
-->
<OrientationInterpolator DEF='BlueBishop2PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
913 |
<!-- ROUTE information for BlueBishop2PlaneSensor node:
[from translation_changed to BlueBishop2.set_translation
]
-->
<PlaneSensor DEF='BlueBishop2PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='1 2 3'/> |
914 | <Group> |
915 | < ROUTE fromNode='BlueBishop2TouchSensor' fromField='isOver' toNode='BLUEBISHOP2CLOCK' toField='set_enabled'/> |
916 | < ROUTE fromNode='BLUEBISHOP2CLOCK' fromField='fraction_changed' toNode='BlueBishop2PathInterpolator' toField='set_fraction'/> |
917 | < ROUTE fromNode='BlueBishop2PathInterpolator' fromField='value_changed' toNode='BlueBishop2' toField='set_rotation'/> |
918 | </Group> |
919 | <Group> |
920 | < ROUTE fromNode='BlueBishop2PlaneSensor' fromField='translation_changed' toNode='BlueBishop2' toField='set_translation'/> |
921 | </Group> |
922 | </Transform> |
923 |
<!-- ROUTE information for BlueKnight2 node:
[from BlueKnight2PathInterpolator.value_changed to set_rotation
]
[from BlueKnight2PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='BlueKnight2' translation='2 0 3'> |
924 | <Group> |
925 | <Group USE='bluepiecebase'/> |
926 | <Transform translation='0 0.45 0'> |
927 | <Shape> |
928 | <Cylinder height='0.45' radius='0.125'/> |
929 | <Appearance USE='Aqua'/> |
930 | </Shape> |
931 | </Transform> |
932 | <Transform rotation='-1 0 0 5.27' translation='0 0.55 -0.075'> |
933 | <Shape> |
934 | <Cone bottomRadius='0.1' height='0.4'/> |
935 | <Appearance USE='Aqua'/> |
936 | </Shape> |
937 | </Transform> |
938 | </Group> |
939 |
<!-- ROUTE information for BlueKnight2TouchSensor node:
[from isOver to BLUEKNIGHT2CLOCK.set_enabled
]
-->
<TouchSensor DEF='BlueKnight2TouchSensor'/> |
940 |
<!-- ROUTE information for BLUEKNIGHT2CLOCK node:
[from BlueKnight2TouchSensor.isOver to set_enabled
]
[from fraction_changed to BlueKnight2PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='BLUEKNIGHT2CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
941 |
<!-- ROUTE information for BlueKnight2PathInterpolator node:
[from BLUEKNIGHT2CLOCK.fraction_changed to set_fraction
]
[from value_changed to BlueKnight2.set_rotation
]
-->
<OrientationInterpolator DEF='BlueKnight2PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
942 |
<!-- ROUTE information for BlueKnight2PlaneSensor node:
[from translation_changed to BlueKnight2.set_translation
]
-->
<PlaneSensor DEF='BlueKnight2PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='1 0 1'/> |
943 | <Group> |
944 | < ROUTE fromNode='BlueKnight2TouchSensor' fromField='isOver' toNode='BLUEKNIGHT2CLOCK' toField='set_enabled'/> |
945 | < ROUTE fromNode='BLUEKNIGHT2CLOCK' fromField='fraction_changed' toNode='BlueKnight2PathInterpolator' toField='set_fraction'/> |
946 | < ROUTE fromNode='BlueKnight2PathInterpolator' fromField='value_changed' toNode='BlueKnight2' toField='set_rotation'/> |
947 | </Group> |
948 | <Group> |
949 | < ROUTE fromNode='BlueKnight2PlaneSensor' fromField='translation_changed' toNode='BlueKnight2' toField='set_translation'/> |
950 | </Group> |
951 | </Transform> |
952 |
<!-- ROUTE information for BlueCastle2 node:
[from BlueCastle2PathInterpolator.value_changed to set_rotation
]
[from BlueCastle2PlaneSensor.translation_changed to set_translation
]
-->
<Transform DEF='BlueCastle2' translation='3 0 3'> |
953 | <Group> |
954 | <Group USE='bluepiecebase'/> |
955 | <Group> |
956 | <Transform translation='0 0.45 0'> |
957 | <Shape> |
958 | <Box size='.3 .45 .3'/> |
959 | <Appearance USE='Aqua'/> |
960 | </Shape> |
961 | </Transform> |
962 | <Transform rotation='0 1 0 0.52' translation='0 0.45 0'> |
963 | <Shape> |
964 | <Box size='.3 .45 .3'/> |
965 | <Appearance USE='Aqua'/> |
966 | </Shape> |
967 | </Transform> |
968 | <Transform rotation='0 1 0 1.04' translation='0 0.45 0'> |
969 | <Shape> |
970 | <Box size='.3 .45 .3'/> |
971 | <Appearance USE='Aqua'/> |
972 | </Shape> |
973 | </Transform> |
974 | </Group> |
975 | </Group> |
976 |
<!-- ROUTE information for BlueCastle2TouchSensor node:
[from isOver to BLUECASTLE2CLOCK.set_enabled
]
-->
<TouchSensor DEF='BlueCastle2TouchSensor'/> |
977 |
<!-- ROUTE information for BLUECASTLE2CLOCK node:
[from BlueCastle2TouchSensor.isOver to set_enabled
]
[from fraction_changed to BlueCastle2PathInterpolator.set_fraction
]
-->
<TimeSensor DEF='BLUECASTLE2CLOCK' cycleInterval='4' enabled='false' loop='true'/> |
978 |
<!-- ROUTE information for BlueCastle2PathInterpolator node:
[from BLUECASTLE2CLOCK.fraction_changed to set_fraction
]
[from value_changed to BlueCastle2.set_rotation
]
-->
<OrientationInterpolator DEF='BlueCastle2PathInterpolator' key='0.0 0.50 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/> |
979 |
<!-- ROUTE information for BlueCastle2PlaneSensor node:
[from translation_changed to BlueCastle2.set_translation
]
-->
<PlaneSensor DEF='BlueCastle2PlaneSensor' maxPosition='3 4' minPosition='-4 -4' offset='3 -4 3'/> |
980 | <Group> |
981 | < ROUTE fromNode='BlueCastle2TouchSensor' fromField='isOver' toNode='BLUECASTLE2CLOCK' toField='set_enabled'/> |
982 | < ROUTE fromNode='BLUECASTLE2CLOCK' fromField='fraction_changed' toNode='BlueCastle2PathInterpolator' toField='set_fraction'/> |
983 | < ROUTE fromNode='BlueCastle2PathInterpolator' fromField='value_changed' toNode='BlueCastle2' toField='set_rotation'/> |
984 | </Group> |
985 | <Group> |
986 | < ROUTE fromNode='BlueCastle2PlaneSensor' fromField='translation_changed' toNode='BlueCastle2' toField='set_translation'/> |
987 | </Group> |
988 | </Transform> |
989 | <Viewpoint DEF='RedSide' description='Red Side' orientation='-0 -1 -0.05 3.14' position='0 2.5 -20'/> |
990 | <Viewpoint DEF='BlueSide' description='Blue Side' position='0 2.5 20'/> |
991 | <Viewpoint DEF='BlueLeft' description='Blue on Left Side' orientation='-0.08 0.99 0.08 1.58' position='15 1 0'/> |
992 | <Viewpoint DEF='RedLeft' description='Red on Left Side' orientation='-0.08 -0.99 -0.08 1.58' position='-15 1 0'/> |
993 | <Viewpoint DEF='Corner1' description='Corner Blue Left Side' orientation='-0.08 -1 -0.04 0.79' position='-15 2 15'/> |
994 | <Viewpoint DEF='Corner2' description='Corner Blue Right Side' orientation='-0.08 1 0.04 0.79' position='15 2 15'/> |
995 | <Viewpoint DEF='Corner3' description='Corner Red Left Side' orientation='-0.01 1 0.04 2.36' position='15 2 -15'/> |
996 | <Viewpoint DEF='Corner4' description='Corner Red Right Side' orientation='-0.02 -1 -0.05 2.36' position='-15 2 -15'/> |
997 | <Viewpoint DEF='TopAngle1' description='Top Angle Blue Side' orientation='-1 -0 -0 0.46' position='0 10 20'/> |
998 | <Viewpoint DEF='TopAngle2' description='Top Angle Red Side' orientation='0 -0.97 -0.23 3.14' position='0 10 -20'/> |
999 | <Viewpoint DEF='TopAngle3' description='Top Angle Blue on Left' orientation='-0.22 0.95 0.22 1.62' position='20 10 0'/> |
1000 | <Viewpoint DEF='TopAngle4' description='Top Angle Red on Left' orientation='-0.22 -0.95 -0.22 1.62' position='-20 10 0'/> |
1001 | <Viewpoint DEF='TopCorner1' description='Top Corner Blue Left Side' orientation='-0.59 -0.77 -0.24 0.99' position='-20 20 20'/> |
1002 | <Viewpoint DEF='TopCorner2' description='Top Corner Blue Right Side' orientation='-0.59 0.77 0.24 0.99' position='20 20 20'/> |
1003 | <Viewpoint DEF='TopCorner3' description='Top Corner Red Left Side' orientation='-0.12 0.95 0.30 2.40' position='20 20 -20'/> |
1004 | <Viewpoint DEF='TopCorner4' description='Top Corner Red Right Side' orientation='-0.12 -0.95 -0.30 2.39' position='-20 20 -20'/> |
1005 | <Viewpoint DEF='BottomAngle1' description='Bottom Angle Blue Side' orientation='1 -0 0 0.79' position='0 -20 20'/> |
1006 | <Viewpoint DEF='BottomAngle2' description='Bottom Angle Red Side' orientation='0 -0.92 0.38 3.14' position='0 -20 -20'/> |
1007 | <Viewpoint DEF='BottomAngle3' description='Bottom Angle Blue on Left' orientation='0.36 0.86 -0.36 1.72' position='20 -20 0'/> |
1008 | <Viewpoint DEF='BottomAngle4' description='Bottom Angle Red on Left' orientation='0.36 -0.86 0.36 1.72' position='-20 -20 0'/> |
1009 | <Viewpoint DEF='BottomCorner1' description='Bottom Corner Blue Left Side' orientation='0.59 -0.77 0.24 0.99' position='-20 -20 20'/> |
1010 | <Viewpoint DEF='BottomCorner2' description='Bottom Corner Blue Right Side' orientation='0.59 0.77 -0.24 0.99' position='20 -20 20'/> |
1011 | <Viewpoint DEF='BottomCorner3' description='Bottom Corner Red Left Side' orientation='0.12 0.95 -0.3 2.4' position='20 -20 -20'/> |
1012 | <Viewpoint DEF='BottomCorner4' description='Bottom Corner Red Right Side' orientation='0.12 -0.95 0.3 2.39' position='-20 -20 -20'/> |
1013 | <Background groundAngle='1.309 1.570796' groundColor='0 0 0.1 0 0.1 0.3 0.3 0.3 0.6' skyAngle='1.309 1.571' skyColor='1 0 0.8 0.5 0 0.8 0 0 0.8'/> |
1014 | <Background DEF='BackgroundCyan-ish' groundAngle='1.309 1.570796' groundColor='0.1 0.1 0 0.4 0.25 0.2 0.6 0.6 0.6' skyAngle='1.309 1.571' skyColor='0 0.2 0.7 0.0 0.5 1 1 1 1'/> |
1015 | </Scene> |
1016 | </X3D> |
Event Graph ROUTE Table entries with 128 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.
BlueBishop1TouchSensor
TouchSensor isOver SFBool |
BLUEBISHOP1CLOCK
TimeSensor set_enabled SFBool |
then
|
BLUEBISHOP1CLOCK
TimeSensor fraction_changed SFFloat |
BlueBishop1PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
BlueBishop1PathInterpolator
OrientationInterpolator value_changed SFRotation |
BlueBishop1
Transform set_rotation SFRotation |
BlueBishop2TouchSensor
TouchSensor isOver SFBool |
BLUEBISHOP2CLOCK
TimeSensor set_enabled SFBool |
then
|
BLUEBISHOP2CLOCK
TimeSensor fraction_changed SFFloat |
BlueBishop2PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
BlueBishop2PathInterpolator
OrientationInterpolator value_changed SFRotation |
BlueBishop2
Transform set_rotation SFRotation |
BlueCastle1TouchSensor
TouchSensor isOver SFBool |
BLUECASTLE1CLOCK
TimeSensor set_enabled SFBool |
then
|
BLUECASTLE1CLOCK
TimeSensor fraction_changed SFFloat |
BlueCastle1PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
BlueCastle1PathInterpolator
OrientationInterpolator value_changed SFRotation |
BlueCastle1
Transform set_rotation SFRotation |
BlueCastle2TouchSensor
TouchSensor isOver SFBool |
BLUECASTLE2CLOCK
TimeSensor set_enabled SFBool |
then
|
BLUECASTLE2CLOCK
TimeSensor fraction_changed SFFloat |
BlueCastle2PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
BlueCastle2PathInterpolator
OrientationInterpolator value_changed SFRotation |
BlueCastle2
Transform set_rotation SFRotation |
BlueKingTouchSensor
TouchSensor isOver SFBool |
BLUEKINGCLOCK
TimeSensor set_enabled SFBool |
then
|
BLUEKINGCLOCK
TimeSensor fraction_changed SFFloat |
BlueKingPathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
BlueKingPathInterpolator
OrientationInterpolator value_changed SFRotation |
BlueKing
Transform set_rotation SFRotation |
BlueKnight1TouchSensor
TouchSensor isOver SFBool |
BLUEKNIGHT1CLOCK
TimeSensor set_enabled SFBool |
then
|
BLUEKNIGHT1CLOCK
TimeSensor fraction_changed SFFloat |
BlueKnight1PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
BlueKnight1PathInterpolator
OrientationInterpolator value_changed SFRotation |
BlueKnight1
Transform set_rotation SFRotation |
BlueKnight2TouchSensor
TouchSensor isOver SFBool |
BLUEKNIGHT2CLOCK
TimeSensor set_enabled SFBool |
then
|
BLUEKNIGHT2CLOCK
TimeSensor fraction_changed SFFloat |
BlueKnight2PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
BlueKnight2PathInterpolator
OrientationInterpolator value_changed SFRotation |
BlueKnight2
Transform set_rotation SFRotation |
BluePawn1TouchSensor
TouchSensor isOver SFBool |
BLUEPAWN1CLOCK
TimeSensor set_enabled SFBool |
then
|
BLUEPAWN1CLOCK
TimeSensor fraction_changed SFFloat |
BluePawn1PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
BluePawn1PathInterpolator
OrientationInterpolator value_changed SFRotation |
BluePawn1
Transform set_rotation SFRotation |
BluePawn2TouchSensor
TouchSensor isOver SFBool |
BLUEPAWN2CLOCK
TimeSensor set_enabled SFBool |
then
|
BLUEPAWN2CLOCK
TimeSensor fraction_changed SFFloat |
BluePawn2PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
BluePawn2PathInterpolator
OrientationInterpolator value_changed SFRotation |
BluePawn2
Transform set_rotation SFRotation |
BluePawn3TouchSensor
TouchSensor isOver SFBool |
BLUEPAWN3CLOCK
TimeSensor set_enabled SFBool |
then
|
BLUEPAWN3CLOCK
TimeSensor fraction_changed SFFloat |
BluePawn3PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
BluePawn3PathInterpolator
OrientationInterpolator value_changed SFRotation |
BluePawn3
Transform set_rotation SFRotation |
BluePawn4TouchSensor
TouchSensor isOver SFBool |
BLUEPAWN4CLOCK
TimeSensor set_enabled SFBool |
then
|
BLUEPAWN4CLOCK
TimeSensor fraction_changed SFFloat |
BluePawn4PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
BluePawn4PathInterpolator
OrientationInterpolator value_changed SFRotation |
BluePawn4
Transform set_rotation SFRotation |
BluePawn5TouchSensor
TouchSensor isOver SFBool |
BLUEPAWN5CLOCK
TimeSensor set_enabled SFBool |
then
|
BLUEPAWN5CLOCK
TimeSensor fraction_changed SFFloat |
BluePawn5PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
BluePawn5PathInterpolator
OrientationInterpolator value_changed SFRotation |
BluePawn5
Transform set_rotation SFRotation |
BluePawn6TouchSensor
TouchSensor isOver SFBool |
BLUEPAWN6CLOCK
TimeSensor set_enabled SFBool |
then
|
BLUEPAWN6CLOCK
TimeSensor fraction_changed SFFloat |
BluePawn6PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
BluePawn6PathInterpolator
OrientationInterpolator value_changed SFRotation |
BluePawn6
Transform set_rotation SFRotation |
BluePawn7TouchSensor
TouchSensor isOver SFBool |
BLUEPAWN7CLOCK
TimeSensor set_enabled SFBool |
then
|
BLUEPAWN7CLOCK
TimeSensor fraction_changed SFFloat |
BluePawn7PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
BluePawn7PathInterpolator
OrientationInterpolator value_changed SFRotation |
BluePawn7
Transform set_rotation SFRotation |
BluePawn8TouchSensor
TouchSensor isOver SFBool |
BLUEPAWN8CLOCK
TimeSensor set_enabled SFBool |
then
|
BLUEPAWN8CLOCK
TimeSensor fraction_changed SFFloat |
BluePawn8PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
BluePawn8PathInterpolator
OrientationInterpolator value_changed SFRotation |
BluePawn8
Transform set_rotation SFRotation |
BlueQueenTouchSensor
TouchSensor isOver SFBool |
BLUEQUEENCLOCK
TimeSensor set_enabled SFBool |
then
|
BLUEQUEENCLOCK
TimeSensor fraction_changed SFFloat |
BlueQueenPathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
BlueQueenPathInterpolator
OrientationInterpolator value_changed SFRotation |
BlueQueen
Transform set_rotation SFRotation |
RedBishop1TouchSensor
TouchSensor isOver SFBool |
REDBISHOP1CLOCK
TimeSensor set_enabled SFBool |
then
|
REDBISHOP1CLOCK
TimeSensor fraction_changed SFFloat |
RedBishop1PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
RedBishop1PathInterpolator
OrientationInterpolator value_changed SFRotation |
RedBishop1
Transform set_rotation SFRotation |
RedBishop2TouchSensor
TouchSensor isOver SFBool |
REDBISHOP2CLOCK
TimeSensor set_enabled SFBool |
then
|
REDBISHOP2CLOCK
TimeSensor fraction_changed SFFloat |
RedBishop2PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
RedBishop2PathInterpolator
OrientationInterpolator value_changed SFRotation |
RedBishop2
Transform set_rotation SFRotation |
RedCastle1TouchSensor
TouchSensor isOver SFBool |
REDCASTLE1CLOCK
TimeSensor set_enabled SFBool |
then
|
REDCASTLE1CLOCK
TimeSensor fraction_changed SFFloat |
RedCastle1PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
RedCastle1PathInterpolator
OrientationInterpolator value_changed SFRotation |
RedCastle1
Transform set_rotation SFRotation |
RedCastle2TouchSensor
TouchSensor isOver SFBool |
REDCASTLE2CLOCK
TimeSensor set_enabled SFBool |
then
|
REDCASTLE2CLOCK
TimeSensor fraction_changed SFFloat |
RedCastle2PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
RedCastle2PathInterpolator
OrientationInterpolator value_changed SFRotation |
RedCastle2
Transform set_rotation SFRotation |
RedKingTouchSensor
TouchSensor isOver SFBool |
REDKINGCLOCK
TimeSensor set_enabled SFBool |
then
|
REDKINGCLOCK
TimeSensor fraction_changed SFFloat |
RedKingPathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
RedKingPathInterpolator
OrientationInterpolator value_changed SFRotation |
RedKing
Transform set_rotation SFRotation |
RedKnight1TouchSensor
TouchSensor isOver SFBool |
REDKNIGHT1CLOCK
TimeSensor set_enabled SFBool |
then
|
REDKNIGHT1CLOCK
TimeSensor fraction_changed SFFloat |
RedKnight1PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
RedKnight1PathInterpolator
OrientationInterpolator value_changed SFRotation |
RedKnight1
Transform set_rotation SFRotation |
RedKnight2TouchSensor
TouchSensor isOver SFBool |
REDKNIGHT2CLOCK
TimeSensor set_enabled SFBool |
then
|
REDKNIGHT2CLOCK
TimeSensor fraction_changed SFFloat |
RedKnight2PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
RedKnight2PathInterpolator
OrientationInterpolator value_changed SFRotation |
RedKnight2
Transform set_rotation SFRotation |
RedPawn1TouchSensor
TouchSensor isOver SFBool |
REDPAWN1CLOCK
TimeSensor set_enabled SFBool |
then
|
REDPAWN1CLOCK
TimeSensor fraction_changed SFFloat |
RedPawn1PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
RedPawn1PathInterpolator
OrientationInterpolator value_changed SFRotation |
RedPawn1
Transform set_rotation SFRotation |
RedPawn2TouchSensor
TouchSensor isOver SFBool |
REDPAWN2CLOCK
TimeSensor set_enabled SFBool |
then
|
REDPAWN2CLOCK
TimeSensor fraction_changed SFFloat |
RedPawn2PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
RedPawn2PathInterpolator
OrientationInterpolator value_changed SFRotation |
RedPawn2
Transform set_rotation SFRotation |
RedPawn3TouchSensor
TouchSensor isOver SFBool |
REDPAWN3CLOCK
TimeSensor set_enabled SFBool |
then
|
REDPAWN3CLOCK
TimeSensor fraction_changed SFFloat |
RedPawn3PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
RedPawn3PathInterpolator
OrientationInterpolator value_changed SFRotation |
RedPawn3
Transform set_rotation SFRotation |
RedPawn4TouchSensor
TouchSensor isOver SFBool |
REDPAWN4CLOCK
TimeSensor set_enabled SFBool |
then
|
REDPAWN4CLOCK
TimeSensor fraction_changed SFFloat |
RedPawn4PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
RedPawn4PathInterpolator
OrientationInterpolator value_changed SFRotation |
RedPawn4
Transform set_rotation SFRotation |
RedPawn5TouchSensor
TouchSensor isOver SFBool |
REDPAWN5CLOCK
TimeSensor set_enabled SFBool |
then
|
REDPAWN5CLOCK
TimeSensor fraction_changed SFFloat |
RedPawn5PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
RedPawn5PathInterpolator
OrientationInterpolator value_changed SFRotation |
RedPawn5
Transform set_rotation SFRotation |
RedPawn6TouchSensor
TouchSensor isOver SFBool |
REDPAWN6CLOCK
TimeSensor set_enabled SFBool |
then
|
REDPAWN6CLOCK
TimeSensor fraction_changed SFFloat |
RedPawn6PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
RedPawn6PathInterpolator
OrientationInterpolator value_changed SFRotation |
RedPawn6
Transform set_rotation SFRotation |
RedPawn7TouchSensor
TouchSensor isOver SFBool |
REDPAWN7CLOCK
TimeSensor set_enabled SFBool |
then
|
REDPAWN7CLOCK
TimeSensor fraction_changed SFFloat |
RedPawn7PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
RedPawn7PathInterpolator
OrientationInterpolator value_changed SFRotation |
RedPawn7
Transform set_rotation SFRotation |
RedPawn8TouchSensor
TouchSensor isOver SFBool |
REDPAWN8CLOCK
TimeSensor set_enabled SFBool |
then
|
REDPAWN8CLOCK
TimeSensor fraction_changed SFFloat |
RedPawn8PathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
RedPawn8PathInterpolator
OrientationInterpolator value_changed SFRotation |
RedPawn8
Transform set_rotation SFRotation |
RedQueenTouchSensor
TouchSensor isOver SFBool |
REDQUEENCLOCK
TimeSensor set_enabled SFBool |
then
|
REDQUEENCLOCK
TimeSensor fraction_changed SFFloat |
RedQueenPathInterpolator
OrientationInterpolator set_fraction SFFloat |
then
|
RedQueenPathInterpolator
OrientationInterpolator value_changed SFRotation |
RedQueen
Transform set_rotation SFRotation |
BlueBishop1PlaneSensor
PlaneSensor translation_changed SFVec3f |
BlueBishop1
Transform set_translation SFVec3f |
BlueBishop2PlaneSensor
PlaneSensor translation_changed SFVec3f |
BlueBishop2
Transform set_translation SFVec3f |
BlueCastle1PlaneSensor
PlaneSensor translation_changed SFVec3f |
BlueCastle1
Transform set_translation SFVec3f |
BlueCastle2PlaneSensor
PlaneSensor translation_changed SFVec3f |
BlueCastle2
Transform set_translation SFVec3f |
BlueKingPlaneSensor
PlaneSensor translation_changed SFVec3f |
BlueKing
Transform set_translation SFVec3f |
BlueKnight1PlaneSensor
PlaneSensor translation_changed SFVec3f |
BlueKnight1
Transform set_translation SFVec3f |
BlueKnight2PlaneSensor
PlaneSensor translation_changed SFVec3f |
BlueKnight2
Transform set_translation SFVec3f |
BluePawn1PlaneSensor
PlaneSensor translation_changed SFVec3f |
BluePawn1
Transform set_translation SFVec3f |
BluePawn2PlaneSensor
PlaneSensor translation_changed SFVec3f |
BluePawn2
Transform set_translation SFVec3f |
BluePawn3PlaneSensor
PlaneSensor translation_changed SFVec3f |
BluePawn3
Transform set_translation SFVec3f |
BluePawn4PlaneSensor
PlaneSensor translation_changed SFVec3f |
BluePawn4
Transform set_translation SFVec3f |
BluePawn5PlaneSensor
PlaneSensor translation_changed SFVec3f |
BluePawn5
Transform set_translation SFVec3f |
BluePawn6PlaneSensor
PlaneSensor translation_changed SFVec3f |
BluePawn6
Transform set_translation SFVec3f |
BluePawn7PlaneSensor
PlaneSensor translation_changed SFVec3f |
BluePawn7
Transform set_translation SFVec3f |
BluePawn8PlaneSensor
PlaneSensor translation_changed SFVec3f |
BluePawn8
Transform set_translation SFVec3f |
BlueQueenPlaneSensor
PlaneSensor translation_changed SFVec3f |
BlueQueen
Transform set_translation SFVec3f |
RedBishop1PlaneSensor
PlaneSensor translation_changed SFVec3f |
RedBishop1
Transform set_translation SFVec3f |
RedBishop2PlaneSensor
PlaneSensor translation_changed SFVec3f |
RedBishop2
Transform set_translation SFVec3f |
RedCastle1PlaneSensor
PlaneSensor translation_changed SFVec3f |
RedCastle1
Transform set_translation SFVec3f |
RedCastle2PlaneSensor
PlaneSensor translation_changed SFVec3f |
RedCastle2
Transform set_translation SFVec3f |
RedKingPlaneSensor
PlaneSensor translation_changed SFVec3f |
RedKing
Transform set_translation SFVec3f |
RedKnight1PlaneSensor
PlaneSensor translation_changed SFVec3f |
RedKnight1
Transform set_translation SFVec3f |
RedKnight2PlaneSensor
PlaneSensor translation_changed SFVec3f |
RedKnight2
Transform set_translation SFVec3f |
RedPawn1PlaneSensor
PlaneSensor translation_changed SFVec3f |
RedPawn1
Transform set_translation SFVec3f |
RedPawn2PlaneSensor
PlaneSensor translation_changed SFVec3f |
RedPawn2
Transform set_translation SFVec3f |
RedPawn3PlaneSensor
PlaneSensor translation_changed SFVec3f |
RedPawn3
Transform set_translation SFVec3f |
RedPawn4PlaneSensor
PlaneSensor translation_changed SFVec3f |
RedPawn4
Transform set_translation SFVec3f |
RedPawn5PlaneSensor
PlaneSensor translation_changed SFVec3f |
RedPawn5
Transform set_translation SFVec3f |
RedPawn6PlaneSensor
PlaneSensor translation_changed SFVec3f |
RedPawn6
Transform set_translation SFVec3f |
RedPawn7PlaneSensor
PlaneSensor translation_changed SFVec3f |
RedPawn7
Transform set_translation SFVec3f |
RedPawn8PlaneSensor
PlaneSensor translation_changed SFVec3f |
RedPawn8
Transform set_translation SFVec3f |
RedQueenPlaneSensor
PlaneSensor translation_changed SFVec3f |
RedQueen
Transform set_translation SFVec3f |
<!--
Color legend: X3D terminology
<X3dNode
DEF='idName' field='value'/>
matches XML terminology
<XmlElement
DEF='idName' attribute='value'/>
(Light-blue background: event-based behavior node or statement)
(Grey background inside box: inserted documentation)
(Magenta background: X3D Extensibility)
-->
<!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->