tut45b.wrl
#VRML V2.0 utf8
WorldInfo {
title "Floppy's VRML97 Tutorial Example 4.5b"
info ["(C) Copyright 2000 Vapour Technology Ltd."
"guide@web3dguide.org.uk"]
}
NavigationInfo {
type ["NONE"]
}
Viewpoint {
description "Default View"
position 0 0.5 2
}
Transform {
translation -0.25 -0.15 0
children [
DEF CUBESENSOR TouchSensor {
}
Shape {
appearance Appearance {
material Material {
diffuseColor 1 0 0
}
}
geometry Box {
size 0.1 0.1 0.17
}
}
]
}
Transform {
translation 0 -0.15 0
children [
DEF SPHERESENSOR TouchSensor {
}
Shape {
appearance Appearance {
material Material {
diffuseColor 0 1 0
}
}
geometry Sphere {
radius 0.05
}
}
]
}
Transform {
translation 0.25 -0.15 0
children [
DEF CONESENSOR TouchSensor {
}
Shape {
appearance Appearance {
material Material {
diffuseColor 0 0 1
}
}
geometry Cone {
bottomRadius 0.05
height 0.1
}
}
]
}
DEF TOP Transform {
translation 0 0.5 0
children [
Transform {
rotation 1 0 0 1.57
children [
Shape {
appearance Appearance {
material Material {
diffuseColor 0.4 0.4 0.4
}
}
geometry Box {
size 1 1e-8 1
}
}
]
}
]
}
DEF CREATOR Script {
eventIn SFTime cube_touchTime
eventIn SFTime sphere_touchTime
eventIn SFTime cone_touchTime
field SFNode parentNode USE TOP
eventOut MFNode newChildren
mustEvaluate TRUE
url "javascript:
function cube_touchTime(value,time) {
newVRML = 'Group {';
newVRML += ' children [';
newVRML += ' DEF SENSOR PlaneSensor {';
newVRML += ' maxPosition 0.45 0.45';
newVRML += ' minPosition -0.45 -0.45';
newVRML += ' }';
newVRML += ' DEF OBJECT Transform {';
newVRML += ' children [';
newVRML += ' Shape {';
newVRML += ' appearance Appearance {';
newVRML += ' material Material {';
newVRML += ' diffuseColor 1 0 0';
newVRML += ' }';
newVRML += ' }';
newVRML += ' geometry Box {';
newVRML += ' size 0.1 0.1 0.1';
newVRML += ' }';
newVRML += ' }';
newVRML += ' ]';
newVRML += ' }';
newVRML += ' ]';
newVRML += '}';
newVRML += 'ROUTE SENSOR.translation_changed TO OBJECT.set_translation';
newChildren = Browser.createVrmlFromString(newVRML);
}
function sphere_touchTime(value,time) {
newVRML = 'Group {';
newVRML += ' children [';
newVRML += ' DEF SENSOR PlaneSensor {';
newVRML += ' maxPosition 0.45 0.45';
newVRML += ' minPosition -0.45 -0.45';
newVRML += ' }';
newVRML += ' DEF OBJECT Transform {';
newVRML += ' children [';
newVRML += ' Shape {';
newVRML += ' appearance Appearance {';
newVRML += ' material Material {';
newVRML += ' diffuseColor 0 1 0';
newVRML += ' }';
newVRML += ' }';
newVRML += ' geometry Sphere {';
newVRML += ' radius 0.05';
newVRML += ' }';
newVRML += ' }';
newVRML += ' ]';
newVRML += ' }';
newVRML += ' ]';
newVRML += '}';
newVRML += 'ROUTE SENSOR.translation_changed TO OBJECT.set_translation';
newChildren = Browser.createVrmlFromString(newVRML);
}
function cone_touchTime(value,time) {
urlString = new MFString('cone.wrl');
Browser.createVrmlFromURL(urlString, parentNode, 'addChildren');
}
"
}
ROUTE CUBESENSOR.touchTime TO CREATOR.cube_touchTime
ROUTE SPHERESENSOR.touchTime TO CREATOR.sphere_touchTime
ROUTE CONESENSOR.touchTime TO CREATOR.cone_touchTime
ROUTE CREATOR.newChildren TO TOP.addChildren
Generated by GNU enscript 1.6.1.