#VRML V2.0 utf8 DEF Transform1 Transform { children [ DEF ProximitySensor_plus_z ProximitySensor { center 0 0 5.500000 size 20 20 0.899999 } DEF ProximitySensor_minus_z ProximitySensor { center 0 0 -5.500000 size 20 20 0.899999 } DEF ProximitySensor_plus_y ProximitySensor { center 0 5.500000 0 size 20 0.899999 20 } DEF ProximitySensor_minus_y ProximitySensor { center 0 -5.500000 0 size 20 0.899999 20 } DEF ProximitySensor_plus_x ProximitySensor { center 5.500000 0 0 size 0.899999 20 20 } DEF ProximitySensor_minus_x ProximitySensor { center -5.500000 0 0 size 0.899999 20 20 } Transform { children [ Shape { appearance Appearance { material Material { } } geometry Box { } } ] } ] translation 6.103701e-2 -6.103701e-2 0 } DEF t_yz Transform { children [ Shape { appearance Appearance { material Material { diffuseColor 0.800000 0.800000 1 } } geometry Sphere { } } Transform { children [ Shape { appearance Appearance { material Material { diffuseColor 0 0.629998 0 } } geometry Sphere { radius 0.418927 } } ] translation 5.601037 -5.459822 0 } ] translation -5 5 5 } DEF tx_z Transform { children [ Shape { appearance Appearance { material Material { diffuseColor 0.800000 1 0.800000 } } geometry Box { } } Transform { children [ Shape { appearance Appearance { material Material { diffuseColor 1 0.629998 0 } } geometry Sphere { radius 0.418927 } } ] translation -2.814757 5.617421 0 } ] translation 5 -5 5 } DEF txyz Transform { children [ Shape { appearance Appearance { material Material { diffuseColor 0.469998 0.800000 0.800000 } } geometry Cone { } } Transform { children [ Shape { appearance Appearance { material Material { diffuseColor 1 1 0 } } geometry Sphere { radius 0.418927 } } ] translation -6.741827 -2.392661 0 } ] translation 5 5 5 } DEF t__z Transform { children [ Shape { appearance Appearance { material Material { diffuseColor 1 1 0.800000 } } geometry Cylinder { } } Transform { children [ Shape { appearance Appearance { material Material { diffuseColor 0 0.294999 1 } } geometry Sphere { radius 0.418927 } } ] translation 6.894700 3.924843 0 } ] translation -5 -5 5 } DEF t_y_ Transform { children [ Shape { appearance Appearance { material Material { } } geometry Box { } } Transform { children [ Shape { appearance Appearance { material Material { diffuseColor 0 0.294999 1 } } geometry Sphere { radius 0.418927 } } ] translation 6.894700 -4.076475 0 } ] translation -5 5 -5 } DEF tx__ Transform { children [ Shape { appearance Appearance { material Material { } } geometry Cone { } } ] translation 5 -5 -5 } DEF txy_ Transform { children [ Shape { appearance Appearance { material Material { } } geometry Cylinder { } } ] translation 5 5 -5 } DEF t___ Transform { children [ Shape { appearance Appearance { material Material { } } geometry Sphere { } } Transform { children [ Shape { appearance Appearance { material Material { diffuseColor 0.800000 0.264999 0.800000 } } geometry Sphere { radius 0.418927 } } ] translation 5.497345 3.721575 0 } ] translation -5 -5 -5 } DEF Script1 Script { eventIn SFTime plus_x eventIn SFTime minus_x eventIn SFTime plus_y eventIn SFTime minus_y eventIn SFTime plus_z eventIn SFTime minus_z eventOut SFVec3f v_yz eventOut SFVec3f vx_z eventOut SFVec3f vxyz eventOut SFVec3f v__z eventOut SFVec3f v_y_ eventOut SFVec3f vx__ eventOut SFVec3f vxy_ eventOut SFVec3f v___ eventOut SFVec3f move_proximities eventOut SFVec3f initSizeX eventOut SFVec3f initSizeY eventOut SFVec3f initSizeZ eventOut SFVec3f initCenterx eventOut SFVec3f initCenter_x eventOut SFVec3f initCentery eventOut SFVec3f initCenter_y eventOut SFVec3f initCenterz eventOut SFVec3f initCenter_z field SFFloat halfCubeSize 5 field SFFloat barrierSize 1 field SFInt32 statusx 0 field SFInt32 statusy 0 field SFInt32 statusz 0 field SFVec3f move_proximities_intern 0 0 0 field SFVec3f intern_yz 0 0 0 field SFVec3f internx_z 0 0 0 field SFVec3f internxyz 0 0 0 field SFVec3f intern__z 0 0 0 field SFVec3f intern_y_ 0 0 0 field SFVec3f internx__ 0 0 0 field SFVec3f internxy_ 0 0 0 field SFVec3f intern___ 0 0 0 url [ "javascript: // field SFFloat barrierSize // // eventOut SFVec3f initCenterx // // eventOut SFVec3f initCenter_x // // eventOut SFVec3f initCentery // // eventOut SFVec3f initCenter_y // // eventOut SFVec3f initCenterz // // eventOut SFVec3f initCenter_z // // eventOut SFVec3f initSizeX // // eventOut SFVec3f initSizeY // // eventOut SFVec3f initSizeZ // // field SFVec3f intern_yz // // field SFVec3f internx_z // // field SFVec3f internxyz // // field SFVec3f intern__z // // field SFVec3f intern_y_ // // field SFVec3f internx__ // // field SFVec3f internxy_ // // field SFVec3f intern___ // // field SFVec3f move_proximities_intern // // eventOut SFVec3f move_proximities // // field SFInt32 statusx // // field SFInt32 statusy // // field SFInt32 statusz // // field SFFloat halfCubeSize // // eventOut SFVec3f v_yz // // eventOut SFVec3f vx_z // // eventOut SFVec3f vxyz // // eventOut SFVec3f v__z // // eventOut SFVec3f v_y_ // // eventOut SFVec3f vx__ // // eventOut SFVec3f vxy_ // // eventOut SFVec3f v___ // function initialize() { intern_yz = new SFVec3f(- halfCubeSize, halfCubeSize, halfCubeSize); internx_z = new SFVec3f( halfCubeSize, - halfCubeSize, halfCubeSize); internxyz = new SFVec3f( halfCubeSize, halfCubeSize, halfCubeSize); intern__z = new SFVec3f(- halfCubeSize, - halfCubeSize, halfCubeSize); intern_y_ = new SFVec3f(- halfCubeSize, halfCubeSize, - halfCubeSize); internx__ = new SFVec3f( halfCubeSize, - halfCubeSize, - halfCubeSize); internxy_ = new SFVec3f( halfCubeSize, halfCubeSize, - halfCubeSize); intern___ = new SFVec3f(- halfCubeSize, - halfCubeSize, - halfCubeSize); v_yz = intern_yz vx_z = internx_z; vxyz = internxyz; v__z = intern__z; v_y_ = intern_y_; vx__ = internx__; vxy_ = internxy_; v___ = intern___; initSizeX = new SFVec3f(barrierSize, 4 * halfCubeSize, 4 * halfCubeSize); initSizeY = new SFVec3f(4 * halfCubeSize, barrierSize, 4 * halfCubeSize); initSizeZ = new SFVec3f(4 * halfCubeSize, 4 * halfCubeSize, barrierSize); initCenterx = new SFVec3f( barrierSize / 2.0 + halfCubeSize, 0, 0); initCenter_x = new SFVec3f(- barrierSize / 2.0 - halfCubeSize, 0, 0); initCentery = new SFVec3f(0, barrierSize / 2.0 + halfCubeSize, 0); initCenter_y = new SFVec3f(0, - barrierSize / 2.0 - halfCubeSize, 0); initCenterz = new SFVec3f(0, 0, barrierSize / 2.0 + halfCubeSize); initCenter_z = new SFVec3f(0, 0, - barrierSize / 2.0 - halfCubeSize); } function move(x, y, z) { move_proximities_intern.x += x; move_proximities_intern.y += y; move_proximities_intern.z += z; move_proximities = move_proximities_intern; v_yz = intern_yz vx_z = internx_z; vxyz = internxyz; v__z = intern__z; v_y_ = intern_y_; vx__ = internx__; vxy_ = internxy_; v___ = intern___; } function plus_x(value) { // value SFTime if (statusx == 0) { statusx = 1; intern___.x += 4.0*halfCubeSize; intern_y_.x += 4.0*halfCubeSize; intern_yz.x += 4.0*halfCubeSize; intern__z.x += 4.0*halfCubeSize; } else { statusx = 0; internx__.x += 4.0*halfCubeSize; internxy_.x += 4.0*halfCubeSize; internxyz.x += 4.0*halfCubeSize; internx_z.x += 4.0*halfCubeSize; } move(2 * halfCubeSize, 0, 0); } function minus_x(value) { // value SFTime if (statusx == 0) { statusx = 1; internx__.x -= 4.0*halfCubeSize; internxy_.x -= 4.0*halfCubeSize; internxyz.x -= 4.0*halfCubeSize; internx_z.x -= 4.0*halfCubeSize; } else { statusx = 0; intern___.x -= 4.0*halfCubeSize; intern_y_.x -= 4.0*halfCubeSize; intern_yz.x -= 4.0*halfCubeSize; intern__z.x -= 4.0*halfCubeSize; } move(- 2 * halfCubeSize, 0, 0); } function plus_y(value) { // value SFTime if (statusy == 0) { statusy = 1; intern___.y += 4.0*halfCubeSize; intern__z.y += 4.0*halfCubeSize; internx_z.y += 4.0*halfCubeSize; internx__.y += 4.0*halfCubeSize; } else { statusy = 0; intern_y_.y += 4.0*halfCubeSize; intern_yz.y += 4.0*halfCubeSize; internxyz.y += 4.0*halfCubeSize; internxy_.y += 4.0*halfCubeSize; } move(0, 2 * halfCubeSize, 0); } function minus_y(value) { // value SFTime if (statusy == 0) { intern_y_.y -= 4.0*halfCubeSize; intern_yz.y -= 4.0*halfCubeSize; internxyz.y -= 4.0*halfCubeSize; internxy_.y -= 4.0*halfCubeSize; statusy = 1; } else { statusy = 0; intern___.y -= 4.0*halfCubeSize; intern__z.y -= 4.0*halfCubeSize; internx_z.y -= 4.0*halfCubeSize; internx__.y -= 4.0*halfCubeSize; } move(0, - 2 * halfCubeSize, 0); } function minus_z(value) { // value SFTime if (statusz == 0) { statusz = 1; intern___.z += 4.0*halfCubeSize; internx__.z += 4.0*halfCubeSize; internxy_.z += 4.0*halfCubeSize; intern_y_.z += 4.0*halfCubeSize; } else { statusz = 0; intern__z.z += 4.0*halfCubeSize; internx_z.z += 4.0*halfCubeSize; internxyz.z += 4.0*halfCubeSize; intern__z.z += 4.0*halfCubeSize; } move(0, 0, 2 * halfCubeSize); } function plus_z(value) { // value SFTime if (statusz == 0) { intern__z.z -= 4.0*halfCubeSize; internx_z.z -= 4.0*halfCubeSize; internxyz.z -= 4.0*halfCubeSize; intern_yz.z -= 4.0*halfCubeSize; statusz = 1; } else { statusz = 0; intern___.z -= 4.0*halfCubeSize; internx__.z -= 4.0*halfCubeSize; internxy_.z -= 4.0*halfCubeSize; intern_y_.z -= 4.0*halfCubeSize; } move(0, 0, - 2 * halfCubeSize); } " ] } ROUTE ProximitySensor_plus_x.enterTime TO Script1.plus_x ROUTE ProximitySensor_minus_x.enterTime TO Script1.minus_x ROUTE ProximitySensor_plus_y.enterTime TO Script1.plus_y ROUTE ProximitySensor_minus_y.enterTime TO Script1.minus_y ROUTE ProximitySensor_minus_z.enterTime TO Script1.plus_z ROUTE ProximitySensor_plus_z.enterTime TO Script1.minus_z ROUTE Script1.v_yz TO t_yz.set_translation ROUTE Script1.vx_z TO tx_z.set_translation ROUTE Script1.vxyz TO txyz.set_translation ROUTE Script1.v__z TO t__z.set_translation ROUTE Script1.v_y_ TO t_y_.set_translation ROUTE Script1.vx__ TO tx__.set_translation ROUTE Script1.vxy_ TO txy_.set_translation ROUTE Script1.v___ TO t___.set_translation ROUTE Script1.move_proximities TO Transform1.set_translation ROUTE Script1.initSizeX TO ProximitySensor_plus_x.set_size ROUTE Script1.initSizeX TO ProximitySensor_minus_x.set_size ROUTE Script1.initSizeY TO ProximitySensor_minus_y.set_size ROUTE Script1.initSizeY TO ProximitySensor_plus_y.set_size ROUTE Script1.initSizeZ TO ProximitySensor_plus_z.set_size ROUTE Script1.initSizeZ TO ProximitySensor_minus_z.set_size ROUTE Script1.initCenterx TO ProximitySensor_plus_x.set_center ROUTE Script1.initCenter_x TO ProximitySensor_minus_x.set_center ROUTE Script1.initCentery TO ProximitySensor_plus_y.set_center ROUTE Script1.initCenter_y TO ProximitySensor_minus_y.set_center ROUTE Script1.initCenterz TO ProximitySensor_plus_z.set_center ROUTE Script1.initCenter_z TO ProximitySensor_minus_z.set_center Viewpoint { orientation -0.172455 -0.969610 -0.173536 0 position 0.100000 -3.649996 2.039999 } NavigationInfo { type [ "WALK" ] visibilityLimit 1000 } Fog { visibilityRange 10.820000 } Transform { children [ Shape { appearance Appearance { material Material { } } geometry IndexedFaceSet { coord Coordinate { point [ 0 -999.999938 0 0 -999.999938 0 0 -999.999938 0 0 -999.999938 0 0 -999.999938 0 0 -999.999938 0 0 -999.999938 0 0 -872.260375 -489.041717 -426.571777 -872.260437 -239.161758 -426.571716 -872.260498 239.161834 4.410426e-5 -872.260375 489.041717 426.571746 -872.260314 239.161712 426.571685 -872.260498 -239.161941 -7.718245e-5 -872.260375 -489.041717 0 -489.041564 -872.260375 -760.838317 -489.041625 -426.571655 -760.838256 -489.041625 426.571777 7.718245e-5 -489.041564 872.260375 760.838317 -489.041625 426.571624 760.838134 -489.041625 -426.571929 -1.433388e-4 -489.041564 -872.260375 0 4.371138e-5 -999.999938 -872.260437 4.371138e-5 -489.041564 -872.260375 4.371138e-5 489.041748 8.631674e-5 4.371138e-5 999.999938 872.260437 4.371138e-5 489.041534 872.260253 4.371138e-5 -489.041900 -1.726334e-4 4.371138e-5 -999.999938 0 489.041717 -872.260314 -760.838256 489.041717 -426.571624 -760.838195 489.041748 426.571777 6.615638e-5 489.041717 872.260314 760.838256 489.041748 426.571563 760.838195 489.041778 -426.571929 -1.543648e-4 489.041717 -872.260314 0 872.260375 -489.041503 -426.571563 872.260437 -239.161621 -426.571533 872.260498 239.161743 3.307818e-5 872.260375 489.041503 426.571624 872.260437 239.161636 426.571502 872.260314 -239.161819 -8.820848e-5 872.260375 -489.041503 0 999.999938 8.742276e-5 7.625543e-5 999.999938 4.275337e-5 7.625541e-5 999.999938 -4.275339e-5 -5.144878e-12 999.999938 -8.742277e-5 -7.625542e-5 999.999938 -4.275336e-5 -7.625541e-5 999.999938 4.275340e-5 1.543463e-11 999.999938 8.742277e-5 ] } normal Normal { vector [ 0.146446 0.957106 0.249999 0.286869 0.957969 8.563384e-8 0.146446 0.957106 -0.249999 -0.146446 0.957106 -0.249999 -0.286869 0.957969 -3.301118e-7 -0.146446 0.957106 0.249999 -0.146446 0.957106 0.249999 -1.588155e-7 0.872260 0.489041 0.426571 0.872260 0.239161 0.426571 0.872260 -0.239161 1.091983e-7 0.872260 -0.489041 -0.426571 0.872260 -0.239161 -0.426571 0.872260 0.239161 1.163886e-7 0.872260 0.489041 -1.062327e-7 0.489041 0.872260 0.760838 0.489041 0.426571 0.760838 0.489041 -0.426571 6.998124e-9 0.489041 -0.872260 -0.760838 0.489041 -0.426571 -0.760838 0.489041 0.426571 6.853639e-8 0.489041 0.872260 -3.473552e-8 3.473552e-8 1 0.872260 -8.266701e-8 0.489041 0.872260 -1.333899e-7 -0.489041 3.473552e-8 3.473552e-8 -1 -0.872260 -1.147726e-7 -0.489041 -0.872260 -4.012107e-8 0.489041 1.210522e-7 3.473552e-8 1 -8.209628e-9 -0.489041 0.872260 0.760838 -0.489041 0.426571 0.760838 -0.489041 -0.426571 8.209629e-9 -0.489041 -0.872260 -0.760838 -0.489041 -0.426571 -0.760838 -0.489041 0.426571 1.113890e-7 -0.489041 0.872260 1.030218e-7 -0.872260 0.489041 0.426571 -0.872260 0.239161 0.426571 -0.872260 -0.239161 -1.030219e-7 -0.872260 -0.489041 -0.426571 -0.872260 -0.239161 -0.426571 -0.872260 0.239161 8.288867e-8 -0.872260 0.489041 -0.369249 0.929330 3.228078e-8 0.186566 0.924371 -0.332761 0.191008 0.920570 0.340684 0.369249 0.929330 -5.481795e-8 0.201139 0.911503 -0.358754 -0.204001 0.908839 -0.363860 0.369249 0.929330 -3.533074e-8 ] } texCoord TextureCoordinate { point [ 0 0 0.166666 0 0.333333 0 0.500000 0 0.666666 0 0.833333 0 1 0 0 0.166666 0.166666 0.166666 0.333333 0.166666 0.500000 0.166666 0.666666 0.166666 0.833333 0.166666 1 0.166666 0 0.333333 0.166666 0.333333 0.333333 0.333333 0.500000 0.333333 0.666666 0.333333 0.833333 0.333333 1 0.333333 0 0.500000 0.166666 0.500000 0.333333 0.500000 0.500000 0.500000 0.666666 0.500000 0.833333 0.500000 1 0.500000 0 0.666666 0.166666 0.666666 0.333333 0.666666 0.500000 0.666666 0.666666 0.666666 0.833333 0.666666 1 0.666666 0 0.833333 0.166666 0.833333 0.333333 0.833333 0.500000 0.833333 0.666666 0.833333 0.833333 0.833333 1 0.833333 0 1 0.166666 1 0.333333 1 0.500000 1 0.666666 1 0.833333 1 1 1 ] } ccw FALSE convex FALSE coordIndex [ 0 8 7 -1 1 9 8 -1 2 10 9 -1 3 11 10 -1 4 12 11 -1 5 13 12 -1 7 8 15 14 -1 8 9 16 15 -1 9 10 17 16 -1 10 11 18 17 -1 11 12 19 18 -1 12 13 20 19 -1 14 15 22 21 -1 15 16 23 22 -1 16 17 24 23 -1 17 18 25 24 -1 18 19 26 25 -1 19 20 27 26 -1 21 22 29 28 -1 22 23 30 29 -1 23 24 31 30 -1 24 25 32 31 -1 25 26 33 32 -1 26 27 34 33 -1 28 29 36 35 -1 29 30 37 36 -1 30 31 38 37 -1 31 32 39 38 -1 32 33 40 39 -1 33 34 41 40 -1 35 36 43 42 -1 36 37 44 43 -1 37 38 45 44 -1 38 39 46 45 -1 39 40 47 46 -1 40 41 48 47 -1 ] creaseAngle 1.570000 normalIndex [ 0 8 7 -1 1 9 8 -1 2 10 9 -1 3 11 10 -1 4 12 11 -1 5 13 12 -1 7 8 15 14 -1 8 9 16 15 -1 9 10 17 16 -1 10 11 18 17 -1 11 12 19 18 -1 12 13 20 19 -1 14 15 22 21 -1 15 16 23 22 -1 16 17 24 23 -1 17 18 25 24 -1 18 19 26 25 -1 19 20 27 26 -1 21 22 29 28 -1 22 23 30 29 -1 23 24 31 30 -1 24 25 32 31 -1 25 26 33 32 -1 26 27 34 33 -1 28 29 36 35 -1 29 30 37 36 -1 30 31 38 37 -1 31 32 39 38 -1 32 33 40 39 -1 33 34 41 40 -1 35 36 43 42 -1 36 37 44 43 -1 37 38 45 44 -1 38 39 46 45 -1 39 40 47 46 -1 40 41 48 47 -1 ] solid FALSE texCoordIndex [ 0 8 7 -1 1 9 8 -1 2 10 9 -1 3 11 10 -1 4 12 11 -1 5 13 12 -1 7 8 15 14 -1 8 9 16 15 -1 9 10 17 16 -1 10 11 18 17 -1 11 12 19 18 -1 12 13 20 19 -1 14 15 22 21 -1 15 16 23 22 -1 16 17 24 23 -1 17 18 25 24 -1 18 19 26 25 -1 19 20 27 26 -1 21 22 29 28 -1 22 23 30 29 -1 23 24 31 30 -1 24 25 32 31 -1 25 26 33 32 -1 26 27 34 33 -1 28 29 36 35 -1 29 30 37 36 -1 30 31 38 37 -1 31 32 39 38 -1 32 33 40 39 -1 33 34 41 40 -1 35 36 43 42 -1 36 37 44 43 -1 37 38 45 44 -1 38 39 46 45 -1 39 40 47 46 -1 40 41 48 47 -1 ] } } ] }