<?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
-->
X3D Tooltips element index: Appearance, Background, Box, Cone, Coordinate, Cylinder, Group, Group, head, IndexedFaceSet, Material, meta, OrientationInterpolator, PlaneSensor, ROUTE, Scene, Shape, Sphere, TimeSensor, TouchSensor, Transform, Transform, Viewpoint, WorldInfo, X3D, accessType and type, XML data types, field types


<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 <!-- 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

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. -->