<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "https://www.web3d.org/specifications/x3d-3.0.dtd">
<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 ' >
<head>
<meta name='titlecontent=' Chess8Levels.x3d '/>
<meta name='descriptioncontent='Multi-layered Chess Board in 3 dimensions.'/>
<meta name='creatorcontent='John W. Carls'/>
<meta name='createdcontent='9 August 2002'/>
<meta name='modifiedcontent='20 October 2019'/>
<meta name='versioncontent='0.3'/>
<meta name=' warning content=' functionality incomplete for full game play '/>
<meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/Chess8Levels.x3d '/>
<meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../license.html'/>
</head>
<!--

to top <!-- Event Graph ROUTE Table shows event connections -->
 
<!-- Index for DEF nodes: Aqua, aquapawn, BackgroundCyan-ish, BlueBishop1, BLUEBISHOP1CLOCK, BlueBishop1PathInterpolator, BlueBishop1PlaneSensor, BlueBishop1TouchSensor, BlueBishop2, BLUEBISHOP2CLOCK, BlueBishop2PathInterpolator, BlueBishop2PlaneSensor, BlueBishop2TouchSensor, BlueBolt, BlueCastle1, BLUECASTLE1CLOCK, BlueCastle1PathInterpolator, BlueCastle1PlaneSensor, BlueCastle1TouchSensor, BlueCastle2, BLUECASTLE2CLOCK, BlueCastle2PathInterpolator, BlueCastle2PlaneSensor, BlueCastle2TouchSensor, BlueKing, BLUEKINGCLOCK, BlueKingPathInterpolator, BlueKingPlaneSensor, BlueKingTouchSensor, BlueKnight1, BLUEKNIGHT1CLOCK, BlueKnight1PathInterpolator, BlueKnight1PlaneSensor, BlueKnight1TouchSensor, BlueKnight2, BLUEKNIGHT2CLOCK, BlueKnight2PathInterpolator, BlueKnight2PlaneSensor, BlueKnight2TouchSensor, BlueLeft, BluePawn1, BLUEPAWN1CLOCK, BluePawn1PathInterpolator, BluePawn1PlaneSensor, BluePawn1TouchSensor, BluePawn2, BLUEPAWN2CLOCK, BluePawn2PathInterpolator, BluePawn2PlaneSensor, BluePawn2TouchSensor, BluePawn3, BLUEPAWN3CLOCK, BluePawn3PathInterpolator, BluePawn3PlaneSensor, BluePawn3TouchSensor, BluePawn4, BLUEPAWN4CLOCK, BluePawn4PathInterpolator, BluePawn4PlaneSensor, BluePawn4TouchSensor, BluePawn5, BLUEPAWN5CLOCK, BluePawn5PathInterpolator, BluePawn5PlaneSensor, BluePawn5TouchSensor, BluePawn6, BLUEPAWN6CLOCK, BluePawn6PathInterpolator, BluePawn6PlaneSensor, BluePawn6TouchSensor, BluePawn7, BLUEPAWN7CLOCK, BluePawn7PathInterpolator, BluePawn7PlaneSensor, BluePawn7TouchSensor, BluePawn8, BLUEPAWN8CLOCK, BluePawn8PathInterpolator, BluePawn8PlaneSensor, BluePawn8TouchSensor, bluepiecebase, bluepiecepost, BlueQueen, BLUEQUEENCLOCK, BlueQueenPathInterpolator, BlueQueenPlaneSensor, BlueQueenTouchSensor, BlueSide, BlueSquare, board, BottomAngle1, BottomAngle2, BottomAngle3, BottomAngle4, BottomCorner1, BottomCorner2, BottomCorner3, BottomCorner4, chesspiecebase, Corner1, Corner2, Corner3, Corner4, GreenSquare, Red, RedBishop1, REDBISHOP1CLOCK, RedBishop1PathInterpolator, RedBishop1PlaneSensor, RedBishop1TouchSensor, RedBishop2, REDBISHOP2CLOCK, RedBishop2PathInterpolator, RedBishop2PlaneSensor, RedBishop2TouchSensor, RedBolt, RedCastle1, REDCASTLE1CLOCK, RedCastle1PathInterpolator, RedCastle1PlaneSensor, RedCastle1TouchSensor, RedCastle2, REDCASTLE2CLOCK, RedCastle2PathInterpolator, RedCastle2PlaneSensor, RedCastle2TouchSensor, RedKing, REDKINGCLOCK, RedKingPathInterpolator, RedKingPlaneSensor, RedKingTouchSensor, RedKnight1, REDKNIGHT1CLOCK, RedKnight1PathInterpolator, RedKnight1PlaneSensor, RedKnight1TouchSensor, RedKnight2, REDKNIGHT2CLOCK, RedKnight2PathInterpolator, RedKnight2PlaneSensor, RedKnight2TouchSensor, RedLeft, redpawn, RedPawn1, REDPAWN1CLOCK, RedPawn1PathInterpolator, RedPawn1PlaneSensor, RedPawn1TouchSensor, RedPawn2, REDPAWN2CLOCK, RedPawn2PathInterpolator, RedPawn2PlaneSensor, RedPawn2TouchSensor, RedPawn3, REDPAWN3CLOCK, RedPawn3PathInterpolator, RedPawn3PlaneSensor, RedPawn3TouchSensor, RedPawn4, REDPAWN4CLOCK, RedPawn4PathInterpolator, RedPawn4PlaneSensor, RedPawn4TouchSensor, RedPawn5, REDPAWN5CLOCK, RedPawn5PathInterpolator, RedPawn5PlaneSensor, RedPawn5TouchSensor, RedPawn6, REDPAWN6CLOCK, RedPawn6PathInterpolator, RedPawn6PlaneSensor, RedPawn6TouchSensor, RedPawn7, REDPAWN7CLOCK, RedPawn7PathInterpolator, RedPawn7PlaneSensor, RedPawn7TouchSensor, RedPawn8, REDPAWN8CLOCK, RedPawn8PathInterpolator, RedPawn8PlaneSensor, RedPawn8TouchSensor, redpiecebase, redpiecepost, RedQueen, REDQUEENCLOCK, RedQueenPathInterpolator, RedQueenPlaneSensor, RedQueenTouchSensor, RedSide, Row1, Row2, TopAngle1, TopAngle2, TopAngle3, TopAngle4, TopCorner1, TopCorner2, TopCorner3, TopCorner4, X_Plane

Index for Viewpoint nodes: BlueLeft, BlueSide, BottomAngle1, BottomAngle2, BottomAngle3, BottomAngle4, BottomCorner1, BottomCorner2, BottomCorner3, BottomCorner4, Corner1, Corner2, Corner3, Corner4, RedLeft, RedSide, TopAngle1, TopAngle2, TopAngle3, TopAngle4, TopCorner1, TopCorner2, TopCorner3, TopCorner4
-->
<Scene>
<!-- Multi-layered chess board construction. -->
<WorldInfo title='Chess8Levels.x3d'/>
<Group DEF='board'>
<Transform DEF='X_Plane'>
<Group DEF='Row1'>
<Transform>
<Shape DEF='GreenSquare'>
<Box size='1 0.01 1'/>
<Appearance>
<Material diffuseColor='.25 1 .25transparency='.125'/>
</Appearance>
</Shape>
</Transform>
<Transform translation='1 0 0'>
<Shape DEF='BlueSquare'>
<Box size='1 0.01 1'/>
<Appearance>
<Material diffuseColor='.25 .25 1transparency='.125'/>
</Appearance>
</Shape>
</Transform>
<Transform translation='2 0 0'>
<Shape USE=' GreenSquare'/>
</Transform>
<Transform translation='3 0 0'>
<Shape USE=' BlueSquare'/>
</Transform>
<Transform translation='-1 0 0'>
<Shape USE=' BlueSquare'/>
</Transform>
<Transform translation='-2 0 0'>
<Shape USE=' GreenSquare'/>
</Transform>
<Transform translation='-3 0 0'>
<Shape USE=' BlueSquare'/>
</Transform>
<Transform translation='-4 0 0'>
<Shape USE=' GreenSquare'/>
</Transform>
</Group>
<Transform translation='0 0 -1'>
<Group DEF='Row2'>
<Transform>
<Shape USE=' BlueSquare'/>
</Transform>
<Transform translation='1 0 0'>
<Shape USE=' GreenSquare'/>
</Transform>
<Transform translation='2 0 0'>
<Shape USE=' BlueSquare'/>
</Transform>
<Transform translation='3 0 0'>
<Shape USE=' GreenSquare'/>
</Transform>
<Transform translation='-1 0 0'>
<Shape USE=' GreenSquare'/>
</Transform>
<Transform translation='-2 0 0'>
<Shape USE=' BlueSquare'/>
</Transform>
<Transform translation='-3 0 0'>
<Shape USE=' GreenSquare'/>
</Transform>
<Transform translation='-4 0 0'>
<Shape USE=' BlueSquare'/>
</Transform>
</Group>
</Transform>
<Transform translation='0 0 -2'>
<Group USE=' Row1'/>
</Transform>
<Transform translation='0 0 -3'>
<Group USE=' Row2'/>
</Transform>
<Transform translation='0 0 -4'>
<Group USE=' Row1'/>
</Transform>
<Transform translation='0 0 1'>
<Group USE=' Row2'/>
</Transform>
<Transform translation='0 0 2'>
<Group USE=' Row1'/>
</Transform>
<Transform translation='0 0 3'>
<Group USE=' Row2'/>
</Transform>
</Transform>
<Transform translation='0 -4 0'>
<Transform USE=' X_Plane'/>
</Transform>
<Transform rotation='0 1 0 1.57translation='0 -3 -1'>
<Transform USE=' X_Plane'/>
</Transform>
<Transform translation='0 -2 0'>
<Transform USE=' X_Plane'/>
</Transform>
<Transform rotation='0 1 0 1.57translation='0 -1 -1'>
<Transform USE=' X_Plane'/>
</Transform>
<Transform rotation='0 1 0 1.57translation='0 1 -1'>
<Transform USE=' X_Plane'/>
</Transform>
<Transform translation='0 2 0'>
<Transform USE=' X_Plane'/>
</Transform>
<Transform rotation='0 1 0 1.57translation='0 3 -1'>
<Transform USE=' X_Plane'/>
</Transform>
<Transform translation='0 4 0'>
<Transform USE=' X_Plane'/>
</Transform>
</Group>
<!-- ROUTE information for RedPawn1 node:  [from RedPawn1PathInterpolator.value_changed to set_rotation ] [from RedPawn1PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedPawn1translation='-4 0 -3'>
<Group DEF='redpawn'>
<Transform translation='0 .415 0'>
<Transform>
<Shape>
<Sphere radius='.1875'/>
<Appearance DEF='Red'>
<Material diffuseColor='1 .25 .25'/>
</Appearance>
</Shape>
</Transform>
</Transform>
<Group DEF='redpiecebase'>
<Transform DEF='chesspiecebasetranslation='0 0.04 0'>
<Shape>
<Cylinder height='.0625radius='.1875'/>
</Shape>
</Transform>
<Transform DEF='redpieceposttranslation='0 .165 0'>
<Shape>
<Cylinder height='.25radius='.0825'/>
<Appearance USE=' Red'/>
</Shape>
</Transform>
</Group>
</Group>
<!-- ROUTE information for RedPawn1TouchSensor node:  [from isOver to REDPAWN1CLOCK.set_enabled ] -->
<TouchSensor DEF='RedPawn1TouchSensor'/>

<!-- ROUTE information for REDPAWN1CLOCK node:  [from RedPawn1TouchSensor.isOver to set_enabled ] [from fraction_changed to RedPawn1PathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDPAWN1CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for RedPawn1PathInterpolator node:  [from REDPAWN1CLOCK.fraction_changed to set_fraction ] [from value_changed to RedPawn1.set_rotation ] -->
<OrientationInterpolator DEF='RedPawn1PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for RedPawn1PlaneSensor node:  [from translation_changed to RedPawn1.set_translation ] -->
<PlaneSensor DEF='RedPawn1PlaneSensormaxPosition='3 4minPosition='-4 -4offset='-4 1 -2'/>

<Group>
< ROUTE  fromNode=' RedPawn1TouchSensor' fromField='isOver' toNode=' REDPAWN1CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' REDPAWN1CLOCK' fromField='fraction_changed' toNode=' RedPawn1PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' RedPawn1PathInterpolator' fromField='value_changed' toNode=' RedPawn1' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' RedPawn1PlaneSensor' fromField='translation_changed' toNode=' RedPawn1' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for RedPawn2 node:  [from RedPawn2PathInterpolator.value_changed to set_rotation ] [from RedPawn2PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedPawn2translation='-3 0 -3'>
<Group USE=' redpawn'/>
<!-- ROUTE information for RedPawn2TouchSensor node:  [from isOver to REDPAWN2CLOCK.set_enabled ] -->
<TouchSensor DEF='RedPawn2TouchSensor'/>

<!-- ROUTE information for REDPAWN2CLOCK node:  [from RedPawn2TouchSensor.isOver to set_enabled ] [from fraction_changed to RedPawn2PathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDPAWN2CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for RedPawn2PathInterpolator node:  [from REDPAWN2CLOCK.fraction_changed to set_fraction ] [from value_changed to RedPawn2.set_rotation ] -->
<OrientationInterpolator DEF='RedPawn2PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for RedPawn2PlaneSensor node:  [from translation_changed to RedPawn2.set_translation ] -->
<PlaneSensor DEF='RedPawn2PlaneSensormaxPosition='3 4minPosition='-4 -4offset='-3 -1 -2'/>

<Group>
< ROUTE  fromNode=' RedPawn2TouchSensor' fromField='isOver' toNode=' REDPAWN2CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' REDPAWN2CLOCK' fromField='fraction_changed' toNode=' RedPawn2PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' RedPawn2PathInterpolator' fromField='value_changed' toNode=' RedPawn2' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' RedPawn2PlaneSensor' fromField='translation_changed' toNode=' RedPawn2' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for RedPawn3 node:  [from RedPawn3PathInterpolator.value_changed to set_rotation ] [from RedPawn3PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedPawn3translation='-2 0 -3'>
<Group USE=' redpawn'/>
<!-- ROUTE information for RedPawn3TouchSensor node:  [from isOver to REDPAWN3CLOCK.set_enabled ] -->
<TouchSensor DEF='RedPawn3TouchSensor'/>

<!-- ROUTE information for REDPAWN3CLOCK node:  [from RedPawn3TouchSensor.isOver to set_enabled ] [from fraction_changed to RedPawn3PathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDPAWN3CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for RedPawn3PathInterpolator node:  [from REDPAWN3CLOCK.fraction_changed to set_fraction ] [from value_changed to RedPawn3.set_rotation ] -->
<OrientationInterpolator DEF='RedPawn3PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for RedPawn3PlaneSensor node:  [from translation_changed to RedPawn3.set_translation ] -->
<PlaneSensor DEF='RedPawn3PlaneSensormaxPosition='3 4minPosition='-4 -4offset='-2 1 -2'/>

<Group>
< ROUTE  fromNode=' RedPawn3TouchSensor' fromField='isOver' toNode=' REDPAWN3CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' REDPAWN3CLOCK' fromField='fraction_changed' toNode=' RedPawn3PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' RedPawn3PathInterpolator' fromField='value_changed' toNode=' RedPawn3' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' RedPawn3PlaneSensor' fromField='translation_changed' toNode=' RedPawn3' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for RedPawn4 node:  [from RedPawn4PathInterpolator.value_changed to set_rotation ] [from RedPawn4PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedPawn4translation='-1 0 -3'>
<Group USE=' redpawn'/>
<!-- ROUTE information for RedPawn4TouchSensor node:  [from isOver to REDPAWN4CLOCK.set_enabled ] -->
<TouchSensor DEF='RedPawn4TouchSensor'/>

<!-- ROUTE information for REDPAWN4CLOCK node:  [from RedPawn4TouchSensor.isOver to set_enabled ] [from fraction_changed to RedPawn4PathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDPAWN4CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for RedPawn4PathInterpolator node:  [from REDPAWN4CLOCK.fraction_changed to set_fraction ] [from value_changed to RedPawn4.set_rotation ] -->
<OrientationInterpolator DEF='RedPawn4PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for RedPawn4PlaneSensor node:  [from translation_changed to RedPawn4.set_translation ] -->
<PlaneSensor DEF='RedPawn4PlaneSensormaxPosition='3 4minPosition='-4 -4offset='-1 2 -2'/>

<Group>
< ROUTE  fromNode=' RedPawn4TouchSensor' fromField='isOver' toNode=' REDPAWN4CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' REDPAWN4CLOCK' fromField='fraction_changed' toNode=' RedPawn4PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' RedPawn4PathInterpolator' fromField='value_changed' toNode=' RedPawn4' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' RedPawn4PlaneSensor' fromField='translation_changed' toNode=' RedPawn4' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for RedPawn5 node:  [from RedPawn5PathInterpolator.value_changed to set_rotation ] [from RedPawn5PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedPawn5translation='0 0 -3'>
<Group USE=' redpawn'/>
<!-- ROUTE information for RedPawn5TouchSensor node:  [from isOver to REDPAWN5CLOCK.set_enabled ] -->
<TouchSensor DEF='RedPawn5TouchSensor'/>

<!-- ROUTE information for REDPAWN5CLOCK node:  [from RedPawn5TouchSensor.isOver to set_enabled ] [from fraction_changed to RedPawn5PathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDPAWN5CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for RedPawn5PathInterpolator node:  [from REDPAWN5CLOCK.fraction_changed to set_fraction ] [from value_changed to RedPawn5.set_rotation ] -->
<OrientationInterpolator DEF='RedPawn5PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for RedPawn5PlaneSensor node:  [from translation_changed to RedPawn5.set_translation ] -->
<PlaneSensor DEF='RedPawn5PlaneSensormaxPosition='3 4minPosition='-4 -4offset='0 -2 -2'/>

<Group>
< ROUTE  fromNode=' RedPawn5TouchSensor' fromField='isOver' toNode=' REDPAWN5CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' REDPAWN5CLOCK' fromField='fraction_changed' toNode=' RedPawn5PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' RedPawn5PathInterpolator' fromField='value_changed' toNode=' RedPawn5' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' RedPawn5PlaneSensor' fromField='translation_changed' toNode=' RedPawn5' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for RedPawn6 node:  [from RedPawn6PathInterpolator.value_changed to set_rotation ] [from RedPawn6PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedPawn6translation='1 0 -3'>
<Group USE=' redpawn'/>
<!-- ROUTE information for RedPawn6TouchSensor node:  [from isOver to REDPAWN6CLOCK.set_enabled ] -->
<TouchSensor DEF='RedPawn6TouchSensor'/>

<!-- ROUTE information for REDPAWN6CLOCK node:  [from RedPawn6TouchSensor.isOver to set_enabled ] [from fraction_changed to RedPawn6PathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDPAWN6CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for RedPawn6PathInterpolator node:  [from REDPAWN6CLOCK.fraction_changed to set_fraction ] [from value_changed to RedPawn6.set_rotation ] -->
<OrientationInterpolator DEF='RedPawn6PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for RedPawn6PlaneSensor node:  [from translation_changed to RedPawn6.set_translation ] -->
<PlaneSensor DEF='RedPawn6PlaneSensormaxPosition='3 4minPosition='-4 -4offset='1 1 -1'/>

<Group>
< ROUTE  fromNode=' RedPawn6TouchSensor' fromField='isOver' toNode=' REDPAWN6CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' REDPAWN6CLOCK' fromField='fraction_changed' toNode=' RedPawn6PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' RedPawn6PathInterpolator' fromField='value_changed' toNode=' RedPawn6' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' RedPawn6PlaneSensor' fromField='translation_changed' toNode=' RedPawn6' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for RedPawn7 node:  [from RedPawn7PathInterpolator.value_changed to set_rotation ] [from RedPawn7PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedPawn7translation='2 0 -3'>
<Group USE=' redpawn'/>
<!-- ROUTE information for RedPawn7TouchSensor node:  [from isOver to REDPAWN7CLOCK.set_enabled ] -->
<TouchSensor DEF='RedPawn7TouchSensor'/>

<!-- ROUTE information for REDPAWN7CLOCK node:  [from RedPawn7TouchSensor.isOver to set_enabled ] [from fraction_changed to RedPawn7PathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDPAWN7CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for RedPawn7PathInterpolator node:  [from REDPAWN7CLOCK.fraction_changed to set_fraction ] [from value_changed to RedPawn7.set_rotation ] -->
<OrientationInterpolator DEF='RedPawn7PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for RedPawn7PlaneSensor node:  [from translation_changed to RedPawn7.set_translation ] -->
<PlaneSensor DEF='RedPawn7PlaneSensormaxPosition='3 4minPosition='-4 -4offset='2 1 -1'/>

<Group>
< ROUTE  fromNode=' RedPawn7TouchSensor' fromField='isOver' toNode=' REDPAWN7CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' REDPAWN7CLOCK' fromField='fraction_changed' toNode=' RedPawn7PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' RedPawn7PathInterpolator' fromField='value_changed' toNode=' RedPawn7' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' RedPawn7PlaneSensor' fromField='translation_changed' toNode=' RedPawn7' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for RedPawn8 node:  [from RedPawn8PathInterpolator.value_changed to set_rotation ] [from RedPawn8PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedPawn8translation='3 0 -3'>
<Group USE=' redpawn'/>
<!-- ROUTE information for RedPawn8TouchSensor node:  [from isOver to REDPAWN8CLOCK.set_enabled ] -->
<TouchSensor DEF='RedPawn8TouchSensor'/>

<!-- ROUTE information for REDPAWN8CLOCK node:  [from RedPawn8TouchSensor.isOver to set_enabled ] [from fraction_changed to RedPawn8PathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDPAWN8CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for RedPawn8PathInterpolator node:  [from REDPAWN8CLOCK.fraction_changed to set_fraction ] [from value_changed to RedPawn8.set_rotation ] -->
<OrientationInterpolator DEF='RedPawn8PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for RedPawn8PlaneSensor node:  [from translation_changed to RedPawn8.set_translation ] -->
<PlaneSensor DEF='RedPawn8PlaneSensormaxPosition='3 4minPosition='-4 -4offset='3 0 -2'/>

<Group>
< ROUTE  fromNode=' RedPawn8TouchSensor' fromField='isOver' toNode=' REDPAWN8CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' REDPAWN8CLOCK' fromField='fraction_changed' toNode=' RedPawn8PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' RedPawn8PathInterpolator' fromField='value_changed' toNode=' RedPawn8' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' RedPawn8PlaneSensor' fromField='translation_changed' toNode=' RedPawn8' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for RedCastle1 node:  [from RedCastle1PathInterpolator.value_changed to set_rotation ] [from RedCastle1PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedCastle1translation='-4 0 -4'>
<Group>
<Group USE=' redpiecebase'/>
<Group>
<Transform translation='0 0.45 0'>
<Shape>
<Box size='.3 .45 .3'/>
<Appearance USE=' Red'/>
</Shape>
</Transform>
<Transform rotation='0 1 0 0.52translation='0 0.45 0'>
<Shape>
<Box size='.3 .45 .3'/>
<Appearance USE=' Red'/>
</Shape>
</Transform>
<Transform rotation='0 1 0 1.04translation='0 0.45 0'>
<Shape>
<Box size='.3 .45 .3'/>
<Appearance USE=' Red'/>
</Shape>
</Transform>
</Group>
</Group>
<!-- ROUTE information for RedCastle1TouchSensor node:  [from isOver to REDCASTLE1CLOCK.set_enabled ] -->
<TouchSensor DEF='RedCastle1TouchSensor'/>

<!-- ROUTE information for REDCASTLE1CLOCK node:  [from RedCastle1TouchSensor.isOver to set_enabled ] [from fraction_changed to RedCastle1PathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDCASTLE1CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for RedCastle1PathInterpolator node:  [from REDCASTLE1CLOCK.fraction_changed to set_fraction ] [from value_changed to RedCastle1.set_rotation ] -->
<OrientationInterpolator DEF='RedCastle1PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for RedCastle1PlaneSensor node:  [from translation_changed to RedCastle1.set_translation ] -->
<PlaneSensor DEF='RedCastle1PlaneSensormaxPosition='3 4minPosition='-4 -4offset='-4 3 -4'/>

<Group>
< ROUTE  fromNode=' RedCastle1TouchSensor' fromField='isOver' toNode=' REDCASTLE1CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' REDCASTLE1CLOCK' fromField='fraction_changed' toNode=' RedCastle1PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' RedCastle1PathInterpolator' fromField='value_changed' toNode=' RedCastle1' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' RedCastle1PlaneSensor' fromField='translation_changed' toNode=' RedCastle1' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for RedKnight1 node:  [from RedKnight1PathInterpolator.value_changed to set_rotation ] [from RedKnight1PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedKnight1translation='-3 0 -4'>
<Group>
<Group USE=' redpiecebase'/>
<Transform translation='0 0.45 0'>
<Shape>
<Cylinder height='0.45radius='0.125'/>
<Appearance USE=' Red'/>
</Shape>
</Transform>
<Transform rotation='1 0 0 5.27translation='0 0.55 0.075'>
<Shape>
<Cone bottomRadius='0.1height='0.4'/>
<Appearance USE=' Red'/>
</Shape>
</Transform>
</Group>
<!-- ROUTE information for RedKnight1TouchSensor node:  [from isOver to REDKNIGHT1CLOCK.set_enabled ] -->
<TouchSensor DEF='RedKnight1TouchSensor'/>

<!-- ROUTE information for REDKNIGHT1CLOCK node:  [from RedKnight1TouchSensor.isOver to set_enabled ] [from fraction_changed to RedKnight1PathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDKNIGHT1CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for RedKnight1PathInterpolator node:  [from REDKNIGHT1CLOCK.fraction_changed to set_fraction ] [from value_changed to RedKnight1.set_rotation ] -->
<OrientationInterpolator DEF='RedKnight1PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for RedKnight1PlaneSensor node:  [from translation_changed to RedKnight1.set_translation ] -->
<PlaneSensor DEF='RedKnight1PlaneSensormaxPosition='3 4minPosition='-4 -4offset='-2 0 -2'/>

<Group>
< ROUTE  fromNode=' RedKnight1TouchSensor' fromField='isOver' toNode=' REDKNIGHT1CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' REDKNIGHT1CLOCK' fromField='fraction_changed' toNode=' RedKnight1PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' RedKnight1PathInterpolator' fromField='value_changed' toNode=' RedKnight1' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' RedKnight1PlaneSensor' fromField='translation_changed' toNode=' RedKnight1' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for RedBishop1 node:  [from RedBishop1PathInterpolator.value_changed to set_rotation ] [from RedBishop1PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedBishop1translation='-2 0 -4'>
<Group>
<Group USE=' redpiecebase'/>
<Transform translation='0 0.45 0'>
<Shape>
<Cone bottomRadius='.15height='.5'/>
<Appearance USE=' Red'/>
</Shape>
</Transform>
</Group>
<!-- ROUTE information for RedBishop1TouchSensor node:  [from isOver to REDBISHOP1CLOCK.set_enabled ] -->
<TouchSensor DEF='RedBishop1TouchSensor'/>

<!-- ROUTE information for REDBISHOP1CLOCK node:  [from RedBishop1TouchSensor.isOver to set_enabled ] [from fraction_changed to RedBishop1PathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDBISHOP1CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for RedBishop1PathInterpolator node:  [from REDBISHOP1CLOCK.fraction_changed to set_fraction ] [from value_changed to RedBishop1.set_rotation ] -->
<OrientationInterpolator DEF='RedBishop1PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for RedBishop1PlaneSensor node:  [from translation_changed to RedBishop1.set_translation ] -->
<PlaneSensor DEF='RedBishop1PlaneSensormaxPosition='3 4minPosition='-4 -4offset='0 -4 -2'/>

<Group>
< ROUTE  fromNode=' RedBishop1TouchSensor' fromField='isOver' toNode=' REDBISHOP1CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' REDBISHOP1CLOCK' fromField='fraction_changed' toNode=' RedBishop1PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' RedBishop1PathInterpolator' fromField='value_changed' toNode=' RedBishop1' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' RedBishop1PlaneSensor' fromField='translation_changed' toNode=' RedBishop1' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for RedKing node:  [from RedKingPathInterpolator.value_changed to set_rotation ] [from RedKingPlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedKingtranslation='-1 0 -4'>
<Group>
<Group USE=' redpiecebase'/>
<Transform translation='0 0.4 0'>
<Shape>
<Cone bottomRadius='.10height='.25'/>
<Appearance USE=' Red'/>
</Shape>
</Transform>
<Transform scale='.035 .035 .035translation='0 0.4 0'>
<Shape DEF='RedBolt'>
<IndexedFaceSet convex='falsecoordIndex='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'>
<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'/>
</IndexedFaceSet>
<Appearance USE=' Red'/>
</Shape>
<Transform rotation='0 1 0 45'>
<Shape USE=' RedBolt'/>
</Transform>
<Transform rotation='0 1 0 90'>
<Shape USE=' RedBolt'/>
</Transform>
<Transform rotation='0 1 0 135'>
<Shape USE=' RedBolt'/>
</Transform>
<Transform rotation='0 1 0 180'>
<Shape USE=' RedBolt'/>
</Transform>
<Transform rotation='0 1 0 225'>
<Shape USE=' RedBolt'/>
</Transform>
</Transform>
<Transform translation='0 .8 0'>
<Group>
<Shape>
<Box size='.25 .02 .02'/>
<Appearance USE=' Red'/>
</Shape>
<Shape>
<Box size='.02 .25 .02'/>
<Appearance USE=' Red'/>
</Shape>
<Shape>
<Box size='.02 .02 .25'/>
<Appearance USE=' Red'/>
</Shape>
</Group>
</Transform>
</Group>
<!-- ROUTE information for RedKingTouchSensor node:  [from isOver to REDKINGCLOCK.set_enabled ] -->
<TouchSensor DEF='RedKingTouchSensor'/>

<!-- ROUTE information for REDKINGCLOCK node:  [from RedKingTouchSensor.isOver to set_enabled ] [from fraction_changed to RedKingPathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDKINGCLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for RedKingPathInterpolator node:  [from REDKINGCLOCK.fraction_changed to set_fraction ] [from value_changed to RedKing.set_rotation ] -->
<OrientationInterpolator DEF='RedKingPathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for RedKingPlaneSensor node:  [from translation_changed to RedKing.set_translation ] -->
<PlaneSensor DEF='RedKingPlaneSensormaxPosition='3 4minPosition='-4 -4offset='-1 1 -4'/>

<Group>
< ROUTE  fromNode=' RedKingTouchSensor' fromField='isOver' toNode=' REDKINGCLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' REDKINGCLOCK' fromField='fraction_changed' toNode=' RedKingPathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' RedKingPathInterpolator' fromField='value_changed' toNode=' RedKing' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' RedKingPlaneSensor' fromField='translation_changed' toNode=' RedKing' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for RedQueen node:  [from RedQueenPathInterpolator.value_changed to set_rotation ] [from RedQueenPlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedQueentranslation='0 0 -4'>
<Group>
<Group USE=' redpiecebase'/>
<Transform translation='0 0.4 0'>
<Shape>
<Cone bottomRadius='.10height='.25'/>
<Appearance USE=' Red'/>
</Shape>
</Transform>
<Transform scale='.035 .035 .035translation='0 0.4 0'>
<Shape USE=' RedBolt'/>
<Transform rotation='0 1 0 45'>
<Shape USE=' RedBolt'/>
</Transform>
<Transform rotation='0 1 0 90'>
<Shape USE=' RedBolt'/>
</Transform>
<Transform rotation='0 1 0 135'>
<Shape USE=' RedBolt'/>
</Transform>
<Transform rotation='0 1 0 180'>
<Shape USE=' RedBolt'/>
</Transform>
<Transform rotation='0 1 0 225'>
<Shape USE=' RedBolt'/>
</Transform>
</Transform>
</Group>
<!-- ROUTE information for RedQueenTouchSensor node:  [from isOver to REDQUEENCLOCK.set_enabled ] -->
<TouchSensor DEF='RedQueenTouchSensor'/>

<!-- ROUTE information for REDQUEENCLOCK node:  [from RedQueenTouchSensor.isOver to set_enabled ] [from fraction_changed to RedQueenPathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDQUEENCLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for RedQueenPathInterpolator node:  [from REDQUEENCLOCK.fraction_changed to set_fraction ] [from value_changed to RedQueen.set_rotation ] -->
<OrientationInterpolator DEF='RedQueenPathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for RedQueenPlaneSensor node:  [from translation_changed to RedQueen.set_translation ] -->
<PlaneSensor DEF='RedQueenPlaneSensormaxPosition='3 4minPosition='-4 -4offset='0 3 3'/>

<Group>
< ROUTE  fromNode=' RedQueenTouchSensor' fromField='isOver' toNode=' REDQUEENCLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' REDQUEENCLOCK' fromField='fraction_changed' toNode=' RedQueenPathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' RedQueenPathInterpolator' fromField='value_changed' toNode=' RedQueen' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' RedQueenPlaneSensor' fromField='translation_changed' toNode=' RedQueen' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for RedBishop2 node:  [from RedBishop2PathInterpolator.value_changed to set_rotation ] [from RedBishop2PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedBishop2translation='1 0 -4'>
<Group>
<Group USE=' redpiecebase'/>
<Transform translation='0 0.45 0'>
<Shape>
<Cone bottomRadius='.15height='.5'/>
<Appearance>
<Material diffuseColor='1 .25 .25'/>
</Appearance>
</Shape>
</Transform>
</Group>
<!-- ROUTE information for RedBishop2TouchSensor node:  [from isOver to REDBISHOP2CLOCK.set_enabled ] -->
<TouchSensor DEF='RedBishop2TouchSensor'/>

<!-- ROUTE information for REDBISHOP2CLOCK node:  [from RedBishop2TouchSensor.isOver to set_enabled ] [from fraction_changed to RedBishop2PathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDBISHOP2CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for RedBishop2PathInterpolator node:  [from REDBISHOP2CLOCK.fraction_changed to set_fraction ] [from value_changed to RedBishop2.set_rotation ] -->
<OrientationInterpolator DEF='RedBishop2PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for RedBishop2PlaneSensor node:  [from translation_changed to RedBishop2.set_translation ] -->
<PlaneSensor DEF='RedBishop2PlaneSensormaxPosition='3 4minPosition='-4 -4offset='0 4 -2'/>

<Group>
< ROUTE  fromNode=' RedBishop2TouchSensor' fromField='isOver' toNode=' REDBISHOP2CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' REDBISHOP2CLOCK' fromField='fraction_changed' toNode=' RedBishop2PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' RedBishop2PathInterpolator' fromField='value_changed' toNode=' RedBishop2' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' RedBishop2PlaneSensor' fromField='translation_changed' toNode=' RedBishop2' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for RedKnight2 node:  [from RedKnight2PathInterpolator.value_changed to set_rotation ] [from RedKnight2PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedKnight2translation='2 0 -4'>
<Group>
<Group USE=' redpiecebase'/>
<Transform translation='0 0.45 0'>
<Shape>
<Cylinder height='0.45radius='0.125'/>
<Appearance USE=' Red'/>
</Shape>
</Transform>
<Transform rotation='1 0 0 5.27translation='0 0.55 0.075'>
<Shape>
<Cone bottomRadius='0.1height='0.4'/>
<Appearance USE=' Red'/>
</Shape>
</Transform>
</Group>
<!-- ROUTE information for RedKnight2TouchSensor node:  [from isOver to REDKNIGHT2CLOCK.set_enabled ] -->
<TouchSensor DEF='RedKnight2TouchSensor'/>

<!-- ROUTE information for REDKNIGHT2CLOCK node:  [from RedKnight2TouchSensor.isOver to set_enabled ] [from fraction_changed to RedKnight2PathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDKNIGHT2CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for RedKnight2PathInterpolator node:  [from REDKNIGHT2CLOCK.fraction_changed to set_fraction ] [from value_changed to RedKnight2.set_rotation ] -->
<OrientationInterpolator DEF='RedKnight2PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for RedKnight2PlaneSensor node:  [from translation_changed to RedKnight2.set_translation ] -->
<PlaneSensor DEF='RedKnight2PlaneSensormaxPosition='3 4minPosition='-4 -4offset='0 0 -2'/>

<Group>
< ROUTE  fromNode=' RedKnight2TouchSensor' fromField='isOver' toNode=' REDKNIGHT2CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' REDKNIGHT2CLOCK' fromField='fraction_changed' toNode=' RedKnight2PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' RedKnight2PathInterpolator' fromField='value_changed' toNode=' RedKnight2' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' RedKnight2PlaneSensor' fromField='translation_changed' toNode=' RedKnight2' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for RedCastle2 node:  [from RedCastle2PathInterpolator.value_changed to set_rotation ] [from RedCastle2PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='RedCastle2translation='3 0 -4'>
<Group>
<Group USE=' redpiecebase'/>
<Group>
<Transform translation='0 0.45 0'>
<Shape>
<Box size='.3 .45 .3'/>
<Appearance>
<Material diffuseColor='1 .25 .25'/>
</Appearance>
</Shape>
</Transform>
<Transform rotation='0 1 0 0.52translation='0 0.45 0'>
<Shape>
<Box size='.3 .45 .3'/>
<Appearance>
<Material diffuseColor='1 .25 .25'/>
</Appearance>
</Shape>
</Transform>
<Transform rotation='0 1 0 1.04translation='0 0.45 0'>
<Shape>
<Box size='.3 .45 .3'/>
<Appearance>
<Material diffuseColor='1 .25 .25'/>
</Appearance>
</Shape>
</Transform>
</Group>
</Group>
<!-- ROUTE information for RedCastle2TouchSensor node:  [from isOver to REDCASTLE2CLOCK.set_enabled ] -->
<TouchSensor DEF='RedCastle2TouchSensor'/>

<!-- ROUTE information for REDCASTLE2CLOCK node:  [from RedCastle2TouchSensor.isOver to set_enabled ] [from fraction_changed to RedCastle2PathInterpolator.set_fraction ] -->
<TimeSensor DEF='REDCASTLE2CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for RedCastle2PathInterpolator node:  [from REDCASTLE2CLOCK.fraction_changed to set_fraction ] [from value_changed to RedCastle2.set_rotation ] -->
<OrientationInterpolator DEF='RedCastle2PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for RedCastle2PlaneSensor node:  [from translation_changed to RedCastle2.set_translation ] -->
<PlaneSensor DEF='RedCastle2PlaneSensormaxPosition='3 4minPosition='-4 -4offset='3 -4 -4'/>

<Group>
< ROUTE  fromNode=' RedCastle2TouchSensor' fromField='isOver' toNode=' REDCASTLE2CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' REDCASTLE2CLOCK' fromField='fraction_changed' toNode=' RedCastle2PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' RedCastle2PathInterpolator' fromField='value_changed' toNode=' RedCastle2' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' RedCastle2PlaneSensor' fromField='translation_changed' toNode=' RedCastle2' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for BluePawn1 node:  [from BluePawn1PathInterpolator.value_changed to set_rotation ] [from BluePawn1PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='BluePawn1translation='-4 0 2'>
<Group DEF='aquapawn'>
<Transform translation='0 .415 0'>
<Transform>
<Shape>
<Sphere radius='.1875'/>
<Appearance DEF='Aqua'>
<Material diffuseColor='.25 1 1'/>
</Appearance>
</Shape>
</Transform>
</Transform>
<Group DEF='bluepiecebase'>
<Transform translation='0 0.04 0'>
<Shape>
<Cylinder height='.0625radius='.1875'/>
</Shape>
</Transform>
<Transform DEF='bluepieceposttranslation='0 .165 0'>
<Shape>
<Cylinder height='.25radius='.0825'/>
<Appearance USE=' Aqua'/>
</Shape>
</Transform>
</Group>
</Group>
<!-- ROUTE information for BluePawn1TouchSensor node:  [from isOver to BLUEPAWN1CLOCK.set_enabled ] -->
<TouchSensor DEF='BluePawn1TouchSensor'/>

<!-- ROUTE information for BLUEPAWN1CLOCK node:  [from BluePawn1TouchSensor.isOver to set_enabled ] [from fraction_changed to BluePawn1PathInterpolator.set_fraction ] -->
<TimeSensor DEF='BLUEPAWN1CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for BluePawn1PathInterpolator node:  [from BLUEPAWN1CLOCK.fraction_changed to set_fraction ] [from value_changed to BluePawn1.set_rotation ] -->
<OrientationInterpolator DEF='BluePawn1PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for BluePawn1PlaneSensor node:  [from translation_changed to BluePawn1.set_translation ] -->
<PlaneSensor DEF='BluePawn1PlaneSensormaxPosition='3 4minPosition='-4 -4offset='-4 1 2'/>

<Group>
< ROUTE  fromNode=' BluePawn1TouchSensor' fromField='isOver' toNode=' BLUEPAWN1CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' BLUEPAWN1CLOCK' fromField='fraction_changed' toNode=' BluePawn1PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' BluePawn1PathInterpolator' fromField='value_changed' toNode=' BluePawn1' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' BluePawn1PlaneSensor' fromField='translation_changed' toNode=' BluePawn1' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for BluePawn2 node:  [from BluePawn2PathInterpolator.value_changed to set_rotation ] [from BluePawn2PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='BluePawn2translation='-3 0 2'>
<Group USE=' aquapawn'/>
<!-- ROUTE information for BluePawn2TouchSensor node:  [from isOver to BLUEPAWN2CLOCK.set_enabled ] -->
<TouchSensor DEF='BluePawn2TouchSensor'/>

<!-- ROUTE information for BLUEPAWN2CLOCK node:  [from BluePawn2TouchSensor.isOver to set_enabled ] [from fraction_changed to BluePawn2PathInterpolator.set_fraction ] -->
<TimeSensor DEF='BLUEPAWN2CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for BluePawn2PathInterpolator node:  [from BLUEPAWN2CLOCK.fraction_changed to set_fraction ] [from value_changed to BluePawn2.set_rotation ] -->
<OrientationInterpolator DEF='BluePawn2PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for BluePawn2PlaneSensor node:  [from translation_changed to BluePawn2.set_translation ] -->
<PlaneSensor DEF='BluePawn2PlaneSensormaxPosition='3 4minPosition='-4 -4offset='-3 1 1'/>

<Group>
< ROUTE  fromNode=' BluePawn2TouchSensor' fromField='isOver' toNode=' BLUEPAWN2CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' BLUEPAWN2CLOCK' fromField='fraction_changed' toNode=' BluePawn2PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' BluePawn2PathInterpolator' fromField='value_changed' toNode=' BluePawn2' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' BluePawn2PlaneSensor' fromField='translation_changed' toNode=' BluePawn2' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for BluePawn3 node:  [from BluePawn3PathInterpolator.value_changed to set_rotation ] [from BluePawn3PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='BluePawn3translation='-2 0 2'>
<Group USE=' aquapawn'/>
<!-- ROUTE information for BluePawn3TouchSensor node:  [from isOver to BLUEPAWN3CLOCK.set_enabled ] -->
<TouchSensor DEF='BluePawn3TouchSensor'/>

<!-- ROUTE information for BLUEPAWN3CLOCK node:  [from BluePawn3TouchSensor.isOver to set_enabled ] [from fraction_changed to BluePawn3PathInterpolator.set_fraction ] -->
<TimeSensor DEF='BLUEPAWN3CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for BluePawn3PathInterpolator node:  [from BLUEPAWN3CLOCK.fraction_changed to set_fraction ] [from value_changed to BluePawn3.set_rotation ] -->
<OrientationInterpolator DEF='BluePawn3PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for BluePawn3PlaneSensor node:  [from translation_changed to BluePawn3.set_translation ] -->
<PlaneSensor DEF='BluePawn3PlaneSensormaxPosition='3 4minPosition='-4 -4offset='-2 2 2'/>

<Group>
< ROUTE  fromNode=' BluePawn3TouchSensor' fromField='isOver' toNode=' BLUEPAWN3CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' BLUEPAWN3CLOCK' fromField='fraction_changed' toNode=' BluePawn3PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' BluePawn3PathInterpolator' fromField='value_changed' toNode=' BluePawn3' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' BluePawn3PlaneSensor' fromField='translation_changed' toNode=' BluePawn3' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for BluePawn4 node:  [from BluePawn4PathInterpolator.value_changed to set_rotation ] [from BluePawn4PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='BluePawn4translation='-1 0 2'>
<Group USE=' aquapawn'/>
<!-- ROUTE information for BluePawn4TouchSensor node:  [from isOver to BLUEPAWN4CLOCK.set_enabled ] -->
<TouchSensor DEF='BluePawn4TouchSensor'/>

<!-- ROUTE information for BLUEPAWN4CLOCK node:  [from BluePawn4TouchSensor.isOver to set_enabled ] [from fraction_changed to BluePawn4PathInterpolator.set_fraction ] -->
<TimeSensor DEF='BLUEPAWN4CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for BluePawn4PathInterpolator node:  [from BLUEPAWN4CLOCK.fraction_changed to set_fraction ] [from value_changed to BluePawn4.set_rotation ] -->
<OrientationInterpolator DEF='BluePawn4PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for BluePawn4PlaneSensor node:  [from translation_changed to BluePawn4.set_translation ] -->
<PlaneSensor DEF='BluePawn4PlaneSensormaxPosition='3 4minPosition='-4 -4offset='-1 1 2'/>

<Group>
< ROUTE  fromNode=' BluePawn4TouchSensor' fromField='isOver' toNode=' BLUEPAWN4CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' BLUEPAWN4CLOCK' fromField='fraction_changed' toNode=' BluePawn4PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' BluePawn4PathInterpolator' fromField='value_changed' toNode=' BluePawn4' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' BluePawn4PlaneSensor' fromField='translation_changed' toNode=' BluePawn4' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for BluePawn5 node:  [from BluePawn5PathInterpolator.value_changed to set_rotation ] [from BluePawn5PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='BluePawn5translation='0 0 2'>
<Group USE=' aquapawn'/>
<!-- ROUTE information for BluePawn5TouchSensor node:  [from isOver to BLUEPAWN5CLOCK.set_enabled ] -->
<TouchSensor DEF='BluePawn5TouchSensor'/>

<!-- ROUTE information for BLUEPAWN5CLOCK node:  [from BluePawn5TouchSensor.isOver to set_enabled ] [from fraction_changed to BluePawn5PathInterpolator.set_fraction ] -->
<TimeSensor DEF='BLUEPAWN5CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for BluePawn5PathInterpolator node:  [from BLUEPAWN5CLOCK.fraction_changed to set_fraction ] [from value_changed to BluePawn5.set_rotation ] -->
<OrientationInterpolator DEF='BluePawn5PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for BluePawn5PlaneSensor node:  [from translation_changed to BluePawn5.set_translation ] -->
<PlaneSensor DEF='BluePawn5PlaneSensormaxPosition='3 4minPosition='-4 -4offset='0 -1 1'/>

<Group>
< ROUTE  fromNode=' BluePawn5TouchSensor' fromField='isOver' toNode=' BLUEPAWN5CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' BLUEPAWN5CLOCK' fromField='fraction_changed' toNode=' BluePawn5PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' BluePawn5PathInterpolator' fromField='value_changed' toNode=' BluePawn5' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' BluePawn5PlaneSensor' fromField='translation_changed' toNode=' BluePawn5' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for BluePawn6 node:  [from BluePawn6PathInterpolator.value_changed to set_rotation ] [from BluePawn6PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='BluePawn6translation='1 0 2'>
<Group USE=' aquapawn'/>
<!-- ROUTE information for BluePawn6TouchSensor node:  [from isOver to BLUEPAWN6CLOCK.set_enabled ] -->
<TouchSensor DEF='BluePawn6TouchSensor'/>

<!-- ROUTE information for BLUEPAWN6CLOCK node:  [from BluePawn6TouchSensor.isOver to set_enabled ] [from fraction_changed to BluePawn6PathInterpolator.set_fraction ] -->
<TimeSensor DEF='BLUEPAWN6CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for BluePawn6PathInterpolator node:  [from BLUEPAWN6CLOCK.fraction_changed to set_fraction ] [from value_changed to BluePawn6.set_rotation ] -->
<OrientationInterpolator DEF='BluePawn6PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for BluePawn6PlaneSensor node:  [from translation_changed to BluePawn6.set_translation ] -->
<PlaneSensor DEF='BluePawn6PlaneSensormaxPosition='3 4minPosition='-4 -4offset='1 1 1'/>

<Group>
< ROUTE  fromNode=' BluePawn6TouchSensor' fromField='isOver' toNode=' BLUEPAWN6CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' BLUEPAWN6CLOCK' fromField='fraction_changed' toNode=' BluePawn6PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' BluePawn6PathInterpolator' fromField='value_changed' toNode=' BluePawn6' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' BluePawn6PlaneSensor' fromField='translation_changed' toNode=' BluePawn6' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for BluePawn7 node:  [from BluePawn7PathInterpolator.value_changed to set_rotation ] [from BluePawn7PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='BluePawn7translation='2 0 2'>
<Group USE=' aquapawn'/>
<!-- ROUTE information for BluePawn7TouchSensor node:  [from isOver to BLUEPAWN7CLOCK.set_enabled ] -->
<TouchSensor DEF='BluePawn7TouchSensor'/>

<!-- ROUTE information for BLUEPAWN7CLOCK node:  [from BluePawn7TouchSensor.isOver to set_enabled ] [from fraction_changed to BluePawn7PathInterpolator.set_fraction ] -->
<TimeSensor DEF='BLUEPAWN7CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for BluePawn7PathInterpolator node:  [from BLUEPAWN7CLOCK.fraction_changed to set_fraction ] [from value_changed to BluePawn7.set_rotation ] -->
<OrientationInterpolator DEF='BluePawn7PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for BluePawn7PlaneSensor node:  [from translation_changed to BluePawn7.set_translation ] -->
<PlaneSensor DEF='BluePawn7PlaneSensormaxPosition='3 4minPosition='-4 -4offset='2 1 2'/>

<Group>
< ROUTE  fromNode=' BluePawn7TouchSensor' fromField='isOver' toNode=' BLUEPAWN7CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' BLUEPAWN7CLOCK' fromField='fraction_changed' toNode=' BluePawn7PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' BluePawn7PathInterpolator' fromField='value_changed' toNode=' BluePawn7' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' BluePawn7PlaneSensor' fromField='translation_changed' toNode=' BluePawn7' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for BluePawn8 node:  [from BluePawn8PathInterpolator.value_changed to set_rotation ] [from BluePawn8PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='BluePawn8translation='3 0 2'>
<Group USE=' aquapawn'/>
<!-- ROUTE information for BluePawn8TouchSensor node:  [from isOver to BLUEPAWN8CLOCK.set_enabled ] -->
<TouchSensor DEF='BluePawn8TouchSensor'/>

<!-- ROUTE information for BLUEPAWN8CLOCK node:  [from BluePawn8TouchSensor.isOver to set_enabled ] [from fraction_changed to BluePawn8PathInterpolator.set_fraction ] -->
<TimeSensor DEF='BLUEPAWN8CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for BluePawn8PathInterpolator node:  [from BLUEPAWN8CLOCK.fraction_changed to set_fraction ] [from value_changed to BluePawn8.set_rotation ] -->
<OrientationInterpolator DEF='BluePawn8PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for BluePawn8PlaneSensor node:  [from translation_changed to BluePawn8.set_translation ] -->
<PlaneSensor DEF='BluePawn8PlaneSensormaxPosition='3 4minPosition='-4 -4offset='3 1 2'/>

<Group>
< ROUTE  fromNode=' BluePawn8TouchSensor' fromField='isOver' toNode=' BLUEPAWN8CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' BLUEPAWN8CLOCK' fromField='fraction_changed' toNode=' BluePawn8PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' BluePawn8PathInterpolator' fromField='value_changed' toNode=' BluePawn8' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' BluePawn8PlaneSensor' fromField='translation_changed' toNode=' BluePawn8' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for BlueCastle1 node:  [from BlueCastle1PathInterpolator.value_changed to set_rotation ] [from BlueCastle1PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='BlueCastle1translation='-4 0 3'>
<Group>
<Group USE=' bluepiecebase'/>
<Group>
<Transform translation='0 0.45 0'>
<Shape>
<Box size='.3 .45 .3'/>
<Appearance USE=' Aqua'/>
</Shape>
</Transform>
<Transform rotation='0 1 0 0.52translation='0 0.45 0'>
<Shape>
<Box size='.3 .45 .3'/>
<Appearance USE=' Aqua'/>
</Shape>
</Transform>
<Transform rotation='0 1 0 1.04translation='0 0.45 0'>
<Shape>
<Box size='.3 .45 .3'/>
<Appearance USE=' Aqua'/>
</Shape>
</Transform>
</Group>
</Group>
<!-- ROUTE information for BlueCastle1TouchSensor node:  [from isOver to BLUECASTLE1CLOCK.set_enabled ] -->
<TouchSensor DEF='BlueCastle1TouchSensor'/>

<!-- ROUTE information for BLUECASTLE1CLOCK node:  [from BlueCastle1TouchSensor.isOver to set_enabled ] [from fraction_changed to BlueCastle1PathInterpolator.set_fraction ] -->
<TimeSensor DEF='BLUECASTLE1CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for BlueCastle1PathInterpolator node:  [from BLUECASTLE1CLOCK.fraction_changed to set_fraction ] [from value_changed to BlueCastle1.set_rotation ] -->
<OrientationInterpolator DEF='BlueCastle1PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for BlueCastle1PlaneSensor node:  [from translation_changed to BlueCastle1.set_translation ] -->
<PlaneSensor DEF='BlueCastle1PlaneSensormaxPosition='3 4minPosition='-4 -4offset='-4 4 3'/>

<Group>
< ROUTE  fromNode=' BlueCastle1TouchSensor' fromField='isOver' toNode=' BLUECASTLE1CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' BLUECASTLE1CLOCK' fromField='fraction_changed' toNode=' BlueCastle1PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' BlueCastle1PathInterpolator' fromField='value_changed' toNode=' BlueCastle1' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' BlueCastle1PlaneSensor' fromField='translation_changed' toNode=' BlueCastle1' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for BlueKnight1 node:  [from BlueKnight1PathInterpolator.value_changed to set_rotation ] [from BlueKnight1PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='BlueKnight1translation='-3 0 3'>
<Group>
<Group USE=' bluepiecebase'/>
<Transform translation='0 0.45 0'>
<Shape>
<Cylinder height='0.45radius='0.125'/>
<Appearance USE=' Aqua'/>
</Shape>
</Transform>
<Transform rotation='-1 0 0 5.27translation='0 0.55 -0.075'>
<Shape>
<Cone bottomRadius='0.1height='0.4'/>
<Appearance USE=' Aqua'/>
</Shape>
</Transform>
</Group>
<!-- ROUTE information for BlueKnight1TouchSensor node:  [from isOver to BLUEKNIGHT1CLOCK.set_enabled ] -->
<TouchSensor DEF='BlueKnight1TouchSensor'/>

<!-- ROUTE information for BLUEKNIGHT1CLOCK node:  [from BlueKnight1TouchSensor.isOver to set_enabled ] [from fraction_changed to BlueKnight1PathInterpolator.set_fraction ] -->
<TimeSensor DEF='BLUEKNIGHT1CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for BlueKnight1PathInterpolator node:  [from BLUEKNIGHT1CLOCK.fraction_changed to set_fraction ] [from value_changed to BlueKnight1.set_rotation ] -->
<OrientationInterpolator DEF='BlueKnight1PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for BlueKnight1PlaneSensor node:  [from translation_changed to BlueKnight1.set_translation ] -->
<PlaneSensor DEF='BlueKnight1PlaneSensormaxPosition='3 4minPosition='-4 -4offset='-4 0 1'/>

<Group>
< ROUTE  fromNode=' BlueKnight1TouchSensor' fromField='isOver' toNode=' BLUEKNIGHT1CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' BLUEKNIGHT1CLOCK' fromField='fraction_changed' toNode=' BlueKnight1PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' BlueKnight1PathInterpolator' fromField='value_changed' toNode=' BlueKnight1' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' BlueKnight1PlaneSensor' fromField='translation_changed' toNode=' BlueKnight1' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for BlueBishop1 node:  [from BlueBishop1PathInterpolator.value_changed to set_rotation ] [from BlueBishop1PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='BlueBishop1translation='-2 0 3'>
<Group>
<Group USE=' bluepiecebase'/>
<Group>
<Transform translation='0 0.45 0'>
<Shape>
<Cone bottomRadius='.15height='.5'/>
<Appearance USE=' Aqua'/>
</Shape>
</Transform>
</Group>
</Group>
<!-- ROUTE information for BlueBishop1TouchSensor node:  [from isOver to BLUEBISHOP1CLOCK.set_enabled ] -->
<TouchSensor DEF='BlueBishop1TouchSensor'/>

<!-- ROUTE information for BLUEBISHOP1CLOCK node:  [from BlueBishop1TouchSensor.isOver to set_enabled ] [from fraction_changed to BlueBishop1PathInterpolator.set_fraction ] -->
<TimeSensor DEF='BLUEBISHOP1CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for BlueBishop1PathInterpolator node:  [from BLUEBISHOP1CLOCK.fraction_changed to set_fraction ] [from value_changed to BlueBishop1.set_rotation ] -->
<OrientationInterpolator DEF='BlueBishop1PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for BlueBishop1PlaneSensor node:  [from translation_changed to BlueBishop1.set_translation ] -->
<PlaneSensor DEF='BlueBishop1PlaneSensormaxPosition='3 4minPosition='-4 -4offset='-2 3 0'/>

<Group>
< ROUTE  fromNode=' BlueBishop1TouchSensor' fromField='isOver' toNode=' BLUEBISHOP1CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' BLUEBISHOP1CLOCK' fromField='fraction_changed' toNode=' BlueBishop1PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' BlueBishop1PathInterpolator' fromField='value_changed' toNode=' BlueBishop1' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' BlueBishop1PlaneSensor' fromField='translation_changed' toNode=' BlueBishop1' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for BlueKing node:  [from BlueKingPathInterpolator.value_changed to set_rotation ] [from BlueKingPlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='BlueKingtranslation='-1 0 3'>
<Group>
<Group USE=' bluepiecebase'/>
<Transform translation='0 0.4 0'>
<Shape>
<Cone bottomRadius='.10height='.25'/>
<Appearance USE=' Aqua'/>
</Shape>
</Transform>
<Transform scale='.035 .035 .035translation='0 0.4 0'>
<Shape DEF='BlueBolt'>
<IndexedFaceSet convex='falsecoordIndex='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'>
<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'/>
</IndexedFaceSet>
<Appearance USE=' Aqua'/>
</Shape>
<Transform rotation='0 1 0 45'>
<Shape USE=' BlueBolt'/>
</Transform>
<Transform rotation='0 1 0 90'>
<Shape USE=' BlueBolt'/>
</Transform>
<Transform rotation='0 1 0 135'>
<Shape USE=' BlueBolt'/>
</Transform>
<Transform rotation='0 1 0 180'>
<Shape USE=' BlueBolt'/>
</Transform>
<Transform rotation='0 1 0 225'>
<Shape USE=' BlueBolt'/>
</Transform>
</Transform>
<Transform translation='0 .8 0'>
<Group>
<Shape>
<Appearance USE=' Aqua'/>
<Box size='.25 .02 .02'/>
</Shape>
<Shape>
<Appearance USE=' Aqua'/>
<Box size='.02 .25 .02'/>
</Shape>
<Shape>
<Appearance USE=' Aqua'/>
<Box size='.02 .02 .25'/>
</Shape>
</Group>
</Transform>
</Group>
<!-- ROUTE information for BlueKingTouchSensor node:  [from isOver to BLUEKINGCLOCK.set_enabled ] -->
<TouchSensor DEF='BlueKingTouchSensor'/>

<!-- ROUTE information for BLUEKINGCLOCK node:  [from BlueKingTouchSensor.isOver to set_enabled ] [from fraction_changed to BlueKingPathInterpolator.set_fraction ] -->
<TimeSensor DEF='BLUEKINGCLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for BlueKingPathInterpolator node:  [from BLUEKINGCLOCK.fraction_changed to set_fraction ] [from value_changed to BlueKing.set_rotation ] -->
<OrientationInterpolator DEF='BlueKingPathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for BlueKingPlaneSensor node:  [from translation_changed to BlueKing.set_translation ] -->
<PlaneSensor DEF='BlueKingPlaneSensormaxPosition='3 4minPosition='-4 -4offset='-1 -1 3'/>

<Group>
< ROUTE  fromNode=' BlueKingTouchSensor' fromField='isOver' toNode=' BLUEKINGCLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' BLUEKINGCLOCK' fromField='fraction_changed' toNode=' BlueKingPathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' BlueKingPathInterpolator' fromField='value_changed' toNode=' BlueKing' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' BlueKingPlaneSensor' fromField='translation_changed' toNode=' BlueKing' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for BlueQueen node:  [from BlueQueenPathInterpolator.value_changed to set_rotation ] [from BlueQueenPlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='BlueQueentranslation='0 0 3'>
<Group>
<Group USE=' bluepiecebase'/>
<Transform translation='0 0.4 0'>
<Shape>
<Cone bottomRadius='.10height='.25'/>
<Appearance USE=' Aqua'/>
</Shape>
</Transform>
<Transform scale='.035 .035 .035translation='0 0.4 0'>
<Shape USE=' BlueBolt'/>
<Transform rotation='0 1 0 45'>
<Shape USE=' BlueBolt'/>
</Transform>
<Transform rotation='0 1 0 90'>
<Shape USE=' BlueBolt'/>
</Transform>
<Transform rotation='0 1 0 135'>
<Shape USE=' BlueBolt'/>
</Transform>
<Transform rotation='0 1 0 180'>
<Shape USE=' BlueBolt'/>
</Transform>
<Transform rotation='0 1 0 225'>
<Shape USE=' BlueBolt'/>
</Transform>
</Transform>
</Group>
<!-- ROUTE information for BlueQueenTouchSensor node:  [from isOver to BLUEQUEENCLOCK.set_enabled ] -->
<TouchSensor DEF='BlueQueenTouchSensor'/>

<!-- ROUTE information for BLUEQUEENCLOCK node:  [from BlueQueenTouchSensor.isOver to set_enabled ] [from fraction_changed to BlueQueenPathInterpolator.set_fraction ] -->
<TimeSensor DEF='BLUEQUEENCLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for BlueQueenPathInterpolator node:  [from BLUEQUEENCLOCK.fraction_changed to set_fraction ] [from value_changed to BlueQueen.set_rotation ] -->
<OrientationInterpolator DEF='BlueQueenPathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for BlueQueenPlaneSensor node:  [from translation_changed to BlueQueen.set_translation ] -->
<PlaneSensor DEF='BlueQueenPlaneSensormaxPosition='3 4minPosition='-4 -4offset='0 -4 -4'/>

<Group>
< ROUTE  fromNode=' BlueQueenTouchSensor' fromField='isOver' toNode=' BLUEQUEENCLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' BLUEQUEENCLOCK' fromField='fraction_changed' toNode=' BlueQueenPathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' BlueQueenPathInterpolator' fromField='value_changed' toNode=' BlueQueen' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' BlueQueenPlaneSensor' fromField='translation_changed' toNode=' BlueQueen' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for BlueBishop2 node:  [from BlueBishop2PathInterpolator.value_changed to set_rotation ] [from BlueBishop2PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='BlueBishop2translation='1 0 3'>
<Group>
<Group USE=' bluepiecebase'/>
<Transform translation='0 0.45 0'>
<Shape>
<Cone bottomRadius='.15height='.5'/>
<Appearance USE=' Aqua'/>
</Shape>
</Transform>
</Group>
<!-- ROUTE information for BlueBishop2TouchSensor node:  [from isOver to BLUEBISHOP2CLOCK.set_enabled ] -->
<TouchSensor DEF='BlueBishop2TouchSensor'/>

<!-- ROUTE information for BLUEBISHOP2CLOCK node:  [from BlueBishop2TouchSensor.isOver to set_enabled ] [from fraction_changed to BlueBishop2PathInterpolator.set_fraction ] -->
<TimeSensor DEF='BLUEBISHOP2CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for BlueBishop2PathInterpolator node:  [from BLUEBISHOP2CLOCK.fraction_changed to set_fraction ] [from value_changed to BlueBishop2.set_rotation ] -->
<OrientationInterpolator DEF='BlueBishop2PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for BlueBishop2PlaneSensor node:  [from translation_changed to BlueBishop2.set_translation ] -->
<PlaneSensor DEF='BlueBishop2PlaneSensormaxPosition='3 4minPosition='-4 -4offset='1 2 3'/>

<Group>
< ROUTE  fromNode=' BlueBishop2TouchSensor' fromField='isOver' toNode=' BLUEBISHOP2CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' BLUEBISHOP2CLOCK' fromField='fraction_changed' toNode=' BlueBishop2PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' BlueBishop2PathInterpolator' fromField='value_changed' toNode=' BlueBishop2' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' BlueBishop2PlaneSensor' fromField='translation_changed' toNode=' BlueBishop2' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for BlueKnight2 node:  [from BlueKnight2PathInterpolator.value_changed to set_rotation ] [from BlueKnight2PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='BlueKnight2translation='2 0 3'>
<Group>
<Group USE=' bluepiecebase'/>
<Transform translation='0 0.45 0'>
<Shape>
<Cylinder height='0.45radius='0.125'/>
<Appearance USE=' Aqua'/>
</Shape>
</Transform>
<Transform rotation='-1 0 0 5.27translation='0 0.55 -0.075'>
<Shape>
<Cone bottomRadius='0.1height='0.4'/>
<Appearance USE=' Aqua'/>
</Shape>
</Transform>
</Group>
<!-- ROUTE information for BlueKnight2TouchSensor node:  [from isOver to BLUEKNIGHT2CLOCK.set_enabled ] -->
<TouchSensor DEF='BlueKnight2TouchSensor'/>

<!-- ROUTE information for BLUEKNIGHT2CLOCK node:  [from BlueKnight2TouchSensor.isOver to set_enabled ] [from fraction_changed to BlueKnight2PathInterpolator.set_fraction ] -->
<TimeSensor DEF='BLUEKNIGHT2CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for BlueKnight2PathInterpolator node:  [from BLUEKNIGHT2CLOCK.fraction_changed to set_fraction ] [from value_changed to BlueKnight2.set_rotation ] -->
<OrientationInterpolator DEF='BlueKnight2PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for BlueKnight2PlaneSensor node:  [from translation_changed to BlueKnight2.set_translation ] -->
<PlaneSensor DEF='BlueKnight2PlaneSensormaxPosition='3 4minPosition='-4 -4offset='1 0 1'/>

<Group>
< ROUTE  fromNode=' BlueKnight2TouchSensor' fromField='isOver' toNode=' BLUEKNIGHT2CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' BLUEKNIGHT2CLOCK' fromField='fraction_changed' toNode=' BlueKnight2PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' BlueKnight2PathInterpolator' fromField='value_changed' toNode=' BlueKnight2' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' BlueKnight2PlaneSensor' fromField='translation_changed' toNode=' BlueKnight2' toField='set_translation'/>
</Group>
</Transform>
<!-- ROUTE information for BlueCastle2 node:  [from BlueCastle2PathInterpolator.value_changed to set_rotation ] [from BlueCastle2PlaneSensor.translation_changed to set_translation ] -->
<Transform DEF='BlueCastle2translation='3 0 3'>
<Group>
<Group USE=' bluepiecebase'/>
<Group>
<Transform translation='0 0.45 0'>
<Shape>
<Box size='.3 .45 .3'/>
<Appearance USE=' Aqua'/>
</Shape>
</Transform>
<Transform rotation='0 1 0 0.52translation='0 0.45 0'>
<Shape>
<Box size='.3 .45 .3'/>
<Appearance USE=' Aqua'/>
</Shape>
</Transform>
<Transform rotation='0 1 0 1.04translation='0 0.45 0'>
<Shape>
<Box size='.3 .45 .3'/>
<Appearance USE=' Aqua'/>
</Shape>
</Transform>
</Group>
</Group>
<!-- ROUTE information for BlueCastle2TouchSensor node:  [from isOver to BLUECASTLE2CLOCK.set_enabled ] -->
<TouchSensor DEF='BlueCastle2TouchSensor'/>

<!-- ROUTE information for BLUECASTLE2CLOCK node:  [from BlueCastle2TouchSensor.isOver to set_enabled ] [from fraction_changed to BlueCastle2PathInterpolator.set_fraction ] -->
<TimeSensor DEF='BLUECASTLE2CLOCKcycleInterval='4enabled='falseloop='true'/>

<!-- ROUTE information for BlueCastle2PathInterpolator node:  [from BLUECASTLE2CLOCK.fraction_changed to set_fraction ] [from value_changed to BlueCastle2.set_rotation ] -->
<OrientationInterpolator DEF='BlueCastle2PathInterpolatorkey='0.0 0.50 1.0keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>

<!-- ROUTE information for BlueCastle2PlaneSensor node:  [from translation_changed to BlueCastle2.set_translation ] -->
<PlaneSensor DEF='BlueCastle2PlaneSensormaxPosition='3 4minPosition='-4 -4offset='3 -4 3'/>

<Group>
< ROUTE  fromNode=' BlueCastle2TouchSensor' fromField='isOver' toNode=' BLUECASTLE2CLOCK' toField='set_enabled'/>
< ROUTE  fromNode=' BLUECASTLE2CLOCK' fromField='fraction_changed' toNode=' BlueCastle2PathInterpolator' toField='set_fraction'/>
< ROUTE  fromNode=' BlueCastle2PathInterpolator' fromField='value_changed' toNode=' BlueCastle2' toField='set_rotation'/>
</Group>
<Group>
< ROUTE  fromNode=' BlueCastle2PlaneSensor' fromField='translation_changed' toNode=' BlueCastle2' toField='set_translation'/>
</Group>
</Transform>
<Viewpoint DEF='RedSidedescription='Red Sideorientation='-0 -1 -0.05 3.14position='0 2.5 -20'/>
<Viewpoint DEF='BlueSidedescription='Blue Sideposition='0 2.5 20'/>
<Viewpoint DEF='BlueLeftdescription='Blue on Left Sideorientation='-0.08 0.99 0.08 1.58position='15 1 0'/>
<Viewpoint DEF='RedLeftdescription='Red on Left Sideorientation='-0.08 -0.99 -0.08 1.58position='-15 1 0'/>
<Viewpoint DEF='Corner1description='Corner Blue Left Sideorientation='-0.08 -1 -0.04 0.79position='-15 2 15'/>
<Viewpoint DEF='Corner2description='Corner Blue Right Sideorientation='-0.08 1 0.04 0.79position='15 2 15'/>
<Viewpoint DEF='Corner3description='Corner Red Left Sideorientation='-0.01 1 0.04 2.36position='15 2 -15'/>
<Viewpoint DEF='Corner4description='Corner Red Right Sideorientation='-0.02 -1 -0.05 2.36position='-15 2 -15'/>
<Viewpoint DEF='TopAngle1description='Top Angle Blue Sideorientation='-1 -0 -0 0.46position='0 10 20'/>
<Viewpoint DEF='TopAngle2description='Top Angle Red Sideorientation='0 -0.97 -0.23 3.14position='0 10 -20'/>
<Viewpoint DEF='TopAngle3description='Top Angle Blue on Leftorientation='-0.22 0.95 0.22 1.62position='20 10 0'/>
<Viewpoint DEF='TopAngle4description='Top Angle Red on Leftorientation='-0.22 -0.95 -0.22 1.62position='-20 10 0'/>
<Viewpoint DEF='TopCorner1description='Top Corner Blue Left Sideorientation='-0.59 -0.77 -0.24 0.99position='-20 20 20'/>
<Viewpoint DEF='TopCorner2description='Top Corner Blue Right Sideorientation='-0.59 0.77 0.24 0.99position='20 20 20'/>
<Viewpoint DEF='TopCorner3description='Top Corner Red Left Sideorientation='-0.12 0.95 0.30 2.40position='20 20 -20'/>
<Viewpoint DEF='TopCorner4description='Top Corner Red Right Sideorientation='-0.12 -0.95 -0.30 2.39position='-20 20 -20'/>
<Viewpoint DEF='BottomAngle1description='Bottom Angle Blue Sideorientation='1 -0 0 0.79position='0 -20 20'/>
<Viewpoint DEF='BottomAngle2description='Bottom Angle Red Sideorientation='0 -0.92 0.38 3.14position='0 -20 -20'/>
<Viewpoint DEF='BottomAngle3description='Bottom Angle Blue on Leftorientation='0.36 0.86 -0.36 1.72position='20 -20 0'/>
<Viewpoint DEF='BottomAngle4description='Bottom Angle Red on Leftorientation='0.36 -0.86 0.36 1.72position='-20 -20 0'/>
<Viewpoint DEF='BottomCorner1description='Bottom Corner Blue Left Sideorientation='0.59 -0.77 0.24 0.99position='-20 -20 20'/>
<Viewpoint DEF='BottomCorner2description='Bottom Corner Blue Right Sideorientation='0.59 0.77 -0.24 0.99position='20 -20 20'/>
<Viewpoint DEF='BottomCorner3description='Bottom Corner Red Left Sideorientation='0.12 0.95 -0.3 2.4position='20 -20 -20'/>
<Viewpoint DEF='BottomCorner4description='Bottom Corner Red Right Sideorientation='0.12 -0.95 0.3 2.39position='-20 -20 -20'/>
<Background groundAngle='1.309 1.570796groundColor='0 0 0.1 0 0.1 0.3 0.3 0.3 0.6skyAngle='1.309 1.571skyColor='1 0 0.8 0.5 0 0.8 0 0 0.8'/>
<Background DEF='BackgroundCyan-ishgroundAngle='1.309 1.570796groundColor='0.1 0.1 0 0.4 0.25 0.2 0.6 0.6 0.6skyAngle='1.309 1.571skyColor='0 0.2 0.7 0.0 0.5 1 1 1 1'/>
</Scene>
</X3D>
<!--

to top <!-- Event Graph ROUTE Table shows event connections -->
 
<!-- Index for DEF nodes: Aqua, aquapawn, BackgroundCyan-ish, BlueBishop1, BLUEBISHOP1CLOCK, BlueBishop1PathInterpolator, BlueBishop1PlaneSensor, BlueBishop1TouchSensor, BlueBishop2, BLUEBISHOP2CLOCK, BlueBishop2PathInterpolator, BlueBishop2PlaneSensor, BlueBishop2TouchSensor, BlueBolt, BlueCastle1, BLUECASTLE1CLOCK, BlueCastle1PathInterpolator, BlueCastle1PlaneSensor, BlueCastle1TouchSensor, BlueCastle2, BLUECASTLE2CLOCK, BlueCastle2PathInterpolator, BlueCastle2PlaneSensor, BlueCastle2TouchSensor, BlueKing, BLUEKINGCLOCK, BlueKingPathInterpolator, BlueKingPlaneSensor, BlueKingTouchSensor, BlueKnight1, BLUEKNIGHT1CLOCK, BlueKnight1PathInterpolator, BlueKnight1PlaneSensor, BlueKnight1TouchSensor, BlueKnight2, BLUEKNIGHT2CLOCK, BlueKnight2PathInterpolator, BlueKnight2PlaneSensor, BlueKnight2TouchSensor, BlueLeft, BluePawn1, BLUEPAWN1CLOCK, BluePawn1PathInterpolator, BluePawn1PlaneSensor, BluePawn1TouchSensor, BluePawn2, BLUEPAWN2CLOCK, BluePawn2PathInterpolator, BluePawn2PlaneSensor, BluePawn2TouchSensor, BluePawn3, BLUEPAWN3CLOCK, BluePawn3PathInterpolator, BluePawn3PlaneSensor, BluePawn3TouchSensor, BluePawn4, BLUEPAWN4CLOCK, BluePawn4PathInterpolator, BluePawn4PlaneSensor, BluePawn4TouchSensor, BluePawn5, BLUEPAWN5CLOCK, BluePawn5PathInterpolator, BluePawn5PlaneSensor, BluePawn5TouchSensor, BluePawn6, BLUEPAWN6CLOCK, BluePawn6PathInterpolator, BluePawn6PlaneSensor, BluePawn6TouchSensor, BluePawn7, BLUEPAWN7CLOCK, BluePawn7PathInterpolator, BluePawn7PlaneSensor, BluePawn7TouchSensor, BluePawn8, BLUEPAWN8CLOCK, BluePawn8PathInterpolator, BluePawn8PlaneSensor, BluePawn8TouchSensor, bluepiecebase, bluepiecepost, BlueQueen, BLUEQUEENCLOCK, BlueQueenPathInterpolator, BlueQueenPlaneSensor, BlueQueenTouchSensor, BlueSide, BlueSquare, board, BottomAngle1, BottomAngle2, BottomAngle3, BottomAngle4, BottomCorner1, BottomCorner2, BottomCorner3, BottomCorner4, chesspiecebase, Corner1, Corner2, Corner3, Corner4, GreenSquare, Red, RedBishop1, REDBISHOP1CLOCK, RedBishop1PathInterpolator, RedBishop1PlaneSensor, RedBishop1TouchSensor, RedBishop2, REDBISHOP2CLOCK, RedBishop2PathInterpolator, RedBishop2PlaneSensor, RedBishop2TouchSensor, RedBolt, RedCastle1, REDCASTLE1CLOCK, RedCastle1PathInterpolator, RedCastle1PlaneSensor, RedCastle1TouchSensor, RedCastle2, REDCASTLE2CLOCK, RedCastle2PathInterpolator, RedCastle2PlaneSensor, RedCastle2TouchSensor, RedKing, REDKINGCLOCK, RedKingPathInterpolator, RedKingPlaneSensor, RedKingTouchSensor, RedKnight1, REDKNIGHT1CLOCK, RedKnight1PathInterpolator, RedKnight1PlaneSensor, RedKnight1TouchSensor, RedKnight2, REDKNIGHT2CLOCK, RedKnight2PathInterpolator, RedKnight2PlaneSensor, RedKnight2TouchSensor, RedLeft, redpawn, RedPawn1, REDPAWN1CLOCK, RedPawn1PathInterpolator, RedPawn1PlaneSensor, RedPawn1TouchSensor, RedPawn2, REDPAWN2CLOCK, RedPawn2PathInterpolator, RedPawn2PlaneSensor, RedPawn2TouchSensor, RedPawn3, REDPAWN3CLOCK, RedPawn3PathInterpolator, RedPawn3PlaneSensor, RedPawn3TouchSensor, RedPawn4, REDPAWN4CLOCK, RedPawn4PathInterpolator, RedPawn4PlaneSensor, RedPawn4TouchSensor, RedPawn5, REDPAWN5CLOCK, RedPawn5PathInterpolator, RedPawn5PlaneSensor, RedPawn5TouchSensor, RedPawn6, REDPAWN6CLOCK, RedPawn6PathInterpolator, RedPawn6PlaneSensor, RedPawn6TouchSensor, RedPawn7, REDPAWN7CLOCK, RedPawn7PathInterpolator, RedPawn7PlaneSensor, RedPawn7TouchSensor, RedPawn8, REDPAWN8CLOCK, RedPawn8PathInterpolator, RedPawn8PlaneSensor, RedPawn8TouchSensor, redpiecebase, redpiecepost, RedQueen, REDQUEENCLOCK, RedQueenPathInterpolator, RedQueenPlaneSensor, RedQueenTouchSensor, RedSide, Row1, Row2, TopAngle1, TopAngle2, TopAngle3, TopAngle4, TopCorner1, TopCorner2, TopCorner3, TopCorner4, X_Plane

Index for Viewpoint nodes: BlueLeft, BlueSide, BottomAngle1, BottomAngle2, BottomAngle3, BottomAngle4, BottomCorner1, BottomCorner2, BottomCorner3, BottomCorner4, Corner1, Corner2, Corner3, Corner4, RedLeft, RedSide, TopAngle1, TopAngle2, TopAngle3, TopAngle4, TopCorner1, TopCorner2, TopCorner3, TopCorner4
-->

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

ROUTE
event to
(1)
BLUEBISHOP1CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
BLUEBISHOP1CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
BlueBishop1PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BlueBishop1PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
BlueBishop1
Transform
set_rotation
SFRotation


BlueBishop2TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
BLUEBISHOP2CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
BLUEBISHOP2CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
BlueBishop2PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BlueBishop2PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
BlueBishop2
Transform
set_rotation
SFRotation


BlueCastle1TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
BLUECASTLE1CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
BLUECASTLE1CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
BlueCastle1PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BlueCastle1PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
BlueCastle1
Transform
set_rotation
SFRotation


BlueCastle2TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
BLUECASTLE2CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
BLUECASTLE2CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
BlueCastle2PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BlueCastle2PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
BlueCastle2
Transform
set_rotation
SFRotation


BlueKingTouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
BLUEKINGCLOCK
TimeSensor
set_enabled
SFBool

 
 
then
BLUEKINGCLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
BlueKingPathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BlueKingPathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
BlueKing
Transform
set_rotation
SFRotation


BlueKnight1TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
BLUEKNIGHT1CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
BLUEKNIGHT1CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
BlueKnight1PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BlueKnight1PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
BlueKnight1
Transform
set_rotation
SFRotation


BlueKnight2TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
BLUEKNIGHT2CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
BLUEKNIGHT2CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
BlueKnight2PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BlueKnight2PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
BlueKnight2
Transform
set_rotation
SFRotation


BluePawn1TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
BLUEPAWN1CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
BLUEPAWN1CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
BluePawn1PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BluePawn1PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
BluePawn1
Transform
set_rotation
SFRotation


BluePawn2TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
BLUEPAWN2CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
BLUEPAWN2CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
BluePawn2PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BluePawn2PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
BluePawn2
Transform
set_rotation
SFRotation


BluePawn3TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
BLUEPAWN3CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
BLUEPAWN3CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
BluePawn3PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BluePawn3PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
BluePawn3
Transform
set_rotation
SFRotation


BluePawn4TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
BLUEPAWN4CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
BLUEPAWN4CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
BluePawn4PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BluePawn4PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
BluePawn4
Transform
set_rotation
SFRotation


BluePawn5TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
BLUEPAWN5CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
BLUEPAWN5CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
BluePawn5PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BluePawn5PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
BluePawn5
Transform
set_rotation
SFRotation


BluePawn6TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
BLUEPAWN6CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
BLUEPAWN6CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
BluePawn6PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BluePawn6PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
BluePawn6
Transform
set_rotation
SFRotation


BluePawn7TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
BLUEPAWN7CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
BLUEPAWN7CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
BluePawn7PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BluePawn7PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
BluePawn7
Transform
set_rotation
SFRotation


BluePawn8TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
BLUEPAWN8CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
BLUEPAWN8CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
BluePawn8PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BluePawn8PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
BluePawn8
Transform
set_rotation
SFRotation


BlueQueenTouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
BLUEQUEENCLOCK
TimeSensor
set_enabled
SFBool

 
 
then
BLUEQUEENCLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
BlueQueenPathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BlueQueenPathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
BlueQueen
Transform
set_rotation
SFRotation


RedBishop1TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
REDBISHOP1CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
REDBISHOP1CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
RedBishop1PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedBishop1PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
RedBishop1
Transform
set_rotation
SFRotation


RedBishop2TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
REDBISHOP2CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
REDBISHOP2CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
RedBishop2PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedBishop2PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
RedBishop2
Transform
set_rotation
SFRotation


RedCastle1TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
REDCASTLE1CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
REDCASTLE1CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
RedCastle1PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedCastle1PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
RedCastle1
Transform
set_rotation
SFRotation


RedCastle2TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
REDCASTLE2CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
REDCASTLE2CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
RedCastle2PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedCastle2PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
RedCastle2
Transform
set_rotation
SFRotation


RedKingTouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
REDKINGCLOCK
TimeSensor
set_enabled
SFBool

 
 
then
REDKINGCLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
RedKingPathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedKingPathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
RedKing
Transform
set_rotation
SFRotation


RedKnight1TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
REDKNIGHT1CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
REDKNIGHT1CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
RedKnight1PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedKnight1PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
RedKnight1
Transform
set_rotation
SFRotation


RedKnight2TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
REDKNIGHT2CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
REDKNIGHT2CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
RedKnight2PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedKnight2PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
RedKnight2
Transform
set_rotation
SFRotation


RedPawn1TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
REDPAWN1CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
REDPAWN1CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
RedPawn1PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedPawn1PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
RedPawn1
Transform
set_rotation
SFRotation


RedPawn2TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
REDPAWN2CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
REDPAWN2CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
RedPawn2PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedPawn2PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
RedPawn2
Transform
set_rotation
SFRotation


RedPawn3TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
REDPAWN3CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
REDPAWN3CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
RedPawn3PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedPawn3PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
RedPawn3
Transform
set_rotation
SFRotation


RedPawn4TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
REDPAWN4CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
REDPAWN4CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
RedPawn4PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedPawn4PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
RedPawn4
Transform
set_rotation
SFRotation


RedPawn5TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
REDPAWN5CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
REDPAWN5CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
RedPawn5PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedPawn5PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
RedPawn5
Transform
set_rotation
SFRotation


RedPawn6TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
REDPAWN6CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
REDPAWN6CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
RedPawn6PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedPawn6PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
RedPawn6
Transform
set_rotation
SFRotation


RedPawn7TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
REDPAWN7CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
REDPAWN7CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
RedPawn7PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedPawn7PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
RedPawn7
Transform
set_rotation
SFRotation


RedPawn8TouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
REDPAWN8CLOCK
TimeSensor
set_enabled
SFBool

 
 
then
REDPAWN8CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
RedPawn8PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedPawn8PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
RedPawn8
Transform
set_rotation
SFRotation


RedQueenTouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
REDQUEENCLOCK
TimeSensor
set_enabled
SFBool

 
 
then
REDQUEENCLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
RedQueenPathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedQueenPathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(3)
RedQueen
Transform
set_rotation
SFRotation


BLUEBISHOP1CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
BlueBishop1PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BlueBishop1PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
BlueBishop1
Transform
set_rotation
SFRotation


BLUEBISHOP2CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
BlueBishop2PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BlueBishop2PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
BlueBishop2
Transform
set_rotation
SFRotation


BLUECASTLE1CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
BlueCastle1PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BlueCastle1PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
BlueCastle1
Transform
set_rotation
SFRotation


BLUECASTLE2CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
BlueCastle2PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BlueCastle2PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
BlueCastle2
Transform
set_rotation
SFRotation


BLUEKINGCLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
BlueKingPathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BlueKingPathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
BlueKing
Transform
set_rotation
SFRotation


BLUEKNIGHT1CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
BlueKnight1PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BlueKnight1PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
BlueKnight1
Transform
set_rotation
SFRotation


BLUEKNIGHT2CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
BlueKnight2PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BlueKnight2PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
BlueKnight2
Transform
set_rotation
SFRotation


BLUEPAWN1CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
BluePawn1PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BluePawn1PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
BluePawn1
Transform
set_rotation
SFRotation


BLUEPAWN2CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
BluePawn2PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BluePawn2PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
BluePawn2
Transform
set_rotation
SFRotation


BLUEPAWN3CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
BluePawn3PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BluePawn3PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
BluePawn3
Transform
set_rotation
SFRotation


BLUEPAWN4CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
BluePawn4PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BluePawn4PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
BluePawn4
Transform
set_rotation
SFRotation


BLUEPAWN5CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
BluePawn5PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BluePawn5PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
BluePawn5
Transform
set_rotation
SFRotation


BLUEPAWN6CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
BluePawn6PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BluePawn6PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
BluePawn6
Transform
set_rotation
SFRotation


BLUEPAWN7CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
BluePawn7PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BluePawn7PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
BluePawn7
Transform
set_rotation
SFRotation


BLUEPAWN8CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
BluePawn8PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BluePawn8PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
BluePawn8
Transform
set_rotation
SFRotation


BLUEQUEENCLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
BlueQueenPathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
BlueQueenPathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
BlueQueen
Transform
set_rotation
SFRotation


REDBISHOP1CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
RedBishop1PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedBishop1PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
RedBishop1
Transform
set_rotation
SFRotation


REDBISHOP2CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
RedBishop2PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedBishop2PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
RedBishop2
Transform
set_rotation
SFRotation


REDCASTLE1CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
RedCastle1PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedCastle1PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
RedCastle1
Transform
set_rotation
SFRotation


REDCASTLE2CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
RedCastle2PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedCastle2PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
RedCastle2
Transform
set_rotation
SFRotation


REDKINGCLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
RedKingPathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedKingPathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
RedKing
Transform
set_rotation
SFRotation


REDKNIGHT1CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
RedKnight1PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedKnight1PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
RedKnight1
Transform
set_rotation
SFRotation


REDKNIGHT2CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
RedKnight2PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedKnight2PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
RedKnight2
Transform
set_rotation
SFRotation


REDPAWN1CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
RedPawn1PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedPawn1PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
RedPawn1
Transform
set_rotation
SFRotation


REDPAWN2CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
RedPawn2PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedPawn2PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
RedPawn2
Transform
set_rotation
SFRotation


REDPAWN3CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
RedPawn3PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedPawn3PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
RedPawn3
Transform
set_rotation
SFRotation


REDPAWN4CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
RedPawn4PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedPawn4PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
RedPawn4
Transform
set_rotation
SFRotation


REDPAWN5CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
RedPawn5PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedPawn5PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
RedPawn5
Transform
set_rotation
SFRotation


REDPAWN6CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
RedPawn6PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedPawn6PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
RedPawn6
Transform
set_rotation
SFRotation


REDPAWN7CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
RedPawn7PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedPawn7PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
RedPawn7
Transform
set_rotation
SFRotation


REDPAWN8CLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
RedPawn8PathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedPawn8PathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
RedPawn8
Transform
set_rotation
SFRotation


REDQUEENCLOCK
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
RedQueenPathInterpolator
OrientationInterpolator
set_fraction
SFFloat

 
 
then
RedQueenPathInterpolator
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
RedQueen
Transform
set_rotation
SFRotation


BlueBishop1PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
BlueBishop1
Transform
set_translation
SFVec3f


BlueBishop2PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
BlueBishop2
Transform
set_translation
SFVec3f


BlueCastle1PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
BlueCastle1
Transform
set_translation
SFVec3f


BlueCastle2PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
BlueCastle2
Transform
set_translation
SFVec3f


BlueKingPlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
BlueKing
Transform
set_translation
SFVec3f


BlueKnight1PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
BlueKnight1
Transform
set_translation
SFVec3f


BlueKnight2PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
BlueKnight2
Transform
set_translation
SFVec3f


BluePawn1PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
BluePawn1
Transform
set_translation
SFVec3f


BluePawn2PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
BluePawn2
Transform
set_translation
SFVec3f


BluePawn3PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
BluePawn3
Transform
set_translation
SFVec3f


BluePawn4PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
BluePawn4
Transform
set_translation
SFVec3f


BluePawn5PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
BluePawn5
Transform
set_translation
SFVec3f


BluePawn6PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
BluePawn6
Transform
set_translation
SFVec3f


BluePawn7PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
BluePawn7
Transform
set_translation
SFVec3f


BluePawn8PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
BluePawn8
Transform
set_translation
SFVec3f


BlueQueenPlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
BlueQueen
Transform
set_translation
SFVec3f


RedBishop1PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
RedBishop1
Transform
set_translation
SFVec3f


RedBishop2PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
RedBishop2
Transform
set_translation
SFVec3f


RedCastle1PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
RedCastle1
Transform
set_translation
SFVec3f


RedCastle2PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
RedCastle2
Transform
set_translation
SFVec3f


RedKingPlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
RedKing
Transform
set_translation
SFVec3f


RedKnight1PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
RedKnight1
Transform
set_translation
SFVec3f


RedKnight2PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
RedKnight2
Transform
set_translation
SFVec3f


RedPawn1PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
RedPawn1
Transform
set_translation
SFVec3f


RedPawn2PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
RedPawn2
Transform
set_translation
SFVec3f


RedPawn3PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
RedPawn3
Transform
set_translation
SFVec3f


RedPawn4PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
RedPawn4
Transform
set_translation
SFVec3f


RedPawn5PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
RedPawn5
Transform
set_translation
SFVec3f


RedPawn6PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
RedPawn6
Transform
set_translation
SFVec3f


RedPawn7PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
RedPawn7
Transform
set_translation
SFVec3f


RedPawn8PlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
RedPawn8
Transform
set_translation
SFVec3f


RedQueenPlaneSensor
PlaneSensor
translation_changed
SFVec3f

ROUTE
event to
(1)
RedQueen
Transform
set_translation
SFVec3f


-->

<!-- Online at
https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/Chess8LevelsIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Basic/StudentProjects/Chess8Levels.x3d -->

<!-- Color legend: X3D terminology <X3dNode DEF='idName' field='value'/> matches XML terminology <XmlElement DEF='idName' attribute='value'/>
(Light-blue background: event-based behavior node or statement) (Grey background inside box: inserted documentation) (Magenta background: X3D Extensibility)
-->

to top <!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->