WorldViz User Forum  

Go Back   WorldViz User Forum > Vizard

Reply
 
Thread Tools Rate Thread Display Modes
  #1  
Old 06-16-2011, 09:51 AM
new_horizon new_horizon is offline
Member
 
Join Date: Apr 2010
Posts: 43
TypeError: Could not convert list item to float

Hi All,

I have created a virtual environment whereby a photographic car approaches the observer viewpoint and the degree of expansion of the object on approach is manipulated according to a Psychophysical procedure.

I am now trying to insert some distracter motion and have so far been successful in inserting some pedestrians on the sidewalks. I have created some other cars by inserting quads and wrapping a car image around them. However, after inserting the necessary commands into the procedure - I get the error message "TypeError: Could not convert list item to float".

I understand that there is a lot of code in my script, so I have included only the parts where the error and where I created the object "vehicledummy2" is occuring for now...

## Create Dummy Car Left Facing Side ##
dummy2carsize = [3.2, 1.65] # [ height, width ]
cardummyleft = viz.addTexture('Van Right Facing.tif')
vehicledummy2 = viz.addTexQuad(viz.WORLD,viz.MainScene,1) # 1m sq quad
vehicledummy2.texture(cardummyleft)
vehicledummy2.setScale(dummy2carsize[0],dummy2carsize[1],1) # Size to car width & height
vehicledummy2.setEuler(90,0,0)
vehicledummy2.setPosition(outofview)
vehicledummy2.appearance(viz.TEXMODULATE)# ----------------------------------------------#
# MOVE THE OBJECT FOR THE SPEC'D TIME #
# ----------------------------------------------#

def render_ball1(on_switch, Loom_level):
global select,rng,plgit, mlgit,prob, nv, trialsplt,nv_p,sgn,sgn_p,reverse, X_motion,Obs_rotn, L_inc,Min_loom,Obj_sz,Obj_scale, T_exp, Z_dist,Z_far, Speed
global Vert_screen, Aspect, Z_observer, pixelcm, pixeldg,Lpixels,selectM, remove
object1.setPosition(xobs,yobs,Z_dist)
theta_start = math.atan(Obj_sz/Z_dist)
theta_final = theta_start + Loom_level*T_exp
Rescale = theta_final/theta_start # zero shift if not a descent trial
if on_switch == 0:
Rescale = 1.0
Size_shift = vizact.size(Rescale*Obj_scale[0],Rescale*Obj_scale[1],1,T_exp,viz.TIME)
# Calculate random side motion.
side = [-0.5, 0.5, -1, 1]
updn = [-0.5, 0.5, -1, 1]
random.shuffle(side); random.shuffle(updn);
X_shift = X_motion[select]*side[0] # Use observer rotn instead
Y_shift = Y_motion[select]*updn[0] # Use observer rotn instead
#Pos_shift=vizact.goto(0*X_shift,0*Y_shift,Z_dist, T_exp,viz.TIME)
#print X_shift,Y_shift,Z_dist
#motion = vizact.parallel(Size_shift,Pos_shift)
cross1.visible(viz.OFF)
time1=viz.tick()
object1.visible(viz.ON)
time2=viz.tick()
male = viz.add('vcc_male.cfg')
male.setPosition(xobs+3, 0, Z_observer+25)
male.setEuler(0,0,0)
male.state(2)
m_walk = vizact.goto(xobs+3, 0, Z_observer+26, 0.25, viz.TIME)
m_walking_sequence = vizact.sequence(m_walk, remove)
male.addAction(m_walking_sequence)
female = viz.add('vcc_female.cfg')
female.setEuler(180,0,0)
female.state(2)
female.setPosition(xobs+4, 0, Z_observer+28)
f_walk = vizact.goto(xobs+4, 0, Z_observer+27, 0.25, viz.TIME)
f_walking_sequence = vizact.sequence(f_walk, remove)
female.addAction(f_walking_sequence)
female2 = viz.add('vcc_female.cfg')
female2.setEuler(180,0,0)
female2.state(1)
female2.setPosition(xobs-15, 0, Z_observer+80)
f_walk2 = vizact.goto(xobs-15, 0, Z_observer+80, 0.25, viz.TIME)
f_walking_sequence2 = vizact.sequence(f_walk2, remove)
female2.addAction(f_walking_sequence2)
#Add the models
vehicledummy2set = vizact.goto(xobs-1, 0, Z_observer+10)
vehicledummy2move = vizact.goto(xobs-1, 0, Z_observer+10, 0.25, viz.TIME)
vehicledummy2sequence = vizact.goto(vehicledummy2set, vehicledummy2move, remove)
vehicledummy2.addAction(vehicledummy2sequence)
# if selectM == 0:
view.goto(xobs,yobs,Z_observer,T_exp,viz.TIME)
# if selectM == 1:
# view.spinto(side[0],updn[0],0,Obs_rotn,T_exp,viz.TIME)
time3=viz.tick()
object1.add(Size_shift)
time4=viz.tick()
# print time1,time2,time3,time4

Obviously a number of these variables have been defined earlier in the script - can anyone shed any light on why this error message might be surfacing?

Thanks
Reply With Quote
  #2  
Old 06-16-2011, 09:54 AM
new_horizon new_horizon is offline
Member
 
Join Date: Apr 2010
Posts: 43
Apologies for double post - this post can be removed as I forgot to wrap the code to preserve indentation!
Reply With Quote
  #3  
Old 06-16-2011, 09:58 AM
farshizzo farshizzo is offline
WorldViz Team Member
 
Join Date: Mar 2003
Posts: 2,849
You didn't post the entire Python error traceback. It will give you the exact line where the error is occurring. Somewhere on that line you are trying to convert an incompatible type to a floating point number.
Reply With Quote
  #4  
Old 06-20-2011, 04:02 AM
new_horizon new_horizon is offline
Member
 
Join Date: Apr 2010
Posts: 43
Apologies, here is the full traceback...

Traceback (most recent call last):
File "C:\Program Files\WorldViz\Vizard30/python\viz.py", line 9091, in __update
self.nextAction(pool)
File "C:\Program Files\WorldViz\Vizard30/python\viz.py", line 9144, in nextAction
callAction.begin(newAction._obj_)
File "C:\Program Files\WorldViz\Vizard30/python\vizact.py", line 469, in begin
self.begin_node(object)
File "C:\Program Files\WorldViz\Vizard30/python\vizact.py", line 507, in begin_node
distance = vizmat.Distance(self.beginLoc,self.endLoc)
TypeError: Could not convert list item to float

Thanks
Reply With Quote
Reply


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 08:17 AM.


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