#VRML V2.0 utf8 Tree, Evgeny Demidov, 14 August 2000 NavigationInfo{ type "EXAMINE" } Viewpoint{ description "start" position 0 0 10} Background{ skyColor .5 .5 1} DEF ROOT Transform{ scale 2 2 2 translation 0 -2 0 children[]} DEF Polyhedron Script { eventIn SFBool Plus eventIn SFBool Minus eventOut MFNode new_f field SFNode ROOT USE ROOT directOutput TRUE url ["javascript: function initialize(){ MaxIt = 10; strArr = new MFString(); strArr.length = MaxIt; strArr[0] = 'DEF L0 Shape{ appearance Appearance{ material Material{ diffuseColor 0 1 0}} '+ 'geometry IndexedFaceSet{ solid FALSE '+ 'coord Coordinate{ point[0 1 0,.4 1.6 .2,.8 2.2 0,.2 1.6 -.2]} '+ 'coordIndex[0 1 2 3]}} '+ 'Transform{ rotation 0 1 0 3.14 translation 0 1 0 children USE L0} '+ 'Shape{ appearance Appearance{ material Material{ emissiveColor .5 .5 0}} '+ 'geometry IndexedLineSet{ coord Coordinate{ point[0 0 0,0 2 0]} '+ 'coordIndex[0 1]}}'; for ( i= 1; i0)){ ROOT.removeChildren = new_f; iter--; new_f = Browser.createVrmlFromString( strArr[iter] ); ROOT.addChildren = new_f; } } "]} # Controls DEF Clock TimeSensor{ cycleInterval 15} DEF Animation OrientationInterpolator{ key [ 0, .5, 1 ] keyValue [ 0 1 0 0, 0 1 0 1.57, 0 1 0 3.14 ]} Transform{ translation -4 -1 0 rotation 1 0 0 1.57 children[ Shape{ appearance Appearance{ material Material{ diffuseColor 1 0 0}} geometry Cylinder{ height .2 radius .25}} DEF tsRot TouchSensor{} ]} Transform{ translation -4 1 0 children[ Shape{ appearance Appearance{ material Material{ diffuseColor 1 0 0}} geometry Box{ size .4 .4 .2 }} DEF tsPlus TouchSensor{} ]} Transform{ translation -4 0 0 children[ Shape{ appearance Appearance{ material Material{ diffuseColor 0 1 0}} geometry Box{ size .4 .4 .2 }} DEF tsMinus TouchSensor{} ]} ROUTE tsPlus.isActive TO Polyhedron.Plus ROUTE tsMinus.isActive TO Polyhedron.Minus ROUTE tsRot.touchTime TO Clock.startTime ROUTE Clock.fraction_changed TO Animation.set_fraction ROUTE Animation.value_changed TO ROOT.rotation