The WWWAnchor and WWWInline Nodes

Here we have the addition of some nifty nodes! The first one, the WWWAnchor node, allows you to 'attach' a URL to one of your shapes. When the user clicks on the shape, he or she will be 'transported' to that world. You may specify non-.wrl URL's, but be aware that not every VRML browser will send a non-.wrl file to the HTML browser. For example, below you see that we've attached a URL to the wooden sphere in our world. Clicking on the sphere will send you to Planet 9's Virtual San Francisco (a .wrl file). However, if, say, an .html file is attached to the sphere, some VRML browsers will let the HTML browser handle the file. The syntax for the node is fairly straightforward. Below we see that the name field is where the URL goes, map can be either NONE or POINT. If POINT is used, coordinates of the point on the object the user clicks will be added to the URL in the name field. The syntax for the addition is ?X, Y, Z. The WWWInline node allows you to add other .wrl files into your world. Thus, if you see a model on the Internet that you'd like in your world, specify the URL for the file in the name field. Here we've added a LARGE model of the Enterprise (as seen in Star Trek: The Next Generation) behind our shapes.

#VRML V1.0 ascii

Separator {
        
        PerspectiveCamera {
                position        0 30 240
                orientation     0 0 -1 0
                focalDistance   5
                heightAngle     .785
        } #PerspectiveCamera    

        SpotLight {
                on              TRUE
                intensity       .5
                color           1 0 0
                location        0 0 120         
                direction       0 0 -1
        } #SpotLight    

        Info {
                string "This is a cool world!!"
        } #Info

        Material {
                diffuseColor 1 0 1
                shininess 0.2
                transparency 0
        } #Material
        
        MaterialBinding {
                value   DEFAULT 
        } #MaterialBinding

        FontStyle {
                size    15
                family  TYPEWRITER
                style   NONE
        } #FontStyle

        AsciiText {
                string  "This is a cool demo world!"
                spacing 1
                justification CENTER
                width 0
        } #AsciiText
        
        Separator {
                Translation {
                        translation 0 15 -500
                } #Translation
                WWWInline {
                        name "1701d.wrl"
                } #WWWInline
        } #Separator

        DEF Cone1 Separator {
                                
                Translation {
                        translation 0 30 0
                } #Translation

                Cone {
                        parts   ALL
                        bottomRadius    15
                        height          30
                } #Cone

        } #Cone1 Separator

        DEF Cube1 Separator {

                Transform {
                        rotation 0 1 0 .7                                       
                } #Transform
                
                Translation {
                        translation -45 30 0
                } #Translation
                
                Cube {
                        width   30
                        height  30
                        depth   30
                } #Cube
        
        } #Cube1 Separator

        DEF Cylinder1 Separator {

                Translation {
                        translation 45 30 0
                } #Translation

                Cylinder {
                        parts ALL
                        radius 15
                        height 30
                } #Cylinder
        
        } #Cylinder1 Separator

        DEF Sphere1 Separator {
                
                Texture2 {
                        filename "wood4.jpg"
                }

                Translation {
                        translation 0 75 0
                } #Translation

                WWWAnchor {
                        name "http://www.planet9.com/worlds/vrsf.wrl"
                        map NONE
                } #WWWAnchor
                
                Sphere {
                        radius 15
                }#Sphere

        } #Sphere1 Separator

        DEF FaceDiamond Separator {

                DEF DiamondCoords Coordinate3 {
                        point [
                        0 75 25,
                        12.5 62.5 12.5,
                        12.5 62.5 37.5,
                        -12.5 62.5 37.5,
                        -12.5 62.5 12.5,
                        0 50 25,
                        ]
                } #DiamondCoords Coordinate3
                                
                USE DiamondCoords

                IndexedFaceSet {
                        coordIndex [
                                0, 1, 2, -1,
                                0, 1, 4, -1,
                                0, 4, 3, -1,
                                0, 3, 2, -1,
                                5, 1, 2, -1,
                                5, 1, 4, -1,
                                5, 4, 3, -1,
                                5, 3, 2, -1,
                                ]
                        
                } #IndexedFaceSet

        } #FaceDiamond Separator
                
        DEF LineDiamond Separator {

                Translation {
                        translation 0 75 0
                } #Translation
                USE DiamondCoords       
                        
                IndexedLineSet {
                        coordIndex [
                                0, 1, 2, -1,
                                0, 1, 4, -1,
                                0, 4, 3, -1,
                                0, 3, 2, -1,
                                5, 1, 2, -1,
                                5, 1, 4, -1,
                                5, 4, 3, -1,
                                5, 3, 2, -1,
                                ]
                        
                } #IndexedLineSet
        } #DiamondLine Separator
} #Separator    
 

View the world.


Move on.
Move back.
Move back to the beginning
Page designed by Pete Clark
Last updated on Feb. 11, 1996.
E-mail me with any comments or suggestions Come again!