#VRML V2.0 utf8 # CAP5805 Computer Simulation # Final Project # Laurentiu Iancu # liancu@cise.ufl.edu # Final Project Main File Background { skyColor 0.5 0.4 0.25 groundColor 0.5 0.4 0.25 skyAngle 1.0 } Group { children [ DEF Transform_Itanium Transform { translation 0.0 0.0 0.0 scale 1.0 1.0 1.0 children [ Inline { url "itanium.wrl" }, DEF ItaniumTouchSensor TouchSensor { enabled TRUE # triggers enlargement of Petri net and metaphor } ] }, DEF Transform_PetriNet Transform { translation 345.0 0.0 240.0 scale 1.0 1.0 1.0 children [ Inline { url "petrinet.wrl" }, DEF PetriNetTouchSensor TouchSensor { enabled TRUE # triggers shrinking of Petri net and metaphor } ] }, DEF Transform_Metaphor Transform { translation 345.0 0.0 255.0 scale 1.0 1.0 1.0 children [ Inline { url "metaphor.wrl" } ] }, Sound { # sound emitted by Petri net and metaphor when enlarged source DEF SoundUp AudioClip { url "enlarge.wav" loop TRUE # start and stop times controlled by script startTime 0.0 stopTime 1.0 } minFront 1000.0 minBack 1000.0 maxFront 10000.0 maxBack 10000.0 }, Sound { # sound emitted by Petri net and metaphor when shrunk source DEF SoundDown AudioClip { url "shrink.wav" loop TRUE # start and stop times controlled by script startTime 0.0 stopTime 1.0 } minFront 1000.0 minBack 1000.0 maxFront 10000.0 maxBack 10000.0 }, DEF WorldView Viewpoint { description "Itanium" position 365.0 600.0 700.0 orientation 1 0 0 -1.0 }, NavigationInfo { type ["EXAMINE", "WALK", "ANY"] } ] } DEF EnlargeScript Script { # triggers enlargement of Petri net and metaphor eventIn SFTime set_time eventOut SFTime beginTime_changed eventOut SFTime endTime_changed url "javascript: function set_time (something, timestamp) { beginTime_changed = timestamp; endTime_changed = timestamp + 5.0; }" } DEF EnlargeClock TimeSensor { # sets time for enlargement of Petri net and metaphor enabled TRUE loop FALSE cycleInterval 5.0 } DEF EnlargeSize PositionInterpolator { # interpolates size of Petri net and metaphor up key [ 0.0, 1.0 ] keyValue [ 1.0 1.0 1.0, 10.0 10.0 10.0 ] } DEF ViewpointPositionUp PositionInterpolator { # interpolates viewpoint during enlargment key [ 0.0, 1.0 ] keyValue [ 365.0 600.0 700.0, 365.0 325.0 900.0 ] } DEF ViewpointOrientationUp OrientationInterpolator { key [ 0.0, 1.0 ] keyValue [ 1 0 0 -1.0, 1 0 0 -0.5 ] } DEF ShrinkScript Script { # triggers shrinking of Petri net and metaphor eventIn SFTime set_time eventOut SFTime beginTime_changed eventOut SFTime endTime_changed url "javascript: function set_time (something, timestamp) { beginTime_changed = timestamp; endTime_changed = timestamp + 5.0; }" } DEF ShrinkClock TimeSensor { # sets time for shrinking of Petri net and metaphor enabled TRUE loop FALSE cycleInterval 5.0 } DEF ShrinkSize PositionInterpolator { # interpolates size of Petri net and metaphor down key [ 0.0, 1.0 ] keyValue [ 10.0 10.0 10.0, 1.0 1.0 1.0 ] } DEF ViewpointPositionDown PositionInterpolator { # interpolates viewpoint when shrinking key [ 0.0, 1.0 ] keyValue [ 365.0 325.0 900.0, 365.0 600.0 700.0 ] } DEF ViewpointOrientationDown OrientationInterpolator { key [ 0.0, 1.0 ] keyValue [ 1 0 0 -0.5, 1 0 0 -1.0 ] } DEF PetriNetPositionUp PositionInterpolator { # interpolates position of Petri net up key [ 0.0, 1.0 ] keyValue [ 345.0 0.0 240.0, 345.0 200.0 240.0 ] } DEF PetriNetPositionDown PositionInterpolator { # interpolates position of Petri net down key [ 0.0, 1.0 ] keyValue [ 345.0 200.0 240.0, 345.0 0.0 240.0 ] } DEF MetaphorPositionUp PositionInterpolator { # interpolates position of metaphor up key [ 0.0, 1.0 ] keyValue [ 345.0 0.0 255.0, 345.0 180.0 455.0 ] } DEF MetaphorPositionDown PositionInterpolator { # interpolates position of metaphor down key [ 0.0, 1.0 ] keyValue [ 345.0 180.0 455.0, 345.0 0.0 255.0 ] } ROUTE ItaniumTouchSensor.touchTime TO EnlargeScript.set_time ROUTE EnlargeScript.beginTime_changed TO SoundUp.set_startTime ROUTE EnlargeScript.endTime_changed TO SoundUp.set_stopTime ROUTE EnlargeScript.beginTime_changed TO EnlargeClock.set_startTime ROUTE EnlargeClock.fraction_changed TO EnlargeSize.set_fraction ROUTE EnlargeSize.value_changed TO Transform_PetriNet.set_scale ROUTE EnlargeSize.value_changed TO Transform_Metaphor.set_scale ROUTE EnlargeClock.fraction_changed TO PetriNetPositionUp.set_fraction ROUTE PetriNetPositionUp.value_changed TO Transform_PetriNet.set_translation ROUTE EnlargeClock.fraction_changed TO MetaphorPositionUp.set_fraction ROUTE MetaphorPositionUp.value_changed TO Transform_Metaphor.set_translation ROUTE EnlargeClock.fraction_changed TO ViewpointPositionUp.set_fraction ROUTE ViewpointPositionUp.value_changed TO WorldView.set_position ROUTE EnlargeClock.fraction_changed TO ViewpointOrientationUp.set_fraction ROUTE ViewpointOrientationUp.value_changed TO WorldView.set_orientation ROUTE PetriNetTouchSensor.touchTime TO ShrinkScript.set_time ROUTE ShrinkScript.beginTime_changed TO SoundDown.set_startTime ROUTE ShrinkScript.endTime_changed TO SoundDown.set_stopTime ROUTE ShrinkScript.beginTime_changed TO ShrinkClock.set_startTime ROUTE ShrinkClock.fraction_changed TO ShrinkSize.set_fraction ROUTE ShrinkSize.value_changed TO Transform_PetriNet.set_scale ROUTE ShrinkSize.value_changed TO Transform_Metaphor.set_scale ROUTE ShrinkClock.fraction_changed TO PetriNetPositionDown.set_fraction ROUTE PetriNetPositionDown.value_changed TO Transform_PetriNet.set_translation ROUTE ShrinkClock.fraction_changed TO MetaphorPositionDown.set_fraction ROUTE MetaphorPositionDown.value_changed TO Transform_Metaphor.set_translation ROUTE ShrinkClock.fraction_changed TO ViewpointPositionDown.set_fraction ROUTE ViewpointPositionDown.value_changed TO WorldView.set_position ROUTE ShrinkClock.fraction_changed TO ViewpointOrientationDown.set_fraction ROUTE ViewpointOrientationDown.value_changed TO WorldView.set_orientation