Protos with Routes

#VRML V2.0 utf8

PROTO Flipper [ 
	       field SFVec3f position 0 0 0
	      ]
{
   Group {
      children [
	 Transform {
	    translation IS position
	    children [
	       DEF TOUCH TouchSensor {}
	       Shape {
		  appearance Appearance { 
		     material DEF MAT Material {
			emissiveColor 1 0 0
		     }
		  }
		  geometry IndexedFaceSet {
		     coord Coordinate { 
			point [ 1 1 0, -1 1 0, -1 -1 0, 1 -1 0 ]
		     }
		     coordIndex [ 0 1 2 3 ]
		  }
	       }
	      ]
	 }
	 DEF TIMER TimeSensor { cycleInterval 4 }
	 DEF COLORER ColorInterpolator {
	    key [ 0 .5 1 ]
	    keyValue [ 1 0 0, 0 1 0, 1 0 0 ]
	 }
	 DEF SCRIPT Script {
	    eventIn SFBool isOver
	    eventOut SFTime startTime
	    url "vrmlscript:
              function isOver(val, ts) {
                startTime = ts;
              }"
	 }
      ]
      ROUTE TOUCH.isOver TO SCRIPT.isOver
      ROUTE SCRIPT.startTime TO TIMER.startTime
      ROUTE TIMER.fraction_changed TO COLORER.set_fraction
      ROUTE COLORER.value_changed TO MAT.emissiveColor
   }
}

Flipper { position -4 4 0 }
Flipper { position -2 4 0 }
Flipper { position 0 4 0 }
Flipper { position 2 4 0 }
Flipper { position 4 4 0 }

Flipper { position -4 2 0 }
Flipper { position -2 2 0 }
Flipper { position 0 2 0 }
Flipper { position 2 2 0 }
Flipper { position 4 2 0 }

Flipper { position -4 0 0 }
Flipper { position -2 0 0 }
Flipper { position 0 0 0 }
Flipper { position 2 0 0 }
Flipper { position 4 0 0 }

Flipper { position -4 -2 0 }
Flipper { position -2 -2 0 }
Flipper { position 0 -2 0 }
Flipper { position 2 -2 0 }
Flipper { position 4 -2 0 }

Flipper { position -4 -4 0 }
Flipper { position -2 -4 0 }
Flipper { position 0 -4 0 }
Flipper { position 2 -4 0 }
Flipper { position 4 -4 0 }

NavigationInfo { 
   headlight FALSE 
   type "NONE"
}

		
Viewpoint { position 0 0 15 }
   
Background { skyColor 1 1 1 }	       
	       


mrl