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