script
DEF SCRIPT Script {
directOutput TRUE
eventIn SFInt32 dlp IS dlp
eventIn SFTime toggle
eventIn SFTime bar_white
eventIn SFTime bar_red
eventIn SFTime bar_blue
field SFNode me USE SCRIPT
field SFNode previous USE PREVIOUS_TOUCH_SENSOR
field SFNode next USE NEXT_TOUCH_SENSOR
field SFNode button USE C_TOUCH_SENSOR
field SFNode white USE touch_white
field SFNode red USE touch_red
field SFNode blue USE touch_blue
field SFNode index_switch USE index_switch
field SFNode dlp_switch USE dlp_switch
field SFNode xswitch USE switch
field SFNode slide_set IS slide_set
field SFInt32 state 0
url "vrmlscript:
function initialize() {
Browser.addRoute(previous,'touchTime',slide_set,'previous');
Browser.addRoute(next,'touchTime',slide_set,'next');
Browser.addRoute(button,'touchTime',me,'toggle');
Browser.addRoute(white,'touchTime',me,'bar_white');
Browser.addRoute(red,'touchTime',me,'bar_red');
Browser.addRoute(blue,'touchTime',me,'bar_blue');
}
function shutdown() {
Browser.deleteRoute(previous,'touchTime',slide_set,'previous');
Browser.deleteRoute(next,'touchTime',slide_set,'next');
Browser.deleteRoute(button,'touchTime',me,'toggle');
Browser.deleteRoute(white,'touchTime',me,'bar_white');
Browser.deleteRoute(red,'touchTime',me,'bar_red');
Browser.deleteRoute(blue,'touchTime',me,'bar_blue');
}
function dlp(value) {
if (value == 1) {
index_switch.whichChoice = -1;
dlp_switch.whichChoice = 0;
} else if (value == 0) {
index_switch.whichChoice = 0;
dlp_switch.whichChoice = -1;
}}
function bar_white(time) { slide_set.touched = 1; }
function bar_red(time) { slide_set.touched = 2; }
function bar_blue(time) { slide_set.touched = 2; }
function toggle(time) {
if (state == 0) {
xswitch.whichChoice = -1;
slide_set.hide = -1;
state = 1;
} else if (state == 1) {
xswitch.whichChoice = 0;
slide_set.hide = 0;
state = 0;
}
}
"
}
]
}
] } ## end transform
}