<?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=' NetworkReroutingRoutes.x3d '/>
<meta name='descriptioncontent='This file contains a pattern of three routes for a network: a primary, alternate and second-alternate (tertiary). By pushing the buttons, the packets move forward along their predetermined routes for one iteration. Routing and interpolators are pre-wired to move left-to-right only.'/>
<meta name='creatorcontent='Bill Fischer'/>
<meta name='createdcontent='22 March 2001'/>
<meta name='modifiedcontent='20 October 2019'/>
<meta name='referencecontent=' NetworkReroutingAlternateRoutes.x3d '/>
<meta name='Imagecontent='NetworkReroutingAlternateRoutes.png' />
<meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/Basic/Networking/NetworkReroutingRoutes.x3d '/>
<meta name='referencecontent=' NetworkReroutingAlternateRoutes.x3d '/>
<meta name='referencecontent=' NetworkReroutingNetwork.x3d '/>
<meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../license.html'/>
</head>
<!-- -->
<Scene>
<WorldInfo title='NetworkReroutingRoutes.x3d'/>
<Group DEF='packets_group'>
<!-- ROUTE information for packet1_transmit node:  [from node_path.value_changed to set_translation ] -->
<Transform DEF='packet1_transmit'>
<Transform rotation='0 0 1 1.57translation='-6 -.5 0'>
<Shape DEF='prim_packet'>
<Appearance>
<Material emissiveColor='.8 .2 .2'/>
</Appearance>
<Cylinder height='.5radius='.075'/>
</Shape>
</Transform>
</Transform>
<!-- ROUTE information for packet1_2transmit node:  [from node_path4.value_changed to set_translation ] -->
<Transform DEF='packet1_2transmit'>
<Transform rotation='0 0 1 1.57translation='-6 -.5 0'>
<Shape USE=' prim_packet'/>
</Transform>
</Transform>
<!-- ROUTE information for packet2_transmit node:  [from node_path2.value_changed to set_translation ] -->
<Transform DEF='packet2_transmit'>
<Transform rotation='0 1 0 -.785translation='-4 -.5 0'>
<Transform rotation='0 0 1 1.57'>
<Shape USE=' prim_packet'/>
</Transform>
</Transform>
</Transform>
<!-- ROUTE information for packet2_2transmit node:  [from node_path5.value_changed to set_translation ] -->
<Transform DEF='packet2_2transmit'>
<Transform rotation='0 1 0 -.785translation='-4 -.5 0'>
<Transform rotation='0 0 1 1.57'>
<Shape USE=' prim_packet'/>
</Transform>
</Transform>
</Transform>
<!-- ROUTE information for packet3_transmit node:  [from node_path3.value_changed to set_translation ] -->
<Transform DEF='packet3_transmit'>
<Transform rotation='0 1 0 .785translation='-2 -.5 2'>
<Transform rotation='0 0 1 1.57'>
<Shape USE=' prim_packet'/>
</Transform>
</Transform>
</Transform>
<!-- ROUTE information for packet3_2transmit node:  [from node_path6.value_changed to set_translation ] -->
<Transform DEF='packet3_2transmit'>
<Transform rotation='0 1 0 .785translation='-2 -.5 2'>
<Transform rotation='0 0 1 1.57'>
<Shape USE=' prim_packet'/>
</Transform>
</Transform>
</Transform>
<!-- ROUTE information for packet4_transmit node:  [from node_path2.value_changed to set_translation ] -->
<Transform DEF='packet4_transmit'>
<Transform rotation='0 1 0 -.785translation='0 -.5 0'>
<Transform rotation='0 0 1 1.57'>
<Shape USE=' prim_packet'/>
</Transform>
</Transform>
</Transform>
<!-- ROUTE information for packet4_2transmit node:  [from node_path5.value_changed to set_translation ] -->
<Transform DEF='packet4_2transmit'>
<Transform rotation='0 1 0 -.785translation='0 -.5 0'>
<Transform rotation='0 0 1 1.57'>
<Shape USE=' prim_packet'/>
</Transform>
</Transform>
</Transform>
<!-- ROUTE information for packet5_transmit node:  [from node_path3.value_changed to set_translation ] -->
<Transform DEF='packet5_transmit'>
<Transform rotation='0 1 0 .785translation='2 -.5 2'>
<Transform rotation='0 0 1 1.57'>
<Shape USE=' prim_packet'/>
</Transform>
</Transform>
</Transform>
<!-- ROUTE information for packet5_2transmit node:  [from node_path6.value_changed to set_translation ] -->
<Transform DEF='packet5_2transmit'>
<Transform rotation='0 1 0 .785translation='2 -.5 2'>
<Transform rotation='0 0 1 1.57'>
<Shape USE=' prim_packet'/>
</Transform>
</Transform>
</Transform>
<!-- ROUTE information for packet6_transmit node:  [from node_path.value_changed to set_translation ] -->
<Transform DEF='packet6_transmit'>
<Transform rotation='0 0 1 1.57translation='4 -.5 0'>
<Shape USE=' prim_packet'/>
</Transform>
</Transform>
<!-- ROUTE information for packet6_2transmit node:  [from node_path4.value_changed to set_translation ] -->
<Transform DEF='packet6_2transmit'>
<Transform rotation='0 0 1 1.57translation='4 -.5 0'>
<Shape USE=' prim_packet'/>
</Transform>
</Transform>
<!-- ROUTE information for packet2_1 node:  [from path2.value_changed to set_translation ] -->
<Transform DEF='packet2_1'>
<Transform rotation='0 0 1 1.57translation='-6 -.5 0'>
<Shape DEF='packet2'>
<Appearance>
<Material emissiveColor='.2 .2 1'/>
</Appearance>
<Cylinder height='.5radius='.075'/>
</Shape>
</Transform>
</Transform>
<!-- ROUTE information for packet2_1a node:  [from path2_4.value_changed to set_translation ] -->
<Transform DEF='packet2_1a'>
<Transform rotation='0 0 1 1.57translation='-6 -.5 0'>
<Shape USE=' packet2'/>
</Transform>
</Transform>
<!-- ROUTE information for packet2_2 node:  [from path2_2.value_changed to set_translation ] [from path2_3.value_changed to set_translation ] -->
<Transform DEF='packet2_2'>
<Transform rotation='0 1 0 -.785translation='-4 -.5 0'>
<Transform rotation='0 0 1 1.57'>
<Shape USE=' packet2'/>
</Transform>
</Transform>
</Transform>
<!-- ROUTE information for packet2_2a node:  [from path2_5.value_changed to set_translation ] [from path2_6.value_changed to set_translation ] -->
<Transform DEF='packet2_2a'>
<Transform rotation='0 1 0 -.785translation='-4 -.5 0'>
<Transform rotation='0 0 1 1.57'>
<Shape USE=' packet2'/>
</Transform>
</Transform>
</Transform>
<!-- ROUTE information for packet2_3 node:  [from path2_2a.value_changed to set_translation ] -->
<Transform DEF='packet2_3'>
<Transform rotation='0 1 0 .785translation='-2 -.5 2'>
<Transform rotation='0 0 1 1.57'>
<Shape USE=' packet2'/>
</Transform>
</Transform>
</Transform>
<!-- ROUTE information for packet2_3a node:  [from path2_5a.value_changed to set_translation ] -->
<Transform DEF='packet2_3a'>
<Transform rotation='0 1 0 .785translation='-2 -.5 2'>
<Transform rotation='0 0 1 1.57'>
<Shape USE=' packet2'/>
</Transform>
</Transform>
</Transform>
<!-- ROUTE information for packet2_3b node:  [from path2a.value_changed to set_translation ] -->
<Transform DEF='packet2_3b'>
<Transform rotation='0 0 1 1.57translation='-4 -.5 4'>
<Shape USE=' packet2'/>
</Transform>
</Transform>
<!-- ROUTE information for packet2_3b2 node:  [from path2_4a.value_changed to set_translation ] -->
<Transform DEF='packet2_3b2'>
<Transform rotation='0 0 1 1.57translation='-4 -.5 4'>
<Shape USE=' packet2'/>
</Transform>
</Transform>
<!-- ROUTE information for packet2_4 node:  [from path2_3.value_changed to set_translation ] -->
<Transform DEF='packet2_4'>
<Transform rotation='0 1 0 .785translation='0 -.5 4'>
<Transform rotation='0 0 1 1.57'>
<Shape USE=' packet2'/>
</Transform>
</Transform>
</Transform>
<!-- ROUTE information for packet2_4a node:  [from path2_6.value_changed to set_translation ] -->
<Transform DEF='packet2_4a'>
<Transform rotation='0 1 0 .785translation='0 -.5 4'>
<Transform rotation='0 0 1 1.57'>
<Shape USE=' packet2'/>
</Transform>
</Transform>
</Transform>
<!-- ROUTE information for packet2_5 node:  [from path2_3.value_changed to set_translation ] -->
<Transform DEF='packet2_5'>
<Transform rotation='0 1 0 .785translation='2 -.5 2'>
<Transform rotation='0 0 1 1.57'>
<Shape USE=' packet2'/>
</Transform>
</Transform>
</Transform>
<!-- ROUTE information for packet2_5a node:  [from path2_6.value_changed to set_translation ] -->
<Transform DEF='packet2_5a'>
<Transform rotation='0 1 0 .785translation='2 -.5 2'>
<Transform rotation='0 0 1 1.57'>
<Shape USE=' packet2'/>
</Transform>
</Transform>
</Transform>
<!-- ROUTE information for packet2_6 node:  [from path2.value_changed to set_translation ] -->
<Transform DEF='packet2_6'>
<Transform rotation='0 0 1 1.57translation='4 -.5 0'>
<Shape USE=' packet2'/>
</Transform>
</Transform>
<!-- ROUTE information for packet2_6a node:  [from path2_4.value_changed to set_translation ] -->
<Transform DEF='packet2_6a'>
<Transform rotation='0 0 1 1.57translation='4 -.5 0'>
<Shape USE=' packet2'/>
</Transform>
</Transform>
<!-- ROUTE information for packet3_1 node:  [from path3.value_changed to set_translation ] -->
<Transform DEF='packet3_1'>
<Transform rotation='0 0 1 1.57translation='-6 -.5 0'>
<Shape DEF='packet3'>
<Appearance>
<Material emissiveColor='.2 1 .2'/>
</Appearance>
<Cylinder height='.5radius='.075'/>
</Shape>
</Transform>
</Transform>
<!-- ROUTE information for packet3_1a node:  [from path3_4.value_changed to set_translation ] -->
<Transform DEF='packet3_1a'>
<Transform rotation='0 0 1 1.57translation='-6 -.5 0'>
<Shape USE=' packet3'/>
</Transform>
</Transform>
<!-- ROUTE information for packet3_2 node:  [from path3_3.value_changed to set_translation ] -->
<Transform DEF='packet3_2'>
<Transform rotation='0 1 0 .785translation='-4 -.5 0'>
<Transform rotation='0 0 1 1.57'>
<Shape USE=' packet3'/>
</Transform>
</Transform>
</Transform>
<!-- ROUTE information for packet3_2a node:  [from path3_6.value_changed to set_translation ] -->
<Transform DEF='packet3_2a'>
<Transform rotation='0 1 0 .785translation='-4 -.5 0'>
<Transform rotation='0 0 1 1.57'>
<Shape USE=' packet3'/>
</Transform>
</Transform>
</Transform>
<!-- ROUTE information for packet3_3 node:  [from path3_3a.value_changed to set_translation ] -->
<Transform DEF='packet3_3'>
<Transform rotation='0 1 0 -.785translation='-2 -.5 -2'>
<Transform rotation='0 0 1 1.57'>
<Shape USE=' packet3'/>
</Transform>
</Transform>
</Transform>
<!-- ROUTE information for packet3_3a node:  [from path3_6a.value_changed to set_translation ] -->
<Transform DEF='packet3_3a'>
<Transform rotation='0 1 0 -.785translation='-2 -.5 -2'>
<Transform rotation='0 0 1 1.57'>
<Shape USE=' packet3'/>
</Transform>
</Transform>
</Transform>
<!-- ROUTE information for packet3_3b node:  [from path3a.value_changed to set_translation ] -->
<Transform DEF='packet3_3b'>
<Transform rotation='0 0 1 1.57translation='-4 -.5 -4'>
<Shape USE=' packet3'/>
</Transform>
</Transform>
<!-- ROUTE information for packet3_3b2 node:  [from path3_4a.value_changed to set_translation ] -->
<Transform DEF='packet3_3b2'>
<Transform rotation='0 0 1 1.57translation='-4 -.5 -4'>
<Shape USE=' packet3'/>
</Transform>
</Transform>
<!-- ROUTE information for packet3_4 node:  [from path3a.value_changed to set_translation ] -->
<Transform DEF='packet3_4'>
<Transform rotation='0 0 1 1.57translation='0 -.5 -4'>
<Shape USE=' packet3'/>
</Transform>
</Transform>
<!-- ROUTE information for packet3_4a node:  [from path3_4a.value_changed to set_translation ] -->
<Transform DEF='packet3_4a'>
<Transform rotation='0 0 1 1.57translation='0 -.5 -4'>
<Shape USE=' packet3'/>
</Transform>
</Transform>
<!-- ROUTE information for packet3_4b node:  [from path3_2a.value_changed to set_translation ] -->
<Transform DEF='packet3_4b'>
<Transform rotation='0 1 0 .785translation='4 -.5 -4'>
<Transform rotation='0 0 1 1.57'>
<Shape USE=' packet3'/>
</Transform>
</Transform>
</Transform>
<!-- ROUTE information for packet3_4b2 node:  [from path3_5a.value_changed to set_translation ] -->
<Transform DEF='packet3_4b2'>
<Transform rotation='0 1 0 .785translation='4 -.5 -4'>
<Transform rotation='0 0 1 1.57'>
<Shape USE=' packet3'/>
</Transform>
</Transform>
</Transform>
<!-- ROUTE information for packet3_5 node:  [from path3_2.value_changed to set_translation ] -->
<Transform DEF='packet3_5'>
<Transform rotation='0 1 0 -.785translation='2 -.5 -2'>
<Transform rotation='0 0 1 1.57'>
<Shape USE=' packet3'/>
</Transform>
</Transform>
</Transform>
<!-- ROUTE information for packet3_5a node:  [from path3_5.value_changed to set_translation ] -->
<Transform DEF='packet3_5a'>
<Transform rotation='0 1 0 -.785translation='2 -.5 -2'>
<Transform rotation='0 0 1 1.57'>
<Shape USE=' packet3'/>
</Transform>
</Transform>
</Transform>
<!-- ROUTE information for packet3_6 node:  [from path3.value_changed to set_translation ] -->
<Transform DEF='packet3_6'>
<Transform rotation='0 0 1 1.57translation='4 -.5 0'>
<Shape USE=' packet3'/>
</Transform>
</Transform>
<!-- ROUTE information for packet3_6a node:  [from path3_4.value_changed to set_translation ] -->
<Transform DEF='packet3_6a'>
<Transform rotation='0 0 1 1.57translation='4 -.5 0'>
<Shape USE=' packet3'/>
</Transform>
</Transform>
<Transform scale='.4 .4 .4translation='-5 -.5 -6'>
<Group>
<Shape>
<Appearance>
<Material emissiveColor='.8 .2 .2'/>
</Appearance>
<Cylinder height='2.5radius='.75'/>
</Shape>
<Shape>
<Appearance>
<Material diffuseColor='.5 .5 .5'/>
</Appearance>
<Box/>
</Shape>
<!-- ROUTE information for primaryTouch node:  [from isActive to toggleScript1.toggle ] -->
<TouchSensor DEF='primaryTouchdescription='primary TouchSensor'/>

<Transform translation='0 10.5 0'>
<Billboard>
<Shape>
<Text string='"Primary"'>
<FontStyle horizontal='falsestyle='BOLD'/>
</Text>
<Appearance>
<Material emissiveColor='1 .2 .2'/>
</Appearance>
</Shape>
</Billboard>
</Transform>
</Group>
</Transform>
<Transform scale='.4 .4 .4translation='-4 -.5 -6'>
<Group>
<Shape>
<Appearance>
<Material diffuseColor='.5 .5 .5'/>
</Appearance>
<Box/>
</Shape>
<Shape>
<Appearance>
<Material emissiveColor='.2 .2 .8'/>
</Appearance>
<Cylinder height='2.5radius='.75'/>
</Shape>
<!-- ROUTE information for secondaryTouch node:  [from isActive to toggleScript2.toggle ] -->
<TouchSensor DEF='secondaryTouchdescription='secondary TouchSensor'/>
</Group>
<Transform translation='0 10.5 0'>
<Billboard>
<Shape>
<Text string='"Secondary"'>
<FontStyle horizontal='falsestyle='BOLD'/>
</Text>
<Appearance>
<Material emissiveColor='.2 .2 1'/>
</Appearance>
</Shape>
</Billboard>
</Transform>
</Transform>
<Transform scale='.4 .4 .4translation='-3 -.5 -6'>
<Group>
<Shape>
<Appearance>
<Material diffuseColor='.5 .5 .5'/>
</Appearance>
<Box/>
</Shape>
<Shape>
<Appearance>
<Material emissiveColor='.2 .8 .2'/>
</Appearance>
<Cylinder height='2.5radius='.75'/>
</Shape>
<!-- ROUTE information for tertiaryTouch node:  [from isActive to toggleScript3.toggle ] -->
<TouchSensor DEF='tertiaryTouchdescription='tertiary TouchSensor'/>
</Group>
<Transform translation='0 10.5 0'>
<Billboard>
<Shape>
<Text string='"Tertiary"'>
<FontStyle horizontal='falsestyle='BOLD'/>
</Text>
<Appearance>
<Material emissiveColor='.2 1 .2'/>
</Appearance>
</Shape>
</Billboard>
</Transform>
</Transform>
<Transform scale='2 .4 .4translation='-4 -.75 -6'>
<Shape>
<Appearance>
<Material diffuseColor='.5 .5 .5'/>
</Appearance>
<Box/>
</Shape>
</Transform>
<Transform scale='.4 .4 .4translation='-.25 2 -6'>
<Billboard>
<Shape>
<Text string='"Hop Count:"'>
<FontStyle style='BOLD'/>
</Text>
<Appearance>
<Material/>
</Appearance>
</Shape>
</Billboard>
</Transform>
<Transform translation='-.5 1 -6'>
<Billboard>
<Shape>
<Text string='"6"'>
<FontStyle style='BOLD'/>
</Text>
<Appearance>
<!-- ROUTE information for numberSix node:  [from toggleScript1.transparency to transparency ] -->
<Material DEF='numberSixdiffuseColor='.4 .2 .2emissiveColor='.4 0 0transparency='1'/>
</Appearance>
</Shape>
</Billboard>
</Transform>
<Transform translation='.5 1 -6'>
<Billboard>
<Shape>
<Text string='"7"'>
<FontStyle style='BOLD'/>
</Text>
<Appearance>
<!-- ROUTE information for numberSeven node:  [from toggleScript2.transparency to transparency ] -->
<Material DEF='numberSevendiffuseColor='.2 .2 .4emissiveColor='0 0 .4transparency='1'/>
</Appearance>
</Shape>
</Billboard>
</Transform>
<Transform translation='1.5 1 -6'>
<Billboard>
<Shape>
<Text string='"8"'>
<FontStyle style='BOLD'/>
</Text>
<Appearance>
<!-- ROUTE information for numberEight node:  [from toggleScript3.transparency to transparency ] -->
<Material DEF='numberEightdiffuseColor='.2 .4 .2emissiveColor='0 .4 0transparency='1'/>
</Appearance>
</Shape>
</Billboard>
</Transform>



<!-- ROUTE information for node_path node:  [from clock.fraction_changed to set_fraction ] [from value_changed to packet1_transmit.set_translation ] [from value_changed to packet6_transmit.set_translation ] -->
<PositionInterpolator DEF='node_pathkey='0 .284keyValue='0 0 0 2 0 0'/>

<!-- ROUTE information for node_patha node:  [from clock.fraction_changed to set_fraction ] -->
<PositionInterpolator DEF='node_pathakey='0 .284keyValue='0 0 0 4 0 0'/>

<!-- ROUTE information for node_path2 node:  [from clock.fraction_changed to set_fraction ] [from value_changed to packet2_transmit.set_translation ] [from value_changed to packet4_transmit.set_translation ] -->
<PositionInterpolator DEF='node_path2key='0 .284keyValue='0 0 0 2 0 2'/>

<!-- ROUTE information for node_path2a node:  [from clock.fraction_changed to set_fraction ] -->
<PositionInterpolator DEF='node_path2akey='0 .284keyValue='0 0 0 -2 0 2'/>

<!-- ROUTE information for node_path3 node:  [from clock.fraction_changed to set_fraction ] [from value_changed to packet3_transmit.set_translation ] [from value_changed to packet5_transmit.set_translation ] -->
<PositionInterpolator DEF='node_path3key='0 .284keyValue='0 0 0 2 0 -2'/>

<!-- ROUTE information for node_path3a node:  [from clock.fraction_changed to set_fraction ] -->
<PositionInterpolator DEF='node_path3akey='0 .284keyValue='0 0 0 -2 0 -2'/>

<!-- ROUTE information for node_path4 node:  [from clock.fraction_changed to set_fraction ] [from value_changed to packet1_2transmit.set_translation ] [from value_changed to packet6_2transmit.set_translation ] -->
<PositionInterpolator DEF='node_path4key='.426 .71keyValue='0 0 0 2 0 0'/>

<!-- ROUTE information for node_path4a node:  [from clock.fraction_changed to set_fraction ] -->
<PositionInterpolator DEF='node_path4akey='.426 .71keyValue='0 0 0 4 0 0'/>

<!-- ROUTE information for node_path5 node:  [from clock.fraction_changed to set_fraction ] [from value_changed to packet2_2transmit.set_translation ] [from value_changed to packet4_2transmit.set_translation ] -->
<PositionInterpolator DEF='node_path5key='.426 .71keyValue='0 0 0 2 0 2'/>

<!-- ROUTE information for node_path5a node:  [from clock.fraction_changed to set_fraction ] -->
<PositionInterpolator DEF='node_path5akey='.426 .71keyValue='0 0 0 -2 0 2'/>

<!-- ROUTE information for node_path6 node:  [from clock.fraction_changed to set_fraction ] [from value_changed to packet3_2transmit.set_translation ] [from value_changed to packet5_2transmit.set_translation ] -->
<PositionInterpolator DEF='node_path6key='.426 .71keyValue='0 0 0 2 0 -2'/>

<!-- ROUTE information for node_path6a node:  [from clock.fraction_changed to set_fraction ] -->
<PositionInterpolator DEF='node_path6akey='.426 .71keyValue='0 0 0 -2 0 -2'/>

<!-- ROUTE information for path2 node:  [from clock2.fraction_changed to set_fraction ] [from value_changed to packet2_1.set_translation ] [from value_changed to packet2_6.set_translation ] -->
<PositionInterpolator DEF='path2key='.142 .426keyValue='0 0 0 2 0 0'/>

<!-- ROUTE information for path2a node:  [from clock2.fraction_changed to set_fraction ] [from value_changed to packet2_3b.set_translation ] -->
<PositionInterpolator DEF='path2akey='.142 .426keyValue='0 0 0 4 0 0'/>

<!-- ROUTE information for path2_2 node:  [from clock2.fraction_changed to set_fraction ] [from value_changed to packet2_2.set_translation ] -->
<PositionInterpolator DEF='path2_2key='.142 .426keyValue='0 0 0 2 0 2'/>

<!-- ROUTE information for path2_2a node:  [from clock2.fraction_changed to set_fraction ] [from value_changed to packet2_3.set_translation ] -->
<PositionInterpolator DEF='path2_2akey='.142 .426keyValue='0 0 0 -2 0 2'/>


<!-- ROUTE information for path2_3a node:  [from clock2.fraction_changed to set_fraction ] -->
<PositionInterpolator DEF='path2_3akey='.142 .426keyValue='0 0 0 -2 0 -2'/>

<!-- ROUTE information for path2_4 node:  [from clock2.fraction_changed to set_fraction ] [from value_changed to packet2_1a.set_translation ] [from value_changed to packet2_6a.set_translation ] -->
<PositionInterpolator DEF='path2_4key='.568 .852keyValue='0 0 0 2 0 0'/>

<!-- ROUTE information for path2_4a node:  [from clock2.fraction_changed to set_fraction ] [from value_changed to packet2_3b2.set_translation ] -->
<PositionInterpolator DEF='path2_4akey='.568 .852keyValue='0 0 0 4 0 0'/>

<!-- ROUTE information for path2_5 node:  [from clock2.fraction_changed to set_fraction ] [from value_changed to packet2_2a.set_translation ] -->
<PositionInterpolator DEF='path2_5key='.568 .852keyValue='0 0 0 2 0 2'/>

<!-- ROUTE information for path2_5a node:  [from clock2.fraction_changed to set_fraction ] [from value_changed to packet2_3a.set_translation ] -->
<PositionInterpolator DEF='path2_5akey='.568 .852keyValue='0 0 0 -2 0 2'/>


<!-- ROUTE information for path2_6a node:  [from clock2.fraction_changed to set_fraction ] -->
<PositionInterpolator DEF='path2_6akey='.568 .852keyValue='0 0 0 -2 0 -2'/>

<!-- ROUTE information for path3 node:  [from clock3.fraction_changed to set_fraction ] [from value_changed to packet3_1.set_translation ] [from value_changed to packet3_6.set_translation ] -->
<PositionInterpolator DEF='path3key='.284 .568keyValue='0 0 0 2 0 0'/>

<!-- ROUTE information for path3a node:  [from clock3.fraction_changed to set_fraction ] [from value_changed to packet3_3b.set_translation ] [from value_changed to packet3_4.set_translation ] -->
<PositionInterpolator DEF='path3akey='.284 .568keyValue='0 0 0 4 0 0'/>

<!-- ROUTE information for path3_2 node:  [from clock3.fraction_changed to set_fraction ] [from value_changed to packet3_5.set_translation ] -->
<PositionInterpolator DEF='path3_2key='.284 .568keyValue='0 0 0 2 0 2'/>

<!-- ROUTE information for path3_2a node:  [from clock3.fraction_changed to set_fraction ] [from value_changed to packet3_4b.set_translation ] -->
<PositionInterpolator DEF='path3_2akey='.284 .568keyValue='0 0 0 -2 0 2'/>

<!-- ROUTE information for path3_3 node:  [from clock3.fraction_changed to set_fraction ] [from value_changed to packet3_2.set_translation ] -->
<PositionInterpolator DEF='path3_3key='.284 .568keyValue='0 0 0 2 0 -2'/>

<!-- ROUTE information for path3_3a node:  [from clock3.fraction_changed to set_fraction ] [from value_changed to packet3_3.set_translation ] -->
<PositionInterpolator DEF='path3_3akey='.284 .568keyValue='0 0 0 -2 0 -2'/>

<!-- ROUTE information for path3_4 node:  [from clock3.fraction_changed to set_fraction ] [from value_changed to packet3_1a.set_translation ] [from value_changed to packet3_6a.set_translation ] -->
<PositionInterpolator DEF='path3_4key='.71 1keyValue='0 0 0 2 0 0'/>

<!-- ROUTE information for path3_4a node:  [from clock3.fraction_changed to set_fraction ] [from value_changed to packet3_3b2.set_translation ] [from value_changed to packet3_4a.set_translation ] -->
<PositionInterpolator DEF='path3_4akey='.71 1keyValue='0 0 0 4 0 0'/>

<!-- ROUTE information for path3_5 node:  [from clock3.fraction_changed to set_fraction ] [from value_changed to packet3_5a.set_translation ] -->
<PositionInterpolator DEF='path3_5key='.71 1keyValue='0 0 0 2 0 2'/>

<!-- ROUTE information for path3_5a node:  [from clock3.fraction_changed to set_fraction ] [from value_changed to packet3_4b2.set_translation ] -->
<PositionInterpolator DEF='path3_5akey='.71 1keyValue='0 0 0 -2 0 2'/>

<!-- ROUTE information for path3_6 node:  [from clock3.fraction_changed to set_fraction ] [from value_changed to packet3_2a.set_translation ] -->
<PositionInterpolator DEF='path3_6key='.71 1keyValue='0 0 0 2 0 -2'/>

<!-- ROUTE information for path3_6a node:  [from clock3.fraction_changed to set_fraction ] [from value_changed to packet3_3a.set_translation ] -->
<PositionInterpolator DEF='path3_6akey='.71 1keyValue='0 0 0 -2 0 -2'/>

<field name='toggletype='SFBoolaccessType='inputOnly'/>
<field name='statetype='SFBoolvalue='falseaccessType='initializeOnly'/>
<field name='toggleValuetype='SFBoolaccessType='outputOnly'/>
<field name='transStatetype='SFFloatvalue='1accessType='initializeOnly'/>
<field name='transparencytype='SFFloataccessType='outputOnly'/>
<![CDATA[
        
ecmascript:

function toggle ( value, ts ) {
 if(value == true){
   state = !state;
   toggleValue = state;
   }
   if(state){
      transState = 0;
      transparency = transState;
   }
   else{
      transState = 1;
      transparency = transState;
   }
}

      
]]>
</Script>
<field name='toggletype='SFBoolaccessType='inputOnly'/>
<field name='statetype='SFBoolvalue='falseaccessType='initializeOnly'/>
<field name='toggleValuetype='SFBoolaccessType='outputOnly'/>
<field name='transStatetype='SFFloatvalue='1accessType='initializeOnly'/>
<field name='transparencytype='SFFloataccessType='outputOnly'/>
<![CDATA[
        
ecmascript:

function toggle ( value, ts ) {
 if(value == true){
   state = !state;
   toggleValue = state;
   }
   if(state){
      transState = 0;
      transparency = transState;
   }
   else{
      transState = 1;
      transparency = transState;
   }
}

      
]]>
</Script>
<field name='toggletype='SFBoolaccessType='inputOnly'/>
<field name='statetype='SFBoolvalue='falseaccessType='initializeOnly'/>
<field name='toggleValuetype='SFBoolaccessType='outputOnly'/>
<field name='transStatetype='SFFloatvalue='1accessType='initializeOnly'/>
<field name='transparencytype='SFFloataccessType='outputOnly'/>
<![CDATA[
        
ecmascript:

function toggle ( value, ts ) {
 if(value == true){
   state = !state;
   toggleValue = state;
   }
   if(state){
      transState = 0;
      transparency = transState;
   }
   else{
      transState = 1;
      transparency = transState;
   }
}

      
]]>
</Script>
</Group>
< ROUTE  fromNode=' primaryTouch' fromField='isActive' toNode=' toggleScript1' toField='toggle'/>
< ROUTE  fromNode=' toggleScript1' fromField='toggleValue' toNode=' clock' toField='loop'/>
< ROUTE  fromNode=' secondaryTouch' fromField='isActive' toNode=' toggleScript2' toField='toggle'/>
< ROUTE  fromNode=' toggleScript2' fromField='toggleValue' toNode=' clock2' toField='loop'/>
< ROUTE  fromNode=' tertiaryTouch' fromField='isActive' toNode=' toggleScript3' toField='toggle'/>
< ROUTE  fromNode=' toggleScript3' fromField='toggleValue' toNode=' clock3' toField='loop'/>
< ROUTE  fromNode=' toggleScript1' fromField='transparency' toNode=' numberSix' toField='transparency'/>
< ROUTE  fromNode=' toggleScript2' fromField='transparency' toNode=' numberSeven' toField='transparency'/>
< ROUTE  fromNode=' toggleScript3' fromField='transparency' toNode=' numberEight' toField='transparency'/>
< ROUTE  fromNode=' clock' fromField='fraction_changed' toNode=' node_path' toField='set_fraction'/>
< ROUTE  fromNode=' clock' fromField='fraction_changed' toNode=' node_patha' toField='set_fraction'/>
< ROUTE  fromNode=' clock' fromField='fraction_changed' toNode=' node_path2' toField='set_fraction'/>
< ROUTE  fromNode=' clock' fromField='fraction_changed' toNode=' node_path2a' toField='set_fraction'/>
< ROUTE  fromNode=' clock' fromField='fraction_changed' toNode=' node_path3' toField='set_fraction'/>
< ROUTE  fromNode=' clock' fromField='fraction_changed' toNode=' node_path3a' toField='set_fraction'/>
< ROUTE  fromNode=' clock' fromField='fraction_changed' toNode=' node_path4' toField='set_fraction'/>
< ROUTE  fromNode=' clock' fromField='fraction_changed' toNode=' node_path4a' toField='set_fraction'/>
< ROUTE  fromNode=' clock' fromField='fraction_changed' toNode=' node_path5' toField='set_fraction'/>
< ROUTE  fromNode=' clock' fromField='fraction_changed' toNode=' node_path5a' toField='set_fraction'/>
< ROUTE  fromNode=' clock' fromField='fraction_changed' toNode=' node_path6' toField='set_fraction'/>
< ROUTE  fromNode=' clock' fromField='fraction_changed' toNode=' node_path6a' toField='set_fraction'/>
< ROUTE  fromNode=' clock2' fromField='fraction_changed' toNode=' path2' toField='set_fraction'/>
< ROUTE  fromNode=' clock2' fromField='fraction_changed' toNode=' path2a' toField='set_fraction'/>
< ROUTE  fromNode=' clock2' fromField='fraction_changed' toNode=' path2_2' toField='set_fraction'/>
< ROUTE  fromNode=' clock2' fromField='fraction_changed' toNode=' path2_2a' toField='set_fraction'/>
< ROUTE  fromNode=' clock2' fromField='fraction_changed' toNode=' path2_3' toField='set_fraction'/>
< ROUTE  fromNode=' clock2' fromField='fraction_changed' toNode=' path2_3a' toField='set_fraction'/>
< ROUTE  fromNode=' clock2' fromField='fraction_changed' toNode=' path2_4' toField='set_fraction'/>
< ROUTE  fromNode=' clock2' fromField='fraction_changed' toNode=' path2_4a' toField='set_fraction'/>
< ROUTE  fromNode=' clock2' fromField='fraction_changed' toNode=' path2_5' toField='set_fraction'/>
< ROUTE  fromNode=' clock2' fromField='fraction_changed' toNode=' path2_5a' toField='set_fraction'/>
< ROUTE  fromNode=' clock2' fromField='fraction_changed' toNode=' path2_6' toField='set_fraction'/>
< ROUTE  fromNode=' clock2' fromField='fraction_changed' toNode=' path2_6a' toField='set_fraction'/>
< ROUTE  fromNode=' clock3' fromField='fraction_changed' toNode=' path3' toField='set_fraction'/>
< ROUTE  fromNode=' clock3' fromField='fraction_changed' toNode=' path3a' toField='set_fraction'/>
< ROUTE  fromNode=' clock3' fromField='fraction_changed' toNode=' path3_2' toField='set_fraction'/>
< ROUTE  fromNode=' clock3' fromField='fraction_changed' toNode=' path3_2a' toField='set_fraction'/>
< ROUTE  fromNode=' clock3' fromField='fraction_changed' toNode=' path3_3' toField='set_fraction'/>
< ROUTE  fromNode=' clock3' fromField='fraction_changed' toNode=' path3_3a' toField='set_fraction'/>
< ROUTE  fromNode=' clock3' fromField='fraction_changed' toNode=' path3_4' toField='set_fraction'/>
< ROUTE  fromNode=' clock3' fromField='fraction_changed' toNode=' path3_4a' toField='set_fraction'/>
< ROUTE  fromNode=' clock3' fromField='fraction_changed' toNode=' path3_5' toField='set_fraction'/>
< ROUTE  fromNode=' clock3' fromField='fraction_changed' toNode=' path3_5a' toField='set_fraction'/>
< ROUTE  fromNode=' clock3' fromField='fraction_changed' toNode=' path3_6' toField='set_fraction'/>
< ROUTE  fromNode=' clock3' fromField='fraction_changed' toNode=' path3_6a' toField='set_fraction'/>
< ROUTE  fromNode=' node_path' fromField='value_changed' toNode=' packet1_transmit' toField='set_translation'/>
< ROUTE  fromNode=' node_path4' fromField='value_changed' toNode=' packet1_2transmit' toField='set_translation'/>
< ROUTE  fromNode=' node_path2' fromField='value_changed' toNode=' packet2_transmit' toField='set_translation'/>
< ROUTE  fromNode=' node_path5' fromField='value_changed' toNode=' packet2_2transmit' toField='set_translation'/>
< ROUTE  fromNode=' node_path3' fromField='value_changed' toNode=' packet3_transmit' toField='set_translation'/>
< ROUTE  fromNode=' node_path6' fromField='value_changed' toNode=' packet3_2transmit' toField='set_translation'/>
< ROUTE  fromNode=' node_path2' fromField='value_changed' toNode=' packet4_transmit' toField='set_translation'/>
< ROUTE  fromNode=' node_path5' fromField='value_changed' toNode=' packet4_2transmit' toField='set_translation'/>
< ROUTE  fromNode=' node_path3' fromField='value_changed' toNode=' packet5_transmit' toField='set_translation'/>
< ROUTE  fromNode=' node_path6' fromField='value_changed' toNode=' packet5_2transmit' toField='set_translation'/>
< ROUTE  fromNode=' node_path' fromField='value_changed' toNode=' packet6_transmit' toField='set_translation'/>
< ROUTE  fromNode=' node_path4' fromField='value_changed' toNode=' packet6_2transmit' toField='set_translation'/>
< ROUTE  fromNode=' path2' fromField='value_changed' toNode=' packet2_1' toField='set_translation'/>
< ROUTE  fromNode=' path2_4' fromField='value_changed' toNode=' packet2_1a' toField='set_translation'/>
< ROUTE  fromNode=' path2_2' fromField='value_changed' toNode=' packet2_2' toField='set_translation'/>
< ROUTE  fromNode=' path2_5' fromField='value_changed' toNode=' packet2_2a' toField='set_translation'/>
< ROUTE  fromNode=' path2_3' fromField='value_changed' toNode=' packet2_2' toField='set_translation'/>
< ROUTE  fromNode=' path2_6' fromField='value_changed' toNode=' packet2_2a' toField='set_translation'/>
< ROUTE  fromNode=' path2_2a' fromField='value_changed' toNode=' packet2_3' toField='set_translation'/>
< ROUTE  fromNode=' path2_5a' fromField='value_changed' toNode=' packet2_3a' toField='set_translation'/>
< ROUTE  fromNode=' path2_4a' fromField='value_changed' toNode=' packet2_3b2' toField='set_translation'/>
< ROUTE  fromNode=' path2a' fromField='value_changed' toNode=' packet2_3b' toField='set_translation'/>
< ROUTE  fromNode=' path2_3' fromField='value_changed' toNode=' packet2_4' toField='set_translation'/>
< ROUTE  fromNode=' path2_6' fromField='value_changed' toNode=' packet2_4a' toField='set_translation'/>
< ROUTE  fromNode=' path2_3' fromField='value_changed' toNode=' packet2_5' toField='set_translation'/>
< ROUTE  fromNode=' path2_6' fromField='value_changed' toNode=' packet2_5a' toField='set_translation'/>
< ROUTE  fromNode=' path2' fromField='value_changed' toNode=' packet2_6' toField='set_translation'/>
< ROUTE  fromNode=' path2_4' fromField='value_changed' toNode=' packet2_6a' toField='set_translation'/>
< ROUTE  fromNode=' path3' fromField='value_changed' toNode=' packet3_1' toField='set_translation'/>
< ROUTE  fromNode=' path3_4' fromField='value_changed' toNode=' packet3_1a' toField='set_translation'/>
< ROUTE  fromNode=' path3_3' fromField='value_changed' toNode=' packet3_2' toField='set_translation'/>
< ROUTE  fromNode=' path3_6' fromField='value_changed' toNode=' packet3_2a' toField='set_translation'/>
< ROUTE  fromNode=' path3_3a' fromField='value_changed' toNode=' packet3_3' toField='set_translation'/>
< ROUTE  fromNode=' path3_6a' fromField='value_changed' toNode=' packet3_3a' toField='set_translation'/>
< ROUTE  fromNode=' path3a' fromField='value_changed' toNode=' packet3_3b' toField='set_translation'/>
< ROUTE  fromNode=' path3_4a' fromField='value_changed' toNode=' packet3_3b2' toField='set_translation'/>
< ROUTE  fromNode=' path3a' fromField='value_changed' toNode=' packet3_4' toField='set_translation'/>
< ROUTE  fromNode=' path3_4a' fromField='value_changed' toNode=' packet3_4a' toField='set_translation'/>
< ROUTE  fromNode=' path3_2a' fromField='value_changed' toNode=' packet3_4b' toField='set_translation'/>
< ROUTE  fromNode=' path3_5a' fromField='value_changed' toNode=' packet3_4b2' toField='set_translation'/>
< ROUTE  fromNode=' path3_2' fromField='value_changed' toNode=' packet3_5' toField='set_translation'/>
< ROUTE  fromNode=' path3_5' fromField='value_changed' toNode=' packet3_5a' toField='set_translation'/>
< ROUTE  fromNode=' path3' fromField='value_changed' toNode=' packet3_6' toField='set_translation'/>
< ROUTE  fromNode=' path3_4' fromField='value_changed' toNode=' packet3_6a' toField='set_translation'/>
</Scene>
</X3D>
<!--

to top <!-- Event Graph ROUTE Table shows event connections -->
 
<!-- Index for DEF nodes: clock, clock2, clock3, node_path, node_path2, node_path2a, node_path3, node_path3a, node_path4, node_path4a, node_path5, node_path5a, node_path6, node_path6a, node_patha, numberEight, numberSeven, numberSix, packet1_2transmit, packet1_transmit, packet2, packet2_1, packet2_1a, packet2_2, packet2_2a, packet2_2transmit, packet2_3, packet2_3a, packet2_3b, packet2_3b2, packet2_4, packet2_4a, packet2_5, packet2_5a, packet2_6, packet2_6a, packet2_transmit, packet3, packet3_1, packet3_1a, packet3_2, packet3_2a, packet3_2transmit, packet3_3, packet3_3a, packet3_3b, packet3_3b2, packet3_4, packet3_4a, packet3_4b, packet3_4b2, packet3_5, packet3_5a, packet3_6, packet3_6a, packet3_transmit, packet4_2transmit, packet4_transmit, packet5_2transmit, packet5_transmit, packet6_2transmit, packet6_transmit, packets_group, path2, path2_2, path2_2a, path2_3, path2_3a, path2_4, path2_4a, path2_5, path2_5a, path2_6, path2_6a, path2a, path3, path3_2, path3_2a, path3_3, path3_3a, path3_4, path3_4a, path3_5, path3_5a, path3_6, path3_6a, path3a, prim_packet, primaryTouch, secondaryTouch, tertiaryTouch, toggleScript1, toggleScript2, toggleScript3
-->

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

primaryTouch
TouchSensor
isActive
SFBool

ROUTE
event to
(1)
toggleScript1
Script
toggle
SFBool

 
 
then
toggleScript1
Script
toggleValue
SFBool

ROUTE
event to
(2)
clock
TimeSensor
loop
SFBool
 
 
 
then
toggleScript1
Script
transparency
SFFloat

ROUTE
event to
(2)
numberSix
Material
transparency
SFFloat


secondaryTouch
TouchSensor
isActive
SFBool

ROUTE
event to
(1)
toggleScript2
Script
toggle
SFBool

 
 
then
toggleScript2
Script
toggleValue
SFBool

ROUTE
event to
(2)
clock2
TimeSensor
loop
SFBool
 
 
 
then
toggleScript2
Script
transparency
SFFloat

ROUTE
event to
(2)
numberSeven
Material
transparency
SFFloat


tertiaryTouch
TouchSensor
isActive
SFBool

ROUTE
event to
(1)
toggleScript3
Script
toggle
SFBool

 
 
then
toggleScript3
Script
toggleValue
SFBool

ROUTE
event to
(2)
clock3
TimeSensor
loop
SFBool
 
 
 
then
toggleScript3
Script
transparency
SFFloat

ROUTE
event to
(2)
numberEight
Material
transparency
SFFloat



-->

<!-- Online at
https://www.web3d.org/x3d/content/examples/Basic/Networking/NetworkReroutingRoutesIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Basic/Networking/NetworkReroutingRoutes.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. -->