Here is the entire script. Thanks for your help.
Code:
import viz
import math
#import vizmat
import vizinfo
global data
global tracking_data
viz.go(viz.PROMPT)
viz.collision(viz.ON)
viz.clearcolor
# Constants
ROTATION_INC = 2
TRANSLATE_INC = 0.1
#TIMERS
ANIMATE = 0
TRACK = 1
TRACKJOY = 2
#in seconds
ANIMATE_RATE = 0.01
TRACK_RATE = 0.5
ground = viz.add('tut_ground.wrl')
walltexture = viz.addTexture( 'brick.jpg' )
#walltexture1 = viz.addTexture( 'woodfloor2.jpg' )
#walltexture2 = viz.addTexture( 'ToolBar.jpg' )
#ceiling = viz.add('box.wrl')
#ceiling.translate(-2.200, 3.0, -2.3)
#ceiling.setScale(4.600, 0.1, 5.500)
#ceiling.color(viz.WHITE)
southwall = viz.add('box.wrl')
southwall.appearance(viz.DECAL)
southwall.translate(-2.000, 1.500, +0.450)
southwall.setScale(4.600, 3.000, 0.100)
southwall.texture( walltexture )
eastwall = southwall.clone()
eastwall.setPosition(-4.300, 1.500, -2.300 )
eastwall.setScale(0.100, 3.000, 5.500)
northwall = southwall.clone()
northwall.setPosition(-2.430, 1.500, -5.050 )
northwall.setScale(3.658, 3.000, 0.100 )
westwall = southwall.clone()
westwall.setPosition(0.300, 1.500, -2.279 )
westwall.setScale(0.100, 3.000, 3.658 )
nw1 = southwall.clone()
nw1.setPosition(-0.150, 1.500, -4.110 )
nw1.setScale(0.900, 3.000, 0.100 )
nw2 = southwall.clone()
nw2.setPosition(-0.600, 1.500, -4.558 )
nw2.setScale(0.100,3.000, 0.900 )
h1 = southwall.clone()
h1.setPosition(-2.429, 1.500, -4.110 )
h1.setScale(1.829, 3.00, 0.100 )
h2 = southwall.clone()
h2.setPosition(-1.529, 1.500, -3.208 )
h2.setScale(1.829, 3.000, 0.100 )
h3 = southwall.clone()
h3.setPosition(-3.358, 1.500, -2.278 )
h3.setScale(1.829, 3.000, 0.100 )
h4 = southwall.clone()
h4.setPosition(-1.978, 1.500, -1.350 )
h4.setScale(0.900, 3.000, 0.100 )
h5 = southwall.clone()
h5.setPosition(-0.600, 1.500, -0.450 )
h5.setScale(1.829, 3.000, 0.100 )
v1 = southwall.clone()
v1.setPosition(-1.529, 1.500, -3.658 )
v1.setScale(0.100, 3.000, 0.915 )
v2 = southwall.clone()
v2.setPosition(-3.358, 1.500, -3.658 )
v2.setScale(0.100, 3.000, 0.900 )
v3 = southwall.clone()
v3.setPosition(-0.570, 1.500, -2.278 )
v3.setScale(0.100, 3.000, 1.829 )
v4 = southwall.clone()
v4.setPosition(-1.529, 1.500, -1.829 )
v4.setScale(0.100, 3.000, 0.900 )
v5 = southwall.clone()
v5.setPosition(-3.358, 1.500, -1.350 )
v5.setScale(0.100, 3.000, 1.829 )
v6 = southwall.clone()
v6.setPosition(-2.429, 1.500, -0.450 )
v6.setScale(0.100, 3.000, 1.829 )
avatar = viz.add('vcc_male.cfg', pos=(-3.800, 0, -2.2), euler=(0,0,0) )
avatar.setScale(0.800, 0.800, 0.300 )
avatar.state(4)
textT = viz.add(viz.TEXT3D, str("T"))
textT.setScale(0.3,0.3,0.3)
textT.translate(-3.800, 1.2, -2.1)
textT.setEuler(180, 0, 0.0)
#aduck = viz.add('duck.wrl')
#aduck.setPosition(-3.800, 1.000, -2.2 )
#aduck.setScale(0.500, 0.500, 0.500 )
#aduck.setEuler(90, 0.0, 0.0)
screene = viz.add(viz.TEXQUAD)
screene.translate(-4.24, 1.500, -4.59)
screene.setEuler(-90, 0.0, 0.0)
screene.scale(0.6, 0.5, 0.5)
imagene = viz.addTexture( 'maze1\woodenWell.jpg' )
screene.texture(imagene)
screenn = viz.add(viz.TEXQUAD)
screenn.translate(-3.8, 1.500, -4.99)
screenn.scale(0.5, 0.5, 0.5)
screenn.setEuler(180, 0.0, 0.0)
imagenn = viz.addTexture( 'maze1\clock.jpg' )
screenn.texture(imagenn)
screenw = viz.add(viz.TEXQUAD)
screenw.translate(0.24, 1.500, -3.7)
screenw.setEuler(90, 0.0, 0.0)
screenw.scale(0.5, 0.5, 0.5)
imagew = viz.addTexture( 'maze1\CandlePlate.jpg' )
screenw.texture(imagew)
screenw1 = viz.add(viz.TEXQUAD)
screenw1.translate(0, 1.500, -4.05)
screenw1.scale(0.3, 0.5, 0.5)
screenw1.setEuler(180, 0.0, 0.0)
imagenw1 = viz.addTexture( 'maze1\OrangeChair.jpg' )
screenw1.texture(imagenw1)
screenh2 = viz.add(viz.TEXQUAD)
screenh2.translate(-0.85, 1.500, -3.15)
screenh2.scale(0.3, 0.5, 0.5)
imageh2 = viz.addTexture( 'maze1\plant1.jpg' )
screenh2.texture(imageh2)
screenh4 = viz.add(viz.TEXQUAD)
screenh4.translate(-1.97, 1.500, -1.42)
screenh4.scale(0.5, 0.4, 0.5)
imageh4 = viz.addTexture( 'maze1\curvydesk.jpg' )
screenh4.texture(imageh4)
screenv1 = viz.add(viz.TEXQUAD)
screenv1.translate(-1.58, 1.500, -3.658)
screenv1.setEuler(90, 0.0, 0.0)
screenv1.scale(0.6, 0.5, 0.5)
imagev1 = viz.addTexture( 'maze1\RedWine.jpg' )
screenv1.texture(imagev1)
screenv3 = viz.add(viz.TEXQUAD)
screenv3.translate(-0.623, 1.500, -2.7)
screenv3.setEuler(90, 0.0, 0.0)
screenv3.scale(0.6, 0.5, 0.5)
imagev3 = viz.addTexture( 'maze1\limens.jpg' )
screenv3.texture(imagev3)
screenv4 = viz.add(viz.TEXQUAD)
screenv4.translate(-1.59, 1.500, -1.8)
screenv4.setEuler(90, 0.0, 0.0)
screenv4.scale(0.5, 0.4, 0.5)
imagev4 = viz.addTexture( 'maze1\Glasses.jpg' )
screenv4.texture(imagev4)
screenexit = viz.add(viz.TEXQUAD)
screenexit.translate(-2.36, 1.500, -0.45)
screenexit.setEuler(90, 0.0, 0.0)
screenexit.scale(0.3, 0.5, 0.5)
imageexit = viz.addTexture( 'maze1\cnotes.jpg' )
screenexit.texture(imageexit)
text = viz.add(viz.TEXT3D, str("STOP"))
text.setScale(0.3,0.3,0.3)
text.translate(0.5, 1.5, .4)
text.setEuler(90, 0, 0.0)
text1 = viz.add(viz.TEXT3D, str("1"))
text1.setScale(0.3,0.3,0.3)
text1.translate(0.25, 1.5, -3.95)
text1.setEuler(135, 0, 0.0)
text2 = viz.add(viz.TEXT3D, str("2"))
text2.setScale(0.3,0.3,0.3)
text2.translate(-4.12, 1.5, -5.)
text2.setEuler(-135, 0, 0.0)
text3 = viz.add(viz.TEXT3D, str("3"))
text3.setScale(0.3,0.3,0.3)
text3.translate(-1.58, 1.03, -3.6)
text3.setEuler(90, 0, 0.0)
text4 = viz.add(viz.TEXT3D, str("4"))
text4.setScale(0.3,0.3,0.3)
text4.translate(-0.6, 1.5, -3.05)
text4.setEuler(135, 0, 0.0)
text5 = viz.add(viz.TEXT3D, str("5"))
text5.setScale(0.3,0.3,0.3)
text5.translate(-1.69, 1.5, -1.42)
text5.setEuler(45, 0, 0.0)
viz.translate(viz.HEAD_POS,0.5,0,0)
viz.MainView.setEuler(-90,20,0)
subject = viz.get(viz.INITMESG) #use it to enter subject number
#tracking_data = open('tracking_'+str(subject)+'.txt', 'w') #create a tracking data file
data = viz.get(viz.HEAD_POS)
if viz.get(viz.TRACKER):
intersense = viz.add('intersense.dls')
viz.tracker() #?
intersense.reset() #reset intersense tracking data to 0 initial
viz.eyeheight(1.0)
#viz.link(intersense,viz.MainView)
tracking = 1
else:
tracking = 0
#viz.collision(viz.ON)
if viz.get(viz.OPTION1):
import vizjoy
#import viztracker
joy = vizjoy.add()
#tracker = viztracker.add()
#viz.link(tracker,viz.MainView)
if not joy.valid():
joy = None
else:
joy = None
# Callback function to handle expiration timers
def mytimer(num):
if num == ANIMATE:
if joy:
#Use joystick to move and turn
pos = joy.getPosition()
x = pos[0]
y = pos[1]
if math.fabs(y) > 0.2:
viz.move(0,0,-y*0.01)
if math.fabs(x) > 0.2:
viz.rotate(viz.BODY_ORI,x*1,0,0)
if num == TRACK:
#global data
data = intersense.getData() # Access the raw data from the sensor
#data = v.getPosition()
tracking_data.write(str(viz.tick())+','+str(data)+'\n')
#print data # Print the array of data
if num == TRACKJOY:
#global data
data = viz.get(viz.HEAD_POS)
tracking_data.write(str(viz.tick())+','+str(data)+'\n')
#print data # Print the array of data
def mykeyboard(key):
if key == 'j':
print "writing to file for joy"
viz.starttimer(TRACKJOY,TRACK_RATE, viz.FOREVER)
vizinfo.add('Joystick Tracking...')
if key == 'i':
print "writing to file for intersense"
viz.starttimer(TRACK,TRACK_RATE, viz.FOREVER)
vizinfo.add('Intersense Tracking...')
if key == 'p':
print viz.get(viz.HEAD_POS)
viz.callback(viz.KEYBOARD_EVENT, mykeyboard)
viz.callback(viz.TIMER_EVENT, mytimer)
if joy:
viz.starttimer(ANIMATE,ANIMATE_RATE,viz.FOREVER)
tracking_data = open('joytracking_'+ str(subject)+'.txt', 'w') #create a tracking data file
if tracking:
tracking_data = open('is900tracking_'+ str(subject)+'.txt', 'w') #create a tracking data file