WorldViz User Forum  

Go Back   WorldViz User Forum > Vizard

Reply
 
Thread Tools Rate Thread Display Modes
  #1  
Old 03-04-2008, 06:56 AM
erchrastil erchrastil is offline
Member
 
Join Date: Feb 2008
Posts: 17
here is the code that should have all the tabs in the right place

Code:
import viz
import vizact
import time
import math
import random
import winsound

ground = viz.add('Models/ground_2m.ive')
pit = viz.add('Models/ground_pit_new.ive')

viz.go(viz.STEREO | viz.FULLSCREEN)


light1 = viz.addLight() #Add an overhead light
light1.setEuler(0,90,0)
## Prompt for the participant's identification number - generally keep this uncommented! ##
keyControl = viz.input('Using Tracker? 1 = Yes, 2 = No')
#subject = viz.input('What is the participant number?')
if keyControl == 1:

    eyeohd = viz.input('What is the participants IOD?')


viz.fov(43,1.395) #Cybermind specs

##Rename the main view ##
view = viz.MainView
#Link viewpoint with tracker, initialize boresite
if keyControl == 1: #If you're using the tracker

    headTrack = viz.addSensor('intersense')#Ignore documentation stating you need "intersense.dls" - this is correct
    linkedTracker = viz.link(headTrack, view) #Link the sensor to the view.
    linkedTracker.preTrans([0,-.15,.14]) #Boresite function - translates the viewpoint from the tracker position to eyepoint position
    # viz.link(headTrack, view) #Link the sensor to the view.
    viz.eyeheight(0.0)
    view.translate(0,-.19,.14) #Boresite function - translates the viewpoint from the tracker position to eyepoint position
    viz.ipd(eyeohd/100.0)


#####################################

#Initialize parameters for keyboard control
MOVE_SPEED = 1.3 #m/s
TURN_SPEED = 60 #deg/s
#NOTE: Default eye height for keyboard control is 6', doesn't affect tracked viewpoint

viz.phys.enable() # Enable physics
viz.MainView.gravity (0)

#This turns mouse control of view and mouse pointer off - very disconcerting for subjects!
# Generally keep both viz.OFF, unless you have a specific need.
viz.mouse(viz.OFF)
viz.cursor(viz.OFF)


Risen = True

def masterLoop(num):

    global Risen

    fallAction = vizact.fall(-28.18)
    riseAction = vizact.fall(1.82)

    if view.getPosition(mode=viz.ABS_GLOBAL)[0] > -1 and view.getPosition(mode=viz.ABS_GLOBAL)[0] < 1:


		if view.getPosition(mode=viz.ABS_GLOBAL)[2] > 5.375:

			view.add(fallAction)
			Risen = False

		elif view.getPosition(mode=viz.ABS_GLOBAL)[2] < 4.625 and view.getPosition(mode=viz.ABS_GLOBAL)[2] > -1.625:

			view.add(fallAction)
			Risen = False

		elif view.getPosition(mode=viz.ABS_GLOBAL)[2] < -2.375:

			view.add(fallAction)
			Risen = False

		else:

			view.add(riseAction)
			Risen = False
			print 'back up'

    elif (view.getPosition(mode=viz.ABS_GLOBAL)[0] < -1 or view.getPosition(mode=viz.ABS_GLOBAL)[0] > 1) and Risen == False:

        view.add(riseAction)
        Risen = True
        print 'normal view'

    ###### KEYBOARD CONTROL MODULE - DON'T TOUCH ######
    if keyControl == 2: #If you're using the keyboard; defined at top

        if viz.iskeydown(viz.KEY_UP): #If the up key is depressed

            view.move(0,0,MOVE_SPEED*viz.elapsed(),viz.BODY_ORI) # Move view to z coordinate specified by speed*elapsed time

        elif viz.iskeydown(viz.KEY_DOWN): #And so on and so forth

            view.move(0,0,-MOVE_SPEED*viz.elapsed(),viz.BODY_ORI)

        if viz.iskeydown(viz.KEY_RIGHT):

            view.rotate(0,1,0,TURN_SPEED*viz.elapsed(),viz.BODY_ORI,viz.RELATIVE_WORLD)

        elif viz.iskeydown(viz.KEY_LEFT):

            view.rotate(0,1,0,-TURN_SPEED*viz.elapsed(),viz.BODY_ORI,viz.RELATIVE_WORLD)

    #############################################

viz.callback(viz.TIMER_EVENT,masterLoop)

#This starts the timer. First value (0) is a timer identifier, second (1/60) is the refresh rate, third (viz.FOREVER) is how long it lasts
viz.starttimer(0,1/60.0,viz.FOREVER)
Reply With Quote
  #2  
Old 03-04-2008, 06:57 AM
erchrastil erchrastil is offline
Member
 
Join Date: Feb 2008
Posts: 17
again note that i've put in a model just so that i can tell where i am in the world, can be replaced with any generic ground plane.
Reply With Quote
  #3  
Old 03-04-2008, 09:57 AM
farshizzo farshizzo is offline
WorldViz Team Member
 
Join Date: Mar 2003
Posts: 2,849
I just ran your script using an Intersense InertiaCube2 and it ran fine. What kind of Intersense device are you connecting to?
Reply With Quote
  #4  
Old 03-05-2008, 08:11 AM
erchrastil erchrastil is offline
Member
 
Join Date: Feb 2008
Posts: 17
we have an intersense IS900. i tried it again making sure that all the vizard software is up-to-date and it's still not working. it is just fine with the keyboard, however.
Reply With Quote
  #5  
Old 03-06-2008, 09:47 AM
farshizzo farshizzo is offline
WorldViz Team Member
 
Join Date: Mar 2003
Posts: 2,849
Can you post the entire output of your script, not just the last error. The error message you posted earlier implies that another error occurred before that one. It would make it easier to determine what is causing the problem.
Reply With Quote
Reply

Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 11:36 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
Copyright 2002-2023 WorldViz LLC