Code for using a Vista in a VRML scene #VRML V2.0 utf8 DEF VistaSwitch Switch { whichChoice 0 choice [ DEF Node0 Vista { type "SPHERE" filename "node0.jpg" position 0 0 0 eventOut SFVec2f clickPt eventOut SFVec2f overPt }, DEF Node1 Vista { type "CYLINDER" filename "node1.jpg" position 0 0 -30 vFov -0.7418 0.7418 pitchRange -0.7418 0.7418 eventOut SFVec2f clickPt eventOut SFVec2f overPt } ] } DEF Link12 Script { url "rst:link" eventIn SFVec2f clickPt eventIn SFVec2f overPt eventOut SFInt32 value_changed field SFInt32 outValue 1 field SFVec2f xBounds 0.429 0.573 #limits of mouse sensitive area field SFVec2f yBounds 0.434 0.653#limits of mouse sensitive area field SFString transition "ZOOM" field SFVec3f viewDir 0 3.1416 0 field SFFloat zoomAngle 0.2 } DEF Link21 Script { url "rst:link" eventIn SFVec2f clickPt eventIn SFVec2f overPt eventOut SFInt32 value_changed field SFInt32 outValue 0 field SFVec2f xBounds 0.2 0.1#limits of mouse sensitive area field SFVec2f yBounds 0.434 0.653#limits of mouse sensitive area field SFString transition "ZOOM" field SFVec3f viewDir 0 0 0 field SFFloat zoomAngle 0.2 } ROUTE Node0.clickPt TO Link12.clickPt ROUTE Node0.overPt TO Link12.overPt ROUTE Link12.value_changed TO VistaSwitch.set_whichChoice ROUTE Node1.clickPt TO Link21.clickPt ROUTE Node1.overPt TO Link21.overPt ROUTE Link21.value_changed TO VistaSwitch.set_whichChoice Code for using an Image Based Object in a VRML scene: (Reproduced with permission from RealSpace this code is used to generate the store image with a World IMob. The shelf area where the bottle is located is sensitive and when clicked on the image of the bottle appears enlarged on the screen, when clicked again the bottle returns to the shelf.) #VRML V2.0 utf8 DEF node1 Vista { type "CYLINDER" filename "node1.jpg" vFov -0.7418 0.7418 pitchRange -0.7418 0.7418 children DEF Children_of_node1 Switch { choice [ DEF Object1_255 ScreenIMob { filename "bot.mov" type "SPHERE" quantization [1, 8, 1] range [0.0000, 0.0000, 0.0000, 360.0000, 0.0000, 0.0000] defaultView [0.0000, 180.0000, 0.0000] animRate [0.000000, 0.000000, 0.000000] blueScreen 0.00 0.00 0.00 }, ] } } #//object links DEF ObjectLink1_255_1 Script { url "rst:link" field SFInt32 outValue 0 field SFVec2f xBounds 0.4696 0.4940 field SFVec2f yBounds 0.4844 0.5794 field SFString cursor "ARROW" eventIn SFVec2f overPt eventIn SFVec2f clickPt eventIn SFVec2f overPt eventOut SFInt32 value_changed } DEF IMOBs_Disappear_Node_1 Script { url "rst:link" field SFInt32 outValue -1 eventIn SFVec2f clickPt eventOut SFInt32 value_changed } ROUTE node1.clickPt TO IMOBs_Disappear_Node_1.clickPt ROUTE IMOBs_Disappear_Node_1.value_changed TO Children_of_node1.set_whichChoice #//object movie ROUTE node1.clickPt TO ObjectLink1_255_1.clickPt ROUTE node1.overPt TO ObjectLink1_255_1.overPt ROUTE ObjectLink1_255_1.value_changed TO Children_of_node1.set_whichChoice #//object movie