tut36.wrl
#VRML V2.0 utf8
WorldInfo {
title "Floppy's VRML97 Tutorial Example 3.6"
info ["(C) Copyright 2000 Vapour Technology Ltd."
"guide@web3dguide.org.uk"]
}
DirectionalLight {
direction 0 -1 -1
ambientIntensity .5
}
Background {
skyColor 0 0 0
}
DEF BACKRED Background {
skyColor 1 0 0
}
DEF BACKGREEN Background {
skyColor 0 1 0
}
DEF BACKBLUE Background {
skyColor 0 0 1
}
Group {
children [
DEF WORLDVIEW Viewpoint {
description "EntryWay"
position 0 1.6 7.5
}
DEF MOVABLE NavigationInfo {
headlight FALSE
}
DEF FLOOR Shape {
appearance DEF METAL Appearance {
material Material {
shininess .75
diffuseColor .75 .75 .75
ambientIntensity .5
}
}
geometry Cylinder {
radius 10
height .1
}
}
Transform {
translation 0 5 0
children USE FLOOR
}
Shape {
appearance Appearance {
material Material {
transparency 1
}
}
geometry Cylinder {
radius 10.1
height 5
}
}
DEF PILLAR Transform {
translation 0 2.5 9
children [
Shape {
appearance USE METAL
geometry Cylinder {
radius .25
height 5
}
}
]
}
Transform {
rotation 0 1 0 .78
children USE PILLAR
}
Transform {
rotation 0 1 0 1.57
children USE PILLAR
}
Transform {
rotation 0 1 0 2.36
children USE PILLAR
}
Transform {
rotation 0 1 0 3.14
children USE PILLAR
}
Transform {
rotation 0 1 0 3.93
children USE PILLAR
}
Transform {
rotation 0 1 0 4.71
children USE PILLAR
}
Transform {
rotation 0 1 0 5.5
children USE PILLAR
}
Transform {
translation -5 1 -3
children [
DEF WORLDSWITCH TouchSensor {
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 0
}
}
geometry Sphere {
radius .1
}
}
]
}
Transform {
translation -5 .5 -3
children [
Shape {
appearance USE METAL
geometry Cylinder {
radius .05
height 1
}
}
]
}
Transform {
translation 5 .5 -3
children [
Shape {
appearance USE METAL
geometry Box {
size .5 1 2
}
}
]
}
Transform {
translation 5 1 -3.5
children [
DEF REDSWITCH TouchSensor {
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 0 0
}
}
geometry Sphere {
radius .2
}
}
]
}
Transform {
translation 5 1 -3
children [
DEF GREENSWITCH TouchSensor {
}
Shape {
appearance Appearance {
material Material {
emissiveColor 0 1 0
}
}
geometry Sphere {
radius .2
}
}
]
}
Transform {
translation 5 1 -2.5
children [
DEF BLUESWITCH TouchSensor {
}
Shape {
appearance Appearance {
material Material {
emissiveColor 0 0 1
}
}
geometry Sphere {
radius .2
}
}
]
}
]
}
DEF PLATFORMTIMER TimeSensor {
cycleInterval 60
loop TRUE
}
DEF PLATFORMINT OrientationInterpolator {
key [
0 .25 .5 .75 1
]
keyValue [
0 -1 0 0 0 -1 0 1.57 0 -1 0 3.14 0 -1 0 4.71 0 -1 0 0
]
}
DEF PLATFORM Transform {
children [
Transform {
translation 0 0 20
children [
DEF PLATFORMVIEW Viewpoint {
description "Moving Platform"
position 0 1.6 1
}
DEF STATIC NavigationInfo {
headlight FALSE
type "NONE"
}
Shape {
appearance USE METAL
geometry Box {
size 2.2 .1 2.2
}
}
Transform {
translation 0 1.1 -1
children [
DEF PLATFORMSWITCH TouchSensor {
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 0
}
}
geometry Sphere {
radius .1
}
}
]
}
Transform {
translation 0 .5 -1
children [
Shape {
appearance USE METAL
geometry Cylinder {
radius .05
height 1
}
}
]
}
]
}
]
}
DEF REDFILTER Script {
eventIn SFBool input
field SFBool boolValue TRUE
eventOut SFBool output
url "javascript:
function input(value, time) {
if (value==boolValue) output = value;
}
"
}
DEF GREENFILTER Script {
eventIn SFBool input
field SFBool boolValue TRUE
eventOut SFBool output
url "javascript:
function input(value, time) {
if (value==boolValue) output = value;
}
"
}
DEF BLUEFILTER Script {
eventIn SFBool input
field SFBool boolValue TRUE
eventOut SFBool output
url "javascript:
function input(value, time) {
if (value==boolValue) output = value;
}
"
}
DEF PLATFORMFILTER Script {
eventIn SFBool input
field SFBool boolValue TRUE
eventOut SFBool output
url "javascript:
function input(value, time) {
if (value==boolValue) output = value;
}
"
}
DEF WORLDFILTER Script {
eventIn SFBool input
field SFBool boolValue TRUE
eventOut SFBool output
url "javascript:
function input(value, time) {
if (value==boolValue) output = value;
}
"
}
#Platform animation
ROUTE PLATFORMTIMER.fraction_changed TO PLATFORMINT.set_fraction
ROUTE PLATFORMINT.value_changed TO PLATFORM.rotation
#Viewpoint binding
ROUTE WORLDSWITCH.isActive TO WORLDFILTER.input
ROUTE WORLDFILTER.output TO PLATFORMVIEW.set_bind
ROUTE PLATFORMSWITCH.isActive TO PLATFORMFILTER.input
ROUTE PLATFORMFILTER.output TO WORLDVIEW.set_bind
#NavigationInfo updating
ROUTE WORLDFILTER.output TO STATIC.set_bind
ROUTE PLATFORMFILTER.output TO MOVABLE.set_bind
#Background binding
ROUTE REDSWITCH.isActive TO REDFILTER.input
ROUTE REDFILTER.output TO BACKRED.set_bind
ROUTE GREENSWITCH.isActive TO GREENFILTER.input
ROUTE GREENFILTER.output TO BACKGREEN.set_bind
ROUTE BLUESWITCH.isActive TO BLUEFILTER.input
ROUTE BLUEFILTER.output TO BACKBLUE.set_bind
Generated by GNU enscript 1.6.1.