#VRML V2.0 utf8 WorldInfo { title "Dekany" info [ "Author: Robert Walker- e-mail: vrml@rcwalker.freeserve.co.uk" ] } Background {skyColor 0 0 1} #substitution table used - this will be filled in after the search and replace, #idea is, for future ref, if one wants to remake it from template again #substitutions used to make file names shown in square brackets #ratio0 i1*i5 [i1si5] #ratio1 i1*i4 [i1si4] #ratio2 i1*i2 [i1si2] #ratio3 i2*i4 [i2si4] #ratio4 i2*i5 [i2si5] #ratio5 i4*i5 [i4si5] #ratio6 i1*i3 [i1si3] #ratio7 i3*i5 [i3si5] #ratio8 i3*i4 [i3si4] #ratio9 i2*i3 [i2si3] #ratio10 i1*i40 [i1si6] #xvalue xx #Method for making VRML from template - replace all formulae including xx, then xx itself #to get any perspective view through 3D face to centre, with the central tetrahedron 3D faces #shown in red, and the other four in blue. (set it to 0.5 for non perspective view) #midi files to make: #i3si5_i4si5.mid #i2si5_i3si5.mid #i1si5_i3si5.mid #i1si4_i3si4.mid #i2si4_i3si4.mid #i3si4_i4si5.mid #i1si3_i1si5.mid #i1si3_i1si4.mid #i1si2_i1si3.mid #i2si3_i2si5.mid #i2si3_i2si4.mid #i1si2_i2si3.mid #i2si3_i3si4.mid #i2si3_i3si5.mid #i3si4_i3si5.mid #i1si3_i3si4.mid #i1si3_i2si3.mid #i1si3_i3si5.mid #i1si4_i1si5.mid #i2si4_i2si5.mid #i1si2_i1si5.mid #i2si4_i4si5.mid #i1si2_i1si4.mid #i2si5_i4si5.mid #i1si5_i4si5.mid #i1si2_i2si4.mid #i1si4_i2si4.mid #i1si5_i2si5.mid #i1si4_i4si5.mid #i1si2_i2si5.mid #i1si3_i2si3_i3si5.mid #i2si3_i3si4_i3si5.mid #i1si3_i2si3_i3si4.mid #i1si3_i3si4_i3si5.mid #i1si2_i1si3_i1si5.mid #i1si2_i1si3_i1si4.mid #i1si3_i1si4_i1si5.mid #i1si5_i2si5_i3si5.mid #i2si5_i3si5_i4si5.mid #i1si5_i3si5_i4si5.mid #i1si4_i3si4_i4si5.mid #i1si4_i2si4_i3si4.mid #i2si4_i3si4_i4si5.mid #i1si2_i2si3_i2si5.mid #i2si3_i2si4_i2si5.mid #i1si2_i2si3_i2si4.mid #i2si3_i2si5_i3si5.mid #i1si3_i1si4_i3si4.mid #i1si2_i1si3_i2si3.mid #i2si3_i2si4_i3si4.mid #i3si4_i3si5_i4si5.mid #i1si3_i1si5_i3si5.mid #i1si2_i2si4_i2si5.mid #i1si2_i1si4_i1si5.mid #i2si4_i2si5_i4si5.mid #i1si5_i2si5_i4si5.mid #i1si2_i1si4_i2si4.mid #i1si4_i1si5_i4si5.mid #i1si4_i2si4_i4si5.mid #i1si2_i1si5_i2si5.mid #i1si5.mid #i1si4.mid #i1si2.mid #i2si4.mid #i2si5.mid #i4si5.mid #i1si3.mid #i3si5.mid #i3si4.mid #i2si3.mid #i1si2_i1si3_i1si4_i1si5.mid #i1si5_i2si5_i3si5_i4si5.mid #i1si4_i2si4_i3si4_i4si5.mid #i1si2_i2si3_i2si4_i2si5.mid #i1si3_i2si3_i3si4_i3si5.mid #i1si2_i1si3_i1si4_i1si5_i1si6.mid #i1si5_i2si5_i3si5_i4si5_i5si6.mid #i1si4_i2si4_i3si4_i4si5_i4si6.mid #i1si2_i2si3_i2si4_i2si5_i2si6.mid #i1si3_i2si3_i3si4_i3si5_i3si6.mid Viewpoint { description "i1*i5" position 5 0 0 orientation 0 1 0 1.5708 fieldOfView 0.785398 } Viewpoint { position 0 0 5 description "i1*i2" fieldOfView 0.785398 } Viewpoint { description "i2*i4" position -5 0 0 orientation 0 1 0 -1.5708 fieldOfView 0.785398 } Viewpoint { description "i4*i5" position 0 0 -5 orientation 0 1 0 -3.14159 fieldOfView 0.785398 } DirectionalLight { direction -0.5 -1 0 intensity 0.75 } DirectionalLight { direction 0.5 1 0 intensity 0.75 } Group { children [ Transform { translation 0 1.6 0 scale 0.3 0.3 0.3 children [ Billboard { children [ Shape { appearance Appearance { material Material {diffuseColor 1 1 1 } } # white text geometry Text { string "Pentadekany i1, i2, i3, i4, i5, i6" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } ] } ] } Transform { rotation 0 1 0.6 0.5 children [ #8 triads Viewpoint { description "i1*i2 i1*i4 i1*i5" position 2.88675 2.88675 2.88675 orientation -0.590284 0.769274 0.244504 0.987861 fieldOfView 0.785398 } Viewpoint { description "i1*i5 i1*i4 i4*i5" position 2.88675 2.88675 -2.88675 orientation -0.124491 0.945607 0.300549 2.39496 fieldOfView 0.785398 } Viewpoint { description "i5*i1 i5*i2 i5*i4" position 2.88675 -2.88675 -2.88675 orientation 0.124491 0.945607 -0.300549 2.39496 fieldOfView 0.785398 } Viewpoint { description "i2*i4 i2*i5 i4*i5" position -2.88675 -2.88675 -2.88675 orientation -0.124491 0.945607 -0.300549 -2.39496 fieldOfView 0.785398 } Viewpoint { description "i4*i1 i4*i2 i4*i5" position -2.88675 2.88675 -2.88675 orientation 0.124491 0.945607 0.300549 -2.39496 fieldOfView 0.785398 } Viewpoint { description "i1*i2 i1*i4 i2*i4" position -2.88675 2.88675 2.88675 orientation 0.590284 0.769274 0.244504 -0.987861 fieldOfView 0.785398 } Viewpoint { description "i2*i1 i2*i4 i2*i5" position -2.88675 -2.88675 2.88675 orientation -0.590284 0.769274 -0.244504 -0.987861 fieldOfView 0.785398 } Viewpoint { description "i1*i2 i1*i5 i2*i5" position 2.88675 -2.88675 2.88675 orientation 0.590284 0.769274 -0.244504 0.987861 fieldOfView 0.785398 } #12 diads Viewpoint { description "i1*i4 i1*i5" position 3.53553 3.53553 0 orientation -0.357407 0.862856 0.357407 1.71777 fieldOfView 0.785398 } Viewpoint { description "i5*i1 i5*i2" position 3.53553 -3.53553 0 orientation 0.357407 0.862856 -0.357407 1.71777 fieldOfView 0.785398 } Viewpoint { description "i2*i4 i2*i5" position -3.53553 -3.53553 0 orientation -0.357407 0.862856 -0.357407 -1.71777 fieldOfView 0.785398 } Viewpoint { description "i4*i1 i4*i2" position -3.53553 3.53553 0 orientation 0.357407 0.862856 0.357407 -1.71777 fieldOfView 0.785398 } Viewpoint { description "i2*i1 i2*i4" position -3.53553 0 3.53553 orientation 0 1 0 -0.785398 fieldOfView 0.785398 } Viewpoint { description "i1*i2 i1*i5" position 3.53553 0 3.53553 orientation 0 1 0 0.785398 fieldOfView 0.785398 } Viewpoint { description "i5*i1 i5*i4" position 3.53553 0 -3.53553 orientation 0 1 0 2.35619 fieldOfView 0.785398 } Viewpoint { description "i4*i2 i4*i5" position -3.53553 0 -3.53553 orientation 0 1 0 -2.35619 fieldOfView 0.785398 } Viewpoint { description "i5*i2 i5*i4" position 0 -3.53553 -3.53553 orientation 0 0.92388 -0.382683 -3.14159 fieldOfView 0.785398 } Viewpoint { description "i4*i1 i4*i5" position 0 3.53553 -3.53553 orientation 0 0.92388 0.382683 -3.14159 fieldOfView 0.785398 } Viewpoint { description "i1*i2 i1*i4" position 0 3.53553 3.53553 orientation 1 0 0 -0.785398 fieldOfView 0.785398 } Viewpoint { description "i2*i1 i2*i5" position 0 -3.53553 3.53553 orientation 1 0 0 0.785398 fieldOfView 0.785398 } Transform { translation -0.5 -0.5 0.5 scale 0.2 0.2 0.2 children [ Billboard { children [ DEF Touch_i2si3 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 0 0 0 } } geometry Text { string "i2*i3" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } DEF TransparentSphere Shape { appearance Appearance { material Material {diffuseColor 1 1 0 transparency 1} } geometry Sphere{radius 0.5} } ] } ] } Transform { translation -0.5 0.5 -0.5 scale 0.2 0.2 0.2 children [ Billboard { children [ DEF Touch_i3si4 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 0 0 0 } } geometry Text { string "i3*i4" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } USE TransparentSphere ] } ] } Transform { translation 0.5 -0.5 -0.5 scale 0.2 0.2 0.2 children [ Billboard { children [ DEF Touch_i3si5 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 0 0 0 } } geometry Text { string "i3*i5" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } USE TransparentSphere ] } ] } Transform { translation 0.5 0.5 0.5 scale 0.2 0.2 0.2 children [ Billboard { children [ DEF Touch_i1si3 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 0 0 0 } } geometry Text { string "i1*i3" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } USE TransparentSphere ] } ] } Transform { translation 1.1 0 0 scale 0.2 0.2 0.2 children [ Billboard { children [ DEF Touch_i1si5 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 1 1 1 } } # white text geometry Text { string "i1*i5" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } USE TransparentSphere ] } ] } Transform { translation -1.1 0 0 scale 0.2 0.2 0.2 children [ Billboard { children [ DEF Touch_i2si4 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 1 1 1 } } # white text geometry Text { string "i2*i4" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } USE TransparentSphere ] } ] } Transform { translation 0 1.1 0 scale 0.2 0.2 0.2 children [ Billboard { children [ DEF Touch_i1si4 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 1 1 1 } } # white text geometry Text { string "i1*i4" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } USE TransparentSphere ] } ] } Transform { translation 0 -1.1 0 scale 0.2 0.2 0.2 children [ Billboard { children [ DEF Touch_i2si5 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 1 1 1 } } # white text geometry Text { string "i2*i5" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } USE TransparentSphere ] } ] } Transform { translation 0 0 1.1 scale 0.2 0.2 0.2 children [ Billboard { children [ DEF Touch_i1si2 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 1 1 1 } } # white text geometry Text { string "i1*i2" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } USE TransparentSphere ] } ] } Transform { translation 0 0 -1.1 scale 0.2 0.2 0.2 children [ Billboard { children [ DEF Touch_i4si5 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 1 1 1 } } # white text geometry Text { string "i4*i5" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } USE TransparentSphere ] } ] } #diads Transform { translation xx/2 -xx/2 -(1+xx)/2 scale 0.14 0.14 0.14 children [ DEF Touch_i3si5_i4si5 TouchSensor{} DEF DiadSphere Shape { appearance Appearance { material Material {diffuseColor 0 1 1 transparency 0} } geometry Sphere{radius 0.3} } ] } Transform { translation xx/2 -(1+xx)/2 -xx/2 scale 0.14 0.14 0.14 children [ DEF Touch_i2si5_i3si5 TouchSensor{} USE DiadSphere ] } Transform { translation (1+xx)/2 -xx/2 -xx/2 scale 0.14 0.14 0.14 children [ DEF Touch_i1si5_i3si5 TouchSensor{} USE DiadSphere ] } Transform { translation -xx/2 (1+xx)/2 -xx/2 scale 0.14 0.14 0.14 children [ DEF Touch_i1si4_i3si4 TouchSensor{} USE DiadSphere ] } Transform { translation -(1+xx)/2 xx/2 -xx/2 scale 0.14 0.14 0.14 children [ DEF Touch_i2si4_i3si4 TouchSensor{} USE DiadSphere ] } Transform { translation -xx/2 xx/2 -(1+xx)/2 scale 0.14 0.14 0.14 children [ DEF Touch_i3si4_i4si5 TouchSensor{} USE DiadSphere ] } Transform { translation (1+xx)/2 xx/2 xx/2 scale 0.14 0.14 0.14 children [ DEF Touch_i1si3_i1si5 TouchSensor{} USE DiadSphere ] } Transform { translation xx/2 (1+xx)/2 xx/2 scale 0.14 0.14 0.14 children [ DEF Touch_i1si3_i1si4 TouchSensor{} USE DiadSphere ] } Transform { translation xx/2 xx/2 (1+xx)/2 scale 0.14 0.14 0.14 children [ DEF Touch_i1si2_i1si3 TouchSensor{} USE DiadSphere ] } Transform { translation -xx/2 -(1+xx)/2 xx/2 scale 0.14 0.14 0.14 children [ DEF Touch_i2si3_i2si5 TouchSensor{} USE DiadSphere ] } Transform { translation -(1+xx)/2 -xx/2 xx/2 scale 0.14 0.14 0.14 children [ DEF Touch_i2si3_i2si4 TouchSensor{} USE DiadSphere ] } Transform { translation -xx/2 -xx/2 (1+xx)/2 scale 0.14 0.14 0.14 children [ DEF Touch_i1si2_i2si3 TouchSensor{} USE DiadSphere ] } Transform { translation -xx 0 0 scale 0.14 0.14 0.14 children [ DEF Touch_i2si3_i3si4 TouchSensor{} USE DiadSphere ] } Transform { translation 0 -xx 0 scale 0.14 0.14 0.14 children [ DEF Touch_i2si3_i3si5 TouchSensor{} USE DiadSphere ] } Transform { translation 0 0 -xx scale 0.14 0.14 0.14 children [ DEF Touch_i3si4_i3si5 TouchSensor{} USE DiadSphere ] } Transform { translation 0 xx 0 scale 0.14 0.14 0.14 children [ DEF Touch_i1si3_i3si4 TouchSensor{} USE DiadSphere ] } Transform { translation 0 0 xx scale 0.14 0.14 0.14 children [ DEF Touch_i1si3_i2si3 TouchSensor{} USE DiadSphere ] } Transform { translation xx 0 0 scale 0.14 0.14 0.14 children [ DEF Touch_i1si3_i3si5 TouchSensor{} USE DiadSphere ] } Transform { translation 0.5 0.5 0 scale 0.14 0.14 0.14 children [ DEF Touch_i1si4_i1si5 TouchSensor{} USE DiadSphere ] } Transform { translation -0.5 -0.5 0 scale 0.14 0.14 0.14 children [ DEF Touch_i2si4_i2si5 TouchSensor{} USE DiadSphere ] } Transform { translation 0.5 0 0.5 scale 0.14 0.14 0.14 children [ DEF Touch_i1si2_i1si5 TouchSensor{} USE DiadSphere ] } Transform { translation -0.5 0 -0.5 scale 0.14 0.14 0.14 children [ DEF Touch_i2si4_i4si5 TouchSensor{} USE DiadSphere ] } Transform { translation 0 0.5 0.5 scale 0.14 0.14 0.14 children [ DEF Touch_i1si2_i1si4 TouchSensor{} USE DiadSphere ] } Transform { translation 0 -0.5 -0.5 scale 0.14 0.14 0.14 children [ DEF Touch_i2si5_i4si5 TouchSensor{} USE DiadSphere ] } Transform { translation 0.5 0 -0.5 scale 0.14 0.14 0.14 children [ DEF Touch_i1si5_i4si5 TouchSensor{} USE DiadSphere ] } Transform { translation -0.5 0 0.5 scale 0.14 0.14 0.14 children [ DEF Touch_i1si2_i2si4 TouchSensor{} USE DiadSphere ] } Transform { translation -0.5 0.5 0 scale 0.14 0.14 0.14 children [ DEF Touch_i1si4_i2si4 TouchSensor{} USE DiadSphere ] } Transform { translation 0.5 -0.5 0 scale 0.14 0.14 0.14 children [ DEF Touch_i1si5_i2si5 TouchSensor{} USE DiadSphere ] } Transform { translation 0 0.5 -0.5 scale 0.14 0.14 0.14 children [ DEF Touch_i1si4_i4si5 TouchSensor{} USE DiadSphere ] } Transform { translation 0 -0.5 0.5 scale 0.14 0.14 0.14 children [ DEF Touch_i1si2_i2si5 TouchSensor{} USE DiadSphere ] } #triads Transform { translation xx/3 -xx/3 xx/3 scale 0.2 0.2 0.2 children [ DEF Touch_i1si3_i2si3_i3si5 TouchSensor{} DEF TriadSphere1 Shape { appearance Appearance { material Material {diffuseColor 0 0 0.6 transparency 0} } geometry Sphere{radius 0.3} } ] } Transform { translation -xx/3 -xx/3 -xx/3 scale 0.2 0.2 0.2 children [ DEF Touch_i2si3_i3si4_i3si5 TouchSensor{} USE TriadSphere1 ] } Transform { translation -xx/3 xx/3 xx/3 scale 0.2 0.2 0.2 children [ DEF Touch_i1si3_i2si3_i3si4 TouchSensor{} USE TriadSphere1 ] } Transform { translation xx/3 xx/3 -xx/3 scale 0.2 0.2 0.2 children [ DEF Touch_i1si3_i3si4_i3si5 TouchSensor{} USE TriadSphere1 ] } Transform { translation (1+xx)/3 xx/3 (1+xx)/3 scale 0.2 0.2 0.2 children [ DEF Touch_i1si2_i1si3_i1si5 TouchSensor{} DEF TriadSphere2 Shape { appearance Appearance { material Material {diffuseColor 1 1 0 transparency 0} } geometry Sphere{radius 0.3} } ] } Transform { translation xx/3 (1+xx)/3 (1+xx)/3 scale 0.2 0.2 0.2 children [ DEF Touch_i1si2_i1si3_i1si4 TouchSensor{} USE TriadSphere2 ] } Transform { translation (1+xx)/3 (1+xx)/3 xx/3 scale 0.2 0.2 0.2 children [ DEF Touch_i1si3_i1si4_i1si5 TouchSensor{} USE TriadSphere2 ] } Transform { translation (1+xx)/3 -(1+xx)/3 -xx/3 scale 0.2 0.2 0.2 children [ DEF Touch_i1si5_i2si5_i3si5 TouchSensor{} USE TriadSphere2 ] } Transform { translation xx/3 -(1+xx)/3 -(1+xx)/3 scale 0.2 0.2 0.2 children [ DEF Touch_i2si5_i3si5_i4si5 TouchSensor{} USE TriadSphere2 ] } Transform { translation (1+xx)/3 -xx/3 -(1+xx)/3 scale 0.2 0.2 0.2 children [ DEF Touch_i1si5_i3si5_i4si5 TouchSensor{} USE TriadSphere2 ] } Transform { translation -xx/3 (1+xx)/3 -(1+xx)/3 scale 0.2 0.2 0.2 children [ DEF Touch_i1si4_i3si4_i4si5 TouchSensor{} USE TriadSphere2 ] } Transform { translation -(1+xx)/3 (1+xx)/3 -xx/3 scale 0.2 0.2 0.2 children [ DEF Touch_i1si4_i2si4_i3si4 TouchSensor{} USE TriadSphere2 ] } Transform { translation -(1+xx)/3 xx/3 -(1+xx)/3 scale 0.2 0.2 0.2 children [ DEF Touch_i2si4_i3si4_i4si5 TouchSensor{} USE TriadSphere2 ] } Transform { translation -xx/3 -(1+xx)/3 (1+xx)/3 scale 0.2 0.2 0.2 children [ DEF Touch_i1si2_i2si3_i2si5 TouchSensor{} USE TriadSphere2 ] } Transform { translation -(1+xx)/3 -(1+xx)/3 xx/3 scale 0.2 0.2 0.2 children [ DEF Touch_i2si3_i2si4_i2si5 TouchSensor{} USE TriadSphere2 ] } Transform { translation -(1+xx)/3 -xx/3 (1+xx)/3 scale 0.2 0.2 0.2 children [ DEF Touch_i1si2_i2si3_i2si4 TouchSensor{} USE TriadSphere2 ] } Transform { translation 0 -(1+2*xx)/3 0 scale 0.2 0.2 0.2 children [ DEF Touch_i2si3_i2si5_i3si5 TouchSensor{} DEF TriadSphere3 Shape { appearance Appearance { material Material {diffuseColor 1 0 1 transparency 0} } geometry Sphere{radius 0.3} } ] } Transform { translation 0 (1+2*xx)/3 0 scale 0.2 0.2 0.2 children [ DEF Touch_i1si3_i1si4_i3si4 TouchSensor{} USE TriadSphere3 ] } Transform { translation 0 0 (1+2*xx)/3 scale 0.2 0.2 0.2 children [ DEF Touch_i1si2_i1si3_i2si3 TouchSensor{} USE TriadSphere3 ] } Transform { translation -(1+2*xx)/3 0 0 scale 0.2 0.2 0.2 children [ DEF Touch_i2si3_i2si4_i3si4 TouchSensor{} USE TriadSphere3 ] } Transform { translation 0 0 -(1+2*xx)/3 scale 0.2 0.2 0.2 children [ DEF Touch_i3si4_i3si5_i4si5 TouchSensor{} USE TriadSphere3 ] } Transform { translation (1+2*xx)/3 0 0 scale 0.2 0.2 0.2 children [ DEF Touch_i1si3_i1si5_i3si5 TouchSensor{} USE TriadSphere3 ] } Transform { translation 0.33333 0.33333 0.33333 scale 0.2 0.2 0.2 children [ DEF Touch_i1si2_i1si4_i1si5 TouchSensor{} DEF TriadSphere3 Shape { appearance Appearance { material Material {diffuseColor 1 0 0 transparency 0} } geometry Sphere{radius 0.3} } ] } Transform { translation -0.33333 -0.33333 -0.33333 scale 0.2 0.2 0.2 children [ DEF Touch_i2si4_i2si5_i4si5 TouchSensor{} USE TriadSphere3 ] } Transform { translation 0.33333 -0.33333 -0.33333 scale 0.2 0.2 0.2 children [ DEF Touch_i1si5_i2si5_i4si5 TouchSensor{} USE TriadSphere3 ] } Transform { translation -0.33333 0.33333 0.33333 scale 0.2 0.2 0.2 children [ DEF Touch_i1si2_i1si4_i2si4 TouchSensor{} USE TriadSphere3 ] } Transform { translation 0.33333 0.33333 -0.33333 scale 0.2 0.2 0.2 children [ DEF Touch_i1si4_i1si5_i4si5 TouchSensor{} USE TriadSphere3 ] } Transform { translation -0.33333 -0.33333 0.33333 scale 0.2 0.2 0.2 children [ DEF Touch_i1si2_i2si4_i2si5 TouchSensor{} USE TriadSphere3 ] } Transform { translation -0.33333 0.33333 -0.33333 scale 0.2 0.2 0.2 children [ DEF Touch_i1si4_i2si4_i4si5 TouchSensor{} USE TriadSphere3 ] } Transform { translation 0.33333 -0.33333 0.33333 scale 0.2 0.2 0.2 children [ DEF Touch_i1si2_i1si5_i2si5 TouchSensor{} USE TriadSphere3 ] } Transform { children [ DEF Touch_i1si2_i1si3_i1si4_i1si5 TouchSensor{} Shape { appearance DEF Face1Colour Appearance { material Material {diffuseColor 0 0 0.5 transparency 0} } geometry DEF OuterTetrahedron_adj_6 IndexedFaceSet { solid FALSE coord DEF OctahedronVertices Coordinate { point [ 1 0 0, #0 0 1 0, #1 0 0 1, #2 -1 0 0, #3 0 -1 0, #4 0 0 -1, #5 xx xx xx #6 xx -xx -xx #7 -xx xx -xx #8 -xx -xx xx #9 ] } coordIndex [ 0,1,2,-1,#tetrahedron adj 6 1,2,6,-1, 0,2,6,-1, 0,1,6,-1, ] } } ] } Transform { translation 0.8 0.8 0.8 scale 0.2 0.2 0.2 children [ Billboard { children [ DEF Touch_i1si6 TouchSensor{} Shape { appearance DEF Text1 Appearance { material Material {diffuseColor 0.5 0.5 1} } geometry Text { string "i1*i6" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } USE TransparentSphere ] } ] } Transform { translation 0.65 0.65 0.65 scale 0.2 0.2 0.2 children [ DEF Touch_i1si2_i1si3_i1si4_i1si5_i1si6 TouchSensor{} DEF PentadSphere Shape { appearance Appearance { material Material {diffuseColor 1 1 1 transparency 0} } geometry Sphere{radius 0.5} } ] } Transform { children [ DEF Touch_i1si5_i2si5_i3si5_i4si5 TouchSensor{} Shape { appearance USE Face1Colour geometry DEF OuterTetrahedron_adj_7 IndexedFaceSet { solid FALSE coord USE OctahedronVertices coordIndex [ 0,4,5,-1,#tetrahedron adj 7 4,5,7,-1, 0,4,7,-1, 0,5,7,-1, ] } } ] } Transform { translation 0.8 -0.8 -0.8 scale 0.2 0.2 0.2 children [ Billboard { children [ DEF Touch_i5si6 TouchSensor{} Shape { appearance USE Text1 geometry Text { string "i5*i6" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } USE TransparentSphere ] } ] } Transform { translation 0.65 -0.65 -0.65 scale 0.2 0.2 0.2 children [ DEF Touch_i1si5_i2si5_i3si5_i4si5_i5si6 TouchSensor{} USE PentadSphere ] } Transform { children [ DEF Touch_i1si4_i2si4_i3si4_i4si5 TouchSensor{} Shape { appearance USE Face1Colour geometry DEF OuterTetrahedron_adj_8 IndexedFaceSet { solid FALSE coord USE OctahedronVertices coordIndex [ 1,3,5,-1,#tetrahedron adj 8 1,5,8,-1, 1,3,8,-1, 3,5,8,-1, ] } } ] } Transform { translation -0.8 0.8 -0.8 scale 0.2 0.2 0.2 children [ Billboard { children [ DEF Touch_i4si6 TouchSensor{} Shape { appearance USE Text1 geometry Text { string "i4*i6" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } USE TransparentSphere ] } ] } Transform { translation -0.65 0.65 -0.65 scale 0.2 0.2 0.2 children [ DEF Touch_i1si4_i2si4_i3si4_i4si5_i4si6 TouchSensor{} USE PentadSphere ] } Transform { children [ DEF Touch_i1si2_i2si3_i2si4_i2si5 TouchSensor{} Shape { appearance USE Face1Colour geometry DEF OuterTetrahedron_adj_9 IndexedFaceSet { solid FALSE coord USE OctahedronVertices coordIndex [ 2,3,4,-1,#tetrahedron adj 9 2,4,9,-1, 2,3,9,-1, 3,4,9,-1, ] } } ] } Transform { translation -0.8 -0.8 0.8 scale 0.2 0.2 0.2 children [ Billboard { children [ DEF Touch_i2si6 TouchSensor{} Shape { appearance USE Text1 geometry Text { string "i2*i6" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } USE TransparentSphere ] } ] } Transform { translation -0.65 -0.65 0.65 scale 0.2 0.2 0.2 children [ DEF Touch_i1si2_i2si3_i2si4_i2si5_i2si6 TouchSensor{} USE PentadSphere ] } Transform { children [ DEF Touch_i1si3_i2si3_i3si4_i3si5 TouchSensor{} Shape { appearance Appearance { material Material {diffuseColor 1 0 0 transparency 0} } geometry DEF CentreTetrahedron IndexedFaceSet { solid FALSE coord USE OctahedronVertices coordIndex [ 6,7,8,-1,#central tetrahedron 7,8,9,-1, 6,8,9,-1, 6,7,9,-1, ] } } ] } Transform { translation 0 -1.6 0 scale 0.2 0.2 0.2 children [ Billboard { children [ DEF Touch_i3si6 TouchSensor{} Shape { appearance USE Text1 geometry Text { string "i3*i6 (centre)" fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} } } USE TransparentSphere ] } ] } # Transform # { # translation 0 0 0 # children # [ # DEF Touch_i3si6 TouchSensor{} # Transform # { # translation xx/3 -xx/3 xx/3 # children # [ # DEF CentreMonadSphere Shape # { # appearance Appearance { material Material {diffuseColor 0 0 0 transparency 0} } # geometry Sphere{radius 0.02} # } # ] # } # Transform # { # translation -0.4 -0.4 0.4 # children USE CentreMonadSphere # } # Transform # { # translation 0.4 -0.4 -0.4 # children USE CentreMonadSphere # } # Transform # { # translation -0.4 0.4 -0.4 # children USE CentreMonadSphere # } ## Transform ## { ## translation 0 0 0 ## scale 0.2 0.2 0.2 ## children ## [ ## Billboard ## { ## children ## [ ## Shape ## { ## appearance Appearance { material Material {diffuseColor 0 0 0 } } ## geometry Text ## { ## string "i3*i6" ## fontStyle FontStyle{justify ["MIDDLE","MIDDLE"]} ## } ## } ## USE TransparentSphere ## ] ## } ## ] ## } # ] # } Transform { translation 0 0 0 scale 0.4 0.4 0.4 children [ DEF Touch_i1si3_i2si3_i3si4_i3si5_i3si6 TouchSensor{} USE PentadSphere ] } Shape { appearance Appearance { material Material {emissiveColor 1 1 0} } geometry DEF ThisPolysLines IndexedLineSet { coord USE OctahedronVertices coordIndex [ 6,7,-1, #6,7,0, 7,0,-1, 0,6,-1, 7,8,-1, #7,8,5, 8,5,-1, 5,7,-1, 8,9,-1, #8,9,3, 9,3,-1, 3,8,-1, 9,6,-1, #9,6,2, 6,2,-1, 2,9,-1, 6,8,-1, #6,8,1, 8,1,-1, 1,6,-1, 7,9,-1, #7,9,4, 9,4,-1, 4,7,-1, 2,1,-1, 2,3,-1, 2,4,-1, 2,0,-1, 1,3,-1, 3,4,-1, 4,0,-1, 0,1,-1, 5,0,-1, 5,1,-1, 5,3,-1, 5,4,-1, ] } } ] } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si6 AudioClip {url "i1si6.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i2si6 AudioClip {url "i2si6.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i3si6 AudioClip {url "i3si6.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i4si6 AudioClip {url "i4si6.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i5si6 AudioClip {url "i5si6.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si5 AudioClip {url "i1si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si4 AudioClip {url "i1si4.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si2 AudioClip {url "i1si2.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i2si4 AudioClip {url "i2si4.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i2si5 AudioClip {url "i2si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i4si5 AudioClip {url "i4si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si3 AudioClip {url "i1si3.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i3si5 AudioClip {url "i3si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i3si4 AudioClip {url "i3si4.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i2si3 AudioClip {url "i2si3.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i3si5_i4si5 AudioClip {url "i3si5_i4si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i2si5_i3si5 AudioClip {url "i2si5_i3si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si5_i3si5 AudioClip {url "i1si5_i3si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si4_i3si4 AudioClip {url "i1si4_i3si4.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i2si4_i3si4 AudioClip {url "i2si4_i3si4.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i3si4_i4si5 AudioClip {url "i3si4_i4si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si3_i1si5 AudioClip {url "i1si3_i1si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si3_i1si4 AudioClip {url "i1si3_i1si4.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si2_i1si3 AudioClip {url "i1si2_i1si3.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i2si3_i2si5 AudioClip {url "i2si3_i2si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i2si3_i2si4 AudioClip {url "i2si3_i2si4.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si2_i2si3 AudioClip {url "i1si2_i2si3.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i2si3_i3si4 AudioClip {url "i2si3_i3si4.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i2si3_i3si5 AudioClip {url "i2si3_i3si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i3si4_i3si5 AudioClip {url "i3si4_i3si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si3_i3si4 AudioClip {url "i1si3_i3si4.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si3_i2si3 AudioClip {url "i1si3_i2si3.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si3_i3si5 AudioClip {url "i1si3_i3si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si4_i1si5 AudioClip {url "i1si4_i1si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i2si4_i2si5 AudioClip {url "i2si4_i2si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si2_i1si5 AudioClip {url "i1si2_i1si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i2si4_i4si5 AudioClip {url "i2si4_i4si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si2_i1si4 AudioClip {url "i1si2_i1si4.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i2si5_i4si5 AudioClip {url "i2si5_i4si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si5_i4si5 AudioClip {url "i1si5_i4si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si2_i2si4 AudioClip {url "i1si2_i2si4.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si4_i2si4 AudioClip {url "i1si4_i2si4.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si5_i2si5 AudioClip {url "i1si5_i2si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si4_i4si5 AudioClip {url "i1si4_i4si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si2_i2si5 AudioClip {url "i1si2_i2si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si3_i2si3_i3si5 AudioClip {url "i1si3_i2si3_i3si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i2si3_i3si4_i3si5 AudioClip {url "i2si3_i3si4_i3si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si3_i2si3_i3si4 AudioClip {url "i1si3_i2si3_i3si4.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si3_i3si4_i3si5 AudioClip {url "i1si3_i3si4_i3si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si2_i1si3_i1si5 AudioClip {url "i1si2_i1si3_i1si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si2_i1si3_i1si4 AudioClip {url "i1si2_i1si3_i1si4.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si3_i1si4_i1si5 AudioClip {url "i1si3_i1si4_i1si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si5_i2si5_i3si5 AudioClip {url "i1si5_i2si5_i3si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i2si5_i3si5_i4si5 AudioClip {url "i2si5_i3si5_i4si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si5_i3si5_i4si5 AudioClip {url "i1si5_i3si5_i4si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si4_i3si4_i4si5 AudioClip {url "i1si4_i3si4_i4si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si4_i2si4_i3si4 AudioClip {url "i1si4_i2si4_i3si4.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i2si4_i3si4_i4si5 AudioClip {url "i2si4_i3si4_i4si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si2_i2si3_i2si5 AudioClip {url "i1si2_i2si3_i2si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i2si3_i2si4_i2si5 AudioClip {url "i2si3_i2si4_i2si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si2_i2si3_i2si4 AudioClip {url "i1si2_i2si3_i2si4.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i2si3_i2si5_i3si5 AudioClip {url "i2si3_i2si5_i3si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si3_i1si4_i3si4 AudioClip {url "i1si3_i1si4_i3si4.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si2_i1si3_i2si3 AudioClip {url "i1si2_i1si3_i2si3.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i2si3_i2si4_i3si4 AudioClip {url "i2si3_i2si4_i3si4.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i3si4_i3si5_i4si5 AudioClip {url "i3si4_i3si5_i4si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si3_i1si5_i3si5 AudioClip {url "i1si3_i1si5_i3si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si2_i2si4_i2si5 AudioClip {url "i1si2_i2si4_i2si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si2_i1si4_i1si5 AudioClip {url "i1si2_i1si4_i1si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i2si4_i2si5_i4si5 AudioClip {url "i2si4_i2si5_i4si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si5_i2si5_i4si5 AudioClip {url "i1si5_i2si5_i4si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si2_i1si4_i2si4 AudioClip {url "i1si2_i1si4_i2si4.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si4_i1si5_i4si5 AudioClip {url "i1si4_i1si5_i4si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si4_i2si4_i4si5 AudioClip {url "i1si4_i2si4_i4si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si2_i1si5_i2si5 AudioClip {url "i1si2_i1si5_i2si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si2_i1si3_i1si4_i1si5 AudioClip {url "i1si2_i1si3_i1si4_i1si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si5_i2si5_i3si5_i4si5 AudioClip {url "i1si5_i2si5_i3si5_i4si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si4_i2si4_i3si4_i4si5 AudioClip {url "i1si4_i2si4_i3si4_i4si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si2_i2si3_i2si4_i2si5 AudioClip {url "i1si2_i2si3_i2si4_i2si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si3_i2si3_i3si4_i3si5 AudioClip {url "i1si3_i2si3_i3si4_i3si5.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si2_i1si3_i1si4_i1si5_i1si6 AudioClip {url "i1si2_i1si3_i1si4_i1si5_i1si6.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si5_i2si5_i3si5_i4si5_i5si6 AudioClip {url "i1si5_i2si5_i3si5_i4si5_i5si6.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si4_i2si4_i3si4_i4si5_i4si6 AudioClip {url "i1si4_i2si4_i3si4_i4si5_i4si6.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si2_i2si3_i2si4_i2si5_i2si6 AudioClip {url "i1si2_i2si3_i2si4_i2si5_i2si6.mid" description "MIDI clip"} } Sound {maxBack 1000 maxFront 1000 source DEF Audio_i1si3_i2si3_i3si4_i3si5_i3si6 AudioClip {url "i1si3_i2si3_i3si4_i3si5_i3si6.mid" description "MIDI clip"} } ] ROUTE Touch_i1si6.touchTime TO Audio_i1si6.startTime ROUTE Touch_i2si6.touchTime TO Audio_i2si6.startTime ROUTE Touch_i3si6.touchTime TO Audio_i3si6.startTime ROUTE Touch_i4si6.touchTime TO Audio_i4si6.startTime ROUTE Touch_i5si6.touchTime TO Audio_i5si6.startTime ROUTE Touch_i1si5.touchTime TO Audio_i1si5.startTime ROUTE Touch_i1si4.touchTime TO Audio_i1si4.startTime ROUTE Touch_i1si2.touchTime TO Audio_i1si2.startTime ROUTE Touch_i2si4.touchTime TO Audio_i2si4.startTime ROUTE Touch_i2si5.touchTime TO Audio_i2si5.startTime ROUTE Touch_i4si5.touchTime TO Audio_i4si5.startTime ROUTE Touch_i1si3.touchTime TO Audio_i1si3.startTime ROUTE Touch_i3si5.touchTime TO Audio_i3si5.startTime ROUTE Touch_i3si4.touchTime TO Audio_i3si4.startTime ROUTE Touch_i2si3.touchTime TO Audio_i2si3.startTime ROUTE Touch_i3si5_i4si5.touchTime TO Audio_i3si5_i4si5.startTime ROUTE Touch_i2si5_i3si5.touchTime TO Audio_i2si5_i3si5.startTime ROUTE Touch_i1si5_i3si5.touchTime TO Audio_i1si5_i3si5.startTime ROUTE Touch_i1si4_i3si4.touchTime TO Audio_i1si4_i3si4.startTime ROUTE Touch_i2si4_i3si4.touchTime TO Audio_i2si4_i3si4.startTime ROUTE Touch_i3si4_i4si5.touchTime TO Audio_i3si4_i4si5.startTime ROUTE Touch_i1si3_i1si5.touchTime TO Audio_i1si3_i1si5.startTime ROUTE Touch_i1si3_i1si4.touchTime TO Audio_i1si3_i1si4.startTime ROUTE Touch_i1si2_i1si3.touchTime TO Audio_i1si2_i1si3.startTime ROUTE Touch_i2si3_i2si5.touchTime TO Audio_i2si3_i2si5.startTime ROUTE Touch_i2si3_i2si4.touchTime TO Audio_i2si3_i2si4.startTime ROUTE Touch_i1si2_i2si3.touchTime TO Audio_i1si2_i2si3.startTime ROUTE Touch_i2si3_i3si4.touchTime TO Audio_i2si3_i3si4.startTime ROUTE Touch_i2si3_i3si5.touchTime TO Audio_i2si3_i3si5.startTime ROUTE Touch_i3si4_i3si5.touchTime TO Audio_i3si4_i3si5.startTime ROUTE Touch_i1si3_i3si4.touchTime TO Audio_i1si3_i3si4.startTime ROUTE Touch_i1si3_i2si3.touchTime TO Audio_i1si3_i2si3.startTime ROUTE Touch_i1si3_i3si5.touchTime TO Audio_i1si3_i3si5.startTime ROUTE Touch_i1si4_i1si5.touchTime TO Audio_i1si4_i1si5.startTime ROUTE Touch_i2si4_i2si5.touchTime TO Audio_i2si4_i2si5.startTime ROUTE Touch_i1si2_i1si5.touchTime TO Audio_i1si2_i1si5.startTime ROUTE Touch_i2si4_i4si5.touchTime TO Audio_i2si4_i4si5.startTime ROUTE Touch_i1si2_i1si4.touchTime TO Audio_i1si2_i1si4.startTime ROUTE Touch_i2si5_i4si5.touchTime TO Audio_i2si5_i4si5.startTime ROUTE Touch_i1si5_i4si5.touchTime TO Audio_i1si5_i4si5.startTime ROUTE Touch_i1si2_i2si4.touchTime TO Audio_i1si2_i2si4.startTime ROUTE Touch_i1si4_i2si4.touchTime TO Audio_i1si4_i2si4.startTime ROUTE Touch_i1si5_i2si5.touchTime TO Audio_i1si5_i2si5.startTime ROUTE Touch_i1si4_i4si5.touchTime TO Audio_i1si4_i4si5.startTime ROUTE Touch_i1si2_i2si5.touchTime TO Audio_i1si2_i2si5.startTime ROUTE Touch_i1si3_i2si3_i3si5.touchTime TO Audio_i1si3_i2si3_i3si5.startTime ROUTE Touch_i2si3_i3si4_i3si5.touchTime TO Audio_i2si3_i3si4_i3si5.startTime ROUTE Touch_i1si3_i2si3_i3si4.touchTime TO Audio_i1si3_i2si3_i3si4.startTime ROUTE Touch_i1si3_i3si4_i3si5.touchTime TO Audio_i1si3_i3si4_i3si5.startTime ROUTE Touch_i1si2_i1si3_i1si5.touchTime TO Audio_i1si2_i1si3_i1si5.startTime ROUTE Touch_i1si2_i1si3_i1si4.touchTime TO Audio_i1si2_i1si3_i1si4.startTime ROUTE Touch_i1si3_i1si4_i1si5.touchTime TO Audio_i1si3_i1si4_i1si5.startTime ROUTE Touch_i1si5_i2si5_i3si5.touchTime TO Audio_i1si5_i2si5_i3si5.startTime ROUTE Touch_i2si5_i3si5_i4si5.touchTime TO Audio_i2si5_i3si5_i4si5.startTime ROUTE Touch_i1si5_i3si5_i4si5.touchTime TO Audio_i1si5_i3si5_i4si5.startTime ROUTE Touch_i1si4_i3si4_i4si5.touchTime TO Audio_i1si4_i3si4_i4si5.startTime ROUTE Touch_i1si4_i2si4_i3si4.touchTime TO Audio_i1si4_i2si4_i3si4.startTime ROUTE Touch_i2si4_i3si4_i4si5.touchTime TO Audio_i2si4_i3si4_i4si5.startTime ROUTE Touch_i1si2_i2si3_i2si5.touchTime TO Audio_i1si2_i2si3_i2si5.startTime ROUTE Touch_i2si3_i2si4_i2si5.touchTime TO Audio_i2si3_i2si4_i2si5.startTime ROUTE Touch_i1si2_i2si3_i2si4.touchTime TO Audio_i1si2_i2si3_i2si4.startTime ROUTE Touch_i2si3_i2si5_i3si5.touchTime TO Audio_i2si3_i2si5_i3si5.startTime ROUTE Touch_i1si3_i1si4_i3si4.touchTime TO Audio_i1si3_i1si4_i3si4.startTime ROUTE Touch_i1si2_i1si3_i2si3.touchTime TO Audio_i1si2_i1si3_i2si3.startTime ROUTE Touch_i2si3_i2si4_i3si4.touchTime TO Audio_i2si3_i2si4_i3si4.startTime ROUTE Touch_i3si4_i3si5_i4si5.touchTime TO Audio_i3si4_i3si5_i4si5.startTime ROUTE Touch_i1si3_i1si5_i3si5.touchTime TO Audio_i1si3_i1si5_i3si5.startTime ROUTE Touch_i1si2_i2si4_i2si5.touchTime TO Audio_i1si2_i2si4_i2si5.startTime ROUTE Touch_i1si2_i1si4_i1si5.touchTime TO Audio_i1si2_i1si4_i1si5.startTime ROUTE Touch_i2si4_i2si5_i4si5.touchTime TO Audio_i2si4_i2si5_i4si5.startTime ROUTE Touch_i1si5_i2si5_i4si5.touchTime TO Audio_i1si5_i2si5_i4si5.startTime ROUTE Touch_i1si2_i1si4_i2si4.touchTime TO Audio_i1si2_i1si4_i2si4.startTime ROUTE Touch_i1si4_i1si5_i4si5.touchTime TO Audio_i1si4_i1si5_i4si5.startTime ROUTE Touch_i1si4_i2si4_i4si5.touchTime TO Audio_i1si4_i2si4_i4si5.startTime ROUTE Touch_i1si2_i1si5_i2si5.touchTime TO Audio_i1si2_i1si5_i2si5.startTime ROUTE Touch_i1si2_i1si3_i1si4_i1si5.touchTime TO Audio_i1si2_i1si3_i1si4_i1si5.startTime ROUTE Touch_i1si5_i2si5_i3si5_i4si5.touchTime TO Audio_i1si5_i2si5_i3si5_i4si5.startTime ROUTE Touch_i1si4_i2si4_i3si4_i4si5.touchTime TO Audio_i1si4_i2si4_i3si4_i4si5.startTime ROUTE Touch_i1si2_i2si3_i2si4_i2si5.touchTime TO Audio_i1si2_i2si3_i2si4_i2si5.startTime ROUTE Touch_i1si3_i2si3_i3si4_i3si5.touchTime TO Audio_i1si3_i2si3_i3si4_i3si5.startTime ROUTE Touch_i1si2_i1si3_i1si4_i1si5_i1si6.touchTime TO Audio_i1si2_i1si3_i1si4_i1si5_i1si6.startTime ROUTE Touch_i1si5_i2si5_i3si5_i4si5_i5si6.touchTime TO Audio_i1si5_i2si5_i3si5_i4si5_i5si6.startTime ROUTE Touch_i1si4_i2si4_i3si4_i4si5_i4si6.touchTime TO Audio_i1si4_i2si4_i3si4_i4si5_i4si6.startTime ROUTE Touch_i1si2_i2si3_i2si4_i2si5_i2si6.touchTime TO Audio_i1si2_i2si3_i2si4_i2si5_i2si6.startTime ROUTE Touch_i1si3_i2si3_i3si4_i3si5_i3si6.touchTime TO Audio_i1si3_i2si3_i3si4_i3si5_i3si6.startTime }