teleporter.wrl

#VRML V2.0 utf8

PROTO ProximityAnchor [
  eventIn      MFString set_parameter
  eventIn      MFString set_url
  exposedField SFVec3f  center     0 0 0
  exposedField SFVec3f  size       0 0 0
  exposedField SFBool   enabled    TRUE
  field        MFString parameter  []
  field        MFString url        []
  eventOut     MFString parameter_changed
  eventOut     MFString url_changed
]
{
  DEF SENSOR ProximitySensor {
    center  IS center
    size    IS size
    enabled IS enabled
  }
  DEF ANCHOR Script {
    eventIn      SFTime   trigger
    eventIn      MFString set_parameter     IS set_parameter
    eventIn      MFString set_URL           IS set_url
    field        MFString parameter         IS parameter
    field        MFString URL               IS url
    eventOut     MFString parameter_changed IS parameter_changed
    eventOut     MFString URL_changed       IS url_changed
    url "javascript:
      function set_parameter(value,time) {
        parameter = value;
        parameter_changed = value;
      }
      function set_url(value,time) {
        URL = value;
        URL_changed = value;
      }
      function trigger(value,time) {
        Browser.loadURL(URL,parameter);
      }
    "
  }
  ROUTE SENSOR.enterTime TO ANCHOR.trigger
}

# Entry
Viewpoint {
  description "Entry"
  position 0 1 5
}

#Navigation
NavigationInfo {
  type ["WALK"]
}

#Lighting
DirectionalLight {
  direction 0 -1 -1
}

# Floor
Shape {
  appearance Appearance {
    material Material {
      diffuseColor 0 0.5 0
    }
  }
  geometry Box {
    size 15 1e-8 15
  }
}

# Cubicle
Shape {
  appearance Appearance {
    material Material {
      diffuseColor 1 0 0
    }
  }
  geometry Extrusion {
    ccw          FALSE
    crossSection [0.5 0.5, 0.5 -0.5, -0.5 -0.5, -0.5 0.5, -0.6 0.5, -0.6 -0.6, 0.6 -0.6, 0.6 0.5, 0.5 0.5]
    spine        [0 -0.1 0, 0 2 0]
    beginCap     FALSE
    endCap       FALSE
    convex       FALSE
  }
}

# Teleporter
ProximityAnchor {
  center    0 1 0
  size      1 2 1
  enabled   TRUE
  url       "javascript:alert('Teleporter activated!')"
}

Generated by GNU enscript 1.6.1.